ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
400902 Топик полностью
fk0, легенда (09.04.2013 14:02, просмотров: 248) ответил Argon на серийный номер предполагается также генерировать с помощью ГПСЧ в режиме обучения. причем не обязательно чтобы он был уникальным - главное чтобы как можно реже повторялся, по сути не серийный номер, а ID.
Алгоритм уязвим: 1. Пульт даёт команду... она теряется в эфирных шумах. 1.2. Злоумышленник даёт другую команду. 2. Девайс даёт случайное R. 3. Пульт подписывает R с помощью ключа S (секретного и общего для пульта и девайса). 4. Девайс исполняет... Нужно: 1. Пульт даёт просто PING. 2. Девайс даёт R. 3. Пульт даёт команду K. Но в эфир передаётся "имитивставка" (MAC) вычисляемая на базе известного S над набором данных R и K, кроме имитовставки передаётся собственно K ещё. 4. Девайс исполняет... Вариант: 1. Девайс постоянно отсылает разные R (меняет раз в N миллисекунд), но девайс должен игнорировать повторные команды с ранее использованным в команде R, следовательно частота следования команд ограничена. 2. Пульт даёт команду и передаёт в эфир K+MAC(S,R+K). 3. Девайс исполняет. Вариант (сомнительный, для обсуждения): 1. Каким-то независимым образом синхронизируются часы в пульте (T1) и девайсе (T0). 2. Пульт даёт команду и передаёт K+T+R+MAC(S,K+T+R), где R вычисляется самим пультом (это "соль" ввиду малой разрядности T). 3. Девайс проверяет, что принятое T1 не слишком отличается от T0, если да, то проверяет HMAC и исполняет, если правильный. Заодно подправляется время T0. Возможно, в последнем варианте есть уязвимости. Он интересен тем, что передача нужна только в одну сторону. В любом случае при выборе MAC нужно иметь на уметь на уме эту формулу: Взята она отсюда (http://en.wikipedi …g/wiki/Birthday_attack). Ввиду чего разумная длина R, S и MAC должна быть порядка 50 бит и больше. Про ГПСЧ сказали. Если для MAC используется хэш-функция, она должна быть необратима, не всякая подойдёт. Либо можно использовать блочный шифр, в wikipedia есть методики как именно. IMHO использование HMAC на базе MD5 хороший вариант (есть RFC на эту тему), несмотря на все прочие ньюансы. И самое главное. Оно нахуй всё не нужно. Есть "мальчики", студенты и прочие, которые сделают быстро, дёшево и качественно с "секретным алгоритмом". И все это понимают. Потому, что девайс от топора всё равно не защищён, как мне кажется, и грошь цена криптографии. И ещё один аспект. Криптография только усложняет жизнь людям пытающимся сделать дубликат ключа, чтоб не переплачивать over9000 барыгам. Может не стоит?
[ZX]