что такое atr смарт карты
Обмен данными со смарт-картой ISO 7816-3
Данное описание построено на основе стандарта ISO 7816-3
Оборудование
Для работы с картами я использовал интерфейс Smart Mouse, известный также под названиями Phoenix или Dumb Mouse. Схему такого интерфейса можно найти во многих местах. Этот интерфейс работает через COM-порт компьютера. Кроме этого, существует ряд схем интерфейса, использующих принтерный порт, но я не рекомендовал бы это. Хотя такой интерфейс и имеет ряд неоспоримых преимуществ, спалить принтерный порт гораздо легче, чем RS232.
Немного о интерфейсе Smart Mouse.
F можно найти в ISO). Младшая половина байта TC1 содежит параметр DI, который используется для вычисления ETU при использовании внутренннего генератора:
Байт TB1
Старший бит байта TB1 всегда 0.
Байт TC1
Байт TD1
Бит-карта в старших 4-х битах определяют передачу дополнительных байт TA2-TD2 также, как и в T0. Четыре младших бита в TD1 описывают тип протокола.
Могут быть следующие значения:
остальные значения пока зарезервивированы.
Байт TA2
Байт TA2 индицирует возможность настройки параметров протокола карты в процессе работы.
«Исторические байты»
Байт контроля TCK
Контрольный байт. Вычисляется так: Исключающее_Или всех байтов ATR, включая байты, равные нулю (или не переданные) должно равняться 0;
В протоколе T0 он не передается.
В протоколе T1 он завершает последовательность ATR.
Итак, теперь мы знаем, что означают байты в нашем примере ATR:
3F 67 2F 00 11 14 00 03 68 90 00
Приложение 1
Возможные значения делителя тактовой частоты внешнего генератора
Получить тип карты из ATR
Когда я сканирую свою карту с помощью устройства для чтения пружинных карт, мне нужно узнать, относится ли эта карта к одному из следующих типов: CTS или CD_97, или ISO_A, или ISO_B, или FRD. Как я могу получить эти типы из ATR?
Вот несколько примеров ATR, которые я получаю:
Navigo : 3B 88 80 01 00 00 00 00 00 71 81 00 F9
Тесели : 3B 8F 80 01 80 5A 0A 01 01 20 03 11 10 1D 86 BC 82 90 00 C9
Оура : 3B 8F 80 01 80 5A 0A 01 02 20 03 11 03 53 52 A2 82 90 00 5D
Городская карта : 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 02 00 00 00 00 69
Есть ли подробное объяснение того, как мы можем получить эти типы из ATR?
Мне все еще нужно найти команду, чтобы получить OTP REGISTER
2 ответа
Чтобы получить информацию о технологии / семействе универсальных карт, используйте следующую команду GET DATA для получения PIX.SS и PIX.NN (см. Главу 2.2.1):
Следующие два байта содержат PIX.NN (см. Главу 5.1.5):
Обратите внимание на следующее примечание относительно значений PIX.NN, начинающихся с 0xFF (собственные коды SpringCard):
Карты в этом списке не упоминаются в спецификации PC / SC на момент написания. Если они будут добавлены в спецификацию, в будущих версиях прошивки необходимо будет использовать новое значение. Поэтому рекомендуется не проверять эти значения в приложениях, поскольку они могут быть удалены в будущем.
И примечание о доступности PIX.NN:
Примечание. PIX.NN указан только для карт памяти. Даже если команда GET DATA позволяет получить PIX.NN даже для карт на базе микропроцессора (смарт-карт), возвращаемое значение не указано и не должно использоваться для идентификации карты.
Отказ от ответственности: у меня больше нет доступа к устройству чтения SpringCard, поэтому я не могу протестировать его с помощью своих карт, но с учетом документация, это должно работать именно так.
Я имел дело с очень похожей проблемой (обработка разных карточек, несколько упомянутых здесь) в прошлом, и наиболее эффективным подходом был (учитывая мою «смесь» карт):
Используйте значение ATR для создания «списка кандидатов» (во многих случаях значение ATR приводило к единственному кандидату схемы карты)
Если кандидатов больше, рассмотрите следующие способы подтверждения одного из них:
выбор приложения методом проб и ошибок (который может быть быстрее, чем использование службы каталогов, если список кандидатов очень короткий)
(как минимум) обнаружение собственной схемы карты
Примечание: список ATR pcsc-tools, упомянутый в комментариях, доступен здесь и здесь (я не уверен, какой из них канонический )
Вы можете найти здесь ответ на весеннюю карточку, извините, но они ответили мне на французском языке, поэтому, если что-то неясно, укажите это в своем комментарии:
NUM_PROTOCOL
COMPLETE_ID
Avec cela, normalement, vous devriez être en mesure de reconnaître toutes vos cartes.
Русские Блоги
Анализ обмена данными PPS на смарт-карте
1. Что такое PPS?
Смарт-карта ответит на ATR ( Answer To Reset ) Указывает поддерживаемые протоколы и параметры. Сторона устройства может использовать протокол по умолчанию или выбрать другие протоколы посредством обмена данными PPS. Чаще устройство использует новые параметры передачи, такие как коэффициент скорости передачи, через согласование PPS, но не изменяет протокол передачи.
В соответствии со спецификацией 7816-3 в этой статье объясняется, когда менять PPS? Как обменять PPS? Поскольку он включает стандартные ссылки, контент неизбежно будет скучным и утомительным. Если вы хотите понять только время и процесс обмена PPS, перейдите к разделу 4 этой статьи ( 4. Краткое изложение обмена данными PPS ) Для просмотра вывода. Если вы хотите увидеть пример обмена PPS, перейдите в раздел 5 ( 5. Анализ примера обмена PPS. )。
Основные определения и ссылки здесь взяты из стандарта ISO / IEC 7816-3: 2006 (E).
Identification cards — Integrated circuit cards — Part 3:
Cards with contacts — Electrical interface and transmission protocols
2. Когда состоится обмен PPS?
2.1 Сценарий обмена данными PPS
Первый «6.3.1 Selecton of transmission parameters and protocol» В разделе подробно описан сценарий работы PPS. Когда будет произведен обмен PPS?
Объяснение в документе следующее:
Сценарий работы после сброса ATR следующий:
Очевидно, что ключом здесь является TA2, так как же TA2 указывается в ATR?
2.2 Определение TA2 в ATR
Первый 8.3 Global interface bytes В разделе приводится подробное определение TA2.
Основные моменты определения TA2 в ATR следующие:
1, укажите протокол T, используемый для передачи
Короче говоря, TA2 определяет протокол T, используемый для передачи, и параметры F и D, а TA2 также указывает, поддерживается ли переключение режимов.
3. Как поменять PPS?
3.1 Действия обмена PPS
Первый 9.1 PPS exchange Раздел определяет действия обмена PPS:
3.2 Формат данных PPS
Обмен данными PPS делится на запрос PPS и ответ PPS. 9.2 PPS request and response Определяет детали запроса и ответа PPS.
Как правило, формат запроса и ответа PPS одинаков: 1-байтовый начальный байт (PPSS), за которым следует 1-байтовый байт формата (PPS0) и 3 байта необязательных параметров (PPS1, PPS2 и PPS3), контрольный байт (PCK) последнего байта.
Подробная информация о формате выглядит следующим образом:
Здесь контрольный байт (PCK) последнего байта данных PPS может быть получен с помощью операции XOR для каждого байта предыдущего PPSS, PPS0
Описание в спецификации состоит в том, что данные байта команды PPS (включая PPSS, PPS0
3, PCK) подвергаются операции XOR, и результат равен 0. Это должно быть результатом проверки данных для удобства. Другими словами, если результат XOR данных PPS не равен 0, то команда PPS недопустима.
3.3 Подробности ответа PPS
Детали данных ответа PPS такие же, как детали запроса PPS, но настройки должны соответствовать следующим правилам:
4 в ответ на PPS совпадают с битами 1
4. Краткое изложение обмена данными PPS
Когда состоится обмен PPS?
Смарт-карта находится в режиме согласования ( card in negotiable mode ), в это время сторона устройства решает, следует ли обмениваться данными PPS или отправлять рабочие команды в зависимости от конкретной ситуации.
Только когда смарт-карта находится в режиме согласования, устройству необходимо решить, следует ли обмениваться PPS или напрямую отправлять команды в соответствии с конкретной ситуацией.
Если вам нужно согласовать новый протокол или настроить параметры, устройство отправляет запрос PPS (начиная с 0xFF) на смарт-карту, а сторона карты анализирует PPS, применяет новые параметры и отвечает на PPS. Сторона устройства получает ответ PPS от стороны карты, пока раунд обмена данными PPS считается завершенным. После завершения двое начинают обычные интерактивные операции.
Если нет необходимости изменять протокол или настраивать параметры, устройство напрямую отправляет команду операции (не начиная с 0xFF) на смарт-карту, чтобы начать интерактивную операцию между ними.
Лично я предполагаю, что если смарт-карте необходимо изменить протокол после работы с определенным протоколом в течение определенного периода времени, ее можно сначала сбросить.После того, как устройство получит ATR, оно инициирует PPS, чтобы запросить изменение.
Обмен данными PPS делится на запрос PPS и ответ PPS, формат данных этих двух одинаковый, не только то, что в большинстве случаев их содержимое также одинаково. Какую команду отправляет устройство, а карта возвращает команду как есть.
5. Анализ примера обмена PPS.
5.1 Карта T1 Irdeto
ATR карты T1, полученной устройством от Irdeto, выглядит следующим образом:
Fi = 744, Di = 32, извлеченные из ATR, но поле TA2 не включено в ATR, и карта находится в режиме согласования после сброса.
PPS Request
После получения ATR устройство инициирует запрос PPS:
Содержание запроса PPS анализируется следующим образом:
PCK здесь может быть получен путем XOR предыдущих PPSS, PPS0, PPS1 один за другим с помощью калькулятора.
Очевидно, что здесь ATR получает Fi = 744 и Di = 32. Устройство инициирует запрос PPS и изменяет Fi и Di на Fi = 372 и Di = 12 соответственно.
PPS Response
Ответ PPS, возвращаемый Smartcard, выглядит следующим образом:
Настройка прошла успешно, конец карты возвращает те же данные, что и запрос PPS.
5.2 Карта Conax T0
ATR карты T0, полученной устройством от Conax, выглядит следующим образом:
Fi = 512, Di = 8 извлечено из ATR, но поле TA2 не включено в ATR, и карта находится в режиме согласования после сброса.
PPS Request
После получения ATR устройство инициирует запрос PPS:
Содержание запроса PPS анализируется следующим образом:
Очевидно, что здесь ATR получает Fi = 512 и Di = 8. Устройство инициирует запрос PPS и изменяет Fi и Di на Fi = 512, Di = 8 соответственно.
Таким образом, хотя здесь инициируется обмен PPS, параметры до и после обмена одинаковы, в этом нет необходимости
Позже я проверил код и обнаружил, что в потоке обработки устройство напрямую инициирует запрос PPS после получения ATR и устанавливает TA1, полученный анализом ATR, как третий байт PPS1 запроса PPS. Так что нетрудно понять, почему параметры до и после обмена PPS совпадают.
PPS Response
Ответ PPS, возвращаемый Smartcard, выглядит следующим образом:
Настройка прошла успешно, конец карты возвращает те же данные, что и запрос PPS
6. Благосостояние
Наконец, дается преимущество.
При работе со смарт-картой разрешение ATR очень важно, но вы можете не понимать стандарт 7816-3 или то, как разрешать ATR. Что делать?
Это не имеет значения. Веб-сайт под названием «Анализ ATR смарт-карты» анализирует ATR для вас, избавляя вас от многих проблем, я был так счастлив, когда впервые обнаружил это.
Спешите испытать это!
Интеллектуальная рекомендация
Генерация аудио PCM-данных в файлы WAV и MP3 с использованием FFMpeg
Справочник статей 1. Получить кодировщик и создать контекст декодера 2. Создайте аудио поток и выведите контекст обертки 3. Записать необработанные данные в файл Формат упаковки аудио WAV может хранит.
3. Wu Weida Machine Учебное примечание Полные сухие товары (глава 3: Линейный регрессионный обзор)
1053 Путь равного веса (30 очков)
1053 Путь равного веса (30 очков) Given a non-empty tree with root R, and with weight Wi assigned to each tree node Ti. The weight of a path from R to L&n.
1020 Tree Traversals
Главная мысль: Укажите количество узлов двоичного дерева, а также пост-порядок, результат прохождения среднего порядка и результат прохождения уровня. Идеи решения проблем: Подзадача о бинарном древе.
[OpenStack] Neenron Добавить ICMP и SSH правила (веб-интерфейс)
Вам нужно подготовить правила группы безопасности перед конфигурацией. Поскольку группа безопасности по умолчанию не позволяет Ping ICMP-пакеты и SSH удаленного входа в систему. Вам необходимо вручную.
Смарт-карты: самое подробное руководство по выбору
Оглавление
Смарт-карты
Некоторые вещи вошли в нашу жизнь настолько прочно и стали настолько повседневными, что используя их мы не задумывается как и почему они работают. Щелкаем кнопкой, включаем или выключаем, достаем и прикладываем, и мозг даже не отслеживает использование этой вещи, это называется бытовой автоматизм. Ну ладно, «бытовой автоматизм» я только что придумала. А вообще речь пойдет о смарт-картах. Которые каждый человек использует каждый день, но редко кто знает как оно работает и что это вообще такое внутри этой карточки.
Что такое смарт-карта?
Операционные системы смарт-карт
Типы смарт-карт
Смарт-карты изготавливаться из пластика с одним или несколькими чипами внутри. Именно чип делает обычную пластиковую карту «смарт».
Дальнейшее покажется вам оксюмороном, но смарт-карты могут быть выполнены не только в формате карты.
Контактные смарт-карты
Стандартный вид контактов чипа смарт-карт
Контактные карты памяти
Контактные карты с защищенным / сегментированным типом памяти
Эти карты имеют встроенную логику для контроля доступа к памяти карты. Иногда называемые интеллектуальными картами памяти, эти устройства можно настроить для защиты от записи части или всего массива памяти. Некоторые из этих карт могут быть настроены так, чтобы ограничивать доступ как для чтения, так и для записи. Обычно это делается с помощью пароля или системного ключа. Сегментированные карты памяти можно разделить на логические разделы для планируемой многофункциональности. Эти карты отслеживаются по идентификатору на карте. В картах такого типа на борту имеется от 3 Кбит до 64 Кбит памяти типа EEPROM.
Контактные микропроцессорные (CPU / MPU) карты
Память RAM (или оперативное запоминающее устройство) также является энергонезависимой и самой дорогостоящей памятью смарт-карты. Она используется процессором для хранения фрагментов исполняемого кода и промежуточных данных при выполнении операций, поскольку это самый быстрый вид памяти. Время доступа к ОЗУ составляет несколько десятков наносекунд.
Еще в смарт-картах для хранения данных используются память типа EPROM, EEPROM, FLASH и FRAM. Про них в разделе «Безопасные интегральные схемы и смарт-карты».
Сравнительные размеры реализации на кристалле разных типов памяти размером 1 бит
Контактные двухинтерфейсные карты
Бесконтактные смарт-карты
В основе любой бесконтактной карты лежит тот же элемент, что и у простейшего детекторного приёмника — колебательный контур, базовыми компонентами которого являются конденсатор и катушка индуктивности.
Считыватель излучает переменное электромагнитное поле стандартной частоты, что возбуждает переменный электрический ток в катушке индуктивности и в колебательном контуре карты. Этот ток преобразуется в постоянный и заряжает достаточно ёмкий конденсатор, который питает электроэнергией чип. Обмен информацией между картой и считывателем осуществляется через эту же катушку посредством модуляции колебаний электромагнитного поля устройства.
В простейшем случае карта циклически непрерывно передаёт только свой уникальный номер. В более сложных системах происходит двусторонний обмен информацией по принципу запрос-ответ. Часто карты обладают небольшой флеш-памятью и могут запоминать некоторый объём информации, например, изменять состояние счётчика или хранить произвольное число.
Бесконтактные смарт-карты памяти
Высокочастотные метки используются для отслеживания партий грузов, как пропуск автомобиля, в торговле, в качестве меток на товаре для защиты от краж. Такая метка может передавать сигнал в радиусе до 10 м, а значит считыватель можно установить на достаточном расстоянии, исключающем необходимость вручную сканировать товар или груз. Удобно использовать на парковочных объектах, или гаражных комплексах, поскольку водителю не нужно выходить из автомобиля для предъявления карты доступа на въезде. Высокочастотные метки бывают активные и пассивные.
Бесконтактные микропроцессорные (CPU / MPU) карты
Принцип работы бесконтактной микропроцессорной карты аналогичен работе контактной микропроцессорной карте, но с передачей данных радиочастотным способом. Благодаря микропроцессорной архитектуре карта имеет высокую степень защищенности.
Бесконтактные двух интерфейсные карты
Эти карты имеют несколько способов связи, включая ISO7816, ISO14443 и EPC gen 2, и несколько чипов в одной карте.
Многокомпонентные карты
Что делает смарт-карту безопасной
Безопасные интегральные схемы и смарт-карты
Микросхемы защищенной памяти
Микросхемы памяти используются, если для работы приложения на смарт-карте требуется только хранение данных и предъявляются минимальные требования к их защите. Данные могут быть любой информацией, требуемой определенным приложением смарт-карты, например, эмитент карты, серийный номер карты, или другая информация пользователя.
В качестве пользовательской памяти в смарт-карте используется память следующих типов: стираемая программируемая постоянная память (EPROM) или электрически стираемая программируемая постоянная память (EEPROM). Единица памяти EPROM в 4 раза дороже единицы памяти ROM и в 4 раза дешевле единицы памяти RAM.
Защищенные микроконтроллеры
Защищенный микроконтроллер представляет собой более сложную интегральную схему для смарт-карт. Из чего состоят микроконтроллеры видно на Рис. 3. Интегральные микросхемы защищенного микроконтроллера запрограммированы для динамического выполнения приложений, а также имеют криптографический механизм для безопасной обработки асимметричных и/или симметричных алгоритмов шифрования.
Одной из основных функций защищенного микроконтроллера является динамическая активная защита. Если пользователь или система не могут успешно пройти аутентификацию на микроконтроллере, то данные, хранящиеся на карте, не будут доступны. Целостность хранимых данных защищена набором контрмер, которые срабатывают, когда микроконтроллер обнаруживает попытку атаки.
Цели безопасных микросхем
Как достигается безопасность микросхем
Наиболее полная безопасность IC является многомерной. Ни один механизм безопасности не защищает полностью от широкого спектра возможных атак. Следовательно, конструкция защищенной интегральной схемы и ее использование в системе должны включать аппаратные, программные и системные контрмеры для защиты данных и транзакций. Безопасность должна быть неотъемлемой частью каждого развернутого решения для смарт-карт.
Безопасность данных
В микропроцессорных картах для обеспечения целостности и конфиденциальности передаваемых данных, аутентификации источника информации, а также вычисления криптограмм (цифровой подписи данных, состоящих из реквизитов карты, терминала и транзакции) используются симметричные и асимметричные криптографические алгоритмы. В качестве симметричного алгоритма шифрования в подавляющем большинстве случаев используется блочный алгоритм Triple DES или 3DES, имеющий длину ключа 112 битов и шифрующий блоки размером 64 бита. В качестве асимметричного алгоритма используется алгоритм RSA с модулем открытого ключа, изменяющимся в диапазоне от 1024 до 1984 битов.
Считыватели для смарт-карт
Организация передачи данных контактным способом
Канал ввода/вывода микросхемы для смарт-карты представляет собой однонаправленый последовательный интерфейс. Это означает, что в каждый момент по нему может передаваться только 1 бит информации и передаваться только в одном направлении (полудуплекс). В соответствии со стандартов ISO 7816-3 обмен данными между ридером и картой может производиться со скоростью до 115200 бит/с. Поддерживаемая картой скорость передачи данных определяется способностью асинхронного приемопередатчика умножать частоту внешнего или внутреннего тактового сигнала, UART интерфейсы поддерживают умножение тактового сигнала в 4, 8, 16 раз.
Организация передачи данных бесконтактным способом
Виды считывателей для смарт-карт
Стандарты, используемые в смарт-картах
Прежде всего, стандарты смарт-карт регулируют физические свойства, характеристики связи, параметры работы памяти и используемых данных.
ТЕМА 12. ЭЛЕКТРОННАЯ КОММЕРЦИЯ
Цели и задачи изучения темы:
Оглавление:
12.1. Смарт-карты
В настоящее время динамично развиваются системы защиты данных и запрета несанкционированного доступа на основе использования пластиковых смарт-карт. Это связано с необходимостью контроля доступа к ресурсам и выполнения электронных платежей с помощью сети Internet. Большой интерес к этому направлению проявляют фирмы Microsoft, Siemens Nixdorf и другие разработчики, а также компании-эмитенты пластиковых карт.
Приставку Smart (интеллектуальная) карта получила не просто так. Имея вид обычной пластиковой кредитной карточки, она содержит в себе интегральную схему, которая наделяет ее способностями к хранению и обработке информации.
Смарт-карты можно классифицировать по следующим признакам:
Тип применяемых микросхем в смарт-картах
В зависимости от встроенной микросхемы все смарт-карты делятся на несколько основных типов, кардинально различающихся по выполняемым функциям:
Карты памяти предназначены для хранения информации. Память на таких типах карт может быть свободной для доступа или содержать логику контроля доступа к памяти карты для ограничения операций чтения и записи данных.
Микропроцессорные карты также предназначены для хранения информации, но, в отличие обычных карт памяти, они содержат в себе специальную программу или небольшую операционную систему, которая позволяет преобразовывать данные по определенному алгоритму, осуществлять защиту информации, хранящейся на карте при передаче, чтении и записи.
Карты с криптографической логикой используются в системах защиты информации для принятия непосредственного участия в процессе шифрования данных или выработки криптографических ключей, электронных цифровых подписей и другой необходимой информации для работы системы.
Способы считывания информации со смарт-карты
По методу считывания информации карты делятся на следующие:
Контактные карты взаимодействуют со считывателем посредством непосредственного соприкосновения металлической контактной площадки карты и контактов считывателя. Данный метод считывания просто реализуем, но повышает износ карты при частом использовании.
Контактая смарт-карта состоит из трех частей:
Бесконтактные карты имеют встроенную катушку индуктивности, которая в электромагнитном поле считывателя обеспечивает питанием микросхему выдающую информационные радиосигналы. Такой метод считывания позволяет часто использовать карту без износа самой карты и считывателя.
Карты со сдвоенным интерфейсом имеют одновременно и контактную площадку и встроенную катушку индуктивности. Такие карты позволяют осуществлять работу с разными типами считывателей.
Стандарты на смарт-карты
Для смарт-карт существует несколько международных стандартов, определяющих практически все свойства карт, начиная от размеров, свойств и типов пластика, и заканчивая содержанием информации на карточке, протоколов работы и форматов данных.
Стандарт ISO-7816 «Идентификационные карты – карты с микросхемой с контактами». Состоит из шести частей, регламентирующих физические характеристики, размер и расположение контактов, сигналы и протоколы, структуру файлов, адресацию и команды обмена);
Стандарт EMV (Europay, MasterCard & Visa). 1я и 2я части базируется на ISO-7816, в последующих добавлены определения обработки транзакций, спецификации терминалов и т. д.
Область применения смарт-карт
Практически в любых областях деятельности для смарт-карт можно найти применение. Сегодня одними из основных видов применений являются:
Популярность смарт-карт становится все выше. Это связано с тем, что смарт-карты имеют весьма существенные для практики отличия от обычных карт с магнитной полосой:
Обеспечение конфиденциальности информации является основной задачей разработчиков систем компьютерной безопасности. В большинстве современных электронных систем часто используется целый ряд технологий, позволяющих осуществлять контроль за информацией.
См. подробнее в хрестоматии
В зависимости от политики компании вся информация может быть либо защищена, либо наоборот открыта для публичного доступа. Часто в большинстве компаний нет четкого разделения конфиденциальной информации и информации для свободного пользования. Поэтому при первой утечке или взломе системы ситуацию приходится кардинально менять. В таком случае компания может нести большие убытки либо из-за степени секретности похищенной информации, либо из-за вынужденного внедрения электронных систем защиты. Поэтому важно на этапе организации методики работы компании создать инфраструктуру обеспечивающую правильную работу с информацией различной степени конфиденциальности.
Несанкционированное использование и доступ к конфиденциальной информации может происходить во время:
При хранении может быть получен несанкционированный доступ к информации непосредственно в месте хранения и обработки (например, в файлах или базах данных) или в месте архивного хранения на носителях.
При передаче информации по каналам (особенно по сетям общественного доступа, например, Интернет) есть большая вероятность перехвата или прослушивания информации.
В любых случаях может помочь шифрование информации, но тут возникает вопрос безопасного хранения и управления ключевой информацией. Решением проблемы является использование технологий основанных на смарт-картах. Они могут обеспечить полную информационную и физическую безопасность из-за своей архитектуры.
Защита информации в смарт-картах. Механизмы защиты
Пассивная аутентификация – проверка разрешения на выполнение команды при помощи ввода PIN кода или пароля.
Активная аутентификация – внутренняя и внешняя аутентификация методом challenge-response.
Аутентификация данных – использование защищенной передачи данных и команд (чтения, записи, обновления) по каналу.
Шифрование данных – использование шифрации данных в командах чтения, записи и обновления.
Возможности обеспечения безопасности при использовании смарт-карт
Аутентификация держателя карты
Смарт-карта может использоваться и как электронный пропуск в помещение; на ней могут также храниться права доступа каждого служащего к ресурсам корпоративной информационной системы.
Важные термины и определения
12.2. Протоколы безопасных электронных платежей
Протокол SSL. Протокол SSL (Secure Socket Layer) был разработан американской компанией Netscape Communications. SSL обеспечивает защиту данных между сервисными протоколами (такими как HTTP, NNTP, FTP и т. д.) и транспортными протоколами (TCP/IP) с помощью современной криптографии в соединениях «точка-точка». Ранее можно было без особых технических ухищрений просматривать данные, которыми обмениваются между собой клиенты и серверы. Был даже придуман специальный термин для этого – «sniffer».
Протокол SSL предназначен для решения традиционных задач обеспечения защиты информационного взаимодействия:
Протокол SSL позволяет серверу и клиенту перед началом информационного взаимодействия аутентифицировать друг друга, согласовать алгоритм шифрования и сформировать общие криптографические ключи. С этой целью в протоколе используются двухключевые (ассиметричные) криптосистемы, в частности, RSA.
Конфиденциальность информации, передаваемой по установленному защищенному соединению, обеспечивается путем шифрования потока данных на сформированном общем ключе с использованием симметричных криптографических алгоритмов (например, RC4_128, RC4_40, RC2_128, RC2_40, DES40 и др.). Контроль целостности передаваемых блоков данных производится за счет использования так называемых кодов аутентификации сообщений (Message Autentification Code, или MAC), вычисляемых с помощью хэш-функций (например MD5).
Протокол SSL включает два этапа взаимодействия сторон защищаемого соединения:
На этапе установления SSL-сессии осуществляется аутентификация сервера и (опционально) клиента, стороны договариваются об используемых криптографических алгоритмах и формируют общий «секрет», на основе которого создаются общие сеансовые ключи для последующей защиты соединения. Этот этап называют также «процедурой рукопожатия».
На втором этапе (защита потока данных) информационные сообщения прикладного уровня нарезаются на блоки, для каждого блока вычисляется код аутентификации сообщений, затем данные шифруются и отправляются приемной стороне. Приемная сторона производит обратные действия: расшифрование, проверку кода аутентификации сообщения, сборку сообщений, передачу на прикладной уровень.
Наиболее распространенным пакетом программ для поддержки протокола SSL является SSLeay. Он содержит исходный код на языке C, который может быть встроен в такие приложения, как Telnet и FTP. В протоколе SSL используется криптография с открытым ключом. Каждый пользователь имеет два ключа – открытый и секретный (приватный). Пользователь делает доступным открытый ключ любому корреспонденту сети. Пользователь и любой корреспондент, имеющий открытый ключ, могут быть уверены, что данные, зашифрованные с помощью открытого ключа, могут быть расшифрованы только с использованием секретного ключа.
Если два пользователя хотят быть уверенными, что информацию, которой они обмениваются, не получит третий, то каждый из них, должен передать одну компоненту ключевой пары (а именно открытый ключ), другому и хранит другую компоненту (секретный ключ). Сообщения шифруются с помощью открытого, расшифровываются только с использованием секретного ключа. Именно так сообщения могут быть переданы по открытой сети без опасения, что кто-либо сможет прочитать их.
Целостность и аутентификация сообщения обеспечиваются использованием электронной цифровой подписи.
Теперь встает вопрос о том, каким образом распространять свои публичные ключи. Для этого (и не только) была придумана специальная форма – сертификат.
Сертификат состоит из следующих частей:
Сертификат «подписывается» секретным ключом частного лица (или организации), выпускающего сертификаты. Организации, которые производят подобные операции, называются Certificate authority (CA). Если в стандартном Web-браузере, который поддерживает протокол SSL, зайти в раздел security, то там можно увидеть список известных организаций, которые «подписывают» сертификаты. Технически создать свою собственную CA достаточно просто, но также необходимо уладить юридическую сторону дела, и с этим могут возникнуть серьезные проблемы.
Протокол SSL на сегодня является наиболее распространенным протоколом, используемым при построении систем электронных платежей. Широкое распространение протокола SSL объясняется в первую очередь тем, что он является составной частью всех браузеров и Web-серверов. Другое достоинство протокола SSL – его простота и высокая скорость реализации транзакции.
В то же время, SSL обладает рядом недостатков:
Протокол SET. Другой протокол безопасных транзакций в Интернете – SET (Security Electronics Transaction). Протокол SET основан на использовании цифровых сертификатов по стандарту Х.509. Протокол выполнения защищенных транзакций SET является стандартом, разработанным компаниями MasterCard и VISA при значительном участии IBM, GlobeSet и других партнеров. Он позволяет покупателям приобретать товары через Интернет, используя самый защищенный на настоящее время механизм выполнения платежей. Протокол SET является открытым стандартным многосторонним протоколом для проведения безопасных платежей с использованием пластиковых карточек в Интернет. Протокол SET обеспечивает кросс-аутентификацию счета держателя карточки, продавца и банка продавца для проверки готовности оплаты товара, целостность и секретность сообщения, шифрование ценных и уязвимых данных. Поэтому протокол SET можно назвать стандартной технологией или системой протоколов выполнения безопасных платежей с использованием пластиковых карточек через Интернет.
Протокол SET позволяет потребителям и продавцам подтвердить подлинность всех участников сделки, происходящей в Интернет, с помощью криптографии, применяя, в том числе, и цифровые сертификаты.
Базовыми задачами защиты информации являются: обеспечение ее доступности, конфиденциальности, целостности и юридической значимости. Протокол SET, в отличие от других протоколов, позволяет решать указанные задачи защиты информации.
В результате того, что многие компании занимаются разработкой собственного программного обеспечения для электронных платежей, возникает еще одна проблема. В случае использования этого ПО все участники операции должны иметь одни и те же приложения, что практически неосуществимо. Следовательно, необходим способ обеспечения механизма взаимодействия между приложениями различных разработчиков.
В связи с перечисленными выше проблемами компании VISA и MasterCard вместе с другими компаниями, занимающимися техническими вопросами (например IBM, которая является ключевым разработчиком в развитии протокола SET), определили спецификацию и набор протоколов стандарта SET.
Эта открытая спецификация очень быстро стала де-факто стандартом для электронных платежей в сети Интернет. В этой спецификации шифрование информации обеспечивает ее конфиденциальность. Цифровая подпись и сертификаты обеспечивают идентификацию и аутентификацию (проверку подлинности) участников транзакций. Цифровая подпись также используется для обеспечения целостности данных. Открытый набор протоколов используется для обеспечения взаимодействия между реализациями разных производителей.
Протокол SET обеспечивает следующие специальные требования защиты электронных платежей:
Основное преимущество протокола SET перед многими другими существующими системами обеспечения информационной безопасности заключается в использовании цифровых сертификатов (стандарт X.509, версия 3), которые ассоциируют держателя карточки, продавца и банк продавца с рядом банковских учреждений платежных систем VISA и MasterCard. Протокол SET позволяет сохранить существующие отношения между банком, держателями карточек и продавцами, и интегрируется с существующими системами, опираясь на следующие качества:
Более детально процесс взаимодействия участников платежной операции согласно спецификации SET представлен на рисунке 1.
Рис. 1. Процесс взаимодействия участников платежной операции
согласно спецификации SET.
Взаимоотношения участников операции показаны непрерывными линиями (взаимодействие, описанное стандартом или протоколом SET) и пунктирными линиями (некоторые возможные операции).
Динамика взаимоотношений и информационных потоков в соответствие со спецификацией стандарта SET включает следующие действия:
Рассмотренная схема взаимодействия в части информационной безопасности подкрепляется спецификацией Chip Electronic Commerce, созданной для использования смарт-карт стандарта EMV в Интернете (www.emvco.com). Ее разработали Europay, MasterCard и VISA. Сочетание стандарта на микропроцессор EMV и протокола SET дает беспрецедентный уровень безопасности на всех этапах выполнения транзакции.
Сравнительные характеристики протоколов SSL и SET. Платежные системы являются наиболее критичной частью электронной коммерции и будущее их присутствия в сети во многом зависит от возможностей обеспечения информационной безопасности и других сервисных функций в Интернете. Протоколы SSL и SET – это два широко известных протокола передачи данных, каждый из которых используется в платежных системах Интернета. Попытаемся сравнить протоколы SSL и SET и оценить их некоторые важнейшие характеристики.
Итак, рассмотрим важнейшую функцию аутентификации (проверки подлинности) в виртуальном мире, где отсутствуют привычные физические контакты. Протокол SSL обеспечивает только двухточечное взаимодействие. В процесс транзакции кредитной карточки вовлечены, по крайней мере, четыре стороны: потребитель, продавец, банк-эмитент и банк-получатель. Протокол SET требует аутентификации от всех участвующих в транзакции сторон.
Протокол SET предотвращает доступ продавца к информации о пластиковой карточке и доступ банка-эмитента к частной информации заказчика, касающейся его заказов. В протоколе SSL разрешается контролируемый доступ к серверам, директориям, файлам и другой информации. Оба протокола используют современную криптографию и системы цифровых сертификатов, удостоверяющих цифровые подписи взаимодействующих сторон. SSL предназначен преимущественно для защиты коммуникаций в Интернете. Протокол SET обеспечивает защиту транзакций электронной коммерции в целом, что обеспечивает юридическую значимость защищаемой ценной информации. При этом через протокол SET транзакция происходит медленнее, чем в протоколе SSL, а ее стоимость выше. Следует добавить, что, используя протокол SSL, потребители подвергаются риску раскрытия реквизитов своих пластиковых карт продавцу.
Внедрение и эксплуатация протокола SET осуществляется много лет в нескольких десятках проектов во всем мире. Например, первая транзакция по протоколу SET была проведена 30-го декабря 1996 в PBS (Датский банк) в совместном проекте IBM и MasterCard. Аналогичная работа проведена в 1997 г. в крупнейшем японском банке Fuji Bank, где пришлось адаптировать протокол к специфическому японскому законодательству. За прошедшее время подобные внедренческие проекты позволили отработать функции протокола и соответствующую документацию.
В свою очередь протокол SSL используется в основном в Web-приложениях и для защиты коммуникаций в сети Интернет. Свободно распространяемая версия SSL, называемая SSLeay, содержит исходный код на языке программирования C, который может быть встроен в такие приложения, как Telnet и FTP. Благодаря этим качествам протокол SSL получил широкое распространение в корпоративных Интранет-сетях и в системах с небольшим количеством пользователей.
Протокол SSL обеспечивает лишь конфинденциальность данных транзакции при их передачи через сеть общего пользования, но при этом является существенно более дешевым для внедрения. По этой причине большинство современных систем электронных платежей используют протокол SSL.