Ключи mifare: особенности современных устройств доступа

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

Но время идет, хакеры не дремлют. Криптозащита, встроенная в чип 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».

Таблица 3. Основные характеристики разных чипов MIFARE

Тип карты MIFARE Ultralight MIFARE Classic MIFARE DESFire EV12К/4K/8K MIFARE Plus S2К/4K MIFARE Plus X2К/4K
MF0 IC U1x MF1 IC S50 MF1 IC S70 MF3 IC D21,MF3 IC D41,MF3 IC D81 MF1 SPLUS60/MF1 SPLUS80 MF1 PLUS60/MF1 PLUS80
Криптоалгоритм Нет CRYPO1 CRYPTO1 DES & 3DES/AES CRYPTO1/AES CRYPTO1/AES
Длина серийного номера, байт 7 4/7 4/7 7 7 7
EEPROM, байт 64 1024 4096 2048/4096/8192, гибкая файловая структура 2048/4096 2048/4096
Количество циклов перезаписи 10 000 100 000 100 000 500 000 200 000 200 000
Организация 16 стр./ 4 байт 16 сект./ 64 байт 32 сект./ 64 байт,8 сект./ 256 байт Определяется программно 32 сект./ 4 блока,8 сект./1 блок 32 сект./ 4 блока,8 сект./1 блок

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

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

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

Считка MIFARE Plus

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

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

Уровни безопасностиБесконтактные карты MIFARE Plus поддерживают 3 уровня безопасности и могут быть в любой момент переведены с одного уровня на более высокий.

Уровень безопасности 0
Карты MIFARE Plus на уровне 0 не предназначены для использования. Заказчик должен проинициализировать чип MIFARE Plus и перевести его на более высокий уровень. Инициализация чипа может производиться по ключам, соответствующим MIFARE E Classic с применением криптоалгоритма CRYPTO1, или по ключам AES.

Уровень безопасности 1На этом уровне карты имеют 100%-ную совместимость с MIFARE Classic 1K, MIFARE Clasis 4K. Карты MIFARE Plus легко работают в существующих системах вместе с картами MIFARE Classic.

Уровень безопасности 2Аутентификация по AES является обязательной. Для защиты данных используется CRYPTO1.

Уровень безопасности 3Аутентификация, обмен данными, работа с памятью только по AES.

Семейство карт Mifare и уровень безопасности

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

Базовый уровень защиты имеют карты Mifare Classic, а для повышенного уровня используются Mifare Plus. В Sigur поддерживается большинство применимых для СКУД идентификаторов: Mifare Classic, Mifare Plus, Mifare DESFire. 

Mifare Classic

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

Mifare Plus

Для заказчиков, которым нужен больший уровень безопасности, мы рекомендуем использовать карты Mifare Plus. Безопасность данных карт обеспечена шифром AES, существенных дефектов реализации в данных картах также не обнаружено. Появление средств копирования таких карт в ближайшем будущем маловероятно.  

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

Mifare DESFire

Обеспечивают уровень защиты, как и карты Mifare Plus, но имеют расширенные возможности, которые позволяют их использовать в деятельности, связанной не только со СКУД. Стоимость выше, чем у карт Mifare Classic и Plus.

Для чего необходимы двухчиповые карты

В некоторых организациях, которые располагаются в разных зданиях, установлены разные считыватели, например в одном здании установлены считыватели Em Marin, а в другом здании — считыватели MIFARE. В таком случае, чтобы у работников на руках не были две разные карты и не возникали ситуации, при которых постоянно происходила путаница с картами, для них создается одна универсальная карта для доступа в два разных здания.

Также в некоторых компаниях на проходной установлен свободный пропускной режим, однако есть помещения, в которые доступ предоставлен только определенным сотрудникам компании, для таких случаем выпускается карта доступа с двумя чипами UHF + MIFARE.

Другой пример, — в горнолыжном комплексе для проезда на парковку необходимо использовать карту Em Marin, а для пропуска на подъемники карту I Code SLIX. В такой случае выпускается комби-карта Em Marin + I Code SLI X.

На объектах, имеющих помещения с очень высокий уровнем защищенности, карты доступа реализованы на микрочипе MIFARE DESFire EV1. А помещения, которые не требуют высокой степени защиты оснащены старыми считывателями HID Prox. В этом случае выпускается комби-карта MIFARE DESFire EV1 + HID Prox.

Согласно рабочей частоте: Четыре типа

1,125 kHz Метки LF RFID

Низкочастотные метки часто работают на 125 kHz~ 134.2 кГц. Низкочастотные теги обычно являются вышеуказанными пассивными тегами. Индуктивная связь позволяет считывать рабочую энергию меток. Расстояние чтения-записи небольшое, обычно в пределах 10 см, менее 1 метра.

ОСОБЕННОСТИ:

  • Энергосбережение, сильная проникающая способность, небольшое внешнее вмешательство;
  • Медленная скорость передачи данных, плохая гибкость;
  • Его нелегко распознать, поэтому за короткое время можно прочитать только один электронный тег;
  • Подходит только для приложений распознавания на низкой скорости и с близкого расстояния.

ПРИЛОЖЕНИЯ:

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

Тег LF работает на низкой частоте и может проникать через воду, органические ткани и дерево. И его внешний вид может быть преобразован в тип ушного ногтя, тип воротника, тип таблетки или тип инъекции. Это подходит для идентификация крупного рогатого скота, свиней, голубей и других животных.

2,13.56 MHz ВЧ RFID-метки

Общая рабочая частота высокочастотной метки составляет 13.56 МГц. Как и низкочастотный тег, он также является пассивным. Расстояние чтения-записи HF-тегов составляет менее 1 метра.

ОСОБЕННОСТИ:

Он разделен на протокол ISO 14443A / B, ISO 15693. ISO 14443A / B — это принцип связи в ближней зоне электромагнитной индукции. Дальность чтения близка, но протоколов шифрования много. В основном они используются для идентификации.

Протокол ISO 15693 — это принцип связи электромагнитной индукции в ближнем и дальнем поле. Расстояние относительно большое, в основном из-за металлических помех.

ПРИЛОЖЕНИЯ:

  • Отслеживание борьбы с подделками
  • Электронная идентификация
  • Электронные билеты
  • Карты кампуса
  • Удостоверения системы контроля доступа
  • Банковские карты
  • Кредитные карты
  • Смарт паспорт
  • Другие приложения

3,RFID-метки UHF 860 ~ 960 МГц

Рабочая частота Метка UHF составляет 860 ~ 960 МГц. Стандарт, используемый в разных странах, отличается. UHF, указанный в ЕС, составляет 865 МГц ~ 868 МГц. США — 902 МГц, Индия — 865 МГц 967 МГц, Австралия — 920 МГц, Япония — 952 МГц.

ОСОБЕННОСТИ:

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

ПРИЛОЖЕНИЯ:

  • Система управления цепями поставок
  • Управление автоматизацией производственной линии
  • Управление авиапочтой
  • Управление контейнером
  • Управление парковкой
  • Управление оплатой вне парковки
  • Управление библиотекой
  • Управление складом

4,2.45GHz~ Тег СВЧ 5.8 ГГц

Основная рабочая частота микрополосного RFID-приложения: 2.45GHz~ 5.8 ГГц. Микроволновые метки могут быть пассивными, полупассивными или активными. Пассивные микроволновые метки обычно меньше пассивных УВЧ-меток. И дальность чтения у них такая же, около 5 метров. Дальность считывания полупассивных микроволновых меток составляет около 30 метров, а активных микроволновых меток — до 100 метров.

ОСОБЕННОСТИ:

Антенны СВЧ-меток являются направленными. Это помогает определить пассивные и полупассивные зоны чтения этикеток. Поскольку длины волн короче, микроволновые антенны проще сконструировать для взаимодействия с металлическими объектами.

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

ПРИЛОЖЕНИЯ:

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

Двухчиповые пластиковые RFID-карты

Двухчиповые или как их еще называют комбинированные карты — это карты, которые содержат в себе два разных RFID чипа. Если в обычной стандартной RFID-карте есть встроенный RFID-чип, который в свою очередь состоит из двух частей: микрочипа и антенны, то в двухчиповых пластиковых RFID-картах располагаются два чипа и две антенны. Работают они, как правило, на разных частотах, например:

  • низкая частота (low frequency) и высокая частота (high frequency);
  • низкая частота (low frequency) и ультра высокая частота (ultra high frequency);
  • высокая частота(high frequency) и ультра высокая частота (ultra high frequency).

Самые распространенные чипы, работающие на низкой частоте (low frequency, 125KHz), например такие как:

  • Em Marine;
  • HID Prox;
  • Indala.

Чипы, работающие на высокой частоте (high frequency, 13,56MHz):

  • MIFAFE Classic, MIFARE Plus, MIFARE DESFIre;
  • I Code SLI X.

Чипы, работающие на сверх высокой частоте (ultra high frequency, 868MHz):

  • Alien H3;
  • Monza 4, Monza 5;
  • NXP UCODE.

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

Таблица 1. Жирным выделены три байта, которые передаются

HEX-формат Десятичный формат
DDFF02AC 3724477100
DDFF02AD 3724477101
DDFF02AE 3724477102

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

Таблица 2. Появляются одинаковые номера карт

HEX-формат Десятичный формат
DDFF02AC 14548738
DDFF02AD 14548738
DDFF02AE 14548738

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

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

Можно ли получить карты доступа, защищенные от копирования, применяя MIFARE 1K?

Конечно, можно. При правильной работе с картой и использовании правильного считывателя. «Правильно» — значит с помощью всех тех технических особенностей, которые и характеризуют MIFARE 1K. А именно — необходимо задействовать память MIFARE 1K и обращаться к памяти с помощью той самой 3-х проходной аутентификации, встроенных криптографических алгоритмов.

И для этого на рынке есть технические средства.

Features

  • Read MIFARE Classic tags
  • Save, edit and share the tag data you read
  • Write to MIFARE Classic tags (block-wise)
  • Clone MIFARE Classic tags
    (Write dump of a tag to another tag; write ‘dump-wise’)
  • Key management based on dictionary-attack
    (Write the keys you know in a file (dictionary)).
    MCT will try to authenticate with these keys against all sectors and read as much as possible.
    See chapter .
  • Format a tag back to the factory/delivery state
  • Write the manufacturer block (block 0) of special MIFARE Classic tags
  • Create, edit, save and share key files (dictionaries)
  • Decode & Encode MIFARE Classic Value Blocks
  • Decode & Encode MIFARE Classic Access Conditions
  • Compare dumps (Diff Tool)
  • Display generic tag information
  • Display the tag data as highlighted hex
  • Display the tag data as 7-Bit US-ASCII
  • Display the MIFARE Classic Access Conditions as a table
  • Display MIFARE Classic Value Blocks as integer
  • Calculate the BCC (Block Check Character)
  • Quick UID clone feature
  • Import/export/convert files
  • In-App (offline) help and information
  • It’s free software (open source) 😉

Добавление ключей

Перед чтением памяти, необходимо добавить в MCT подходящие ключи. До версии 4.0.0 сделать это можно двумя способами:

  1. В любом файловом менеджере открыть папку  «/MifareClassic Tool/key-files/», находящуюся на SD карте или внутренней памяти телефона (зависит от производителя телефона), создать текстовый файл и записать в него нужные ключи. сохранить файл и изменить его расширение на «.keys». Или закинуть туда уже готовый.
  2. В самой программе выбрать  «EDIT/ADD KEY FILE», затем — меню, и «CREATE NEW FILE»:

Начиная с версии 4.0.0 процесс добавления ключей изменился: теперь ключи хранятся не на SD-карте устройства в виде отдельных файлов, а в виде записей в базе данных приложения на разделе /data. Это было сделано, чтобы отказаться от разрешения (Android permission) на доступ к личным файлам пользователя, так что все ключи, сохраненные в виде отдельных файлов исчезнут из соответствующего меню программы. Для пользователя это значит две вещи:

  1. Имеющиеся ключи в виде файлов .keys нужно реимпортировать в приложение. Для этого на главном экране нужно выбрать пункт «Tools», в открывшемся меню выбрать «Import/Export/Convert Files», затем — «IMPORT KEYS». Программа предложит выбрать формат для импорта, выбираем второй пункт — «.keys/.dic/txt (MIFARE Classic Too…» (или первый пункт «.bin», если вы хотите импортировать бинарный файл ключей, полученный с помощью Proxmark или Chameleon Mini GUI). После этого должен открыться установленный по умолчанию файловый менеджер, в котором нужно найти папку «MifareClassicTool», а в ней — папку «key-files», в которой лежат файлы ключей. Выберите нужный файл, и ключи появятся в программе.
  2. !При удалении или переустановке программы все сохраненные ключи и дампы необходимо экспортировать!. Отказ от разрешения на доступ к хранилищу данных пользователя означает, что данные приложения больше не будут храниться в доступной пользователю памяти. Данные будут храниться на недоступном пользователю (без root-доступа) разделе /data, в каталоге со служебными данными приложения. При удалении MCT все служебные данные также будут удалены, поэтому, если ключи все еще нужны, их необходимо экспортировать в хранилище пользователя (Internal Storage или SD-карта, в зависимости от производителя устройства). Для этого, на основном экране нужно выбрать «Tools», затем — «Import/Export/Convert Files» и «EXPORT KEYS» (если Вы хотите экспортировать и сохраненные дампы, повторите процедуру, выбрав вместо «EXPORT KEYS» — «EXPORT DUMP»). Программа предложит выбрать файлы для экспорта, а после подтверждения откроется файловый менеджер, в котором следует выбрать место сохранения экспортированных данных. После переустановки программы останется только импортировать сохраненные данные.

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

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

Виртуальная карта ApplePay VS Физическая банковская карта

Сравнение безопасности виртуальных и физических банковских карт

  • Не позволяет использовать перехваченные данные для оплаты в интернете – обычная карта может быть использована для операций типа Card not present (CNP), то есть для оплаты в интернете, по телефону и т.д. Данные из виртуальной карты Apple Pay нельзя использовать подобным образом. Это связано с тем, что электронная карта при регистрации выпускает новую карту, операции по которой обязаны иметь криптографическую подпись. Считывание Apple Pay выдает PAN и expiration date новой выпущенной электронной карты, а не физической, регистрируемой. Поэтому, если указать перехваченные данные виртуальной карты для оплаты в интернете, платеж будет отклонен, так как эти транзакции требуют специальной подписи.
  • Не раскрывает данные владельца — некоторые физические бесконтактные карты могут передавать имя владельца (Cardholder name) и историю последних покупок. Виртуальная карта так не делает.

Выдача гостевых идентификаторов

Выдача гостевых идентификаторов производится по разному в зависимости от вендора:

  • Выдача идентификаторов на определённое время (ESMART)
  • Выдача одноразовых идентификаторов (HID, Suprema)
  • Выдача QR-кода (Nedap), QR-код присылается на Е-mail, считывается с экрана телефона Мне этот вариант представляется особенно удобным т.к. не требует установки приложения на смартфон для прохождения идентификации, но есть и минус — QR-код можно легко передать.
  • Выдача бессрочного идентификатора с последующим удалением его из системы СКУД вручную (все остальные), по сути ничем не отличается от гостевых бесконтактных карт которые выдаются в классических СКУД

Как работает

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

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

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