Роль микропроцессоров в ЭСП

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

Использование микропроцессорных карточек значительно упрощает аутентификацию участников сделки (транзакции) и обеспечивает надежный контроль рисков. Несколько лет назад мировые платежные системы VISA, а затем Europay объявили о планах перехода с магнитных карт (стандарт ISO 7813) на микропроцессорные (ISO 7816) для уменьшения потерь от мошенничества и расширения спектра услуг клиентам, повышения конкурентоспособности своих продуктов. К началу 2000 года они уже приступили к практическому внедрению своих смарт-карт в ряде стран. В отличие от ситуации 2-3 летней давности, в настоящий момент набор основных промышленных стандартов сформирован:
Спецификация EMV (Europay-Mastercard-Visa), которая описывает поведение и обслуживание традиционного продукта платежных систем - продукта Debit/Credit, определяет технические условия на карточки с интегральной микросхемой и терминалы, обслуживающие такие карточки;
Спецификация CEPS (Common Electronic Purse Specifications), которая устанавливает единые технологические правила на карточки с электронным кошельком, поддержана всеми основными участниками рынка кроме MasterCard, развивающей продукт принципиально иного свойства - Mondex - фактически электронные наличные.
Спецификация SET (Secure Electronic Transactions) обеспечивает возможность использования кредитных и дебетовых карточек с магнитной полосой для осуществления безрисковых транзакций на рынке электронной коммерции. Аппаратно-технические решения, поддерживающие протокол SET, пока весьма дороги.
Спецификация CEC (Chip Electronic Commerce) основана на использовании возможностей чипа в Интернет, базируется на спецификациях EMV и SET, использует контактный ридер смарт-карт в составе ПК. В данном контексте можно упомянуть разработанные Microsoft спецификации PC/SC.

Новые платформы многофункциональных карт предусматривают оснащение специальными наборами приложений, позволяющих адаптироваться к работе с интеллектульными компонентами смарт-карт. В настоящее время выделяются три основные технологические платформы многофункциональных карт: JavaCard, Smart Card for Windows и MultOS. Каждая из этих платформ поддерживается соответствующим консорциумом участников рынков услуг и технологий. JavaCard поддерживается Sun Microsystems, Visa, GSM-операторами и т.п. Smart Card for Windows - Microsoft и другими. MultOS - Mastercard, Hitachi и пр. Мировые лидеры производства микропроцессорных карт, как правило, поддерживают все три платформы. Особый интерес представляет платформа JavaCard, которая является фактически составляющей процесса общего развития компьютерной техники. Платформа JavaCard является стандартным компьютерным решением на современной базе, стандартом для создания multi-application SIM-карт для мобильной связи GSM. Кроме того, именно на эту платформу в первую очередь ориентировалась VISA при создании своих спецификаций на работу с многофункциональными картами - VOP (Visa Open Platform).

Яркий пример роста объемов производства, усовершенствования технологии изготовления и снижения цены на смарт-карты - совместный выпуск компаниями Gemplus, Sun Microsystems и VISA смарт-карты GemXpresso Lite стоимостью три доллара. Снижение цены до данного уровня стало возможно благодаря использованию технологии Open Platform, позволяющей добавлять в носитель смарт-карты различные возможности или удалять их. На данную технологию перешел также другой крупный эмитент, MasterCard. Теперь банки-эмитенты VISA Smart Card смогут выпускать карты MasterCard без необходимости установки дополнительного технологического оборудования и повышая тираж карточек до десятков миллионов единиц.

В технологиях смарт-карт используются различные схемы аутентификации, и не все из них надежны в сети Интернет. То, какой из способов аутентификации используется в конкретной системе, определяется в первую очередь типом используемой карточки. Аутентификация карточки памяти по записанной на ней "электронной подписи" эмитента является самым дешевым и ненадежным способом. Аутентификация с использованием сессионных ключей достаточно надежна и широко применяется сегодня во всем мире. Использование карточек, реализующих асимметричные криптографические алгоритмы, обеспечивает наилучший уровень безопасности. Однако данные технологии требуют больших ресурсов процессора карточки, поэтому их развитие сдерживается относительно высокой стоимостью карточек.

Так, одной из наиболее распространенных схем аутентификации является схема с генерацией сессионных ключей. В этом случае на терминалах и на карточках хранится ключ авторизации, который никогда не участвует в электронном обмене данными и аппаратно закрыт от считывания. Крточка ведет счетчик транзакций, который не может быть "сброшен" или как-либо изменен. Для проведения операции с карточкой с ней необходимо открыть сессию. При этом на основании ключа авторизации и счетчика транзакций карточки генерируется уникальный сессионный ключ. Эту операцию параллельно выполняют и карточка, и терминал. Обмена секретными данными между ними при этом не происходит(терминал только считывает текущее значение счетчика транзакций карточки). Передаваемые в рамках сессии данные шифруются сессионным ключом. Таким образом, карточка и терминал "поймут" друг друга, только если они сгенерировали одинаковые ключи. Некоторым недостатком этой схемы является то, что общий ключ авторизации разделяется многими сторонами (он присутствует на карточках, на терминалах и в процессинговом центре), каждая из которых должна хранить его в секрете.

Использование асимметричных криптографических алгоритмов исключает необходимость разделения секретных ключей между сторонами сделки: каждый клиент, терминал и эмитент единолично владеют собственными закрытыми ключами. Открытый ключ, соответствующий каждому закрытому ключу, может распространяться свободно. Схема аутентификации, основанная на использовании открытых ключей, выглядит следующим образом. Эмитент выдает для своих карточек так называемые сертификаты (или цифровые удостоверения) с открытым ключом. Соответствующий закрытый ключ записан только на карточке и остается неизвестен. Сетификат подписан элетронной подписью эмитента, которая формируется с использованием его закрытого ключа. Любой желающий (торговец), располагающий открытым ключом эмитента, может проверить его подпись. Любое электронное сообщение, передаваемое карточкой терминалу, может быть подписано с использованием её закрытого ключа. В свою очередь, правомочность карточки что-либо подписывать подтверждается сертификатом, выданном эмитентом. Например, чтобы просто проверить, что карточка выдана определенным эмитентом, терминалу достаточно выполнить следующие операции: запросить у нее сертификат, проверить подпись под ним с использованием общедоступного открытого ключа эмитента, сгенерировать случайный код и попросить карточку подписать его, после чего проверить подпись с использованием открытого ключа карточки, извлеченного из сертификата.

Техническое описание смарт-карты.
Современная смарт-карта сделана из полихлорвинила и содержит микросхему, обычно с 8-разрядным микропроцессором и тремя запоминающими устройствами:
  1. ПЗУ - для хранения операционной системы (5-8 Кбайт);
  2. ОЗУ - для выполнения команд (120-200 байт);
  3. ЭСППЗУ - энергонезависимая память для хранения прикладной информации (2 Кбайта и более).
ЭСППЗУ разбита на две области: секретную и пользовательскую. Секретная область недоступна для прикладных программ и предназначена только для хранения ключей. Пользовательская область организована подобно памяти на гибких дисках. В момент инициализации микросхемы карты создается таблица определения файлов, расположенная в начале пользовательсткой области. Файлы располагаются в памяти от конца к началу. Каждый файл разбит на фиксированное число записей фиксированной длины (обычно 64 байта). Запись таблицы определения файлов и есть, в сущности, форматирование карточки.
  В большинстве операционных систем каждый файл имеет следующие атрибуты:
  1. начальный адрес (2 байта);
  2. метки защиты по чтению и записи (по 4 бита);
  3. расширение защиты по чтению и записи (по 1 байту);
  4. длина записи (1 байт);
  5. число записи (1 байт);
  6. тип файла (стираемый/нестираемый, нормальный/циклический) (1 байт);
  7. имя (2 байта);
  8. текущая запись (1 байт);
  9. указатель конца файла (1байт).
  По форме обращения к информации файлы могут быть последовательного и прямого доступа.
  В операционной системе предусмотрены следующие команды: предъявление ключа; чтение массива атрибутов файла из таблицы определения; чтение информации; запись информации; поиск файла; очищение карточки; запись определения файла в таблицу; задание ключей и т.д.
  Ключи хранятся в секретной области и содержат обычно от 1 до 8 байт. Предусмотрены три типа ключей: Issue Key (I-Key) - ключ банка (один); PIN-Key (P-Key) - ключ владельца карточки; Application Key (A-Key) - ключи приложений для дополнительной защиты карточки и отдельных файлов. Файлы могут быть защищены этими ключами по чтению/записи, при этом для ключей разных типов защита организована по уникальной логической схеме.

Статьи подготовил:
Начальник Отдела карточных технологий
Соболев Александр Александрович