MIFARE — торговая марка семейства бесконтактныхсмарт-карт. Торговая марка объединяет несколько типов микросхем смарткарт, микросхемы считывателей и продукты на их основе. Владельцем торговой марки является NXP Semiconductors.
Считается наиболее распространённой торговой маркой бесконтактныхсмарт-карт в мире: продано более 10 млрд смарт-карт и 150 млн считывателей.
Все продукты MIFARE базируются на ISO 14443 Type A 13,56 МГц стандартебесконтактных смарт-карт. Предназначены в первую очередь для идентификации личности и микроплатежных систем[2]. Характеризуются невысокой дальностью чтения, до 10 см[3].
Стандарты меток (карт)
В настоящее время производятся смарт-билеты и смарт-карты следующих стандартов:[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.
Семейство 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 является урезанным по объёму памяти (до 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). Имеют все необходимые сертификаты и предназначены для работы в системах государственной и банковской идентификации личности.
В настоящее время компанией NXP выпускается ряд микросхем[6], необходимых для построения считывателей карт MIFARE. В разных комбинациях поддерживаются стандарты ISO 14443A, ISO 14443B, ISO 15693. Микросхемы также содержат в себе Security Access Module.
Выпускается семейство микросхем для Near Field Communication PN532, PN533[6]. Эти микросхемы могут читать и эмулировать карты Mifare.
Mifare SAM
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 Classic
Наиболее скомпрометированным стандартом карт Mifare является Mifare Classic. С 2008 года было предложено множество способов взлома этого типа карт. Большинство из них основано на уязвимости внутреннего ГПСЧ карты. Особенности его работы стали ясны после частичного реверс-инжиниринга чипа карты. Было выяснено, что генератор псевдослучайных чисел карты представляет собой 48-битный сдвиговый регистр с обратной связью. Это значит, что псевдослучайная последовательность однозначно определяется временем работы генератора. В процессе аутентификации карта посылает считывателю отклик (Nt), значение которого косвенно связано с состоянием генератора псевдослучайных чисел. Этот факт даёт возможность узнать два последовательно сгенерированных числа, чтобы, зная устройство генератора псевдослучайных чисел карты, определить следующее число последовательности. Таким образом, алгоритм атаки (называемой Nested attack) предполагает знание ключа к хотя бы одному из секторов карты, и выглядит следующим образом[18]:
Аутентификация и считывание сектора карты с помощью известного ключа. Сохранение ответа карты (Nt).
Повторная аутентификация с тем же ключом. Сохранение значения ответа карты.
Вычисление состояния ГПСЧ по двум последовательным значениям Nt.
Перебор ключей к остальным секторам, используя знание состояния ГПСЧ
Но, даже не используя уязвимостей генератора псевдослучайных чисел, можно осуществить перебор ключей на ПЛИС за время порядка 10 часов на ключ[18].
Энтузиастами был разработан набор открытого ПО nfc-tools[19] для работы с бесконтактными картами. В пакете nfc-tools существует отдельная библиотека libfreefare[20], предназначенная для работы с картами стандартов Mifare, а также утилита, реализующая вышеописанную атаку на Mifare Classic: mfoc[21].
Mifare DESFire
Атака на Mifare DESFire, использующую блочный шифр Triple DES, стала возможна после реверс-инжиниринга микросхемы MF3ICD40. В результате анализа мощности потребляемой микросхемой карты, а также строения чипа под микроскопом исследователям удалось определить ключи шифрования. При использовании оборудования стоимостью порядка 3000 $ атака может быть совершена за 7 часов[17].
Mifare Ultralight
Карты 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.
↑ 12Mifare IC table(PDF), NXP, Архивировано из оригинала(PDF)20 декабря 2016, Дата обращения: 18 декабря 2016Источник (неопр.). Дата обращения: 18 декабря 2016. Архивировано 20 декабря 2016 года.
↑Arnhem Court Judge Services.Pronunciation, Primary Claim (неопр.). Rechtbank Arnhem (18 июля 2008). Дата обращения: 26 ноября 2016. Архивировано из оригинала 15 февраля 2012 года.
↑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 года.
↑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 года.