Безопасность chip карт

Mackie

Carder
Messages
72
Reputation
15
Reaction score
22
Points
8
Безопасность микропроцессорных карт

Существует неоспоримый интерес к микропроцессорным картам, несмотря на
неодинаковый уровень проникновения их на рынки разных стран. Здесь дается обзор
средств обеспечения безопасности для смарт-карт, приводится оценка уровня зашиты.
Содержится описание многоцелевых карт (содержащих больше одного приложения), а
также управления такими приложениями. Заканчивается обзором основных стандартов
для многоцелевых карт и спецификации ЕМV (по первым буквам названий
разработчиков спецификации: Europay, MasterCard, Visa).
1. Классификация и области использования микропроцессорных
карт
Впервые карты с интегральными схемами (ИС) были запатентованы в 70-х г в США,
Японии и Франции, а их полномасштабная коммерческая разработка началась в Японии
в 70-х годах, во Франции - в 80-х. В настоящее время наблюдается тенденции
повсеместного замещения карт с магнитной полосой на микропроцессорные карты, но в
приложениях электронной коммерции, требовательных к объему памяти, вычислительной
производительности и безопасности.
Карты бывают следующих видов:
Карты с штриховыми кодами (cards with bar codes).
Карты с магнитной полосой (magnetic strip cards). Эти карты имеют
ограниченный объем памяти и не могут быть запрограммированы; как следствие - они
не могу использованы в приложениях, где необходимо принятие решений и существуют
повышенные требования к безопасности.
Карты с интегральными схемами (integrated circuit cards):
- карты памяти (memory cards). В них используется чип небольшой
производительности, позволяющий хранить данные и даже обеспечивать
минимальную их защиту. Производительность таких карт ориентирована на
осуществление предоплаченных платежей (например, телефонные карты);
- карты жесткой логики (wired-logic cards). Такие карты используются в приложениях,
где требуется минимальный контроль доступа к зашифрованным телевизионным каналам.
Стоимость таких карт составляет около 1 доллара США;
- микропроцессорные карты (microprocessor cards) или смарт-карты (smart cards). Это
программируемые устройства, способные производить сложные вычисления. Несмотря
на небольшую толщину (0,76 мм), карта содержит миниатюрный компьютер, включая
операционную систему, память и микропроцессор. Такие карты могут поддерживать
развитые методики шифрования для аутентификации сторон, гарантирования целостно-
сти данных и конфиденциальности. В отличие от карт с магнитной полосой авторизация
платежа может быть произведена в режиме offline.
Карты с ИС могут применяться в трех категориях коммерческих взаимоотношений:
B2B, В2С и face-to-face. Техническая развитость таких карт является результатом
слияния нескольких технологий - микроэлектроники, ПО для осуществления транзакций и
криптографических методов. Цена микропроцессорных карт остается относительно высокой
и колеблется в диапазоне от 5 до 20 долларов США; на рынке представлены
несколько совместимых между собой операционных систем и языков программирования.
Первая сфера применения микропроцессорных карт - это закрытые системы,
собственные разработки фирм. Пример - телефонные карты, распознаваемые только сетью
одного оператора; карты для торговых автоматов (парковочные автоматы, турникеты
общественного транспорта и т. п.). На сегодняшний день смарт-карты могут быть
классифицированы по следующим критериям:
Продолжительность использования карты (существуют одноразовые или «перезаря-
жаемые» карты),
«Интеллект» карты, который варьируется от простой памяти до использования жест-
кой логики и программируемых микропроцессоров.
Необходимость в прямом контакте считывателя и способ обеспечения энергией
(существуют контактные и бесконтактные карты). Контактные карты могут передавать данные на
скоростях до 9.6 Кб/с, бесконтактные - до 106 Кб/с. Источником питания для бесконтактных карт
может служить электромагнитная индукция, что делает их привлекательными для

железнодорожных и автотранспортных компаний для оплаты за проезд.
Характеристика приложения карты. Различают карты с одним приложением и карты
с несколькими приложениями - многоцелевые карты.
Телефонные карты - это обычно одноразовые контактные карты с одним приложением,
их стоимость составляет около 0.5 доллара США. Общее количество телефонных единиц
соответствует количеству ячеек памяти. При использовании ячейки последовательно очи-
щаются. Объем памяти варьируется от 8 до 256 Кб, но может достигать сотен мегабит.
Многоцелевые карты могут предлагать персонализированные сервисы, такие, как элект-
ронный пропуск, удостоверение личности, медицинская карта, зачетная книжка, электронный
кошелек и т. п. Присутствие нескольких приложений на одной карте требует изоляции областей
памяти, используемых каждым приложением. Если доступ к карте зависит от PIN-кода, связь
с каждым приложением можно контролировать при помощи второго комплекта секретных
ключей, имеющегося у поставщика приложения и покупателя.
На сегодняшний день микропроцессорные карты могут являться:
Банковскими картами.
Предоплаченными картами. Если хранящиеся в карте значения являются фидуци-
арными деньгами, карта является электронным кошельком. Небанковский оператор
может предоставлять только электронные жетоны для какой-либо специальной услуги.
и Картами, содержащими переносимые электронные документы (медицинские
карты, зачетные книжки и т. и.). Такие карты используются некоторыми европейскими
университетами. Примеры применения таких карт:
- SmameVitale во Франции иVersicherten-Karte в Германии - способ
доступа к информационной системе сбора и хранения административной информации;
- Hemacard в Бельгии для людей, попадающих в группу риска, - беременные
женщины, больные раком и другими тяжелыми заболеваниями.
Контроль доступа владельца карты куда-либо или к чему-либо может осуществляться
физически (доступ на предприятия, в отели и т. п.) или логически (доступ к программному
обеспечению, секретным базам данных и т. п.). В этом случае карта выполняет роль порта-
тивного калькулятора, который использует динамические пароли для авторизации доступа
пользователя, Этот тип приложений характерен скорее для систем обеспечения безопасно-
сти, чем для электронных платежей.
Адаптация карт с ИС к применению в компьютерах. Было предпринято несколько
попыток сделать микропроцессорную карту стандартным оборудованием персонального
компьютера. Основные инициативы в этой области - создание спецификаций OpenCard
Framework (OCF), PC SC и Java Card. Также создана экспериментальная файловая система
UNIX для смарт-карт.
OCF - продукт консорциума OpenCard, представляющий собой общий интерфейс про-
граммирования считывателей смарт-карт и приложений карты. Он основан на технологии
Java и несовместим с языками С и C++. OCF поддерживает считыватели с несколькими
слотами для доступа одновременно более чем к одной карте; эта функция полезна в
финансовых и медицинских приложениях, где требуется присутствие главной карты (мастер
- карты) для разрешения доступа ко второй карте, которая может принадлежать заказчику
или пациенту.
PC/SC является сокращенным вариантом «Спецификации интероперабельности для
микропроцессорных карт и персональных компьютерных систем» («Interoperability Specification
for Integrated Circuit Cards and Personal Computer Systems»), созданной рабочей группой
представителей ведущих производителей микропроцессорных карт и персональных
компьютеров: Bull CP8, GemPlus, Schlumberger, Hewlett-Packard, IBM, Sun и Microsoft..
Спецификация написана для ОС Windows и поддерживает множество языков
программирования. Microsoft разработала собственную криптографическую библиотеку -
CryptoAPI, используемую Windows для доступа к криптографическимфункциям и
сертификатам, хранящимся в смарт-картах. CryptoAPI также позволяет осуществлять
безопасную передаxу сообщений и управление сертификатами. Эта библиотека попадает под
законодательное ограничение США на экспорт криптографического программного обеспечения.
Спецификация Java Card определяет подмножество языка Java для
использования в микропроцессорных картах. Использование Java позволяет разработчикам
создавать приложения для смарт-карт, которые не зависят от типа микропроцессора и
операционной системы. Портируемость приложений достигается за счет использования
виртуальной машины Java поверх операционной системы.

1.1. Карты с контактной площадкой
В картах с контактной площадкой (integrated circuit cards with contacts) тактовая
частота варьируется от 3.5 до 5 МГц, напряжение питания - от 3 до 5 В. В чипах
предыдущего поколения программируемая память работала от источника питания 5 - 15 В и
даже 21 В. Прогресс микроэлектроники сделал ненужным дополнительный источник
питания, что повысило устойчивость к атакам через изменение напряжения питания. Более
того, стало возможным использование освободившегося контакта для двусторонней
(дуплексной) передачи данных.
Карта с ИС имеет 8 контактов, стойких к механическим повреждениям, коррозии,
загрязнению и повреждению химреактивами (рис. 13.1). Расположение контактов
определяется стандартом, однако фирмы-производители могут по-разному определять
назначение контактов.
Считыватели обычно комплектуются механизмом автоматического захвата карты
при вставке ее в слот. Это повышает надежность считывания и «вандалоустойчивость»
(правда, за счет увеличения сложности устройства и стоимости эксплуатации).
Рис. 13.1. Контакты карты с ИС
Микропроцессорные карты имеют два вида памяти:
• постоянное запоминающее устройство (ПЗУ);
• оперативное запоминающее устройство (ОЗУ).
ПЗУ содержит маску карты длиной несколько килобит, в которой содержится
операционная система. В ОЗУ хранятся промежуточные результаты вычислении и
переменные. Статическое ОЗУ в отличие от динамического ОЗУ не требует
периодического обновления содержимого для предотвращения потери данных.
Содержимое ПЗУ не зависит от источника питания. ПЗУ бывает следующих видов:


программируемое постоянное запоминающее устройство (ППЗУ);
стираемое программируемое постоянное запоминающее устройство (СППЗУ).
Содержимое ППЗУ можно стереть только воздействием ультрафиолетового излучения.
Этот тип памяти обычно используется в одноразовых картах. СППЗУ используется в програм-
мируемых картах для хранения ключей шифрования и других изменяемых значений. Для записи
значения в ячейку СППЗУ необходимо два такта: первый - для стирания информации, второй - для
записи. Использование новых видов памяти, таких, как флэш-память или ферритовая память
(FeRAM), позволяет уменьшить время записи и потребление энергии.
В настоящее время в картах используются 8-битовые процессоры, ПЗУ на 16 Кбайт. ОЗУ
256 или 512 байт и ПИЗУ 3-8 Кбайт. С функциональной точки зрения память микропроцес-
сорной карты организована в соответствии с иерархией зон:
o Производственная зона - это часть памяти, записанная до персонализации.
Содержит номер партии подложки чипа, название производителя подложки и ее серийный
номер, серийный номер карты и идентификатор поставщика карты.
o Секретная зона. В ней содержится конфиденциальная информация владельца карты
-PIN-код, секретные криптографические ключи и персональные файлы данных.
o Транзакционная или рабочая зона, в которой сохраняется временная
конфиденциальная информация о транзакции (например, сумма транзакции). Эта область
памяти доступна для всех приложений многоцелевой карты.
o Зона контроля доступа, в которой микропроцессор ведет журнал попыток
доступа к секретной или транзакционной зоне (если эта зона защищена). Использование

такой зоны позволяет блокировать карту после нескольких неудачных попыток доступа
(обычно не более трех).
o Зона свободного доступа, в которой содержится не конфиденциальная информация,
такая, как имена владельца карты и эмитента, а также срок действия карты. К этой зоне имеют
доступ все приложения многоцелевой карты.
В настоящее время используемая операционная система зависит от производителя
карты. Одной из наиболее часто используемых масок в картах с одним приложением является
маска М4. Среди производителей масок для многоцелевых карт существует два основных
конкурента - консорциум Maosco, возглавляемый Mastercard и включающий в себя Hitachi,
Gemplus и Siemens. Они предлагают операционную систему Multos, разработанную компанией
Mondex International. Visa International возглавляет консорциум JavaSoft при поддержке Sun
Microsystems, Schlumberger, Motorola и Gemplus, который предлагает свою спецификацию
карты, основанную на технологии Java.
2. Безопасность микропроцессорных карт
Микропроцессорная карта обеспечивает защиту секретных данных, хранящихся в памя-
ти карты, а также безопасный доступ к услугам. Цель процесса обеспечения безопасности
заключается в:
• защите от подделки на всех стадиях производства,
• защите от кражи приложений и зашитых в ПЗУ программ безопасности,
• защите хранящейся в карте информации,
• обнаружении и предотвращении попыток незаконного использования карты.
Каждая фаза жизненного цикла карты подразумевает реализацию достаточного уровня
безопасности для перехода на следующий уровень.
Существует семь этапов выпуска, персонализации и распространения микропроцес-
сорных карт.
1. Разработка чипа.
2. Разработка встроенного программного обеспечения (firmware).
3. Создание кремниевых подложек.
4. Размещение на подложке чипа и встроенного ПО, упаковка чипа и финальное
тестирование.
5. Предперсонализация с добавлением программ в зависимости от назначения
карты и их тестирование.
6. Персонализация чипа посредством размещения в памяти карты имен эмитента и
владельца и прикладных приложений.
7. Выпуск смарт-карты в виде пластиковой карты с рельефной печатью, печатью
логотипов; распространение карты.
Для производства карты необходимы следующие участники:
•разработчик интегральных схем (ИС) и встроенного ПО;
•производитель ИС и разработчик ПО безопасности;
•сертификационный центр;
•разработчик приложений;
•производитель собственно носителя чипа - пластиковой карты (дизайн,
рельефная печать, печать логотипов и т. п.);
•эмитент карты - организация, отвечающая за содержимое карты и
доставку конечному пользователю.
На всех стадиях производства и транспортировки карты должен обеспечиваться необходимый
уровень безопасности. На этапе разработки необходимо обеспечить безопасность проектной
документации на ИС, ПО, предперсонализационные процедуры и безопасность
производственной среды. Политика безопасности заключается в определении всех возможных видов
угроз и разработке соответствующих защитных мер при производстве и транспортировке.
Устанавливается контроль за производственной средой - материалами и инструментами произ-
водства, хорошими и дефектными экземплярами. Потенциальной угрозой является раскрытие
требований к продукции, модификация или кража материалов или готовых товаров, модификация
ПО (включая микропрограмму ИС и операционную систему).
Производители ИС начинают с производства кремниевой подложки, на которой размещается
несколько ИС. На этом этапе каждая ИС подвергается тестированию на предмет работоспо-
собности микропроцессора. Рабочие экземпляры блокируются при помощи симметричного

шифрования ключом кремниевой мастерской (фабричным ключом) длиной 8 или 16 бит; на
подложку наносится номер партии и идентификатор производителя. Фабричный ключ (fabrication
key) вычисляется при помощи мастер - ключа и использования алгоритма диверсификации
(diversification). Этот алгоритм позволяет вычислить фабричный ключ на основе мастер -ключа и
номера карты. Такой метод позволяет центру сертификации аутентифицировать все партии, не
сохраняя все ключи. На конечном этапе бракованные ИС вырезаются из подложки, подложка с
работоспособными чипами отправляется производителю карт.
Во время предперсонализации поставщик карт вырезает из подложки отдельные чипы,
которые затем запрессовываются в пластиковую карту. На обратную сторону карты может быть
помешен логотип производителя. После этого чип тестируется, и в случае успешного
прохождения тестов поставщик разблокирует чип при помощи фабричного ключа. Затем он
загружает свою операционную систему, наносит серийный номер карты и блокирует прямую
запись в память. С этого момента доступ к памяти осуществляется через логическую
адресацию для зашиты записанных данных от изменения или несанкционированного доступа.
Перед доставкой поставщику ПО карта снова блокируется, на этот раз передперсонализа-
ционпым (или транспортным) ключом эмитента.
На этапе персонализации поставщик ПО переносит на карту файлы приложений, персо-
нальную информацию владельца (идентификатор владельца, PIN-код и ключи разблокиро-
вания). Далее карта поставляется конечному пользователю.
При использовании карты в зависимости от коммерческого предложения владельцу может
быть предоставлена возможность изменять некоторые персональные параметры (например,
PIN-код).
Карта может стать недействительной по нескольким причинам:
oИстек срок годности карты. В случае карты с одним приложением срок годности
карты соответствует сроку годности приложения. Для многоцелевой карты срок годности соот-
ветствует сроку годности мастер -файл а. Когда истекает срок годности приложения,
операционная система блокирует операции записи и изменения данных; операция чтения не
блокируется для предоставления возможности последующего анализа произведенных операций.
oЗаполнены все возможные ячейки памяти, зарезервированные для данных.
Если введен правильный PIN-код, сохраняется возможность только считывать содержимое
памяти карты. Для сохранения доступа к услуге или сервису, предоставляемому картой,
необходима новая карта.
oИспользование в мошеннических целях или кража карты. В этом случае
организация-эмитент одновременно блокирует PIN карты и ключ разблокирования. Частичная
блокировка (например, блокировка отдельного PIN) влияет только на приложение, исполь-
зующее этот PIN и может быть снята владельцем приложения при помощи
соответствующего ключа разблокирования.
В таблице 13.1 приведены условия доступа к памяти смарт-карты на различных этапах
жизненного цикла карты.

2.1. Физическая безопасность карты при ее использовании
Архитектура безопасности карт, используемых в финансовых транзакциях, стандартизо-
вана ISO 10102. Стандарт ANSI X9.17/ISO 8732 регламентирует процедуры управления
ключами. Пластиковая карта содержит элементы, предназначенные для идентификации
эмитента и персонализации (установления связи между владельцем и картой). Расположение
таких элементов может зависеть от страны использования карты.
На лицевой стороне карты находятся:
• контакты чипа карты;
• логотип эмитента карты, финансовой организации и платежной системы;
• рельефная печать серийного номера карты, имя держателя и срок годности карты;
• голограмма - для повышения уровня защиты от подделки, расположение голограммы
• одинаково для всех стран.
На обратной стороне карты выделено место для подписи держателя. Там же может нахо-
диться адрес для возврата карты в случае находки; для Северной Америки - список ассо-
циированных платежных систем. Элементы для идентификации, проверки PIN-кода, срок
годности и коды, описывающие функционал карты, находятся на магнитной полосе на
обратной стороне карты.
Номер карты состоит из 10-19 символов, разбитых на группы по четыре символа. Первая
цифра в первой группе определяет платежную систему (4 для VISA, 5 для MasterCard и т.д.),
следующие цифры определяют страну, представителя платежной системы в этой стране и номер
карты. Последние четыре цифры - проверочный код («ключ Люэна»).
В общем случае смарт-карты комплектуются чипами, устойчивыми к атакам, - при об-
наружении физической атаки чип блокирует операции вывода. Диэлектрический слой
представляет собой пассивную защиту чипа от загрязнений, пыли и радиации. При удалений
этого слоя чип может реагировать на свет, изменение температуры, частоты и напряжения
Для предотвращения выборочного стирания ячеек памяти или размещения последова-
тельных слов в независимых ячейках памяти предусмотрена физическая защита ячеек памяти.
Для деактивации специальных тестовых ИС, используемых на этапе произволе
предусмотрены предохранители, пережигаемые до начала распространения карт.
2.2. Логическая безопасность карты при ее использовании
На этапе использования логический контроль доступа осуществляется на трех уровнях
Первый уровень - аутентификация пользователя через ввод PIN-кода, второй – определение
набора привилегий для карты, третий - установление канала безопасного логического со-
единения между картой (через терминал) и удаленным сервером. В face-to-face-коммерции
идентификация карты может производиться торговцем:
o
с использованием различных физических средств (удостоверения личности, подпись
oпосредством запроса сервера авторизации;
oпри помощи PIN-кода, который является цифровой подписью для процедур
снятия наличных или платежей.
Микропроцессорные карты могут использовать комплексные процедуры аутентификации.
Для избежание передачи в незашифрованном виде PIN-кода или ключей сеанса, для проверки
целостности сообщения и аутентификации его отправителя применяются симметричные
алгоритмы шифрования (обычно- раньше DES, сейчас AES), в том числе в режиме
формирования кода аутентификации сообщений MAC.
В online-авторизационных системах процесс состоит из двух этапов:
o
взаимная аутентификация владельца и карты;
oвзаимная аутентификация карпы и терминала.
Отметим, что многие системы используют собственные протоколы, Консорциум EMV
(EuroPay, MasterCard, Visa) создал свою собственную спецификацию для финансовых
транзакций. В мобильной телефонии GSM также используется стандартизированная процедура
удаленной аутентификации.
В случае offline-авторизации (например, при оплате в южноафриканской системе оплаты
электроэнергии) карта содержит кредит, начисляемый за использование электроэнергии. При
этом используется симметричный алгоритм шифрования.
Взаимная аутентификация владельца и карты.
Взаимная аутентификация владельца карты происходит следующим образом.
После помещения карты в слот считыватель просит карту сгенерировать случайное число,

обычно длиной 64 бита.
Владелец вводит PIN-код на клавиатуре считывателя.
Считыватель шифрует это число по алгоритму, заданному платежной системой, ис-
пользуя PIN-код в качестве ключа. Считыватель передает это число обратно карте.
Карта производит те же операции, используя PIN-код, сохраненный в ее памяти, а затем
сравнивает результат и значение, полученное от считывателя.
Результат сравнения определяет, успешно ли прошла взаимная аутентификация.
Взаимная аутентификация карты и терминала.
Если предыдущая фаза завершилась успешно, то начинается взаимная аутентификация
карты и терминала.
Терминал генерирует случайное число и отсылает его карте.
Карта шифрует это число секретным ключом в зависимости от выбранного вида услуг.
Алгоритм шифрования определяется платежной системой. Зашифрованное число от-
сылается обратно на терминал.
Терминал проводит аналогичные вычисления и сравнивает результат со значением,
полученным от карты.
Результат сравнения определяет, успешно ли прошла взаимная аутентификация.
Управление аудитом. Большинство процедур управления аудитом требуют, чтобы чип
записывал определенные события и детали транзакций в специальный файл аудита, который
позже пересылается в центр управления аудитом. Большинство смарт-карт имеет счетчик
неудачных попыток доступа. Если количество неудачных попыток не достигло некой пороговой
величины, счетчик обнуляется при первой успешной попытке доступа. Если пороговое значение
превышено - доступ к карте или определенному файлу блокируется. Некоторые карты
позволяют пользователю самостоятельно установить количество неудачных попыток для
блокировки карты, в других эта величина предустановленна и варьируется от 3 до 7 попыток.
2.3. Примеры реализации процедур обеспечения безопасности во время
использования карты
Считыватель карт памяти для Minitel. Считыватель карт памяти LECAMC (Lecteur
de Cartes a Memoire) был создан для обеспечения безопасных транзакций по смарт-картам
для Minitel).
Карта EMV. Карты EMV предназначены для face-to-face-коммерции, Спецификации
EMV предполагают использование алгоритма аутентификации с открытым ключом.
Аутентификация карты требует обмена четырьмя сообщениями, для идентификации
владельца используется симметричное шифрование и MAC. Для формирования MAC
используется секретный ключ сеанса, который имеется также у банка.
Сеанс EMV состоит из следующих этапов.
1. Выбор приложения.
2. Аутентификация данных приложения.
3. Определение общих ограничении для сеанса, вызванных несовместимостью
версий
карты и сервера, отличиями из-за географического расположения или ограничениями,
наложенными поставщиком услуг.
4. Аутентификация владельца.
5. Управление рисками (запрос на авторизацию, управление аудитом и т. п.).
6. При необходимости серверу авторизации перелается online-запрос на авторизацию.
7. Обновление данных в памяти карты.
На рис.13.2 отражены основные операции обмена EMV, в таблице 13.2 разъясняется
значение символов, используемых на рисунке.

Таблица 13.2. Используемые обозначения
Обозначение
ARD
ARQC
СА
CERT_С
CERTJ
IAD
PAN
RCP
Название
Комментарий
Дата, время, идентификатор карты
идентификатор терминала, nonce 1
Данные аутентификации (Authorization Request Data)
Криптограмма авторизационного запроса (Authorizatio
Cryptogram)
Идентификатор центра сертификации
(Certification Authority)
Сертификат открытого ключа микропроцессорной кар Выдается банком-эмитентом
(Certificate of Card)
Сертификат открытого ключа эмитента (Certificate o Выдается центром сертификации
Данные аутентификации эмитента (Issuer Authentication
Номер специального карточного счета (Private Accoun
Счет клиента, привязанный к карте
Параметр контроля ссылки (Reference control parameter Содержит параметры пользователя
транзакции (online/offline)
Для вычисления используется закр
ключ карты
Сумма, валюта, дата, время, PAN,
идентификатор терминала, попсе2
SIGN_C(ARD) Сигнатура ARD, вычисленная картой
ТС
ТD
Сертификат транзакции
(Transaction Certificate)
Данные транзакции (Transaction Data)

После получения от терминала команды READ_RECORD карта возвращает
идентификатор центра сертификации СА, сертификаты открытых ключей эмитента и
микропроцессорной карты, номер счета, привязанный к карте, и PIN-код, который
хранится в памяти карты. Ответ карты определяет способ авторизации: online - с
привлечением банка или offline - с использованием только терминала. Оба сертификата
необходимы терминалу для аутентификации открытого ключа карты в сообщении
CERT_C. Для выполнения аутентификации по принципу «запрос-ответ» Стратегия
аутентификации пользователя, заключающаяся в проверке правильности его
реакциина непредсказуемый запрос системы. Терминал выдает команду INTERN
AL_AUTHENTICATE с необходимыми для аутентификации данными ARD. Эти данные
включают дату и время транзакции, идентификатор карты, номер привязанного к карте счета
(PAN), идентификатор терминала и временной штамп nonce1 для предотвращения атак типа
replay (перехват и повтор). В ответ карта передает сигнатуру этих данных, созданную при
помощи ее закрытого ключа подписи.
Затем терминал выдает команду VERIFY для проверки PIN-кода пользователя. Владелец
карты вводит PIN-код, карта возвращает результат проверки (успешна /не успешна). Ответ
карты не шифруется, так как карты EMV предназначены для face-to-face-коммерции.
Команда GENERATE_АС содержит параметр RCP и данные транзакции TD. RCP опре-
деляет способ проведения транзакции - online (с опросом авторизатора банка) или offline,
Если транзакция проводится online, карта формирует зашифрованный авторизационный
запрос (ARQC), который терминал передает в банк. ARQC содержит код MAC данных
транзакции ТО, который вычисляется картой с использованием сеансового ключа (имеющегося
у банка-эквайера), который в свою очередь вычисляется на основе общего мастер-ключа.
Таким образом, банк может проверить аутентичность запроса и определить его про-
исхождение. Если проверка прошла успешно, банк возвращает сообщение с ответом на запрос
авторизации, в котором содержатся данные аутентификации эмитента (IAD) и могут
содержаться командные скрипты для карты. Терминал формирует вторую команду
GENERATE_АС, которая содержит IAD и скрипт. Карта отвечает сообщением, содержащим
сертификат транзакции ТС и его MAC для подтверждения подлинности транзакции. Позднее
банк проверит аутентичность ТС и отправителя. Отметим, что терминал не проверяет ответ,
так как он не имеет сеансового ключа, имеющегося в памяти карты и у банка.
В случае offline-авторизации ответ карты содержит ТС, подтверждающий или откло-
няющий транзакцию. ТС может быть позднее отправлен в банк для проверки аутентичности ТС
и отправителя.
3. Атаки на смарт-карты
В литературе описывается множество видов физических и логических атак. Атаки про-
водились любителями, техническими экспертами и организациями, специализирующимися па
реверс -инжиниринге. Существует три основных категории атак:



логические (без проникновения под оболочку карты);
физические (с разрушением защитного покрытия);
атаки, использующие ошибки и недочеты разработчиков карт.
3.1. Логические атаки
Логические атаки делят на активные и пассивные. Активные атаки изменяют условия
окружающей среды с целью вызвать сбой в функционировании чипа и скомпрометировать
скрытую информацию. На операции записи в СППЗУ можно повлиять, изменяя окру-
жающую температуру, кратковременно повышая напряжение питания или увеличивая
тактовую частоту чипа для того, чтобы вызвать сбой в работе микроконтроллера.
Установлено, что ключи шифрования и ПО безопасности, хранимое в памяти СППЗУ,
уязвимо для такого типа атак, иначе называемых «искусственный сбой» (glitch attack),
так как они могут предотвратить выполнение проверочных подпрограмм. Например:
Функционирование генератора случайных чисел может быть нарушено при
уменьшении питания таким образом, что он начнет выдавать единственное значение.
У микроконтроллеров PIC16C84 может быть обнулен бит безопасности и стерта
память при увеличении напряжения питания.
У контроллеров DS5000 производства Dallas Semiconductor кратковременное
снижение напряжения питания может выключить механизм зашиты без стирания
содержимого памяти.
Некоторые защищенные процессоры настолько чувствительны к изменениям во

внешней среде, что регистрируют множество ложных сигналов тревоги.
Напротив, пассивные атаки нацелены на «подслушивание» и наблюдение за
реакциями карты с целью выявления бросков напряжения или излучения. Это возможно
за счет того, что каждая инструкция имеет свой специфичный признак, по которому
можно ее отличить от других (например, команды ветвления или операции,
использующие сопроцессор). К пассивным методам относится дифференциальный
анализ напряжения (differential power analysis, DPA), основанный на том, что потребление
питания зависит от количества задействованных в операции бит.
3.2. Физические атаки
Физическая атака начинается с извлечения чипа из карты. С карты срезается пластик
до тех пор, пока не покажется эпоксидная смола, под которой скрывается чип. Смола
смывается концентрированной азотной кислотой и промывается в ацетоне до тех пор. пока
не становится доступна вся кремниевая подложка. После освобождения чипа
становится возможным исследовать поведение его различных компонент и методом
подбора вычислить криптографические ключи. С помощью лазерного щупа или
фокусированного ионного луча можно считать состояние микроконтроллера. Стоимость
такого вида атак относительно велика и обычно бессмысленна для обычных хакеров и
любителей.
3.3.
Атаки, использующие выявленные ошибки разработчиков
Как было отмечено ранее, в протоколах смарт-карт используется симметричное
шифрование. Хотя многие производители карт заявляют использование в картах
качественных алгоритмов, проведенные исследования выявили некоторые недостатки в
реализациях, например, алгоритма DES:
•в чипе Cryptofkx от Schlumberger алгоритм DES доступен только по
специальному заказу;
в чипе Multiflex того же производителя DES используется только
для команды внутренней аутентификации и возвращает только 48 бит для
использования в качестве
•ключа шифрования;
•в многофункциональной карте (MFC) от IBM, которая может содержать
несколько приложений, невозможно задать ключ напрямую;
•в чипе GPK от Gemplus размер ключа ограничен 40 битами для соответствия
криптографическому законодательству Франции (которое действовало во время его разработки).
•В некоторых случаях внутренние тестовые схемы чипа, которые должны быть
деакти-вированы до поставки карты на рынок, в дальнейшем реактивируются.

4. Многоцелевые смарт-карты
Такие карты позволяют использовать несколько приложений в одной карте, разделяя ее
ресурсы, но не ослабляя при этом защиту. Создание стандартизированных интерфейсов
помогает облегчить разработку таких приложений, так как приложение может быть исполь-
зовано на картах разных поставщиков. Стандарт ISO 7816-4 является наиболее предпочти-
тельным не только в случае использования открытых спецификаций, таких, как EMV и Java
Card, но и для собственных разработок фирм. Данный раздел начинается с описания файловой
системы в соответствии со стандартом ISO 7816-4.
4.1. Файловая система ISO 7816-4
Файловая система, определенная ISO 7816-4, поддерживает две категории файлов: выделенные
файлы (dedicated files, DF - аналог «папки» файловой системы ОС Windows) и элементарные
фаты (elementary files, EF). Каждый файл имеет идентификатор, закодированный двумя
байтами в шестнадцатеричном формате. На рис. 13.3 представлена иерархия файлов в файловой
системе.

Рис. 13.3. Структура файловой системы ISO 7816-4
В корне дерева находится мастер-файл (MF), он всегда имеет идентификатор 3F 00.
Идентификатор первого DF равен 01 00, последнего - ЗЕ 00. Таким образом, карта не может
содержать больше 62 выделенных файлов и одного мастер-файла. Каждый DF привязан
к приложению и может содержать один или более элементарных файлов. Выбор приложе-
ния осуществляется при помощи команды SELECT FILE с идентификатором приложения
(application identifier, A\D) в качестве аргумента или косвенно - при помощи элементарных
файлов D\R (directory) или ATR (Answer to Reset) (эти файлы будут рассмотрены ниже).
Файлы EF содержат данные. Каждый EF идентифицируется своим положением в
дереве, иначе говоря, путем к мастер-файлу. Идентификатор EF также закодирован двумя
байтами и принимает форму хх уу, где хх - идентификатор DF, к которому принадлежит EF.
Таким образом, хх = 3F, если файл принадлежит непосредственно мастер-файлу; уу -
последовательные числа для файлов одной директории. Следовательно, количество файлов
в одной директории не может превышать 63.
Элементарные файлы 2F 00 и 2F 01, расположенные под мастер- файлом, выполнят
специальные индексные функции. Первый называется DIR, второй - ATR. Иначе говоря,
файл DIR содержит элементы, позволяющие идентифицировать приложение, а файл ATR
определяет, каким образом карта обращается к файлам и другим объектам.
Максимальное количество элементарных файлов в карте составляет 63 х 63 = 3969
файлов. На самом деле это негибкая структура, она не подходит для динамических
ситуаций, когда файлы можно добавлять или удалять при добавлении или удалении
приложений. Фактически стандарт ISO 7816-4 не допускает создания новых файлов, и
поставщики вынуждены разрабатывать собственные команды для управления файлами.
ISO 7816-4 различает два типа элементарных файлов: внутренние и рабочие.
Последние содержат данные для эксклюзивного использования внешними сущностями.
Внутренние EF содержат данные, которые использует карта при работе. Например, для
денежного приложения эти файлы могут являться:
•Файлами ключей для хранения ключей, которые будут использованы для
вычисления ключа сеанса, специфицированного используемым платежным протоколом.
В банковских транзакциях приложения, которые используют электронные кошельки,
обычно нуждаются в нескольких ключах - один на каждую операцию (для сертификации,
для дебетования, для кредитования или для электронной подписи). Каждый ключ
помещается в индивидуальный файл.
•Файлами PIN-кодов, контролирующих доступ к файлам приложений.
Файлы приложений и условия доступа определяются на этапе персонализации и не
подлежат изменению.
•Файлами кошельков. Для каждого кошелька файл содержит максимальное
значение его баланса, лимит операции для одной транзакции, текущий баланс и
резервную копию предыдущего баланса на случай сбоя.
•Файлами сертификатов - в случае применения криптографии с
открытым ключом.
•Рабочие файлы приложений.
4.2. Электронное удостоверение личности Швеции
Примером использования только что описанной файловой системы является электронное
удостоверение личности (Electronic Identity card, EID), применяемое в Швеции. Эта карта

соответствует шведскому стандарту SS 61 43 30, разработанному организацией SEIS (Secured
Electronic Information in Society - Безопасность электронной информации в обществе). SEIS -
шведская некоммерческая организация, состоящая из примерно 50 фирм в финансовом и
промышленном секторах, секторе общественной администрации Швеции, нацеленная на
внедрение новых технологий. В этом приложении мастер-файл содержит следующие
элементарные файлы:
•Файл EFpan, определяющий номер счета, эмбоссированный (рельефно
напечатанный)на карте.
•Файл EFpin определяющий общий для всех приложений карты PIN-код, и
DIR-файл (2F 00), который в соответствии со спецификацией ISO 7816-4 содержит
идентификатор карты электронного паспорта.
•Выделенный файл приложения с тремя элементарными файлами:
1. рабочий файл приложения (application usage file, AUF) EFauf;
2. файл закрытого RSA-ключа EF;
3. файл сертификата EFCERT.
На рис. 13.4 показана логическая организация файлов в карте электронного удостовере-
ния личности.
Рис. 13.4. Логическая организация файлов и карте электронного удостоверения личности
4.3. Управление приложениями в многоцелевых картах
Существует три различных способа управления приложениями, в зависимости от типа
связи между приложениями, сосуществующими на одной карте:

главное приложение может контролировать дополнительные приложения;
•несколько приложений могут быть объединены под управлением центра
сертификации;

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

Индексный файл (DIR или ATR), указывающий на выделенные файлы дополнительных
приложений, определяется раз и навсегда на этапе персонализации карты. Информация может
передаваться только между дополнительными и главным приложением. При получении доступа
к главному приложению доступ автоматически предоставляется и для дополнительных
приложений.
Объединение нескольких приложений под управлением центра сертификации. В этом
случае приложения используют общие данные, такие, как персональная информация о владельце.
Разделение информации осуществляется под надзором центра сертификации, контролирующего
мастер-файл, как показано на рис. I3.6. Центром сертификации обычно является поставщик карты.
Центр сертификации присваивает уникальный идентификатор каждому приложению и
сохраняет его в индексном файле. Этот файл указывает на выделенный файл для каждого
приложения. Любое приложение имеет право прочитать содержимое этого файла, права на
запись регламентируются центром сертификации.
Для начала работы приложение сначала должно аутентифицировать себя в общем модуле
безопасности: когда приложение А запрашивает доступ к данным приложения В, общий модуль
безопасности должен произвести аутентификацию. Затем модуль безопасности посылает
аутентификационный запрос приложению В с целью определить, обладает ли приложение А
правами доступа.
Рис. 13.6. Несколько приложений под управлением центра сертификации
В такой конфигурации должны быть предусмотрены специальные эффективные меха-
низмы обмена цифровыми удостоверениями - ключами и сертификатами. Важной инициа-
тивой в этой области является формат, определенный в PKCS#15, но все еще существует
необходимость в стандартизации многих других аспектов.
Независимые приложения на одной карте. В этой модели отсутствует единый
центр сертификации. Идентификаторы приложений назначаются в хронологическом
порядке их добавления и содержатся в индексном файле, доступ к которому обычно
защищен алгоритмом с открытым ключом.
Каждый производитель приложений разрабатывает приложения в соответствии со
спецификациями интерфейса API карты, затем распространяет приложения между
пользователями напрямую или через посредников. На рис. 13.7 показан один из наиболее
популярных способов управления различными приложениями. Он состоит в наложении

виртуальной машины поверх операционной системы смарт-карты, которая контролирует
взаимодействие приложений между собой и собственно картой.
На таком механизме основана архитектура Java Card. Безопасное разделение
объектов и ресурсов между приложениями Java Card все еще является открытой проблемой.
Рис. 13.7. Управление приложением при помощи виртуальной машины
5. Стандартизация микропроцессорных карт
Стандартизация смарт-карт необходима по двум причинам. Во-первых, введение стан-
дартов приводит к уменьшению производственных затрат на изготовление карт, во-вторых,
облегчает взаимодействие приложений за счет использования согласованных интерфейсов.
Стандартизация достаточно развита в отношении физических аспектов карты, Логический
уровень все еще недостаточно стандартизован, что препятствует широкому распространению
финансовых приложений. В данном разделе описаны стандарты для карт с контактной пло-
щадкой и бесконтактных карт и стандарты EMV для многоцелевых карт.
5.1. Стандарты для карт с контактной площадкой
Стандарт ISO 7816 позволяет удостовериться в физической совместимости карты и счи-
тывателя. Первая версия спецификации описывала физические параметры карты - размеры,
расположение контактов, напряжение питания, форму и длину электрических сигналов, и
протоколы взаимодействия карты и терминала. По мере появления новых коммерческих
приложений для смарт-карт к основной спецификации разрабатываются приложения и
дополнения. На сегодняшний день стандарт состоит из шести частей:
ISO 78I6-1. Старейшая часть, определяющая физические характеристики карты, раз-
меры чипа, устойчивость к статическим разрядам и электромагнитному излучению, гибкость
пластиковой основы и расположение чипа на карте.
SO 7816-2 описывает электрические сигналы (полярность, напряжение, длительность
и т. п.), протоколы передачи данных между картой и терминалом, а также реакцию карты на
перезапуск терминала. В настоящее время определены четыре протокола:
- полудуплексный протокол, предназначенный для посимвольной передачи данных (Т = 0);
- полудуплексный протокол для пакетной передачи данных (Т = 1);
- пакетный полнодуплексный протокол (Т = 2) - используется редко;
- значение Т = 14 означает использование нестандартного протокола собственной разра-
ботки, используемого для поддержки приложений, разработанных до введения
стандарта. Пример - карты, применяемые в сфере здравоохранения во Франции
и Германии.
Значения Т = 3 и Т = 13 зарезервированы для будущего использования,
ISO 78I6-4 определяет логическую организацию данных, хранящихся в карте, и
процедуры обеспечения безопасного доступа к этим данным, а именно:
- аутентификация владельца с использованием пароля (PIN-код);
- аутентификация внешней сущности с использованием секретного ключа,
аутентифицирующего терминал или банк;
- проверка целостности данных с использованием криптограммы (обычно это код
аутентификации сообщения - MAC);
- шифрование данных.

Команды ISO 7816-4 делятся на три категории: административные команды, команды
безопасности и команды управления связью. Большинство производителей предпочитает
использовать команды из стандарта, поэтому большинство коммерческих карт использует
подмножество стандарта ISO 7816-4. Дополнительные команды собственной разработки
применяются для облегчения управления файлами и данными.
ISO 7816-5 определяет процедуру регистрации приложений для присвоения им обще-
мирового идентификатора приложений AID;
ISO 7816-6 определяет межотраслевые элементы карты.
Спецификации EMV построены на стандартах ISO для многоцелевых карт, применяе-
мых в финансовых транзакциях. ETSI опубликовала стандарты для телефонных карт с не-
сколькими приложениями.
5.2. Стандарты для бесконтактных карт
Электропитание бесконтактных карт обеспечивается батареями или при помощи элект-
ромагнитной индукции, что позволяет избежать прямого контакта со считывателем. Обмен
данными со считывателем осуществляется при помощи электромагнитной индукции или
емкостной связи на расстоянии 10-20 см от считывателя со скоростью до 19.2 Кб/с. Исполь-
зуемые частоты находятся в диапазоне, зарезервированном для промышленных (менее 150
КГц) или медицинских (-6.78 МГц) приложений. Серия стандартов ISO 10536 определяет
физические и механические аспекты бесконтактных карт.
Преимуществом бесконтактных карт является возможность уменьшить износ считыва-
телей и стоимости монтажа. Карты разработаны для условий, когда их носители двигаются с
небольшими скоростями; например, в общественном транспорте, при оплате дорожных
турникетов и т. п. Протоколы обмена данными должны корректно обрабатывать ситуации,
когда у считывателя находятся одновременно несколько карт.
5.3. EMV
Спецификации EMV-3 опубликованы в 1996 году и отредактированы в 1998 году
организациями EuroPay, MasterCard и VISA. Спецификации определяют архитектуру карт с
несколькими приложениями. Хотя основой спецификаций является стандарт ISO 7816,
основная инновация EMV - использование объектно-ориентированных методик, что
облегчает интегрирование нескольких приложений в одной карте,
Спецификации EMV были реализованы организациями IATA (International Air
Transport Association - Международная ассоциация воздушного транспорта) для оплаты
авиабилетов, банком Беркли для собственных банковских карт и другими
организациями. Как было указано ранее, Java Card облегчает разработку приложений
EMV, альтернативой является использование ОС MultOS.
Спецификации EMV разработаны для приложений торговых точек, где торговый
терминал находится под управлением банка продавца или банка эмитента. В этом случае
заказ относится к face-to-face-коммерции, а продавец и банк взаимодействуют по
защищенному каналу.
Учитывая, что заказ осуществляется по принципу «face-to-face» и товары поставляются
заказчику немедленно, протокол не осуществляет аутентификацию продавца, не включает
описание купленного товара или гарантию доставки этого товара до дебетования счета
покупателя. Предполагается, что физическое наличие карты можно подтвердить визуально,
протокол не связывает между собой различные части транзакции, чтобы подтвердить, что на
всем протяжении транзакции использовалась одна и та же карта. Также не существует воз-
можности однозначно аутентифицировать терминал для карты, терминал не авторизует
однозначно ни одну из частей транзакции. Таким образом, если заказ производится offline
(без привлечения банка), заказчик не имеет формальных доказательств проведения
транзакции.
Более того, раз не предполагается, что существует защищенный канал связи между
терминалом и картой, не предусмотрено инструмента защиты передаваемых сообщений.
Терминал один раз аутентифицирует карту и в дальнейшем не проверяет производимые ею
вычисления. Следовательно, в случае offline-авторизации продавец не может проверить
данные транзакции, Кроме того, так как банк и продавец доверяют друг другу, терминал
продавца не проверяет данные, которые он получает от банка, а банк доверяет терминалу
доведение сообщений до карты.

BadB (c)
 

Similar threads

Top