
Микропроцессорные карточки СР8

В условиях становления российского рынка банковских технологий с использованием пластиковых карточек особую остроту приобретает проблема полноты и достоверности информации о существующих технических решениях в этой области.
Эффективность будущей платежной системы закладывается уже на стадии выбора технологических решений, программных и аппаратных средств. Поэтому проекты платежных систем требуют тщательного планирования, проработки спецификаций, учета национальных и региональных особенностей. Это в равной степени относится как к системам, использующим карточки с магнитной полосой, так и к системам на базе карточек с микросхемой.
В банки непрерывным потоком поступает информация от различных фирм-производителей, предлагающих широкий спектр а как отдельных продуктов, так и готовых комплексов. Сориентироваться в этом потоке непросто. Совместимость различного оборудования, соответствие его стандартам ISO, наилучшее соотношение цены и качества -- вот далеко не полный перечень проблем, стоящих перед банкирами. Кроме того, качественные различия в условиях функционирования карточек на российском рынке и за его пределами, сравнительно небольшой зарубежный опыт платежных систем на основе карточек с микропроцессором, отсутствие единых стандартов на такие карточки усложняют процесс принятия решения.
Предлагаемый вашему вниманию материал продолжает серию статей с подробным описанием как отдельных видов предлагаемой продукции, так и существующих комплексных решений.
МИКРОПРОЦЕССОРНЫЕ КАРТОЧКИ CP8
В номере 2(6) за 1995 г. мы уже писали о концерне Bull, его структуре, деятельности, реализованных проектах, предлагаемом оборудовании. К настоящему моменту в структуре концерна произошли некоторые изменения. Производство терминалов, банкоматов и пластиковых карточек было упорядочено в рамках недавно созданной корпорации CP8 TRANSAC, полностью принадлежащей концерну Bull. Основная задача нового предприятия — обеспечить продвижение карточек на мировом рынке, в частности, в ближайшие два года планируется выровнять объемы продаж в Европе и за ее пределами (сегодня их доли составляют 80 и 20% соответственно). Корпорация избрала путь тесного сотрудничества с локальными производителями, в том числе, в Азиатском регионе. С сингапурской компанией IPC уже заключен ряд партнерских соглашений. В их числе — договоренность о размещении в Сингапуре двух совместных предприятий для продвижения решений в сфере электронных платежей, основанных на технологиях CP8, в Китае, Гонконге и на Тайване.
Карточки CP8
Различают два класса пластиковых карточек с микросхемой: карточки со встроенной микросхемой памяти (в ряде случаев с простейшими функциями контроля доступа к данным) и карточки, оснащенные микропроцессором, управляющим несколькими запоминающими устройствами. Это так называемые микропроцессорные, или интеллектуальные, карточки.
Микропроцессорные карточки, в свою очередь, бывают двух типов: дву- и односхемные. В двусхемные (bi-chip) карточки устанавливаются две микросхемы -- процессор и микросхема памяти, связанные между собой системой токопроводящих элементов. В односхемных карточках микропроцессор и запоминающие устройства интегрированы в одном кристалле.
Карточки с микросхемой SPOM (Self Programmable One Chip Microcomputer), разработанной и запатентованной фирмой BULL, принадлежат к типу односхемных интеллектуальных карточек.
Архитектура микросхемы SPOM
Микросхема SPOM представляет собой миниатюрный компьютер, в котором есть все компоненты, присущие компьютеру в привычном понимании этого слова — 8-разрядный процессор, различные запоминающие устройства, операционная система с достаточно большим набором команд. Микрокомпьютер SPOM способен выполнять различные прикладные программы, хранить информацию и обмениваться данными с внешними устройствами.
Процессор управляет тремя запоминающими устройствами -- ROM, RAM и EPROM (СППЗУ) или EEPROM (ЭСППЗУ). ROM (ПЗУ) -- постоянное запоминающее устройство, в ячейки которого при изготовлении микросхемы заносится операционная система. RAM (ОЗУ) -- энергозависимая оперативная память, используемая при работе приложений. EPROM/EEPROM выполняет ту же основную функцию, что и дисковое запоминающее устройство в “обычном” компьютере -- долгосрочное хранение данных.
Говоря об компьютерах, под словом “память” мы подразумеваем, как правило, оперативную память -- адресное пространство ОЗУ. В нашем случае этим термином обычно обозначают логическую структуру EPROM/EEPROM. Именно в этом смысле, при отсутствии специальных оговорок, мы будем употреблять термин “память” в дальнейшем.
Рис. 1.
Размещение микросхемы SPOM на карточке и схема расположения ее контактных площадок соответствуют стандарту ISO7816/2. У микросхемы может быть пять или шесть контактов, в зависимости от того, какого типа запоминающее устройство, EPROM или EEPROM, в ней реализовано.
(1) земля (ground);
(2) инициализация (init);
(3) таймер (clock);
(4) питание микропроцессора (logic voltage);
(5) ввод/вывод (I/O).
При использовании технологии EPROM, микросхема имеет еще один контакт:
(6) питание EPROM (write tension).
Процессор обменивается данными с внешними устройствами через двунаправленную однопроводную связь по асинхронному протоколу Т=0. Скорость обмена в большинстве моделей карточек не превышает 9600 бит/c.
Операционные системы
Операционная система (ОС) представляет собой набор команд и программ, которые могут быть условно разделены на три группы:
- служебные программы, организующие доступ к памяти и интерфейс с внешними устройствами;
- программы защиты информации, предотвращающие несанкционированный доступ к данным;
- программы выполнения алгоритмов шифрования данных (криптоалгоритмов), таких как DES, RSA или TELEPASS (см. №4 бюллетеня за 1994 г.).
Для микропроцессора SPOM разработано несколько операционных систем, по-разному организующих управление памятью. Большинство интеллектуальных карточек, производимых Bull СP8, в зависимости от установленной в них ОС, относится к одной из двух больших групп: SCOT или TB. Карточки CC совместимы с TB и предназначены, главным образом, для использования в качестве “электронных кошельков”. Система команд ОС этих карточек модифицирована с целью повышения безопасности платежных операций. Карточки EASICC отличает от семейства TB встроенная поддержка дополнительного асинхронного протокола Т=1.
Независимо от типа ОС, данные хранятся в памяти SPOM в виде последовательностей 32-разрядных слов. Операции записи и удаления допустимы только над целыми словами, чтение данных может происходить побайтно.
Операционные системы SCOT и TB обладают сходными наборами элементарных команд, например: “прочитать n байт”, “записать слово”, “удалить n слов”, “найти по образцу”, “прочитать результат (поиска, выбора, вычисления сертификата)”. Примеры команд защиты данных приведены ниже. По спецификациям заказчика набор команд ОС может быть расширен.
В табл. 1 даны краткие характеристики большинства карточек общего назначения, производимых BULL CP8.
Таблица 1
Наименование
|
Алгоритм кодирования
|
Тип запоминающего устройства
|
Объем памяти, кбит
|
SCOT10**
|
TELEPASS
|
EPROM
|
64
|
SCOT20**
|
DES
|
EPROM
|
64
|
SCOT30
|
DES
|
EEPROM
|
2
|
SCOT50
|
TELEPASS
|
EEPROM
|
8
|
SCOT60
|
DES
|
EEPROM
|
8
|
SCOT100
|
TELEPASS
|
EEPROM
|
2
|
SCOT110
|
DES
|
EEPROM
|
24
|
SCOT1000*
|
DES
|
EEPROM
|
6
|
TB10**
|
DES
|
EPROM
|
8
|
TB30**
|
DES
|
EEPROM
|
2
|
TB60
|
DES
|
EEPROM
|
8
|
TB100
|
DES
|
EEPROM
|
24
|
TB1000*
|
DES
|
EEPROM
|
64
|
CC60
|
DES
|
EEPROM
|
8
|
CC1000*
|
DES
|
EEPROM
|
64
|
EASICC1000*
|
DES
|
EEPROM
|
64
|
* Скорость передачи данных до 115.200 бит/c.
** Модели, снятые с производства.
Организация памяти
В карточках семейства SCOT память логически разделена в общем случае на шесть областей:
– закрытую (секретную) область (Secret zone);
– область контроля доступа (Access tracking zone);
– рабочих области[1] (Working zone);
– общая область (Public zone);
– область производителя (Manufacturing zone).
Области различаются по своему содержанию и возможности доступа к ним. Объем каждой области устанавливается при персонализации или использовании карточки.
Секретная область. Информация, единожды в нее помещенная, доступна для чтения только ОС. Повторная запись и удаление запрещены. В этой области хранятся ключи различных уровней:
– ключ производителя -- служит для логической защиты микросхемы и предохранения карточки от несанкционированной персонализации;
– ключи эмитента (issuer’s keys) и код держателя карточки (cardholder’s key) -- контролируют доступ к различным областям памяти и необходимы для разблокирования карточки;
– секретный ключ, используемый криптоалгоритмом карточки;
– ключи аутентификации;
– МАС-коды аутентификации сообщений, позволяющие вычислить связанную с текстом электронную подпись;
– ключи удаления ( используются в микросхемах с EEPROM для контроля операций удаления в рабочих областях).
Область контроля доступа. В нее автоматически заносятся передаваемые внешними устройствами и прикладными программами ключи, контролирующие доступ к защищенной информации. Одновременно проводится подсчет результатов проверки правильности полученных ключей. Микропроцессор, в соответствии с результатами подсчета, блокирует всю память или ее часть, если повторяющиеся ошибки напоминают мошенничество ( например, после трех неправильных попыток ввода PIN-кода или одной - ключа эмитента).
Рабочая область. В моделях SCOT10, 50 и 100 предусмотрено выделение двух рабочих областей: Рабочей области №1 и Конфиденциальной области. Конфиденциальная область защищена ключом от чтения. Запись в нее данных и их удаление запрещены. Информация заносится в конфиденциальную область только при персонализации карточки.
В памяти карточек моделей SCOT20, 30, 60, 110 и 1000 Конфиденциальной области как таковой нет. В памяти выделяются две изначально равноправных рабочих области, информация в которые может заноситься в течение всего срока жизни карточки. Условия доступа к этим областям задаются при персонализации карточки и могут быть различными для каждой области.
Общая область. Содержит информацию общего характера, доступ к которой разрешен без использования ключей. Запись возможна при персонализации, удаление и перезапись запрещены.
Область производителя. Вся информация заносится в область производителя в момент персонализации карточки. В дальнейшем разрешено только чтение, операции перезаписи и удаления запрещены.
Эта область содержит данные о структуре памяти, защите рабочей области (областей) и коды прикладных программ. Кроме того, в области производителя хранятся некоторые данные, касающиеся изготовления карточки, например, ее серийный номер.
Иная концепция организации памяти использована в карточках группы ТВ. Операционная система TB управляет памятью как разветвленной иерархической трехуровневой структурой каталогов и файлов. Обязательным является только корневой каталог (Master File), рассматриваемый как каталог нулевого уровня. Могут существовать также каталоги первого и второго уровней (Dedicated и Sub-Dedicated Files). В каталогах размещаются файлы (Elementary Files) четырех различных типов: закрытые (секретные), контроля доступа, рабочие и общего назначения. Тип файла определяет общий характер содержащихся в нем данных и возможность доступа к ним. Новые каталоги и файлы могут создаваться, а старые удаляться в течение всего срока использования карточки. Суммарное количество файлов в памяти SPOM ограничено только ее объемом.
Каждый файл имеет уникальный заголовок. Для доступа к файлам используется система относительной адресации.
Секретные файлы Содержат различные ключи и коды (аналогично секретной области в карточках SCOT). Данные, хранящиеся в секретных файлах, используются операционной системой для контроля поступающей от внешних устройств информации.
В отличие от карточек SCOT, в которых информация заносится в секретную область лишь при персонализации, в карточках TB предусмотрена возможность создания новых секретных файлов по мере появления новых каталогов. Запись информации в секретные файлы защищена ключом. Операции чтения и удаления данных внешними устройствами и прикладными программами запрещены.
Файлы контроля доступа. Выполняют те же функции, что и область контроля доступа в карточках SCOT.
Рабочие файлы. Cодержат информацию, которая может обновляться в течение всего жизненного цикла карточки. Условия доступа и защита по чтению/записи/удалению устанавливаются при создании файла. Примером рабочих файлов могут служить файлы транзакций.
Файлы общего назначения. Содержат информацию неконфиденциального характера (например, серийный номер карточки).
Все операции записи в карточках с EPROM и все операции записи и удаления в карточках с EEPROM контролируются операционной системой. К некоторым словам осуществляется также “привязка” кодов коррекции ошибок. Коды коррекции ошибок позволяют при необходимости корректировать данные.
В соответствии с инструкциями ОС процессор может осуществлять обновление и удаление информации.
Защита карточек CP8
Жизненный цикл карточки, начинающийся с момента ее изготовления, проходит три стадии:
- персонализацию;
- использование держателем;
- блокирование.
Персонализацию карточки проводит банк-эмитент. Логическая персонализация сводится к записи в память всех постоянных данных о держателе карточки и криптоключей, необходимых для работы приложений. Персонализация невозможна без специального устройства — security-module. Как правило, функции security-module выполняет особым образом запрограммированная микропроцессорная карточка-ключ, поставляемая эмитенту в единичном экземпляре отдельно от всей партии.
При физической персонализации на карточку наносят различными способами необходимый текст, фотографию и т. д.
Использование карточки. Как элемент платежной системы, карточка может использоваться для оплаты товаров и услуг, получения наличных и других операций. На уровне микропроцессора эти операции сводятся к чтению, записи и удалению данных.
Блокирование. Память или часть памяти микросхемы, может быть заблокирована в трех случаях:
- Переполнение области контроля доступа. В карточках с EPROM в дальнейшем могут быть использованы лишь области свободного доступа. В карточках с EEPROM переполнение может быть устранено путем перезаписи старых данных.
- Переполнение рабочей области. В случае применения EPROM, не могут далее использоваться функции, требующие записи информации в эту область. Разрешены лишь операции чтения. При использовании EEPROM запись данных возобновляется под контролем прикладных программ.
- Вся память или ее часть недоступна. Блокирование может произойти в результате, например, получения соответствующей инструкции от внешнего устройства, если карточка числится в стоп-листе.
Зная все необходимые ключи, разблокировать карточку и/или изменить PIN-код пользователя можно практически на любом терминале, предназначенном для работы с микропроцессорными карточками.
Безопасность платежной системы достигается целым комплексом средств и мероприятий, основное назначение которых — обеспечить сохранность средств всех участников системы.
Микропроцессорная карточка защищается на уровне как архитектуры, так и логических функций микросхемы.
Защита хранящихся в памяти микросхемы данных от извлечения физическими методами достигается распределением по всему объему кристалла специальных контрольных устройств, уничтожающих информацию во всех запоминающих устройствах при любых попытках физического вмешательства.
Система логической защиты включает в себя:
- разделение памяти на несколько областей, доступ к которым контролируется ключами (в карточках группы SCOT), или использование нескольких типов файлов с различными способами доступа (в карточках TB);
- применение многоуровневой системы ключей для санкционирования доступа к конфиденциальным данным;
- проверку корректности выполнения команд и наличие счетчика результатов проверки;
- микропроцессорный контроль операций записи и удаления информации (с использованием кодов коррекции ошибок) ;
- возможность изменения PIN-кода держателем карточки;
- наличие в операционной системе команд защиты данных;
- шифрование информации при передаче.
Примеры команд защиты данных: “передать ключ или код в незашифрованном виде”, “сгенерировать случайное число”, “переслать ключ в зашифрованном виде”, “проверить ключ чтения”, “проверить ключ записи”, “изменить код держателя карточки”, “создать временный ключ”, ”сгенерировать МАС-код”. В ОС ТВ эти команды дополнены следующими: “переслать AID[2] в зашифрованном/незашифрованном виде”, “создать/удалить каталог/файл”.
Особое место в системе мер безопасности занимают методы защиты информации при пересылке сообщений: идентификация, аутентификация и сертификация сообщений.
Идентификации пользователя карточки основана на сравнении введенного им PIN-кода со значением, хранящимся в закрытой области памяти (закрытом файле). PIN-код имеет, как правило, четыре, реже — пять или шесть знаков. При использовании карточек с большим объемом памяти могут применяться дополнительные критерии идентификации, основанные, например, на биометрических признаках, таких как отпечатки пальцев, форма и расположение линий на ладони, сетчатка глаз, голос и др. Однако, применение подобных критериев требует установки в пунктах обслуживания специальных устройств, преобразующих биометрические характеристики владельца карточки в цифровые коды, которые затем сравниваются с хранящимися в памяти карточки. Кроме того, следует учесть , что увеличение объема пямяти ведет к существенному удорожанию карточки.
Рис. 2.
Говоря об аутентификации, применительно к микропроцессорным карточкам CP8, необходимо остановиться на используемой Bull CP8 концепции семейства карточек. Семейством условно называется партия карточек, поставляемая эмитенту вместе с карточкой-ключем, используемой, как было сказано выше, при персонализации. Принадлежность двух карточек к одному семейству означает на логическом уровне совпадение занесенных в их память главных секретных ключей и криптоалгоритмов. Однако при передаче секретных ключей, даже в зашифрованном виде, возможен перехват информации. Для обеспечения максимальной безопасности при аутентификации карточек CP8 применяют следующий метод. Процесс аутентификации начинается с выполнения алгоритмов (TELEPASS или DES) на обеих карточках. В качестве внешних параметров алгоритмов используются секретный ключ и случайное число, передаваемое из внешнего или внутреннего источника (в зависимости от типа карточек). Карточки, а точнее их процессоры, обмениваются результатами шифрования. В случае принадлежности карточек к одному семейству, в результате дешифрования на каждой из них будет получено одно и то же значение.
Рис. 3.
Аутентификация сообщений, основанная на уже описанном методе, гарантирует, что информация, передаваемая одним устройством другому или заносимая в память карточки, не была случайно или преднамеренно искажена. Передаваемая информация шифруется с использованием некоторого случайного числа. Результат шифрования пересылается одновременно на карточку пользователя и на карточку-ключ. Совпадение результатов дешифрования гарантирует, что информация не была искажена при передаче.
Описанная схема пригодна только при пересылке небольших сообщений. Если же необходимо передать значительный объем конфиденциальной информации, для шифрования используется связанный с этой информацией строго определенный короткий текст -- электронно-цифровая подпись (ЭЦП). Для “привязки” ЭЦП к передаваемому сообщению разработаны специальные математические алгоритмы, поддерживаемые ОС микрокомпьютера SPOM.
Карточки CP8 используются в схеме электронных платежей PROTON, о которой мы расскажем в одном из следующих номеров журнала.