Mifare

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Логотип MIFARE

MIFARE — торговая марка семейства бесконтактных смарт-карт. Торговая марка объединяет несколько типов микросхем смарткарт, микросхемы считывателей и продукты на их основе. Владельцем торговой марки является NXP Semiconductors.

Считается наиболее распространённой торговой маркой бесконтактных смарт-карт в мире: продано более 10 млрд смарт-карт и 150 млн считывателей.

Позиционирование и технологии

[править | править код]

Все продукты MIFARE базируются на ISO 14443 Type A 13,56 МГц стандарте бесконтактных смарт-карт. Предназначены в первую очередь для идентификации личности и микроплатежных систем[2]. Характеризуются невысокой дальностью чтения, до 10 см[3].

Стандарты меток (карт)

[править | править код]
Типичная структура карты Mifare. Внутри карты расположены микрочип и индуктивная антенна, которая одновременно служит и для передачи информации и для питания карты

В настоящее время производятся смарт-билеты и смарт-карты следующих стандартов:[4]

  • MIFARE Ultralight;
  • MIFARE Ultralight C;
  • MIFARE Ultralight EV1;
  • MIFARE Classic 1K, MIFARE Classic 4K;
  • MIFARE Classic EV1 1K, MIFARE Classic EV1 4K;
  • MIFARE Plus 2K, MIFARE Plus 4K;
  • MIFARE DESFire EV1;
  • MIFARE DESFire EV2.

Некоторые другие типы карт либо сняты с производства (MIFARE DESFire), либо не развились дальше стадии пилотных проектов (MIFARE PRO, MIFARE PROX, MIFARE Lite).

Выпускается также ряд изделий под другими торговыми марками, так или иначе связанных с технологиями MIFARE:

  • Микросхемы для смарт-карт семейств SmartMX, SmartMX2, Smart eID имеют режим эмуляции MIFARE.
  • Микросхемы NFC имеют режимы эмуляции MIFARE.
  • Контактные смарт-карты под торговой маркой MIFARE SAM содержат криптоалгоритмы семейства Mifare.

MIFARE Classic, MIFARE Classic EV1, MIFARE ID, MIFARE Mini, MIFARE Plus

[править | править код]

Семейство MIFARE Classic состоит из карт MIFARE Classic 1K, MIFARE Classic 4K, MIFARE Classic EV1 1K, MIFARE Classic EV1 4K, MIFARE ID и MIFARE Mini. MIFARE Classic 1K была исторически первой.

Карты MIFARE Classic предлагают надстройку над ISO 14443A-3 с криптографической защитой данных. Содержат 4-байтный или 7-байтный неизменяемый уникальный код карты и 1 или 4 КБ пользовательских и конфигурационных данных карты. MIFARE ID и MIFARE Mini представляют собой MIFARE Classic, обрезанные до одного и пяти секторов соответственно (ёмкость 64 и 320 байт, включая технологические блоки).

MIFARE Classic EV1 1K и 4K — то же, что и MIFARE Classic, но с UID длиной 7 байт. Помимо различий в процедурах ISO14443 Anticollision и Select, имеют различия в процедуре авторизации. Добавлена одна команда для возможности переключить карту в классический режим с UID длиной 4 байта.

Семейство Mifare Plus является развитием Mifare Classic с использованием стандартной криптографии AES. Mifare Plus имеет режим совместимости с Mifare Classic. Выпускаются 4 типа меток, различающихся объёмом памяти (2 или 4 КБ), длиной уникального кода (4 или 7 байт) и набором команд.

Для защиты данных, картами этих типов используется лицензионный проприетарный криптоалгоритм Crypto-1.

Технические характеристики стандарта Mifare Classic[5]

[править | править код]
  • Объём памяти карты составляет 1 или 4 КБ, стандарт EEPROM, батареи питания не требуется.
  • Надежно разграниченные между собой 16 или 40 секторов, поддерживающие многофункциональное применение. Каждый сектор имеет свой набор ключей доступа, что позволяет разграничивать доступ к различным приложениям.
  • Каждый сектор состоит из 4 блоков (3 информационных и 1 для хранения ключей).
  • Блок является самым малым компонентом, к которому адресуется пользователь, и состоит из 16 байт.
  • Срок хранения данных в памяти до 10 лет.
  • До 100 000 циклов записи.
  • Время, требующееся для получения идентификаторов карты — 3 мс (старт, ответ на запрос, антиколлизия, выбор).
  • Время считывания 16-байтного блока — 2,5 мс (без аутентификации), 4,5 мс (с аутентификацией).
  • Полное считывание карты + контрольное чтение — мин. 8,5 мс (без аутентификации), мин. 10,5 мс (с аутентификацией).
  • Типичная операция по выдаче билета < 100 мс, включая идентификацию карты, чтение шести блоков (768 бит, 2 сектора аутентификации) и запись двумя блоками (256 бит) с дублированием.
  • Проведение операций возможно, когда карта находится в движении.

MIFARE Ultralight, MIFARE Ultralight C, MIFARE Ultralight EV1

[править | править код]

MIFARE Ultralight — самые простые карты семейства. Фактически, стандарт MIFARE Ultralight является урезанным по объёму памяти (до 64 байт) MIFARE Classic, без криптографической защиты. Карты содержат 7-байтный неизменяемый уникальный код карты (UID) и 64 байт пользовательских и конфигурационных данных.

MIFARE Ultralight C является развитием MIFARE Ultralight с использованием стандартной криптографии 3DES и увеличенным объёмом памяти (192 байта).

Развитие продукта MIFARE DESFire. Самые сложные и дорогие карты семейства. Полностью удовлетворяет стандарту ISO 14443A. Предлагает криптозащищённую (3DES, AES) файловую систему, с гибко настраиваемыми условиями доступа. Карты, на базе MIFARE DESFire EV1, используются для оплаты транспорта в более чем 60-ти городах (вкл. Сан-Франциско, Майами, Лондон, Дубай), в нескольких странах (Новая Зеландия, Финляндия) они являются общенациональным стандартном. Карты на базе MIFARE DESFire EV1 также широко используются для высокозащищённых систем контроля доступа: наиболее известные примеры использования включают СКУД-системы для компаний BASF, Daimler Benz, Nestlé и таких организаций, как NASA и EU Commission.

SmartMX, SmartMX2, Smart eID

[править | править код]

Карты торговых марок SmartMX, SmartMX2 и Smart eID формально не относятся к MIFARE, однако имеют режим эмуляции карт MIFARE Classic, MIFARE Plus и MIFARE DESFire (последние 2 только в SmartMX2). Полностью удовлетворяют стандарту ISO 14443A. Являются полноценными смарт-картами с встроенным микропроцессором (ядро Intel 8051), криптопроцессором, большой памятью программ (до 256 КБ) и данных (до 144 КБ EEPROM). Имеют все необходимые сертификаты и предназначены для работы в системах государственной и банковской идентификации личности.

Микросхемы считывателей, NFC и MIFARE SAM

[править | править код]

Стандартные микросхемы считывателей

[править | править код]

В настоящее время компанией NXP выпускается ряд микросхем[6], необходимых для построения считывателей карт MIFARE. В разных комбинациях поддерживаются стандарты ISO 14443A, ISO 14443B, ISO 15693. Микросхемы также содержат в себе Security Access Module.

Микросхемы NFC-считывателей

[править | править код]

Выпускается семейство микросхем для Near Field Communication PN532, PN533[6]. Эти микросхемы могут читать и эмулировать карты Mifare.

NXP Semiconductors разработал встраиваемые криптографические модули Mifare SAM[7] (Secure Access Module), с интегрированной поддержкой алгоритмов шифрования Crypto-1, 3DES, AES, PKI, RSA, CMAC. Данные модули позиционируются как безопасные сертифицированные криптопроцессоры для систем с повышенной стойкостью.

Основная идея интеграции большинства криптоалгоритмов в одном модуле состоит в том, что физическая стойкость микроконтроллеров общего применения в считывателях становится много ниже безопасности всех остальных компонентов системы (криптоалгоритмов и физической стойкости меток). Чтобы выровнять ситуацию, предлагается использовать специализированный процессор Mifare SAM в качестве криптографического сопроцессора в считывателе. Разумеется, сказанное относится только к 3DES и AES. Поддержка Crypto-1 в Mifare SAM необходима, главным образом, для единообразия применения карт. Таким образом, использование Mifare SAM в качестве криптографического сопроцессора, по мысли разработчиков, позволяет достичь максимально возможного уровня безопасности данных, вне зависимости от типа основного процессора считывателя, даёт возможность поддержки карт большинства стандартов.

Безопасность карт Mifare

[править | править код]

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

Криптоалгоритм Crypto-1

[править | править код]

В картах Mifare Classic используется проприетарный лицензионный криптоалгоритм Crypto-1. Первоначально стойкость алгоритма была основана на его секретности. Алгоритм не разглашался, использовать его можно было только в составе микросхем Philips (позднее NXP Semiconductors). Однако низкая криптостойкость алгоритма и популярность технологии привела к тому, что на сегодняшний день алгоритм не является секретом и относительно легко взламывается[8].

Но в реальных системах далеко не вся безопасность построена на аппаратном шифровании карты. В качестве дополнительного фактора защиты могут использоваться, например, метки времени. Тем не менее, даже системы, безопасность которых не опирается целиком на алгоритм Crypto-1 (или даже не использует его совсем, как Mifare Ultralight), могут быть взломаны благодаря аппаратным особенностям карт[9].

Все современные микросхемы считывателей Mifare фирмы NXP Semiconductors умеют работать с Crypto-1. Однако не все имеют возможность безопасного энергонезависимого хранения ключей. В микросхемы MFRC52x и NFC ключи подгружаются перед каждой транзакцией по незащищённому интерфейсу. Для сравнения, в остальных микросхемах ключ записывается однократно энергонезависимо и не может быть считан снаружи.

Хронология исследований безопасности карт Mifare

[править | править код]

В декабре 2007 года на конференции Chaos Communication Congress исследователями Karsten Nohl и Sean O'Neil были продемонстрированы результаты частичного реверс-инжиниринга алгоритма, используемого в Mifare Classic. Статья[10], описывающая процесс реверс-инжиниринга, была представлена на конференции USENIX и опубликована в апреле 2008 года.

В 2008 году исследовательской группой голландского университета Радбау были опубликованы 3 статьи, касающиеся взлома карт Mifare Classic

Примечательно, что производитель карт Mifare, компания NXP, пыталась в судебном порядке остановить публикации статей, посвящённых взлому Mifare Classic в 2008 году. Суд отклонил запрос на запрет публикации статьи о взломе Mifare Classic, аргументируя это тем, что "В демократическом обществе публикации исследований в области информационной безопасности имеют огромный вес, так как информируют общество о серьёзных недоработках в существующих технологиях и позволяют избежать больших рисков"[11][12].

После этого было опубликовано множество статей на темы исследования безопасности и взлома карт Mifare Classic. В результате этих исследований вычислительные мощности, требуемые для взлома Mifare Classic, значительно снизились. Так, если в 2008 году взлом Crypto-1 требовал около 200 секунд на стандартном ноутбуке[13], в 2009 году на то, чтобы узнать секретный ключ, требовалось уже около 40 мс[14]. Были разработаны варианты атаки, не требующие наличия валидного считывателя[15]. Это сделало возможным осуществление атаки со смартфона, без использования специализрованного оборудования[16].

В ноябре 2010 года группой исследователей в области безопасности из Рурского университета была опубликована статья, детально описывающая атаку на карты Mifare DESFire[17].

Впервые успешная атака на систему, использующую карты стандарта Mifare Ultralight, была продемонстрирована компанией Interpidus Group в сентябре 2012 года на проходившей в Амстердаме конференции EUSecWest Applied Security Conference.

Наиболее скомпрометированным стандартом карт Mifare является Mifare Classic. С 2008 года было предложено множество способов взлома этого типа карт. Большинство из них основано на уязвимости внутреннего ГПСЧ карты. Особенности его работы стали ясны после частичного реверс-инжиниринга чипа карты. Было выяснено, что генератор псевдослучайных чисел карты представляет собой 48-битный сдвиговый регистр с обратной связью. Это значит, что псевдослучайная последовательность однозначно определяется временем работы генератора. В процессе аутентификации карта посылает считывателю отклик (Nt), значение которого косвенно связано с состоянием генератора псевдослучайных чисел. Этот факт даёт возможность узнать два последовательно сгенерированных числа, чтобы, зная устройство генератора псевдослучайных чисел карты, определить следующее число последовательности. Таким образом, алгоритм атаки (называемой Nested attack) предполагает знание ключа к хотя бы одному из секторов карты, и выглядит следующим образом[18]:

  1. Аутентификация и считывание сектора карты с помощью известного ключа. Сохранение ответа карты (Nt).
  2. Повторная аутентификация с тем же ключом. Сохранение значения ответа карты.
  3. Вычисление состояния ГПСЧ по двум последовательным значениям Nt.
  4. Перебор ключей к остальным секторам, используя знание состояния ГПСЧ

Но, даже не используя уязвимостей генератора псевдослучайных чисел, можно осуществить перебор ключей на ПЛИС за время порядка 10 часов на ключ[18].

Энтузиастами был разработан набор открытого ПО nfc-tools[19] для работы с бесконтактными картами. В пакете nfc-tools существует отдельная библиотека libfreefare[20], предназначенная для работы с картами стандартов Mifare, а также утилита, реализующая вышеописанную атаку на Mifare Classic: mfoc[21].

Атака на Mifare DESFire, использующую блочный шифр Triple DES, стала возможна после реверс-инжиниринга микросхемы MF3ICD40. В результате анализа мощности потребляемой микросхемой карты, а также строения чипа под микроскопом исследователям удалось определить ключи шифрования. При использовании оборудования стоимостью порядка 3000 $ атака может быть совершена за 7 часов[17].

Карты Mifare Ultralight используются главным образом в качестве билетов общественного транспорта. Известны 2 основных типа атак на системы, использующие Mifare Ultralight.

Lock Attack - атака, использующая возможность изменения лок-битов карты. Как правило, транспортные карты хранят несколько билетов. Изменяя лок-биты, в некоторых случаях можно добиться невозможности перезаписи билета турникетом, с сохранением доступа в транспортную систему. Как итог - "вечный" одноразовый билет[9].

Time Attack - Man in The Middle атака, заключающаяся в перехвате посредником данных о времени записи валидной карты с последующей эмуляцией карты. Большинство транспортных систем, использующих Mifare Ultralight считает билет валидным в течение некоторого времени после активации, поэтому такой подход позволяет обойти систему доступа, не решая задачи расшифровки данных о времени. В некоторых случаях атака может быть проведена как с помощью специализированного оборудования, так и с помощью смартфона[9][22].

Существуют реализации атак на Mifare Ultralight с открытым исходным кодом[23].

MIFARE в России

[править | править код]

В России реализуются десятки государственных и частных проектов, основанных на применении MIFARE. Практически каждый житель крупнейших городов России ежедневно пользуется картой MIFARE.

Наиболее массовое применение — оплата транспортных услуг. Метрополитен и наземный транспорт, как правило, используют стандарты Classic 1k и Ultralight, карта Тройка использует формат Mifare Plus. Новые типы загранпаспортов и некоторые визы используют технологию SmartMX.

Примечания

[править | править код]
  1. MIFARE history, Mifare.net
  2. Mifare about brochure
  3. Mifare Ultralight (недоступная ссылка)
  4. MIFARE card ICs, Архивировано 6 сентября 2023, Дата обращения: 15 декабря 2016
  5. Технические характеристики карт Mifare (PDF)
  6. 1 2 Mifare IC table (PDF), NXP, Архивировано из оригинала (PDF) 20 декабря 2016, Дата обращения: 18 декабря 2016 Источник. Дата обращения: 18 декабря 2016. Архивировано 20 декабря 2016 года.
  7. Mifare SAM ic, NXP
  8. Cryptanalysis of Crypto-1, Karsten Nohl, University of Virginia, Архивировано 21 мая 2016, Дата обращения: 5 декабря 2016
  9. 1 2 3 OPT circumventing in MIFARE ULTRALIGHT (PDF), Matteo Beccaro, Matteo Collura, 2013-08-10, Архивировано (PDF) 6 января 2017, Дата обращения: 26 ноября 2016
  10. Courtois, Nicolas T.; Karsten Nohl; Sean O'Neil.: Algebraic Attacks on the Crypto-1 Stream Cipher in MiFare Classic and Oyster Cards. Cryptology ePrint Archive (14 апреля 2008). Архивировано из оригинала 21 сентября 2012 года.
  11. Arnhem Court Judge Services. Pronunciation, Primary Claim. Rechtbank Arnhem (18 июля 2008). Дата обращения: 26 ноября 2016. Архивировано из оригинала 15 февраля 2012 года.
  12. "Judge denies NXP's injunction against security researchers". The Standard. 2008-07-18. Архивировано из оригинала 5 января 2009. Дата обращения: 13 февраля 2010.
  13. Courtois, Nicolas T.; Karsten Nohl; Sean O'Neil.: Algebraic Attacks on the Crypto-1 Stream Cipher in MiFare Classic and Oyster Cards. Cryptology ePrint Archive (14 апреля 2008). Дата обращения: 26 ноября 2016. Архивировано 13 сентября 2012 года.
  14. Garcia, Flavio D.; de Koning Gans, Gerhard; Muijrers, Ruben; van Rossum, Peter; Verdult, Roel; Schreur, Ronny Wichers; Jacobs, Bart.: Dismantling MIFARE Classic. 13th European Symposium on Research in Computer Security (ESORICS 2008), LNCS, Springer (4 октября 2008). Дата обращения: 26 ноября 2016. Архивировано из оригинала 8 января 2013 года.
  15. Garcia, Flavio D.; Peter van Rossum; Roel Verdult; Ronny Wichers Schreur.: Wirelessly Pickpocketing a Mifare Classic Card. 30th IEEE Symposium on Security and Privacy (S&P 2009), IEEE (17 марта 2009). Дата обращения: 26 ноября 2016. Архивировано из оригинала 23 октября 2012 года.
  16. Courtois, Nicolas T. The Dark Side of Security by Obscurity and Cloning MiFare Classic Rail and Building Passes Anywhere, Anytime. IACR Cryptology Preprint Archive (4 мая 2009). Дата обращения: 26 ноября 2016. Архивировано 29 марта 2017 года.
  17. 1 2 Breaking Mifare DESFire MF3ICD40 (PDF), Horst Görtz Institute for IT Seurity, 2010, Архивировано (PDF) 8 ноября 2016, Дата обращения: 26 ноября 2016
  18. 1 2 Wirelessly Pickpocketing a Mifare Classic Card (PDF), Flavio D. Garcia, Radboud University Nijmegen, Архивировано из оригинала (PDF) 23 октября 2012, Дата обращения: 26 ноября 2016
  19. nfc-tools, GitHub, Архивировано 24 февраля 2017, Дата обращения: 26 ноября 2016
  20. libfreefare, GitHub, Архивировано 19 июля 2016, Дата обращения: 18 декабря 2016
  21. mfoc, GitHub, Архивировано 19 июля 2016, Дата обращения: 26 ноября 2016
  22. Time attack on MIFARE ULTRALIGHT, Matteo Beccaro, Matteo Collura, 2013-29-12, Архивировано 27 ноября 2016, Дата обращения: 26 ноября 2016 {{citation}}: Проверьте значение даты: |date= (справка)
  23. NFC Ultralight Toolkit, GitHub, Архивировано 11 июня 2018, Дата обращения: 26 ноября 2016