В последнее время появилось много слухов о небезопасности RFID-решений.
В своем большинстве эти слухи основываются на экспериментах по
"взлому". Причем в случае успеха непросвещенный народ ровняет все
RFID-решения под одну гребенку. Дескать, "взломали" одно - "взломают" и
другое.
Один из таких экспериментов описан в статье Vulnerabilities in First-Generation
RFID-enabled Credit Cards (Thomas S. Heydt-Benjamin, Daniel V. Bailey,
Kevin Fu, Ari Juels, and Tom O'Hare).
В данной статье мы рассмотрим безопасность Mifare Standard относительно
методов "взлома", описанных в вышеупомянутой работе. Сначала напомним
основные элементы безопасности Mifare Standard:
Уникальный 4-байтовый серийный номер карты (4294967296 комбинаций);
Двухсторонняя авторизация из трех стадий (Three-Pass Authrntication) - (ISO/IEC DIS9798-2);
Индивидуальная пара ключей для каждого сектора;
Шифрование данных в радиоканале.
Теперь разберем использованные в статье методы "взлома" и примерим их к
Mifare Standard.
Tracking (отслеживание)
Смысл такого "взлома" в нарушении privacy (т.е. права на личную жизнь)
путем определения факта использования карты с момента последней
транзакции. Т.е. ридер А при работе с картой С неким образом запоминает ее
состояние. Когда в следующий раз карта С используется с ридером А, он
сравнивает ее прошлое состояние с текущим. Американские ученые из MIT
узрели в этом нарушение privacy, однако специалисты нешей компании имеют
диаметрально противоположное мнение. А именно - такое отслеживание в
ряде случаев просто необходимо для обеспечения безопасности системы в целом.
Обсуждать более подробно этот вопрос имеет смысл лишь в контексте
конкретных систем (ибо надо принимать в расчет все нюансы реализации).
К Mifare Standard такой "взлом" вообще не имеет никакого отношения, ибо
происходит на "пользовательском" уровне (уровне использования карты), а не
на уровне носителя.
Skimming (скрытое чтение)
Суть этой атаки в чтении карты неавторизованным для применения устройством.
Довольно распространенный слух в стиле "Вы едете на эскалаторе, а в это время
хакер ворует Ваши деньги". Или более прозаичный вариант: в бумажнике лежит
несколько RFID-карт, Вы подносите бумажник к ридеру (метро, магазин,
парковка...), а тот работает не только со своей картой, но и читает все
остальные. Так, чтобы было. Как уже отмечалось выше, Mifare Standard
предлагает закрывать доступ к каждому сектору индивидуальной парой ключей.
Поэтому "чужой" ридер ничего кроме номера карты прочитать не сможет.
Точнее сможет прочитать лишь то, что ему позволили разработчики системы,
оставив стандартные права доступа и ключи к некоторым секторам.
Eavesdropping (подслушивание)
Эта атака заключается в прослушивании и записи радиотрафика между картой и
ридером сторонней антенной во время транзакции. Применительно к Mifare
Standard такой метод во-первых трудно реализуем (т.к. "шпионская" антенна
должна находиться на небольшом расстоянии от пары ридер-карта), а
во-вторых абсолютно бесполезен. Для пояснения рассмотрим подробнее
three-pass authentication.
Авторизация к сектору в Mifare Standard происходит следующим образом:
1). Ридер указывает сектор к которому хочет получить доступ и выбирает
ключ А или Б.
2). Карта читает секретный ключ и условия доступа к сектору из
трейлера (Sector trailer). Затем карта посылает случайное число ридеру
(стадия 1).
3). Ридер вычисляет ответ, используя секретный ключ и дополнительное
значение. Ответ вместе со случайным значением от ридера передается карте
(стадия 2).
4). Карта проверяет ответ ридера, сравнивая его с собственным
вариантом. Затем вычисляет ответ на вызов и передает его (стадия 3).
5). Ридер проверяет ответ карты, сравнивая его с ожидаемым.
После передачи первого случайного числа связь между ридером и картой
шифруется. Главным преимуществом в такой авторизации является то, что ключ
не передается по радиоканалу. После авторизации все операции с памятью
карты также шифруются. Таким образом, "подслушав" интерфейс между картой и
ридером во время транзакции, можно получить лишь набор байт.
Replay and relay (повтор и подмена)
В этом типе атаки взломщик передает точный ответ метки, записанный во
время прошлой транзакции. С Mifare Standard такой фокус не пройдет по
причине использования случайных чисел при каждой авторизации.
Cross contamination
Такой вид "взлома" заключается в считывании с чужой карты личной
информации (ФИО, номер и т.п.) и использовании ее в дальнейшем (например
при заказах в интернет-магазинах). Подобного рода атака не имеет никакого
отношения к самому Mifare Standard, а лишь к RFID-системе в целом. В
случае грамотной разработки системы на базе Mifare у злоумышленника не
будет возможности получения личных данных владельца карты.
Заключение
Mifare Standard обладает техническими возможностями для противодействия
атакам, рассмотренным в статье Vulnerabilities in First-Generation
RFID-enabled Credit Cards. Однако само по себе использование Mifare не
дает гарантий защищенности системы. Поэтому разработка должна
производиться опытными специалистами в данной области. Что бывает в случае
уделения недостаточного внимания как раз и описано в вышеупомянутой
работе. Как показала практика, этим страдают даже крупные западные
компании.
|