Динамический код управления. Динамическое кодирование в автосигнализациях

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

Все специалисты и работники сервисов сходятся во мнении по следующим вопросам:
1. Желательно в дополнение к автосигнализации использовать иммобилайзер или реле, управляемое по штатной проводке, что в принципе, на данном этапе развития отрасли - одно и тоже.
2. Почти необходим замок капота (механический или электромеханический)
3. Степень угонустойчивости чуть ли не на половину зависит от подхода к установке и профессионализма мастера. С этим трудно не согласиться!

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

Окунемся немного в историю и посмотрим, - какже появились на свет все эти Килоги, и прочие алгоритмы шифрования

В устаревших сигнализациях применялись коды с числом комбинаций до 512, Подбор такого кода занимает менее 1 минуты. Количество комбинаций кодов в современных сигнализациях может достигать нескольких тысяч миллиардов. Первая структура динамического кода была предложена итальянской компанией Autotechnica еще в 1995 году. Но подлинная революция в применении этой технологии произошла, когда компания Microchip изготовила наборы кодирующих и декодирующих устройств, сопроводив их своими руководствами по внедрению. Эта "техническая интервенция" способствовала появлению у разных изготовителей своих собственных оригинальных алгоритмов. Однако, до сих пор продукция фирмы Microrochip пользуется большим спросом, а технология "Keeloq" известна всем, кто не остановил свое знакомство с автомобилем на замке зажигания, двери и "балоннике".

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

Что же такое динамический код...

Технология плавающих кодов делает невозможным, как перехват кодов из эфира, так и их подбор. Действительный код шифруется таким образом, что при каждой передаче излучается внешне совершенно другая кодовая посылка. В приемнике действительный код восстанавливается путем математической обработки. Перехват кодов становится бессмысленным, так как невозможно предсказать какая следующая кодовая комбинация снимет сигнализацию с охраны. Простое повторение предыдущей посылки не приведет к выключению сигнализации, так как бывшие в прошлом посылки считаются недействительными. Предсказать же будущую посылку теоретически можно, только зная алгоритм шифрования кода, который держится фирмой-изготовителем в секрете и достаточное количество выборок кода для анализа. Кодовые комбинации повторяются с очень большим интервалом. Исследования модели MICROCAR 052.1 показали, что для данной модели этот период составляет более 65000 нажатий. Можно сказать что, в процессе эксплуатации, передаваемые кодовые комбинации не разу не повторяются – машина не служит 20 лет. Коды-идентификаторы брелоков автосигнализаций с плавающими кодами записываются в заводских условиях и являются уникальными не подлежащими замене в процессе эксплуатации. Технология плавающих кодов очень эффективно защищает сигнализацию от взлома с помощью электронных средств. Степень защиты от расшифровки зависит от применяемого алгоритма кодирования. Именно здесь и кроется одно большое "НО" (см. далее "Двойной динамический код")

Рассмотрим немного подробнее, что же представляет из себя динамический код на основе все того же Keeloq

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

Однако к кодирующему ключу разработчикам пришлось добавить еще несколько структур данных специального назначения. Кратко рассмотрим их.

Кодирующий (секретный) ключ 64-битовая комбинация, образуемая генерирующей функцией из серийного номера (ядра) и 64-битового ключа изготовителя. Кодирующий ключ используется для кодирования, а декодирующий для декодирования посылки. Значение ключа не может быть прочитано, и оно никогда не передается.

Счетчик синхронизации 16-битовая комбинация счетчика, передаваемая каждый раз при активации кодирующего устройства (кодера), например, путем нажатия кнопки брелока. Счетчик синхронизации формируется в кодере и передается в закодированном виде в составе переменной части посылки. Эта структура позволяет отслеживать синхронность шагов декодирующего и кодирующего устройств. Текущее значение счетчика синхронизации от каждого кодера запоминается в декодере и позволяет отличить принятую следующую посылку от предыдущей или внеочередной, созданной не в соответствии с алгоритмом.

Дискриминатор 12-битовая произвольная комбинация, передаваемая кодером в закодированном виде в составе переменной части посылки. Он используется для проверки целостности процесса декодирования.

Серийный номер уникальный номер каждого кодера (брелока-передатчика) из 28 или 32 бит. Формируется при изготовлении кодера и передается в некодированном виде в постоянной части посылки.

Каждый кодер характеризуется набором из четырех величин, описанных выше: кодирующего ключа, счетчика синхронизации, дискриминатора и серийного номера. Поскольку значения всех этих величин различны для разных кодеров, то декодер должен хранить в памяти столько наборов, сколько кодеров использует система (обычно не более 6 8).

Формирование кодирующего ключа в кодере производится специальным программатором в процессе изготовления кодера. Для генерации кодирующего ключа необходимы серийный номер и ключ изготовителя.

Ключ изготовителя 64-битовая комбинация, используемая для образования кодирующего ключа и обеспечивающая разделения всего кодового пространства посылок между разными изготовителями. Ключ изготовителя также записывается в память декодирующего устройства. Естественно, для работы со всеми кодерами системы, произведенными одним изготовителем, достаточно запоминания одного ключа изготовителя.

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

Для того, чтобы код-идентификатор нельзя было перехватить из эфира, все (точнее практически все) уже передававшиеся коды нужно отсеивать, как недействительные. Кроме того, код-идентификатор и служебную информацию нельзя передавать в явном виде. Это возможно сделать, если до передачи налагать на код различные неповторяющиеся маски. Чтобы иметь возможность удалить маску при приеме, ее необходимо пронумеровать. В кодер и декодер включен т.н. счетчик синхронизации. Счетчик синхронизации содержит текущий номер маски. Каждое нажатие кнопки брелка приводит к увеличению состояния счетчика синхронизации брелка и изменению налагаемой маски. Типичная емкость счетчика синхронизации - 16 двоичных разрядов. Таким образом, брелок генерирует 65000 неповторяющихся масок.

Кодовые брелоки

Кодовый брелок сигнализации – это миниатюрный передатчик, работающий в диапазоне дециметровых волн (200...450 МГц). Реже встречаются модели, работающие на инфракрасных лучах, они отличаются малым радиусом действия.
Для сигнализаций оснащенных брелоками на ИК – лучах перехват кодов весьма затруднен из-за малого радиуса действия и направленности брелоков-передатчиков (при пользовании их приходится направлять в определенное место салона автомобиля с расстояния не более нескольких метров). Эта особенность может создавать неудобства при пользовании. Сигнализации с ИК-брелоками: BOSH Blocktronic IR-US, BOSH Blocktronic IM-US

Рабочие частоты передатчиков постоянны и нормированы контрольными органами электросвязи стран в которые эти устройства ввозятся.

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

Двойной динамический код

С тех пор, как код – граббер перестал быть экзотикой и доступен угонщикам, все большое значение уделяется степени секретности кодовой посылки, передаваемой с брелока. Как результат этого процесса все большее число систем выпускается с динамическим кодом. Никто не оспаривает его преимуществ. Однако и он не может считаться панацеей на все случаи. Если алгоритм изменения становится известен, (а он известен, по крайней мере, разработчику), то внедриться в систему остается делом техники. Не даром система кодировки так тщательно засекречивается и скрывается производителями сигнализаций. Для исключения и этой возможности для электронного взлома разработан так называемый D2-код, сущность которого заключается в том, что каждому брелоку, помимо разрядного номера, присвоен еще и свой индивидуальный закон изменения кода. Это индивидуальное правило записывается в декодер один раз при вводе (программировании) брелока, в эфире больше не появляется и радиоперехвату недоступно. Таким образом, даже разработчик системы, обладая всей необходимой информацией о способах кодирования и соответствующей аппаратурой, не сможет расшифровать этот код.

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

При повторении отсканированной кодовой комбинации автосигнализация не сработает, так как процессор центрального блока каждый раз вычисляет, какой должна быть следующая кодовая комбинация, и срабатывает только на нее.

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

Полноценно к данному классу можно отнести динамические коды с шифрованием типа Keeloq® , или динамические коды с оригинальным алгоритмом. В настоящее время это одни из лучших кодов в данном классе.

Компьютерный анализ записи динамического кода позволяет выявить закономерность его изменения и, в дальнейшем, подобрать необходимую команду. При анализе определяются составные части кодовой посылки и, особенно, ее динамическая часть. Для исключения возможности подобного анализа, разработчиками Magic Systems (MS) был создан двойной динамический код - (D-квадрат).

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

Информационная технология DID (Dynamic Identification Dialog) это динамический идентификационный диалог каторый применяется в метках-транспондерах, по которым противоугонная система распознает автовладельца. Технология DID надежно защищает систему от электронного взлома.

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

Для начала метка должна получить сообщение о том, что она находится в зоне видимости системы. Следующий шаг - отзыв метки собственным кодом. После его получения система выдает случайное число, которое метка принимает, преобразует согласно заложенному в нее нелинейному алгоритму и передает обратно. Система параллельно проводит такое же преобразование, и при совпадении чисел - собственного и полученного от метки - автомобиль снимается с охраны.

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

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

Данные по любому из радиоканалов передаются в виде определенной последовательности, которая носит название пакет данных. Каждый статический и динамический код в пультах несет в себе определенную команду - «поставить на охрану», «закрыть замки», «привести в действие автоматику для открытия». Разберем подробнее, что собой представляет каждый из кодированных сигналов

Статический код

Такую систему кодирования имели самые первые пульты от ворот. Суть работы такого радиосигнала заключался в применении определенных пакетов данных для каждой из команд, которые приводились в действие нажатием той или другой кнопки на брелоке. Определенным недостатком, который проявлялся сразу после начала массовой эксплуатации подобных устройств, стала статистическая вероятность, что свой пульт для шлагбаума мог открыть соседскую дверь. Т.к. всего заложено 4096 комбинаций, по статистике это 1 случай на 1000. Однако. В силу широкой популярности такого рода пультов, подобные ситуации происходили. Кроме того, статичный сигнал оставался ничем не защищенным от код-граберов, который в то время начали массово появляться на черном рынке страны.

Динамический код и его преимущества

Рост спроса на все дистанционные системы управления заставил производителей искать новые способы кодирования сигналов, благодаря чему на рынке Москвы появился принципиально новый брелок от автоматических ворот с динамическим сигналом. Это постоянно изменяющийся пакет данных, повторение которого практически невозможно. Как сам код, так и система декодирования рассчитывается по определенному алгоритму, который закладывается производителем.

Каждое нажатие на брелок несет в себе информацию о количестве предыдущих срабатываний, на основе чего рассчитывается код, который сможет синхронизировать брелок и блок управления автоматикой.

// Динамическое кодирование

Люди столетиями бьются над созданием «философского камня» и «перпетум мобиле», т.е. вечного двигателя. И оказывается что-то подобное вечному если не двигателю, то процессу есть. Это борьба создателей охранных комплексов, сберегающие личное имущество, и угонщиков, нато самое имущество зарящиеся. Прямо борьба добра со злом. В автомобильных сигнализациях основным камнем преткновения и предметом пристального внимания как раз стал код сигнала.

Большинство существующих сигнализаций управляются дистанционно по радиоканалу с помощью брелока-передатчика. И, чтобы все брелоки не подходили ко всем сигнализациям, посылки радиообмена между брелоком и сигнализацией кодируются.

На заре возникновения сигнализаций код этот был достаточно несложным. По сути, в модели использовался один код, отличавшийся лишь номером брелока в партии. Тогда то и появились сканеры – устройства, перебирающие код один за другим, пока не будет найден нужный. Озадачившись данной проблемой, разработчики написали программу «антисканирования». При попытке перебора кодов сигнализация блокируется и не воспринимает повторяющиеся один за другим коды.

Следующим этапом было создание «граббера», по сути, являвшегося приемником-передатчиком с памятью, настроенным на нужную частоту. «Граббер» записывал в память один из кодов и, когда владелец автомобиля уходил, воспроизводил этот самый код, которым снимал систему с охраны.

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

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

Ответом производителей было создание брелоков с раздельными постановкой и снятием с охраны. Для постановки на охрану на брелоке - одна кнопка, для снятия – другая. Таким образом, в эфир в теле кода передается номер кнопки. И если «граббер» записал несколько кодов, то все они служат только для постановки на охрану и снять ими сигнализацию с охраны невозможно. Если, конечно, автовладелец при постановке на охрану (и неудаче с первого раза) не начинает жать на все подряд кнопки, в том числе и на кнопку снятия с охраны. И надо не забывать, что если даже «граббер» записал хоть десять этих кодов, то после первого же прохождения кода между брелоком и сигнализацией все предыдущие коды система воспринимать не будет. Поэтому главный совет владельцам сигнализаций более старых моделей: ставьте на охрану авто в непосредственной близости от водительской двери, а если не получилось - не жмите на все кнопки подряд (только на кнопку постановки). Если попытка все же не увенчалась успехом – воспользуйтесь функцией ручной постановки на охрану.

Но на этом производители сигнализаций не остановились. Во всяком случае, компания SHERIFF. В сигнализациях нового поколения используется уже совсем другое кодирование радиосигнала, имеющее аббревиатуру CFM.

Последние годы получил распространения динамический код от компании Microchip – KeeLog и KeeLog +, но данный алгоритм перестал удовлетворять возросшим требованиям компании SHERIFF к безопасности кодирования сигнала. В связи с этим компанией SHERIFF было принято решение о разработке совместно с одной из ведущих компаний в области электронной криптографии уникальной, абсолютно надежной, полностью исключающую возможность электронного взлома системы кодирования. Результатом этого сотрудничество стала система динамического кодирования нового поколении CFM и CFM II, алгоритм изменения которого держится в секрете. Сущность кода CFM заключается в том, что каждому брелоку, помимо разрядного номера, присвоен еще и свой индивидуальный закон изменения кода. Это индивидуальное правило записывается в память сигнализации один раз при программировании брелока, в эфире больше не появляется и радиоперехвату недоступно. Таким образом, даже разработчик системы, обладая всей необходимой информацией о способах кодирования и соответствующей аппаратурой, не сможет расшифровать этот код. При этом в коде CFM усложнены и нестандартно используются и динамическая и статическая части кода. Мануфактурный код (эта святая святых кодирования), во-первых, держится в строжайшей тайне (он известен свего ОДНОМУ человеку, потому утечки информации не может быть как таковой), а во-вторых, меняется в каждой партии сигнализаций, еще более усложняя жизнь потенциальным угонщикам. Все это направлено на повышение степени секретности кодовой посылки и исключение возможности взлома. На практике проверено - грабберы его не «берут».

Динамический код

– код, меняющийся с каждым нажатием брелка (защита от кодграбера).

EdwART. Словарь автомобильного жаргона , 2009

Смотреть что такое "динамический код" в других словарях:

    - – динамический код с неизвестным правилом кодирования (если сканировать кодграбером динамический код и знать правило его изменения (кодирования), то можно следующий код вычислить, в данном случае при нажатии брелка меняется не только код, но и… … Автомобильный словарь

    Эта статья о коде в городском ориентировании и ночных поисковых играх, другие значения этого слова см. в код (значения). Код в городском ориентировании последовательность букв и/или цифр являющаяся паролем, подтверждающим выполнение… … Википедия

    - (англ. Dynamic program analysis) анализ программного обеспечения, выполняемый при помощи выполнения программ на реальном или виртуальном процессоре (анализ, выполняемый без запуска программ называется статический анализ кода). Утилиты… … Википедия

    Четырёхканальный аналого цифровой преобразователь Аналого цифровой преобразователь … Википедия

    Класс языка: мультипарадигмальный: динамический, объектно ориентиров … Википедия

    У этого термина существуют и другие значения, см. Триггер (значения). Триггер (триггерная система) класс электронных устройств, обладающих способностью длительно находиться в одном из двух устойчивых состояний и чередовать их под… … Википедия

    ГОСТ Р 52633.0-2006: Защита информации. Техника защиты информации. Требования к средствам высоконадежной биометрической аутентификации - Терминология ГОСТ Р 52633.0 2006: Защита информации. Техника защиты информации. Требования к средствам высоконадежной биометрической аутентификации оригинал документа: 3.1 автоматическое обучение: Обучение, осуществляемое автоматически без… … Словарь-справочник терминов нормативно-технической документации

    Четырёхканальный аналого цифровой преобразователь Аналого цифровой преобразователь (АЦП, ADC) устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал). Обратное преобразование осуществляется при помощи ЦАП (DAC)… … Википедия

    У этого термина существуют и другие значения, см. Переполнение. Переполнение буфера (Buffer Overflow) явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера. Переполнение буфера обычно… … Википедия

Книги

  • C# 4. 0. Полное руководство , Шилдт Герберт , В этом полном руководстве по C# 4. 0 - языку программирования, разработанному специально для среды. NET, - детально рассмотрены все основные средства языка: типы данных, операторы,… Категория: Программирование Издатель: Диалектика ,
  • Структуры и алгоритмы обработки данных. Линейные структуры. Учебное пособие , Апанасевич Сергей Александрович , Учебное пособие содержит 6 лабораторных работ, посвященных линейным структурам данных. Среди них динамические массивы, односвязный линейный список, стек, очередь, множества. В лабораторных… Категория: Программирование Серия: Учебники для вузов. Специальная литература Издатель: