Смарт-карты EMV
Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru
В основу данной спецификации легли разработки компаний Europay, MasterCard и Visa (EMV) в марте, 1998 года. Следует принимать во внимание, что данная технология будет использоваться не только для финансовых операций. Планируется ее применения для проездных билетов и контроля доступа к ЭВМ. В перспективе можно предположить, что эта техника будет использоваться для идентификации личности, например, вместо паспорта.
IEC 512-2:1979 | Спецификации для электромеханических компонентов оборудования - Часть 2: Тесты сопротивления контактов, тесты проверки изоляции и перегрузок | |
FIPS Pub 180-1:1995 | Стандарт на безопасные хэши. Спецификация терминала платежных систем для карт с интегральными схемами | |
ISO 639:1988 | Коды названий языков | |
ISO 3166:1997 | Коды названий стран | |
ISO 4217:1995 | Коды валют и фондов | |
ISO/IEC 7811-1:1995 | Идентификационные карты - Метод записи - Часть 1: Тиснение | |
ISO/IEC 7811-3:1995 | Идентификационные карты - Метод записи - Часть 3: Положение вытисненных символов на картах ID-1 | |
ISO/IEC 7813:1995 | Идентификационные карты - Карты для финансовых операций | |
ISO/IEC DIS 7816-1:1998 | Идентификационные карты - Карты с интегральными схемами, имеющими внешние контакты. | |
Часть 1: | Физические характеристики ISO/IEC DIS 7816-2:1998 | |
Часть 2: | Размеры и положение контактов | |
ISO/IEC 7816-3:1989 | Часть 3: | Электрические сигналы и протоколы передачи |
ISO/IEC 7816-3:1992 | Часть 3: | Протокол типа T=1, асинхронный полудуплексный протокол блочной передачи |
ISO/IEC 7816-3:1994 | Часть 3: | Выбор типа протокола |
ISO/IEC 7816-4:1995 | Часть 4: | Команды обмена |
ISO/IEC 7816-5:1994 | Часть 5: | Процедура для выработки прикладных идентификаторов |
ISO/IEC 7816-6:1996 | Часть 6: | Информационные элементы |
ISO 8731-1:1987 | Часть 1: | Алгоритмы аутентификации сообщений (DEA) |
ISO 8372:1987 | Обработка информации. Режимы работы для 64-битовых блочных алгоритмов шифрования/дешифрования | |
ISO/IEC 8825:1990 | Информационная технология. Соединение открытых систем. Спецификация базовых правил кодирования для синтаксической нотации ASN.1 | |
ISO 8583:1987 | Сообщения банковских карт - Спецификации сообщений - Содержимое финансовых транзакций | |
ISO 8583:1993 | Сообщения транзакций банковских карт - Спецификации сообщений | |
ISO 8859:1987 | Обработка сообщений - 8-битовые графические символьные наборы | |
ISO/IEC 9796-2: 1997 | Информационная технология - Методы безопасности - Схема восстановления сообщений с цифровой подписью. Часть 2: Механизм использования хэш-функций | |
ISO/IEC 9797:1994 | Информационная технология - Методы безопасности - Механизм информационной целостности, использующий функцию криптографической проверки на базе алгоритма блочного шифра | |
ISO/IEC 10116: 1997 | Информационная технология - режимы работы алгоритмов n-битовых блочных шифров | |
ISO/IEC 10118-3: 1998 | Информационная технология - Методы безопасности - хэш-функции |


Контакт | Назначение | Контакт | Назначение |
С1 | VCC - напряжение питания | С5 | GND - земля |
С2 | RST - сброс | С6 | Не используется |
С3 | CLK - тактовые импульсы | С7 | Вход/Выход (I/O) |
VIL- Низкий уровень входного сигнала
VOH- Высокий уровень выходного сигнала
VOL- Низкий уровень выходного сигнала
tR- Время нарастания сигнала
tF- Время спада сигнала Таблица 4.6.4.2
Минимум | Максимум | |
VIH | 0,7xVcc | Vcc |
VIL | 0 | 0,8 В |
tR и tF | - | 1,0 мксек |
Условия | Минимум | Максимум | |
VOH | -20мкА<IOH<0, Vcc= min | 0,7xVcc | Vcc |
VOL | 0< IOL < 1мА, Vcc = min | 0 | 0,4 В |
tR и tF | C IN(терминала) =30пФ макс | - | 1,0 мксек |
Минимум | Максимум | |
VIH | Vcc-0,7В | Vcc |
VIL | 0 | 0,5 В |
tR и tF | - | 9% тактового периода |
Минимум | Максимум | |
VIH | Vcc-0,7В | Vcc |
VIL | 0 | 0,6 В |
tR и tF | - | 1,0 мксек |
Микросхема может также противостоять импульсам тока через цепь питания до 100 мА длительностью 400 нсек и с интегральным зарядом 40 нАсек. Любая транзакция для карты начинается с ее вставления в интерфейсное устройство IFD (Interface Device) и активации контактов карты. Далее следует сброс микросхемы ICC в исходное состояние и установление связи между ICC и IFD. Только после этого начинает реализовываться конкретная транзакция. Любая транзакция завершается дезактивацией контактов и удалением ICC из интерфейсного устройства. После вставления карты в IFD терминал проверяет, что все сигнальные контакты находятся в состоянии L (низкий логический уровень - VOL). IFD контролирует корректность положения ICC с точностью ±0,5мм. Если карта позиционирована правильно, производится активация контактов в соответствии с порядком, представленном на рис. 4.6.4.3.


Диаграмма холодного сброса ICC показана на рис. 4.6.4.4. Команда сброса может поступать и в процессе обычной работы - так называемый "теплый" сброс. Временная диаграмма такого сброса показана на рис. 4.6.4.5.



Время стробирования составляет 0, 2 t. Время между началами передачи последовательных символов составляет t(10±0,2) плюс время выдержки. Во время выдержки ICC и терминал должны находиться в режиме приема. (H). Определены два протокола: символьный (Т=0) и блочный (Т=1). ICC поддерживает один из этих протоколов, терминалы поддерживают оба. Тип протокола определяется значением символа TD1. При отсутствии в ATR TD1 рабочим считается протокол Т=0. Физический уровень обмена должен согласовываться с обоими протоколами. Минимальный интервал между лидирующими битами двух последовательных символов, посылаемых ICC, равно 12t. Максимальный интервал между стартовыми битами двух последовательных символов (Work Waiting Time) не должно превышать (960хDxWI) t (параметры D и WI пересылаются с помощью символов TA1 и TC2, соответственно). Если это время будет превышено, терминал не позднее, чем спустя 960t должен начать процесс дезактивации. В режиме T=0, если ICC или терминал детектировали при передаче/приеме символа ошибку четности, шина I/O переводится в состояние L, чтобы передающая сторона узнала об ошибке. На транспортном уровне терминала TTL (Terminal Transport Layer) данные всегда передаются через шину I/O так, что старший байт следует первым. Будет ли первым старший бит, определяется символом TS, возвращаемым в ответ на команду сброс ATR. Такой отклик может содержать строку символов. При отклике на сброс минимальное время между стартовыми битами последовательных символов составляет 9600t. ICC передает все символы отклика в пределах 19200 t. Это время измеряется между стартовым битом первого символа TS и после 12 t от начала последнего символа. Число символов в отклике зависит от транспортного протокола и поддерживаемых управляющих параметров. ICC может опционно поддерживать более одного транспортного протокола, но одним из таких протоколов должен быть Т=0 или Т1. Символы, присылаемые в рамках ATR, представлены в таблице 4.6.4.6. Таблица 4.6.4.6. Базовый ATR для T=0
Символ | Значение | Примечания |
TS | 3B или 3F | Указывает на прямую или инверсную схему передачи бит |
T0 | 6x | Присутствуют TB1 и TC1; х обозначает число исторических байтов |
TB1 | 00 | VPP не требуется |
TC1 | 00 - FF | Указывает на необходимость дополнительного времени выдержки. FF имеет специальное назначение. |
Если поддерживается только протокол типа T=1 (блочный асинхронный транспортный протокол), то используемые символы отклика ATR содержатся в таблице 4.6.4.7. Следует иметь в виду, что ICC может поддерживать более одного транспортного протокола. Таблица 4.6.4.7. Базовый ATR для T=1
Символ | Значение | Примечания |
TS | 3B или 3F | Указывает на прямую или инверсную схему |
T0 | Ex | Присутствуют TB1 - TD1; х обозначает число исторических байтов |
TB1 | 00 | VPP не требуется |
TC1 | 00 - FF | Указывает на необходимость дополнительного времени выдержки. FF имеет специальное назначение. |
TD1 | 81 | TA2 - TC2 отсутствуют; TD2 присутствует; должен работать протокол T=1 |
TD2 | 31 | TA3 и TB2 присутствуют; TC3 и TD3 отсутствуют; должен работать протокол T=1 |
TA3 | 10 - FE | Возвращает IFSI, что указывает на начальное значение размера информационного поля для ICC и IFSC равное 16-254 байтам |
TB3 | Старший полубайт =0-4 Младший полубайт =0-5 | BWI = 0-4 CWI = 0-5 |
TCK | Контрольный символ |
(H)LHHLLLLLLH - инверсная схема, значение 3F.
(H)LHHLHHHLLH - прямая схема, значение 3B
Последний бит этих кодов Н является битом четности (смотри рис. 4.6.4.7). T0 - символ формата. Старший полубайт (b5-b8) используется для определения того, присутствуют ли последующие символы TA1-TD1. Если биты b5-b8 установлены в состояние логической единицы, TA1-TD1 присутствуют. Младший полубайт (b1-b4) содержит число опционных исторических байтов (0-15).
Смотри таблицу 4.6.4.8. Таблица 4.6.4.8
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | |
Только Т=0 | 0 | 1 | 1 | 0 | X | X | X | X |
Только Т=1 | 1 | 1 | 1 | 0 | X | X | X | X |
Базовый отклик ATR не содержит ТА2. ТВ2 передает PI2, который используется для определения величины программируемого напряжения Р, необходимого ICC. Если этот символ присутствует, значение, указанное в PI1 (ТВ1), заменяется на новое. По умолчанию ТВ2 отсутствует. ТС2 специфичен для протокола типа Т=0 и несет в себе значение WI (Waiting time Integer), которое используется для определения максимального интервала между началом передачи любого символа, посланного ICC, и началом предыдущего символа, поступившего от ICC или терминала. Время выдержки вычисляется по формуле 960xDxWI. По умолчанию ТС2 отсутствует, а WI=10. Терминал воспринимает ATR, содержащий ТС2=0А. Он отвергает ATR, несущий в себе ТС2=00 или ТС2>0А. TD2 указывает, будут ли еще переданы какие-либо интерфейсные байты, а также определяет тип протокола, используемого далее. Старший полубайт используется для указания наличия символов ТА3 - TD3. Биты b5-b8 устанавливаются в единичное состояние при наличии ТА3 - TD3. Младший полубайт указывает тип протокола, применяемый в последующих обменах. При Т=1 он равняется 1. По умолчанию при Т=0 ATR не содержит TD2, в противном случае ATR содержит TD2=31 (T=1). ТА3 несет в себе информацию о размере поля данных для ICC (IFSI) и специфицирует длину информационного поля INF блоков, которые могут быть получены картой. Этот символ характеризует длину IFSC в байтах и может содержать коды в интервале 0х01-0хFE. Значения 0х00 и 0хFF зарезервированы на будущее. По умолчанию ATR содержит ТА3 со значение в диапазоне 0х10-0хFE, если Т=1, IFSC лежит в интервале 16-254 байта. Если ТА3 содержит недопустимый код, ATR терминалом отвергается. ТВ3 характеризует значения CWI и BWI, используемые для вычисления CWT и BWT, соответственно. ТВ3 имеет две части. Младший полубайт (b1-b4) используется для определения значения CWI, а старший полубайт (b5-b8) - BWI. По умолчанию ATR несет в себе ТВ3, при этом младший полубайт содержит код 0-5, а старший - 0-4, если Т=1, указывая, что CWI=0-5, а BWI=0-4.
Формат ТВ3 показан в таблице 4.6.4.9. Таблица 4.6.4.9
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | |
Только Т=1 | 0 | X | X | X | 0 | Y | Y | Y |