В составе данных ATR имеются различные символы, определяющие параметры информационного обмена, такие, как, например, тип протокола и временной интервал ожидания символа. В случае необходимости модификации терминалом одного или нескольких параметров протокола до начала сессии информационного обмена должен быть осуществлён выбор типа протокола.
Выбор типа протокола PTS может быть реализован двумя способами. Стандартные значения коэффициента деления F и параметры настройки режима передачи D варьируются до окончания выбора типа протокола. Если в карте используется специальный режим, то значения F и D, указанные в данных ATR, являются обязательными при выборе типа протокола. При этом байт ТА2 индицирует, какой из режимов поддерживается картой.
Запрос данных PTS должен быть осуществлён после приёма терминалом информации ATR. Если карта допускает модификацию запрошенного протокола, она передаёт принятые байты PTS на терминал. В противном случае карта не вырабатывает ответа, и терминал должен выполнить процедуру нового сброса. Функция PTS может быть выполнена только однократно, так как повторная передача запроса PTS запрещена стандартом ISO/IEC 7816-3.
Первый байт, являющийся начальным символом PTSS, информирует карту о том, что запрос PTS будет сделан терминалом сразу же после получения данных ATR. Поэтому он всегда имеет значение "FF" и его наличие в составе PTS является обязательным.
Элементом данных, следующим за PTSS, обязательно является символ формата PTSO. В зависимости от выбранного варианта за ним могут следовать данные объёмом до трёх байт, называемые символами параметров и обозначаемые PTS1, PTS2 и PTSА, которые кодируют различные параметры протокола передачи. Данные PTSА зарезервированы для перспективных применений.
Последний байт в данных PTS называется РСК и является контрольной суммой XOR предыдущих байтов, начиная с PTSS. Подобно PTSS и PTSO он является обязательным компонентом PTS.
Если карта может интерпретировать PTS, она возвращает выбранный PTS в терминал. Если запрос PTS содержит невыполнимые условия, карта переходит в режим ожидания сброса. Недостатком этой процедуры является потеря времени до начала инициации используемого протокола передачи. Структуры типичных PTS процедур представлены на рис.6.18 а, б.
Процедура обмена данными между смарт-картами и терминалом осуществляется с помощью APDU, являющихся "контейнерами", которые содержат полные команды карте или ответы, получаемые от неё.
Предполагается, что протокол информационного обмена передаёт их прозрачным образом, т.е. без модификации или интерпретации. Данные APDU, отвечающие стандарту ISO/IEC 7816-4, структурированы таким образом, что они не зависят от выбранного
типа протокола передачи. Требования по независимости данных APDU от выбранного типа протокола определяют их структуру таким образом, чтобы обеспечить прозрачную передачу и байтовым протоколом типа Т=0, и блоковым протоколом типа Т=1.
Структура команды APDU. Команда APDU состоит из заголовка и тела, которое может быть произвольной длины или даже отсутствовать, если соответствующее поле данных отсутствует.
Заголовок состоит из четырёх элементов класса CLA, команды INS и параметров 1 и 2 (Р1, P2). Байт класса в настоящее время используется для идентификации приложений и соответствующих наборов команд (рис.6.19).
Два байта параметров служат, в основном, как для выбора различных командных опций в SELECT FILE или для определения смещения в READ BINARY.
Тело команды, которое может быть исключено при определении объёма данных, определяет объёмы данных, посылаемых в карту (поле 1 с) и получаемых от неё (поле 1 е также содержит данные, относящиеся к команде, направляемые в карту). Если значение поля Le равно 00, то терминал ожидает, что карта пошлёт максимально возможный для данной команды объем данных, в других ситуациях объём данных описывается численно.
Как правило, поля Le и 1.с имеют объёмы, равные 1 байту. Из них можно сконструировать трёхбайтное поле 1 е/1 с, применяемое для интерпретации объёма данных до 65536 бит (так как первый байт кодируется как выходная последовательность "FF").
Комбинируя ранее описанные части команды APDU, можно выделить четыре возможных варианта ее структуры (рис.6.20).
Структура ответа APDU. Ответ на команду APDU, формируемый картой в соответствии с ISO/IEC 7816-4, состоит из опционного тела и обязательного окончания (рис.6.21). Тело ответа состоит из поля данных, объём которого задается в байте Le предыдущей команды APDU. Эта информация может отсутствовать, если смарт-карта прервала обработку команды из-за ошибки или неправильно вы
бранных параметров. Такая ситуация индицируется в двух однобайтных словах состояния SW1 и SW2 окончания ответа.
Если после выполнения команды на терминал посылается возвратный код "63XX" или "65XX", значит постоянная память карты изменена. Если возвращается код "62ХХ" или "64ХХ", значит команда была прервана (рис. 6.22.)
Отметим, что несмотря на наличие стандарта для возвратных кодов, в ряде случаев они модифицируются. Единственным исключением является код "9000", который всегда означает успешное выполнение команды.
В перспективных смарт-картах, которые будут содержать много независимых приложений, целесообразно предусмотреть адресуемость по так называемым логическим каналам. Это позволит приложениям на одной карте параллельно обмениваться данными с терминалом и использовать при этом только один последовательный интерфейс. На логическом уровне приложения будут адресоваться индивидуально.
Решения, отвечающие какому приложению принадлежит данная команда, будут базироваться на двух битах в байте класса (бит 1 и бит 2). Это даст возможность иметь до четырёх логических каналов и, кроме того, параллельно смогут функционировать еще до четырех приложений карты. Процессы, по которым будет осуществляться доступ к карте, должны быть синхронизированы между собой и не должны пересекаться, так как ответ APDU карты не содержит информации об исходном логическом канале. При этом невозможно определить, какой ответ несёт данный возвратный код. Эта неопределенность снимается после получения соответствующего ответа на команду.
Полем применения такого эффективного механизма является одновременная работа нескольких приложений. Например, пользователь ведет телефонный разговор (для чего он использует GSM приложение в многофункциональной смарт-карте) и ему понадобилось обратиться к органайзеру, который также находится на карте. Используя второй логический канал параллельно с GSM-приложением, он ищет данные в файле, расположенном внутри приложения органайзера. Другим примером является защищённый перевод электронных денег между двумя платежными счетами на одной карте.
Глава 7. УГРОЗЫ БЕЗОПАСНОСТИ ФУНКЦИОНИРОВАНИЯ СИСТЕМ
С ИНТЕЛЛЕКТУАЛЬНЫМИ КАРТАМИ И ИХ ЗАЩИТА
7.1. Анализ угроз безопасности функционирования систем с интеллектуальными картами
Широкое внедрение электронных пластиковых карт для телефонной связи вынуждает применять меры по комплексной защите как ресурсов самих карт, так и систем, их использующих [7, 10, 26, 37, 49, 56, 63, 68, 72].
Ежегодный объём выпуска смарт-карт, широко применяемых для оплаты телефонных переговоров и являющихся важнейшей составной частью большинства мобильных телефонов, лавинообразно нарастает. При этом производители смарт-карт зачастую считают, что их продукция относится к наиболее высокозащищённой из существующих технологий. Вместе с тем в последнее время всё чаще появляется информация, подвергающая такое утверждение сомнению, а компании, использующие электронные карты, в ряде случаев терпят существенные убытки.
На основании вышеизложенного очевидно, что рассмотрение вопросов, связанных с анализом возможных угроз функционированию систем со смарт-картами, актуально. В таких системах возможно существование следующих видов злоумышленников: "внешний' обладающий картой и PIN-кодом; "внутренний" злоумышленник, входящий в состав персонала, обслуживающего систему; «сторонний» злоумышленник, не имеющий прямого отношения к системе [36].
Внешний злоумышленник чаще всего не может влиять на состояние счета в платежной системе. Действия внешнего злоумышленника могут быть направлены на дебетование карты на сумму, превосходящую объём текущего счета. Злоумышленные воздействия такого рода, как правило, являются однократными, так как система
после завершения платёжной сессии установит аномалии в работе и заблокирует карту.
Особую опасность представляет "внутренний" злоумышленник, знающий тонкости работы системы, поэтому значительные хищения длительное время остаются не выявленными.
Действия стороннего злоумышленника в первую очередь могут быть связаны с попытками подбора PIN-кода для полного доступа к ресурсам карты. Для исключения таких злоумышленных действий применяются специальные программные меры.
Рассмотрим основные угрозы безопасности функционирования платежных систем со смарт-картами на различных уровнях (рис.7.1).
Пользовательская карта. Известны следующие основные угрозы безопасности систем, использующих смарт-карты:
• считывание ключей или конфиденциальной информации;
• искажение информации, хранящейся в карте;
• незаконное копирование и тиражирование карт;
• перехват PIN-кода легального владельца во время пользования клавиатурами терминалов с последующим хищением карты;
• использование суррогатной карты;
• потенциальная возможность злоумышленного изменения функционирования операционной системы «Smart card» или записи искаженной информации в карты в технологической цепочке их производства.
Терминальные устройства. На данном участке системы существуют следующие возможные угрозы:
• считывание конфиденциальной информации с терминала;
• вмешательство в программу функционирования терминала;
• проникновение в систему управления терминалом для изменения её характеристик с целью разблокировки карт, внесённых в черные списки, или корректировка файлов выполненных транзакций;
• вывод из строя аппаратной базы или программных ресурсов;
• использование ложного терминала внутренним злоумышленником;
• возможность целенаправленного злоумышленного изменения операционной системы, или сохранение конфиденциальной информации в скрытых областях хранения оборудования.
Уровень взаимодействия карта-терминал. Здесь возможно существование следующих угроз:
• применение для транзакций суррогатной карты или фальсифицированного терминала внутренним злоумышленником;
• нарушение конфиденциальности информационного обмена;
• нарушение цельности и подлинности передаваемых данных;
• опротестовывание владельцами карты или терминала выполненной транзакции;
• перерасход суммы, закрепленной за владельцем карты;
• считывание конфиденциальной информации с карты или терминала во время платежной сессии;
• перехват конфиденциальной информации по побочным каналам утечки информации во время диалога с терминалом.
Уровень взаимодействия терминал региональный центр обработки информации". На тракте, связывающем терминал с региональным процессинговым центром (РПЦ) обработки информации, возможны следующие угрозы:
• подключение во время сеанса связи ложного терминала или связь терминала с ложным центром обработки информации;
• нарушение конфиденциальности передаваемых данных;
• нарушение целостности и подлинности сеанса связи одной из сторон, участвующих в платежной сессии;
• считывание парольной или конфиденциальной информации из терминала или процессингового центра (ПЦ) во время сеанса связи;
• перехват конфиденциальной информации по побочным каналам утечки информации в процессе сеанса связи.
Уровень процессингового центра. На уровне регионального и межрегионального процессинговых центров (МПЦ) существуют следующие угрозы:
• несанкционированный доступ к конфиденциальной информации;
• злоумышленное искажение программного обеспечения;
• проникновение в систему безопасности;
• злоумышленное разрушение технических ресурсов;
• целенаправленное злоумышленное изменение прикладных программ их разработчиком.
Требования обеспечения безопасности в элементах платежных систем на уровнях транспортной и прикладной подсистем представлены на рис.7.2. Безопасность платежных систем с применением смарт-карт закладывается при их производстве и персонализации (рис.7.3) [10, 69, 77, 84].
Стандартные криптографические устройства, к которым, в частности, относятся смарт-карты, используют секретные ключи при обработке и формировании входной и выходной информации. Общепринятые структуры протоколов информационного обмена предполагают, что входное и выходное сообщения могут быть доступны злоумышленнику, а информация о криптографических ключах ему недоступна [5, 6, 8, 15, 16, 40, 56, 59, 66].
Однако на самом деле атакующей стороной может быть получена всевозможная побочная информация, вырабатываемая криптоус-тройством: электромагнитное излучение, сигналы об ошибках или об интервалах времени между рабочими циклами, изменения в потреблении электропитания и другие данные.
7.2. Методы вскрытия крипто алгоритмов интеллектуальных карт
Как свидетельствуют достаточно многочисленные работы ученых-исследователей возникающую при функционировании смарт-карты побочную информацию можно использовать для анализа и вскрытия интегральных схем с целью доступа к хранящимся в них секретным сведениям [37, 42, 49].
Рассмотрим «криптоанализ сбоев» для вскрытия устройств с открытым ключом шифрования. Известно, что в защищенных устройствах типа смарт-карт можно вызвать вычислительную ошибку путём радиационного облучения или нагревания. Кроме того, с этой целью можно изменить напряжение питания или подать нестандартный синхросигнал. При возникновении сбоев в функционировании микропроцессорное устройство может выработать информацию, используемую для получения конфиденциальных данных.
Научно-исследовательский центр компании "ВЕLL" в 1996 г. опубликовал сведения о выявлении потенциальной уязвимости в крипто графически защищенных устройствах, в частности, в смарт-картах для электронных платежей.
Опубликованный метод вскрытия получил название «Криптоанализ при сбоях оборудования». В его основе лежит алгоритм сравнения аномальных вычислительных значений с верными, позволяющими восстановить криптографическую информацию, хранящуюся в смарт-карте. Исследования показали, что угрозе несанкционированного доступа подвержены защищенные устройства, использующие крипто алгоритмы с открытыми ключами для аутентификации пользователя. В частности, это смарт-карты, применяемые для хранения данных (например, "электронных" денег); SIM-карты для мобильных телефонов; карты, генерирующие электронные подписи или обеспечивающие аутентификацию пользователя при удалённом доступе к корпоративным сетям. Разработанная фирмой "ВЕLLСОRE" атака применима именно к устройствам, использующим криптографию с открытым ключом. С помощью предложенной методики может быть вскрыт широко известный крипто алгоритм RSA и др. Атака фирмы "ВЕLLСОRЕ" не может применяться к сложным поэлементным манипуляциям, применяющимся в большинстве алгоритмов с секретным ключом типа DES.
Одним из путей защиты от выявленного метода вскрытия является текущая проверка вычисленных крипто устройством значений. Однако такая форма защиты обычно снижает скорость вычислений примерно в 2 раза.
После появления работы ученых фирмы "ВЕLLСОRЕ" стало известно о разработке аналогичной теоретической атаки в отношении симметричных крипто алгоритмов. Новый метод вскрытия смарт карт получил название «дифференциальный анализ искажений» (ДАИ). В основу методики ДАИ заложено предположение, что в устройстве, защищенном от прямого доступа, например, таком, как смарт-карта, подвергнутом определённому физическому воздействию (например, ионизации или микроволновому излучению), можно с большой вероятностью вызвать искажение единицы информации в какой-либо ячейке одного из регистров в ходе процесса криптографических вычислений. Предполагается, что существует возможность повторения эксперимента с тем же устройством, но при отсутствии внешнего физического воздействия. В результате на его выходе формируются два шифротекста, при сравнении которых может быть вычислен секретный ключ. При применении метода ДАИ к случаю крипто алгоритма DES было показано, что в рамках той же модели сбоя в работе аппаратуры можно извлечь полный ключ DES из защищенного от прямого доступа устройства.
Известна модифицированная версия алгоритма ДАИ, которая позволяет выявлять секретный ключ, хранящийся в смарт-карте в условиях, когда отсутствует информация об архитектуре и функционировании конкретной криптосистемы.
По поводу возможности реализации описанных технических атак был высказан ряд замечаний, которые сводились к тому, что появившиеся публикации носят теоретический характер и не подтверждены практикой.
Существуют сомнения в возможности извлечения секретного ключа при возникновении одиночной ошибки в крипто устройстве. Известно, что в большинстве смарт-карт ключи хранятся в перепрограммируемой памяти типа EEPROM, где также содержится большинство программных приложений. Поэтому ошибки, вызываемые ионизирующим излучением, с большой степенью вероятности выводят из строя программное обеспечение.
В 1997 г. была опубликована значительно усовершенствованная атака типа ДАИ. Новые возможности атаки вполне реалистичны, так как используют модель принудительных искажений, ранее эффективно реализованную в атаках на реальные смарт-карты. Особенность предлагаемой методики заключается в индицировании изменений в программных кодах, а не в навязывании искажений в криптографических ключах или другой информации. Она построена на известной возможности вскрытия смарт-карт и других крипто носителей посредством манипуляций с частотой синхросигнала или с напряжением питания в ходе так называемых глич-атак. Например, значительное увеличение частоты синхросигнала относительно номинального значения или кратковременные изменения питающего напряжения вызывают ситуации, в которых программный счетчик может увеличивать значение хранимого в нём числа, в результате операция либо выполняется некорректно, либо не выполняется вообще. Типичная методика, применяемая при вскрытии смарт-карт для систем платного кабельного и спутникового телевидения, основывается на четырехкратном увеличении номинального значения частоты синхронизации. При этом увеличивается продолжительность циклов выполнения отдельных операций и появляется возможность формирования информации с ключевым шифроматериалом на выходе карты.
В конце прошлого века стало известно о новой методике вскрытия смарт-карт, реализованном на практике. Консалтинговая фирма "Cryptography Research" (США) разработала эффективные методики анализа функционирования защищенных устройств, которые можно использовать для извлечения секретных криптографических ключей. Для этой цели был использован сложный метод анализа микро флуктуаций напряжения электропитания смарт-карт.
В течение полутора лет специалисты фирмы Cryptography Research работали над задачей повышения криптографической стойкости смарт-карт. После завершения исследований они познакомили ведущих производителей смарт карт с разработанными фирмой видами атак, названными: "простой анализ питания" (ПАП), "дифференциальный анализ питания" (ДАП) и "дифференциальный анализ высокого порядка" (ДАВП).
Базовые концепции новой методики вскрытия были сформулированы ещё в 1995 г. Оказалось, что вскрывать крипто устройства можно, пользуясь результатами точных замеров интервалов времени при обработке данных. При реализации методики ПАП исследуется динамика энергопотребления системы. При этом выявляются функциональные циклы, характерные для таких крипто алгоритмов, как DES, RSA и т.д. Рабочие циклы выполнения этих алгоритмов микропроцессором характеризуются существенно различающимися по виду фрагментами. При повышении точной регистрации флуктуаций электропитания появляется возможность выделения частных циклов работы криптосистем.
Дифференциальный анализ питания (ДАП) значительно более мощная атака по сравнению с ПАП. В то время, как ПАП-атаки строятся главным образом на контроле электропитания с целью выделения возникающих в ходе работы смарт-карт флуктуаций напряжения питания, метод ДАП построен на статистическом анализе и технологиях исправления ошибок для выделения информации, коррелированной с секретными ключами.
Ещё более сложным методом анализа является анализ высокого порядка. В то время, как ДАП-техника анализирует информацию между образцами данных на протяжении отдельного события, метод анализа дифференциалов высокого порядка можно использовать для выявления корреляции информации между рядом криптографических субопераций. В ДАП-атаках высокого порядка (ДАПВП) изучаются сигналы от серии источников питания. Для их сбора применяются различные методы измерения флуктуации напряжения, а полученные в результате по канального анализа сигналы, имеющие относительные временные сдвиги, комбинируются в процессе комплексного применения методов ДАП.
Для противодействия методам ДАП создана полупроводниковая вентильная логика, обеспечивающая значительно меньший уровень утечки информации о функционировании смарт-карт. Разработаны аппаратные и программные методы, предусматривающие уменьшение утечки информации, внесение маскирующих шумов, декорреляции функционирования узлов системы, а также введения временной декорреляции крипто операций.
Высокая степень безопасности, невозможность клонирования и защищенность радио интерфейса не так давно однозначно ассоциировались с системой мобильной связи GSM. Стандарт GSM был первым среди стандартов беспроводной связи, в котором при проектировании была предусмотрена процедура обеспечения конфиденциальности абонента и криптографическая аутентификация.
Аутентификация пользователя к SI M-карте производится путем предъявления PIN-кода. Эта операция может быть исключена путем отмены процедуры ввода PIN-кода, если пользователю не требуется этот уровень защиты. Функцию идентификации пользователя осуществляет мобильный терминал путем передачи кода IMSI (International Mobile Subscriber Identification) уникального в сетях с нумерацией GSM. Идентификатор хранится в SIM-карте пользователя и может быть считая только после ввода в телефон PIN-кода. Мобильный телефон также передает собственный уникальный номер IMEI (International Mobile Equipment Identification). Данная информация может, в случае необходимости, использоваться для поиска, или отключения похищенных мобильных телефонов, а также для определения фирмы-производителя и модели мобильного телефона.
Процессы аутентификации и генерации сессионного ключа для конкретного соединения реализуются алгоритмами A3 и А8. При корректной аутентификации полученный сессионный ключ Кс будет использоваться как мобильным телефоном, так и сетью для шифрования данных с помощью потокового алгоритма A5. Алгоритмы A3 и А8 используют общий ключ Ki объемом 128 бит и реализуются в " центре авторизации GSM-оператора и SIM-карте пользователя. Ключ Ki защищен средствами микроконтроллера SIM-карты, и прямой доступ к нему закрыт. При предположении, что крипто стойкость используемого алгоритма абсолютна, единственным способом нахождения этого ключа является перебор всех возможных ключей, что составляет 2128 вариантов.
В процессе разработки стандартов сообществом GSM в качестве примера было предложено несколько базовых реализаций алгоритмов A3 и А8 (при предусмотренном праве для членов сообщества самостоятельно разрабатывать и использовать оригинальные алгоритмы). Однако следует иметь в виду, что при желании оператора создавать собственные средства защиты приходится сталкиваться со следующими проблемами:
• созданный алгоритм должен быть использован одновременно как производителями SIM-карт, так и поставщиками сетевого оборудования (AUC);
• ограниченность ресурсов памяти микроконтроллера SIM-карты, первые версии которых содержали энергонезависимую память объемом около 4 Кбайт и 300 байт оперативной памяти;
• ограниченность ресурсов сетевого оборудования, особенно с учетом того, что AUC должен выполнять процесс аутентификации одновременно для многих абонентов.
Указанные факторы определили распространенность первого базового алгоритма (СОМР128), высокая крипто стойкость которого поддерживалась засекреченностью реализации. Однако вскоре этот алгоритм стал доступен в Интернете, где были опубликованы варианты его взлома.
Существует несколько видов крипто атак на алгоритм СОМР128. К числу самых распространенных относится описанная ранее ДАП-атака. Этот метод позволяет вычислить ключ Ki после нескольких запусков крипто алгоритма на карте. Для этого используется специальное оборудование, позволяющее производить анализ флуктуаций электропитания SIM-карты. В частности, специалисты компании IBM продемонстрировали процедуру вскрытия ключа Ki после 7 запусков алгоритма СОМР128, которую назвали распределенной атакой (partitioning). Показатели эффективности известных алгоритмов такого типа лежат в пределах нескольких сотен запусков и уступают разработке, предложенной IBM. Следует отметить, что большинство современных SIM-карт защищены от ДАП-атак с помощью встроенных шумовых генераторов путем модификации крипто алгоритмов.
Прямой способ несанкционированного доступа к ключевой базе перебором ключей Ki позволяет с достаточно большой вероятностью вскрыть ключ за 50...100 тыс. запусков алгоритма на карте. Для защиты от вскрытия ключей систем мобильной связи Ki используются SIM-карты с ограниченным числом обращений к алгоритму аутентификации. Важным направлением защиты систем является совершенствование процедуры создания ключевой базы.
Описанные крипто атаки требуют непосредственного доступа к SIM-карте и наличия сведений о PIN-кодах. К GSM-терминалам также возможен опосредованный несанкционированный доступ через сеть. При наличии у злоумышленников базовой станции GSM она может быть установлена в месте плохой доступности сети оператора и будет имитировать стандартное поведение GSM-сети. При помощи суррогатной базовой станции возможна имитация работы сотовой сети и декодирование секретных ключей аутентификации подключенных к ней абонентов. В стандартах мобильной связи третьего поколения (ЗС) предусмотрена процедура аутентификации, при которой не только абонентский терминал подтверждает свою подлинность, но и сеть должна дать соответствующую квитанцию. На практике многоуровневая система безопасности систем GSM делает затрудненным несанкционированный доступ к данным, содержащимся в SIM-карте. Взломать SIM-карту без знания соответствующего PIN-кода сложно, и даже поставщик не может узнать его без вскрытия специального PIN/P UK-конверта.
Следует отметить, что абонент может получить некоторые преимущества при получении конфиденциальных данных о своей SIM карте. Например, он может одновременно использовать два мобильных телефона с идентичными картами или разместить на клонированных картах подписку на ряд операторов и подключаться к ним по выбору. Однако необходимо учитывать, что информация, полученная таким образом, может быть использована для создания карты, которая не будет принадлежать владельцу оригинала.
Операторы систем GSM, в которых используются вскрытые SIM-карты, не терпят ущерба, так как тарификация вызовов осуществляется вне зависимости от числа клонированных карт.
Представленная информация свидетельствует о том, что неразумно предполагать, что информация, хранящаяся в карте, не может быть доступна хорошо подготовленному злоумышленнику. Особую значимость вопросы защиты смарт-карт и систем, в которых они используются, в особенности систем оплаты телефонных переговоров, приобретают в условиях введения единой таксофонной карты, взлом защиты которой может иметь самые серьёзные последствия [71].
7.3. Защита информации в системах с интеллектуальными картами
Для обеспечения защиты информации в системах с интеллектуальными картами используется ряд механизмов, которые предполагают использование криптографических алгоритмов, ключей и, при необходимости, начальных условий. Необходимо также, чтобы выполнялись и общие условия прозрачности механизмов безопасности по отношению к соответствующим слоям протокола и стандартизированные процедуры информационного обмена не конфликтовали с процедурами защиты сообщений. Это в особенности относится к двум наиболее распространённым протоколам информационного обмена между картой и терминалом типов Т=0 и Т=1 и к повсеместно используемым и стандартизованным командам операционной системы смарт-карт [37, 38, 40, 43].
Злоумышленнику технически просто подсоединиться к каналу I/О, через который происходит обмен данными между терминалом и смарт-картой, записать данные информационной сессии и впоследствии проанализировать их.
Более сложно изолировать канал I/О и разрешить подачу на карту только некоторых действительных команд, заменив остальные несанкционированными.
Оба метода атаки могли бы оказаться более успешными при условии, что секретные данные циркулируют по каналу I/О в незащищённом виде. Передача данных должна быть организована таким образом, чтобы атакующая сторона, даже при возможности вмешательства в информационную сессию с целью ввода посторонних блоков данных, не могла достичь желаемой цели.
Для защиты от такой и более совершенных атак существуют различные механизмы и процедуры защиты сообщений. Они не являются специфическими для смарт-карт и широко используются в технике передачи данных. Отличительными особенностями, характеризующими область применения смарт-карт, являются их низкие вычислительная мощность и скорость информационного обмена. Поэтому масштабы стандартных процедур, используемых повсеместно, были уменьшены из-за ограниченных возможностей смарт-карт, но сохранился уровень защиты, обеспечиваемый этими методами.
Цель аутентификации заключается в проверке идентичности и аутентичности каждой из частей коммуникационной пары. Применительно к смарт-картам такая процедура предполагает, что карта или терминал принимают решение о том, является ли другой участник информационного обмена подлинным.
Участники сессии обмена информацией должны обладать некоторой общей секретной информацией, которая анализируется в процессе аутентификации. Такая система защиты имеет более высокий уровень по сравнению с простым идентификационным процессом, который реализуется при проверке PIN-кода. Главный недостаток такой системы связан с открытостью процедуры введения незащищенного PIN-кода в систему, который может быть перехвачен злоумышленниками.
В ходе аутентификационной процедуры должны быть созданы условия, при которых перехват секретной информации становится невозможным.
Следует различать процедуры статической и динамической аутентификации. При статической процедуре используются неизменные данные, а при динамической они формируются таким образом, что структура данных, передаваемых во время предыдущей информационной сессии отличается от структуры данных, передаваемых в ходе текущего обмена информацией, и по этой причине не могут быть использованы для несанкционированного доступа к ресурсам системы.
Следует также учитывать принципиальное отличие между однонаправленной и двунаправленной процедурами аутентификации. В первом случае определяется аутентичность в одном из направлений информационного обмена, а во втором устанавливается взаимная аутентичность.
Аутентификация, базирующаяся на криптографических алгоритмах, подразделяется на симметричную и асимметричную версии. В настоящее время для систем со смарт-картами применяются в основном симметричные процедуры. Асимметричные процедуры, базирующиеся на алгоритмах RSA (или аналогичных), менее распространены. Однако предполагается, что в будущем эта ситуация может измениться.
Процедуры аутентификации определяются рядом стандартов, среди которых основным является ISO/IEC 9798. При этом в части 2 стандарта описана симметричная процедура, а в части 3 ассиметричная.
Процесс аутентификации смарт-карт всегда содержит процедуру выработки производного отклика на случайное воздействие. Участник сессии информационного обмена использует определенный алгоритм вычисления такого отклика и посылает его в ответ на полученное воздействие.
На практике наиболее предпочтительным алгоритмом является тот, в котором используется конфиденциальный ключ, представляющий собой инструмент засекречивания, используемый при взаимной аутентификации.
Однонаправленная симметричная аутентификация. Однонаправленная симметричная аутентификация используется для подтверждения аутентичности второго участника информационного обмена. Для её реализации необходимо наличие общего секретного ключа у обоих участников информационного обмена.
Принцип построения такой системы иллюстрирует структурная схема, представленная на рис.7.4. Для простоты предполагается, что терминал производит проверку аутентичности карты.
Принцип работы системы заключается в том, что терминал генерирует случайное число и направляет его в карту. Карта кодирует его,
используя секретный ключ шифрования, известный терминалу и карте. Секретная процедура полностью зависит от параметров используемого ключа, так как только его обладатель может выработать правильный отклик на запрос терминала. Сформированный отклик возвращается в терминал, который дешифрирует его и сравнивает полученный результат со структурой случайной последовательности, посланной в карту. При совпадении структур этих последовательностей терминал принимает решение о том, что карта обладает соответствующим секретным ключом и является ему аутентичной.
В этом случае атака злоумышленника, основывающаяся на воспроизведении перехваченного запроса или ответа, невозможна, так как в течение каждой сессии обмена информацией между картой и терминалом используется уникальная, случайным образом полученная кодовая комбинация. Единственным видом атаки, которая имеет определенный шанс на удачу, является поиск секретного ключа путём перебора комбинаций. В этом случае в результате "лобовой атаки" на основе многократно повторяемых процедур запрос-ответ может быть вычислен секретный ключ.
Если все карты, применяемые в конкретном приложении, обладают одинаковым секретным ключом, который был вскрыт, то система в целом будет скомпрометирована. Для исключения такой ситуации на практике используются уникальные секретные ключи. Каждая карта имеет индивидуальный секретный ключ, который может быть вычислен, исходя из несекретных данных о карте. Например, таких, как серийный номер её микросхемы или какой-либо другой номер, который меняется от микросхемы к микросхеме. Для вычисления секретного уникального ключа терминал запрашивает номер, присвоенный карте. Сформированный с его использованием секретный ключ становится уникальным в рамках данной системы.
Секретный аутентификационный ключ также является индивидуальным для конкретной карты и формируется как функция номера карты и секретного мастер-ключа, который содержится в терминале. Для получения аутентификационного ключа может использоваться кодирование по сложным алгоритмам DES или тройной DES.
Однако следует помнить, что если мастер-ключ, хранящиеся в терминале, будет вскрыт, известными станут все секретные ключи, присвоенные конкретным картам. Очевидно, что при таком построении системы аутентификации должна быть предусмотрена высокоуровневая защита мастер-ключа, хранящегося в терминале. Для обеспечения возможности замены мастер-ключа информация о нём может храниться в сменном модуле безопасности, устанавливаемом в терминалы. Для защиты информации о "мастер-ключе" могут быть
предусмотрены, в частности, такие меры, как его уничтожение при попытках несанкционированного доступа.
После того, как аутентификационный секретный ключ карты вычислен терминалом, продолжается стандартная сессия обмена информацией между картой и терминалом. Карта получает случайное число от терминала, кодирует его с помощью своего индивидуального секретного ключа и возвращает полученный результат на терминал. В свою очередь терминал выполняет те же самые операции и производит сравнение двух имеющихся в его распоряжении результатов. Если они совпадают, то делается заключение о том, что смарт-карта и терминал обладают идентичным секретным ключом и карта аутентифицирована терминалом.
Процедура аутентификации требует определённых временных ресурсов, так как для её выполнения необходимо вызвать из памяти карты алгоритм DES и выполнить процедуры обмена информацией.
Взаимная симметричная аутентификация. Принцип взаимной аутентификации основывается на двунаправленной процедуре взаимной проверки. В этом случае можно реализовать однонаправленные процедуры аутентификации последовательно, что в целом составит полную взаимную аутентификацию. Однако в связи с тем, что в реальных условиях требуется максимально сократить время выполнения процедуры аутентификации, разработаны процедуры, которые интегрируют двунаправленный процесс аутентификации в один.
В результате достигается более высокий уровень защищенности от несанкционированного доступа, чем в ходе последовательного выполнения аутентификационных процедур.
Для реализации процедуры аутентификации терминал, в первую очередь, должен вычислить секретный ключ как производную номера карты и мастер-ключа, а затем уникальный секретный ключ конкретной карты. После этого терминал запрашивает у карты случайное число и генерирует собственное секретное число. В итоге терминал располагает двумя последовательностями, которые он поочередно кодирует с помощью секретного аутентификационного ключа и возвращает результат на карту.
Карта дешифрирует принятую информацию и сравнивает принятое (выделенное) случайное число с ранее направленным в терминал (хранящимся в памяти). В случае положительного результата карта получает информацию о том, что терминал обладает секретным ключом, аутентичным карте. Затем карта кодирует два имеющиеся случайные числа и отправляет результат в терминал. Терминал дешифрирует принятую информацию и, в свою очередь, сравнивает соответствующие возвращенные из карты и имеющиеся данные. В случае совпадения результатов в терминале принимается решение, что карта аутентична терминалу, и процесс взаимной аутентификации заканчивается.
В ходе информационного обмена карта может направлять случайное число совместно со своим номером в терминал для того, чтобы минимизировать время связи с терминалом. Такой приём используется в тех случаях, когда необходимо выполнять процедуры аутентификации между смарт-картой и системой в целом. При этом информация от карты запрашивается системой напрямую, а терминал является прозрачным.
Статическая асимметричная аутентификация. Использование дополнительной асимметричной аутентификационной процедуры обеспечивает более высокий уровень защиты системы от несанкционированного доступа. Возможным вариантом решения поставленной задачи является статическая аутентификация карты терминалом, для чего требуется наличие в его программном обеспечении подпрограммы распознавания электронной подписи.
Статический метод аутентификации не обеспечивает защиту системы от возможного использования данных, перехваченных в ходе сессии информационного обмена между картой и терминалом, структура которых неизменна при всех сеансах связи.
Рассмотрим основные принципы использования статической асимметричной аутентификации (рис.7.5). При персонализации в каждую смарт-карту вводятся ее индивидуальные параметры, например, номер карты, имя владельца и т.п. Цифровая подпись, применяемая для аутентификации, вычисляется во время персонализации с использованием секретного ключа, который остается неизменным на время жизни карты. При введении карты в терминал производится считывание персональных данных и удостоверяющей подписи. Для осуществления аутентификации терминал должен обладать открытым ключом, подходящим для всех карт системы, с помощью которых можно декодировать подпись и сравнить результат с информацией, полученной от карты. В случае совпадения результатов в терминале принимается решение об аутентичности карты.
Описанная процедура кроме незащищенности от возможного перехвата данных информационной сессии имеет недостаток, связанный с тем, что для генерации и проверки цифровых подписей используются открытые ключи. Необходимо отметить, что в системах с достаточно большим числом карт не следует использовать универсальные ключи для защиты всех применяемых карт. Это связано с тем, что в случае утраты ключевой информации или ее вскрытия злоумышленниками процедура аутентификации теряет смысл в рамках всей системы. В связи с этим необходимо вводить индивидуальные ключевые пары для каждой карты, что, однако, требует увеличения объёма памяти терминала, в котором должна храниться вся необходимая ключевая информация.
При использовании симметричных методов аутентификации имеется возможность сформировать индивидуальные ключи с помощью "мастер-ключа" простым способом. Однако такая возможность не реализуется при использовании асимметричных методов из-за специфики используемого способа генерации ключей. Открьгтый ключ должен храниться в карте совместно с цифровой подписью. Терминал считывает необходимые открытые ключи из информационного файла карты и использует их для проверки подписи, обращаясь к своему банку данных об открытых ключах системы в каждом терминале.
Динамическая асимметричная аутентификация. Динамические аутентификационные процедуры позволяют преодолеть недостатки, свойственные статическим асимметричным аутентификационным процедурам, и обеспечивают защиту от возможного использования перехваченной информации о сессии информационного обмена между картой и терминалом. Традиционным подходом к реализации методов динамической аутентификации является использование случайного числа, которое является отправной точкой для криптографического
алгоритма. Однако такой тип аутентификации требует наличия также и в смарт-картах арифметического устройства для проведения необходимых вычислений.
Структурная схема, иллюстрирующая использование однонаправленного алгоритма аутентификации с использованием единого открытого ключа, представлена на рис.7.6. При использовании специфических секретных ключей для каждой карты требуется процедура, описанная выше и предполагающая первоначальную аутентификацию индивидуального и открытого ключей.
В ходе динамической аутентификации терминал формирует случайное число и направляет его на карту. Карта декодирует принятую информацию с применением секретного ключа, после чего сформированные данные направляются на терминал. В памяти терминала хранится единый открытый секретный ключ, который был использован ранее для кодирования случайного числа карты. При совпадении результатов проведенных вычислений принимается решение, что карта аутентична терминалу.
Взаимная динамическая асимметричная аутентификация карты и терминала по существу аналогична процедуре однонаправленной динамической аутентификации, описанной выше. Однако для её выполнения требуется больше времени из-за необходимости обмена большим объёмом информации между картой и терминалом и выполнения сложной процедуры асимметричного кодирования. По этой причине описанная процедура в настоящее время используется сравнительно редко.
Электронная цифровая подпись. Цифровые подписи, которые также называют электронными подписями, используются для аутентификации электронных сообщений или документов в электронной форме. Анализ структуры цифровой подписи даёт возможность определить, являются ли эти сообщения и документы оригинальными, т.е. позволяет выявить попытки изменить их содержание.
Основным свойством электронной подписи является возможность её формирования исключительно отправителем сообщения, которому официально делегированы права на ее создание, а проверку её подлинности могут выполнить все получатели, имеющие необходимую аппаратуру.
Термин цифровая подпись обычно подразумевает применение асимметричных крипто алгоритмов, предполагающих использование секретных ключей при создании открытых ключей при извлечении информации из принятого подписанного сообщения.
Сформированное и подписанное сообщение может быть направлено получателю по незащищенному каналу, где оно разделяется на информационный блок и данные цифровой подписи. Принятая информация обрабатывается по хёш-алгоритму, идентичному использованному на передающей стороне. Цифровая подпись дешифрируется по алгоритму RSA с применением открытого ключа, затем полученный результат сравнивается с информационным блоком, полученным в результате обработки подписанного сообщения по хёш-алгоритму. При совпадении полученных данных можно сделать заключение о том, что принятая информация не претерпела изменений в процессе передачи, другими словами, ни сообщение, ни подпись не изменились.
Функции, возлагаемые на смарт-карту при выполнении описанных процедур, определяются достаточно просто. По меньшей мере, в карте должен храниться секретный ключ, используемый для обработки данных по алгоритму RSA, который используется для формирования цифровой подписи, исходя из полученного значения хёш-функции. Остальные процедуры, например, такие, как обработка информации по хёш-алгоритму, выполняются микропроцессорами терминала.
Однако оптимальным вариантом реализации системы создания цифровой подписи является тот, в котором обеспечивается обработка передаваемой информации по хеш-алгоритму и посылка ее на терминал совместно с созданной цифровой подписью. Проверка достоверности цифровой подписи также может осуществляться в карте. Такой вариант построения системы является оптимальным с позиции пользователя, так как используемые хеш-алгоритмы и открытые ключи для RSA-алгоритма могут быть заменены путём введения в терминал соответствующей карты.
Рассмотренные варианты построения системы с применением электронной цифровой подписи рассчитаны на применение открытых ключей, являющихся универсальными для всех карт системы на этапах генерации и проверки цифровой подписи.
Алгоритм RSA является не единственным алгоритмом, который может быть использован для формирования цифровых подписей. Разработаны специализированные криптографические процедуры, к которым, в частности, относится алгоритм цифровой подписи DSA (Digital Signature Algorithm).
7.4. Создание секретных ключей
Один из принципов обеспечения секретности системы с позиций использования секретных ключей для криптографических алгоритмов заключается в увеличении числа используемых секретных ключей. Однако следует учитывать, что в ряде случаев ключевой материал может занять более половины ограниченных ресурсов памяти карты.
Необходимый уровень защиты конкретной системы зависит от области её применения. Например, нецелесообразно формировать несколько поколений секретных ключей в случае, если карта рассчитана на использование в течение короткого временного интервала, так как в этом случае резервирование дополнительных объёмов памяти не будет оправдано.
Производные секретные ключи. При проектировании защищенных систем с применением смарт-карт следует учитывать, что, в отличие от терминалов, карты могут быть подвергнуты несанкционированному изучению злоумышленниками с привлечением мощных технических средств и в течение длительного времени. Если карта не содержит мастер-ключа, ущерб от неавторизованного считывания информации будет минимальным. По этой причине в карты, как правило, вводятся секретные ключи, являющиеся производными от секретного мастер-ключа.
Производные ключи формируются с применением криптографического алгоритма. Исходными при создании производного ключа являются секретный мастер-ключ и индивидуальные данные карты, в которой будет храниться производный ключ. В качестве криптографического алгоритма, используемого в такой процедуре, как правило, применяются алгоритмы DEA (Data Encryption Algorithm) или тройной DES. Для упрощения формирования производного ключа в качестве отправной точки можно использовать серийный номер карты, который наносится на нее в процессе производства и является уникальным в рамках данной системы.
Диверсификация секретных ключей. Для минимизации возможного ущерба, который может быть нанесен системе при компрометации секретных ключей во время выполнения каждой из криптографических операций, зачастую используют специализированные секретные ключи. Таким образом, например, становится возможным различать секретные ключи для формирования цифровых подписей, секретной связи, аутентификации и кодирования. При такой организации системы для каждого производного секретного ключа должен существовать собственный секретный мастер-ключ, необходимый для его формирования.
Версии ключей. Как правило, одного поколения секретных ключей недостаточно для обеспечения всего периода "жизни" карты. Например, при вскрытии мастер-ключа внешним злоумышленником, атакующим систему, все провайдеры конкретных приложений, предоставляемых данной системой, должны приостановить обслуживание клиентов, а поставщики карт должны отозвать карты, находящиеся в обращении, что, в свою очередь, приведёт к финансовым потерям. По этой причине в современных системах предусматривается возможность перехода в режим функционирования с ключами новых поколений.
Переход на новую ключевую базу может происходить из-за компрометации ключевого материала или осуществляться по заданному или гибкому графику. Полная замена секретного ключевого материала в системе позволяет не отзывать карты, находящиеся в обращении. Для доставки нового секретного ключевого материала мастер-ключей в терминалы и другие системные компоненты используется защищенная процедура передачи информации.
Динамические ключи. Во многих приложениях, особенно в области передачи данных, применяется такая совершенная технология, как динамические секретные ключи, которые также называются временными секретными ключами. В этом случае процесс передачи информации начинается с генерации случайного числа, которое используется только в текущей информационной сессии, и передается другой стороне, участвующей в обмене информации. Смарт-карты и терминал кодируют полученную информацию для получения производного ключа, который будет действительным только на время текущего сеанса обмена информацией.
Главным достоинством динамических секретных ключей является то, что атака злоумышленников затруднена, так как ключи являются одноразовыми. Однако следует принимать специальные меры предосторожности при использовании динамических ключей для генерации подписей, так как их данные будут необходимы для её проверки и могут быть сформированы при использовании того же случайного числа, которое применялось для создания цифровой подписи. Таким образом, динамические ключи необходимо хранить в памяти системы для последующего их использования при сверке подписи.
Стандарт ANSI определяет значительно более сложную процедуру генерации динамических и производных ключей, которая тем не менее находит широкое применение в сфере электронных платежей. В этом случае используется необратимая процедура генерации ключей, делающая невозможным восстановление исходного ключа.
Дополнительная информация о ключах. Для того, чтобы выполнить операцию адресации к информации ключевого материала, содержащейся в смарт-карте, используется достаточно простой механизм. Следует отметить, что системы с использованием смарт-карт проверяют каждый факт адресации к ключам на соответствие их целевому назначению. Например, система должна запретить использование аутентификационного секретного ключа для кодирования информации. Адресация к ключевому материалу для пользователя становится возможной только при наличии серийного номера, являющегося его неотъемлемой частью. Вызвать информацию о специальных секретных ключах можно, имея номер версии искомого ключевого материала.
В ряде систем с применением смарт-карт используются счетчики несанкционированных попыток доступа к ключевому материалу, работающие в режиме вычитания в тех случаях, когда делаются попытки его несанкционированного считывания. При превышении заданного порога числа ошибочных попыток доступа осуществляется блокировка ключа с запретом его дальнейшего использования. Счетчик ошибочных попыток доступа к ключевому материалу устанавливается в исходное состояние после выполнения пользователем санкционированной процедуры. В случае использования несоответствующего мастер-ключа в конкретном терминале могут произойти массовые блокировки карт пользователей. Сброс счетчика ошибок в исходное состояние, как правило, производится в специальных терминалах после проверки прав пользователя.
В некоторых системах, использующих смарт-карты, предусматривается запрет на повторное использование ранее применявшихся версий ключевого материала путем введения в него дополнительной информации, которая активируется в момент использования новых ключей с идентичным серийным номером.
Процедуры менеджмента ключей. В реальных больших системах применяются сложные многоступенчатые процедуры менеджмента ключей, в отличие от малых систем, в которых отсутствует иерархическая система создания и распределения секретных ключей. Объём ключевой информации не является регламентированным и может меняться в достаточно широких пределах. По соображениям безопасности, как правило, система строится так, что чем выше иерархическое положение конкретного ключа, тем мощнее криптографические процедуры, в результате которых были сформированы его данные.
Секретный мастер-ключ занимает наивысшую позицию в ключевой иерархии и является уникальным для каждого поколения производных ключей. Например, если одно поколение ключей действительно на год, то после окончания срока действия новое поколение формируется с помощью нового мастер-ключа. Информация, содержащаяся в мастер-ключе, является исходной для всех остальных ключей системы, и в случае её взлома злоумышленниками могут быть вычислены все остальные ключи данного поколения. Мастер-ключ может быть сформирован, исходя из данных, полученных случайным образом, но также имеется возможность его создания путём объединения информационных блоков, полученных от различных участников системы, которые получили их на основе случайных чисел. В отличие от общего мастер-ключа производные мастер-ключи могут храниться в памяти модулей SAM локальных терминалов, и по этой причине являются более уязвимыми к действиям злоумышленников.
На следующем уровне ключевой иерархии расположены производные ключи, информация о которых хранится в смарт-картах. Каждая карта содержит набор производных ключей, разделяющихся по поколениям и функциям. При помещении такой карты в терминал он может вычислить необходимые производные ключи. Как правило, информация, из которой формируются ключи, считывается терминалом в первую очередь. Динамические ключи, время жизни которых равно конкретной информационной сессии, могут быть вычислены на следующем иерархическом уровне с помощью производных ключей. В типичных системах со смарт-картами время жизни динамического ключа составляет от нескольких сотых миллисекунд до нескольких секунд, после чего он уничтожается. В случае, если какой либо из ключей становится известным, принимаются специальные меры в соответствии с его иерархическим положением. Если скомпрометирован общий мастер-ключ, то для обеспечения безопасного функционирования системы активируется новое поколение ключевого материала. Если произошла утечка информации о производном мастер-ключе, блокируется ветвь иерархии, расположенная ниже или же производится переключение на новое поколение. Если же несекретным стал производный ключ, то достаточно заблокировать конкретную смарт-карту. В условиях выявления канала утечки информации в системе все дополнительные меры по замене ключевого материала будут избыточными.
Ключевые иерархии, применяемые на практике, как правило, содержат значительное число ключей, хранящихся в памяти смарт-карт.
Практическое построение ключевой иерархии может отличаться от описанного и зависит от параметров конкретной системы, для которой она создается.
Весь обмен данными между терминалом и смарт-картой происходит через канал I/О.
Перед выполнением процедуры защиты данных обе связывающиеся стороны должны согласовать используемые криптографический алгоритм и секретный ключ. При расшифровке информации секретного ключа вся система защиты сообщений превратилась бы в вычисление дополнительной контрольной суммы, снижающей скорость передачи информации.
Требования обеспечения критерия прозрачности по отношению к командам и к двум принципиально различным протоколам информационного обмена привели к созданию гибкого, достаточно сложного метода защиты сообщений, стандартизированного ISO/IEC 7816-4. Он основан на вложении всех пользовательских данных в TLV-кодированные объекты.
Можно выделить три различных типа таких объектов:
• для открытого текста, содержащие данные в открытом тексте (например, секция данных APDU);
• для механизмов защиты, содержащих выходы механизмов защиты (например, МАС);
• для дополнительных функций, содержащие данные управления для защиты сообщений (например, метод дополнения незначащей информацией).
Байт класса применяется для индикации наличия процедуры защиты по ISO/IEC 7816-4.
Объекты данных открытого текста. По стандарту данные, не кодированные как BER-TLV, должны быть вложены в объекты данных. Для указания включения объекта данных в вычисление криптографической контрольной суммы существуют различные идентификационные символы.
Объекты данных для механизмов защиты. Объекты данных, используемые в механизмах защиты, подразделяются на используемые для опознавания и конфиденциальности. Опознавание касается объектов данных, связанных с криптографическими контрольными суммами и цифровыми подписями. Кодирование данных и идентификация, необходимые для обеспечения защиты сообщений, проходят под заголовком конфиденциальности ID.
Объекты данных дли дополнительных функций используются для определения общих условий во время защиты сообщений. Обе стороны информационного обмена используют их для обмена данными об используемых криптографическом алгоритме, ключах и другой информации. На практике объекты данных используются редко, так как все условия защиты сообщений задаются неявно и их не надо определять во время информационного обмена.
Используя варианты, предлагаемые процедурой защиты сообщений, стандартизированной ISO/IEC 7816-4, рассмотрим две фундаментальные процедуры.
Процедура опознавания защищает пользовательские данные, т.е. APDU, с помощью криптографической контрольной суммы (CCS, МАС) от манипуляций во время сессии информационного обмена. В противоположность этому, комбинированная процедура используется для полного кодирования пользовательских данных с тем, чтобы атакующий не мог воспользоваться данными, содержащимися в передаваемых командах и ответах. Счётчик последовательностей сеансов передачи работает только в комбинации с одной из этих двух процедур. Исходным значением счетчика является случайное число, увеличивающееся после прихода и получения каждой команды и с каждым ответом. Это позволяет обеим сторонам обнаружить утерянную или искусственно введённую информацию. При совместном использовании с комбинированной процедурой счётчик последовательностей передачи может также обеспечить режим работы, при котором аналогичные APDU отличаются одна от другой. Такая процедура известна как разнесение данных .
Процедура опознавания. Процедура опознавания гарантирует передачу подлинного информационного блока APDU. Получатель данных APDU может определить, были ли они изменены во время информационного обмена. Это делает невозможным для атакующего изменение данных APDU незаметно для получателя.
Реализация этой процедуры индицируется битом в байте класса таким образом, чтобы получатель мог проверить поступающий информационный блок APDU на подлинность. Информация APDU передается открыто и не кодируется, т.е. передаваемые данные могут быть приняты и оценены атакующим при возможности подключения к каналу связи.
Для вычисления криптографической контрольной суммы может использоваться любой алгоритм кодирования. По практическим соображениям, как правило, используется алгоритм DEA с блоком фиксированной длины 8 байт. Поэтому объекты индивидуальных данных должны быть кратны 8 байтам, что обеспечивается путём дополнения незначащей информацией. Объекты данных, информация которых кратна 8 байтам, также расширяются на один блок. После этого вычисляется CCS (Cryptographic Check Sum, Криптографическая Контрольная Сумма) APDU с помощью алгоритма DES в режиме СВС. Полученная 8-байтная контрольная сумма, за исключением четырех наименее значащих байтов, объединяется с APDU как TLV-кодированный объект данных с исключением четырёх наименее значащих байтов. Все дополняющие байты после вычисления контрольной суммы удаляются. Переформатированный блок APDU после вышеописанной процедуры посылается через интерфейс к получателю. Эта процедура незначительно снижает скорость передачи. Исходный формат данных APDU трансформируется в TLV-кодированные данные с дополнением объектов данных до кратности 8 бит, затем вычисляется CCS. Данные информационного блока APDU дополняются TLV-кодированным объектом, содержащим CCS, с дополнением объектов данных до кратности 8 бит. Последовательность формирования команды APDU при выполнении комбинированной процедуры представлена на рис.7.7.
Объекты данных для структур управления могут однозначно индицировать, какие алгоритм и метод дополнения незначащей информацией использовались. Для простоты примем, что смарт-карте и терминалу в неявном виде известны параметры используемой системы защиты данных.
Когда защищённый блок данных APDU достигает получателя, тот вновь расширяет его до объёма, кратного 8 байтам, и, в свою очередь, вычисляет МАС APDU. Сравнивая вычисленные значения с принятым МАС, вычисленным отправителем, получатель может определить, модифицировалась ли информация APDU в процессе сеанса связи.
Обязательным условием для вычисления криптографической контрольной суммы является наличие секретного ключа DEA у обоих участников сеанса связи. Условия засекреченности ключа обеспечивают невозможность взлома данных, передаваемых в процессе информационного обмена. Для улучшения защиты системы от атак, основанных на знании пар «открытый текст - кодированный текст», обычно используются динамические ключи. Они генерируются с использованием случайного числа, которым терминал и карта предварительно обмениваются в начале сеанса связи. После этого применяется обычный ключ, известный обеим сторонам.
Дополнительные меры, необходимые для передачи и приёма защищенных APDU, снижают эффективную скорость передачи. При этом допустимо двукратное снижение скорости передачи основной информации.
Комбинированная процедура. Следующим шагом в направлении улучшения защиты информационного обмена является комбинированная процедура. При её использовании передача данных APDU не производится открытым текстом, а кодируется.
Для организации дополнительной защиты используется процедура опознавания. Объекты данных, которые в предыдущем методе защищались криптографической контрольной суммой, снова расширяются до получения кратности 8 байт путём дополнения незначащей информацией и кодируются DEA в режиме СВС. Заголовок в этом процессе исключается для обеспечения совместимости с протоколом типа Т=0. Если предпочтительно кодировать и заголовок для обеспечения не распознаваемости команд, используется команда Т=0 ENVELOPE. Один бит в байте класса служит для индикации введения защиты информационного обмена. Так как на приёмной стороне известен секретный ключ, который использовался при кодировании, то блок данных APDU может быть декодирован. Результаты декодирования проверяются повторным вычислением с использованием имеющейся криптографической контрольной суммы в том же уровне слоя передачи.
При использовании этого метода атакующий, подсоединившийся к каналу I/О, не сможет определить, какими данными обмениваются карта и терминал. Также невозможно будет и заменить один из кодированных блоков APDU, так как они объединены алгоритмом DEA в режиме СВС. Это означает, что любая подмена будет выявлена на приёмной стороне.
Для обеспечения дополнительной защиты информации может быть использован любой алгоритм кодирования блоков. Как и в предыдущем методе, ключи должны быть временными с тем, чтобы при каждой сессии информационного обмена использовался уникальный производный ключ.
С позиций целесообразности использования дополнительной защиты применение комбинированной процедуры может быть рекомендовано для всех данных APDU, однако следует учитывать, что при этом существенно снижается скорость передачи данных.
Счётчик последовательностей передачи. Защиту сообщений с применением механизма счета последовательностей передачи целесообразно вводить только в комбинации с процедурой опознавания или с комбинированной процедурой. В противном случае изменение атакующим состояния счётчика может быть не выявлено системой. Исходный формат данных APDU трансформируется в TLV-кодированные данные с дополнением объектов данных до кратности 8 бит, затем вычисляется CCS. Данные информационного блока APDU дополняются TLV-кодированным объектом, содержащим CCS, с дополнением объектов данных до кратности 8 бит, после чего осуществляется кодирование секции данных APDU с помощью секретного ключа. Последовательность формирования команды APDU при выполнении комбинированной процедуры представлена на рис.7.8.
При работе счетчик использует назначенные каждому информационному блоку APDU последовательные номера, являющиеся функцией времени передачи. Это позволяет выявить изъятие или введение блоков данных APDU и прервать сеанс связи приёмной стороной.
В качестве исходного значения счётчика используется случайное число, которое при начале сеанса связи посылается картой на терминал по его запросу. Значение счетчика увеличивается при каждой последовательной передаче данных APDU. Ёмкость счётчика должна быть оптимизирована во избежание дополнительных издержек при передаче.
Имеются два основных варианта организации счёта командных и ответных данных АРР~3. Счетчик может быть реализован путём дополнения в виде числового значения в объект данных соответствующего блока APDU. Он также может быть подвергнут операции XOR с таким же числом данных, содержащихся в APDU. После этого вычисляется криптографическая контрольная сумма и восстанавливаются модифицированные данные. Получателю данных APDU известно ожидаемое значение состояния счетчика и он (как и отправитель) может модифицировать данные APDU аналогичным образом. Он также может вычислить криптографическую контрольную сумму и проверить данные APDU.
Сессия информационного обмена организуется следующим образом. Терминал запрашивает у смарт-карты начальное значение состояния счётчика. Карта посылает терминалу двухбайтное случайное число. Терминал передаёт в карту первую из защищённых команд вместе со значением состояния счетчика числа информационных сессий. Для защиты счётчика и тела может быть применена процедура аутентификации либо комбинированная процедура. Карта получает защищённый блок данных APDU, проверяет первоначально информацию на наличие индикаторов ее модификации и после этого сравнивает значение принятого состояния счетчика с записанным в карте. В случае положительного результата это означает, что ни один из блоков данных APDU при передаче не изменялся и не удалялся. Варианты передачи данных счётчика сеансов связи в команде APDU представлены на рис.7.9.
Передача данных счётчика сеансов информационного обмена по варианту 1 предполагает использование TLV-кодированного объекта данных в секции данных. Возможен также вариант 2, в котором данные счётчика сеансов информационного обмена используются для вычисления CCS через связывание SSC (Send Sequence Counter, Счётчик Сеансов Связи) при помощи операции XOR с данными APDU.
Использование счётчика сеансов связи целесообразно не только в тех случаях, когда несколько команд должно быть послано в определенном порядке, но и при использовании единственной команды, так как сессия индивидуализируется счётчиком (рис.7.10).
Счётчик, кроме всего прочего, защищает от повторного ввода уже переданного информационного блока APDU и от возможного изъятия данных APDU.
Если счётчик последовательностей используется совместно с комбинированной процедурой, то каждый кодированный блок будет индивидуальным, т.е. разнесённым . Процедура разнесения
основана на том факте, что состояние счетчика увеличивается при каждом информационном обмене новым блоком данных APDU, а также на том, что при эффективном алгоритме кодирования изменение одного бита в открытом тексте изменяет внешний вид всего кодированного блока данных.
Глава 8. КАРТЫ С МАГНИТНОЙ ПОЛОСОЙ
8.1. Запись-воспроизведение информации с магнитной полосы карт
Место системы записи-воспроизведения информации на магнитные карты в общей иерархии систем магнитной записи показано на рис.8.1 (см. стр. 140) [2, 41].
Традиционные методы магнитной записи-считывания информации предполагают транспортирование магнитного носителя относительно блока магнитных головок.
При построении терминалов для записи-считывания информации с карт с магнитной полосой также широко применяется метод ручного или автоматического перемещения носителя информации (рис.8.2).
Реже используются устройства, в которых карта вкладывается в нишу неподвижного основания, а запись или воспроизводство информации осуществляются движущимся узлом магнитной головкой.
В ряде случаев используются потокочувствительные магниторезистивные головки, позволяющие производить последовательный опрос записанной информации в статическом режиме. При этом блок магнитных головок должен состоять из ряда головок, подключенных
к коммутирующему узлу. В этом случае плотность записи зависит от геометрических размеров ее элементов и, как правило, оказывается низкой.
Обобщенная структурная схема канала записи-воспроизведения информации на магнитную полосу имеет традиционный состав (рис.8.3):
• кодер (К);
• усилитель записи (УЗ);
• усилитель воспроизведения (УВ);
• блок обработки (БО);
• декодер (Д).
В устройствах записи-считывания информации обычно применяются универсальные блоки магнитных головок (БМГ), обеспечивающие как запись, так и воспроизведение информации. Переключение режимов осуществляется коммутатором (КМ).
В состав канала записи-воспроизведения также входит узел стирания информации.
8 1.2. Анализ основных причин появления ошибок при воспроизведении информации с магнитной карты
Свойства цифровой магнитной записи во многом зависят от типа используемого носителя. По сравнению с традиционными магнитными лентами и дискетами магнитная полоса на карте пользователя имеет ограниченные линейные размеры, а механизм перемещения относительно головок воспроизведения существенно определяет сложность и эксплуатационную надежность картоприемника.
Напомним, что основными потребительскими характеристиками (ЦМЗ) являются плотность и верность записи цифровых сигналов.
Плотность записи характеризуется числом двоичных символов (бит) информации, записанных на единице длины (или поверхности) носителя.
Для реальных носителей поверхностная предельная плотность цифровой магнитной записи составляет примерно 2 кбит/мм.
Плотность записи и геометрические размеры носителя определяют объем памяти, т.е. количество запоминаемой информации. Плотность записи и скорость перемещения носителя относительно магнитных головок определяют скорость формируемого цифрового потока.
Верность ЦМЗ (магнитной записи-воспроизведения цифровых сигналов) зависит от вида информации и способов обработки сигналов при записи и воспроизведении. Количественно требования к верности ЦМЗ изменяются в широких пределах и естественно определяются системными особенностями.
Чаще всего верность прямой (непосредственной) записи/воспроизведения цифровых сигналов оказывается ниже требуемой, и для ее повышения применяются различные методы обнаружения и исправления ошибок. В принципе эти методы аналогичны тем, которые используются в цифровых системах передачи [17, 53, 75].
Каналы записи-воспроизведения на магнитных картах работают в условиях, близких к предельным по плотности записи и отличаются широким диапазоном скорости считывания и коррекции информации. Поэтому только системный анализ тракта записи-воспроизведения-стирания информации на магнитных картах и позволяет определить оптимальный метод обнаружения и последующей обработки сигнала.
Кратко обсудим основные причины снижения верности ЦМЗ (табл.8.1).
Выпадения воспроизводимого сигнала. Выпадениями называются кратковременные глубокие снижения уровня воспроизводимого сигнала, вызванные нарушением плотного контакта головки с носителем. При наличии выпадений пороговый формирователь не срабатывает и возникают ошибки, поражающие сразу целую группу символов. Обычно выпадения снижают уровень воспроизводимого сигнала на 50...80%, но полного пропадания сигнала практически не существует. Основным источником снижения верности при записи на магнитных картах оказываются выпадения.
Износ магнитной полосы карты и пути его уменьшении. Применение контактного способа записи на магнитных картах в сочетании с необходимостью обеспечения высокого ресурса работы магнитной полосы в паре с магнитной головкой, обеспечивающего стабильность характеристик каналов записи-воспроизведения, заставляет учитывать особенности процесса трения в указанной паре.
Взаимодействие магнитной головки с магнитной полосой на пластиковой основе может рассматриваться как скольжение жесткого тела по упругому контртелу, прижатому к нему с усилием Р. Трение, возникающее при этом, существенно зависит от ряда параметров, характеризующих контактирующие поверхности, а также от площади контакта между ними, определяемой степенью огибания магнитной полосой каждого отдельного микро выступа рабочей поверхности магнитной головки.
Фрикционное взаимодействие магнитной головки и магнитной полосы сопровождается процессом разрушения контактирующих поверхностей или их изнашиванием.
В процессе длительной эксплуатации устройств с магнитной полосой такие выходные параметры этих устройств, как динамический диапазон, коэффициент гармоник, шумовые характеристики и т.д., претерпевают определенные изменения из-за изнашивания магнитной полосы и ее старения.
Известные механизмы износа магнитного носителя условно объединены в следующие три группы:
• абразивный износ;
• усталостный износ;
• износ от скатывания.
В процессе взаимодействия пары головка-магнитная полоса преобладает деформационная составляющая силы трения, которая обуславливает усталостный износ. При этом в результате утомления материала происходит ослабление связей между основой и наполнителем в поверхностном слое, что приводит к появлению свободных магнитных частиц. Износ от скатывания проявляется только при значительных коэффициентах трения между эластомером и изнашивающим телом.
Особенностью работы карты в картоприемнике является постоянная деформация магнитной полосы блоком магнитных головок в положении Карта введена .
Карта с магнитной полосой обладает достаточно высокой износостойкостью. Однако традиционные формы применения магнитной записи не предполагают столь жестких эксплуатационных требований. Карта может подвергаться воздействию влаги, жары и холода, солнечных лучей, паров бензина, щелочей, кислот и других активных веществ, которые применяются в современном обиходе. Кроме того, приходится учитывать такие факторы, как изгибы и изломы карты, возникающие, например, при ношении карт в карманах такой тесной одежды, как джинсы. В связи с этим актуальна задача защиты магнитной полосы и зон полиграфического оформления карт от преждевременного старения и износа.
Другим важным фактором, из-за которого следует защищать именно магнитную полосу карты, является износ от взаимодействия головки и магнитной полосы. Для обеспечения высокой верности считывания блок магнитных головок должен быть сильно прижат к зоне магнитной полосы как в устройстве записи, так и в устройстве считывания.
Для защиты магнитной полосы карты и стабилизации неконтакта между БМГ и ферромагнитным слоем на его поверхность наносится защитная пленка. Рассмотрим влияние защитного слоя на плотность записи. Оптимальная толщина защитной пленки составляет 15...30 мкм. При построении систем с магнитными картами с защитным слоем следует учитывать возникающее снижение допустимой плотности записи и уровня воспроизводимых сигналов.
Перекос носителя и неточность установки магнитных головок. Не параллельность положения рабочих зазоров головок записи и воспроизведения имеет место практически всегда в устройствах магнитной записи. Эта не параллельность обусловлена как статическими перекосами раздельно установленных головок записи и воспроизведения, так и возможными динамическими перекосами, вызванными изменением азимутального положения магнитного носителя или элементов транспортирующего механизма.
В устройствах записи тарифных меток картоприемников применяются многодорожечные универсальные блоки магнитных головок. В этом случае возможные потери от перекоса должны быть минимальными. Однако работа БМГ в паре с магнитной полосой имеет свою специфику. Дело в том, что постоянный прижим БМГ с усилием 0,0033 кГс/мм к магнитной полосе в режиме остановки приводит к появлению остаточной деформации в узких зонах контакта с блоком. В этих зонах происходит ускоренное старение электромагнитного носителя (ЭМН) и, как следствие этого, снижение уровня воспроизводимого сигнала. Ввиду стабильного характера распределения указанных зон по рабочей поверхности магнитной полосы в процессе эксплуатации происходит интенсивное ухудшение параметров воспроизводимого с нее сигнала.
Это обстоятельство требует установки БМГ в подвижном держателе, обеспечивающем сопряжение по рабочей поверхности с требуемым усилием с магнитной полосой. Неизбежность механических люфтов в такого рода подвижном креплении блока магнитных головок создает условия для появления перекоса между направлением рабочих зазоров магнитных головок блока при записи и воспроизведением. Неточная установка БМГ при воспроизведении приводит к сокращению эффективной ширины дорожки записи.
Фазовое дрожание. Одной из специфических причин возникновения ошибок при ЦМЗ является фазовое дрожание символов (джиттер) информации, связанное с упругими продольными колебаниями носителя в рабочей зоне лентопротяжного механизма при использовании магнитной ленты и отклонениями моментов срабатывания формирователей от идеальных из-за изменения формы воспроизводимых импульсов, связанных с неконтактом в паре магнитный носитель блок магнитных головок.
При считывании информации с магнитных карт джиттер возникает в основном из-за отклонений моментов срабатывания пороговых формирователей от идеальных. Межсимвольная интерференции. В системах цифровой магнитной записи редко используют непосредственную запись импульсов постоянным током. Обычно исходный двоичный сигнал преобразуется в БВН-сигнал или ОФМ-сигнал или, как предусмотрено стандартом ISO для магнитной карты, в двухчастотный сигнал.
Из-за ограничения полосы пропускания аналогового участка канала ЦМЗ прямоугольные импульсы искажаются по форме. В результате взаимодействия воспроизводимых импульсов формирователи импульсов и цифровые детекторы перестают отличать один символ от другого, что приводит к появлению систематических ошибок.
При пороговом формировании воспроизводимых сигналов возможны ошибки двух видов: ложный 0 и ложная 1. Ложный 0 возникает в том случае, когда сигнал не достигает порога формирования, ложная 1, если момент срабатывания порогового формирователя перемещается в соседний тактовый интервал. Смещение этого момента тем больше, чем ниже порог ограничения.
С другой стороны, снижение порога уменьшает вероятность ошибки типа "ложный 0". Поэтому выбор порога подчинен комплексным соображениям, и обычно, с точки зрения минимума систематических ошибок, порог h принимается равным примерно 0 5. Максимально допустимое смещение моментов изменений полярностей сигнала на выходе формирователя относительно истинного положения, при котором возможно детектирование цифровой информации без ошибок, называется окном детектирования. Например, при БВН сигнале окно детектирования равно Т =± Т такт/2, где Т такт тактовый интервал. Взаимовлияние воспроизведенных импульсов ограничивает плотность записано при правильно выбранной плотности записи оно не приводит к систематическим ошибкам и соответственно к снижению вероятности появления ошибок. Проверку канала записи-воспроизведения на устойчивость по отношению к систематическим ошибкам легко провести, если периодически осуществлять запись так называемых "наихудших" комбинаций символов и определять при этом наличие систематических ошибок. Наихудшими комбинациями являются те, у которых погрешность формирования превышает окно детектирования при наиболее низкой используемой плотности записи.
Переходные помехи. Если на одном носителе записи размещено несколько параллельных дорожек, то часть магнитного потока одной из них может попадать в воспроизводящие головки других дорожек и создавать помеху, называемую переходной. Уровень этой помехи зависит от длины волны записи, и растет с ее увеличением. Переходная помеха может возникать также из-за взаимных влияний головок в многодорожечных блоках головок. Для устранения этой составляющей переходных помех применяют электромагнитные экраны, располагаемые между головками. Переходные помехи аддитивны и схожи с помехами, обусловленными влияниями в системах связи.
Внешние помехи и наводки. Электродвижущая сила, развиваемая воспроизводящей головкой, невелика и обычно не превышает нескольких милливольт. Поэтому одним из заметных источников помех оказываются электромагнитные поля, создаваемые электродвигателями терминалов и силовыми трансформаторами. Для борьбы с этими внешними помехами применяют экранирование головок, причем обычно экраны воспроизводящих головок бывают двухслойными из пермаллоя и меди.
Собственные шумы усилителей и головок. Магнитные головки и усилители также являются источником аддитивного шума, причем этот шум при записи широкополосных сигналов, в частности при видеозаписи, является преобладающим.
Есть несколько источников этого шума: собственный шум обмотки воспроизводящей головки, обусловленный тепловым движением электронов. Уровень его растет с увеличением полосы пропускания тракта; собственный шум транзисторов, появляющийся из-за дробового шума эмиттерного и коллекторного переходов и др.; тепловой шум сопротивления базы транзистора. Ввиду того, что в усилителях воспроизведения входные сигналы имеют малый уровень, а в усилителях записи они сравнительно велики, собственные шумы усилителей и головок заметно проявляются только в тракте воспроизведения. Для уменьшения собственных шумов во входных каскадах усилителей воспроизведения применяют малошумящие активные элементы, в частности нувисторы, полевые транзисторы и др.