Алармата на колата не се отваря от код грабър
Четете автофоруми. Шифроване. Тайни разработки. Промишлен шпионаж. За какво е всичко това?
Не разбирам защо просто не съхранявате 100500 еднократни ключа в сигнализацията и ключодържателя.
Най-простият алгоритъм веднага идва на ум. Ключодържателят започва сесията. Алармата иска парола номер 27836297. Ключодържателят казва паролата и командата. Всичко. Незавършените сесии се прекратяват след няколко секунди. Всяка парола се иска само веднъж.
Ще бъде невъзможно дори теоретично да отворите такъв кодов грайфер. Защо не го направиш?
И каква аларма препоръчвате?
1. Алгоритъмът изисква двупосочен обмен на данни. При прости аларми (които се отварят от грабер) потокът от данни е еднопосочен: в ключодържателя предавателят, в базовия модул - приемникът.
1.1 Ако вече имаме двупосочен канал, какво ни пречи да използваме нормални криптографски протоколи за удостоверяване? Логиката подсказва, че така се прави в съвременната сигнализация. Няма да назовавам конкретни модели, много е интересно. Производителите по някаква причина внимателно крият информация за своите протоколи.
2. Трябва да поискате пароли не по ред, а на случаен принцип (но като се уверите, че няма повторения). В противен случай е възможна следната атака: - Жертвата премахва алармата от колата. Ключодържателят започва сесията. Алармата иска парола номер 100500. Ключодържателят казва паролата и командата. Помним номера. - Жертвата се качва в колата и кара, ние я следваме. - Жертвата настройва алармата на колата. Ключодържателят започва сесията. Сложихме пречка, базата не чува нищо. - Преструваме се на база и искаме парола номер 100501. Ключодържателят казва паролата и командата. Записваме. - Жертвата вижда, че нищо не се е случило и натиска отново бутона. Ключодържателят започва сесията.Отново поставяме пречка, базата отново не чува нищо. - Преструваме се на база и искаме парола номер 100502. Ключодържателят казва паролата и командата. Записваме. - Преструваме се на ключодържател и започваме сесията. Базата иска парола номер 100501. Казваме паролата и командата. - Колата се алармира, жертвата си тръгва. - Преструваме се на ключодържател и започваме сесията. Базата иска парола номер 100502. Казваме паролата и командата. Нашата кола.
3. Ключодържателят ще бъде слабо защитен от копиране. Едно е да съхранявате 128 бита от ключ в защитена памет в криптопроцесор, а друго е да съхранявате стотици мегабайта еднократни ключове. Ще ви трябва външна флашка, която може лесно да се чете.
4. Какво да правите, когато ключовете все още свършват? Рефлаш сигнализация? Да генерирам нови? И как тогава да ги излеете в ключодържателя? Тази точка трябва да бъде внимателно обмислена.
5. Как ще изглежда процедурата за добавяне на нов ключодържател към системата?
Като цяло идеята е добра и при правилно изпълнение ще работи надеждно. Но дяволът както винаги е в детайлите :)