Автосигналізація не розкривається кодграбером

Почитав автофоруми. Шифрування. Секретні розробки. Промислове шпигунство. Навіщо все це?

Не розумію, чому б просто не зберігати 100500 одноразових ключів у сигналці та брелоку.

На думку відразу спадає найпростіший алгоритм. Брелок розпочинає сесію. Сигналка запитує пароль номер 27836297. Брелок каже пароль та команду. Всі. Незавершені сесії завершуються за кілька секунд. Кожен пароль запитується лише один раз.

Розкрити таке кодграбер буде неможливо навіть теоретично. Чому б так не робити?

І яку сигналку таки порадите ставити?

1. Алгоритм вимагає двостороннього обміну даними. У найпростіших сигналах (які розкриваються граббером) потік даних односпрямований: у брелоку передавач, у базовому блоці — приймач.

1.1 Якщо ми маємо двосторонній канал, що заважає застосовувати нормальні криптографічні протоколи аутентифікації? Логіка підказує, що у сучасних сигналках так і робиться. Конкретні моделі не назву, самому цікаво. Виробники чомусь ретельно приховують інформацію про свої протоколи.

2. Запитувати паролі потрібно не по порядку, а рандомно (але стежачи, щоб не було повторів). Інакше можлива наступна атака: — Жертва знімає машину з сигналізації. Брелок розпочинає сесію. Сигналка запитує пароль номер 100500. Брелок каже пароль та команду. Запам'ятовуємо номер. — Жертва сідає в машину і їде, прямуємо за нею. — Жертва ставить машину на сигналізацію. Брелок розпочинає сесію. Ставимо на заваді, база нічого не чує. — Прикидаємося базою і запитуємо пароль номер 100501. Брелок каже пароль та команду. Записуємо. — Жертва бачить, що нічого не сталося, і знову натискає кнопку. Брелок розпочинає сесію.Знову ставимо перешкоду, основа знову нічого не чує. — Прикидаємося базою та запитуємо пароль номер 100502. Брелок каже пароль та команду. Записуємо. - Прикидаємося брелоком і починаємо сесію. База запитує пароль номер 100501. Говоримо пароль та команду. — Машина стає на сигналізацію, жертва йде. - Прикидаємося брелоком і починаємо сесію. База запитує пароль номер 100502. Говоримо пароль та команду. Машина наша.

3. Брелок буде погано захищений від копіювання. Одна справа – зберігати 128 біт ключа в захищеній пам'яті всередині криптопроцесора, а інша – сотні кБ-мегабайт одноразових ключів. Потрібна зовнішня флешка, яку можна легко прочитати.

4. Що робити, коли ключі таки закінчаться? Перепрошувати сигнал? Генерувати нові? А як їх потім у брелок заливати? Потрібно ретельно продумати цей момент.

5. Як виглядатиме процедура додавання до системи нового брелока?

Загалом ідея хороша і за грамотної реалізації надійно працюватиме. Але диявол, як завжди, у деталях :)