Что такое "Диалоговый код"?

Защита от угона

Модераторы: SNOOPER, Nbf, BAlex, Romik, SoundSpeed

AdB0kaT
Сообщения: 873
Зарегистрирован: 05 мар 2014, 06:37
Двигатель:: 6G72
Мой автомобиль(и):: Pajero IV Instyle 2013г.
Откуда: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 42 раза

Re: Что такое "Диалоговый код"?

Сообщение AdB0kaT » 25 авг 2014, 16:22

Espanjola надежно защитить обмен между брелком и основным блоком сигналки можно только при помощи криптографических алгоритмов, имеющих стойкость, достаточную для того, чтобы сделать электронный взлом неоправданно долгим и дорогим. Именно такие алгоритмы используются в открытых сетях для защищенного обмена ценными данными (например в программном обеспечении "банк-клиент"). А как будет называться такая сигналка ("диалоговая" или как то иначе) не суть важно.



Аватара пользователя
vdpr
Сообщения: 107
Зарегистрирован: 24 окт 2013, 09:29
Двигатель:: 6G74 MPI, бензин
Мой автомобиль(и):: PAJERO II 1997гв левый руль
Откуда: Новосибирск
Поблагодарили: 23 раза

Re: Что такое "Диалоговый код"?

Сообщение vdpr » 19 сен 2014, 09:00

AdB0kaT писал(а): Если предположить, что ключ не постоянный, а меняется случайно с каждым посылом новой команды, то возможны два варианта:
1. новый ключ, сгенерированный системой в начале каждого сеанса связи с брелком посылается по открытому каналу (это бред, безопасность нулевая)
2. наряду с симметричным алгоритмом ГОСТ используется еще какой-то асиметричный (для безопасной передачи ключа в начале каждого сеанса связи) Но тогда почему производитель не раскрывает этот алгоритм? он как раз самый интересный)
Ну и третий вариант: симметричный ключ ГОСТ в брелке и основном блоке постоянен и меняется только при переобучении брелков. Это лучше чем первый вариант, так как по воздуху ключ может быть перехвачен только в момент переобучения. Либо ключ может быть извлечен и скопирован с брелка или основного блока во время физического доступа к ним (автосервис, мойки и пр.).
Ну еще есть и 4-тый вариант - рабочие ключи заранее генерируются по особому алгоритму одновременно в блоке и брелоке при связвании устройств (ну то есть при прописании брелоков в блок), не так много памяти надо или ресурсов при этом. Естественно ключ никогда не повторяется, получается некий одноразовый блокнот ключей - все по классической теории криптографии - не используй ключ дважды никогда, так как любой алгоритм прозрачен в разной степени (восстановление данных по признакам исходя из вида на зашифрованные данные). Ну естестественно для этих мер нужна временная синхронизация, счетчики, оригинальный алгоритм выработки ключей и.т.п.
Если бы делал сигнализацию сам - делал бы именно так.
Конечно в рабочем режиме для диалоговых сиигналок, думаю, используются только симметричные алгоритмы, так как даже без упрощения алгоритма современный микроконтроллер блока или брелока вполне управится с кодированием блока для симметричного алгоритма 256бит за 15-20мс, на декодирование немногим больше. А только генерация ключа для сеанса ассиметричного алгоритма - это 0,6-0,9 сек на математическую обработку, не говоря уже о генераторе случайных чисел! - итого на круг обмена данными при открывании дверей уйдет до десятка секунд. Не представляю как даже при введении периодической синхронизации кто вытерпит ждать секунды - у людей сразу будет паника.
Ну и обязательно, как сказано выше - делать пропись брелоко в блок или по кабелю (будет дешевле) или встраивать ассиметричный алгоритм в для обмена ключами или "блокнотом ключей" или алгоритмом их выработки.
Один и тот же ключ нельзя использовать дважды! Практически все известные истории взлома алготимов - это сравннение набора данных, зашифрованных одним ключом.
- PAJERO II, 1997, LONG, LHD, дорестайл, 6G74 DOHC MPI, VIN JMB0RV450VJ00063(dva)
- Москвич 214122 УЗАМ 1994 гв

Аватара пользователя
Абузяров
Сообщения: 23
Зарегистрирован: 19 сен 2014, 22:11
Двигатель:: 2.5 DID H.P.
Мой автомобиль(и):: Mitsubishi Pajero Sport
Откуда: Санкт-Петербург
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Re: Что такое "Диалоговый код"?

Сообщение Абузяров » 22 сен 2014, 01:47

AdB0kaT писал(а): Если все обстоит именно так, как изложено в этой цитате, достаточно перехватить статичный 128-битный ключ конкретного экземпляра сигналки в момент обучения ("регистрации брелка в системе") и сделать дубликат брелка не составит труда. Это вполне реализуемо, когда машина остается на сервисе, мойке и т.п. Все остальные обменные ухищрения алгоритма "диалога" не сложнее чем в устаревшем динамическом коде и воспроизвести их на стороннем оборудовании более чем реально.
Дело в том, что это "обучение" происходит на заводе. Брелоки привязываются к системам.
Если интересно - производство выглядит вот так: https://www.youtube.com/watch?v=ZnUSUK-u38E

Всё производится в России. Даже микросхемы.
Можно для питерских одноклубников экскурсию на производство устроить если интересно.
Ну и в эту ветку форума могу прислать специалиста для ответа на вопросы если никто не против.

P.S.: Сам к Старлайну отношения не имею - они наши клиенты, очень профессиональные и порядочные люди.

AdB0kaT
Сообщения: 873
Зарегистрирован: 05 мар 2014, 06:37
Двигатель:: 6G72
Мой автомобиль(и):: Pajero IV Instyle 2013г.
Откуда: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 42 раза

Re: Что такое "Диалоговый код"?

Сообщение AdB0kaT » 22 сен 2014, 18:47

vdpr писал(а):Ну еще есть и 4-тый вариант - рабочие ключи заранее генерируются по особому алгоритму одновременно в блоке и брелоке при связвании устройств (ну то есть при прописании брелоков в блок), не так много памяти надо или ресурсов при этом.
Любые ключи (как асимметричные, так и симметричные) должны генерироваться с использованием полноценного аппаратного генератора случайных чисел. Всякие "особые алгоритмы" и "словари" - огромная дыра, подрывающая стойкость всей системы.

AdB0kaT
Сообщения: 873
Зарегистрирован: 05 мар 2014, 06:37
Двигатель:: 6G72
Мой автомобиль(и):: Pajero IV Instyle 2013г.
Откуда: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 42 раза

Re: Что такое "Диалоговый код"?

Сообщение AdB0kaT » 22 сен 2014, 18:51

Абузяров писал(а):Дело в том, что это "обучение" происходит на заводе. Брелоки привязываются к системам.
Это понятно, что система поставляется с уже обученными брелками. Ну положим юзер утерял брелок, купил вместо него новый. Как происходит обучение нового? Что передают в эфир блок и брелок в этот момент?

муромец
Сообщения: 122
Зарегистрирован: 23 июн 2013, 18:27
Двигатель:: 4D56
Мой автомобиль(и):: Pajero Sport I, 116 л.с.(EFI)
Откуда: Москва
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Что такое "Диалоговый код"?

Сообщение муромец » 23 сен 2014, 20:31

Ну вот почему никто не сделал обучение брелков по проводам? неужели производителю жалко тратиться на провода и разъемы?
Муромец

Аватара пользователя
vdpr
Сообщения: 107
Зарегистрирован: 24 окт 2013, 09:29
Двигатель:: 6G74 MPI, бензин
Мой автомобиль(и):: PAJERO II 1997гв левый руль
Откуда: Новосибирск
Поблагодарили: 23 раза

Re: Что такое "Диалоговый код"?

Сообщение vdpr » 24 сен 2014, 18:45

AdB0kaT писал(а): Любые ключи (как асимметричные, так и симметричные) должны генерироваться с использованием полноценного аппаратного генератора случайных чисел. Всякие "особые алгоритмы" и "словари" - огромная дыра, подрывающая стойкость всей системы.
Бесспорно!
Но и ключ должен меняться (и не повторяться) каждый сеанс обмена данными!
Я лишь хотел отметить, что вот с генерацией ключа ассеметричными алгоритмами и обмен данными сгенерированным ключом каждый раз (при нажатии кнопок снятия с охраны или закрывания дверей, к примеру) - вполне длительная операция, по моему, так как я их тестировал алгоритмы на микроконтроллерах. Получается не потребительского качества время обработки пакета данных. Упрощение алгоритмов тоже не рассмариваю - так как это уничтожит стойкость к взлому.
Поэтому рабочий режим шифрования - симметричный аглоритм. Ему же нужен прватный ключ, его должны знать и брелок и блок заранее.
Итого остается обмен сгенерированными ключами/словарем ключей/спец алгоритмом при прописывании брелолка, естественно под шифрованием с использованием свежесгегнерированного ключа с помощью ассиметричного же алгоритма.
- PAJERO II, 1997, LONG, LHD, дорестайл, 6G74 DOHC MPI, VIN JMB0RV450VJ00063(dva)
- Москвич 214122 УЗАМ 1994 гв

AdB0kaT
Сообщения: 873
Зарегистрирован: 05 мар 2014, 06:37
Двигатель:: 6G72
Мой автомобиль(и):: Pajero IV Instyle 2013г.
Откуда: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 42 раза

Re: Что такое "Диалоговый код"?

Сообщение AdB0kaT » 25 сен 2014, 17:44

vdpr писал(а): Я лишь хотел отметить, что вот с генерацией ключа ассеметричными алгоритмами и обмен данными сгенерированным ключом каждый раз (при нажатии кнопок снятия с охраны или закрывания дверей, к примеру) - вполне длительная операция, по моему, так как я их тестировал алгоритмы на микроконтроллерах. Получается не потребительского качества время обработки пакета данных. Упрощение алгоритмов тоже не рассмариваю - так как это уничтожит стойкость к взлому.
Не знаю какие микроконтроллеры тестировали вы, но используемый мной USB ключ Aladdin eToken PRO 64K (древняя модель, купленная еще в 2008 году) проводит авторизацию и ЭЦП с помощью RSA ключей длиной 2048 бит сравнительно быстро - за 2-3 секунды. А вот генерирует новые ключи такой длины довольно долго - секунд 10-20. Но переобучение брелков проводится нечасто, так что с этим можно смириться. Так что внедрение асимметричных алгоритмов в автосигнализации вполне реализуемо, было бы желание. А его со стороны производителей не будет, пока 99% покупателей ничего не понимают в защите цифровых данных.
vdpr писал(а):Поэтому рабочий режим шифрования - симметричный аглоритм. Ему же нужен прватный ключ, его должны знать и брелок и блок заранее.Итого остается обмен сгенерированными ключами/словарем ключей/спец алгоритмом при прописывании брелолка, естественно под шифрованием с использованием свежесгегнерированного ключа с помощью ассиметричного же алгоритма.
Забудьте уже про словари и спец алгоритмы. Это ложный путь. Динамический код Шерханов тоже можно отнести к словарю кодов, сменяемых по спецалгоритму. Когда то считался неприступным. Но когда за него взялись профи своего дела сразу открылась вся правда. Любая утечка инфы о "спецалгоритмах" и закономерностях построения словарей сразу снижает безопасность построенных на них систем до нуля. Правильный путь лежит только через использование генератора случайных чисел. Или хотя бы псевдослучайных. Это придаст уникальность каждому экземпляру автосигнализации одной и той же модели. При этом не надо забывать, что безопасный обмен ключами по небезопасному каналу связи возможен только с помощью асимметричных алгоритмов шифрования. Другой альтернативы на сегодня нет. Ну и понятное дело, что блок должен начинать процедуру обучения только после правильного ввода заранее сохраненного пин-кода и при наличии рядом "обучающего" брелка или метки. То есть должна быть как минимум двухфакторная аутентификация владельца при прописывании новых брелков.

Аватара пользователя
vdpr
Сообщения: 107
Зарегистрирован: 24 окт 2013, 09:29
Двигатель:: 6G74 MPI, бензин
Мой автомобиль(и):: PAJERO II 1997гв левый руль
Откуда: Новосибирск
Поблагодарили: 23 раза

Re: Что такое "Диалоговый код"?

Сообщение vdpr » 26 мар 2015, 09:41

AdB0kaT,

Наверно верно не обсуждать всякие алгоритмы типа килока (который во всех дешевых сигналках, и если даже говорят про супер пупер алогоритм - и именно он там и будет, микросхемы с ним просто напросто дешевы), просто их время уже прошло, вычислительные мощности и косяки в алгоритме привели к его ненадежности. Ведь известен его косяк даже не в малости его ключа, и алгоритм не ломают впрямую, а сбивают радиопередачу делая "запасной пакет" и передавая его позже, когда хозяин уже далеко ушел от авто. описание сего взлома открыто и валяется по всему интернету.

Ну а я бы хотел забыть про словари и наколенкесделанные алгоритмы, но реальность такова, что технических возможностей наложенных на экномику использовать полноразмерный ассиметричный алгоритм с НОВЫМ сеансовым ключем при каждом нажатии на кнопку брелка я не вижу. Допускаю что мой уровень в микроконтроллерах еще не достиг нужного уровня. И прогресс в этой области не является эволюционным, а скорее движется скачками. Наверно время быстрых вычислительных мощностей при малом потреблении и низкой цене еще не пришло. Можно и смартфон встроить в брелок - будет потреблять и стоить как смартфон...

Небольшое отвлечение на тему расклада себистоимости электронного устройства, которое сейчас у меня в разработке, хотя никак не связано с авто: к примеру отпускная цена 12тр, дилерская цена 8,5тр, себестоимость полная, включая весь процесс производства с работой от документации до упакованного устройства - 4,5тр, из них компоненты - 2,1-2,2тр. Устройство естественно с микроконтроллерами и программами. Это расклад для серийного изделия. И борьба идет за каждый полтинник. Возникнет вопрос а где остаток в 4тр - это налоги, прибыль, накладные расходы, вложения в разработку итд.... Так разрабатывается электроника вообще, и в Китае расклад ровно так же, ниче не меняется.
Так вот и видим что деталей и расходов даже на сигналку будет примерно на 2тр, и это очень мало.
Ну давайте поставим сюда комплект мощных процов и обеспечим из питанием ну к примеру за 1500р. Это увеличение стоимости изделия раза в полтора и более. Неконкурентноспособно. Не говоря уже о потребительских качествах, о габаритах, весе, эстетике.
Вот мы и видим такое состояние рынка, нет по настоящему правильных ассиметричных алгоритмов в сигналках, допускаю что они мне не попались еще.

А вот использовать один и тот же сеансовый ключ даже, к примеру, десяток раз в подряд - это уже прямое ослабление защиты в целом. Вся моя возня как раз вокруг необходимости НЕ использовать дважды один и тот же сеансовый ключ, даже при сбоях в передаче. Практика поиска уязвимостей прежде всего ищется исходя из набора зашифрованных данных одним и тем же ключем. Энигма, как известно, ровно на этом и погорела, используя один ключ в сутки и повторяющиеся фрагменты исходных данных. Не спас ситуацию и хороший по тем временам алгоритм, построили даже вычислительную машину и долбили алгоритм сутками, в итоге противник спалился на передаче прогноза погоды рано утром - что и есть предполагаемый известный кусок данных. И исходя из этого факта криптографы прежде всего отмечают необходимость использования каждый раз нового неповторяющегося ключа. Так что применения одного ключа, пусть и приватный для брелка и блока на любом алгоритме на все время использования сигналки - это уже прямая потенциальная опасность и лежит она на совести разработчиков таких девайсов.
Рано или поздно ведь найдут подход к алгоритму. И ясно, что война щита и меча ведется постоянно и всегда не в пользу автомобиля и его хозяина, так как суперкомпьютер невозможно встроить в брелок и блок сигналки.

Выработка сеансового ключа в ассиметричном алгоритме - это же ведь многостадийный процесс - выработка слючайной последовательности, расчет по однонаправленной функции публичной части, обмен ею, выработка общего приватного сенсового ключа. А вот дальше пакет обычно обертывается в быстрый симметричный алгоритм с применением этого ключа. Ну это в общих чертах.

Мое предложение всего лишь состояло в выработке словаря приватных ключей с применением методов ассиметричного алгоритма, обмен словарем между блоком и брелком с применением ассиметричного алгоритма по радиоканалу, или как подсказали выше и по проводам, а вот уже работа при обмене данными при нажатии кнопки должна проводиться симметричным быстрым алгоритмом каждый раз с новым ключем.
Да, пусть ключей будет ограниченное количество, пусть на три года использования. Вот пусть злоумышленник и ходит за вами три года и ждет повторения ключей. Думаю, что он не будет даже связыватся с такой системой.
Чем такое предложение хуже по сравнению с одним ключем? Не вижу здесь никакого ослабления или недостатков.
- PAJERO II, 1997, LONG, LHD, дорестайл, 6G74 DOHC MPI, VIN JMB0RV450VJ00063(dva)
- Москвич 214122 УЗАМ 1994 гв

AdB0kaT
Сообщения: 873
Зарегистрирован: 05 мар 2014, 06:37
Двигатель:: 6G72
Мой автомобиль(и):: Pajero IV Instyle 2013г.
Откуда: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 42 раза

Re: Что такое "Диалоговый код"?

Сообщение AdB0kaT » 27 мар 2015, 19:24

vdpr писал(а):Мое предложение всего лишь состояло в выработке словаря приватных ключей с применением методов ассиметричного алгоритма, обмен словарем между блоком и брелком с применением ассиметричного алгоритма по радиоканалу, или как подсказали выше и по проводам, а вот уже работа при обмене данными при нажатии кнопки должна проводиться симметричным быстрым алгоритмом каждый раз с новым ключем.
Зачем изобретать велосипед? все придумано до нас. и программно реализовано кстати говоря
https://www.pgpru.com/biblioteka/osnovy ... jstvuetpgp
Затем, PGP создаёт сеансовый ключ, т.е. одноразовый симметричный ключ, применяемый только для одной операции. Этот сеансовый ключ представляет собой псевдослучайное число, сгенерированное от случайных движений мышки и нажатий клавиш. Сеансовый ключ работает на основе очень надёжного, быстрого симметричного алгоритма
Как то так. И самое главное: никаких словарей, ибо это есть зло. Как известно подбор пароля или ключа по словарю - один из самых распространенных методов взлома криптографических систем. А посему чем больше уровень энтропии при создании одноразового ключа, тем лучше.

Аватара пользователя
SoundSpeed
Сообщения: 2014
Зарегистрирован: 04 июн 2007, 12:18
Двигатель:: Дизель
Мой автомобиль(и):: NMPS'10, S05, DARK Edition - был, TLC 150 - есть.
Откуда: Москва, Молодогвардейская, 58
Благодарил (а): 83 раза
Поблагодарили: 192 раза
Контактная информация:

Что такое "Диалоговый код"?

Сообщение SoundSpeed » 03 окт 2019, 12:27

Да, товарищи ))
Я создал эту тему, чтобы простым людям объяснить на пальцах, а оно вон во что выросло ))

Я, конечно, не против, но больше половины текста не поймёт 90% читателей :*SCRATCH*:
С ув., Алексей
Автосервис, ТО, тюнинг, охрана, доп. оборудование японских авто, тел. 775-43-84, http://www.soundspeed.ru

Ответить

Вернуться в «Защита от угона»