Смарт-картки
Поява в кінці 80-х років інформаційних технологій, заснованих на застосуванні так званих смарт-карток, дозволила по-новому підійти до проблеми створення “пластикових грошей”. Виробництво та застосування смарт-карток швидко зростає і починає витісняти з ринку найближчого конкурента – картку з магнітною смугою.
Смарт-картка (smartcard – інтелектуальна картка) – це пластиковий прямокутник, аналогічний за розмірами до карток з магнітною смугою. Замість смуги (чи додатково до неї) в таку картку вбудований мікропроцесор (як правило, 8-розрядний), пам’ять постійного типу для збереження операційної системи та прикладних програм і пам’ять для збереження змінних даних, що може перепрограмовуватися.
Крім того, до електросхеми включені й компоненти, що забезпечують виконання вводу-виводу даних, захист інформації, яка зберігається, та (при необхідності) спеціалізовані сопроцесори для прискореного виконання криптографічних операцій. Таким чином, вбудована в картку мікросхема є спеціалізованою мікроЕОМ, можливості якої забезпечують високий ступінь захисту від підробки, підтримує файлову організацію збереження даних та необхідний набір операцій з обробки інформації. Це, а також високі експлуатаційні характеристики зробили смарт-картки лідером серед носіїв конфіденційної інформації та привернули увагу спеціалістів, які розробляють та використовують пластикові картки в якості банківських платіжних інструментів.
Стандарти. Міжнародні платіжні системи (EUROPAY, MASTERCARD, VІSA) об’єдналися з метою розробки єдиних стандартів на основні характеристики смарт-карток. Результатом праці стали проекти специфікацій (EMV'94, EMV'95 та EMV'96), які були опубліковані відповідно в грудні 1994 р., серпні 1995 р. та червні 1996 р. Схожу мету поставили перед собою і ряд провідних фірм-розробників з Європи (так, групою CEN 10 був розроблений стандарт prEN 1546). Велике значення для розвитку смарт-карток мало прийняття в 1995 р. міжнародного стандарту ІSO 7816(1-6). Зараз на різних стадіях розгляду знаходяться документи ІSO 7816-7, 8, 10. Вони визначили стандарт на картку з вбудованою мікросхемою. Хоча не всі ці роботи набули кінцевого вигляду, вони визначили напрям розвитку технології виробництва та застосування смарт-карток в якості платіжних інструментів.
Важливою характеристикою специфікацій EMV є те, що кожна з нових редакцій доповнює та розвиває попередню, не перекреслючи її. Найсучаснішою є остання редакція специфікацій EMV'96, в яких визначено ряд нових, порівняно з EMV'95, можливостей, серед яких:
• динамічна аутентифікація даних, які зберігаються на картці у відкритому та зашифрованому вигляді. Ця фунція виконується в тому випадку, якщо її підтримує платіжний термінал, який дешифрує прочитаний з картки сертифікат відкритого ключа, відновлює зашифровані дані та порівнює їх з відкритими. Якщо термінал не підтримує динамічну аутентифікацію, то здійснюється статична аутентифікація згідно з EMV'95, яка перевіряє справжність статичних даних, поміщених на картку емітентом;
• додавання постемісійних команд, що забезпечують можливість реалізації на картці нових додатків, тобто надається можливість “до програмувати” картку, використовуючи для цього пам’ять (EEPROM), яка перепрограмовується;
• формування та передача безпечних повідомлень;
• визначення архітектури програмного забезпечення терміналів.
Останнє припускає два альтернативних підходи: через APІ (Applіcatіon Program Іnterface) та інтерпретатор. В обох випадках рекомендується розробляти бібліотеки додатків у вигляді модулей, що динамічно визиваються при виконанні трансакцій. При APІ-підході існує деякий інтерфейс, через який термінальні додатки, що розробляються, використовують специфічні функції. Це дозволяє спростити вимоги до сертифікації додатків для різних терміналів за рахунок сертифікації тільки фунцій APІ.
Інтерпретатор є програмним ядром, яке реалізує функції деякою віртуальною машиною, що може реалізовуватися на кожному процесорі запропонованих терміналів. Це дозволяє тільки один раз сертифікувати розроблені багаторівневі бібліотеки, типові додатки та термінальні програми, які використовують стандартні функції ядра. Після цього їх можна застосовувати на довільному терміналі, який підтримує цю віртуальну машину. Цей підхід дає можливість ралізувати концепцію plugs-and-sockets (розйомів та гнізд), що дозволяє динамічно вставляти в додатки (гнізда) модулі (розйоми), що виконуються, які зберігають код для розширення логіки програми терміналу.
У специфікаціях EMV визначені основні вимоги до носія інформації (картки), а також другого важливого елементу – терміналу, який взаємодіє з карткою. Картка повинна мати систему управління файлами, яка підтримує ієрархічну структуру файлової системи, визначену ще в EMV'95.