Статья опубликована в рамках: Научного журнала «Студенческий» № 20(274)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9, скачать журнал часть 10, скачать журнал часть 11, скачать журнал часть 12
АНАЛИЗ БЕЗОПАСНОСТИ ПРОТОКОЛА ЗАЩИЩЕННОГО КАНАЛА SCP10, РЕАЛИЗУЕМОГО ПО СПЕЦИФИКАЦИЯМ GLOBAL PLATFORM
SECURITY ANALYSIS OF THE SCP10 SECURE CHANNEL PROTOCOL IMPLEMENTED ACCORDING TO GLOBAL PLATFORM SPECIFICATIONS
Ilya Arkadiev
master's student, Department of Information Security, Moscow Technical University of Communications and Informatics,
Russia, Moscow
АННОТАЦИЯ
В статье рассматривается анализ безопасности протокола установления защищенного канала между смарт-картой и считывающим устройством – SCP10, реализуемого по спецификациям Global Platform.
ABSTRACT
The article examines the security analysis of the protocol for establishing a secure channel between a smart card and a reader - SCP10, implemented according to Global Platform specifications.
Ключевые слова: смарт-карта, APDU, SCP, защищенный канал,
Keywords: smart card, APDU; SCP, secure channel.
Введение
Развитие информационных технологий активно способствует распространению использования аппаратных средств безопасности, в частности, смарт-карт. Эти карты находят применение в различных сферах, таких как мобильная связь, банковские операции, электронный документооборот и другие. Однако, с увеличением областей применения смарт-карт возрастает и риск потенциальных угроз информационной безопасности со стороны злоумышленников. В процессе обмена данными между смарт-картой и считывающим устройством используются специальные команды APDU, которые могут содержать чувствительную информацию. Для обеспечения целостности и конфиденциальности таких команд было разработано семейство протоколов защищенного канала, известное как SCP (Secure Channel Protocol), которое продолжает развиваться и совершенствоваться. В статье рассматриваются спецификации протокола SCP10. Так как протокол использует асимметричную криптографию на основе RSA, он может быть подвергнут уязвимостям к классическим атакам на RSA. Цель статьи – проверка спецификаций для реализации протокола на уязвимости.
Анализ безопасности протокола SCP10
- Атака оракула заполнения в режиме транспортировки ключей
Спецификации GP частично покрывают риск атак на паддинг: нет специального кода ошибки для недействительных паддингов. Однако сам процесс расшифровки и декодирования может привести к утечке некоторойинформацию. Пример кода (листинг 1) показывает реализацию, соответствующую GP, в которой сообщение сначала расшифровывается, а затем разбирается.
Видно, что любая ошибка, возникающая во время этого процесса, выбрасывается как исключение Java внутри try/catch. На этом этапе можно отметить, что разбор вложенных структур, таких как TLV (Tag-Value-Length), может быть трудно выполнить за постоянное время. Поэтому покажем, как построить оракул подстановки на основе наблюдаемого времени выполнения.
Рисунок 1. Пример процедуры расшифрования в соответствии со спецификациями
- Оракул подстановки на основе времени
Рассматривая пример кода, злоумышленник посылает свои запросы как сообщения Perform Security в режиме транспортировки ключей. Затем измеряется время выполнения операции картой.
Цель атаки - построить оракул, различающий ситуации, когда карта останавливает свою работу из-за ошибки в заполнении или ошибки при парсинге. Выясняется, что разницу между этими двумя случаями можно выявить с достаточно высокой вероятностью.
На рисунке 1 представлены экспериментальные данные, выражающие частоту, с которой полезная нагрузка обрабатывается за определенное время (включая время связи), на основе 445000 измерений недействительного заполнения и 35000 измерений действительного паддинга.
Рисунок 2. Распределения частот времени выполнения операций для неверного заполнения (красный график) и верного заполнения, но неверного CRT (синий график)
Мы можем задать нашего оракула с помощью нескольких пороговых значений. Первое - 270 мс, при котором паддинг, скорее всего, не является валидным, второе - при 332 мс, при котором он, скорее всего, валиден. Оба эти порога позволяют сделать быстрый вывод, не прибегая к дальнейшим измерениям. Из-за частичного перекрытия второстепенных красных пиков и синей кривой во время атаки возможны некоторые ложные срабатывания. Это не помешает атаке, хотя и увеличит количество запросов.
- Результаты
Наш оракул подстановки позволяет нам проводить атаки Блейхенбахера как для расшифровки, так и для подделки подписей. Для дешифровки сообщений используются те сообщения, которые зашифрованные открытым ключом SD и содержащие сеансовые ключи. Для подделки подписи злоумышленник может захотеть подписать SHA-1 дайджест сертификата, чтобы выдать себя за SD.
Выводы
Было оценена безопасность по части уязвимости к атакам типа «Оракул заполнения» и было подтверждено, что хоть и нет явного оракула, сообщающего о неверности заполнения, однако оракулом может служить время выполнения операций. Таким образом, текущая версия протокола уязвима к данному типу атак.
Список литературы:
- GlobalPlatform Technology Secure Channel Protocol '10' Card Specification v2.3 – Amendment D Version 1.1.2 URL: https://globalplatform.org/wp-content/uploads/2014/07/GPC_2.3_D_SCP03_v1.1.2_PublicRelease.pdf
Оставить комментарий