Mifare

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

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

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

История[править | править вики-текст]

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

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

Микросхемы меток (карт)[править | править вики-текст]

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

  • 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 байта.

Для защиты данных используется лицензионный проприетарный криптоалгоритм Crypto-1 (его описание не опубликовано производителем). Однако он был восстановлен при помощи реверс-инжиниринга и оказался слишком простым. Недостатки алгоритма стали причиной многочисленных нападок на Mifare и на бесконтактные технологии вообще. Лицензия на криптоалгоритм предлагалась в составе микросхем считывателей либо в виде отдельных криптопроцессоров (Security Access Module, SAM).

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

MIFARE Ultralight, MIFARE Ultralight C, MIFARE Ultralight EV1[править | править вики-текст]

MIFARE Ultralight — самые простые карты семейства. Фактически являются урезанным MIFARE Classic (без криптографической защиты). Содержат 7-байтный неизменяемый уникальный код карты и 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[править | править вики-текст]

Стандартные микросхемы считывателей[править | править вики-текст]

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

  • SLRC400 — устарела.
  • MFRC500 — устарела.
  • MFRC522, MFRC523 — миниатюрная версия с пониженным напряжением питания.
  • MFRC530, MFRC531
  • CLRC632 — наиболее функциональное изделие без NFC.

Микросхемы NFC-считывателей[править | править вики-текст]

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

Mifare SAM[править | править вики-текст]

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

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

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

Безопасность карт Mifare[править | править вики-текст]

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

Криптоалгоритм Crypto-1[править | править вики-текст]

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

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

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

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

В декабре 2007 года на конференции Chaos Communication Congress исследователями Henryk Plötz и Karsten Nohl были продемонстрированы результаты частичного реверс-инжиниринга алгоритма, используемого в Mifare Classic. Статья, описывающая процесс реверс-инжиниринга была представлена на конференции USENIX и опубликована в августе 2008 года.

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

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

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

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

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

Mifare Classic[править | править вики-текст]

Наиболее скомпроментрированным стандартом карт Mifare является Mifare Classic. С 2008 года было предложено множество способов взлома этого типа карт. Большинство из них основаны на уязвимости внутреннего ГПСЧ карты. Особенности его работы стали ясны после частичного реверс-инжиниринга чипа карты. Было выяснено, что ГПСЧ карты представляет собой 48-битный сдвиговый регистр с обратной связью, начальное состояние которого константно. Псевдослучайная последовательность однозначно определяется временем работы генератора. А зная очередное число последовательности, можно расшифровать передающиеся ключи. Но, даже не зная начального состояния ГПСЧ можно осуществить перебор ключей на ПЛИС за время порядка 10 часов на ключ.

Позднее, появился вариант атаки, основывающийся на знании одного из A-B ключей секторов карты. Зная один ключ, следующий может быть восстановлен перебором за 2^32 попыток.

В пакете nfc-tools существуют утилиты реализующие атаки на Mifare Classic: mfoc[11] и mfcuk.[12]

Mifare DESFire[править | править вики-текст]

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

Mifare Ultralight[править | править вики-текст]

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

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

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

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

Технические подробности[править | править вики-текст]

MIFARE Classic[править | править вики-текст]

Многофункциональность карты[править | править вики-текст]

  • Объём памяти карты составляет 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 в России[править | править вики-текст]

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

Наиболее массовое применение — оплата транспортных услуг. Метрополитен использует Classic 1k и Ultralight. Наземный транспорт — Classic 1k. Известны программы выдачи карт социальной защиты пенсионерам и студентам (Classic 1k [18]), например Социальная карта москвича. Новые типы загранпаспортов и некоторые визы используют технологию SmartMX.

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

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

  1. Mifare Ultralight
  2. Ясно, что небезопасно - Компьютерра-Онлайн
  3. 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> 
  4. Arnhem Court Judge Services. Pronunciation, Primary Claim. Rechtbank Arnhem (18 июля 2008).
  5. Judge denies NXP's injunction against security researchers, The Standard (18 июля 2008). Архивировано из первоисточника 5 января 2009. Проверено 13 февраля 2010.
  6. Courtois, Nicolas T. Algebraic Attacks on the Crypto-1 Stream Cipher in MiFare Classic and Oyster Cards. Cryptology ePrint Archive (14 апреля 2008).
  7. Dismantling MIFARE Classic. 13th European Symposium on Research in Computer Security (ESORICS 2008), LNCS, Springer (4 октября 2008).
  8. Garcia, Flavio D. Wirelessly Pickpocketing a Mifare Classic Card. 30th IEEE Symposium on Security and Privacy (S&P 2009), IEEE (17 марта 2009).
  9. 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).
  10. 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> 
  11. mfoc, GitHub, <https://github.com/nfc-tools/mfoc> 
  12. mfcuk, GitHub, <https://github.com/nfc-tools/mfcuk> 
  13. 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> 
  14. 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> 
  15. 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> 
  16. 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> 
  17. NFC Ultralight Toolkit, GitHub, <https://github.com/securenetwork/NFCulT> 
  18. Читаем паспортные данные студентов, школьников и пенсионеров у них из кармана, Habrahabr, <https://habrahabr.ru/post/143807/> 

Ссылки[править | править вики-текст]