Компьютерра - Журнал "Компьютерра" №728
Правильное управление криптографическими ключами - важная область исследований. Ошибки здесь часто приводят к серьезным последствиям для безопасности. Для случая Mifare Classic имеется два основных способа управления ключами.
1. Все карты и все кардридеры, используемые в одном приложении, имеют одни и те же ключи для аутентификации. Это общепринятый подход для карт в системах контроля доступа.
2. Каждая карта имеет свои собственные криптографические ключи. Для проверки ключей кардридер сначала должен определить, с какой именно картой начат обмен, а уже затем найти и вычислить связанные с нею ключи. Такая процедура именуется диверсификацией ключей и применяется в более разветвленных приложениях.
Хронология взломаВзлом Mifare Ultralight. В мае-июне 2007 года студенты Амстердамского университета Питер Зикерман и Морис ван дер Шее проанализировали защиту самой простой версии RFID-чипов Mifare - в карточках Mifare Ultralight, используемых в качестве картонных одноразовых билетов на транспорте. Студенты выявили три серьезных проблемы, что позволило им на основе всего лишь единственной карточки изготовить устройство для бесплатного проезда неограниченное число раз. Две из этих проблем решаются доработкой программы в считывателе турникета, что было вскоре и сделано голландскими транспортниками. Третья проблема решается только сменой архитектуры системы.
Германская атака на Mifare Classic. В декабре 2007 года германские исследователи Карстен Ноль и Хенрик Плётц в рамках хакерской конференции 24th Chaos Communication Congress в Берлине продемонстрировали свои результаты по обратной инженерной разработке чипа карты Mifare Classic. Они применили технически один из самых сложных методов разрушающего анализа, удаляя один слой чипа за другим и восстанавливая схематику по фотоснимкам слоев, сделанным с помощью микроскопа. Крайне трудоемкий процесс выделения и распознавания типовых элементов в схеме оказалось возможным автоматизировать с помощью специальной программы, в итоге удалось найти участок, реализующий секретный криптоалгоритм Crypto-1, и восстановить его работу в общих чертах. В марте 2008-го Карстен Ноль опубликовал в Сети статью с итогами полного восстановления схемы Crypto-1 и первичных результатов ее криптоанализа. В статье показано, что реализованный в Mifare Classic шифр имеет серьезнейшие слабости. Причем очень похоже, что схема ослаблена искусственно, дабы облегчить вскрытие тому, кто знает "секрет".
Атаки университета Радбоуд. В январе 2008-го Роэль Вердулт, студент голландского университета Radboud в Неймегене, вновь проанализировал на предмет слабостей модернизированную систему проездных билетов на основе Mifare Ultralight. И показал, что может изготовить портативное устройство клонирования ценой около 40 евро, с помощью которого одноразовая карточка позволяет ездить неограниченное число раз. Два месяца спустя исследователи того же университета, работавшие в контакте с Нолем и Плётцем, с помощью собственных, неразрушающих методов повторили полное восстановление криптосхемы Mifare Classic. При этом наглядно продемонстрировав, что знание слабостей шифра позволяет незаметно для владельца и с минимумом затрат клонировать карточки-пропуска на охраняемые объекты или долгосрочные проездные билеты.
Слабости в защите Mifare Classic
Рост
По данным аналитиков Gartner, бизнес на RFID-чипах стремительно растет. В 2007 году доходы здесь составили 917,3 млн. долларов, а в 2008-м должны вырасти до 1,2 млрд., или более чем на 30%. К 2012 году прогнозируются доходы в размере 3,5 млрд. долларов.
Голландская группа Digital Security обнаружила серьезные дефекты в механизме аутентификации карт Mifare Classic. Во-первых, как уже сказано, это позволило сделать полное обратное восстановление схемы Crypto-1 и сконструировать собственную реализацию криптоалгоритма. Сделано это было с помощью известных в криптоанализе методов генерации сбоев. Если атакующая сторона при аутентификации не в точности следует правилам обмена, предписываемым протоколом, то в принципе - по нештатным реакциям - имеется возможность получать дополнительную информацию об устройстве неизвестной схемы. Целенаправленно манипулируя сигналами на входе и комбинируя их с ответной информацией, иногда можно выяснить, как устроен "черный ящик". Что и было сделано в данном случае.
Во-вторых, когда криптоалгоритм стал известен, стало возможным отыскать нужные секретные ключи. Например, усовершенствованным методом лобового вскрытия, то есть тотального перебора всех возможных ключевых комбинаций. Ибо длина ключа в Crypto-1 оказалась всего лишь 48 бит, так что при наличии подходящего быстрого вычислителя на полный "тупой" перебор требуется всего 9–10 часов работы. Правда, стоит такая техника недешево, однако голландским исследователям она и не понадобилась. Ибо Crypto-1, как выяснилось, имеет не только малую длину рабочего регистра (ключа), но и слабую функцию усложнения. Что позволило довольно легко отыскивать секретный ключ без лобового вскрытия. Специально подобранный вид запросов на (заведомо неудачную) аутентификацию дает в ответах некоторую информацию о битах секретного ключа. Если один раз заранее собрать результаты всех таких ответов в большую просмотровую таблицу, коль скоро устройство Crypto-1 уже известно, то атака на карту с неизвестным ключом становится быстрой и очень простой. Надо лишь загрузить ее ложными запросами, по таблице установить одну часть ключа, а затем быстрым перебором остальных бит восстановить недостающую часть и получить ключ полностью.
Поскольку разработанная голландцами атака предназначена лишь для подтверждения концепции, а не для реальных хищений личности через клонирование карт, при демонстрации потребовалось многократное опрашивание карты-жертвы для конструирования просмотровой таблицы. Чтобы записать результаты попыток "неудачной" аутентификации в компьютер, потребовалось несколько часов. Однако даже такой не слишком элегантный способ можно реализовать и в жизни, если незаметно расположить антенну кардридера поблизости от карты жертвы на несколько часов. Вдобавок есть все предпосылки к тому, чтобы оптимизировать атаку и радикально сократить число опросов карты-жертвы.
Результаты германских коллегКогда немцы Карстен Ноль и Хенрик Плётц делали доклад на берлинской конференции 24CCC, они рассказали о своем вскрытии RFID-чипа Mifare Classic и восстановлении криптосхемы алгоритма Crypto-1 лишь в самых общих чертах. Благоразумно решив не вдаваться в подробности и не подставлять себя под обвинения о разглашении чужих коммерческих тайн и хищении интеллектуальной собственности.
Для голландских коллег из университета Radboud, к примеру, этой информации оказалось вполне достаточно, чтобы и подтвердить результаты немцев, и придумать собственную практичную атаку. Однако голландская Национальная организация прикладных научных исследований (TNO) по заказу правительства страны провела собственное изучение доклада немцев и сделала существенно иные выводы. В целом подтвердив результаты немцев, эксперты TNO в официальном заключении сделали вывод, что описанная атака не будет представлять реальной угрозы для Mifare Classic на протяжении по крайней мере еще двух лет.
Отчет TNO был опубликован в последних числах февраля. А немцы к тому времени уже не только полностью восстановили криптосхему, но и выявили в ней серьезные статистические слабости. Что позволило им почти мгновенно по ответным реакциям чипа восстанавливать 12 из 48 бит секретного ключа. Остальные биты приличный современный компьютер восстанавливает перебором за несколько минут, а специализированный вычислитель на основе FPGA, чипов с перепрограммируемой логикой, - вообще за секунды. По этой причине заключение официальной экспертизы TNO, с точки зрения немцев, выглядело как вводящая в заблуждение неправда.
Единственно правильной реакцией в таких условиях была сочтена открытая публикация результатов криптоанализа шифра Mifare Classic в Интернете. То, что онлайновая публикация этой работы ("Cryptanalysis of Crypto-1" by Karsten Nohl) практически день в день совпала с публикацией созвучных результатов, полученных в университете Radboud, скорее всего совпадение. Но совпадение очень выразительное.
Эксплуатация слабостей и контрмеры
Как только секретный криптоключ извлечен из чипа карты, появляются самые разные возможности для злоупотреблений. Насколько тяжкими будут их последствия, зависит от ситуации. Если все карты доступа имеют один и тот же ключ, то вся система контроля оказывается в высшей степени уязвима. Правда, выразить эту уязвимость в цифрах не представляется возможным, поскольку открытой информации об объектах, охраняемых с помощью Mifare Classic, никто не публикует. Но следует подчеркнуть, что именно для такой ситуации голландская группа продемонстрировала реальную атаку, когда карта-пропуск одного из сотрудников университета была "незаметно" для него опрошена и клонирована с помощью портативного кардридера. Понятно, что владелец карты может даже не догадываться об этом.