MagiKey. Магнитный ключ «на максималках»
Несколько месяцев назад я уже рассказывал о магнитных домофонных ключах. И, казалось бы, всё, что можно сказать по этой теме, уже было сказано.
Но, как оказалось, нет. Не так давно в мои руки попал ещё один считыватель магнитных ключей, устройством и принципом работы которого, думаю, стоит поделиться.
Итак, сегодня поговорим о самой продвинутой реализации устройств данного типа. Узнаем, как оно устроено и как работает, а также сделаем из подручных средств ключи для данного считывателя. Традиционно будет много интересного.
❯ Суть такова
Думаю, многие знают, что ныне используемые электронные ключи на деле магнитными не являются. Тем не менее, такие образцы вполне существовали, наиболее известным из которых стал челябинский «Факториал» (хотя панели данной фирмы можно встретить и в нескольких других городах, производство и офис компании находятся у нас).
Эта технология обладала рядом недостатков: ключи были ненадёжными, домофоны обладали низкой защищённостью от вандалов (в виде возможности затолкать в щель считывателя какой-нибудь мусор), а код ключа составлял всего десять бит, что было весьма мало.
Поигравшись с «Факториалом», я заинтересовался, существовали ли какие-то более продвинутые системы на базе аналогичной технологии. И, как оказалось, они таки были.
❯ Обзор оборудования
А попал в мои руки контроллер доступа Urmet 1102. Эта итальянская фирма в своё время выпускала собственный формат магнитных ключей, который имел название MagiKey.

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

Обратная сторона. Электроника закрыта пластиковой крышкой, внизу красная кнопка для входа в режим программирования, клеммник и две перемычки: одна включает или выключает индикацию, другая разрешает или запрещает использование «ключа почтальона» (по сути бэкдор в виде жёстко прописанного в памяти контроллера паттерна).

Внутренности. Плата весьма компактных размеров, на ней микроконтроллер, чип памяти, реле, преобразователь напряжения, немного дискретных элементов. Все компоненты выводного монтажа.
Год выпуска устройства мне неизвестен, ориентировочно (судя по штампу на крышке и маркировке компонентов) — 1997.

Обратная сторона платы. Тут ничего интересного, только индикатор.

Блок со снятой платой управления. Под ней находится сам считыватель.

Та самая плата отдельно. На ней находятся двадцать датчиков Холла, которые и считывают магнитные точки на ключе.

Обратная сторона. Здесь расположены три сдвиговых регистра. Они идентичны широко распространённым 74HC595, только работают на вход, а не на выход.
❯ В чём преимущество перед «Факториалом»?
Внимательные наверняка уже заметили сходство с ключами «Факториала»: тоже три ряда магнитных точек, аналогичный принцип с датчиками Холла…
Но не всё так просто. Всё дело в том, что на «Факториале» средний ряд является индексным и служит для контроля прокатывания ключа. Здесь же все двадцать датчиков служат для кодирования, так как ключ не вставляется, а прикладывается. Преимущества данного решения очевидны: больше задействованных магнитных точек, длиннее итоговый код.
Таким образом, всего существует 2^20 — 1 кодов ключей. Единственный код, ключ с которым не может существовать, — 000000, так как условием для начала считывания ключа является положительный уровень хотя бы на одном из датчиков. Сам код хранится в памяти в виде трёх байт.
❯ Запись ключей

С настройкой считывателя проблем возникнуть не должно, нужен лишь мастер-ключ, который в случае отсутствия надо записать. Несмотря на то, что мне не удалось достать даже фотографии ключей, инструкцию я таки нашёл. Лежала она тут.

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

Ключ от «Факториала» не подошёл по размеру. Даже если намагнитить на нём все точки, он всё равно будет слишком узок, чтобы крайний ряд был корректно распознан. В идеале было бы вырезать ключи из такого же пластика с добавкой ферромагнетика, однако найти его не вышло.

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

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

Прикладываем к считывателю, и всё успешно работает, на экране появляются три прочерка, символизирующие неизвестный ключ. Записываем этот ключ как мастер, далее переворачиваем несколько магнитов и пробуем сохранить как пользовательский. Отлично, всё записано. Теперь можно приложить его в «рабочем» режиме и услышать щелчок реле, сопровождаемый появлением на экране номера ячейки, куда был записан ключ. Всё работает.
❯ Собираем ключи из спичек и желудей
Трюк с линейкой сработал, так что мне захотелось сделать несколько «капитальных» ключей. Разумеется, первой же идеей было взять какую-то жёсткую основу и наклеить на неё магниты. Именно это и было решено сделать.

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

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

Ну а вот так выглядел процесс изготовления. Та же самая линейка, какая-то плёночка, чтобы не заляпать её клеем, отслуживший своё проводок от беспаячной макетки, магниты. Очень желательно подложить снизу что-то магнитное, иначе уже второй по счёту магнит после приклеивания соскочит со своего места и намертво слипнется с первым за счёт собственной силы в сочетании с клеем.
Позже (уже после тестов) я основательно всё проклеил, чтобы магниты не отлетели после первого же падения со стола и закатал в клеевую термоусадку.
В общем-то, самодельный аналог ключа готов. Аналогичным образом делаем два таких же. Всё, своеобразный Urmet Starter Kit (считыватель, «мастер», «свой» и «чужой» ключи) готов. Можно экспериментировать.
❯ Ещё про ключи
Первоначально у меня были большие сомнения, что кустарный аналог ключа заработает. Но они не подтвердились, при ровном прикладывании ключа ложных неправильных срабатываний практически нет. Но, конечно, в идеале было бы приклеить магниты на какое-то более жёсткое основание (например, на кусок текстолита), чтобы они не отвалились при случайном изгибе.
Мне неведомо, из чего делались оригинальные метки. Если это был всё тот же магнитный пластик, то по надёжности они сравнимы с «Факториалом», проще говоря, она у них никакая. Другим вариантом может быть пластмассовая оснастка с вставленными туда постоянными магнитами, в таком случае самому ключу, разумеется, ничего не угрожает, а вот встреча с магнитными картами может стать для последних фатальной.
❯ Коды ключей и структура памяти
В отличие от «Факториала», где все данные хранились в EEPROM контроллера, здесь используется отдельная микросхема памяти, в данном случае — 24C16 на два килобайта.
Вот оригинальный дамп EEPROM с рабочего считывателя (до того, как я его стёр до заводских настроек). Структура его следующая:
Первый байт — всегда 0xAA, вне зависимости от того, какие настройки выставлены. Даже на заводских установках он именно такой.
Следующие семь байт — место для тех самых настроек. Также туда пишется количество ключей и другие аналогичные данные.
Далее идут три тройки байт — ячейки для трёх мастер-ключей. Как уже упоминалось, под код ключа выделено три байта.
Сразу после мастер-ключей начинаются пользовательские. Одна ячейка — один ключ. Всего можно записать до 650 ключей. В последней ячейке (смещение 7AC) записан код 55h 00h 00h. Прописывается он там сразу после регистрации первого ключа, в памяти после обнуления его нет. Пустая ячейка — тройка нулевых байт, что означает, что даже если бы счётчика ключей и не было, то открыть дверь просто большим постоянным магнитом (дабы получить код FFh FFh FFh) не выйдет.
Последние шесть байт памяти забиты FF-ами.
❯ Вот как-то так
Как и следовало ожидать, в интернете крайне мало информации о данных устройствах. Да и встречаются они намного реже. Если в некоторых городах России «Факториалы» можно увидеть буквально в каждом дворе, то таких считывателей в использовании лично я не встречал ни разу.
MagiKey — пожалуй, тот максимум, что можно выжать из магнитных меток такого типа, дальше уже идут только различные вариации карт с магнитной полосой. Тем не менее, от большинства недостатков данной технологии избавиться так и не вышло: пластиковые ключи размагничиваются, а постоянные магниты собирают на себя всякий мусор и сами могут что-то размагнитить. Уже в начале нулевых Urmet начала выпускать считыватели и контроллеры доступа для привычных нам RFID-меток.
Обзор¶
Системы контроля доступа сейчас практически везде: в офисах (турникеты и двери с элекронными замками), в домах (домофоны с электронным ключом), на транспорте. Для конечного пользователя работа со СКУД проходит по стандартному сценарию: из кармана достаётся карта, прикладывается или вставляется в датчик, замок на двери/турникете открывается, а через какое-то небольшое время снова закрывается/блокируется.
Для начала определимся с терминами, которые будут использоваться в этой статье:
- пользователь, пользователь СКУД — субъект, по отношению к которому СКУД выполняет контроль доступа; пользователем может быть человек, автомобиль, животное (например, с имплантированным чипом);
- ключ, электронный ключ — компактное носимое электронное устройство обычно без активного питания, которое используется для идентификации, обычно представлен в виде карточки, брелка, кольца, браслета и так далее;
- идентификатор ключа — некоторое фиксированное значение на электронном устройстве, которое используется для идентификации ключа и привязывается к авторизационным данным в СКУД;
- идентификация ключа — процесс в СКУД, который на основе прочитанных с ключа данных ищет соответствие с хранящимся в информационной системе объектом-пользователем;
- авторизация — процесс, в рамках которого СКУД принимает решение разрешить или запретить доступ, авторизация идёт всегда после идентификации ключа;
- считыватель — стационарное электронное устройство, предназначенное для работы с ключами и передающее информацию о ключе в другие подсистемы СКУД для дальнейшей обработки и принятия решения о, например, открывании замка.
Замечание. Для СКУД в России утверждён государственный стандарт ГОСТ Р 51241—2008, однако моя терминология не полностью ему соответствует, это сделано в первую очередь для того, чтобы избавиться от сильного бюрократического языка из госстандартов, а ещё в стандарте информационной части уделяется слишком мало внимания.
Самыми распространёнными являются бесконтактные системы, где считыватель требует приближения ключа на довольно близкое расстояние, часто прямо вплотную. В этот момент считыватель через электромагнитную индукцию на чип ключа подаёт питание и дальше общается с ключом через радиоканал, используя цифровой протокол. Другой тип — это контактные системы, где для срабатывания ключа, необходимо приложить его к контактной площадке считывателя. И ещё бывают системы на основе радио-протоколов, где ключ — это миниатюрный передатчик с питанием от батарейки, а иногда ещё с приёмником.
Считыватели и ключи могут использовать криптографические протоколы для усиления защиты. О протоколах, типах ключей и считывателей я расскажу подробно следующих разделах.
Контактные ключи¶
Touch Memory / iButton¶
Всем известная домофонная «таблетка». В этом корпусе существует целое семейство электронных устройств, разработанных компанией Dallas Semiconductor под общим названием Touch Memory, Dallas Key или iButton. Конструктивно «таблетка» представляет собой микросхему для протокола 1-Wire, разработанного также Dallas Semiconductor. Микросхема имеет два интерфейсных вывода: центральная контактная площадка «таблетки» и «земля» на внешнем корпусе.
Считыватель представляет собой гнездо с двумя контактами: в центре и по краю гнезда. При вставке «таблетки» в гнездо подаётся питание и происходит обмен данными через один центральный контакт.
Каждая оригинальная микросхема для 1-Wire имеет уникальный 64-битный идентификатор, который обычно используется в качестве идентификатора ключа. Помимо него в микросхеме могут присутствовать другие объекты: блоки памяти или микропрограммы, доступ к которым осуществляется через команды протокола 1-Wire. Однако на практике в iButton используется только идентификатор.
Существуют устройства в этом же корпусе, которые поддерживают набор команд для перезаписи идентификатора, что теоретически позволяет легко копировать идентификатор исходной «таблетки» в перезаписываемую. Однако на практике производители СКУД (например, домофонов Metakom или Cyfral) могут применять собственные решения, отходя от стандартных протоколов. Об использовании предопределённых аппаратных идентификаторов я расскажу в отдельном разделе ниже.
Ключи данного типа достаточно популярны, поскольку для срабатывания требуют непосредственного контакта со считывателем (весьма слабая, но защита) и удобны в использовании (именно как устройство, требующее контакта для срабатывания).
На практике почти всегда используется только идентификатор «таблетки», поэтому защищённость от копирования практически нулевая: устройства для этого дёшевы и свободно доступны, как и пустые болванки для ключей, на которые можно записать любой идентификатор.
Чиповые карты / ISO/IEC 7816¶

Внешний вид этих карт всем знаком — стандартные банковские карты с чипом. Физический и базовый электрически-сигнальный дизайн описан в международных стандартах семейства ISO/IEC 7816, однако внутреннее наполнение может сильно отличаться: от примитивной карты с незащищёнными блоками данных до мощного микропроцессора с поддержкой современных криптографических алгоритмов.
Стандартом ISO/IEC 7816 не предусмотрен универсальный идентификатор у карт, в этом они отличаются от рассмотренных выше iButton.
Карты памяти¶
Это самый примитивный формат чиповых карт семейства ISO 7816, на чипе есть несколько блоков памяти очень небольшого размера, куда можно записывать или считывать байты. Они так и называются — карты памяти (memory card). Обычно доступ к данным организован или совсем без защиты, или с самой примитивной.
Такие карты были разработаны компанией Siemens и сейчас известны под марками SLE4428, SLE5528, SLE4442, SLE5542 и другими.
Защита от копирования у карт очень слабая, однако для изготовления дубликата необходимо получить физический доступ к исходной карте. Ещё эти карты очень дешёвые и часто использовались в СКУД гостиниц.
Также существуют варианты карт с поддержкой криптографии, они уже существенно надёжней.
Чиповые карты с микропроцессором¶
Внутри этого типа карт находится уже полноценный микрокомпьютер с процессором, памятью и операционной системой с приложениями, банковские карты как раз такие. Уровень защищённости исключительно высок и при правильной реализации скопировать карту практически невозможно.
Более-менее стандартным примером могут служить PKI-карты (PKI сокращение от Public Key Infrastructure) или по-русски ЭЦП. В России их выпускает, например, Рутокен (Рутокен ЭЦП), Аладдин. У них внутри находится блок памяти, доступа к которому снаружи нет, в нём хранятся закрытые (секретные) ключи для современных асимметричных криптоалгоритмов (EC, RSA). В памяти чипа записаны приложения, умеющие выполнять стандартные криптографические операции с использованием этого закрытого ключа.
При использовании такой в качестве ключа для СКУД применяется, например, сертификат, подписанный хранящимся на карте закрытым ключом. Такой подход при правильной реализации очень надёжен и карта практически не может быть скопирована. Дополнительно надёжность пожет быть усилена использованием пин-кода. Подробнее о таком подходе я расскажу ниже отдельно.
Недостатком таких ключей является цена — они достаточно дороги сами по себе, однако могут использоваться со стандартным ПО и программными библиотеками для работы с электронными подписями.
И самый мощный вариант — программируемые чиповые карты с уникальными, написанными специально для них карточными приложениями.
Эти ключи помимо того, что дорогие, так ещё и требуют специфичного ПО для инициализации и вручную написанного ПО для использования.
Надёжность такого подхода при правильной реализации очень высокая, но создание и сопровождение такой системы будет стоить очень дорого.
Банковские карты¶
Банковская карта с контактной площадкой и микропроцессором также иногда используется в качестве ключа. Самый распространённый — это доступ к банкомату в павильоне, который на ночь закрывается электронным замком и для разблокировки замка нужно вставить карту этого банка в считыватель.
Чиповые банковские карты практически всегда сделаны в соответствии с международным стандартом EMV. Уникальным идентификатором служит номер карты, в котором закодирован в том числе код банка, который выдал карту.
На базе банковских карт можно построить СКУД и его надёжность будет достаточно высока, подробнее об этом подходе я расскажу ниже.
Бесконтактные ключи¶
На текущий момент бесконтактные ключи являются самыми распространёнными. Обмен данными между ключом и считывателем происходит через радиоканал и ключи можно разделить на три большие группы: ближнего срабатывания, среднего и дальнего. Для ближнего срабатывания ключ нужно поднести к считывателю на очень небольшое расстояние, обычно не превышающее 5–10 см. При среднем срабатывании это расстояние может быть гораздо больше, до нескольких метров. И дальнее срабатывание может работать на расстоянии до нескольких сотен метров.
Все бесконтактные ключи обычно обозначают общим термином RFID (radio frequency identification), однако термин RFID чаще всего применяют только для устройств ближнего срабатывания без активного питания. Радиочастотная работа всех RFID-устройства должна удовлетворять международному стандарту ISO/IEC 18000, в разных частях которого описываются разные диапазоны. Однако есть и другие стандарты, описывающие различные сценарии применения, например, для имплантируемых чипов идентификации животных, идентификации книг в библиотеках и так далее. Я буду рассказывать только об актуальных и распространённых для СКУД.

Устройство пассивного типа состоит из достаточно большой антенны (обычно это катушка из нескольких мотков тонкой проволоки или длинная дорожка на плате) и присоединённой к антенне микросхемы. При поднесении к считывателю считыватель подаёт электро-магнитный импульс, принимаемый антенной, который преобразуется в питание, микросхема при появлении питания переходит в активный режим работы и начинает обмениваться данными со считывателем через радиоканал.
Low-frequency (LF RFID)¶
В этой группе находятся устройства, работающие в низкочастотном диапазоне 120–150 кГц. Базовый стандарт для них — ISO/IEC 18000-2. Подавляющее большинство работает на частоте 125 кГц. Именно в этой группе находятся самые дешёвые и распространённые метки, которые применяются для идентификации товаров — RFID-наклейки, RFID-бирки.
Самым распространным форматом ключей для СКУД в этой категории является EM-Marin, он же EM4100, он же H4100, он же TK4100, разработан изначально швейцарской компанией EM Microelectronic. К этому же семейству можно отнести последующие совместимые версии EM4200 и другие.

Основной форм-фактор ключа — бейджик-пропуск с прорезью под шнурок, однако современная промышленность выпускает их в самых разных видах: тонкие карты, брелки, браслеты, кольца и даже наклейки.
Функциональность этих устройств предельно простая: они хранят только короткий (64 или 128 бит) идентификатор, который передают считывателю. В оригинальном чипе его изменять нельзя, но доступны перезаписываемые варианты. Безопасность у них также предельно минимальная из-за лёгкости копирования и создания дубликатов. Часто идентификатор карты напечатан прямо на ней (как на фото выше), что позволяет её скопировать даже без использования радиооборудования.
В интернете можно даже приобрести крайне дешёвые карты или брелки с возможностью многократной перезаписи. А благодаря появлению компактных устройств типа Flipper Zero, клонировать такие ключи можно за секунды.
К сожалению, многие современные СКУД продолжают использовать этот предельно небезопасный формат электронных ключей.
High-frequency (HF RFID)¶
В этой группе находятся устройства, работающие на частоте 13,56 МГц. Их базовый радиопротокол описывается стандартами семейства ISO/IEC 14443. Часто (хотя и не совсем корректно) их ещё называют NFC-метками.
Чисто визуально их крайне сложно отличить от устройств LF RFID, так как выпускаются они в таких же физических формах: стандартные карты, браслеты, наклейки.
Стандарты ISO/IEC 14443 определяют только базовый радиопротокол общения устройства со считывателем, поверх этого протокола реализованы уже конкретные прикладные, например, NFC, Mifare, NTAG, слой совместимости с ISO/IEC 7816 и другие. Однако уже в базовом протоколе регламентируется формат уникального идентификатора каждого устройства — ISO 14443 UID.
У всех карт, брелков, браслетов и наклеек, совместимых с ISO/IEC 14443, имеется (условно гарантированно) уникальный идентификатор. Именно его часто используют производители СКУД для идентификации ключей. К сожалению, этот подход имеет те же недостатки, что и использование EM4100 — идентификатор считывается без всякой защиты и его сравнительно легко можно эмулировать (тем же Flipper Zero) или записать на специальную пустую карту-болванку.
Однако бывают СКУД, использующие более продвинутые протоколы поверх ISO/IEC 14443, например, Mifare 1K или NTAG. Они гораздо более надёжны, так как используют реализации криптографических операций внутри чипа и не полагаются на UID. Такое использование в общих чертах описано в разделах ниже на примере Mifare 1K.
Активные радио-ключи¶
Активные радио-ключи представляют собой миниатюрный радио-передатчик с приёмником и собственным питанием от батарейки. Как правило, такие устройства привязаны к региону (стране) и работают на разрешённых там частотах. Стандартные частоты: 433 МГц, 310 МГц, 315 МГц, 390 МГц.
Такие ключи предназначены для использования на большом расстоянии вплоть до нескольких сотен метров. Я выделил две условные категории, в которые попадают примерно все такие ключи: Автомобильная сигнализация и Ключи от автоматических ворот.
Ключи автомобильной сигнализации¶

Брелок автосигнализации Pandora
В эту группу входят устройства, работающие в диалоговом режиме, защищённом криптографией, обычно алгоритмом AES. Конкретные протоколы обычно проприетарные, но без знания секретного криптоключа перехват данных ничего не даёт.
Надёжность ключей от взлома в этой группе теоретически очень высока, однако они подвержены атаке MITM (man in the middle). Например, если ключ используется в для разблокировки доступа, злоумышленник может использовать радиоретранслятор с одним концом около считывателя, а другим недалеко от физического расположения ключа, например, в доме жертвы. Ретранслятор заворачивает радиотрафик в туннель поверх или другого радиоканала, или же поверх мобильного интернета. В итоге считыватель воспринимает находящийся рядом с ним конец ретранслятора как легитимный ключ, разблокируя доступ.
Несмотря на теоретически надёжную защищённость от взлома, ошибки в реализации могут привести к декодированию секретного ключа. Например, секретный ключ может генерироваться на основе серийного номера электронного ключа и обнаружение такого алгоритма уничтожает всю защиту.
Ключи от автоматических ворот¶

В эту группу входят маломощные компактные передатчики, которые умеют только передавать фиксированный цифровой сигнал. Типичное их использование — это открывание автоматических ворот или шлагбаумов. Обычно такой ключ представляет собой маленький брелок с одной или двумя кнопками.
Надёжность от взлома минимальная, сигнал можно «поймать» через антенну на приёмник, записать (даже без декодирования) и потом при необходимости просто ещё раз воспроизвести запись другим передатчиком.
Технологии и алгоритмы¶
В этом разделе я в общих чертах расскажу, как может быть устроена часть СКУД, отвечающая за идентификацию пользователя по электронному ключу.
В жизненном цикле электронного ключа есть два этапа, относящиеся к СКУД: ассоциация с пользователем и авторизация пользователя.
На этапе ассоциации новый ключ инициализируется и связывается с объектом в информационной системе, который представляет пользователя. Если ключ представляет собой устройство без возможности записи, то в информационную систему заносится его идентификатор. Если ключ позволяет записывать данные, то определённая информация записывается и в ключ, и в информационную систему.
На этапе авторизации пользователь использует ключ на считывателе, через который информационная система производит обмен данными с ключом и принимает решение о разршении доступа на основе полученной информации.
Описанная выше схема является несколько упрощённой, поскольку этап ассоциации обычно разделяется на два: эмиссия — ключ просто добавляется в систему, но ещё не связывается ни с каким пользователем, и собственно ассоциация, когда происходит связь двух объектов. Но я для простоты их объединил в один.
Явным образом предполагается, что все физические экземпляры электронных ключей должны быть уникальными с точки зрения их идентификации системой. Это достигается двумя разными способами:
- производитель ключа устанавливает при его производстве гарантированно уникальный идентификатор;
- уникальные данные записываются в пустой ключ в момент ассоцииации (инициализации в СКУД).
Каждый из этих способов обрабатывается по-своему при использовании ключа на считывателе:
- считывание уникального идентификатора, передача его в информационную систему СКУД, принятие решения о доступе (все данные передаются только в одном направлении от ключа к СКУД);
- информационная система в диалоговом режиме общается с ключом и уже на основе этой коммуникации принимает решение (общение с ключом происходит в обе стороны).
Использование аппаратных идентификаторов носимых устройств¶
У некоторых носимых устройств есть встроенные неизменяемые штатными средствами идентификаторы, которые можно прочитать свободно, не используя никакие криптографические алгоритмы. К ним относятся: «таблетки» iButton/Touch Memory/Dallas Key, RFID-устройства EM Marin/EM4100, все RFID-устройства, удовлетворяющие стандарту ISO/IEC 14443, чиповые банковские карты, удовлетворяющие стандарту EMV.
При выполнении ассоциации идентификатор устройства заносится в систему и связывается с объектом-пользователем. При выполнении авторизации полученный через считыватель код используется для поиска в информационной системе соответствующего объекта-пользователя и дальше система принимает решение. Ключ является пассивным источником неизменяемых идентификационных данных.
Этот способ является самым простым, дешёвым и одновременно самым небезопасным, поскольку идентификаторы устройств можно считывать и копировать при наличии не самого сложного или редкого оборудования. Пропуск EM Marin/EM4100 можно скопировать за сто рублей в любом ларьке на RFID-брелок.
Использование электронной подписи для идентификации¶
В таком сценарии в роли ключа выступает электронный криптографический токен — устройство, на котором может безопасно храниться закрытый ключ асимметричной криптосистемы (RSA или EC, например), а все криптографические операции выполняются внутри устройства. Надёжность алгоритма обеспечивается механизмом электронной подписи в асимметричной криптосистеме: подпись создаётся закрытым (секретным) ключом, а проверяется открытым (свободным).
Подробно о токенах и связанной с ними программной инфраструктуре я писал в другой своей статье, здесь я постараюсь понятно рассказать без углубления в технические детали.
В роли ключа может выступать любая PKI/ЭЦП карта: чиповая контактная, чиповая бесконтактная, USB-токен. Главное, чтобы она поддерживала стандартные операции по управлению ключами из стандарта PKCS#11.
Ассоциация происходит следующим образом:
- СКУД генерирует на стороне карты закрытый криптоключ (EC, RSA или даже ГОСТ Р 34.10-2012), используя стандартные команды PKCS#11, этот криптоключ создаётся микропроцессором карты и никогда её не покидает.
- Вместе с закрытым генерируется открытый криптоключ, он публичный и СКУД именно его связывает с конкретным пользователем.
- Также при генерации криптоключа СКУД указывает его фиксированный идентификатор, чтобы отличить ключ от других на этой же карте. Допустим, это число 29 .
Авторизация происходит по такой схеме:
- Пользователь использует карту-ключ на считывателе.
- Cчитыватель формирует набор случайных байтов и отправляет на карту PKCS#11-запрос на создание электронной подписи для этого блока байтов и указывает идентификатор закрытого ключа — 29 .
- Если на карте нет ключа с таким идентификатором, СКУД прерывает процесс авторизации и отказывает в доступе.
- Если СКУД получает электронную подпись, то система начинает искать, каким из открытых криптоключей проверка этой подписи и ранее сгенерированного набора случайных байтов проходит успешно.
- Если никакой ключ не подходит, то СКУД прерывает процесс авторизации и отказывает в доступе.
- По найденному ключу находится связанный с ним пользователь и СКУД принимает решение, разрешён ли ему доступ.
Это самый простой вариант, который можно оптимизировать, например, не перебирать всех пользователей, а сохранять где-то на ключ-карте внутренний идентификатор (это также можно делать средствами PKCS#11) и при авторизации сразу брать конкретного пользователя с конкретным открытым ключом.
Надёжность такой системы исключительно высока, поскольку основана на надёжности хорошо зарекомендовавших себя криптографических алгоритмах и хорошо (надеюсь) проверенных криптографических токенах. Однако стоимость PKI/ЭЦП карт очень высока.
Использование банковских карт¶
У каждой банковской карты, выпущенной по стандарту EMV, имеется набор данных, на основе которых можно вычислить некое подобие уникального идентификатора. У каждого экземпляра карты он будет уникальный, даже если это карта с тем же номером.
Ассоциация происходит так:
- СКУД использует определённые в EMV команды протокола для чтения различных данных (они могут включать в себя номер карты, дату окончания и так далее).
- СКУД вычисляет на основе данных некоторое значение (например, хеш-сумму) и получает идентификатор, который связывает с конкретным пользователем.
Авторизация происходит примерно так же:
- Пользователь использует карту-ключ на считывателе.
- СКУД использует определённые в EMV команды протокола для чтения нужных данных, на основе которых генерирует идентификатор.
- Если пользователь с таким идентификатором не найден, то СКУД прерывает процесс авторизации и отказывает в доступе.
- Если пользователь найден, то СКУД принимает решение, разрешён ли ему доступ.
Преимуществом данной схемы является то, что можно использовать уже имеющиеся у человека карты в новой роли — ключа/пропуска. При этом изготовление дубликата подобной карты при правильном использовании (в том числе с применением криптографии) практически невозможно без участия банка. Мы по сути пользуемся гарантированной уникальностью каждой выпущенной банковской карты.
Mifare 1K¶
Бесконтактные карты Mifare 1K и совместимые с ними очень популярны. Например, на их основе созданы электронные проездные Тройка в Москве, Подорожник в Санкт-Петербурге, а также почти любые подобные системы в других городах.
Mifare 1K построены на базе проприетарного протокола поверх стандарта ISO/IEC 14443 (работают на частоте 13,56 МГц), однако из-за популярности этот формат поддерживается многими считывателям, что позволяет строить системы на его основе. В том числе СКУД.
Я подробно рассказывал о работе с этими картами в статье Смарткарты и программирование, здесь же расскажу в общих чертах. По сути карта Mifare 1K представляет собой набор из 16 независимых секторов, каждый сектор делится на четыре блока по 16 байт. Первые три блока выделены под произвольные данные, а в последнем (контрольном) блоке записываются ключи и права доступа к первым трём блокам. Доступ к содержимому блоков можно получить исключительно при помощи ключа, который может быть свой для каждого из секторов.
Новая «чистая» карта Mifare 1K поставляется со стандартными ключами для каждого из секторов. Для работы со СКУД обычно выбирается, какой из секторов будет использоваться для хранения данных, например, пусть это будет сектор 5 . Также в СКУД необходимо выбрать секретный ключ SK, который будет использоваться для доступа к данным.
Ассоциация происходит следующим образом:
- Берётся карта со стандартными ключами для сектора 5 .
- Используя стандартный ключ, записываем в контрольный блок новый ключ SK и задаём нужные права доступа на все блоки.
- Используя новый ключ SK, записываем в первые три блока идентификатор пользователя системы.
Замечание. Можно задать такие права доступа к блоку, что дальнейшее его изменение станет невозможным. Это позволяет создавать ключи, которые невозможно будет перезаписать для использования в этой же СКУД.
Авторизация происходит так:
- Пользователь подносит карту-ключ к считывателю.
- Считыватель использует секретный ключ SK, чтобы прочитать содержимое первых трёх блоков сектора с номером 5 .
- Из этих байтов извлекается идентификатор.
- Если пользователь с таким идентификатором не найден, то СКУД прерывает процесс авторизации и отказывает в доступе.
- Если пользователь найден, то СКУД принимает решение, разрешён ли ему доступ.
Теоретически, нельзя получить доступ к секторам, не зная секретного ключа. Однако во многих выпусках карт Mifare 1K присутствуют уязвимости, позволяющие это сделать, поэтому в целом реализовывать СКУД на базе Mifare 1K нужно с осторожностью.
Взлом одного ключа полностью компрометирует все остальные, так как в результате взлома мы получаем главный секретный ключ, который используется для ассоцииации/инициализации всех карт.
Ещё одним преимуществом ключей на базе Mifare 1K является цена — они дешёвые, выпускаются в самых разных форм-факторах, включая карты со слоем для принтерной печати.
Заключение¶
В этой очень короткой статье я постарался без излишних технических деталей рассказать о принципах работы электронных ключей в СКУД. Больше подробностей об упомянутых здесь технологиях и алгоритмах вы можете найти в других моих статьях:
Комментарии
Однако на практике в iButton используется только идентификатор.
Нет. Куча применений в оборонке и всякой фигни, связанной с гостайной, и прочим используют даллас с криптографией. В бытовом применении да, 99.9% только серийник.
но доступны перезаписываемые варианты.
T5577, например (просто уточнение)
записать (даже без декодирования) и потом при необходимости просто ещё раз воспроизвести запись другим передатчиком.
Большинство гаражных ворот и ощутимый процент шлагбаумов используют уже диалоговый код, как в сигнализациях. Безопасность фиговая, потому что ключи шифрования условно-доступны, если очень захотеть (в том же флиппере они есть, просто в официальной прошивке программно заблокирована повторная отправка сигналов диалогового кода), но тем не менее.
Допустим, это число 29. идентификатор закрытого ключа — 19.
Тут что-то непонятное 🙂
Взлом одного ключа полностью компрометирует все остальные, Можно генерировать ключи на основе серийного номера. Поможет не сильно, но ситуацию чуть улучшит.
Тайна ключа от домофона. Какой откроет любую дверь?
В закладки

Домофонные ключи есть в кармане у каждого. Разбираемся, как они работают и могут ли размагнититься, а также существует ли один ключ от всех дверей.
Виды ключей для домофонов
Существует несколько семейств домофонных ключей.
1. «Таблетки». Официально стандарт называется Touch memory (ТМ) или iButton, это контактные ключи в корпусе MicroCAN. В «таблетках» используется протокол 1-Wire, но форматы бывают разные.
В РФ это в основном ключи модели Dallas, с которыми работают домофоны Vizit, Eltis, Z-5R, С2000-2 и т.д., Cyfral (ключи DC2000А и Цифрал-КП1 и др.), «Метаком».
Довольно редко встречаются резистивные «таблетки» – у них считывается сопротивление.

2. «Капельки». RFID-метки в пластиковом корпусе круглой, овальной или каплеобразной формы. Иногда их выпускают в виде браслетов или карт.
Внутри – RFID-метка, как и в картах метро, «пищалках» на товарах в супермаркетах и других подобных штуках. В основном «капельки» могут быть ближнего действия (Proximity, считываться на расстоянии до 10-15 см), так как более «дальнобойные» метки Vicinity, которые работают на расстоянии до 1 м, небезопасны в данном случае.
В РФ чаще всего используют Proximity-ключи EM-Marin, но встречаются также и более старые HID-метки или более новые MiFare, как в картах метро.

3. Оптические. Настоящие динозавры. Где-то в провинциях ещё сохранились. Такой ключ – это металлическая пластина, в которой в определенном порядке насверлены отверстия.
Внутри домофона есть фотоэлемент, который распознает, в том ли порядке насверлены дыры.
Безопасность ниже плинтуса, подделать ключ – плевое дело, а некоторые домофоны с оптическими ключами успешно и без следов вскрывались пилочкой для ногтей.

Как домофон определяет, подходит ли ключ?
На заводе или на фирме, которая устанавливает домофоны, в каждый ключ записывают особый код. Затем его же сохраняют в памяти домофона.
Когда вы подносите ключ к домофону, он считывает код и сравнивает его со значениями из своей памяти. Если значение ключа там есть, дверь открывается.
Кстати, можно открывать несколько домофонов одним ключом. Нужно лишь прописать код этого ключа во все нужные домофоны. Понятно, что домофоны должны быть совместимы с ключом.
Более того, есть специальные модули, которые позволяют сохранить все ключи из одного домофона и перенести их в другой.
Вот так переустановят домофон у вас в подъезде, а ключи менять не придётся. Хотя, конечно, установщик домофона вполне может попытаться заработать на этом.
Исключение, пожалуй, лишь ключи MiFare. Они включают перезаписываемую область памяти, в которую копируется уникальный код домофона.
Когда мастер «из ларька» клонирует такой ключ, он копирует только заводской код, но не код домофона. В результате домофон может отвергнуть такой ключ – сработает система защиты от клонов. Скопировать заводской код сможет лишь обслуживающая компания.
Как делают копию ключа?

Обычно для этого берут болванку – пустую заготовку без кода. Затем мастер считывает код с вашего ключа и записывает его же на болванку.
В результате вы получаете два одинаковых ключа. А так как код оригинального ключа уже сохранен в домофоне, то и его клон позволит открыть дверь.
Болванки бывают перезаписываемые и неперезаписываемые. Если вы помните слово «финализация» при прожиге дисков , возьмите с полки пирожок , то здесь оно тоже применяется.
Технически вы сами можете собрать дубликатор (программатор) ключей на основе Arduino или Raspberry Pi, а затем наделать копий ключа на все случаи жизни. Инструкций в интернете полно, как и предложений купить дубликатор за тысячу-другую рублей.
Главное – не промахнуться с типом домофона и ключа.
Так, одни ключи рассчитаны на частоту 125 КГц, другие на 13,56 МГц и так далее. К тому же они могут быть разного типа. Помните о защите от клонов, которая может поддерживаться вашим домофоном.
Могут ли ключи размагнититься?

Бывает, носишь «таблетку» или «капельку» в кармане, а она через какое-то время бац! – и перестала работать. И такая ерунда каждый месяц. Что-то здесь не так. «Наверное, размагнитилось», – самое популярное объяснение.
На самом деле такие ключи не размагничиваются. В них даже магнита нет, да и обычные магниты ключам не страшны.
Дело скорее в банальном отсутствии контакта. Болванки дешевые, закупают их в Китае оптом по нескольку центов за штуку, так что контакт вполне может отойти, к примеру.

Корпусы ключей обычно не герметичны. Так что если ключ намокнет в кармане или часто будет находиться во влажной среде, долго он не прослужит.
Теоретически, ключи можно «убить» электромагнитным излучением или сильным электрическим импульсом.
К примеру, если вы положите ключ в микроволновку и включите на полную мощность или засунете в розетку, работать он перестанет. А вот мощный неодимовый магнит, вроде используемых в магазине для снятия меток, ключ вряд ли повредит.
Статическое электричество также ключам не на пользу. Если вы носите «таблетку» в заднем кармане и часто приседаете, отчего синтетическая ткань трется о ключ, он также прослужит недолго.
Наконец, от частого использования «таблетка» может банально продавиться в противоположную сторону и перестанет контактировать с домофоном. Просто вдавите её обратно, и всё пройдёт.
Что такое мастер-ключ и где его взять?

После установки домофона у специалиста остается особый ключ. На нем даже может быть написано что-то вроде: «Мастер-ключ. Никому не давать».
Но этот ключ обычно сам дверь открыть не может. Он нужен, чтобы добавлять в память новые ключи. В домофоне код мастер-ключа хранится в особой области, чтобы устройство могло отличать его и реагировать соответствующим образом.
Понятное дело, простым смертным мастер-ключ не дают. Иначе обслуживающая компания не смогла бы брать деньги за добавление записей о новых ключах в домофон.
Но возможна ситуация, когда мастер-ключ подходит к нескольким домофонам. Или когда для одних домофонов «таблетка» – это мастер-ключ, а для других – обычный ключ, который открывает двери.
Здесь всё зависит не от ключа, а от того, какие записи есть в памяти домофона.
А что будет, если мастер-ключ потеряется?
Обычно в домофонах остается возможность прописать новый мастер-ключ. Это, конечно, потенциальная возможность для взлома. Но, говоря объективно, проще попасть в подъезд, представившись сантехником, чем что-то взламывать.
Интереснее иметь универсальный ключ, или «вездеход». Его код прописан во всех домофонах подъездов одного дома или двора.
«Вездеходы» делают для почтальонов, сотрудников коммунальных служб, мастеров и др. Согласитесь, это куда удобнее, чем таскать с собой гирлянду разных ключей.
Также некоторые RFID-ключи нового формата, к примеру, RF3.1, позволяют записать коды до 8 домофонов.
Часто домофоны также поддерживают блокирующие ключи. Это средство безопасности: после того, как дверь открывают блокирующим ключом, другие ключи не работают, а дверь блокируется. Снять блокировку может либо мастер-ключ, либо блокирующий ключ (всё зависит от настроек домофона).
Кстати, бывает, что ключ устанавливают блокирующим по ошибке. Так что если после вас соседи часто не могут попасть в подъезд, проверьте, не блокирует ли ваш ключ доступ.
Можно ли обмануть домофон?

Да, сейчас можно купить эмулятор, который имитирует ключи разных типов и выдает нужное значение для каждого домофона. В эмуляторах установлены даже дисплеи и клавиатура, что позволяет выбирать нужный ключ и выводить его название.
Штука забавная, стоит около 10 тыс. рублей. Но работает не без проблем – обходит не всю защиту, иногда может не срабатывать.
И да, сама по себе домофон она не взломает, лишь притворится копией нужного ключа. Для её программирования всё равно потребуются и сами ключи, которые уже известны домофоном, и устройство-дубликатор.
Часто можно услышать, что домофон можно вывести из строя электрошокером. Да, тонкая электроника серьёзный заряд действительно не перенесет. У механического удара на 10-15 см ниже панели домофона те же последствия. Но это порча имущества и статья УК РФ.
Теоретически ещё можно сильно дернуть дверь на себя. Но чтобы преодолеть силу, с которой магнит удерживает вторую часть замка, потребуется недюжинная мощь.
Некоторые домофоны под ключ-«таблетку» могут открываться с помощью батарейки «крона». Способ гуманный и безопасный для домофона, но срабатывает редко.
Можно ли открыть домофон смартфоном?

Да, сейчас на рынок постепенно заходят модели NFC-домофонов. Чаще их устанавливают в крупных офисах, реже – в жилых домах.
Если у вас такой вариант, ваш смартфон поддерживает NFC, а домофон работает на частоте 13,56 МГц, возможно, получится отказаться от ключей.
Но для MiFare, к примеру, в смартфоне должен также быть чип Secure Element, а их наличие даже в рамках одной модели смартфона часто отличается от рынка к рынку. Если чип всё же есть и остальные условия соблюдены, всё может получиться.
Есть также NFC-адаптеры, которые сделают из старого домофона новый и перспективный. Открывать дверь можно будет и «таблеткой», и смартфоном.
Помните, что вы можете оказаться под дверью на морозе, а зарядка – дома. И да, с айфоном номер не пройдёт. Apple жестко ограничила возможности NFC в своих устройствах.
Что насчет кодов доступа домофонов?

Здесь тоже всё зависит от домофона. Но большинство моделей, которые устанавливаются в РФ сейчас, поддерживают ввод комбинаций символов, которые позволяют открыть дверь. Это часто работает на домофонах «Визит» и реже на моделях других производителей.
Мы комбинации сознательно не публикуем – как минимум потому, что список для всех моделей получится длинным. Но мастер-код от своего домофона вы практически наверняка нагуглите. Если, конечно, при установке код на открытие двери не сменили в целях вашей же безопасности.
Это вовсе не те цифры, которые записываются на ваш ключ. К примеру, длина простого ключа для «таблеток» DS1990A от компании Dallas составляет 6 байт, это 281474976710656 разных комбинаций. Вы вряд ли запомните комбинацию такой длины, но можете считать её на самом брелоке. Ключ в 16-ричном формате, как правило, гравируется лазером на поверхности.
P.S. Раньше существовал банальный до ужаса лайфхак: ключи с кодом 00 00 00 или FF FF FF могли открыть все двери. Именно такие значения записывались в свободные ячейки домофона и участвовали в сравнении при проверке ключа. Но эту дыру уже давно закрыли.
В закладки
Ключ или электромагнитная карточка пропуск
Сувальдный или электромагнитный замок, ключ или электромагнитная карточка?
Проблема доступа в помещения стоит с тех пор, как только появилась первая пещера, дом, офис, дверь. В былые времена даже должность была ключник. В наше время, в век скоростных технологий безопасность стала конкурировать с удобством. В виду характера людей иной раз двери остаются не запертыми, по разным причинам и зачастую объяснения типа: отошел на минутку, я слежу, да здесь все свои или у меня брать нечего. На наш взгляд все дело кроется в неудобстве использования классических ключей и замков, даже если это более удобный «английский замок».
Специально для помещений, в которые надо обеспечить постоянный и многократный доступ мы разработали бесконтактную систему доступа, основанную на считывателе контрольных пластиковых карт доступа типа EM-Marin.
Система состоит из считывателя пластиковых карт, контроллера — обеспечивающего идентификацию только прописанных карт доступа, дверного доводчика – обеспечивающего автоматическое закрытие двери и электромагнитного замка, который может быть простым электромагнитным замком или замком с электромеханической системой.
Эта не сетевая система СКУД проста в монтаже и запуске, что установить комплект для доступа может любой, мало мальки разбирающийся специалист. При отсутствии серьезных препятствий, монтаж СКУД под ключ займет пару часов, согласитесь, что установка дверного замка зачастую занимает больше времени.
Наша компания является Российским производителем оборудования для систем безопасности и контроля доступа, мы отвечаем за качество трехлетней гарантией.
Вот некоторые отличительные особенности и преимущества не сетевых контроллеров EXSNET:
1. Низкая стоимость по сравнению с аналогичными моделями других производителей.
2. Высокая надежность, благодаря качественному исполнению наработка на отказ более пяти лет.
3. Уникальный дизайн внешних съемных панелей, которые можно менять под меняющийся интерьер или в случае их повреждения, при этом, не меняя сам считыватель карт.
4. Наличие в считывателе – контроллере встроенного управления электромагнитным замком с импульсом до 5 А.
5. Простота программирования контроллера, при установке или последующей переустановке первая карта доступа является мастер ключом, с помощью которого и прописываются все остальные карты доступа.
6. Возможность подключения до одной тысячи двадцати шести карт к одному контроллеру.
7. Использование одной карты доступа везде, где установлена аналогичная система контроля управления доступом — дома, на работе на даче, в гараже.
В настоящий исторический момент производители проксимити карт выпускают их как в классическом варианте в виде пластиковых карт пропусков, так и в виде брелоков, браслетов отдаленно напоминающих часы с ремешком, поэтому использование системы контроля доступом нового поколения с применением считывателей и магнитных замков значительно выигрывает перед традиционными механическими замками, а в случае потери ключа (карты доступа) вам не придется менять сам замок, дело обойдется сбросом настроек и прошивкой тех же пластиковых карт заново.
Более подробную информацию о считывателях и контроллерах EXSNET, а так же вариантах компоновки системы контроля доступа именно по вашему техническому заданию, вы сможете получить у сотрудников отдела продаж нашей компании. Обращаем ваше внимание на то, что считыватели и контроллеры EXSNET интегрированы в более глобальную и сетевую систему контроля доступа известную на рынке СКУД под брендом SIGUR, все компоненты, которой вы так же сможете приобрести в нашей компании. Не забывайте, что у нас вы сможете заказать проект охранной системы доступа, его монтаж и дальнейшее обслуживание.
