"Универсальные" электронные ключи. Мифы и реальность.

"Универсальные" электронные ключи. Мифы и реальность.

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

Здесь речь пойдёт о так называемых «ключах-вездеходах» для домофонных систем, которые сейчас предлагаются на рынке в огромном количестве. На фоне этих предложений стали появляться утверждения, что больше использовать электронные ключи iButton (DS1990) не имеет смысла, они уже давно «взломаны». Поэтому, давайте посмотрим, откуда появляются такие утверждения и имеют ли они под собой реальную почву.

Несомненно, реклама делает своё дело. Достаточно набрать в поисковике волшебное слово «ключ-вездеход», как будет выдано огромное число сайтов, на которых вам предложат купить «универсальный ключ, который подходит к 90% домофонных замков». Про охранные сигнализации и другие устройства с подобным доступом, скромно умалчивается. А почему? Ведь многие охранные сигнализации выполнены точно на таких же «таблетках» как и определённые типы домофонов. Может, здесь имеет значение моральный аспект и уголовная ответственность, если вы попытаетесь таким ключом снять с охраны сигнализацию какого-либо объекта? Так и «вскрытие» домофона дело не совсем законное. Даже если это преподносится "как универсальное средство открытия дверей для почтальонов, коммунальщиков, ремонтников телевизионных кабельных сетей и т.д" (цитата одного из сайтов, где предлагаются "ключи-вездеходы"). Значит, здесь вопрос в нечто другом. А может это банальный развод и такими ключами вообще ничего нельзя открыть? Но многие утверждают, что данные ключи действительно позволяют открывать домофоны. На основании всех этих рассуждений мы приходим к выводу, что данная проблема существует и она прямо указывает на то, почему возможно использование ключей-вездеходов – это уязвимость определённых типов домофонных систем.
 

Начнём рассмотрение этой темы с самых основ. Электронный ключ – это постоянное запоминающее устройство, в которое записан уникальный не перезаписываемый код или по-другому – серийный номер ключа. Вероятность того, что может существовать два ключа с одинаковым серийным номером – фактически равна нулю. Впервые такие ключи разработала, запатентовала и стала выпускать американская компания Dallas Semiconductor. Для считывания данных с DS1990A используется 1-проводная шина MicroLAN. DS1990A является подчинённым устройством (слейвом), а мастером является обычно микропроцессор. Питание DS1990A во время обмена данными производится от 1-проводной шины – т.е ПЗУ не имеет собственного источника, а получает питание по той же линии, где идёт передача данных. Что бы не вдаваться в подробности и временные характеристики считывания серийного номера с ключа, отметим только основные этапы:

1. Микроконтроллер (мастер) постоянно сканирует шину на наличие на ней ключа 
2. При обнаружении ключ даёт мастеру команду, что на шине присутствует устройство DS1990A и оно готово к обмену.
3. Обнаружив на шине ключ и его готовность к работе, микроконтроллер передает команду чтения ПЗУ. 
4. Приняв команду чтения ПЗУ, DS1990A передает 8-битный код типа устройства 48-битный серийный номер и 8-битную контрольную сумму.
5. Получив серийный номер, микроконтроллер сравнивает его с номерами, хранящимися в памяти и, если он соответствует одному из серийных номеров ключей, которые были предварительно записаны, выдаёт нужную команду исполнительному устройству – например, открывает электронный замок домофона.

Как видите, серийный номер является 48-битным числом и случайно подобрать его невозможно. Но именно это число и нужно знать, что бы домофонная система восприняла ключ как свой. Что тут можно предпринять? Допустим, последовательно выдавать в линию все комбинации 48-битных чисел. Представляете, сколько времени это займёт? Правда, иногда для экономии памяти (что бы записать как можно большее количество ключей) используют не всё 48-битное число, а только его часть. Но тем не менее, проще от этого не становиться. Давайте проведём расчёт. Возьмём «урезанное» до 24 бит число. Это получается 16 777 215 различных комбинацией нулей и единичек. Далее учитываем то, что после каждого считывания, как правило, микроконтроллер устанавливает задержку не менее 1 секунды на повторное считывание. Для простоты расчётов собственно самим временем считывания можно пренебречь и считать, что мы последовательно выдаем в линию данные с интервалом в 1 секунду. Итак, для того, что бы перебрать все 16 777 215 нам потребуется 16 777 215 секунд. Или, что бы более наглядно – 195 суток! Но это ещё не всё. Обычно, после нескольких считываний неправильных ключей, микроконтроллер блокирует считывание на минуту. Значит, подобрать необходимую комбинацию даже 24-битного числа просто нереально.
 

Исходя из изложенного выше, метод перебора в принципе неприемлем. А что если взять «прописанный» в системе ключ и скопировать его в отдельную память, типа такой как в DS1990? Да, такой путь вполне возможен. Существуют специальные «болванки», например, ТМ2004, которые имеют внешний вид точно такой же, как DS1990, но в их память ничего не записано. С помощью специального устройства, которое называется дубликатором ключей, с «прописанного» ключа считывается серийный номер, который затем прописывается в ТМ2004 и будет домофонной системой восприниматься как «свой». Т.е он становиться «клоном» ключа, с которого был считан серийный номер. Правда, тут тоже есть определённые моменты, некоторые устройства на DS1990 отсекают «клонов», но это уже зависит от того, как написана управляющая программа микроконтроллера, поэтому нет смысла на этом заострять внимание.
 

Существуют так же «универсальные ключи», в которые можно записать много серийных номеров - т.е создать "образ" множества ключей. В отличие от «болванок» ТМ2004, они представляют собой микроконтроллерное устройство - эмулятор, в память которого заносятся дублируемые ключи. Как правило, такие эмуляторы представляют собой печатную плату, зачастую под размер ключа, на которой установлен микроконтроллер и его "обвязка".
 Но ведь для того, что бы записать в «болванку» или микроконтроллерный эмулятор нужный ключ, его нужно предварительно считать с оригинала. А нам предлагают универсальный ключ-вездеход, в который ну никак не могли записать определённые серийные номера. Может, они записали туда все комбинации? Это уже из области фантастики, так для этого требуется огромный объём памяти и, кроме того, мы показали выше, сколько времени потребуется на подбор нужного кода. Так в чём же дело, как могут работать "ключи – вездеходы"? А получается вот что:
 

Некоторые типы домофонов, проверяя считанный с ключа код и сверяя его со своей памятью, просматривают всю память, в том числе и свободные от записей области. Свободные области памяти существуют тогда, когда имеется резерв для записи в домофон новых ключей. В них записаны абсолютно одинаковые нулевые значения 00h или FFh. Значит, достаточно взять ту же «болванку» ТМ2004, записать в неё все значения FFh (или 00h) и вот готов универсальный ключ-вездеход. Так как ячейки свободной памяти могут иметь два значения (00h или FFh) иногда предлагается два ключа, в которые записаны соответствующие значения. Получается, что возможность использования ключей-вездеходов – не более чем программная уязвимость некоторых типов домофонных систем, которая устраняется элементарно просто – для этого или вся память домофона должна быть заполнена серийными номерами ключей или, что более правильно – в свободные ячейки памяти должны быть записаны случайные значения. Иначе, если там будут нулевые ячейки, открыть замок можно будет даже замыкая/размыкая считывающее устройство, вообще без всякого "вездехода". При разработке устройств доступа с использованием ключей DS1990, программист должен предусмотреть возможность записи в свободные области памяти случайных значений. Это позволит полностью защитить разрабатываемую систему. 


Подводя итог, хочу отметить, что данная проблема мне знакома не только «теоретически», я в своё время так же разрабатывал, правда, на любительском уровне, некоторые устройства, в которых применяются ключи DS1990. Вот некоторые из них:

Сигнализация LOCK GSM
Сигнализация Microalarm GSM
Контроллер СКУД

Но даже в этих любительских разработках полностью отсутствует рассматриваемая в статье проблема. В настоящее время всё меньше остаётся домофонных систем, где присутствует описанная уязвимость, а более ранние версии дорабатываются изменением программного кода микроконтроллера. Это в основном домофоны «Визит», «Метаком» и некоторые «Цифрал». В домофонах «Кейман», «Элтис» этой уязвимости нет вообще. Так что всё меньше остаётся домофонов, которые можно открыть ключом – вездеходом. Пройдёт ещё пару лет и предложений таких ключей вообще не останется, т.к. они станут абсолютно бесполезными.

  • Дата публикации: 08.02.2011
  • 350

Чтобы оставить комментарий или выставить рейтинг, нужно Войти или Зарегистрироваться