Ясно, что небезопасно

(Впервые опубликовано – март 2008)

Подробности о взломе секретной криптосхемы RFID-чипов Mifare.

rip-mifare-classic

В первых числах марта (2008) коллективом студентов и сотрудников исследовательской группы «Цифровая безопасность» в голландском университете Radboud, г. Неймеген, была выявлена серьезнейшая уязвимость в бесконтактных смарт-картах широко распространенного типа (см. И грянул гром).

Подобные устройства, иногда называемые проксимити-картами, построены на основе RFID-чипов, то есть микросхем радиочастотной идентификации.

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

Голландцами же была взломана система защиты в чипах типа Mifare Classic, изготовляемых компанией NXP, в прошлом – полупроводниковым подразделением корпорации-гиганта Philips.

Разных типов чипы Mifare на нынешнем рынке бесконтактных карт занимают абсолютно доминирующее положение, причем на Mifare Classic, имеющие оптимальное соотношение цена / безопасность, приходится доля порядка 90%. В более же конкретных цифрах, общемировое число продаж этих карт в разных источниках оценивается количествами от 1 до 2 миллиардов штук.

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

Похожая ситуация характерна для многих мегаполисов планеты вроде Лондона, Гонконга или Милана. В Москве, в частности, карточки Mifare Classic – это не только проездные в метро, но еще и «социальная карта москвича», перезаряжаемые карточки студентов и школьников, проездные для электричек и так далее.

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

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

Реалистичность этой атаки, собственно, и решили проверить «на себе» голландские исследователи из университета Radboud. Где допуск в здания контролируется, как и повсюду в Нидерландах, также с помощью Mifare Classic.

Говоря конкретнее, члены группы Digital Security поставили перед собой цель отыскать слабости в собственных пропусках, а найдя их, попытаться клонировать карты.

Результатом их исследований стало обнаружение серьезных дефектов в механизме аутентификации Mifare Classic. Это позволило: (1) полностью восстановить секретную схему алгоритма шифрования CRYPTO1, запечатанного в чип для защиты данных; (2) отыскать относительно простой и дешевый метод для извлечения из чипа криптогрфических ключей.

Два этих базовых открытия в совокупности позволили смоделировать реальную атаку, в процессе которой карточка-пропуск Mifare Classic, применяемая для входа в здания университета, была успешно клонирована.

Mifare RFID Crypto-1

[ВРЕЗКА]

Типы карт Mifare

Платформа Mifare до последнего времени включала в себя пять основных типов чипов для карт с бесконтактным, двойным (чип / магнитная полоса) и тройным (чип / полоса / USB) типами интерфейсов. В связи с компрометацией Mifare Classic фирмой NXP только что объявлено о вводе до конца 2008 г. нового, криптографически более сильного чипа на замену, получившего название Mifare Plus и оснащенного алгоритмом AES.

Самые простые, из-за этого самые дешевые и, следовательно, наиболее распространенные в реальных приложениях типы – это Ultralight (MF0 U10, U11) и Classic или Standard (MF1 S50, S70). У этих чипов нет процессора и, соответственно, операционной системы, а у Ultralight нет и никакой криптографии. Объем памяти EEPROM от 512 байт (Ultralight) до 1 и 4 килобайт (Classic).

Остальные три типа построены на основе процессора 80С51, имеют более развитую функциональность на основе JAVA, но и стоят существенно дороже – уже доллары, а не десятки центов как Mifare Classic или копеечный Ultralight.

Самый дешевый чип из дорогих, DESFire (MF3 D40), реализует крепкий шифр 3DES и имеет перезаписываемую память 4 Кбайт. Карта Mifare ProX (P8RF) имеет двойной интерфейс (плюс магнитная полоса), 3DES и криптографию с открытым ключом, от 32 до 64 Кбайт оперативной памяти.

Самый продвинутый чип для бесконтактных карт, SmartMX (P5xD, P5CT), оснащен тройным интерфейсом (плюс USB), более вместительной памятью ROM и EEPROM, а в наборе шифров дополнен стойким современным криптостандартом AES.

В приложениях, связанных с оснащением новых «электронных» паспортов технологией RFID, чипы SmartMX являются общепринятым, де факто стандартным решением по всему миру.

[КОНЕЦ ВРЕЗКИ]

Технические нюансы

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

Криптографические операции, которые способен выполнять чип, реализованы на аппаратном уровне в виде так называемого регистра сдвига с линейной обратной связью, или LFSR (linear feedback shift register) и «фильтр-функции» для усложнения генерируемой шифр-последовательности.

Этот криптоалгоритм, носящий название CRYPTO1, является коммерческой тайной NXP и никогда не публиковался для независимого анализа.

Таким образом, безопасность карт Mifare Classic в значительной степени опирается на то, что устройство криптоалгоритма хранится в тайне. Такой подход принято именовать «безопасность через неясность» (security by obscurity), причем среди большинства серьезных криптографов этот путь считается в корне ошибочным и бессчетное количество раз скомпрометированным. Не стал исключением и случай с CRYPTO1.

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

Делается это предъявлением какой-либо известной обеим сторонам секретной информации, так называемого разделяемого секрета (или, иначе, общего криптоключа). Обе стороны, в данном случае карта Mifare и считывающий ее прибор картридер, выполняют определенные операции, а затем сверяют получившиеся результаты друг друга, дабы быть уверенными в легитимности оппонента.

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

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

1. Все карты и все картридеры, используемые в каком-то одном приложении, имеют одни и те же ключи для аутентификации. Это общепринятая ситуация для карт в системах контроля доступа.

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

[ВРЕЗКА]

Хронология взлома

Взлом Mifare Ultralight. В мае-июне 2007 года два студента Амстердамского университета (Pieter Siekerman, Maurits van der Schee) проанализировали защиту самой простой версии RFID-чипов Mifare – в карточках Mifare Ultralight, используемых в качестве картонных одноразовых билетов на транспорте. Студенты выявили три серьезных проблемы, что позволило им на основе всего лишь единственной карточки сделать устройство для бесплатного проезда неограниченное число раз. Две из этих проблем решаются доработкой программы в считывателе турникета, что было вскоре и сделано голландскими транспортниками. Третья проблема решается только сменой архитектуры системы.

Mifare RFID

Германская атака на Mifare Classic. В декабре 2007 года германские исследователи Карстен Ноль и Хенрик Плётц (Karsten Nohl, Henryk Plötz) в рамках хакерской конференции 24th Chaos Communication Congress в Берлине продемонстрировали свои результаты по обратной инженерной разработке чипа карты Mifare Classic. Они применили технически один из самых сложных методов разрушающего анализа, последовательно удаляя слои чипа друг за другом и восстанавливая схематику по фотоснимкам слоев, сделанным с помощью микроскопа. Крайне трудоемкий процесс выделения и распознавания типовых элементов в схеме оказалось возможным автоматизировать с помощью специальной программы. В итоге же удалось найти участок, реализующий секретный криптоалгоритм CRYPTO1, и в общих чертах восстановить его работу. В марте 2008 Карстен Ноль опубликовал в Сети статью с итогами полного восстановления схемы CRYPTO1 и первичных результатов ее криптоанализа. Из этих результатов стало очевидно, что реализованный в Mifare Classic шифр имеет серьезнейшие слабости. Причем очень похоже, что схема ослаблена искусственно для облегчения вскрытия тому, кто знает «секрет».

Mifare RFID Circuit Images

Атаки университета Радбоуд. В январе 2008 Роэль Вердулт (Roel Verdult), студент голландского университета Radboud в Неймегене, вновь проанализировал на предмет слабостей модернизированную систему проездных билетов на основе Mifare Ultralight. И показал, что может изготовить портативное устройство клонирования ценой около 40 евро, с помощью которого одноразовая карточка позволят ездить неограниченное число раз. В марте 2008 коллектив исследователей этого же университета, работавший в контакте с немцами Нолем и Плётцем, с помощью собственных, неразрушающих методов повторил полное восстановление криптосхемы Mifare Classic. При этом было наглядно продемонстрировано, что знание слабостей шифра позволяет незаметно для владельца и с минимум затрат клонировать карточки-пропуска на охраняемые объекты или долгосрочные проездные билеты.

[КОНЕЦ ВРЕЗКИ]

Слабости в защите Mifare Classic

Голландская группа Digital Security обнаружила серьезные дефекты в механизме аутентификации карт Mifare Classic. Во-первых, как уже сказано, это позволило сделать полное обратное восстановление схемы CRYPTO1 и сконструировать собственную реализацию этого криптоалгоритма. Сделано это было с помощью известных в криптоанализе методов генерации сбоев.

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

Во-вторых, когда криптоалгоритм стал известен, стало возможным отыскать нужные секретные ключи. Например, усовершенствованным методом лобового вскрытия, т.е. тотального перебора всех возможных ключевых комбинаций. Ибо длина ключа в CRYPTO1 оказалась всего лишь 48 бит, так что при наличии подходящего быстрого вычислителя на полный «тупой» перебор в современных условиях требуется всего 9-10 часов работы.

Правда, стоит такая техника довольно недешево, однако голландским исследователям она и не понадобилась. Ибо CRYPTO1, как выяснилось, имеет не только короткую длину рабочего регистра (ключа), но и слабую функцию усложнения. Что позволило довольно легко отыскивать секретный ключ без лобового вскрытия.

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

Надо просто опросить ее ложными запросами, по таблице установить одну часть ключа, а затем быстрым перебором остальных бит восстановить недостающую часть и получить ключ полностью.

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

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

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

Эксплуатация слабостей и контрмеры

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

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

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

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

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

По этой причине специалистами крайне рекомендуется усиление традиционных мер контроля. Доступ на охраняемые объекты необходимо защищать сразу несколькими способами, среди которых RFID-карта обеспечивает лишь один из механизмов контроля.

[ВРЕЗКА]

Результаты германских коллег

Когда немцы Карстен Ноль и Хенрик Плётц делали доклад на берлинской конференции 24CCC, они рассказали о своем вскрытии RFID-чипа Mifare Classic и восстановлении криптосхемы алгоритма CRYPTO1 лишь в самых общих чертах. Благоразумно решив не вдаваться в существенные подробности и не подставлять себя под обвинения о разглашении чужих коммерческих тайн и хищении интеллектуальной собственности.

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

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

Отчет TNO был опубликован в последних числах февраля. А немцы к тому времени уже не только восстановили всю криптосхему полностью, но и выявили в ней очень серьезные статистические слабости. Что позволило им почти мгновенно по ответным реакциям чипа восстанавливать 12 из 48 бит секретного ключа.

Остальные биты приличный современный компьютер восстанавливает перебором за несколько минут, а специализированный вычислитель на основе FPGA, чипов с перепрограммируемой логикой, так и вообще за секунды. По этой причине заключение официальной экспертизы TNO для голландских властей с точки зрения немцев выглядело как серьезно вводящая в заблуждение неправда.

Единственно правильной реакцией в таких условиях была сочтена открытая публикация результатов криптоанализа шифра Mifare Classic в интернете. То, что выкладывание в Сеть этой работы («Cryptanalysis of Crypto-1» by Karsten Nohl) практически день в день совпало с публикацией очень созвучных результатов в университете Radboud – это, скорее всего, просто совпадение. Но совпадение очень выразительное.

[КОНЕЦ ВРЕЗКИ]

Проблемы и вопросы

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

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

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

Конкретно в ситуации со взломом Mifare Classic и голландские, и немецкие хакеры пошли именно по этому пути – своевременно предупредив сообщество безопасности и заинтересованные инстанции об угрозе, но удержав при себе принципиально важные детали об устройстве слабой криптосхемы.

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

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

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

The End

[МЕЖКОЛОННЫЕ ВРЕЗКИ]

* * *

По данным аналитиков Gartner, бизнес на RFID-чипах стремительно растет. В 2007 году доходы здесь составили 917,3 млн. долларов, а в 2008 должны вырасти до 1,2 миллиарда или более чем на 30%. К 2012 году доходы прогнозируются в сумме 3,5 миллиарда долларов.

* * *

Контроль доступа исторически считается одним из самых старых применений бесконтактных карт. Среди наиболее крупных систем доступа на базе платформы Mifare фигурируют министерство обороны США и министерство транспорта США. Какого типа чипы используются в электронных пропусках американских правительственных структур, пресса не уточняет.

* * *

В транспортном секторе освоено наибольшее число проектов с использованием карт Mifare. Разной сложности проекты по оплате проезда реализованы во Франции, Германии, Польше, России, Турции, Великобритании, Австралии, Китае, Индии, Японии, Корее, Малайзии, Сингапуре, Аргентине, Бразилии, Канаде, Колумбии, Украине. Города США, как ни странно, в этот список стали входить лишь в последнее время.

[КОНЕЦ]