Как получить правильную СКУД на картах Mifare?

Как получить правильную СКУД на картах Mifare?

Недостатки перехода на MIFARE 1K Типичный пример.

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


В действующей СКУД используются всем известные карты EM-Marine. Если выражаться технически более точно – Proximity-карты на частоте 125 кГц. К ним относятся и EM-Marine (на практике китайский аналог ТК4100) и HID Prox. Владелец объекта, на котором установлена СКУД, устал от копирования карт доступа и ищет новые варианты, гарантирующие защиту.

И находит. Например, MIFARE 1K.

И полагает: это то, что нужно. На него сыплется информация примерно такого содержания:

  • тип микросхемы – MIFARE S50, стандарт ISO14443А;
  • рабочая частота – 13,56 МГц;
  • время транзакции – не более 164 мс;
  • поддержка антиколлизии;
  • возможность перезаписи – не менее 100 000 циклов;
  • объем памяти – не менее 1024 байт;
  • 3-проходная аутентификация;
  • идентификатор длиной 32 бита.

Заказчик мало что понимает, но обилие "умных" терминов подсказывает ему, что это хорошо, данные карты будут защищены от копирования. И заказывает карты доступа MIFARE 1K и соответствующие считыватели. Какой же результат он получает? Реальная практика говорит о том, что деньги потрачены напрасно. Никакой дополнительной защиты карт доступа от копирования нет. Почему? Потому что большинство имеющихся считывателей MIFARE 1K, применяемых в СКУД, не задействуют шифрования и криптографии при работе с картами MIFARE 1K.

Незащищенный номер чипа

Ничего из перечисленных выше технических особенностей MIFARE 1K (кроме идентификатора длиной 32 бита) считыватели MIFARE 1K не используют. То есть большинство считывателей работают с картами MIFARE 1K так же, как и с картами EM-Marine, а именно – считывают открытый номер чипа.

Серийный номер чипа MIFARE 1K (часто называемый ID или UID) – это открытая последовательность цифр, ничем не защищенная. Все приведенные выше "умные" термины, характеризующие технические особенности MIFARE 1K, относятся к памяти чипа и не затрагивают его серийный номер.

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

Дублирование номеров карт

Другой распространенный недостаток многих считывателей MIFARE 1K – это интерфейс Wiegand-26, с помощью которого считка подключается к контроллеру СКУД. Номер чипа MIFARE 1K имеет длину 4 байта (те же 32 бита). А по интерфейсу Wiegand-26 можно передать число длиной максимум 3 байта. Соответственно, один байт отсекается.


Номер чипа передается через контроллер в систему не полностью. И в системе появляются одинаковые номера карт. Что в реальной практике и встречается.

Ситуация усугубляется еще и тем, что длина номера чипа MIFARE 1K может быть не 4, а 7 байт. Обусловлено это тем, что компания NXP – разработчик и собственник торговой марки MIFARE – несколько лет назад объявила, что диапазон уникальных 4-байтовых номеров исчерпан. И что в дальнейшем чипы MIFARE 1K будут выпускаться с 7-байтными уникальными номерами (UID). Чипы с 4-байтными номера- ми продолжают выпускаться, но 4-байтные номера больше не являются уникальными и называются NUID (Non Unique ID – с англ. "не уникальный идентификационный номер").

Соответственно, при использовании считывателя MIFARE 1K с интерфейсом Wiegand-26 вероятность появления в системе карт с "одинаковыми" номерами повышается, так как отсекаться будет 4 байта из 7.

Защита MIFARE 1К от копирования

Защитить карту доступа MIFARE 1K просто. Достаточно записать в один из 64 блоков памяти идентификатор (номер длиной 3 байта для передачи по Wiegand-26) и закрыть доступ к этому блоку криптоключом. А считыватель вместо чтения ID-номера настроить на чтение идентификатора из указанного блока памяти MIFARE 1K с помощью такого же криптоключа, которым закрыта память MIFARE 1K.

Для этого предлагаются технические и программные средства. И стоят они недорого. Но тут кроется еще один подводный камень. А кто придумывает значение криптоключа? Кто записывает его в карту MIFARE и прошивает в считыватель? Ведь если криптоключ известен постороннему, то тот легко может копировать карты доступа

Поэтому вопросы криптозащиты заказчик/ собственник объекта должен взять на себя – не доверять это ни поставщику карт и считывателей, ни монтажнику СКУД.

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

От владельца объекта СКУД требуется немного. Сначала понять важность этого момента. Затем самому или через доверенное лицо придумать значения паролей и ключей и записать их в карты и считыватели. Для этого имеются простые и удобные программно-технические средства. Например – создание мастер-карты. Собственник объекта создает мастер-карту, на которой будет храниться вся "ключевая" информация. Далее оператор с помощью мастер- карты сможет "прошивать" и карты MIFARE 1K, и считыватели. Но знать ключи, пароли и т.д. не будет.

Это и есть тот путь, который позволит защитить карты доступа MIFARE 1K от копирования.


Распространенные заблуждения

Но время идет, хакеры не дремлют. Криптозащита, встроенная в чип MIFARE 1K, в настоящее время признается невысокой. Об этом есть публикации в открытой научно-технической прессе. На некоторых сайтах можно найти информацию о способах взлома защиты MIFARE 1K.

Что делать заказчику, стремящемуся надежно защитить карты доступа от копирования и подделки? Есть современные надежные средства. Напри- мер, компания NXP разработала линейку чипов MIFARE Plus, где используется криптография AES, вскрытие которой в настоящее время считается невозможным.

Применение MIFARE Plus – гарантия защиты карт доступа от копирования и подделки. Но и здесь заказчику приходится нелегко. Изготовители считывателей карт для СКУД часто скрывают технические тонкости.


Поддержка различных форматов MIFARE

Еще один типичный пример.

Разработчик считывателя узнал, что 4-байтные серийные номера чипов больше не являются уникальными, а компания NXP выпустила 7-байтную версию чипа MIFARE 1K. Производитель дорабатывает свою считку (оставляя при этом тот же самый интерфейс Wiegand-26) на чтение 7-байтного номера MIFARE 1K.

И тут он понимает, что может еще и расширить перечень чипов, с которыми якобы работает его считка. Ведь 7-байтный UID имеется у многих других продуктов MIFARE, а именно – у MIFARE Ultrlaight C, MIFARE Plus, MIFARE DESFire EV1. И разработчик тут же включает в документацию фразу такого характера: "Поддержка различных форматов MIFARE Ultralight, MIFARE Plus, DESFire EV1".

Бедный неосведомленный заказчик покупает карты MIFARE Plus и такой считыватель. Что он получает?

Снова ничего, кроме напрасно потраченных денег. Считыватель будет работать с открытым UID, который никак не защищен (об этом говорилось выше). Криптография AES, встроенная в чип MIFARE Plus, не распространяется на UID. Этот UID копируется так же легко, как и ID MIFARE 1K, и считывание номера чипа MIFARE Plus ничего не добавляет к защите карт от копирования и подделки.

Карты MIFARE Plus поступают с заводаизготовителя в незащищенном режиме и на самом деле в таком виде не предназначены для использования. В отличие от традиционных Proximity-карт (HID Prox, EM-Marine) карты MIFARE Plus после покупки должны быть проинициализированы. И сделать это должен заказчик.


Считка MIFARE Plus

Как еще некоторые изготовители считывателей вводят заказчика в заблуждение? Есть пример из жизни. Известно, что карты MIFARE Plus могут быть проинициализированы таким образом, что чип MIFARE Plus полностью эмулирует MIFARE 1K (в том числе и криптоалгоритм СRYPTO-1). Более точно этот режим называется переводом чипа MIFARE Plus на уровень безопасности SL1 в режиме эмуляции MIFARE Classic. Не проводя тестирования, изготовитель считывателя (гипотетический) добавляет в свою документацию фразу "Поддержка MIFARE Plus". К несчастью для заказчика, купившего подобную считку, корректно работать с картами MIFARE Plus она не будет.


6 этапов защиты MIFARE Plus

Что же делать, чтобы карты доступа MIFARE Plus работали в СКУД в защищенном режиме?

1. Первое – проникнуться пониманием, что необходимо личное участие владельца объекта СКУД в решении вопросов защищенности карт MIFARE Plus. Это чисто организационный момент, но необходимый.

2. Далее следует выбрать уровень безопасности, на котором будут работать карты MIFARE Plus в данной СКУД: SL1, SL2 или SL3. Здесь потребуется консультация специалиста. Тот или иной уровень должен быть выбран, исходя из специфики объекта и требований защищенности. Уровень SL3 – самый высокий с точки зрения защиты, но и подготовка карт и считывателей MIFARE Plus для работы на SL3 технически самая сложная. К тому же, не все считыватели могут работать на уровне SL3.

3. Выбирая уровень безопасности, заказчик должен решить, сколько секторов будет закрываться секретными ключами. Для СКУД вполне достаточно закрыть толь- ко один сектор памяти MIFARE Plus.

4. Следующий этап – предэмиссия карт MIFARE Plus. Это фактический перевод карт MIFARE Plus на выбранный уровень безопасности (SL1, SL2 или SL3) и закрытие выбранного сектора памяти секретным ключом с криптографией AES.

5. Затем – подготовка считывателей. Каждый считыватель, подключаемый к контроллеру СКУД, должен быть запрограммирован на чтение данных из того же блока памяти и по тому же ключу AES, что и карта MIFARE Plus.

6. Далее следует собственно эмиссия карт доступа, то есть запись идентификатора в выбранный сектор памяти MIFARE Plus. Этот идентификатор будет связан с конкретным работником и будет считываться в защищен- ном режиме. Скопировать или подделать такую карту MIFARE Plus будет невозможно. Ввод в систему карт доступа MIFARE Plus осуществляется через контрольный считыватель (с интерфейсом USB, RS-232 или RS-485, TCP/IP). Контрольный считыватель читает идентификатор, хранящийся в защищенной памяти MIFARE Plus, используя при этом криптографию AES.

Описанный выше подход позволяет использовать карты доступа MIFARE Plus со многими имеющимися на рынке контроллерами СКУД.

Современные считыватели, поддерживающие работу с MIFARE Plus, имеют раз- личные интерфейсы подключения к контроллерам, в том числе и рас- пространенный – Wiegand-26. Это позволяет легко и просто переводить действующие СКУД с карт EM-Marine на карты MIFARE Plus. Потребуется только замена считывателей. Контроллеры, программное обеспечение, базы данных сохраняются.