Mifare

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

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

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

История[1][править | править код]

Позиционирование и технологии[править | править код]

Все продукты 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 EV1[править | править код]

Развитие продукта 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[7]. Эти микросхемы могут читать и эмулировать карты Mifare.

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

NXP Semiconductors разработал встраиваемые криптографические модули Mifare SAM[8] (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). Однако низкая криптостойкость алгоритма и популярность технологии привела к тому что на сегодняшний день алгоритм не является секретом и относительно легко взламывается.[9]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также[править | править код]

Примечания[править | править код]

  1. MIFARE history, Mifare.net, <https://www.mifare.net/en/videos/mifare-history/> 
  2. Mifare about brochure
  3. Mifare Ultralight
  4. MIFARE card ICs, <https://www.mifare.net/en/products/chip-card-ics/> 
  5. Технические характеристики карт Mifare, <https://www.mifare.net/wp-content/uploads/2015/02/MIFARE-Contactless-IC-portfolio.pdf> 
  6. Mifare IC table, NXP, <http://www.nxp.com/documents/line_card/MIFARE_ICs_939775017001_v9_HR.pdf> 
  7. Mifare IC table, NXP, <http://www.nxp.com/documents/line_card/MIFARE_ICs_939775017001_v9_HR.pdf> 
  8. Mifare SAM ic, NXP, <http://www.nxp.com/products/identification-and-security/nfc-and-reader-ics/mifare-sams-for-reader-systems> 
  9. Cryptanalysis of Crypto-1, Karsten Nohl, University of Virginia, <https://www.cs.virginia.edu/~kn5f/Mifare.Cryptanalysis.htm> 
  10. OPT circumventing in MIFARE ULTRALIGHT, Matteo Beccaro, Matteo Collura, 2013-08-10, <https://www.defcon.org/images/defcon-21/dc-21-presentations/bughardy-Eagle1753/DEFCON-21-bughardy-Eagle1753-OPT-circumventing-in-MIFARE-ULTRALIGHT-WP-Updated.pdf> 
  11. 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 года.
  12. Arnhem Court Judge Services. Pronunciation, Primary Claim. Rechtbank Arnhem (18 июля 2008).
  13. Judge denies NXP's injunction against security researchers, The Standard (18 июля 2008). Архивировано 5 января 2009 года. Проверено 13 февраля 2010.
  14. Courtois, Nicolas T. Algebraic Attacks on the Crypto-1 Stream Cipher in MiFare Classic and Oyster Cards. Cryptology ePrint Archive (14 апреля 2008).
  15. Dismantling MIFARE Classic. 13th European Symposium on Research in Computer Security (ESORICS 2008), LNCS, Springer (4 октября 2008).
  16. Garcia, Flavio D. Wirelessly Pickpocketing a Mifare Classic Card. 30th IEEE Symposium on Security and Privacy (S&P 2009), IEEE (17 марта 2009).
  17. 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).
  18. Breaking Mifare DESFire MF3ICD40, Horst Görtz Institute for IT Seurity, 2010, <http://www.emsec.rub.de/media/crypto/veroeffentlichungen/2011/10/10/desfire_2011_extended_1.pdf> 
  19. Wirelessly Pickpocketing a Mifare Classic Card, Flavio D. Garcia, Radboud University Nijmegen, <http://www.cs.ru.nl/~flaviog/publications/Pickpocketing.Mifare.pdf> 
  20. Wirelessly Pickpocketing a Mifare Classic Card, Flavio D. Garcia, Radboud University Nijmegen, <http://www.cs.ru.nl/~flaviog/publications/Pickpocketing.Mifare.pdf> 
  21. nfc-tools, GitHub, <https://github.com/nfc-tools> 
  22. libfreefare, GitHub, <https://github.com/nfc-tools/libfreefare> 
  23. mfoc, GitHub, <https://github.com/nfc-tools/mfoc> 
  24. Breaking Mifare DESFire MF3ICD40, Horst Görtz Institute for IT Seurity, 2010, <http://www.emsec.rub.de/media/crypto/veroeffentlichungen/2011/10/10/desfire_2011_extended_1.pdf> 
  25. OPT circumventing in MIFARE ULTRALIGHT, Matteo Beccaro, Matteo Collura, 2013-08-10, <https://www.defcon.org/images/defcon-21/dc-21-presentations/bughardy-Eagle1753/DEFCON-21-bughardy-Eagle1753-OPT-circumventing-in-MIFARE-ULTRALIGHT-WP-Updated.pdf> 
  26. Time attack on MIFARE ULTRALIGHT, Matteo Beccaro, Matteo Collura, 2013-29-12, <https://media.ccc.de/v/30C3_-_5479_-_en_-_saal_6_-_201312291215_-_building_a_safe_nfc_ticketing_system_-_bughardy_-_eagle1753#video&t=746> 
  27. OPT circumventing in MIFARE ULTRALIGHT, Matteo Beccaro, Matteo Collura, 2013-08-10, <https://www.defcon.org/images/defcon-21/dc-21-presentations/bughardy-Eagle1753/DEFCON-21-bughardy-Eagle1753-OPT-circumventing-in-MIFARE-ULTRALIGHT-WP-Updated.pdf> 
  28. NFC Ultralight Toolkit, GitHub, <https://github.com/securenetwork/NFCulT> 

Ссылки[править | править код]