Модуль безопасности платежных системhsm ps, и...

537
Модуль безопасности платежных систем Руководство разработчика

Transcript of Модуль безопасности платежных системhsm ps, и...

Page 1: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности

платежных систем

Руководство разработчика

Page 2: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

1991–2018 ОАО «ИнфоТеКС», Москва, Россия

ФРКЕ.00185-01 90 03

Этот документ входит в комплект поставки программного обеспечения, и на него распространяются все условия лицензионного

соглашения.

Ни одна из частей этого документа не может быть воспроизведена, опубликована, сохранена в электронной базе данных или передана

в любой форме или любыми средствами, такими как электронные, механические, записывающие или иначе, для любой цели без

предварительного письменного разрешения ОАО «ИнфоТеКС».

ViPNet® является зарегистрированным товарным знаком ОАО «ИнфоТеКС».

Все названия компаний и продуктов, которые являются товарными знаками или зарегистрированными товарными знаками,

принадлежат соответствующим владельцам.

ОАО «ИнфоТеКС»

127287, г. Москва, Старый Петровско-Разумовский проезд, дом 1/23, строение 1

Тел: (495) 737-61-96 (горячая линия), 737-61-92, факс 737-72-78

Сайт компании «ИнфоТеКС»: http://www.infotecs.ru

Электронный адрес службы поддержки: [email protected]

Page 3: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Аннотация

Настоящий документ содержит описание форматов и параметров

командных и ответных сообщений в хостовом режиме работы платежного

приложения «Модуль безопасности платежных систем» (далее – хостовых

команд).

Хостовый режим работы платежного приложения – режим работы

платежного приложения, при котором командные и ответные сообщения

передаются между платежным приложением, функционирующим на ViPNet

HSM PS, и подключенным к ViPNet HSM PS компьютером хост-системы.

Описание хостового режима работы содержится в настоящем документе,

предназначенном для разработчиков хост-систем.

Консольный режим работы работы платежного приложения – режим

работы платежного приложения, при котором осуществляется

администрирование платежным приложением и выполнение команд

(консольных команд) посредством веб-интерфейса платежного приложением.

Описание консольного режима работы платежного приложения содержится в

документе «ViPNet HSM PS. Руководство администратора».

Page 4: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 4

Оглавление

Аннотация....................................................................................................................................................... 3

1. Назначение и условия применения программы ........................................................................... 11

2. Характеристика программы ........................................................................................................... 13

3. Обращение к программе ................................................................................................................. 14

4. Входные и выходные данные ........................................................................................................ 17

4.1. Общие сведения .............................................................................................................................. 17

Типы ключей ViPNet HSM PS ...................................................................................................................... 17

Локальный мастер-ключ (Local Master Key – LMK)................................................................................. 18

Зональный мастер-ключ (Zone Master Key – ZMK) .................................................................................. 18

Зональный ключ шифрования PIN (Zone PIN Key – ZPK) ........................................................................ 18

Терминальный мастер-ключ (Terminal Master Key – TMK) ..................................................................... 18

Терминальный ключ шифрования PIN (Terminal PIN Key – TPK) ........................................................... 18

Терминальный ключ аутентификации (Terminal Authentication Key – TAK) ......................................... 19

Ключ проверки PIN (PIN Verification Key – PVK) ...................................................................................... 19

Ключ проверки карты (Card Verification Key – CVK) ............................................................................... 19

Массив LMK ................................................................................................................................................. 19

Тестовые LMK ............................................................................................................................................. 21

Варианты LMK ............................................................................................................................................ 23

Коды типов ключей ..................................................................................................................................... 24

Ключевая схема ............................................................................................................................................ 27

Шифрование ключей с использованием формата ключевого блока ....................................................... 29

Поддерживаемые криптоалгоритмы ....................................................................................................... 40

Режимы шифрования .................................................................................................................................. 41

Целостность ключей ................................................................................................................................... 41

Обозначения, используемые в описании команд: ...................................................................................... 41

Поддержка формата ключевого контейнера .......................................................................................... 42

4.2. Лицензии .......................................................................................................................................... 43

Список лицензий ........................................................................................................................................... 43

4.3. Перечни команд .............................................................................................................................. 44

Список команд по алфавиту ....................................................................................................................... 44

Перечень команд по функционалу .............................................................................................................. 49

4.4. Команды лицензии «Процессинг» (Processing License – LIC001) .............................................. 56

4.4.1. Перечень команд лицензии «Процессинг» ....................................................................................... 56

4.4.2. Описание команд лицензии «Процессинг» ....................................................................................... 59

Команды управления симметричными ключами ...................................................................................... 59

Page 5: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 5

Генерация ключа (A0) ................................................................................................................................. 59

Формирование ключа из зашифрованных компонент (A4) ..................................................................... 66

Импорт ключа (A6) ...................................................................................................................................... 69

Экспорт ключа (A8) ..................................................................................................................................... 74

Перешифрование TMK, TPK или PVK из-под «старого» LMK под «новый» (AA).............................. 79

Перешифрование TAK из-под «старого» LMK под «новый» (AC) ........................................................ 81

Перешифрование TAK из-под LMK под ZMK (МG) ............................................................................... 83

Перешифрование TAK из-под ZMK под LMK (МI) ................................................................................. 85

Перешифрование TMK, TPK или PVK из-под LMK под другой TMK, TPK или PVK (AE) ............... 87

Перешифрование TAK из-под LMK под TMK (AG) ................................................................................ 89

Перешифрование ключа из-под «старого» LMK под «новый» (BW) ..................................................... 91

Перешифрование ZPK из-под ZMK под LMK (FA) ................................................................................. 96

Перешифрование TMK, TPK или PVK из-под ZMK под LMK (FC) ...................................................... 98

Перешифрование TMK, TPK или PVK из-под LMK под ZMK (FE) .................................................... 100

Генерация ZEK/ZAK (FI) .......................................................................................................................... 102

Перешифрование ZEK/ZAK из-под ZMK под LMK (FK) ...................................................................... 104

Перешифрование ZEK/ZAK из-под LMK под ZMK (FM) ..................................................................... 106

Генерация Watchword Key (FO) ............................................................................................................... 108

Перешифрование Watchword Key из-под ZMK под LMK (FS) ............................................................. 110

Перешифрование Watchword Key из-под LMK под ZMK (FQ) ............................................................ 112

Перешифрование ZPK из-под LMK под ZMK (GC) ............................................................................... 114

Перешифрование ZMK из-под «старого» LMK под «новый» (GE) ...................................................... 116

Генерация TAK (HA) ................................................................................................................................. 118

Генерация TMK, TPK или PVK (HC) ....................................................................................................... 120

Генерация ZPK (IA) ................................................................................................................................... 122

Перешифрование ZPK из-под «старого» LMK под «новый» (KC) ....................................................... 124

Генерация MAC за сообщение (МA) ....................................................................................................... 126

Проверка MAC за сообщение (МC) ......................................................................................................... 127

Проверка и переформирование MAC (МE) ............................................................................................. 128

Генерация MAC (MAB) за большое бинарное сообщение (МQ) .......................................................... 130

Генерация MAC (MAB) за большое сообщение (МS)............................................................................ 132

Генерация MAC за бинарные данные (МK) ............................................................................................ 135

Проверка MAC за бинарные данные (МM) ............................................................................................. 137

Проверка и переформирование MAC за бинарные данные (МO) ......................................................... 139

Перешифрование блока секретных данных в специфичном формате карты (P0) ............................... 141

Команды управления ассиметричными ключами ............................................................................... 144

Генерация пары секретный/открытый ключ RSA (EI) ........................................................................... 144

Page 6: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 6

Загрузка секретного ключа RSA (EK) ..................................................................................................... 147

Перешифрование секретного ключа RSA (EM) ...................................................................................... 149

Импорт открытого ключа RSA (EO) ........................................................................................................ 152

Проверка открытого ключа RSA (EQ) ..................................................................................................... 156

Проверка сертификата и импорт открытого ключа RSA (ES) ............................................................... 158

Перешифрование открытого ключа RSA (EU) ....................................................................................... 163

Генерация ЦП RSA (EW) .......................................................................................................................... 166

Проверка ЦП RSA (EY) ............................................................................................................................. 169

Импорт ключа DES на открытом ключе RSA (GI) ................................................................................. 171

Экспорт ключа DES на открытом ключе RSA (GK)............................................................................... 176

Операции с PIN ...................................................................................................................................... 179

Зашифрование чистого PIN (BA) ............................................................................................................. 179

Расшифрование зашифрованного PIN (NG) ............................................................................................ 181

Проверка терминального PIN сравнением (BC) ..................................................................................... 183

Проверка PIN сравнением (BE) ................................................................................................................ 185

Перешифрование PIN из-под «старого» LMK под «новый» (BG) ........................................................ 187

Генерация PIN-offset IBM-методом (для выбранного пользователем PIN) (BK) ................................ 188

Загрузка таблицы PIN для проверки «слабых» PIN (BM) ...................................................................... 193

Перешифрование PIN из-под TPK под ZPK (CA) .................................................................................. 195

Перешифрование PIN из-под одного ZPK под другой (CC) .................................................................. 197

Генерация и проверка VISA PVV (для пользовательского PIN) (CU) .................................................. 199

Проверка терминального PIN IBM-методом (DA) ................................................................................. 204

Проверка терминального PIN с использованием VISA метода (DC) ................................................... 208

Генерация PIN-offset IBM-методом из зашифрованного под LMK PIN (DE) ..................................... 211

Генерация VISA PVV (PIN Verification Value) (для PIN, зашифрованного под LMK) (DG) ............. 215

Генерация и проверка PIN Offset IBM-методом (для нового пользовательского PIN) (DU) ............. 219

Проверка PIN IBM-методом (EA) ............................................................................................................ 225

Получение PIN IBM-методом (EE) .......................................................................................................... 229

Проверка PIN-блока с использованием VISA метода (EC) ................................................................... 233

Генерация VISA PVV (для выбранного пользователем PIN) (FW) ...................................................... 235

Генерация случайного PIN (JA)................................................................................................................ 239

Перешифрование PIN из-под TPK под LMK (JC) .................................................................................. 242

Перешифрование PIN из-под ZPK под LMK (JE) ................................................................................... 245

Перешифрование PIN из-под LMK под ZPK (JG) .................................................................................. 247

Перешифрование PIN, зашифрованного под LMK, со сменой номера счета (Account Number) (QK)

............................................................................................................................................................. 249

Перешифрование PIN (ZE) ....................................................................................................................... 251

Page 7: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 7

Процессинг по чиповым картам (EMV) ............................................................................................... 253

Проверка ARQC и/или генерация ARPC (EMV 3.1.1) (KQ) .................................................................. 253

Проверка Data Authentication Code (DAC) и Dynamic Number (DN) (KS) ........................................... 258

Генерация секретного сообщения (Secure Message) (EMV 3.1.1) (KU) ................................................ 261

Проверка ARQC и/или генерация ARPC (EMV 4.x) (KW) .................................................................... 269

Генерация секретного сообщения (EMV 4.x) (KY) ................................................................................ 274

Разное ……………………………………………………………………………………………………………………………………………….281

Генерация проверочной величины ключа (BU) ...................................................................................... 281

Перешифрование таблицы децимализации (LO) .................................................................................... 285

Генерация CVV/CVC (CW) ....................................................................................................................... 287

Проверка CVV/CVC (CY) ......................................................................................................................... 290

Генерация проверочной величины ключа (KA) ...................................................................................... 293

Зашифрование блока данных (М0) .......................................................................................................... 295

Расшифрование блока данных (М2) ........................................................................................................ 300

Генерация MAC (М6) ................................................................................................................................ 304

Проверка MAC (М8) .................................................................................................................................. 308

Вычисление значения Хэш-функции за блок данных (GМ) .................................................................. 312

Проведение диагностики (NC) ................................................................................................................. 313

Статус HSM (NO) ....................................................................................................................................... 314

Проверка динамического CVV/CVC (PM) .............................................................................................. 316

Перешифрование KEYVAL (RW) ............................................................................................................ 322

4.5. Команды лицензии «Печать PIN-конвертов» (PIN and Key Printing License - LIC002) ......... 324

4.5.1. Перечень команд лицензии «Печать PIN-конвертов» ................................................................. 324

4.5.2. Описание команд лицензии «Печать PIN-конвертов» ................................................................. 324

Генерация и печать компонент (A2) ........................................................................................................ 324

Генерация ключа и печать в виде Split компонент (NE) ........................................................................ 329

Печать данных (OA) .................................................................................................................................. 333

Загрузка шаблонов печати PIN (PA) ........................................................................................................ 335

Печать PIN (PE) .......................................................................................................................................... 336

4.6. Команды лицензии «Предперсонализация карт» (Card Data Preparation License - LIC003) .. 339

4.6.1. Перечень команд лицензии «Предперсонализация карт» ............................................................ 339

4.6.2. Описание команд лицензии «Предперсонализация карт» ............................................................ 341

Генерация подписи данных статической аутентификации (HK) .......................................................... 341

Генерация RSA пары (секретный/открытый ключ) эмитента (VISA) (IU) .......................................... 343

Проверка самоподписанного сертификата корневого УЦ (VISA) (IW) ............................................... 346

Проверка сертификата открытого ключа эмитента (VISA) (IY) ........................................................... 348

Генерация RSA пары (секретный/открытый ключ) эмитента (MasterCard) (JM) ................................ 352

Page 8: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 8

Проверка самоподписанного сертификата корневого УЦ (MasterCard) (JO) ...................................... 355

Проверка сертификата открытого ключа эмитента (MasterCard) (JQ) ................................................. 357

Экспорт ключа под KEK (K8)................................................................................................................... 361

Генерация RSA пары (секретный/открытый ключ) и сертификата эмитента (KE) ............................. 363

Проверка сертификата открытого ключа эмитента (KG) ...................................................................... 368

Генерация мастер-ключей карты (KI) ...................................................................................................... 372

Проверка самоподписанного сертификата корневого УЦ (KK) ........................................................... 375

Генерация подписи данных статической аутентификации (SDA) (KM) .............................................. 377

Генерация RSA пары (секретный/открытый ключ) и сертификата карты (KO) .................................. 380

Диверсификация данных для записи на карту (SI) ................................................................................. 388

Зашифрование данных транзакции (XK) ................................................................................................. 390

Генерация случайного числа (YO) ........................................................................................................... 393

Диверсификация ключа (YS) .................................................................................................................... 394

Экспорт ключа под KEK (YW) ................................................................................................................. 397

Зашифрование данных (YY) ..................................................................................................................... 399

Импорт ключа под KEK (ZA) ................................................................................................................... 401

Расшифрование данных (ZC) .................................................................................................................... 403

Генерация или проверка МАС (ZK) ......................................................................................................... 405

Сборка сертификата открытого ключа карты (ICC) из элементов (ZU) ............................................... 408

Генерация ключевой пары карты (ICC) (ZW) ......................................................................................... 411

Генерация производных ключей карты (ZY) .......................................................................................... 415

4.7. Команды лицензии «Персонализация карт» (Card Data Personalization License - LIC004) .... 419

4.7.1. Перечень команд лицензии «Персонализация карт» .................................................................... 419

4.7.2. Описание команд лицензии «Персонализация карт» ................................................................... 419

Установление защищенного соединения с чип-картой (IC) .................................................................. 419

Подготовка защищенного сообщения для чип-карты (IE) .................................................................... 424

4.8. Команды лицензии «Поддержка 3-D Secure» (Support of 3-D Secure License – LIC006) ....... 432

4.8.1. Перечень команд лицензии «Поддержка 3-D Secure» .................................................................. 432

4.8.2. Описание команд лицензии «Поддержка 3-D Secure» ................................................................. 433

Проверка Truncated Application Cryptogram (MasterCard CAP) (K2) .................................................... 433

Генерация ключа для вычисления HMAC (L0) ....................................................................................... 438

Генерация HMAC за блок данных (LQ) .................................................................................................. 442

Проверка HMAC за блок данных (LS) ..................................................................................................... 445

Импорт ключа вычисления HMAC из-под ZMK (LU) ........................................................................... 448

Экспорт ключа вычисления HMAC под ZMK (LW) .............................................................................. 453

Перешифрование ключа вычисления HMAC из-под «старого» LMK под «новый» (LY) .................. 456

4.9. Команды лицензии «Поддержка CUP» (Support of China Union Pay License – LIC007) ........ 460

Page 9: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 9

4.9.1. Перечень команд лицензии «Поддержка CUP» ............................................................................ 460

4.9.2. Описание команд лицензии «Поддержка CUP» ........................................................................... 460

Проверка ARQC и генерация ARPC (CUP) (JS) ..................................................................................... 460

Генерация секретных сообщений (CUP) (JU) ......................................................................................... 464

4.10. Команды лицензии «Поддержка American Express » (Support of American Express License

08.х– LIC008) ................................................................................................................................. 469

4.10.1. Перечень команд лицензии «Поддержка American Express» ..................................................... 469

4.10.2. Описание команд лицензии «Поддержка American Express» .................................................... 469

Вычисление Card Security Codes (RY режим 3) ...................................................................................... 469

Проверка Card Security Codes (RY режим 4) ........................................................................................... 472

4.11. Команды лицензии «Поддержка НСПК «МИР» (Support of NSPK “MIR” License 09.х–

LIC009) ........................................................................................................................................... 475

4.11.1. Перечень команд лицензии «Поддержка НСПК «МИР» ........................................................... 475

4.11.2. Описание команд лицензии «Поддержка НСПК «МИР» ........................................................... 478

Расшифрование зашифрованных счетчиков (K0) ................................................................................... 478

Проверка криптограммы MSTC (SSSM) ................................................................................................. 480

Приложение 1 Стандартные коды ошибок .............................................................................................. 483

Приложение 2 Форматы сертификатов ................................................................................................... 484

Формат эмитента ПС «Мир» .................................................................................................................... 484

Формат запроса сертификата эмитента ПС «Мир» ................................................................................ 484

Формат сертификата УЦ ПС «Мир» ........................................................................................................ 486

Формат сертификата эмитента ................................................................................................................. 488

Формат сертификата карты «Мир» .......................................................................................................... 490

Формат сертификата карты «Мир» для шифрования PIN ..................................................................... 492

Формат самоподписанного сертификата (запроса) эмитента Visa ....................................................... 495

Формат самоподписанного сертификата (запроса) эмитента (MasterCard) ......................................... 498

Формат самоподписанного сертификата (запроса) эмитента American Express ................................ 500

Формат эмитента Visa ............................................................................................................................... 503

Формат эмитента MasterCard .................................................................................................................... 507

Формат эмитента American Express ......................................................................................................... 509

Формат сертификата карты ICC ............................................................................................................... 513

Формат самоподписанного сертификата УЦ (Visa) ............................................................................... 515

Формат самоподписанного сертификата УЦ (MasterCard) .................................................................... 518

Формат самоподписанного сертификата УЦ (American Express) ......................................................... 520

Приложение 3 Таблицы «слабых» DES-ключей ..................................................................................... 522

Приложение 4 Форматы PIN-блоков ....................................................................................................... 524

Общие сведения ......................................................................................................................................... 524

Page 10: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 10

Формат 01 ................................................................................................................................................... 525

Формат 02 ................................................................................................................................................... 526

Формат 03 ................................................................................................................................................... 526

Формат 04 ................................................................................................................................................... 527

Формат 05 ................................................................................................................................................... 529

Формат 34 ................................................................................................................................................... 530

Формат 35 ................................................................................................................................................... 531

Формат 41 ................................................................................................................................................... 533

Формат 42 ................................................................................................................................................... 534

Формат 47 ................................................................................................................................................... 536

Page 11: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 11

1. Назначение и условия применения программы

Платежное приложение «Модуль безопасности платежных систем»

(далее – ПП) предназначено для поддержки платежных транзакций в

национальной системе платежных карт и международных платежных системах,

в том числе:

• обработка платежных транзакций в соответствии с зарубежными

протоколами и криптографическими алгоритмами1;

• защита чувствительной информации платежных систем при ее

хранении в базах данных хост-систем в соответствии с российскими

протоколами и криптографическими алгоритмами;

• поддержка эмиссии карт с магнитной полосой и с чипом стандарта

EMV, а также платежных карт «МИР» (генерация секретных величин

и электрическая персонализация);

• поддержка PKI международных платежных систем (VISA, MasterCard,

China Union Pay, American Express) и НСПК «МИР»;

• печать PIN-кодов и компонентов ключей в PIN-конверты;

• поддержка функций работы с платежными приложениями

терминального оборудования (создание ключей для терминальной

сети);

• поддержка скрипто-процессинга при встречной работе с

международными (VSDC, MChip, CUP, AMEX) и отечественными

платежными приложениями банковских карт.

Функции ПП определяются набором лицензий. Доступны следующие

лицензии:

• базовая лицензия «Процессинг» (LIC001) – диагностика и настройка

1 При работе в режиме совместимости с международными платежными системами обеспечиваются функциональные возможности, протокол взаимодействия и системы команд, аналогичные модулю Thales payShield 9000.

Page 12: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 12

параметров ПП, сервис зарубежных криптографических операций,

веб-интерфейс удаленного управления ПП, процессинг по картам с

магнитной полосой и с чипом НСПК «МИР», платежных систем VISA,

MasterCard, American Express;

• лицензия «Печать PIN-конвертов» (LIC002) – печать PIN-кодов и

компонентов ключей;

• лицензия ПП для банков-эмитентов «Предперсонализация карт»

(LIC003) – поддержка эмиссии карт с магнитной полосой и с чипом,

поддержка PKI;

• лицензия ПП «Персонализация» (LIC004) – поддержка электрической

персонализации карт с чипом;

• лицензия ПП «Поддержка 3-D Secure» (LIC006) – поддержка функций

аутентификации пользователя в протоколе 3-D Secure;

• лицензия ПП «Поддержка CUP» (LIC007) – поддержка процессинга по

картам платежной системы China Union Pay;

• лицензия ПП «Поддержка American Express» (LIC008) – поддержка

специфичных функций процессинга по картам платежной системы

American Express;

• лицензия ПП «Поддержка НСПК «МИР» (LIC010) – поддержка

отечественной криптографии в операциях НСПК «МИР»;

• лицензия ПП «Поддержка формата ключевого контейнера» (LIC011) –

поддержка работы с форматом Key block в LIC001, LIC003, LIC004,

LIC006-LIC009 команд, допускающих данную функциональность.

Для получения доступа к функциям, определяемым соответствующей

лицензией ПП, требуется ее активация.

Описание процедуры активации лицензии, а также порядок работы

администратора ПП с веб-интерфейсом ПП (консольный режим ПП) приведены

в документе «ViPNet HSM PS. Руководство администратора».

Для выполнения режимов лицензии «Печать PIN-конвертов» требуется

Page 13: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 13

подключение принтера к ViPNet HSM PS.

2. Характеристика программы

ПП, функционирующее в составе специализированного ПО ViPNet HSM

PS, обеспечивает производительность до 6200 операций в секунду в режиме

перешифрования PIN-блоков.

Загрузка и контроль целостности ПО ПП, а также резервирование

ключевой и служебной информации ПП выполняется средствами

специализированного ПО ViPNet HSM PS (подробнее см. в документе

«Программно-аппаратный комплекс ViPNet HSM. Правила пользования»).

ПП поддерживает выполнение хостовых команд в следующих режимах:

• Неавторизованном, не требующем аутентификации

администраторов ПП.

• Аутентифицированном, требующем аутентификации одного

администратора ПП.

• Авторизованном, требующем аутентификации двух

администраторов ПП.

Порядок создания учетных записей администраторов ПП, записи

устройств аутентификации для них и проведения их аутентификации, а также о

режимах работы ViPNet HSM PS приведены в документе «ViPNet HSM PS.

Руководство администратора»2.

Требование к состоянию авторизации приведено в описании каждой

команды (см. Раздел 4 настоящего документа).

2 Порядок работы с учетными записями администраторов ПП аналогичен порядку работы с учетными записями администраторов прикладного сервиса, приведенному в данном документе.

Page 14: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 14

3. Обращение к программе

ViPNet HSM PS функционирует как периферийное оборудование,

подключенное к компьютеру хост-системы.

ViPNet HSM PS предназначен для выполнения криптографических

преобразований в безопасном окружении. Преобразования выполняются по

запросам от хост-компьютера, подключенного к ViPNet HSM PS по сети

Ethernet.

Обычно ViPNet HSM PS используется в режиме реального времени

онлайновыми системами для управления ключами, работы с PIN-кодами,

вычисления MAC-функций.

Прикладная программа посылает команды в ViPNet HSM PS и получает

от него ответы. Каждая команда и ответ состоят из переменного числа полей.

Для кодирования символов используется ASCII. ViPNet HSM PS можно

настроить на работу по протоколам TCP и UDP. Порядок настройки ViPNet HSM

PS приведен в документе «ViPNet HSM PS. Руководство администратора».

ViPNet HSM PS возвращает код ответа (норма или ошибка) хост-

компьютеру в каждом ответном сообщении. Разработчик ПО для хост-

компьютера должен предусмотреть обработку всех возможных видов ошибок

соответствующим образом.

В ViPNet HSM PS существует область хранения асимметричных ключей,

которые могут использоваться ViPNet HSM PS в процессе работы. Указание в

команде использования ключей из локального хранилища уменьшает объем

данных для передачи в команде и таким образом уменьшает время обмена

данными с ViPNet HSM PS.

ViPNet HSM PS позволяет печатать данные (например, PIN-конверты) на

подключенном к нему принтере. Для этого ViPNet HSM PS требуется

информация о формате печатаемых данных, поэтому перед командой печати

прикладная программа должна послать ViPNet HSM PS команду с форматом

печатаемых данных.

Page 15: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 15

Протокол TCP/IP

ViPNet HSM PS использует протокол TCP для передачи данных, при этом

он функционирует как TCP-сервер.

Отправка команд

Таблица 1 представляет форму команды, которую ожидает ViPNet HSM

PS.

Таблица 1 – Формат командного сообщения

Поле Размер Описание

Длина 2 байта Длина поля «Команда»

Команда N байт Команда HSM PS

В рамках одной TCP-сессии можно послать несколько команд, каждая из

которых должна быть в форме, описанной в Таблица 1.

Пример команды диагностики (NC):

00 06 31 32 33 34 4E 43

где длина заголовка сообщения установлена в 4, и используется заголовок

1234.

Возвращаемый результат

Когда ViPNet HSM PS получает команду от TCP-клиента, команда

обрабатывается ПП, и ответ возвращается TCP-клиенту. Таблица 2 представляет

форму ответа.

Таблица 2 – Формат ответного сообщения

Поле Размер Описание

Длина 2 байта Длина поля «Ответ»

Ответ N байт Ответ ViPNet HSM PS

Результат возвращается клиенту на каждую команду.

Пример ответа на команду диагностики (NC):

00 21 31 32 33 34 4E 43 30 30 32 36

38 36 30 34 37 34 34 34 39 31 32 34

Page 16: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 16

32 32 30 30 30 37 2D 45 30 30 30

Протокол UDP

Клиент отправляет датаграмму в ViPNet HSM PS на заданный в

настройках порт. ViPNet HSM PS, функционирующий как UDP-сервер,

обрабатывает датаграмму (с помощью ПП) и возвращает клиенту ответ также в

виде датаграммы.

UDP-протокол функционирует без установки соединения. Если ViPNet

HSM PS определяет ошибку в полученной датаграмме, она не обрабатывается.

UDP-клиент на хост-компьютере должен реализовать механизм тайм-аутов: при

отсутствии ответа от ViPNet HSM PS в течение заданного тайм-аута необходимо

повторно произвести отправку датаграммы.

Таблица 1 и Таблица 2 представляют аналог формата команд и ответов.

Page 17: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 17

4. Входные и выходные данные

4.1. Общие сведения

Типы ключей ViPNet HSM PS

ПП обеспечивает функции управления мастер-ключами, сессионными

ключами и ключами платежных транзакций. Иерархия ключей представлена на

Рис. 1 и Рис. 2.

Local Master Key

Zone Master Key

ZPK TMK TAK PVK CVK

Рис. 1 – Иерархия сетевых ключей

Local Master Key

Terminal Master Key

TMK TPK TAK PVK

Рис. 2 – Иерархия ключей локальной сети

Page 18: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 18

Локальный мастер-ключ (Local Master Key – LMK)

LMK располагаются в хранилище ViPNet HSM PS. Все остальные ключи

и конфиденциальные данные для локального хранения в хост-системе

шифруются под LMK.

Зональный мастер-ключ (Zone Master Key – ZMK)

ZMK – ключ шифрования ключей при межхостовом обмене между

участниками платежной системы. Используется для шифрования нижестоящих

по уровню иерархии ключей при их передаче. ZMK при локальном хранении в

хост-системе зашифрован под LMK.

Зональный ключ шифрования PIN (Zone PIN Key – ZPK)

ZPK – ключ шифрования PIN-блока при межхостовом обмене,

например, между эквайрером и эмитентом. При передаче взаимодействующим

сторонам шифруется под ZMK, при локальном хранении в хост-системе – под

соответствующую пару LMK.

Терминальный мастер-ключ (Terminal Master Key – TMK)

TMK – ключ шифрования ключей при обмене между терминальным

оборудованием и эмитентом терминала (эквайрером). Используется для

шифрования нижестоящих по уровню иерархии ключей или «новых» ключей

TMK при их передаче. При локальном хранении в хост-системе зашифрован

под соответствующую пару LMK.

Терминальный ключ шифрования PIN (Terminal PIN Key – TPK)

TPK – ключ шифрования PIN-блока при обмене между терминальным

оборудованием и эмитентом терминала (эквайрером). При передаче

взаимодействующим сторонам шифруется под TMK, при локальном хранении

в хост-системе – под соответствующую пару LMK.

Page 19: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 19

Терминальный ключ аутентификации (Terminal Authentication Key –

TAK)

TAK – ключ формирования Message Authentication Code (MAC) за

данные при обмене между терминальным оборудованием и эмитентом

терминала (эквайрером). При передаче шифруется под TMK или ZMK, при

локальном хранении в хост-системе – под соответствующую пару LMK.

Ключ проверки PIN (PIN Verification Key – PVK)

PVK – ключ, используемый для генерации и проверки проверочной

величины PIN (PIN Verification Value – PVV). При передаче шифруется под

TMK или ZMK, при локальном хранении в хост-системе – под

соответствующую пару LMK.

Ключ проверки карты (Card Verification Key – CVK)

CVK – ключ, используемый для генерации и проверки проверочной

величины карты (Card Verification Value – CVV или Card Verification Code –

CVC). При локальном хранении в хост-системе шифруется под

соответствующую пару LMK.

Массив LMK

Массив LMK (Local Master Key), массив локальных мастер-ключей,

представляет собой один из наборов ключей:

− набор 64-битных DES3-ключей (LMK-DES);

− набор 256-битных ГОСТ4-ключей (LMK-ГОСТ);

− набор 192-битных DES-ключей (LMK-DES Keyblock);

3 Используются для шифрования в соответствии с алгоритмом DES или 3DES.

4 Используются для шифрования в соответствии с алгоритмом ГОСТ Р 34.12-2015 («Магма»)

Page 20: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 20

− набор 256-битных AES ключей (LMK-AES Keyblock);

LMK располагаются в хранилище ViPNet HSM PS и используются для

защиты ключевой и чувствительной информации при ее хранении в хост-

системе, подключенной к ViPNet HSM PS.

Ключи LMK-DES используются (и нумеруются) попарно, ключи

LMK-ГОСТ – единично, для шифрования ключей различных типов. Например,

номер ключа LMK-DES 04-05 означает пару ключей с номерами 04 и 05, а номер

0405 для LMK-ГОСТ означает один ключ, который используется для тех же

целей, что и одноименная пара LMK-DES. В дальнейшем употребляется общее

выражение «пара LMK» в значении для LMK-DES или LMK-ГОСТ,

приведенном выше.

Ключи LMK-DES Keyblock и LMK-AES Keyblock используются для

шифрования ключей различного назначения в формате ключевого блока

Keyblock HSM (далее – Keyblock LMK).

Формат ключевого блока включает ряд характеристик, в частности,

атрибут «Назначение ключа» (Key Usage) (см. Таблица 13). Формат ключевого

блока Keyblock HSM с использованием LMK-AES Keyblock соответствует

стандарту ASC X9 TR 31-2018 с расширенным набором значений атрибута

«Назначение ключа».

Для каждого значения атрибута формируется свой ключ LMK-DES

Keyblock или LMK-AES Keyblock.

Например, значение атрибута «52» означает назначение ключа LMK-DES

Keyblock или LMK-AES Keyblock для зашифрования Зональных мастер-ключей

(ZMK).

В дальнейшем употребляется выражение «Назначение ключа» в

значении для LMK-DES Keyblock или LMK-AES Keyblock, приведенном выше.

Page 21: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 21

Тестовые LMK

Для технологических режимов могут быть использованы тестовые LMK.

Тип LMK задается при генерации LMK (консольная команда GK), процедура

генерации LMK описана в документе «ViPNet HSM PS. Руководство

администратора».

Таблица 3 представляет значения тестовых LMK-DES.

Таблица 3 – Тестовые LMK-DES

LMK Значение LMK Значение

00 01 01 01 01 01 01 01 01 01 79 02 CD 1F D3 6E F8 BA

02 20 20 20 20 20 20 20 20 03 31 31 31 31 31 31 31 31

04 40 40 40 40 40 40 40 40 05 51 51 51 51 51 51 51 51

06 61 61 61 61 61 61 61 61 07 70 70 70 70 70 70 70 70

08 80 80 80 80 80 80 80 80 09 91 91 91 91 91 91 91 91

10 A1 A1 A1 A1 A1 A1 A1 A1 11 B0 B0 B0 B0 B0 B0 B0 B0

12 C1 C1 01 01 01 01 01 01 13 D0 D0 01 01 01 01 01 01

14 E0 E0 01 01 01 01 01 01 15 F1 F1 01 01 01 01 01 01

16 1C 58 7F 1C 13 92 4F EF 17 01 01 01 01 01 01 01 01

18 01 01 01 01 01 01 01 01 19 01 01 01 01 01 01 01 01

20 02 02 02 02 02 02 02 02 21 04 04 04 04 04 04 04 04

22 07 07 07 07 07 07 07 07 23 10 10 10 10 10 10 10 10

24 13 13 13 13 13 13 13 13 25 15 15 15 15 15 15 15 15

26 16 16 16 16 16 16 16 16 27 19 19 19 19 19 19 19 19

28 1A 1A 1A 1A 1A 1A 1A 1A 29 1C 1C 1C 1C 1C 1C 1C 1C

30 23 23 23 23 23 23 23 23 31 25 25 25 25 25 25 25 25

32 26 26 26 26 26 26 26 26 33 29 29 29 29 29 29 29 29

34 2A 2A 2A 2A 2A 2A 2A 2A 35 2C 2C 2C 2C 2C 2C 2C 2C

36 2F 2F 2F 2F 2F 2F 2F 2F 37 31 31 31 31 31 31 31 31

38 01 01 01 01 01 01 01 01 39 01 01 01 01 01 01 01 01

Таблица 4 содержит значения тестовых LMK-ГОСТ.

Page 22: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 22

Таблица 4 – Тестовые LMK-ГОСТ LMK Значение

0001 01 01 01 01 01 01 01 01 79 02 CD IF D3 6E F8 BA

01 01 01 01 01 01 01 01 79 02 CD IF D3 6E F8 BA

0203 20 20 20 20 20 20 20 20 31 31 31 31 31 31 31 31

20 20 20 20 20 20 20 20 31 31 31 31 31 31 31 31

0405 40 40 40 40 40 40 40 40 51 51 51 51 51 51 51 51

40 40 40 40 40 40 40 40 51 51 51 51 51 51 51 51

0607 61 61 61 61 61 61 61 61 70 70 70 70 70 70 70 70

61 61 61 61 61 61 61 61 70 70 70 70 70 70 70 70

0809 80 80 80 80 80 80 80 80 91 91 91 91 91 91 91 91

80 80 80 80 80 80 80 80 91 91 91 91 91 91 91 91

1011 A1 A1 A1 A1 A1 A1 A1 A1 B0 B0 B0 B0 B0 B0 B0 B0

A1 A1 A1 A1 A1 A1 A1 A1 B0 B0 B0 B0 B0 B0 B0 B0

1213 C1 C1 01 01 01 01 01 01 D0 D0 01 01 01 01 01 01

C1 C1 01 01 01 01 01 01 D0 D0 01 01 01 01 01 01

1415 E0 E0 01 01 01 01 01 01 F1 F1 01 01 01 01 01 01

E0 E0 01 01 01 01 01 01 F1 F1 01 01 01 01 01 01

1617 1C 58 7F 1C 13 92 4F EF 01 01 01 01 01 01 01 01

1C 58 7F 1C 13 92 4F EF 01 01 01 01 01 01 01 01

1819 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

2021 02 02 02 02 02 02 02 02 04 04 04 04 04 04 04 04

02 02 02 02 02 02 02 02 04 04 04 04 04 04 04 04

2223 07 07 07 07 07 07 07 07 10 10 10 10 10 10 10 10

07 07 07 07 07 07 07 07 10 10 10 10 10 10 10 10

2425 13 13 13 13 13 13 13 13 15 15 15 15 15 15 15 15

13 13 13 13 13 13 13 13 15 15 15 15 15 15 15 15

2627 16 16 16 16 16 16 16 16 19 19 19 19 19 19 19 19

16 16 16 16 16 16 16 16 19 19 19 19 19 19 19 19

2829 1A 1A 1A 1A 1A 1A 1A 1A 1C 1C 1C 1C 1C 1C 1C 1C

1A 1A 1A 1A 1A 1A 1A 1A 1C 1C 1C 1C 1C 1C 1C 1C

Page 23: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 23

LMK Значение

3031 23 23 23 23 23 23 23 23 25 25 25 25 25 25 25 25

23 23 23 23 23 23 23 23 25 25 25 25 25 25 25 25

3233 26 26 26 26 26 26 26 26 29 29 29 29 29 29 29 29

26 26 26 26 26 26 26 26 29 29 29 29 29 29 29 29

3435 2A 2A 2A 2A 2A 2A 2A 2A 2C 2C 2C 2C 2C 2C 2C 2C

2A 2A 2A 2A 2A 2A 2A 2A 2C 2C 2C 2C 2C 2C 2C 2C

3637 2F 2F 2F 2F 2F 2F 2F 2F 31 31 31 31 31 31 31 31

2F 2F 2F 2F 2F 2F 2F 2F 31 31 31 31 31 31 31 31

3839 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

Таблица 5 представляет тестовые значения для всех LMK-DES Keyblock.

Таблица 5 – Тестовые LMK-DES Keyblock

LMK 01 23 45 67 89 AB CD EF 80 80 80 80 80 80 80 80

FE DC BA 98 76 54 32 10

Таблица 6 представляет тестовые значения для всех LMK-AES Keyblock.

Таблица 6 – Тестовые LMK-AES Keyblock

LMK 9B 71 33 3A 13 F9 FA E7 2F 9D 0E 2D AB 4A D6 78

47 18 01 2F 92 44 03 3F 3F 26 A2 DE 0C 8A A1 1A

Варианты LMK

При шифровании ключей под LMK-DES используются «варианты»

LMK (от 0 до 9). Под «вариантом» понимаются диверсифицированные в

соответствии с номером «варианта» ключи LMK-DES.

Page 24: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 24

Коды типов ключей

Ключам, шифруемым под LMK-DES, присваивается трехзначный код

типа ключа, определяющий пару (ключ) LMK-DES, под которую шифруется

ключ, а также «вариант» ключа шифрования.

Таблица 7 содержит различные типы симметричных ключей.

Таблица 7 – Типы симметричных ключей

Тип

ключа

Код

типа

ключа

Имя ключа

ZMK 000 Zone Master Key

KML 200 Master Load Key

ZPK 001 Zone PIN encryption

PVK 002 PIN Verification Key

TMK 002 Terminal Master Key

TPK 002 Terminal PIN Key

GK 102 Key Encryption / Wrapping Key (Generic)

GK 202 Key Encryption / Wrapping Key (Generic)

IKEY 302 Initial Key (DUKPT)

CVK 402 Card Verification Key

CSCK 402 Card Security Code Key

GK 502 Key Encryption / Wrapping Key (Generic)

GK 602 Key Encryption / Wrapping Key (Generic)

GK 72 Key Encryption / Wrapping Key (Generic)

GK 802 Key Encryption / Wrapping Key (Generic)

GK 902 Key Encryption / Wrapping Key (Generic)

TAK 003 Terminal Authentication Key

GK 004 Key Encryption / Wrapping Key (Generic)

GK 005 Key Encryption / Wrapping Key (Generic)

WWK 006 Watchword Key

KEK 107 Key Encryption Key

KMC 207 Master Personalization Key

SK-ENC 307 Session Key for cryptograms and encrypting card

messages

SK-MAC 407 Session Key for authenticating card messages

SK-DEK 507 Session Key for encrypting secret card data

KD-

PERSO

507 KD Personalization Key

ZAK 008 Zone Authentication Key

Page 25: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 25

Тип

ключа

Код

типа

ключа

Имя ключа

BDK 009 Base Derivation Key Type 1

IMK-AC 109 EMV Key, Master Key for AC generation

IMK-SMI 209 EMV Key, Master Key for Secure Messaging for Integrity

and Authentication

IMK-SMC 309 EMV Key, Master Key for Secure Messaging for

Confidentiality

IMK-DAC 409 EMV Key, Master Key for Data Authentication Code

Generation

IMK-DN 509 EMV Key, Master Key for ICC Dynamic Number

Generation

BDK2 609 Base Derivation Key Type 2

IMK-CVC3 709 DCVV Master Key

BDK3 809 Base Derivation Key Type 3

ZEK 00A Zone Encryption Key

DEK 00B Data Encryption Key

TEK 30B Terminal Encryption Key

RSA-SK 00C RSA Private Key

HMAC 10C HMAC Key

RSA-PK 00D RSA Public Key

GK 00E Key Encryption / Wrapping Key (Generic)

Page 26: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 26

Таблица 8 представляет типы ключей и соответствующие пары и

варианты LMK.

Таблица 8 – Типы ключей и соответствующие LMK-DES

Вариант

0 1 2 3 4 5 6 7 8 9

↓ LMK ↓ Г Э И Г Э И Г Э И Г Э И Г Э И Г Э И Г Э И Г Э И Г Э И Г Э И

Пара Код

04-05 00 ZMK KML

А Н А Н Н А Н

06-07 01 ZPK

Н А Н

14-15 02 PVK

TPK

TMK

IKEY CSCK

CVK

Н А Н Н А Н Н А Н

16-17 03 TAK

Н А Н

18-19 04

20-21 05 KML

Н А Н

22-23 06 WWK

Н А Н

24-25 07 KEK KMC SK-ENC SK-MAC SK-DEK

KD-PERSO

Н А Н Н А Н

26-27 08 ZAK

Н А Н

28-29 09 BDK IMK-AC IMK-SMI IMK-SMC IMK-DAC IMK-DN BDK2 IMK-CVC3 BDK3

Н А Н Н А Н Н А Н Н А Н Н А Н Н А Н Н А Н Н А Н Н А Н

30-31 0A ZEK

Н А Н

32-33 0B DEK TEK

Н Н А

34-35 0C RSA-SK HMAC

А Н А Н

36-37 0D RSA-PK

А А

38-39 0E

Где:

Г=Генерация;

Э=Экспорт;

И=Импорт;

А – Авторизация требуется;

Н – Авторизация не требуется.

Page 27: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 27

Ключевая схема

Таблица 9 содержит допустимые значения параметра «Ключевая схема».

Таблица 9 – Значения параметра «Ключевая схема»

Значение

параметра

Описание

(Нет)/Z Шифрование DES-ключа одинарной длины, используя

методы ANSI X9.17. Используется для шифрования

ключей под варианты LMK, а также может быть

использован для импорта или экспорта ключей

U Шифрование ключа DES двойной длины, используя

метод варианта; используется для шифрования ключей

под вариант LMK.

T Шифрование ключа DES тройной длины, используя

метод варианта; используется для шифрования ключей

под вариант LMK.

X Шифрование ключа двойной длины, используя методы

ANSI X9.17; разрешено для шифрования выходных

данных в хостовых командах KI, K8 и консольных

командах IK, KE.

Y Шифрование ключа тройной длины, используя методы

ANSI X9.17; разрешено для шифрования выходных

данных в хостовых командах KI, K8 и консольных

командах IK, KE.

R Шифрование DES ключей с одиночной, двойной и

тройной длины, а также AES ключей 128-, 192- и 256-

битовой длины методом Keyblock X9 TR-31

S Шифрование DES ключей с одиночной, двойной и

тройной длины, а также AES ключей 128-, 192- и 256-

битовой длины методом Keyblock HSM

Параметр «Ключевая схема» указывается во входных и/или выходных

данных команды непосредственно перед шифрограммой ключа.

Формат поля: 1 A + n H

Page 28: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 28

Метод ANSI X9.17

Каждая часть (64 бита) DES-ключа двойной или тройной длины

шифруется отдельно с использованием режима ECB. Эта схема доступна только

для команд экспорта и импорта ключей при условии установленного флага

«Разрешить экспорт ANSI X9.17» в консольном режиме «Настройки» [1].

Параметры этой схемы:

X – для DES-ключа двойной длины

Y – для DES-ключа тройной длины

Вариантный метод

Каждая часть (64 бита) DES-ключа двойной или тройной длины

шифруется отдельно с использованием режима ECB. Для второй или третьей

части (в зависимости от длины ключа: двойной или тройной) применяется свой

вариант шифрования. Существует пять вариантов шифрования каждого ключа.

Эта схема применима для шифрования ключей под LMK и для экспорта и

импорта ключей.

LMK-DES представляют собой ключи двойной длины, состоящие из

левой и правой половины. Каждая половина состоит из 16 шестнадцатеричных

символов. Другие ключи, такие как ZMK, могут иметь двойную или тройную

длину. Ключи тройной длины состоят из трех частей: левой, средней и правой.

Каждая часть состоит из 16 шестнадцатеричных символов. Вариант

применяется к правой части двойного ключа и к средней части тройного ключа.

Параметры этой схемы:

U – для DES-ключа двойной длины

T – для DES-ключа тройной длины

Варианты для ключей двойной длины:

Ключ 1 (левая часть) из 2 – A6

Ключ 2 (правая часть) из 2 – 5A

Page 29: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 29

Варианты для ключей тройной длины:

Ключ 1 (левая часть) из 3 – 6A

Ключ 2 (средняя часть) из 3 – DE

Ключ 3 (правая часть) из 3 – 2B

Пример 1:

Ключ шифрования ключа двойной длины:

XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY

Ключ двойной длины:

AAAA AAAA AAAA AAAA BBBB BBBB BBBB BBBB

− Вариант A6 применяется к первым двум шестнадцатеричным

символам Y для шифрования A;

− Вариант 5A применяется к первым двум шестнадцатеричным

символам Y для шифрования B.

Пример 2:

Ключ шифрования ключа двойной длины:

XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY

Ключ тройной длины:

AAAA AAAA AAAA AAAA BBBB BBBB BBBB BBBB CCCC CCCC CCCC CCCC

− Вариант 6A применяется к первым двум шестнадцатеричным

символам Y для шифрования A;

− Вариант DE применяется к первым двум шестнадцатеричным

символам Y для шифрования B;

− Вариант 2B применяется к первым двум шестнадцатеричным

символам Y для шифрования С.

Применение варианта состоит в сложении по «исключающему ИЛИ»

(XOR) первых двух символов Y и варианта.

Шифрование ключей с использованием формата ключевого блока

Таблица 10 представляет формат ключевого блока (Keyblock HSM и

Keyblock X9 TR-31).

Page 30: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 30

Таблица 10 – Формат ключевого блока

Тэг (ключевая

схема)

Заголовок Опциональные

блоки

заголовка

Зашифрован-

ные ключевые

данные

Данные

аутентифика-

ции

ключевого

блока

1 байт 16 ASCII

символов

ASCII символы,

переменной длины

В представлении

ASCII

16 ASCII

Символов

Тэг не включается в данные аутентификации. Для хранения ключей в

хост-системе под LMK-DES Keyblock или LMK-AES Keyblock используется

формат Keyblock HSM (тэг "S"). Экспортируемые ключи передаются в хост-

систему в формате Keyblock X9 TR-31; для таких ключей предназначен тэг "R".

При использовании LMK-DES Keyblock ключевые данные шифруется с

использованием 3-DES Cipher Block Chaining (CBC), используя байты 0-7

заголовка в качестве вектора инициализации (IV). Ключ шифрования будет

вариантом LMK-DES.

При использовании LMK-AES Keyblock ключевые данные

зашифровываются в соответствии с ASC X9 TR 31-2018.

Таблица 11 представляет формат ключевых данных.

Таблица 11 – Формат ключевых данных

Поле Длина Примечания

Длина ключа 2 байта Содержит длину зашифровываемого

ключа в битах; длина записывается как

16-битное число; например, если длина

ключа 192 бита для 3-DES ключа, поле

будет иметь значение X’00C0.

Ключ Переменная, зависит от

зашифровываемого ключа

Содержит ключевые данные в бинарном

формате, 192-битный (тройной длины)

3-DES ключ будет занимать 24 байта

Page 31: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 31

Поле Длина Примечания

Паддинг

(дополнение)

Переменная Содержит заполнение случайным

числом, используется для дополнения

блока ключевых данных до длины,

кратной длине блока алгоритма

шифрования. Для зашифрования на AES

ключе блок ключевых данных должен

быть кратен 16 байтам, таким образом,

поле заполнения будет занимать 6, 22, 38

байт. Поле заполнения может

использоваться для маскировки

истинной длины ключа в ключевом

блоке, при необходимости.

Аутентификация ключевого блока

Данные аутентификации ключевого блока обеспечивают целостность

ключевого блока, они рассчитываются по заголовку, опциональным блокам

заголовка и ключевым данным.

При использовании LMK-DES Keyblock данные аутентификации

ключевого блока вычисляются с использованием 3-DES CBC-MAC с нулевым

значением IV. (Не требуется заполнение, поскольку данные, подлежащие

аутентификации, всегда кратно 8 байтам). Самые левые 4 байта результата

будут использоваться в качестве данных аутентификации.

При использовании LMK-AES Keyblock данные аутентификации

вычисляются в соответствии с ASC X9 TR 31-2018.

Заголовок ключевого блока

Таблица 12 представляет формат байта заголовка ключевого блока

Keyblock HSM длиной 16 (ASCII).

Page 32: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 32

Таблица 12 – Формат заголовка ключевого блока

Байты Поле Примечание

0 ID Версии «0» для ключевого блока LMK-DES Keyblock

«D» для ключевого блока LMK-AES Keyblock

«D» для ключевого блока LMK-AES Keyblock

1 — 4 Длина ключевого блока Полная длина ключевого блока

5 — 6 Назначение Например, для шифрования ключа, для

шифрования данных

7 Алгоритм Например, DES, 3-DES, AES

8 Режим использования Например, только зашифрование

9 — 10 Номер версии ключа Например, версия ключа или признак

компоненты ключа

11 Экспортируемость Например, экспортируемость под доверенным

ключом

12 — 13 Количество

опциональных блоков

Количество опциональных блоков

14 — 15 «00» Обнуление

Длина ключевого блока (байт 1-4)

Байты 1-4 заголовка содержат длину всего ключевого блока: заголовок,

опциональные блоки заголовка, зашифрованные ключевые данные и данные

аутентификации. Длина ключевого блока расчитывается после закодирования

и представляет собой 4 цифры (ASCII). Например, если полная длина

ключевого блока 112 символов (байт), то значение в байте 1 - «0», в байте 2 и 3

- «1», и значение в байте 4 - «2» (т.е. X’30313132).

Назначение ключей - Key Usage (байт 5-6)

Байты 5-6 заголовка определяют исходное назначение ключа (Key

Usage), содержащегося в ключевом блоке. Таблица 13 определяет

поддерживаемые коды и обозначения «Key block HSM» поля «Назначение

ключей» для схем «S» и «R».

Page 33: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 33

Таблица 13 - Значения поля «Назначение ключей»

Значение

поля

«Назначение

ключа»

(Key Usage)

HEX TR-31 Тип/

Алгоритм Описание

01 X’3031 DES, 3DES Watchword Key (WWK)

02 X’3032 RSA RSA Public Key (RSA-PK)

03 X’3033 RSA RSA Private Key (RSA-

SK)

B0 X’4230 B0 3DES Base Derivation Key Type

1 (BDK)

41 X’3431 B0 3DES Base Derivation Key Type

2 (BDK2)

42 X’3432 B0 3DES Base Derivation Key Type

3 (BDK3)

B1 X’4231 B1 DES, 3DES DUKPT Initial Key (IKEY)

C0 X’4330 C0 DES, 3DES Card Verification Key

(CVK)

11 X’3131 C0 DES, 3DES Card Security Code Key

(American Express CSC)

12 X’3132 C0 DES, 3DES Card Security Code Key

(Mastercard CVC)

13 X’3133 C0 DES, 3DES Card Security Code Key

(Visa CVV)

D0 X’4430 D0 AES, DES,

3DES

Data Encription Key

(Generic)

21 X’3231 D0 AES, DES,

3DES

Data Encription Key

(DEK)

22 X’3232 D0 AES, DES,

3DES Data Encription Key (ZEK)

23 X’3233 D0 AES, DES,

3DES Data Encription Key (TEK)

E0 X’4530 E0 DES, 3DES EMV Key, Master Key for

AC generation (IMK-AC)

E1 X’4531 E1 DES, 3DES

EMV Key, Master Key for

Secure Messaging for

Confidentiality

(IMK-SMC)

Page 34: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 34

Значение

поля

«Назначение

ключа»

(Key Usage)

HEX TR-31 Тип/

Алгоритм Описание

E2 X’4532 E2 DES, 3DES

EMV Key, Master Key for

Secure Messaging for

Integrity and

Authentication (IMK-SMI)

E3 X’4533 E3 DES, 3DES

EMV Key, Master Key for

Data Authentication Code

Generation (IMK-DAC)

E4 X’4534 E4 DES, 3DES

EMV Key, Master Key for

ICC Dynamic Number

Generation (IMK-DN)

E5 X’4535 E5 DES, 3DES EMV/Chip card Master

Key: Card Personalisation

E6 X’4536 E6 DES, 3DES EMV Key (Other)

31 X’3331 E6 DES, 3DES Master Load Key

32 X’3332 E6 DES, 3DES DCVV Master Key (IMK-

CVC3)

I0 X’4930 I0 - Initialization Value

(Вектор инициализации)

K0 X’4B30 K0 AES, DES,

3DES

Key Encryption / Wrapping

Key (Generic)

51 X’3531 K0 DES, TDES TMK — терминальный

мастер-ключ

52 X’3533 K0 DES, TDES ZMK — зональный

мастер-ключ

M1 X’4D31 M1 DES

ISO 9797-1 MAC

algorithm 1

M3 X’4D33 M3 3DES

ISO 9797-1 MAC

algorithm 3

M5 X’4D33 M5 AES AES CBC MAC

M6 X’4D33 M6 AES AES CMAC

61 X’3631 HMAC

HMAC Key (с

использованием SHA-1)

Page 35: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 35

Значение

поля

«Назначение

ключа»

(Key Usage)

HEX TR-31 Тип/

Алгоритм Описание

63 X’3633 HMAC

HMAC Key (с

использованием SHA-

256)

P0 X’5030 P0 DES, 3DES PIN Encryption Key

(Generic)

71 X’3731 P0 DES, 3DES Terminal PIN Key (TPK)

72 X’3732 P0 DES, TDES Zone PIN encryption

(ZPK)

V0 X’5630 V0 DES, 3DES PIN Verification Key

(PVK)

V1 X’5631 V1 DES, 3DES PIN Verification Key (IBM

3624 algorithm)

V2 X’5632 V2 DES, 3DES PIN Verification Key (Visa

PVV algorithm)

Алгоритм – Algorithm (байт 7)

Байт 7 заголовка определяет криптографичекий алгоритм (Algorithm),

который используется для зашифрования ключа в ключевом блоке. Ошибка!

Источник ссылки не найден. содержит поддерживаемые значения поля

«Алгоритм»

Таблица 14 - Значения поля «Алгоритм»

Значение HEX Алгоритм

“A” X’41 AES

“D” X’44 DES

“T” X’54 3-DES

“H” X’48 HMAC

“R” X’52 RSA

Page 36: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 36

Режим использования – Mode of Use (байт 8)

Байт 8 заголовка определяет операции, которые может реализовывать

зашифрованный ключ. Таблица 15 содержит поддерживаемые значения поля

«Режим использования»

Таблица 15 - Значения поля «Режим использования» (Mode of Use)

Значение HEX Описание

“B” X’42 Ключ может быть использован для операций

зашифрования и расшифрования

“C” X’43 Ключ может быть использован для операций

вычисления MAC (генерации и проверки)

“D” X’44 Ключ может быть использован только для операции

расшифрования

“E” X’45 Ключ может быть использован только для операции

зашифрования

“G” X’47 Ключ может быть использован только для операции

генерации MAC

“N” X’4E Нет специального режима использования

“S” X’53 Ключ может быть использован только для операции

формирования цифровой подписи

“V” X’56 Ключ может быть использован только для операции

проверки цифровой подписи

“X” X’58 Ключ может быть использован для формирования

нового ключа (диверсификации)

Номер версии ключа –Key Version Number (байты 9-10)

Байты 9-10 заголовка определяют номер версии ключа или номер

компоненты ключа. Таблица 16 содержит поддерживаемые значения поля

«Номер версии ключа»

Page 37: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 37

Таблица 16 - Значения поля «Номер версии ключа»

Значение HEX Номер версии ключа

(байт 9) (байт 10)

“0” “0” X’3030 Поле не используется

“c” Любой

16-

ричный

X’6300 “c” в 9 байте указывает, что это компонента ключа.

10 байт – номер компоненты

Любая комбинация

16-ричных символов

Номер версии ключа или компоненты

Примечание - если байт 9 установлен в значение "c", то байт 10 обозначает

номер компоненты. Например, если байт 9-10 = "c2" (X’6332) означает, что

ключ в ключевом блоке — вторая компонента ключа. Однако, это не дает

информации об общем количестве компонент.

Экспортируемость – Exportability (байт 11)

Байт 11 заголовка определяет условия, при которых может быть

экспортирован ключ, содержащийся в ключевом блоке.

Доверенными форматами считаются Keyblock HSM и Keyblock X9

TR-31. Другие форматы ключа считаются недоверенными. Таблица 17

содержит поддерживаемые значения поля «Экспортируемость».

Таблица 17 - Значения поля «Экспортируемость»

Значение HEX Описание

“E” X’45 Может быть экспортирован в доверенный формат

ключевого блока, при условии, что ключ экспорта

также упакован в доверенном формате

“N” X’4E Экспорт не разрешен

При экспорте ключа в формате Keyblock HSM и Keyblock X9 TR-31,

байт 11 в экспортируемом ключевом блоке определяет допустимые свойства

экспортируемости зашифрованного ключа.

Page 38: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 38

Таким образом, если полученный байт 11 имеет значение "E", то в

дальнейшем "доверенный" экспорт допускается, если "N", то дальнейший

экспорт не допускается.

Количество опциональных блоков (байт 12-13)

Байты 12-13 заголовка определяют количество опциональных блоков

заголовка в ключевом блоке. Значение "00" (X’3030) определяет отсутствие

опциональных блоков.

Опциональные блоки заголовка

Количество опциональных блоков определяется одноименным полем

заголовка (байты 12-13). Максимальное количество опциональных блоков в

заголовке ключевого блока – 9. Максимальная длина опционального блока

заголовка – 251 символ.

Опциональный блок имеет следующую структуру:

Байты Поле Описание

0-1 Идентификатор Идентификатор опционального блока заголовка

2-3 Длина Длина опционального блока заголовка в байтах,

представленная в виде шестнадцаритичного

значения в ASCII-кодировке. Например, если длина

равна 24 (десятичная), то это представляется как X'18

и кодируется как X'3138; если дополнительный блок

заголовка не содержит данных, то поле длины

содержит значение X'04 (кодируется как X'3034).

4-n Данные Данные опционального блока заголовка

Общая длина всех опциональных блоков заголовка должна быть кратной

длине блока шифрования (8 байтов в случае 3-DES), которая достигается (если

необходимо) путем включения блока заполнения (padding), который должен

быть последним опциональным блоком заголовка. Таблица 18 содержит

описание идентификаторов для допустимых титов опциональных блоков.

Page 39: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 39

Таблица 18 – Типы опциональных блоков заголовка

Идентификатор HEX Имя поля Описание

‘CT’ X’4354 Сертификат

открытого ключа

Если ключевой блок содержит

ассиметричный секретный ключ,

то вместе с ним в качестве

опционального блока может

быть добавлен соответствующий

сертификат открытого ключа в

видк бинарного объекта

(подробнее в ASC X9 TR 31-

2018)

‘HM’ X’484D Алгоритм Хэш-

функции для

HMAC

Например:

‘10’ – SHA-1

‘21’ – SHA-256

‘KC’ X’4B43 Проверочная

величина ключа

Проверочная величина ключа,

зашифрованного в формате

ключевого блока

‘KP’ X’4B50 Проверочная

величина ключа

защиты

Проверочная величина ключа

защиты ключевого блока

‘KS’ X’4B53 Идентификатор

набора ключей

Опционально может

использоваться для

идентификации ключа в системе

‘KV’ X’4B56 Версия ключевого

блока

Используется для определения

версии набора значений полей

keyblock и того, что ключевой

блок содержит предварительные

значения, еще не одобренные

ANSI. Это поле должно

содержать 4 печатных символа

ASCII.

‘PB’ X’5042 Блок заполнения Используется для дополнения

общей длины опциональных

блоков заголовка до кратности

длине блока шифрования; поле

данных заполняется

считываемыми (случайными)

символами ASCII; если

используется, блок заполнения

должен быть последним

дополнительным блоком

заголовка.

‘TS’ X’5453 Штамп времени Дата и время (в формате UTC)

формирования ключевого блока

Page 40: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 40

Идентификатор HEX Имя поля Описание

‘00’ X’3030 Статус ключа Допустимые значения:

«E» (Истек)

«L» (рабочий)

«P» (в режиме ожидания)

«R» (отменен)

«T» (тестовый)

‘01’ X’3031 Шифрование Алгоритм и режим,

использующиеся для

шифрования ключа в ключевом

блоке. Допустимое значение ‘00’

(текущий механизм)

‘02’ X’3032 Аутентификация Алгоритм и режим,

использующиеся для

аутентификации (контроля

целостности) в ключевом блоке.

Допустимое значение ‘00’

(текущий механизм)

‘03’ X’3033 Дата/время начала

срока действия

Дата и время, с которых

ключевой блок начинает

действовать; формат:

ГГГГ:ММ:ДД:ЧЧ

‘04’ X’3034 Дата/время

окончания срока

действия

Дата и время, с которых

ключевой блок перестает

действовать; формат:

ГГГГ:ММ:ДД:ЧЧ

‘05’ X’3034 Текст Любая комбинация печатных

символов. Нулевая длина

данного поля недопустима

Поддерживаемые криптоалгоритмы

Платежное приложение «Модуль безопасности платежных систем»

обеспечивает поддержку следующих криптографических алгоритмов и

стандартов:

− ГОСТ 28147-89;

− DES/3DES в соответствии c NIST FIPS 46-3/NIST Special Publication

800-67 и ISO/IEC 10116 (ECB, CBC);

− AES в соответствии c NIST FIPS 197;

− RSA в соответствии RFC 3447;

− SHA-1 в соответствии c RFC 3174 и NIST FIPS 180-4;

Page 41: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 41

− SHA-256 в соответствии ISO/IEC 10118-2 (Dedicated Hash Function 4) и

в NIST FIPS 180-4;

− MAC в соответствии с ISO/IEC 9797-1 (MAC Algorithm 1, 3) с

использованием DES, 3DES;

− HMAC в соответствии с ISO/IEC 9797-2 (MAC Algorithm 2) и NIST

FIPS 198-1 с использованием SHA-1.

Режимы шифрования

Шифрование по алгоритму DES (3DES) производится в режиме

Electronic Code Book (ECB), если не указано иное.

Шифрование ключей под LMK по алгоритму ГОСТ Р 34.12-2015

(«Магма») производится в режиме простой замены (ГОСТ Р 34.13-2015).

Выходной контейнер ключа, зашифрованного под LMK-ГОСТ, содержит

помимо самой шифрограммы также имитовставку за ключ под LMK-ГОСТ.

Целостность ключей

ПП осуществляет проверку целостности ключей.

Для проверки целостности DES-ключей используются биты четности.

Проверка ключей, зашифрованных под LMK-ГОСТ, выполняется по

имитовставке.

Целостность ключей в формате ключевого блока (Keyblock)

выполняется по данным аутентификации.

Обозначения, используемые в описании команд:

L Длина зашифрованного PIN. Вычисляется увеличением на 1

длины чистого PIN, задаваемой настройками (пункт меню

«Настройка» Web-интерфейса удаленного управления

платежным приложением).

m Длина заголовка сообщения. Устанавливается настройками

(пункт меню «Настройка» Web-интерфейса удаленного

управления платежным приложением).

Page 42: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 42

n Поле переменной длины

А Буквенно-цифровые символы

H Шестнадцатиричные символы ('0'...'9', 'A'...'F')

N Числовое поле ('0'...'9')

C Контрольный символ

B Бинарные данные (X'00...X'FF)

D Двоично-десятичный (BCD) символ ('0' ... '9').

Например:

32 H – означает, что длина поля 32 шестнадцатиричных символа

m A – означает, что «длина заголовка сообщения» m алфавитно-цифровых

символов

Поддержка формата ключевого контейнера

Для работы с форматом key block необходима активация лицензии

«Поддержка формата ключевого контейнера» (Support of keyblock Licence 11.1

– LIC011). LIC011 обеспечивает возможность работы с форматом key block в

LIC001, LIC002, LIC003, LIC004, LIC006-LIC009 для команд, допускающих

данную функциональность.

Page 43: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 43

4.2. Лицензии

Список лицензий

Таблица 19 содержит перечень лицензий, доступных в Платёжном

приложении «Модуль безопасности платёжных систем».

Таблица 19 - Перечень лицензий

Код Название Описание

LIC001 Лицензия «Процессинг»

(Processing Licence 01.1)

Базовая лицензия для работы с

платежным приложением.

LIC002 Лицензия «Печать PIN-конвертов»

(PIN and Key Printing Licence 02.1)

Лицензия для печати ПИН-

кодов владельцев карт и

компонентов ключей в ПИН-

конверты.

LIC003 Лицензия «Предперсонализация

карт»

(Card Data Preparation Licence 03.1)

Лицензия для подготовки

данных для персонализации

карт с магнитной полосой или

с чипом. Также включает в

себя поддержку работы с

EMV-сертификатами.

LIC004 Лицензия «Персонализация карт»

(Card Data Personalization Licence

04.1)

Лицензия для записи данных

на карты.

LIC006 Лицензия «Поддержка 3D Secure»

(Support of 3D Secure Licence 06.1)

Лицензия для реализации

процедуры аутентификации,

включая вычисление CAP,

MAC и HMAC.

LIC007 Лицензия «Поддержка China Union

Pay» (Support of China Union Pay

Licence 07.1)

Лицензия для работы с

чиповыми картами China

Union Pay.

LIC008 Лицензия «Поддержка АmExp»

Support of AmExp Licence 08.1)

Лицензия для работы с

чиповыми картами American

Express.

LIC009 Лицензия «Поддержка НСПК

«МИР» (Support of NSPK “MIR”

License 09.х)

Лицензия для работы с

чиповыми картами «МИР».

LIC011 Лицензия «Поддержка формата

ключевого контейнера»

(Support of keyblock Licence 11.1)

LIC011 не содержит

отдельного перечня команд.

Активация лицензии LIC011

обеспечивает возможность

Page 44: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 44

работы с форматом key block в

LIC001, LIC002, LIC003,

LIC004, LIC006-LIC009 для

команд, допускающих данную

функциональность.

4.3. Перечни команд

Список команд по алфавиту

Таблица 20 - Перечень команд по алфавиту20 содержит перечень

команд, реализованных Платёжным приложением «Модуль безопасности

платёжных систем», выстроенный в алфавитном порядке.

Таблица 20 - Перечень команд по алфавиту

Команда

(ответ)

Функция Страница

A0 (A1) Генерация ключа 59

A2 (A3,

AZ)

Генерация и печать компонент 324

A4 (A5) Формирование ключа из зашифрованных

компонент

66

A6 (A7) Импорт ключа 69

A8 (A9) Экспорт ключа 74

AA (AB) Перешифрование TMK, TPK или PVK из-под

«старого» LMK под «новый»

79

AC (AD) Перешифрование TAK из-под «старого» LMK под

«новый»

81

AE (AF) Перешифрование TMK, TPK или PVK из-под

LMK под другой TMK, TPK или PVK

87

AG (AH) Перешифрование TAK из-под LMK под TMK 89

BA (BB) Зашифрование чистого PIN 179

BC (BD) Проверка терминального PIN сравнением 183

BE (BF) Проверка PIN сравнением 185

BG (BH) Перешифрование PIN из-под «старого» LMK под

«новый»

187

BK (BL) Генерация PIN-offset IBM-методом (для

выбранного пользователем PIN)

188

BM (BN) Загрузка таблицы PIN для проверки «слабых» PIN 193

BU (BV) Генерация проверочной величины ключа 281

Page 45: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 45

Команда

(ответ)

Функция Страница

BW (BX) Перешифрование ключа из-под «старого» LMK

под «новый»

91

CA (CB) Перешифрование PIN из-под TPK под ZPK 195

CC (CD) Перешифрование PIN из-под одного ZPK под

другой

197

CU (CV) Генерация и проверка VISA PVV (для

пользовательского PIN)

199

CW (CX) Генерация CVV/CVC 287

CY (CZ) Проверка CVV/CVC 290

DA (DB) Проверка терминального PIN IBM-методом 204

DC (DD) Проверка терминального PIN с использованием

VISA метода

208

DE (DF) Генерация PIN-offset IBM-методом из

зашифрованного под LMK PIN

211

DG (DH) Генерация VISA PVV (PIN Verification Value) (для

PIN, зашифрованного под LMK)

215

DU (DV) Генерация и проверка PIN Offset IBM-методом

(для нового пользовательского PIN)

219

EA (EB) Проверка PIN IBM-методом 225

EC (ED) Проверка PIN-блока с использованием VISA

метода

233

EE (EF) Получение PIN IBM-методом 229

EI (EJ) Генерация пары секретный/открытый ключ RSA 144

EK (EL) Загрузка секретного ключа RSA 147

EM (EN) Перешифрование секретного ключа RSA 149

EO (EP) Импорт открытого ключа RSA 152

EQ (ER) Проверка открытого ключа RSA 156

ES (ET) Проверка сертификата и импорт открытого ключа

RSA

158

EU (EV) Пересчет MAC за открытый ключ RSA 163

EW (EX) Генерация ЦП RSA 166

EY (EZ) Проверка ЦП RSA 169

FA (FB) Перешифрование ZPK из-под ZMK под LMK 96

FC (FD) Перешифрование TMK, TPK или PVK из-под

ZMK под LMK

98

FE (FF) Перешифрование TMK, TPK или PVK из-под

LMK под ZMK

100

FI (FJ) Генерация ZEK/ZAK 102

Page 46: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 46

Команда

(ответ)

Функция Страница

FK (FL) Перешифрование ZEK/ZAK из-под ZMK под

LMK

104

FM (FN) Перешифрование ZEK/ZAK из-под LMK под

ZMK

106

FO (FP) Генерация Watchword Key 108

FQ (FR) Перешифрование Watchword Key из-под LMK под

ZMK

112

FS (FT) Перешифрование Watchword Key из-под ZMK под

LMK

110

FW (FX) Генерация VISA PVV (для выбранного

пользователем PIN)

235

GC (GD) Перешифрование ZPK из-под LMK под ZMK 114

GE (GF) Перешифрование ZMK из-под «старого» LMK

под «новый»

116

GI (GJ) Импорт ключа DES на открытом ключе RSA 171

GK (GL) Экспорт ключа DES на открытом ключе RSA 176

GM (GN) Вычисление значения Хэш-функции за блок

данных

312

HA (HB) Генерация TAK 118

HC (HD) Генерация TMK, TPK или PVK 120

HK (HL) Генерация подписи данных статической

аутентификации

341

IA (IB) Генерация ZPK 122

IC (ID) Установление защищенного соединения с

чип-картой

419

IE (IF) Подготовка защищенного сообщения для

чип-карты

424

IU (IV) Генерация RSA пары (секретный/открытый ключ)

эмитента (VISA)

343

IW (IX) Проверка самоподписанного сертификата

корневого УЦ (VISA)

346

IY (IZ) Проверка сертификата открытого ключа эмитента

(VISA)

348

JA (JB) Генерация случайного PIN 239

JC (JD) Перешифрование PIN из-под TPK под LMK 242

JE (JF) Перешифрование PIN из-под ZPK под LMK 245

JG (JH) Перешифрование PIN из-под LMK под ZPK 247

Page 47: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 47

Команда

(ответ)

Функция Страница

JM (JN) Генерация RSA пары (секретный/открытый ключ)

эмитента (MasterCard)

352

JO (JP) Проверка самоподписанного сертификата

корневого УЦ (MasterCard)

355

JQ (JR) Проверка сертификата открытого ключа эмитента

(MasterCard)

357

JS (JT) Проверка ARQC и генерация ARPC (CUP) 460

JU (JV) Генерация секретных сообщений (CUP) 464

K0 (K1) Расшифрование зашифрованных счетчиков 478

K2 (K3) Проверка Truncated Application Cryptogram

(MasterCard CAP)

433

K8 (K9) Экспорт ключа под KEK 361

KA (KB) Генерация проверочной величины ключа 293

KC (KD) Перешифрование ZPK из-под «старого» LMK под

«новый»

124

KE (KF) Генерация RSA пары (секретный/открытый ключ)

и сертификата эмитента

363

KG (KH) Проверка сертификата открытого ключа эмитента 368

KI (KJ) Генерация мастер-ключей карты 372

KK (KL) Проверка самоподписанного сертификата

корневого УЦ

375

KM (KN) Генерация подписи данных статической

аутентификации (SDA)

377

KO (KP) Генерация RSA пары (секретный/открытый ключ)

и сертификата карты

380

KQ (KR) Проверка ARQC и/или генерация ARPC (EMV

3.1.1)

253

KS (KT) Проверка Data Authentication Code (DAC) и

Dynamic Number (DN)

258

KU (KV) Генерация секретного сообщения (Secure

Message) (EMV 3.1.1)

261

KW (KX) Проверка ARQC и/или генерация ARPC (EMV

4.x)

269

KY (KZ) Генерация секретного сообщения (EMV 4.x) 274

L0 (L1) Генерация ключа для вычисления HMAC 438

LO (LP) Перешифрование таблицы децимализации 285

LQ (LR) Генерация HMAC за блок данных 442

LS (LT) Проверка HMAC за блок данных 445

Page 48: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 48

Команда

(ответ)

Функция Страница

LU (LV) Импорт ключа вычисления HMAC из-под ZMK 448

LW (LX) Экспорт ключа вычисления HMAC под ZMK 453

LY (LZ) Перешифрование ключа вычисления HMAC

из-под «старого» LMK под «новый»

456

М0 (M1) Зашифрование блока данных 295

М2 (M3) Расшифрование блока данных 300

M6 (M7) Генерация MAC 304

M8 (M9) Проверка MAC 308

MA (MB) Генерация MAC за сообщение 126

MC (MD) Проверка MAC за сообщение 127

ME (MF) Проверка и переформирование MAC 128

MG (MH) Перешифрование TAK из-под LMK под ZMK 83

MI (MJ) Перешифрование TAK из-под ZMK под LMK 85

MK (ML) Генерация MAC за бинарные данные 135

MM (MN) Проверка MAC за бинарные данные 137

MO (MP) Проверка и переформирование MAC за бинарные

данные

139

MQ (MR) Генерация MAC (MAB) за большое бинарное

сообщение

130

MS (MT) Генерация MAC (MAB) за большое сообщение 132

NC (ND) Проведение диагностики 313

NE (NF,

NZ)

Генерация ключа и печать в виде Split компонент 329

NG (NH) Расшифрование зашифрованного PIN 181

NO (NP) Cnfnec HSM 314

OA

(OB,OZ)

Печать данных 333

P0 (P1) Перешифрование блока секретных данных в

специфичном формате карты

141

PA (PB) Загрузка шаблонов печати PIN 335

PE (PF, PZ) Печать PIN 336

PM (PN) Проверка динамического CVV/CVC 316

QK (QL) Перешифрование PIN, зашифрованного под LMK,

со сменой номера счета (Account Number)

249

RW (RX) Перешифрование KEYVAL 322

RY (RZ)

режим 3

Вычисление Card Security Codes 469

Page 49: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 49

Команда

(ответ)

Функция Страница

RY (RZ)

режим 4

Проверка Card Security Codes 472

SI (SJ) Диверсификация данных для записи на карту 388

SSSM (ST) Проверка криптограммы MSTC 480

XK (XL) Зашифрование данных транзакции 390

YO (YP) Генерация случайного числа 393

YS (YT) Диверсификация ключа 394

YW (YX) Экспорт ключа под KEK 397

YY (YZ) Зашифрование данных 399

ZA (ZB) Импорт ключа под KEK 401

ZC (ZD) Расшифрование данных 403

ZE (ZF) Перешифрование PIN 251

ZK (ZL) Генерация или проверка МАС 405

ZU (ZV) Сборка сертификата открытого ключа карты

(ICC) из элементов

408

ZW (ZX) Генерация ключевой пары карты (ICC) 411

ZY (ZZ) Генерация производных ключей карты 415

Перечень команд по функционалу

Таблица 21 содержит перечень команд, реализованных Платёжным

приложением «Модуль безопасности платёжных систем», выстроенный по

функциональному признаку.

Таблица 21 – Перечень команд по функционалу

Функция Команда

(ответ)

Страница

Команды управления симметричными ключами

Генерация ключа A0 (A1) 59

Генерация и печать компонент A2 (A3, AZ) 324

Генерация ключа и печать в виде Split

компонент

NE (NF, NZ) 329

Печать данных OA (OB,OZ) 333

Формирование ключа из зашифрованных

компонент

A4 (A5) 66

Импорт ключа A6 (A7) 69

Экспорт ключа A8 (A9) 74

Page 50: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 50

Функция Команда

(ответ)

Страница

Генерация TMK, TPK или PVK HC (HD) 120

Генерация TAK HA (HB) 118

Перешифрование TMK, TPK или PVK из-под

LMK под другой TMK, TPK или PVK

AE (AF) 87

Перешифрование TAK из-под LMK под TMK AG (AH) 89

Перешифрование ZPK из-под ZMK под LMK FA (FB) 96

Перешифрование TMK, TPK или PVK из-под

ZMK под LMK

FC (FD) 98

Перешифрование TMK, TPK или PVK из-под

LMK под ZMK

FE (FF) 100

Генерация ZEK/ZAK FI (FJ) 102

Перешифрование ZEK/ZAK из-под ZMK под

LMK

FK (FL) 104

Перешифрование ZEK/ZAK из-под LMK под

ZMK

FM (FN) 106

Генерация Watchword Key FO (FP) 108

Перешифрование Watchword Key из-под LMK

под ZMK

FQ (FR) 112

Перешифрование Watchword Key из-под ZMK

под LMK

FS (FT) 110

Перешифрование ZPK из-под LMK под ZMK GC (GD) 114

Генерация ZPK IA (IB) 122

Перешифрование TAK из-под LMK под ZMK MG (MH) 83

Перешифрование TAK из-под ZMK под LMK MI (MJ) 85

Перешифрование блока секретных данных в

специфичном формате карты

P0 (P1) 141

Зашифрование блока данных М0 (M1) 295

Расшифрование блока данных М2 (M3) 300

Команды генерации PIN и PIN-offset

Загрузка таблицы PIN для проверки «слабых»

PIN

BM (BN) 193

Генерация PIN-offset IBM-методом из

зашифрованного под LMK PIN

DE (DF) 211

Генерация PIN-offset IBM-методом (для

выбранного пользователем PIN) (BK)

BK (BL) 188

Генерация VISA PVV (PIN Verification Value)

(для PIN, зашифрованного под LMK)

DG (DH) 215

Page 51: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 51

Функция Команда

(ответ)

Страница

Генерация и проверка PIN Offset

IBM-методом (для нового пользовательского

PIN)

DU (DV) 219

Получение PIN IBM-методом EE (EF) 229

Генерация случайного PIN JA (JB) 239

Генерация VISA PVV (для выбранного

пользователем PIN) (FW)

FW (FX) 110

Команды проверки PIN

Проверка терминального PIN сравнением BC (BD) 183

Проверка PIN сравнением BE (BF) 185

Проверка терминального PIN IBM-методом DA (DB) 204

Проверка терминального PIN с

использованием VISA метода

DC (DD) 208

Проверка PIN IBM-методом EA (EB) 225

Проверка PIN-блока с использованием VISA

метода

EC (ED) 233

Команды обработки «чистого» PIN

Зашифрование чистого PIN BA (BB) 179

Расшифрование зашифрованного PIN NG (NH) 181

Команды перешифрования PIN

Перешифрование PIN из-под TPK под ZPK CA (CB) 195

Перешифрование PIN из-под одного ZPK под

другой

CC (CD) 197

Перешифрование PIN из-под TPK под LMK JC (JD) 242

Перешифрование PIN из-под ZPK под LMK JE (JF) 245

Перешифрование PIN из-под LMK под ZPK JG (JH) 247

Перешифрование PIN, зашифрованного под

LMK, со сменой номера счета (Account

Number)

QK (QL) 249

Перешифрование PIN ZE (ZF) 251

Команды изменения PIN

Генерация и проверка VISA PVV (для

пользовательского PIN)

CU (CV) 199

Команды печати PIN

Печать PIN PE (PF, PZ) 336

Page 52: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 52

Функция Команда

(ответ)

Страница

Команды форматов печати

Загрузка шаблонов печати PIN PA (PB) 335

Команды перешифрования из-под «старого» LMK под «новый»

Перешифрование TMK, TPK или PVK из-под

«старого» LMK под «новый»

AA (AB) 79

Перешифрование TAK из-под «старого» LMK

под «новый»

AC (AD) 81

Перешифрование PIN из-под «старого» LMK

под «новый»

BG (BH) 187

Перешифрование ключа из-под «старого»

LMK под «новый»

BW (BX) 91

Перешифрование ZMK из-под «старого»

LMK под «новый»

GE (GF) 116

Перешифрование ZPK из-под «старого» LMK

под «новый»

KC (KD) 124

Перешифрование PIN, зашифрованного под

LMK, со сменой номера счета (Account

Number)

QK (QL) 249

Команды работы с CVV/CVC

Генерация CVV/CVC CW (CX) 287

Проверка CVV/CVC CY (CZ) 290

Проверка динамического CVV/CVC PM (PN) 316

Команды предперсонализации

Генерация подписи данных статической

аутентификации

HK (HL) 341

Генерация RSA пары (секретный/открытый

ключ) эмитента (VISA)

IU (IV) 343

Проверка самоподписанного сертификата

корневого УЦ (VISA)

IW (IX) 346

Проверка сертификата открытого ключа

эмитента (VISA)

IY (IZ) 348

Генерация RSA пары (секретный/открытый

ключ) эмитента (MasterCard)

JM (JN) 352

Проверка самоподписанного сертификата

корневого УЦ (MasterCard)

JO (JP) 355

Page 53: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 53

Функция Команда

(ответ)

Страница

Проверка сертификата открытого ключа

эмитента (MasterCard)

JQ (JR) 357

Экспорт ключа под KEK K8 (K9) 361

Генерация RSA пары (секретный/открытый

ключ) и сертификата эмитента

KE (KF) 363

Проверка сертификата открытого ключа

эмитента

KG (KH) 368

Генерация мастер-ключей карты KI (KJ) 372

Проверка самоподписанного сертификата

корневого УЦ

KK (KL) 375

Генерация подписи данных статической

аутентификации (SDA)

KM (KN) 377

Генерация RSA пары (секретный/открытый

ключ) и сертификата карты

KO (KP) 380

Диверсификация данных для записи на карту SI (SJ) 388

Зашифрование данных транзакции XK (XL) 390

Генерация случайного числа YO (YP) 393

Диверсификация ключа YS (YT) 394

Экспорт ключа под KEK YW (YX) 397

Зашифрование данных YY (YZ) 399

Импорт ключа под KEK ZA (ZB) 401

Расшифрование данных ZC (ZD) 403

Генерация или проверка МАС ZK (ZL) 405

Сборка сертификата открытого ключа карты

(ICC) из элементов

ZU (ZV) 408

Генерация ключевой пары карты (ICC) ZW (ZX) 411

Генерация производных ключей карты ZY (ZZ) 415

Команды персонализации

Установление защищенного соединения с

чип-картой

IC (ID) 419

Подготовка защищенного сообщения для

чип-карты

IE (IF) 424

Команды поддержки China Union Pay (CUP)

Проверка ARQC и генерация ARPC (CUP) JS (JT) 460

Генерация секретных сообщений (CUP) JU (JV) 464

Команды поддержки American Express

Page 54: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 54

Функция Команда

(ответ)

Страница

Вычисление Card Security Codes RY (RZ)

режим 3

469

Проверка Card Security Codes RY (RZ)

режим 4

472

Команды поддержки чиповых карт стандарта EMV

Проверка ARQC и/или генерация ARPC

(EMV 3.1.1)

KQ (KR) 253

Проверка Data Authentication Code (DAC) и

Dynamic Number (DN)

KS (KT) 258

Генерация секретного сообщения (Secure

Message) (EMV 3.1.1)

KU (KV) 261

Проверка ARQC и/или генерация ARPC (EMV

4.x)

KW (KX) 269

Генерация секретного сообщения (EMV 4.x) KY (KZ) 274

Команды поддержки 3-D Secure

Проверка Truncated Application Cryptogram

(MasterCard CAP)

K2 (K3) 433

Команды RSA

Генерация пары секретный/открытый ключ

RSA

EI (EJ) 144

Загрузка секретного ключа RSA EK (EL) 147

Перешифрование секретного ключа RSA EM (EN) 149

Импорт открытого ключа RSA EO (EP) 152

Проверка открытого ключа RSA EQ (ER) 156

Проверка сертификата и импорт открытого

ключа RSA

ES (ET) 158

Пересчет MAC за открытый ключ RSA EU (EV) 163

Генерация ЦП RSA EW (EX) 166

Проверка ЦП RSA EY (EZ) 169

Импорт ключа DES на открытом ключе RSA GI (GJ) 171

Экспорт ключа DES на открытом ключе RSA GK (GL) 176

Вычисление значения Хэш-функции за блок

данных

GM (GN) 312

Команды HMAC

Генерация ключа для вычисления HMAC L0 (L1) 438

Генерация HMAC за блок данных LQ (LR) 442

Page 55: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 55

Функция Команда

(ответ)

Страница

Проверка HMAC за блок данных LS (LT) 445

Импорт ключа вычисления HMAC из-под

ZMK

LU (LV) 448

Экспорт ключа вычисления HMAC под ZMK LW (LX) 453

Перешифрование ключа вычисления HMAC

из-под «старого» LMK под «новый»

LY (LZ) 456

Команды MAC

Генерация MAC M6 (M7) 304

Проверка MAC M8 (M9) 308

Генерация MAC за сообщение MA (MB) 126

Проверка MAC за сообщение MC (MD) 127

Проверка и переформирование MAC ME (MF) 128

Генерация MAC за бинарные данные MK (ML) 83

Проверка MAC за бинарные данные MM (MN) 85

Проверка и переформирование MAC за

бинарные данные

MO (MP) 135

Генерация MAC (MAB) за большое бинарное

сообщение

MQ (MR) 137

Генерация MAC (MAB) за большое

сообщение

MS (MT) 132

Разное

Генерация проверочной величины ключа BU (BV) 281

Генерация проверочной величины ключа KA (KB) 293

Перешифрование таблицы децимализации LO (LP) 442

Проведение диагностики NC (ND) 313

Перешифрование KEYVAL RW (RX) 322

Статус HSM NO (NP) 314

Поддержка платежного приложения «МИР»

Расшифрование зашифрованных счетчиков K0 (K1) 478

Поддержка мобильного приложения

Проверка криптограммы MSTC SSSM (ST) 480

Page 56: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 56

4.4. Команды лицензии «Процессинг» (Processing License – LIC001)

4.4.1. Перечень команд лицензии «Процессинг»

Таблица 22 - Перечень команд лицензии "Прецессинг" содержит

перечень команд лицензии «Процессинг» (LIC001).

Таблица 22 - Перечень команд лицензии "Прецессинг"

Команда

(ответ)

Функция

A0 (A1) Генерация ключа

A4 (A5) Формирование ключа из зашифрованных компонент

A6 (A7) Импорт ключа

A8 (A9) Экспорт ключа

AA (AB) Перешифрование TMK, TPK или PVK из-под «старого»

LMK под «новый»

AC (AD) Перешифрование TAK из-под «старого» LMK под «новый»

AE (AF) Перешифрование TMK, TPK или PVK из-под LMK под

другой TMK, TPK или PVK

AG (AH) Перешифрование TAK из-под LMK под TMK

BA (BB) Зашифрование чистого PIN

BC (BD) Проверка терминального PIN сравнением

BE (BF) Проверка PIN сравнением

BG (BH) Перешифрование PIN из-под «старого» LMK под «новый»

BK (BL) Генерация PIN-offset IBM-методом (для выбранного

пользователем PIN)

BM (BN) Загрузка таблицы PIN для проверки «слабых» PIN

BU (BV) Генерация проверочной величины ключа

BW (BX) Перешифрование ключа из-под «старого» LMK под

«новый»

CA (CB) Перешифрование PIN из-под TPK под ZPK

CC (CD) Перешифрование PIN из-под одного ZPK под другой

CU (CV) Генерация и проверка VISA PVV (для пользовательского

PIN)

CW (CX) Генерация CVV/CVC

CY (CZ) Проверка CVV/CVC

DA (DB) Проверка терминального PIN IBM-методом

DC (DD) Проверка терминального PIN с использованием VISA

метода

DE (DF) Генерация PIN-offset IBM-методом из зашифрованного под

LMK PIN

Page 57: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 57

Команда

(ответ)

Функция

DG (DH) Генерация VISA PVV (PIN Verification Value) (для PIN,

зашифрованного под LMK)

DU (DV) ГГенерация и проверка PIN Offset IBM-методом (для

нового пользовательского PIN) (DU)

EA (EB) Проверка PIN IBM-методом

EC (ED) Проверка PIN-блока с использованием VISA метода

EE (EF) Получение PIN IBM-методом

EI (EJ) Генерация пары секретный/открытый ключ RSA

EK (EL) Загрузка секретного ключа RSA

EM (EN) Перешифрование секретного ключа RSA

EO (EP) Импорт открытого ключа RSA

EQ (ER) Проверка открытого ключа RSA

ES (ET) Проверка сертификата и импорт открытого ключа RSA

EU (EV) Пересчет MAC за открытый ключ RSA

EW (EX) Генерация ЦП RSA

EY (EZ) Проверка ЦП RSA

FA (FB) Перешифрование ZPK из-под ZMK под LMK

FC (FD) Перешифрование TMK, TPK или PVK из-под ZMK под

LMK

FE (FF) Перешифрование TMK, TPK или PVK из-под LMK под

ZMK

FI (FJ) Генерация ZEK/ZAK

FK (FL) Перешифрование ZEK/ZAK из-под ZMK под LMK

FM (FN) Перешифрование ZEK/ZAK из-под LMK под ZMK

FO (FP) Генерация Watchword Key

FQ (FR) Перешифрование Watchword Key из-под LMK под ZMK

FS (FT) Перешифрование Watchword Key из-под ZMK под LMK

FW (FX) Генерация VISA PVV (для выбранного пользователем PIN)

GC (GD) Перешифрование ZPK из-под LMK под ZMK

GE (GF) Перешифрование ZMK из-под «старого» LMK под «новый»

GI (GJ) Импорт ключа DES на открытом ключе RSA

GK (GL) Экспорт ключа DES на открытом ключе RSA

GM (GN) Вычисление значения Хэш-функции за блок данных

HA (HB) Генерация TAK

HC (HD) Генерация TMK, TPK или PVK

JA (JB) Генерация случайного PIN

JC (JD) Перешифрование PIN из-под TPK под LMK

JE (JF) Перешифрование PIN из-под ZPK под LMK

Page 58: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 58

Команда

(ответ)

Функция

JG (JH) Перешифрование PIN из-под LMK под ZPK

JQ (JR) Проверка сертификата открытого ключа эмитента

(MasterCard)

K0 (K1) Расшифрование зашифрованных счетчиков

KA (KB) Генерация проверочной величины ключа

KC (KD) Перешифрование ZPK из-под «старого» LMK под «новый»

KQ (KR) Проверка ARQC и/или генерация ARPC (EMV 3.1.1)

KS (KT) Проверка Data Authentication Code (DAC) и Dynamic

Number (DN)

KU (KV) Генерация секретного сообщения (Secure Message) (EMV

3.1.1)

KW (KX) Проверка ARQC и/или генерация ARPC (EMV 4.x)

KY (KZ) Генерация секретного сообщения (EMV 4.x)

LO (LP) Перешифрование таблицы децимализации

М0 (M1) Зашифрование блока данных

М2 (M3) Расшифрование блока данных

M6 (M7) Генерация MAC

M8 (M9) Проверка MAC

MA (MB) Генерация MAC за сообщение

MC (MD) Проверка MAC за сообщение

ME (MF) Проверка и переформирование MAC

MG (MH) Перешифрование TAK из-под LMK под ZMK

MI (MJ) Перешифрование TAK из-под ZMK под LMK

MK (ML) Генерация MAC за бинарные данные

MM (MN) Проверка MAC за бинарные данные

MO (MP) Проверка и переформирование MAC за бинарные данные

MQ (MR) Генерация MAC (MAB) за большое бинарное сообщение

MS (MT) Генерация MAC (MAB) за большое сообщение

NC (ND) Проведение диагностики

NE (NF,

NZ)

Генерация ключа и печать в виде Split компонент

NG (NH) Расшифрование зашифрованного PIN

NO (NP) Статуст HSM

OA

(OB,OZ)

Печать данных (OA)

P0 (P1) Перешифрование блока секретных данных в специфичном

формате карты

RW (RX) Перешифрование KEYVAL

Page 59: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 59

4.42. Описание команд лицензии «Процессинг»

Команды управления симметричными ключами

Генерация ключа (A0)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется

(см. примечание).

Требуется, если ключ

экспортируется не под

Keyblock

(см. примечание).

Функция: Генерация случайного ключа с зашифрованием под LMK и,

опционально, под ZMK или TMK (для передачи другой стороне).

Примечания:

1) Необходимость авторизации

определяется по Таблице 8 для

конкретной операции (генерация или

экспорт) и типа ключа: А – требуется,

Н – не требуется

3) Необходимость авторизации

определяется по операции экспорта в

соответствии с таблицей:

Ключевая схема

(ZMK)

Авторизация

Нет экспорта Не требуется

‘S’ (HSM Keyblock) Не требуется

‘R’ (TR-31

Keyblock)

Не требуется

‘U’, ‘T’ (Variant) Требуется (в

соответствии с

таблицей 8)

‘Z’, ‘X’, ‘Y’ (X9.17) Требуется (в

соответствии с

таблицей 8)

2) Под TMK могут экспортироваться

только:

• 002 (TPK/TMK);

• 003 (TAK);

4) Под Keyblock TMK (Key Usage =

‘51’) могут экспортироваться только

Keyblock с Key Usage:

• ‘P0’, ‘71’ (TPK)

• ‘M1’, ‘M3’, ‘M5’, ‘M6’ (TAK)

• ‘23’ (TEK)

• ‘51’ (TMK)

Page 60: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 60

• 30B (TEK);

• 302 (IKEY).

ZMK (или TMK) Keyblock

(экспортирующий ключ) должен иметь

следующие значения полей:

Заголовок ZMK

Keyblock

Значение

Key Usage ‘K0’, ‘51’ или

‘52’

Algorithm ‘D’*, ‘T’ или

‘A’

Mode of Use ‘B’, ‘E’ или ‘N’

* Экспорт в формате Keyblock

невозможен для ключа ZMK (или TMK)

одинарной длины

5) Экспортироваться в формате Keyblock ZMK/TMK могут:

• DES-ключи двойной или тройной длины

• AES-ключи

6) Производится автоматическая проверка сформированного ключа по

таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘A0’.

Режим 1 H Режимы команды:

‘0’ : Генерация ключа;

‘1’ : Генерация ключа и

зашифрование под ZMK (или TMK).

Тип ключа 3 H Для вариантных LMK:

Тип генерируемого ключа

(см. Таблица 7 и Таблица 8)Ошибка!

Источник ссылки не найден.

Для Keyblock LMK:

Поле игнорируется. Должно быть

присвоено значение ‘FFF’

Page 61: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 61

Поле Длина и

тип

Описание

Командное сообщение

Ключевая схема (LMK) 1 A Схема шифрования ключей под LMK

(см. Таблица 9)Ошибка! Источник

ссылки не найден.

Разделитель 1 A Значение ‘;’. Опционально. Только,

если режим ‘1’. Если присутствует,

то должно быть следующее поле.

Флаг ZMK/TMK 1 N Опционально. Только, если есть

Разделитель.

‘0’ : ZMK (значение по умолчанию,

если поле отсутствует);

‘1’ : TMK.

ZMK (или TMK) Если режим = ‘1’

Zone Master Key (или Terminal Master

Key).

16 / 32 H

или

1 A + 32/48

H

Для вариантных LMK:

ZMK, зашифрованный под LMK 04-

05 или TMK, зашифрованный под

LMK 14-15 вариант 0.

или

1 A + n A

Для Keyblock LMK:

ZMK или TMK в формате Keyblock

HSM. Значения полей ключевого

блока:

Key Usage Algorithm Mode of Use

‘K0’, ‘51’

или ‘52’

‘D’, ‘T’

или ‘A’

‘B’, ‘E’ или

‘N’

Ключевая схема (ZMK или

TMK)

1 A Если режим = ‘1’

Схема шифрования ключей под ZMK

или TMK (см. Таблица 9).

Значения «R» и «S» доступны только

при активированной лицензии

«Поддержка формата ключевого

контейнера» (LIC011)

Page 62: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 62

Поле Длина и

тип

Описание

Командное сообщение

Разделитель 1 A Значение ‘#’. Требуется при

генерации Keyblock. Если

представлено, то должны быть поля,

приведенные ниже

При

мен

яет

ся т

ольк

о д

ля г

енер

аци

и и

эксп

ор

та в

фо

рм

ате

Key

blo

ck

Использование ключа

(Key Usage)

2 A Значение поля Key Usage для

включения в заголовок Keyblock. (см.

Таблица 13 типу ключа). Значение

представлено, если присутствует

поле Разделитель.

Алгоритм (Algorithm) 2 A Значения поля Algorithm для

заголовка Keyblock составляет

алгоритм (см. Таблица 14) и длина

ключа (цифра справа). Значение

представлено, если присутствует

поле Разделитель. Возможные

значения:

‘D1’ – DES ключ одинарной длины

‘T2’ – DES ключ двойной длины

‘T3' – DES ключ тройной длины

‘A1’ – 128-битный AES ключ

‘A2’ – 192-битный AES ключ

‘A3’ – 256-битный AES ключ

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock (см.

Таблица 15). Представлено, если

присутствует поле Разделитель.

Номер версии ключа

(Key Version Number)

2 N Значения поля Key Version Number

для включения в заголовок Keyblock

(см. Таблица 16). Возможные

значения от ‘00’ до ‘99’.

Представлено, если присутствует

поле Разделитель.

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок Keyblock (см.

Таблица 17). Представлено, если

присутствует поле Разделитель.

Page 63: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 63

Поле Длина и

тип

Описание

Командное сообщение

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от

‘00’ до ‘08’. Представлено, если

присутствует поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока. Допустимое значение (см.

Таблица 18), кроме ‘PB’.

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля идентификатора

и длины). Возможные значения от

X’04’ до X’FF’. Если значение X’04’,

то следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Разделитель 1 A Значение ‘&’. Представлено, только

если сгенерированный ключ должен

быть экспортирован. Если

представлено, то должно

присутствовать следующее поле

Модифицированная

экспортируемость

1 A Символ, устанавливаемый в поле

«Экспортируемость» (11 байт)

экспортируемого ключа. Значение =

‘N’ (см. Таблица 17). Представлено,

если присутствует поле Разделитель.

Разделитель

1 A Значение ‘&’. Представлено, только

если сгенерированный ключ должен

быть экспортирован. Если

представлено, то должно

присутствовать следующее поле

Использование ключа

(Key Usage)

2 A Значение поля Key Usage для

включения в заголовок Keyblock (см.

значение TR-31, Таблица 13 по типу

ключа). Значение представлено, если

присутствует поле Разделитель.

Page 64: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 64

Поле Длина и

тип

Описание

Командное сообщение П

ри

мен

яет

ся т

ольк

о д

ля г

енер

аци

и к

лю

ча

по

д V

aria

nt

LM

K с

эксп

орто

м в

фор

мат

е T

R-3

1

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock (см.

Таблица 15 по типу ключа). Значение

представлено, если присутствует

поле Разделитель.

Номер версии ключа

(Key Version Number)

2 N Значения поля Key Version Number

для включения в заголовок Keyblock.

Возможные значения от ‘00’ до ‘99’.

Представлено, если присутствует

поле Разделитель

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок Keyblock (см.

Таблица 17). Представлено, если

присутствует поле Разделитель.

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от

‘00’ до ‘02’. Представлено, если

присутствует поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока. Допустимые значения: ‘CT’,

‘HM’, ‘IK’, ‘KC’, ‘KP’, ‘KS’, ‘KV’,

‘PB’, ‘TS’. (см. Таблица 18)

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля идентификатора

и длины) для включения в заголовок

TR-31. Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок

n A Опциональный блок данных

Page 65: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 65

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘A1’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK или TMK;

98 – команда недоступна;

C0 – "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

Ключ (под LMK) 16 H

или

1 A + 32/48 H

Для вариантных LMK:

Ключ, зашифрованный под LMK в

соответствии с ключевой схемой

(см. Таблица 9).

1 A + n A Для Keyblock LMK:

Ключ, зашифрованный под Keyblock

LMK

Ключ (под ZMK или

TMK)

16 H

или

1 A + 32/48 H

Только, если режим = ‘1’

Ключ, зашифрованный под ZMK или

TMK.

или

1 A + n A

Проверочная

величина ключа

6 H Проверочная величина ключа.

Page 66: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 66

Формирование ключа из зашифрованных компонент (A4)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется

(см.

примечание)

Требуется, если

ключ

экспортируется

не под Keyblock

(см. примечание).

Функция: Формирование ключа из зашифрованных компонент.

Примечание: Производится автоматическая проверка сформированного ключа

по таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений

Код команды 2 А ‘A4’.

Число компонент 1 N Число компонент ключа от ‘2’ до

‘9’.

Тип ключа 3 H Для вариантных LMK:

Тип генерируемого ключа (см.

Таблица 7).

Для Keyblock LMK:

Это поле игнорируется, должно быть

установлено значение «FFF».

Ключевая схема (LMK) 1 A Схема шифрования ключа под

LMK (см. Таблица 9).

1 компонента ключа 16 H

или

1 A + 32/48

H

Зашифрованная компонента 1.

или

1 A + n A

… … …

Page 67: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 67

Поле Длина и тип Описание

n компонента ключа 16 H

или

1 A + 32/48 H

Зашифрованная компонента n.

или

1 A + n A

ко

мп

он

енто

в в

фор

мат

е key

blo

ck

Разделитель 1 A Значение ‘#’. Требуется при

создании Keyblock. Если

представлено, то должны быть

поля, приведенные ниже.

Номер версии ключа

(Key Version Number)

2 N Значения поля Key Version Number

для включения в заголовок

Keyblock. Возможные значения от

‘00’ до ‘99’. Представлено, если

присутствует поле Разделитель

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от

‘00’ до ‘08’. Представлено, если

присутствует поле Разделитель.

При

мен

яет

ся т

ольк

о п

ри

об

ъед

ин

ени

и

Для каждого необязательного блока должны быть указаны следующие три

поля. Если число дополнительных блоков = '00', то не должно

присутствовать ни одно из следующих трех полей.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока. Значение поля см. Таблица

18, кроме ‘PB’.

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля

идентификатора и длины).

Возможные значения от X’04’ до

X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок

данных

n A Опциональный блок данных

Page 68: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 68

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘A5’.

Код ошибки 2 А 00 – нет ошибок;

03 – недопустимое число компонент;

10 – ошибка четности компоненты;

68 – команда недоступна;

C0 – "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1

Ключ (под LMK) 16 H

или

1 A + 32/48 H

Сформированный ключ, зашифрованный

под LMK в соответствии с ключевой

схемой (см. Таблица 9)

или

1 A + n A

Проверочная

величина ключа

6 H Проверочная величина ключа.

Page 69: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 69

Импорт ключа (A6)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется

(см. примечание)

Требуется, если ключ

экспортируется не

под Keyblock

(см. примечание).

Функция: Импорт ключа, зашифрованного под ZMK.

Примечания:

1) Необходимость авторизации

определяется по Таблице 8 для

конкретной операции (импорт) и типа

ключа: А – требуется, Н – не

требуется

2) Команда не выполняет импорт

ключа ZMK

3) Необходимость авторизации определяется

по операции импорта в соответствии с

таблицей:

Ключевая схема

(ZMK)

Авторизация

‘S’ (HSM Keyblock) Не требуется

‘R’ (TR-31

Keyblock)

Не требуется

‘U’, ‘T’ (Variant) Требуется (в

соответствии с

таблицей 8)

‘Z’, ‘X’, ‘Y’ (X9.17) Требуется (в

соответствии с

таблицей 8)

4) Если импортируется ключ ZMK, то

Keyblock должен иметь следующие

значения полей:

Заголовок ZMK

Keyblock

Значение

Key Usage ‘K0’, ‘52’

Algorithm ‘D’*, ‘T’

Mode of Use ‘B’, ‘D’ или ‘N’

* Импорт в формате Keyblock невозможен

для ключа ZMK одинарной длины

5) Производится автоматическая проверка импортированного ключа по таблице

"слабых" DES-ключей. (см. Приложение 3).

Формат:

Page 70: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 70

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘A6’.

Тип ключа 3 H Для вариантных LMK:

Тип импортируемого ключа (см. Таблица 7).

Для Keyblock LMK:

Поле игнорируется, должно быть

установлено значение ‘FFF’

ZMK 16 H

или

1 A + 32/48 H

Для вариантных LMK:

Шифрограмма ZMK под LMK 04-05.

или

1 A + n A

Для Keyblock LMK:

ZMK должен соответствовать следующим

параметрам:

Key Usage Algorithm Mode of Use

‘K0’, ‘52’ ‘D’, ‘T’, ‘A’ ‘B’, ‘D’, ‘N’

Импортируемый ключ Ключ, зашифрованный под ZMK. Ключ

может быть в формате X9.17, Variant, TR-31

Keyblock или HSM Keyblock.

Форматы TR-31 Keyblock и HSM Keyblock

доступны только при активированной

лицензии «Поддержка формата ключевого

контейнера» (LIC011) .

16 H

или

1 A + 32/48 H

или

1 A + n A

Для вариантных LMK:

Ключ может быть в формате X9.17

Для Keyblock LMK: Ключ может быть в

формате X9.17, но если используется

формат TR-31 Keyblock или HSM Keyblock,

то ключ под ZMK должен иметь следующие

параметры:

Key Usage Algorithm Mode of Use

Любое

допустимое

значение

‘D’, ‘T’ или

‘A’

Любое

допустимое

значение

Page 71: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 71

Поле Длина и тип Описание

Значения определяются типом ключа

(см. Таблица 13 и Таблица 15).

Ключевая схема (LMK)

1 A Схема шифрования ключа под LMK

(см. Таблица 9).

Разделитель 1 А Значение ‘#’. Опционально. Только если

импортируемый ключ в формате TR-31.

Если представлено, то должны быть поля,

приведенные ниже

То

лько

TR

-31

Key

blo

ck Z

MK

→ K

eyb

lock

LM

K

Использование

ключа (Key Usage)

2 А Значение поля Key Usage для включения в

заголовок импортируемого Keyblock (см.

Таблица 13 по типу ключа). Значение

представлено, если присутствует поле

Разделитель.

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Возможные значения от ‘00’ до ‘06’.

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие три

поля. Если значение поля ‘Число опциональных блоков’=’00’, то следующие три

не представлены.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока.

Допустимые значения: ‘KS’, ‘KV’, ‘PB’

(см. Таблица 18)

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и длины).

Возможные значения от X’04’ до X’FF’.

Если значение X’04’, то следующее поле

не представлено.

Опциональный

блок

n A Опциональный блок данных

Разделитель 1 A Значение ‘#’. Опционально. Только если

импортируемый ключ не в формате

Keyblock. Если представлено, то должны

быть поля, приведенные ниже

Page 72: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 72

Поле Длина и тип Описание

Использование

ключа (Key Usage)

2 A Значение поля Key Usage для включения в

заголовок импортируемого Keyblock (см.

Таблица 13 по типу ключа). Значение

представлено, если присутствует поле

Разделитель.

Режим

использования

(Mode of Use)

1 A Значения поля Mode of Use для включения

в заголовок Keyblock (см. Таблица 15).

Представлено, если присутствует поле

Разделитель.

Номер версии

ключа (Key

Version Number)

2 N Значения поля Key Version Number для

включения в заголовок Keyblock.

Возможные значения6 от ‘00’ до ‘99’.

Представлено, если присутствует поле

Разделитель

То

лько

Var

ian

t Z

MK

→K

eyb

lock

LM

K

Экспортируемость

(Exportability)

1 А Значения поля Exportability для включения

в заголовок Keyblock (Возможные

значения ‘N’ или ‘S’см. Таблица 17).

Представлено, если присутствует поле

Разделитель.

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Возможные значения от ‘00’ до ‘08’.

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие три

поля. Если значение поля ‘Число опциональных блоков’=’00’, то следующие три

не представлены.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока (см.

Таблица 18, любое допустимое значение,

кроме ‘PB’)

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и длины).

Возможные значения от X’04’ до X’FF’.

Если значение X’04’, то следующее поле

не представлено.

Опциональный

блок

n A Опциональный блок данных

Page 73: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 73

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘A7’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка четности ключа;

10 – ошибка четности ZMK;

98 – команда недоступна;

C0 – "слабый" DES-ключ

или стандартный код ошибки

(см. Приложение 1).

Ключ (под LMK) Импортированный ключ,

зашифрованный под LMK

16 H

или

1 A + 32/48 H

Ключ, зашифрованный под LMK в

соответствии с ключевой схемой

(см. Таблица 9).

или

1 A + n A

Ключ, зашифрованный под Keyblock

LMK

Проверочная

величина ключа

6 H Проверочная величина ключа.

Page 74: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 74

Экспорт ключа (A8)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется (см.

примечание)

Если ключ

экспортируется

не под Keyblock

(см. примечание).

Функция: Экспорт ключа с зашифрованием под ZMK или TMK.

Примечания:

1) Необходимость авторизации

определяется по Таблице 6 для

конкретной операции (экспорт) и

типа ключа: А – требуется, Н –

не требуется

2) Под TMK могут

экспортироваться только:

• 002 (TPK/TMK);

• 003 (TAK);

• 30B (TEK);

• 302 (IKEY).

3) Необходимость авторизации определяется

по операции экспорта в соответствии с

таблицей:

Ключевая схема

(ZMK)

Авторизация

‘S’(HSM Keyblock) Не требуется

‘R’ (TR-31 Keyblock) Не требуется

‘U’, ‘T’ (Variant) Требуется (в

соответствии с

таблицей 8)

‘Z’, ‘X’, ‘Y’ (X9.17) Требуется (в

соответствии с

таблицей 8)

Под Keyblock TMK (Key Usage = ‘51’) могут

экспортироваться только Keyblock с Key

Usage:

• ‘P0’, '71' (TPK)

• 'M1', 'M3', ‘M5’, ‘M6’ (TAK)

• ‘23’ (TEK)

Keyblock ZMK (или TMK) должен иметь

следующие значения полей:

Заголовок ZMK

Keyblock

Значение

Key Usage ‘K0’, ‘51’ или ‘52’

Algorithm ‘D’*, ‘T’ или ‘A’

Mode of Use ‘B’, ‘E’ или ‘N’

* Импорт в формате Keyblock невозможен для

ключа ZMK или TMK одинарной длины

Page 75: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 75

4) Для экспорта в формат Keyblock необходимо использовать 3 DES

или AES ZMK или TMK.

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘A8’.

Тип ключа 3 H Тип экспортируемого ключа

Для вариантных LMK: (см. Таблица 7).

Для Keyblock LMK: Поле игнорируется,

должно быть присвоено значение ‘FFF’

Разделитель 1 A Для вариантных LMK:

Значение ‘;’. Опционально

Флаг ZMK/TMK 1 N Опционально. Только, если

присутствует разделитель:

‘0’: ZMK (значение по умолчанию, если

поле отсутствует);

‘1’: TMK.

ZMK (TMK) 16 H

или

1 A + 32/48

H

Для вариантных LMK:

Шифрограмма ZMK под LMK 04-05

(или TMK под LMK 14-15).

или

1 A + n A

Для Keyblock LMK:

Значения полей ZMK (TMK)

следующее:

Key Usage Algorithm Mode of

Use

‘K0’, ‘51’

или ‘52’

‘D’, ‘T’

или ‘A’

‘B’, ‘D’

или ‘N’

Ключ 16 H

или

Для вариантных LMK:

Page 76: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 76

Поле Длина и

тип

Описание

1 A + 32/48

H

или

Ключ, зашифрованный под LMK (номер

LMK определяется типом ключа

(см. Таблица 7).

1 A + n A Для Keyblock LMK: значения

определяются типом ключа (Таблица 13 и

Таблица 15). ‘Ключ’ должен иметь

следующие параметры:

Key Usage Algorithm Mode of

Use

Любое

допустимое

значение

‘D’, ‘T’

или ‘A’

Любое

допустимое

значение

Ключевая схема (ZMK или

TMK)

1 A Схема шифрования ключа под ZMK или

TMK (см. Таблица 9).

Значения «R» и «S» доступны только

при активированной лицензии

«Поддержка формата ключевого

контейнера» (LIC011)

Key

blo

ck L

MK

→ K

eyb

lock

ZM

K Разделитель 1А Значение ‘&’. Опционально. Только

если ключ экспортируется в формате

Keyblock. Если представлено, то

должны быть поля, приведенные ниже

Экспортируемость

(Exportability)

1А Значения поля Exportability для

включения в заголовок Keyblock (см.

Таблица 18 - допустимое значение ‘N’).

Представлено, если присутствует поле

Разделитель.

Разделитель 1 A Значение ‘&’. Опционально. Только

если ключ экспортируется в формате

TR-31. Если представлено, то должны

быть поля, приведенные ниже

Page 77: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 77

Поле Длина и

тип

Описание

Использование ключа

(Key Usage)

2 A Значение поля Key Usage для включения

в заголовок TR-31. Любое, допустимое

TR-31, значение (см. Таблица 13 по типу

ключа). Значение представлено, если

присутствует поле Разделитель.

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок TR-31 (см.

Таблица 15. по типу ключа). Значение

представлено, если присутствует поле

Разделитель

Var

iant

LM

K →

Key

blo

ck Z

MK

(то

льк

о T

R-3

1)

Номер версии ключа

(Key Version Number)

2 N Значения поля Key Version Number для

включения в заголовок TR-31.

Возможные значения от ‘00’ до ‘99’.

Представлено, если присутствует поле

Разделитель

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок TR-31 (см.

Таблица 17). Представлено, если

присутствует поле Разделитель.

Число опциональных

блоков

2 N Число опциональных блоков TR-31.

Возможные значения от ‘00’ до ‘02’.

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального блока 2 A Идентификатор опционального блока

для включения в заголовок TR-31 (см.

Таблица 18. Допустимые значения: ‘CT’,

‘HM’, ‘IK’, ‘KC’, ‘KP’, ‘KS’, ‘KV’, ‘PB’,

‘TS’)

Длина опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и

длины). Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Page 78: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 78

Поле Длина и

тип

Описание

Опциональный блок

n A Опциональный блок данных

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘A9’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK или TMK;

11 – ошибка четности ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Ключ (под ZMK или

TMK)

16 H

или

1 A + 32/48 H

Ключ, зашифрованный под ZMK или

TMK в соответствии с ключевой схемой

(см. Таблица 9)

или

1 A + n A

Проверочная

величина ключа 6 H Проверочная величина ключа.

Page 79: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 79

Перешифрование TMK, TPK или PVK из-под «старого» LMK под

«новый» (AA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ключей TMK, TPK или PVK из-под «старого» LMK

14-15 под «новый».

Примечания: Команда может быть заменена универсальной командой BW.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘AA’.

TMK, TPK или PVK

16 H

или

1 A + 32/48 H

Шифрограмма TMK, TPK или PVK под

«старый» LMK.

Разделитель 1 A

Опционально. Если представлено, то

должны быть следующие поля. Значение

‘; ’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Ключевая схема

(LMK) 1 A

Опционально. Схема шифрования ключа

под LMK (см. Таблица 9) или ‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Page 80: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 80

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘AB’.

Код ошибки

2 А 00 – нет ошибок;

10 – ошибка четности TMK, TPK

или PVK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TMK, TPK или PVK

16 H

или

1 A + 32/48 H

TMK, TPK или PVK, перешифрованный

из-под «старого» LMK 14-15 под

«новый» в соответствии с ключевой

схемой (см. Таблица 9).

Page 81: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 81

Перешифрование TAK из-под «старого» LMK под «новый» (AC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ключа TAK из-под «старого» LMK 16-17 под

«новый».

Примечания: Команда может быть заменена универсальной командой BW.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘AC’.

TAK

16 H

или

1 A + 32/48 H

Шифрограмма TAK под «старый» LMK.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля.

Значение ‘; ’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Ключевая схема

(LMK)

1 A Опционально. Схема шифрования ключа

под LMK (см. Таблица 9) или ‘0’.

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

проверочной величины:

‘0’: 16 цифр KCV;

‘1’: 6 цифр KCV.

Page 82: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 82

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘AD’.

Код ошибки 2 А

00 – нет ошибок;

10 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TAK 16 H

или

1 A + 32/48 H

TAK, перешифрованный из-под

«старого» LMK 16-17 под «новый»).

Page 83: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 83

Перешифрование TAK из-под LMK под ZMK (МG)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование TAK из зашифрованного под LMK в

зашифрованный под ZMK. Вывод в хост полученной шифрограммы

и проверочного значения.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MG’.

ZMK

16 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

TAK

16 H

или

1 A + 32/48 H

TAK, зашифрованный под LMK 16-17.

Разделитель

1 А Опционально. Если представлен, то

должны быть представлены следующие

три поля. Значение ‘; ’.

Ключевая схема ZMK

1A Опционально. Схема шифрования

ключей под ZMK (см. Таблица 9) или '0'.

По умолчанию '0'.

Зарезервировано 1 A Опционально. Если представлено, то ‘0’.

Тип проверочной

величины ключа

(KCV)

1 A Опционально. Метод вычисления

проверочной величины ключа:

‘0’ – 16 цифр KCV (режим обратной

совместимости);

‘1’ – 6 цифр KCV.

Page 84: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 84

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MH’.

Код ошибки 2 A 00 – нет ошибок;

10 – ошибка четности ZMK;

11 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TAK 16 H

или

1 A + 32/48 H

TAK, зашифрованный под ZMK.

Проверочная

величина ключа

16 / 6 H Результат зашифрования 64 бинарных

‘0’ на TAK.

16 / 6 H в зависимости от заданной

опции.

Page 85: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 85

Перешифрование TAK из-под ZMK под LMK (МI)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование TAK из зашифрованного под ZMK в

зашифрованный под LMK. Вывод в хост полученной шифрограммы

и проверочного значения.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MI’.

ZMK 16 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

TAK 16 H

или

1 A + 32/48 H

TAK, зашифрованный под ZMK.

Разделитель 1 А Опционально. Если представлен, то

должны быть представлены следующие

три поля. Значение ‘; ’.

Зарезервировано 1A Опционально. Если представлено, то ‘0’.

Ключевая схема LMK 1 A Опционально. Схема шифрования

ключей под LMK (см. Таблица 9)

(или '0').

Тип проверочной

величины ключа

(KCV)

1 A Опционально. Метод вычисления

проверочной величины ключа:

‘0’ – 16 цифр KCV (режим обратной

совместимости);

‘1’ – 6 цифр KCV.

Page 86: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 86

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MJ’.

Код ошибки 2 A 00 – нет ошибок

10 – ошибка четности ZMK

11 – ошибка четности TAK

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TAK 16 H

или

1 A + 32/48 H

TAK, зашифрованный под LMK 16-17.

Проверочная

величина ключа

16 / 6 H Результат зашифрования 64 бинарных

‘0’ на TAK.

16 / 6 H в зависимости от заданной

опции.

Page 87: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 87

Перешифрование TMK, TPK или PVK из-под LMK под другой

TMK, TPK или PVK (AE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ключа TMK, TPK или PVK из-под LMK 14-15 под

другой TMK (TPK или PVK).

Примечания: Команда используется для замены существующего ключа с

помощью другого аналогичного ключа.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘AE’.

Текущий TMK, TPK

или PVK

16 H

или

1 A + 32/48H

Текущий TMK, TPK или PVK,

зашифрованный под LMK 14-15.

TMK, TPK или PVK

(«новый»)

16 H

или

1 A + 32/48 H

TMK, TPK или PVK («новый»),

зашифрованный под LMK 14-15.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘;’.

Ключевая схема

(TMK)

1 A Опционально. Схема шифрования ключа

под LMK (см. Таблица 9)

или ‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Зарезервировано 1 A

Зарезервировано. Если представлено,

то ‘0’.

Page 88: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 88

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘AF’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности текущего TMK,

TPK или PVK;

11 – ошибка четности TMK, TPK или

PVK («нового»);

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

«Новый» ключ,

зашифрованный под

текущий

16 H

или

1 A + 32/48 H

«Новый» ключ TMK, TPK или PVK,

зашифрованный под текущий TMK, TPK

или PVK.

Page 89: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 89

Перешифрование TAK из-под LMK под TMK (AG)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование TAK из-под LMK под TMK. Используется для

загрузки ключа в терминал

Примечания: Команда может быть заменена командой A8.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘AG’.

TMK 16 H

или

1 A + 32/48 H

TMK, зашифрованный под LMK 14-15.

TAK 16 H

или

1 A + 32/48 H

TAK, зашифрованный под LMK 16-17.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘;’.

Ключевая схема

(TMK)

1 A Опционально. Схема шифрования ключа

под TMK (см. Таблица 9) или ‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено, то

‘0’.

Зарезервировано 1 A

Зарезервировано. Если представлено, то

‘0’.

Page 90: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 90

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘AH’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности TMK;

11 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TAK 16 H

или

1 A + 32/48 H

Ключ, зашифрованный под TMK в

соответствии с ключевой схемой (см.

Таблица 9).

Page 91: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 91

Перешифрование ключа из-под «старого» LMK под «новый» (BW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001

LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование ключей из-под «старого» LMK под «новый».

Примечание: Возможно перешифрование из-под «старого» Variant LMK под

«новый» Keyblock LMK. Обратная операция невозможна.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BW’.

Код типа ключа 2 N Указывает «старый» LMK, под

который зашифрован ключ:

‘00’ : LMK 04-05;

‘01’ : LMK 06-07;

‘02’ : LMK 14-15;

‘03’ : LMK 16-17;

‘04’ : LMK 18-19;

‘05’ : LMK 20-21;

‘06’ : LMK 22-23;

‘07’ : LMK 24-25;

‘08’ : LMK 26-27;

‘09’ : LMK 28-29;

‘0A’ : LMK 30-31;

‘0B’ : LMK 32-33;

‘10’ : LMK 04-05 вариант 1;

‘42’ : LMK 14-15 вариант 4;

‘FF’ : Используется тип ключа,

определенный после разделителя.

Page 92: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 92

Поле Длина и тип Описание

Командное сообщение

или

2 H

Для «старого» Keyblock LMK:

Поле зарезервировано, должно иметь

значение ‘FF’

Флаг длины ключа 1 N Длина «старого» LMK-DES, если в

поле «Ключ» не указан параметр

«Ключевая схема»:

‘0’ : ключ DES одинарной длины;

‘1’ : ключ DES двойной длины;

‘2’ : ключ DES тройной длины.

или

1 H

Для «старого» Keyblock LMK:

Поле зарезервировано, должно иметь

значение ‘F’

Ключ Ключ, зашифрованный под «старый»

LMK.

16 / 32 H

или

1 A + 32/48 H

Для «старого» Variant LMK:

Ключ, зашифрованный под «старый»

LMK (в соответствии с кодом типа

ключа).

или

1 A + n A

Для «старого» Keyblock LMK:

Ключ, зашифрованный под «старый»

Keyblock LMK

Разделитель 1 A Опционально. Только если

представлено следующее поле.

Значение ‘; ’.

Тип ключа 3 H Для «старого» Variant LMK:

Если Код типа ключа = ‘FF’, то это 3-

символьный Тип ключа для

перешифрования (см. Таблица 7).

Для «старого» Keyblock LMK:

Поле зарезервировано, должно иметь

значение ‘FFF’

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие 3 поля.

Значение ‘; ’.

Page 93: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 93

Поле Длина и тип Описание

Командное сообщение

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Ключевая схема (LMK) 1 A Опционально. Схема шифрования

ключа под LMK (см. Таблица 9) или

‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Разделитель 1 A Значение ‘#’. Опционально. Должно

быть представлено, если ключ

перешифровывается из-под Variant

LMK под текущий Keyblock LMK.

Если представлено, то должны

присутствовать следующие поля

Только «

стар

ый

» V

aria

nt

LM

K →

«те

ку

щи

й»

Key

blo

ck L

MK

Использование

ключа (Key Usage)

2 A Значение поля Key Usage для

включения в заголовок

импортируемого Keyblock.

Представлено, если присутствует поле

Разделитель. Таблица 13 содержит

возможные значения поля по типу

ключа.

Режим

использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock.

Должно быть совместимо с типом

ключа. Представлено, если

присутствует поле Разделитель.

Таблица 15 содержит возможные

значения поля по типу ключа.

Номер версии

ключа (Key

Version Number)

2 N Значения поля Key Version Number для

включения в заголовок Keyblock.

Возможные значения6 от ‘00’ до ‘99’.

Представлено, если присутствует поле

Разделитель

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок Keyblock.

Представлено, если присутствует поле

Разделитель. Возможные значения ‘N’

или ‘S’

Page 94: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 94

Поле Длина и тип Описание

Командное сообщение

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Возможные значения от ‘00’ до ‘08’.

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока.

Любое допустимое значение, кроме

‘PB’

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и

длины). Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный

блок

n A Опциональный блок данных

Page 95: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 95

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BX’.

Код ошибки 2 А 00 – нет ошибок;

04 – недопустимый код типа ключа;

05 – недопустимый тип флага длины

ключа;

10 – ошибка четности ключа;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

Ключ Ключ, перешифрованный из-под

«старого» LMK под текущий

16 H

или

1 A + 32/48 H

Ключ, перешифрованный из-под

«старого» LMK 16-17 под «текущий».

или

1 A + n A

Keyblock LMK с ключом, зашифрованным

под текущий LMK

Page 96: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 96

Перешифрование ZPK из-под ZMK под LMK (FA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ZPK из-под ZMK под LMK. Используется для

получения ZPK от другой стороны.

Примечания: Команда может быть заменена командой A6.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FA’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

ZPK 16 H

или

1 A + 32/48 H

ZPK, зашифрованный под ZMK.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля.

Значение ‘;’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Ключевая схема

(LMK)

1 A Опционально. Схема шифрования ключа

под LMK (см. Таблица 9) или ‘0’.

Page 97: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 97

Поле Длина и тип Описание

Командное сообщение

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

проверочной величины ключа: ‘0’: 16

цифр KCV (режим обратной

совместимости)

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘FB’

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

ZPK 16 H

или

1 A + 32/48 H

Ключ, зашифрованный под LMK 06-07.

Проверочная

величина ключа

16/6 H Результат зашифрования 64 бинарных

нулей под ZPK.

в зависимости от выбранной опции.

Page 98: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 98

Перешифрование TMK, TPK или PVK из-под ZMK под LMK (FC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование TMK, TPK или PVK из-под ZMK под LMK.

Используется для получения ключей от другой стороны.

Примечания: Команда может быть заменена командой A6.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FC’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

TMK, TPK или PVK 16 H

или

1 A + 32/48 H

TMK, TPK или PVK, зашифрованный под

ZMK.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля.

Значение ‘; ’.

Зарезервировано 1 A Зарезервировано. Если представлено, то

‘0’.

Ключевая схема

(LMK)

1 A Опционально. Схема шифрования ключа

под LMK (см. Таблица 9) или ‘0’.

Page 99: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 99

Поле Длина и тип Описание

Командное сообщение

Тип проверочной

величины ключа

1 A

Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости)

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FD’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

11 - ошибка четности TMK, TPK или

PVK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TMK, TPK или PVK 16 H

или

1 A + 32/48 H

Ключ TMK, TPK или PVK,

зашифрованный под LMK 14-15.

Проверочная

величина ключа

16/6 H Результат зашифрования 64 бинарных

нулей под TMK, TPK или PVK в

зависимости от выбранной опции.

Page 100: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 100

Перешифрование TMK, TPK или PVK из-под LMK под ZMK (FE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование TMK, TPK или PVK из-под LMK под ZMK.

Используется для получения ключей от другой стороны.

Примечания: Команда может быть заменена командой A8.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FE’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

TMK, TPK или PVK 16 H

или

1 A + 32/48 H

TMK, TPK или PVK, зашифрованный

под LMK 14-15.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля.

Значение ‘; ’.

Ключевая схема

(ZMK)

1 A Опционально. Схема шифрования ключа

под ZMK (см. Таблица 9) или ‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости).

Page 101: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 101

Поле Длина и тип Описание

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FF’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

11 - ошибка четности TMK, TPK или

PVK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

TMK, TPK или PVK 16 H

или

1 A + 32/48 H

Ключ TMK, TPK или PVK,

зашифрованный под ZMK.

Проверочная

величина ключа

16/6 H Результат зашифрования 64 бинарных

нулей под TMK, TPK или PVK в

зависимости от выбранной опции.

Page 102: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 102

Генерация ZEK/ZAK (FI)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Генерация ZEK или ZAK.

Примечания:

1. Команда может быть заменена командой A0.

2. Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна

быть выполнена соответствующая консольная настройка

(пункт меню «Настройка» WEB-интерфейса удаленного

управления платежным приложением).

3. Производится автоматическая проверка сформированного ключа по

таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FI’.

Флаг 1 N Генерация ключа:

‘0’: Генерация ключа ZEK;

‘1’ : Генерация ключа ZAK.

ZMK 16 / 32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

Разделитель 1 A Опционально. Если присутствует, то

должны быть следующие 3 поля.

Значение ‘; ’.

Ключевая схема

(ZMK)

1 A Опционально. Схема шифрования

ключей под ZMK (см. Таблица 9) или

‘0’

Page 103: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 103

Поле Длина и тип Описание

Командное сообщение

Ключевая схема

(LMK)

1 A Опционально. Схема шифрования

ключей под LMK (см. Таблица 9) или

‘0’

Тип проверочной

величины ключа

1 A

Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости);

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FJ’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

98 – команда недоступна;

C0 - "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

ZEK или ZAK для

передачи

16 H

или

1 A + 32/48 H

ZEK или ZAK, зашифрованный под

ZMK (ZEK, если флаг ‘0’; ZAK, если

флаг ‘1’).

ZEK для хранения 16 H

или

1 A + 32/48 H

ZEK, зашифрованный под LMK 30-31

(только, если флаг ‘0’).

ZAK для хранения 16 H

или

1 A + 32/48 H

ZAK, зашифрованный под LMK 26-27

(только, если флаг ‘1’).

Проверочная величина

ключа

16 / 6 H Результат зашифрования 64 бинарных

нулей под ZEK или ZAK в зависимости

от выбранной опции.

Page 104: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 104

Перешифрование ZEK/ZAK из-под ZMK под LMK (FK)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ZEK или ZAK из-под ZMK под LMK.

Примечания: Команда может быть заменена командой A6.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FK’.

Флаг 1 N Перешифрование:

‘0’: ключа ZEK;

‘1’: ключа ZAK.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

ZEK/ZAK 16 H

или

1 A + 32/48 H

ZEK или ZAK, зашифрованный под

ZMK (ZEK, если флаг ‘0’; ZAK, если

флаг ‘1’).

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘; ’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Ключевая схема (LMK) 1 A Опционально. Схема шифрования ключа

под LMK (см. Таблица 9).

или ‘0’.

Page 105: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 105

Поле Длина и тип Описание

Командное сообщение

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости);

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FL’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

ZEK 16 H

или

1 A + 32/48 H

ZEK, зашифрованный под LMK 30-31

(только, если флаг ‘0’).

ZAK 16 H

или

1 A + 32/48 H

ZAK, зашифрованный под LMK 26-27

(только, если флаг ‘1’).

Проверочная величина

ключа

16/6 H Результат зашифрования 64 бинарных

нулей под ZEK или ZAK в зависимости

от выбранной опции.

Page 106: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 106

Перешифрование ZEK/ZAK из-под LMK под ZMK (FM)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ZEK или ZAK из-под LMK под ZMK.

Примечания: Команда может быть заменена командой A8.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FM’.

Флаг 1 N Перешифрование:

‘0’: ключа ZEK;

‘1’: ключа ZAK.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

ZEK 16 H

или

1 A + 32/48 H

ZEK, зашифрованный под LMK 30-31

(только, если флаг ‘0’).

ZAK 16 H

или

1 A + 32/48 H

ZAK, зашифрованный под LMK 26-27

(только, если флаг ‘1’).

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘; ’.

Ключевая схема (ZMK) 1 A Опционально. Схема шифрования ключа

под ZMK (см. Таблица 9) или ‘0’.

Page 107: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 107

Поле Длина и тип Описание

Командное сообщение

Зарезервировано 1 A Зарезервировано. Если представлено, то

‘0. ’

Тип проверочной

величины ключа

1 A

Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости);

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FN’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

11 – ошибка четности ZEK/ZAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

ZEK/ZAK 16 H

или

1 A + 32/48 H

ZEK или ZAK, зашифрованный под

ZMK (ZEK, если флаг ‘0’; ZAK, если

флаг ‘1’).

Проверочная величина

ключа

16/6 H Результат зашифрования 64 бинарных

нулей под ZEK или ZAK в зависимости

от выбранной опции.

Page 108: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 108

Генерация Watchword Key (FO)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Генерация ключа Watchword Key (WWK).

Примечания:

Данная команда может быть заменена командой A0.

Для генерации 16-цифровой проверочной величины ключа требуется

установка флага «Режим обратной совместимости по KCV с Thales

8000» в консольном режиме (пункт меню «Настройка»

Web-интерфейса удаленного управления платежным приложением).

В противном случае, при выборе длины ключа 16, формируется

6-цифровая проверочная величина, дополненная ‘00’ до нужной

длины.

Производится автоматическая проверка сформированного ключа по

таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FO’.

Разделитель 1 А Опционально. Если представлены

следующие три поля. Значение ‘; ’.

Если опция не требуется, то допустимо

заполнить значением ‘0’.

Зарезервировано 1 А Опционально. Если представлено, то ‘0’.

Ключевая схема (LMK) 1 A Опционально. Ключевая схема, под

которую зашифрован ключ под LMK

(см. Таблица 9).

Page 109: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 109

Поле Длина и тип Описание

Командное сообщение

Тип проверочной

величины ключа

(KCV)

1 А Опционально. Метод вычисления

проверочной величины ключа:

‘0’ – 16 цифр KCV (режим обратной

совместимости);

‘1’ – 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FP’.

Код ошибки 2 А 00 – нет ошибок;

98 – команда недоступна;

C0 – "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

WWK 16 H

или

1 A + 32/48 H

Watchword Key, зашифрованный под

LMK 22-23.

Проверочная величина

ключа

16 / 6 H Результат зашифрования 64 бинарных

‘0’ на WWK.

16 / 6 H в зависимости от заданной

опции.

Page 110: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 110

Перешифрование Watchword Key из-под ZMK под LMK (FS)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ключа Watchword Key (WWK) из-под ZMK под

LMK.

Примечания: Данная команда может быть заменена командой A6.

Для генерации 16-цифровой проверочной величины ключа требуется

установка флага «Режим обратной совместимости по KCV с Thales

8000» в консольном режиме (пункт меню «Настройка»

Web-интерфейса удаленного управления платежным приложением).

В противном случае, при выборе длины ключа 16, формируется

6-цифровая проверочная величина, дополненная ‘00’ до нужной

длины.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FS’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

WWK 16 H

или

1 A + 32/48 H

Watchword Key, зашифрованный под

ZMK.

Разделитель 1 А Опционально. Если представлены

следующие три поля. Значение ‘; ’.

Если опция не требуется, то допустимо

заполнить значением ‘0’.

Зарезервировано 1 А Опционально. Если представлено, то ‘0’.

Page 111: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 111

Поле Длина и тип Описание

Командное сообщение

Ключевая схема (LMK) 1 A Опционально. Ключевая схема, под

которую зашифрован ключ под LMK

(см. Таблица 9).

Тип проверочной

величины ключа

(KCV)

1 А Опционально. Метод вычисления

проверочной величины ключа:

‘0’ – 16 цифр KCV (режим обратной

совместимости);

‘1’ – 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FT’

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

11 – импортируемый ключ равен нулю;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

WWK 16 H

или

1 A + 32/48 H

Watchword Key, зашифрованный под

LMK 22-23.

Проверочная величина

ключа

16/6 H Результат зашифрования 64 бинарных

‘0’ на WWK.

16 / 6 H в зависимости от заданной

опции.

Page 112: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 112

Перешифрование Watchword Key из-под LMK под ZMK (FQ)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование Watchword Key (WWK) из-под LMK под ZMK.

Примечания: Команда может быть заменена командой A8.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FQ’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

WWK 16 H

или

1 A + 32/48 H

WWK, зашифрованный под LMK 22-23.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘; ’.

Ключевая схема (ZMK) 1 A Опционально. Схема шифрования ключа

под ZMK (см. Таблица 9) или ‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено, то

‘0’.

Тип проверочной

величины ключа

1 A

Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости);

‘1’: 6 цифр KCV.

Page 113: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 113

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FR’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

11 – ошибка четности WWK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

WWK 16 H

или

1 A + 32/48 H

WWK, зашифрованный под ZMK.

Проверочная величина

ключа

16/6 H Результат зашифрования 64 бинарных

нулей под WWK в зависимости от

выбранной опции.

Page 114: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 114

Перешифрование ZPK из-под LMK под ZMK (GC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ZPK из-под LMK под ZMK. Используется для

передачи ключа другой стороне.

Примечания: Команда может быть заменена командой A8.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘GC’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

ZPK 16 H

или

1 A + 32/48 H

ZPK, зашифрованный под LMK 06-07.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘; ’.

Ключевая схема (ZMK) 1 A Опционально. Схема шифрования ключа

под ZMK (см. Таблица 9) или ‘0’.

Зарезервировано 1 A Зарезервировано. Если представлено,

то ‘0’.

Page 115: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 115

Поле Длина и тип Описание

Командное сообщение

Тип проверочной

величины ключа

1 A

Опционально. Метод вычисления

проверочной величины ключа:

‘0’ : 16 цифр KCV (режим обратной

совместимости);

‘1’ : 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘GD’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

11 – ошибка четности ZPK;

98 – команда недоступна;

или стандартный код ошибки (см.

Приложение 1).

ZPK 16 H

или

1 A + 32/48 H

ZPK, зашифрованный под ZMK в

соответствии с ключевой схемой (см.

Таблица 9).

Проверочная величина

ключа

16/6 H Результат зашифрования 64 бинарных

нулей под ZPK в зависимости от

выбранной опции.

Page 116: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 116

Перешифрование ZMK из-под «старого» LMK под «новый» (GE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ключа ZMK из-под «старого» LMK 04-05 под

«новый».

Примечания: Команда может быть заменена универсальной командой BW.

Если необходимо использовать ZMK двойной длины (без указания

параметра «Ключевая схема»), то предварительно должна быть

выполнена соответствующая консольная настройка (пункт меню

«Настройка» WEB-интерфейса удаленного управления платежным

приложением).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘GE’.

ZMK 16/32 H

или

1 A + 32/48 H

Шифрограмма ZMK под «старый» LMK.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘;’.

Зарезервировано 1 A Зарезервировано. Если представлено, то

‘0’.

Ключевая схема (LMK) 1 A Опционально. Схема шифрования ключа

под LMK (см. Таблица 9) или ‘0’.

Зарезервировано

1 A

Зарезервировано. Если представлено,

то ‘0’.

Page 117: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 117

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘GF’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

ZMK

16/32 H

или

1 A + 32/48 H

ZMK, перешифрованный из-под

«старого» LMK 04-05 под «новый».

Page 118: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 118

Генерация TAK (HA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Генерация TAK и зашифрование под TMK и LMK 16-17.

Примечание: производится автоматическая проверка сформированного ключа

по таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘HA’.

TMK 16 H

или

1 A + 32/48 H

TMK, зашифрованный под LMK 14-15.

Разделитель 1 A Опционально. Если присутствует, то

должны быть следующие 3 поля.

Значение ‘; ’.

Ключевая схема (TMK) 1 A Опционально. Схема шифрования

ключей под TMK (см. Таблица 9)

или ‘0’.

Ключевая схема (LMK) 1 A Опционально. Схема шифрования

ключей под LMK (см. Таблица 9) или

‘0’.

Зарезервировано

1 A Опционально. Если представлено, то ‘0’.

Page 119: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 119

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘HB’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности TMK;

98 – команда недоступна;

C0 - "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

TAK под TMK 16 H

или

1 A + 32/48 H

TAK, зашифрованный под TMK.

TAK под LMK

16 H

или

1 A + 32/48 H

TAK, зашифрованный под LMK 16-17.

Page 120: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 120

Генерация TMK, TPK или PVK (HC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Генерация случайного ключа и зашифрование под текущим ключом

TMK (TPK или PVK) и под LMK 14-15.

Примечание: производится автоматическая проверка сформированного ключа

по таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘HС’.

Текущий TMK, TPK

или PVK

16 H

или

1 A + 32/48 H

Текущий TMK, TPK или PVK

зашифрованный под LMK 14-15.

Разделитель 1 A Опционально. Если присутствует, то

должны быть следующие 3 поля.

Значение ‘; ’.

Ключевая схема (TMK) 1 A Опционально. Схема шифрования

ключей под TMK (см. Таблица 9)

или ‘0’.

Ключевая схема (LMK) 1 A Опционально. Схема шифрования

ключей под LMK (см. Таблица 9)

или ‘0’.

Зарезервировано 1 A Опционально. Если представлено,

то ‘0’

Page 121: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 121

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘HD’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности TMK, TPK или

PVK;

98 – команда недоступна;

C0 – "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

Новый ключ под

текущим ключом

16 H

или

1 A + 32/48 H

Новый TMK, TPK или PVK,

зашифрованный под текущим TMK, TPK

или PVK.

Новый ключ под LMK 16 H

или

1 A + 32/48 H

Новый TMK, TPK или PVK,

зашифрованный под LMK 14-15.

Page 122: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 122

Генерация ZPK (IA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Генерация ZPK и зашифрование под ZMK для передачи другой

стороне и LMK для хранения в БД.

Примечания: Команда может быть заменена командой A0.

Если необходимо использовать ZMK-DES двойной длины (без

указания параметра «Ключевая схема»), то предварительно должна

быть выполнена соответствующая консольная настройка (пункт

меню «Настройка» WEB-интерфейса удаленного управления

платежным приложением).

Производится автоматическая проверка сформированного ключа по

таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘IA’.

ZMK 16/32 H

или

1 A + 32/48 H

ZMK, зашифрованный под LMK 04-05.

Разделитель 1 A Опционально. Если присутствует, то

должны быть следующие 3 поля.

Значение ‘; ’.

Ключевая схема (ZMK) 1 A Опционально. Схема шифрования

ключей под ZMK (см. Таблица 9)

или ‘0’.

Ключевая схема (LMK) 1 A Опционально. Схема шифрования

ключей под LMK (см. Таблица 9) или ‘0’.

Page 123: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 123

Поле Длина и тип Описание

Командное сообщение

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим обратной

совместимости);

‘1’: 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘IB’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZMK;

98 – команда недоступна;

C0 – "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

ZPK под ZMK 16 H

или

1 A + 32/48 H

ZPK, зашифрованный под ZMK.

ZPK под LMK 16 H

или

1 A + 32/48 H

ZPK, зашифрованный под LMK 06-07

Проверочная величина

ключа

16/6 H 16 / 6 H в зависимости от заданной

опции.

Page 124: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 124

Перешифрование ZPK из-под «старого» LMK под «новый» (KC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование ключа ZPK из-под «старого» LMK 06-07 под

«новый».

Примечания: Команда может быть заменена универсальной командой BW.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KC’.

ZPK 16 H

или

1 A + 32/48 H

Шифрограмма ZPK под «старый» LMK.

Разделитель 1 A Опционально. Если представлено, то

должны быть следующие поля. Значение

‘; ’.

Зарезервировано

1 A

Зарезервировано.

Если представлено, то ‘0’.

Ключевая схема

(LMK)

1 A

Опционально. Схема шифрования ключа

под LMK (см. Таблица 9) или ‘0’.

Зарезервировано

1 A

Зарезервировано.

Если представлено, то ‘0’.

Page 125: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 125

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KD’.

Код ошибки 2 А

00 – нет ошибок;

10 – ошибка четности ZPK;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

ZPK

16 H

или

1 A + 32/48 H

ZPK, перешифрованный из-под

«старого» LMK 06-07 под «новый».

Page 126: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 126

Генерация MAC за сообщение (МA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC за данные с использованием ключа TAK в

соответствии с ANSI X9.9.

Примечание: Команда может быть заменена командой ‘M6’.

Алгоритм MAC ANSI X9.9 применяется с использованием нулевого

паддинга. Максимальное значение поля данных не должно

превышать 2 Кбайт.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MA’.

TAK 16 H

или

1 A + 32/48 H

TAK зашифрованный под LMK 16-17.

Данные 0 - n Данные, за которые вычисляется MAC,

n = 2K.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MB’.

Код ошибки 2 A 00 – нет ошибок;

10 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 8 H Вычисленный MAC.

Page 127: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 127

Проверка MAC за сообщение (МC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Проверка MAC за данные на ключе TAK в соответствии с ANSI X9.9.

Примечание: Команда может быть заменена командой ‘M8’.

Алгоритм MAC ANSI X9.9 применяется с использованием нулевого

паддинга. Максимальное значение поля данных не должно

превышать 2 Кбайт

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MC’.

TAK 16 H

или

1 A + 32/48 H

TAK зашифрованный под LMK 16-17.

MAC 8 H Проверяемый MAC

Данные 0 - n Данные, за которые был вычислен

проверяемый MAC, n = 2K.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MD’.

Код ошибки 2 A

00 – нет ошибок;

01 – ошибка проверки MAC;

10 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 128: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 128

Проверка и переформирование MAC (МE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC за данные на исходном ключе TAK в соответствии

с ANSI X9.9 и сравнение с принятым. В случае успеха,

переформирование MAC на новом ключей TAK.

Примечание: Алгоритм MAC ANSI X9.9 применяется с использованием

нулевого паддинга. Максимальное значение поля данных не должно

превышать 2 Кбайт.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ME’.

Исходный TAK 16 H

или

1 A + 32/48 H

Исходный TAK, зашифрованный под

LMK 16-17.

Новый TAK 16 H

или

1 A + 32/48 H

Новый TAK, зашифрованный под

LMK 16-17.

MAC 8 H MAC, вычисленный на исходном ключе.

Данные 0 - n Данные, за которые проверяется и

вычисляется MAC, n = 2K.

Page 129: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 129

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MF’.

Код ошибки 2 A 00 – нет ошибок;

01 – ошибка проверки MAC;

10 – ошибка четности исходного TAK;

11 – ошибка четности нового TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 8 H MAC, вычисленный на новом TAK

Page 130: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 130

Генерация MAC (MAB) за большое бинарное сообщение (МQ)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC для большого бинарного сообщения на ключе

ZAK. MAC формируется в соответствии с ANSI X9.9.

Примечание: для вычисления 8-значного MAC (8 hex) следует использовать

команду ‘M6’.

Алгоритм MAC ANSI X9.9 применяется с использованием нулевого

паддинга. Максимальное значение поля данных не должно

превышать 2 Кбайт

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MQ’.

Номер блока

сообщения

1 N '0’: единственный блок одноблочного

сообщения;

'1’: первый блок многоблочного

сообщения;

'2’: промежуточный блок многоблочного

сообщения;

'3': последний блок многоблочного

сообщения.

ZAK 16 H

или

1 A + 32/48 H

ZAK зашифрованный под LMK 26-27.

IV 16 H Вектор инициализации, значение

которого представлено только для

номера блока сообщения '2' или '3'.

Длина сообщения 3 H Длина сообщения в байтах.

Блок сообщения n B Чистый текст блока сообщения.

Page 131: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 131

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘MR’.

Код ошибки 2 A 00 – нет ошибок;

02 – ZAK не единичной длины;

05 – недопустимый номер блока

сообщения;

10 – ошибка четности ZAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAB

16 H

Используется как IV для следующего

блока, когда номер блока сообщения '1'

или '2'.

Используется как аутентификатор

сообщения, когда номер блока

сообщения '0' или '3'.

Page 132: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 132

Генерация MAC (MAB) за большое сообщение (МS)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC для большого сообщения на ключе TAK или ZAK.

Для ключа одинарной длины схемы «DES» MAC формируется в

соответствии с ANSI X9.9, для ключа двойной длины схемы «DES»

– в соответствии с ANSI X9.19 MAC.

Примечание: для вычисления 8-значного MAC (8 hex) следует использовать

команду ‘M6’.

Алгоритм вычисления MAC применяется с использованием

нулевого паддинга

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MS’.

Номер блока

сообщения

1 N '0': единственный блок; одноблочного

сообщения

'1’: первый блок многоблочного

сообщения;

'2’: промежуточный блок многоблочного

сообщения;

'3’: последний блок многоблочного

сообщения.

Тип ключа

1 N

'0’: TAK;

'1’: ZAK.

Длина ключа 1 N '0': единичная длина ключа DES;

'1': двойная длина ключа DES.

Тип сообщения 1 N '0': данные сообщения в бинарном виде;

'1': данные сообщения в

шестнадцатеричном виде.

Page 133: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 133

Поле Длина и тип Описание

Командное сообщение

Ключ 16 H

или

1 A + 32/48 H

'Ключ, зашифрованный под

соответствующей парой LMK:

TAK под LMK 16-17;

ZAK под LMK 26-27.

IV 16 H Вектор инициализации, значение

которого представлено только для

номера блока сообщения '2' или '3'.

Длина сообщения 4 H Длина сообщения (длина следующего

поля, если в сообщении бинарные

данные; половина длины следующего

поля, если в сообщении

шестнадцатеричные данные).

Блок сообщения n B или H Блок сообщения или в бинарном, или в

шестнадцатеричном виде.

Page 134: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 134

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MT’.

Код ошибки 2 A 00 – нет ошибок;

03 – недопустимый код типа сообщения;

04 – недопустимый код типа ключа;

05 – недопустимый номер блока

сообщения;

06 – недопустимый код длины ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAB

16 H

Используется как IV для следующего

блока, когда номер блока сообщения '1'

или '2'.

Используется как аутентификатор

сообщения, когда номер блока

сообщения '0' или '3'.

Page 135: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 135

Генерация MAC за бинарные данные (МK)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC за бинарные данные на ключе TAK в соответствии

с ANSI X9.9 и сравнение с принятым.

Примечание: Команда может быть заменена командой ‘M6’.

Алгоритм MAC ANSI X9.9 применяется с использованием

нулевого паддинга.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MK’.

TAK 16 H

или

1 A + 32/48 H

TAK зашифрованный под LMK 16-17.

Длина данных 3 H '001' … '320' указывает длину данных

Данные n B Данные, за которые вычисляется MAC, n

= 800 байт.

Page 136: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 136

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ML’.

Код ошибки 2 A 00 – нет ошибок;

10 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC

8 H Вычисленный MAC.

Page 137: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 137

Проверка MAC за бинарные данные (МM)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC за бинарные данные на ключе TAK в соответствии

с ANSI X9.9 и сравнение с принятым.

Примечание: Команда может быть заменена командой ‘M8’.

Алгоритм MAC ANSI X9.9 применяется с использованием нулевого

паддинга.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MM’.

TAK 16 H

или

1 A + 32/48 H

TAK зашифрованный под LMK 16-17.

MAC 8 H Проверяемый MAC.

Длина данных 3 H '001' … '320' указывает длину данных.

Данные n B Данные, за которые был вычислен

проверяемый MAC,

n = 800 байт.

Page 138: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 138

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MN’.

Код ошибки

2 A

00 – нет ошибок;

01 – ошибка проверки MAC;

10 – ошибка четности TAK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 139: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 139

Проверка и переформирование MAC за бинарные данные (МO)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Вычисление MAC за бинарные данные на исходном ключе TAK в

соответствии с ANSI X9.9 и сравнение с принятым. В случае успеха,

переформирование MAC на новом ключе TAK.

Примечание: Команда может быть заменена командой ‘MY’.

Алгоритм MAC ANSI X9.9 применяется с использованием нулевого

паддинга.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘MO’.

Исходный TAK 16 H

или

1 A + 32/48 H

Исходный TAK, зашифрованный под

LMK 16-17.

Новый TAK 16 H

или

1 A + 32/48 H

Новый TAK, зашифрованный под

LMK 16-17.

MAC 8 H MAC, вычисленный на исходном ключе.

Длина данных 3 H '001' … '320' указывает длину данных.

Данные n B Данные, за которые проверяется и

вычисляется MAC, n = 800 байт.

Page 140: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 140

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘MP’.

Код ошибки 2 A 00 – нет ошибок;

01 – ошибка проверки MAC;

10 – ошибка четности исходного TAK;

11 – ошибка четности нового TAK;

68 – команда отключена

или стандартный код ошибки (см.

Приложение 1).

MAC 8 H MAC, вычисленный на новом TAK.

Page 141: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 141

Перешифрование блока секретных данных в специфичном

формате карты (P0)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование блока секретных данных с одного ключа на другой.

Оба ключа в виде шифрограмм под LMK подаются на вход команды.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘P0’.

Режим расшифрования

/ зашифрования

2 H 00 = ECB / ECB;

01 = ECB / CBC;

10 = CBC / ECB;

11 = CBC / CBC.

Тип ключа

расшифрования

3 H 002, 102, 202, 302, 402, 502, 602, 702, 802

или 902.

Ключ расшифрования 32 H

или

1 A + 32/48 H

Ключ расшифрования зашифрованный

под LMK 14-15, вариант указан в поле

'Тип ключа расшифрования'.

IV расшифрования 8 B Вектор инициализации для

расшифрования (представлен только

если 'Режим расшифрования /

зашифрования' = 10 или 11).

Вариант зашифрования 3 H 002, 102, 202, 302, 402, 502, 602, 702, 802

или 902.

Ключ зашифрования 32 H

или

1 A + 32/48 H

Ключ зашифрования зашифрованный

под LMK 14-15, вариант указан в

'Вариант зашифрования'.

IV зашифрования 8 B Вектор инициализации для

зашифрования (представлен только если

'Режим расшифрования / зашифрования'

= 01 или 11).

Page 142: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 142

Поле Длина и тип Описание

Командное сообщение

Длина заголовка 2 H Длина следующего заголовка

информации.

Заголовок n H Заголовок, предваряющий выходные

данные для PIN Try Limits, счетчика и

других будущих значений.

Разделитель 1 A Значение '; '.

Длина

конфиденциальных

данных

3 H Длина конфиденциальных данных

(следующем поле).

Конфиденциальные

данных

n B Конфиденциальные данные блоками по

8 байт.

Разделитель 1 A Значение ';'.

Длина трейлера 2 H Длина трейлера в следующем поле.

Трейлер n H Трейлер, дополняющий выходной блок

данных до кратности 8 байт.

Page 143: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 143

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘P1’.

Код ошибки 2 A 00 – нет ошибок;

10 – ошибка четности ключа

расшифрования;

11 – ошибка четности ключа

зашифрования;

13 – ошибка LMK, сообщите

администратору;

15 – недопустимые входные данные

50 – недопустимый режим

расшифрования / зашифрования

53 – недопустимая длина ключа

расшифрования;

54 – недопустимая длина ключа

зашифрования;

58 – недопустимый вариант

зашифрования;

80 – ошибка длины заголовка

81 – ошибка длины конфиденциальных

данных;

82 – ошибка длины трейлера

или стандартный код ошибки (см.

Приложение 1).

Зашифрованные

конфиденциальные

данные

n B Зашифрованные на ключе зашифрования

конфиденциальные данные.

Page 144: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 144

Команды управления ассиметричными ключами

Генерация пары секретный/открытый ключ RSA (EI)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется Требуется

Функция: Генерация пары секретный/открытый ключ RSA.

Примечания: Если во входных данных присутствует открытая экспонента, то

она должна иметь нечетное значение (т.е. наименее значимый бит

должен быть равен 1).

Для LMK Keyblock закрытый ключ RSA создается в формате

Keyblock со следующими атрибутами:

Поле Значение

Использование ключа (Key Usage) '03'

Алгоритм (Algorithm) 'R'

Режим использования (Mode of Use) Определяется параметром «Тип

ключа» Указывается после

разделителя '#'

Экпортируемость (Exportability) Значение 'N' Указывается после

разделителя '#'

Длина ключа (Key Length) Определяется параметром «Длина

ключа»

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EI’.

Код типа ключа

1 N

Указатель типа ключа:

‘0’: Только подпись;

‘1’: Управление ключами

(экспорт/импорт);

‘2’: Подпись и управление ключами;

‘3’: Integrated Chip Card (ICC) ключ.

Длина ключа 4 N Длина модуля в битах.

Page 145: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 145

Поле Длина и

тип

Описание

‘0320’…’2048’.

Кодирование открытого

ключа

2 N Правило кодирование открытого

ключа:

‘01’: DER кодирование для ASN.1

Public Key (беззнаковое

представление INTEGER).

Длина открытой

экспоненты

4 N Опционально. Должно присутствовать,

если открытая экспонента подается на

вход. Указывает длину открытой

экспоненты в битах.

Открытая экспонента n B Опционально. Должно быть нечетное

значение. Если не указано, то

полагается 65537.

Только д

ля с

озд

ани

я с

екр

етн

ого

кл

юч

а R

SA

Key

blo

ck

Разделитель 1 A Значение ‘#’. Требуется при генерации

Keyblock. Если представлено, то

должны быть поля, приведенные ниже

Номер версии

ключа (Key Version

Number)

2 N Значения поля Key Version Number для

включения в заголовок Keyblock.

Возможные значения от ‘00’ до ‘99’.

Представлено, если присутствует поле

Разделитель

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Возможные значения от ‘00’ до ‘08’.

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока.

Любое допустимое значение, кроме

‘PB’ (см. Таблица 18).

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и

длины). Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Page 146: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 146

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EJ’.

Код ошибки 2 А 00 – нет ошибок;

03 - недопустимый код кодирования

открытого ключа;

04 – ошибка длины ключа;

05 – недопустимый тип ключа;

06 – ошибка длины открытой

экспоненты;

08 – представлена четная экспонента;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Открытый ключ n B Открытый ключ, закодированный

указанным способом.

Длина секретного

ключа

4 N Для вариантного LMK:

Длина (в байтах) следующего поля.

или

4 H

Для Keyblock LMK:

Это поле зарезервировано, должно быть

установлено в «FFFF».

Секретный ключ

n B

Для вариантного LMK:

Секретный ключ, зашифрованный под

LMK 34-35.

или

1 A + n B

Для Keyblock LMK: закрытый ключ

шифруется под LMK.

Page 147: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 147

Загрузка секретного ключа RSA (EK)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Загрузка секретного ключа RSA (зашифрованного под LMK) в

энергонезависимую память HSM.

Внимание: При повторном выполнении команды c тем же индексом ключа ключ

в памяти HSM будет перезаписан.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EK’.

Индекс ключа 2 N ‘00’…’20’: индекс загружаемого в

память HSM ключа (используется,

если требуется хранить несколько

ключей).

Длина секретного ключа 4 N Длина (в байтах) следующего поля.

или

4 H

Это поле зарезервировано, должно

быть установлено в «FFFF».

Секретный ключ n B Секретный ключ RSA, загружаемый в

память HSM, зашифрованный под

LMK 34-35.

или

1 A + n B

Для ключевого блока LMK закрытый

ключ должен содержать следующее:

Key

Usage

Algorithm Mode of Use

‘O3’ ‘R’ ‘S’, ‘D’ или N’

Page 148: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 148

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EL’.

Код ошибки 2 А 00 – нет ошибок;

03 - недопустимый индекс ключа;

04 – недостаточно памяти для хранения

ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 149: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 149

Перешифрование секретного ключа RSA (EM)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование секретного ключа RSA из-под «старого» LMK под

«новый».

Примечание:

Для LMK Keyblock закрытый ключ RSA создается в формате

Keyblock со следующими атрибутами:

Поле Значение

Использование ключа (Key Usage) '03'

Алгоритм (Algorithm) 'R'

Mode of Use (Режим использования) Определяется параметром «Тип

ключа»

Экпортируемость (Exportability) 'N'

Длина ключа (Key Length) Определяется параметром «Длина

ключа»

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EM’.

Длина секретного

ключа

4 N Для вариантного LMK:

Длина (в байтах) следующего поля.

или

4 H

Для Keyblock LMK:

Это поле зарезервировано и установлено

в «FFFF».

Секретный ключ n B Для вариантного LMK:

Секретный ключ RSA, загружаемый в

память HSM, зашифрованный под

LMK 34-35.

Page 150: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 150

Поле Длина и тип Описание

или

1 A + n B

Для Keyblock LMK:

Секретный ключ должен содержать

следующее:

Key Usage Algorithm Mode of Use

‘O3’ ‘R’ ‘S’, ‘D’ или N’

Пр

и т

ран

сляц

ии

из

вар

иан

тно

го L

MK

в K

eyblo

ck L

MK

Разделитель 1 A Значение ‘#’. Требуется при создании

Keyblock. Если представлено, то должны

быть поля, приведенные ниже.

Номер версии

ключа

2 N Значения поля Key Version Number для

включения в заголовок Keyblock.

Возможные значения от ‘00’ до ‘99’.

Представлено, если присутствует поле

Разделитель

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Возможные значения от ‘00’ до ‘08’.

Представлено, если присутствует поле

Разделитель.

Для каждого необязательного блока должны быть указаны следующие три

поля. Если число дополнительных блоков = '00', то не должно

присутствовать ни одно из следующих трех полей.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока.

Любое допустимое значение, кроме ‘PB’

(см. Таблица 18).

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и

длины). Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный

блок данных

n A Опциональный блок данных

Page 151: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 151

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EN’.

Код ошибки 2 А 00 – нет ошибок;

98 – команда недоступна;

или стандартный код ошибки (см.

Приложение 1).

Длина секретного

ключа

4 N Для вариантного LMK:

Длина (в байтах) следующего поля.

или

4 H

Для Keyblock LMK:

Это поле зарезервировано и установлено

в «FFFF».

Секретный ключ

n B

Для вариантного LMK:

Секретный ключ RSA,

перешифрованный под «новый»

LMK 34-35.

или

1 A + n B

Для Keyblock LMK:

Секретный ключ, перешифрованных под

«новый» LMK

Page 152: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 152

Импорт открытого ключа RSA (EO)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется Требуется

Функция: Импорт открытого ключа RSA с генерацией MAC.

Примечание: Для LMK Keyblock закрытый ключ RSA создается в формате

Keyblock со следующими атрибутами:

Поле Значение

Использование ключа

(Key Usage)

'02'

Алгоритм

(Algorithm)

'R'

Mode of Use

(Режим использования)

Указывается после разделителя '#'

Экпортируемость

(Exportability)

Указывается после разделителя '#'

Длина ключа

(Key Length)

Определяется по входному ключу

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений.

Код команды 2 А ‘EO’.

Кодирование открытого ключа 2 N Правило кодирование открытого

ключа:

‘01’: DER кодирование для ASN.1

Public Key (беззнаковое

представление INTEGER).

Открытый ключ n B DER, закодированный в формат

ASN.1

Данные аутентификации

n B

Опционально. Дополнительные

данные, которые могут быть

включены в данные для

Page 153: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 153

Поле Длина и

тип

Описание

вычисления MAC (не должны

включать в себя ";").

Разделитель 1 A Значение ‘#’. Требуется при

создании Keyblock. Если

представлено, то должны быть

поля, приведенные ниже.

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Таблица 15

содержит возможные значения

поля по типу ключа.

Номер версии ключа (Key

Version Number)

2 N Значения поля Key Version

Number для включения в

заголовок Keyblock. Возможные

значения от ‘00’ до ‘99’.

Представлено, если присутствует

поле Разделитель

При

мен

яет

ся т

ольк

о п

ри

исп

ользо

ван

ии

LM

K

Key

blo

ck

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Таблица 17

содержит возможные значения

поля.

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения

от ‘00’ до ‘08’. Представлено,

если присутствует поле

Разделитель.

Для каждого необязательного блока должны быть указаны следующие три

поля. Если число дополнительных блоков = '00', то не должно

присутствовать ни одно из следующих трех полей.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока. Любое допустимое

значение, кроме ‘PB’ (см.

Таблица 18).

Page 154: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 154

Поле Длина и

тип

Описание

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля

идентификатора и длины).

Возможные значения от X’04’ до

X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок

данных

n A Опциональный блок данных

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EP’.

Код ошибки 2 А 00 – нет ошибок;

03 - недопустимый код кодирования

открытого ключа;

04 – ошибка кодирования открытого

ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытой ключ и

данные аутентификации с

использованием LMK 36-37.

Открытый ключ

Открытый ключ

n B Открытый ключ кодируется DER в

формате ASN.1

или

1 A + n B Открытый ключ хранится (без

шифрования) в формате блокировки

(включая MAC).

Page 155: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 155

Page 156: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 156

Проверка открытого ключа RSA (EQ)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка открытого ключа RSA.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EQ’.

MAC 4 B MAC, вычисленный за открытой ключ и

данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ, закодированный в DER

в формате ASN.1

Данные

аутентификации

n B Опционально. Дополнительные данные,

которые могут быть включены в данные

для вычисления MAC (не должны

включать в себя ";").

Открытый ключ 1 A + n B Для ключевого блока LMK открытый

ключ должен соответствовать

следующему:

Key

Usage

Algorithm Mode of Use

‘O2’ ‘R’ ‘S’, ‘B’, ‘E’, ‘N’

Page 157: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 157

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ER’.

Код ошибки

2 А

00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

04 – ошибка кодирования открытого

ключа

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 158: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 158

Проверка сертификата и импорт открытого ключа RSA (ES)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка сертификата и импорт открытого ключа RSA,

содержащегося в сертификате.

Примечание: Команда может (опционально) проверить, соответствует ли

открытый ключ, содержащийся в сертификате, закрытому ключу,

зашифрованному под LMK.

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений.

Код команды 2 А ‘ES’.

MAC 4 B MAC, вычисленный за открытый

ключ и данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ, закодированный в

DER в формате ASN.1.

Данные аутентификации n B Опционально. Дополнительные

данные, которые могут быть

включены в данные для вычисления

MAC (не должны включать в себя

";").

Разделитель 1 A Значение ‘; ’.

Открытый ключ 1 A + n B Для ключевого блока LMK

закрытый ключ должен

соответствовать следующим

значениям:

Key

Usage

Algorithm Mode of Use

Page 159: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 159

Поле Длина и

тип

Описание

Командное сообщение

‘O2’ ‘R’ ‘S’, ‘B’, ‘N’

Размер сертификата 4 N Размер сертификата (в байтах).

Смещение Хэш 4 N Смещение первого байта в данных

сертификата для расчета Хэш.

Длина Хэш 4 N Длина (в байтах) данных

сертификата, за которые

вычисляется Хэш.

Смещение подписи 4 N Смещение первого байта подписи,

содержащейся в сертификате.

Длина подписи 4 N Длина (в байтах) подписи,

содержащейся в сертификате.

Сертификат n B Проверяемый сертификат.

Разделитель 1 A Значение ‘; ’. Используется для

обозначения конца сертификата.

Идентификатор Хэш 2 N Идентификатор алгоритма

вычисления Хэш.

Алгоритм подписи 2 N Идентификатор алгоритма подписи.

Идентификатор режима

паддинга

2 N Идентификатор режима паддинга,

используемого при генерации

подписи сертификата:

‘01’: PKCS #1 v1.5 method

(EME-PKCS1-v1_5).

Кодирование открытого ключа 2 N Правило кодирования открытого

ключа, содержащегося в

сертификате (позволяет сделать

вывод о длине открытого ключа).

Смещение открытого ключа 4 N Смещение первого байта открытого

ключа, содержащейся в

сертификате.

Данные аутентификации n B Опционально. Дополнительные

данные, которые могут быть

Page 160: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 160

Поле Длина и

тип

Описание

Командное сообщение

включены в данные для вычисления

MAC (не должны включать в себя

";").

Разделитель 1 A Значение ‘; ’. Используется для

указания конца данных

аутентификации.

Длина секретного ключа Опционально. Присутствует, если

представлено следующее поле.

4 N Длина (в байтах) следующего поля.

или

4 H

Это поле игнорируется и должно

быть установлено в ‘FFFF’.

Секретный ключ Опционально. Секретный ключ,

который должен соответствовать

открытому ключу, содержащемуся в

сертификате.

n B Зашифрован под LMK 34-35.

или

1 A + n B

Для ключевого блока LMK

закрытый ключ должен содержать

следующее:

Key

Usage

Algorithm Mode of Use

‘O3’ ‘R’ ‘S’, ‘D’, ‘N’

Разделитель 1 A Значение ‘#’. Требуется при

генерации Keyblock, если

представлены поля, приведенные

ниже

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Таблица 15

содержит возможные значения поля

по типу ключа.

Page 161: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 161

Поле Длина и

тип

Описание

Командное сообщение П

ри

мен

яет

ся т

ольк

о п

ри

исп

ользо

ван

ии

LM

K K

eyblo

ck

Номер версии ключа

(Key Version Number)

2 N Значения поля Key Version Number

для включения в заголовок

Keyblock. Возможные значения от

‘00’ до ‘99’. Представлено, если

присутствует поле Разделитель.

Таблица 16 содержит возможные

значения поля.

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Таблица 17

содержит возможные значения поля.

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от

‘00’ до ‘08’. Представлено, если

присутствует поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля, если значение поля ‘Число опциональных блоков’ отлично от ’00’.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока.

Любое допустимое значение, кроме

‘PB’ (см. Таблица 18).

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля

идентификатора и длины).

Возможные значения от X’04’ до

X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Page 162: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 162

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ET’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

02 – отрицательный результат проверки

сертификата;

03 - недопустимый тип кодирования

открытого ключа;

04 – ошибка кодирования открытого

ключа;

05 – недопустимый; идентификатор

алгоритма Хэш;

06 – недопустимый идентификатор

алгоритма подписи;

07 – недопустимый идентификатор

режима паддинга;

74 – неверный синтаксис информации;

76 – ошибка длины открытого ключа;

77 – ошибка блока открытых данных;

78 – ошибка длины секретного ключа;

79 – ошибка идентификатора объекта

алгоритма Хэш;

80 – ошибка длины сертификата;

98 – команда недоступна

или стандартный код ошибки

(Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ и

данные аутентификации с

использованием LMK 36-37.

Открытый ключ

Импортированный открытый ключ

n B Открытый ключ кодирутся DER в

формате ASN.1

или

1 A + n B

Открытый ключ хранится (без

шифрования) в формате Keyblock

(включая MAC).

Page 163: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 163

Пересчет MAC за открытый ключ RSA (EU)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Пересчет MAC за открытый ключ RSA с использованием «нового»

LMK.

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EU’.

MAC 4 B MAC, вычисленный за открытой

ключ и данные аутентификации с

использованием «старого» LMK

36-37.

Открытый ключ n B Открытый ключ, закодированный в

DER в формате ASN.1.

Данные аутентификации n B Опционально. Дополнительные

данные, которые могут быть

включены в данные для вычисления

MAC (не должны включать в себя ";").

Открытый ключ 1 A + n B Для ключевого блока LMK открытый

ключ должен соответствовать

следующему:

Key

Usage

Algorithm Mode of Use

‘O2’ ‘R’ ‘S’, ‘B’, ‘E’, ‘N’

Разделитель 1 A Значение ‘#’. Требуется при

генерации Keyblock. Если

представлено, то должны быть поля,

приведенные ниже

Page 164: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 164

Поле Длина и

тип

Описание

Только

пр

и п

ерев

од

е и

з «ст

аро

го» V

aria

nt

LM

K к

«н

ово

му»

Key

blo

ck L

MK

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Таблица 15

содержит возможные значения поля

по типу ключа.

Номер версии ключа

(Key Version Number)

2 N Значения поля Key Version Number

для включения в заголовок Keyblock.

Возможные значения от ‘00’ до ‘99’.

Представлено, если присутствует

поле Разделитель. Таблица 16

содержит возможные значения поля.

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Таблица 17

содержит возможные значения поля.

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от

‘00’ до ‘08’. Представлено, если

присутствует поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока.

Любое допустимое значение, кроме

‘PB’ (см. Таблица 18).

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля идентификатора

и длины). Возможные значения от

X’04’ до X’FF’. Если значение X’04’,

то следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Page 165: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 165

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EV’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

04 – ошибка кодирования открытого

ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытой ключ и

данные аутентификации с

использованием «нового» LMK 36-37.

Открытый ключ 1 A + n B Открытый ключ хранится (без

шифрования) в формате Keyblock

(включая MAC).

Page 166: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 166

Генерация ЦП RSA (EW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация подписи сообщения с использованием секретного ключа.

Примечание: Минимальная длина ключа при использовании алгоритма

вычисления Хэш-функции SHA-1 (‘01’) - 368 битов, SHA-256

(‘06’) - 496 битов.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EW’.

Идентификатор Хэш 2 N Идентификатор алгоритма Хэш:

‘01’: SHA-1;

‘06’: SHA-256.

Идентификатор

подписи

2 N Идентификатор алгоритма подписи:

‘01’: RSA.

Идентификатор

режима паддинга

2 N Идентификатор режима паддинга,

используемого при генерации подписи:

‘01’: PKCS #1 v1.5 method

(EME-PKCS1-v1_5).

Длина данных 4 N Длина (в байтах) данных для подписи.

Данные сообщения n B Данные для подписи.

Разделитель 1 A Значение ‘; ’.

Используется для указания конца поля

данных.

Page 167: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 167

Поле Длина и тип Описание

Командное сообщение

Индекс секретного

ключа

2 N Индекс, указывающий расположение

секретного ключа:

‘00’…’20’: индекс ключа в

долговременной памяти HSM;

‘99’: использование ключа, подаваемого

во входных данных команды.

Длина секретного

ключа

Опционально. Представлено, если

индекс секретного ключа – ‘99’.

4 N Длина (в байтах) следующего поля

или

4 H

Это поле игнорируется и должно быть

установлено в «FFFF».

Секретный ключ Опционально. Представлено, если

индекс секретного ключа – ‘99’.

n B

Секретный ключ RSA, зашифрованный

под LMK 34-35.

или

1 A + n B

Для ключевого блока LMK закрытый

ключ должен соответствовать

следующему:

Key

Usage

Algorithm Mode of Use

‘O3’ ‘R’ ‘S’, ‘N’

Page 168: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 168

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EX’.

Код ошибки 2 А 00 – нет ошибок;

03 - недопустимый тип секретного

ключа;

04 – недопустимый индекс секретного

ключа;

05 – недопустимый идентификатор

алгоритма Хэш;

06 – недопустимый идентификатор

алгоритма подписи;

07 – недопустимый идентификатор

режима паддинга;

74 – неверный синтаксис информации;

76 – ошибка длины Хэш;

78 – ошибка длины секретного ключа;

79 – ошибка идентификатора объекта

алгоритма Хэш;

80 – ошибка длины сообщения;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Длина подписи 4 N Длина (в байтах) подписи.

Подпись n B Подпись.

Page 169: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 169

Проверка ЦП RSA (EY)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка подписи сообщения с использованием открытого ключа.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EY’.

Идентификатор Хэш 2 N Идентификатор алгоритма Хэш:

‘01’: SHA-1;

‘06’: SHA-256.

Идентификатор

подписи

2 N Идентификатор алгоритма подписи:

‘01’: RSA.

Идентификатор

режима паддинга

2 N Идентификатор режима паддинга,

используемого при генерации подписи

сертификата:

‘01’: PKCS #1 v1.5 method

(EME-PKCS1-v1_5).

Длина подписи 4 N Длина подписи (в байтах)

Подпись n B Подпись для проверки

Разделитель 1 A Значение ‘; ’.

Указывает на конец подписи.

Длина данных 4 N Длина (в байтах) данных для подписи

Данные сообщения n B Данные для проверки подписи.

Разделитель 1 A Значение ‘; ’. Используется для указания

конца поля данных.

MAC 4 B Для вариантных LMK;

MAC, вычисленный за открытой ключ и

данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ, закодированный в DER

в формате ASN.1.

Данные

аутентификации

n B

Опционально. Дополнительные данные,

которые могут быть включены в данные

Page 170: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 170

Поле Длина и тип Описание

для вычисления MAC (не должны

включать в себя ";").

Открытый ключ 1 A + n B Для Keyblock LMK:

Открытый ключ должен соответствовать

следующему:

Key

Usage

Algorithm Mode of Use

‘O2’ ‘R’ ‘S’, ‘B’, ‘N’

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EZ’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

02 – отрицательный результат проверки

подписи;

04 – ошибка кодирования открытого

ключа;

05 – недопустимый идентификатор

алгоритма Хэш;

06 – недопустимый идентификатор

алгоритма подписи;

07 – недопустимый идентификатор режима

паддинга;

74 – неверный синтаксис информации;

76 – ошибка длины открытого ключа;

77 – ошибка блока данных;

79 – ошибка идентификатора объекта

алгоритма Хэш;

80 – ошибка длины сообщения;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 171: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 171

Импорт ключа DES на открытом ключе RSA (GI)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование ключа DES с открытого ключа RSA под LMK.

Примечания:

1) Производится автоматическая проверка сформированного

ключа по таблице "слабых" DES-ключей (см. Приложение 3).

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений.

Код команды 2 А ‘GI’.

Идентификатор алгоритма

расшифрования

2 A Идентификатор алгоритма,

используемого для

расшифрования ключа:

‘01’: RSA.

Идентификатор режима паддинга 2 N Идентификатор режима

паддинга, используемого в

процессе расшифрования:

‘01’: PKCS#1 v1.5 method

(EME-PKCS1-v1_5).

Тип ключа 4 N

или

Указывает LMK и вариант

шифрования импортируемого

ключа. Формат ‘PPVV’, где ‘P’

обозначает номер LMK, а ‘V’ –

номер варианта.

4 H Для Keyblock LMK:

Это поле игнорируется, должно

быть установлено значение

«FFFF».

Page 172: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 172

Поле Длина и

тип

Описание

Командное сообщение

Длина блока данных 4 N Длина (в байтах) блока данных.

Блок данных n B Блок данных, состоящий из

зашифрованного ключа.

Разделитель 1 A Значение ‘; ’.

Указывает конец блока данных.

Флаг секретного ключа 2 N Флаг, указывающий

расположение секретного ключа:

‘00’…’20’: индекс ключа в

долговременной памяти HSM;

‘99’: использование ключа,

подаваемого во входных данных

команды.

Длина секретного ключа Опционально. Представлено, если

индекс секретного ключа – ‘99’.

4 N

или

Длина (в байтах) следующего

поля.

4 H Это поле игнорируется, должно

быть установлено значение

‘FFFF’.

Секретный ключ Опционально. Представлено, если

индекс секретного ключа – ‘99’.

n B

или

Секретный ключ RSA для

расшифрования импортируемого

ключа, зашифрован на паре

ключей 34-35.

1 A + n B Для Keyblock LMK секретный

ключ должен соответствовать

следующему:

Key

Usage

Algorithm Mode of Use

‘O3’ ‘R’ ‘D’, ‘N’

Page 173: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 173

Поле Длина и

тип

Описание

Командное сообщение Т

олько п

ри

им

порте

клю

ча

DE

S/3

DE

S Разделитель 1 A Значение ‘; ’. Только если

присутствуют следующие поля.

Зарезервировано 1 A Игнорируется, если значение

поля ‘0’.

Ключевая схема LMK 1 A Ключевая схема для

зашифрования импортируемого

ключа под LMK.

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

проверочной величины ключа:

‘0’: 16 цифр KCV (режим

обратной совместимости);

‘1’: 6 цифр KCV.

Им

порт

клю

ча

DE

S /

3-D

ES

в ф

ор

мат

key

blo

ck

Разделитель 1 A Значение ‘#’. Требуется при

генерации Keyblock. Если

представлено, то должны быть

поля, приведенные ниже

Использование ключа 2 A Значение поля Key Usage для

заголовка Keyblock (см. по типу

ключа Таблица 13).

Представлено, если присутствует

поле Разделитель.

Режим использования 1 A Значения поля Mode of Use для

заголовка Keyblock (см. по типу

ключа Таблица 15).

Представлено, если присутствует

поле Разделитель.

Номер ключевой версии 2 N Значения поля Key Version

Number для заголовка Keyblock

(см. Таблица 16). Возможные

значения от ‘00’ до ‘99’.

Представлено, если присутствует

поле Разделитель.

Page 174: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 174

Поле Длина и

тип

Описание

Командное сообщение

Экспортируемость 1 А Значения поля Exportability для

заголовка Keyblock (см.

Таблица 17). Представлено, если

присутствует поле Разделитель.

я.

Число опциональных

блоков

2 N Количество опциональных

блоков, указанных ниже,

допустимо от ’00’ до‘08’.

Представлено, если присутствует

поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опциональого блока

2 A Идентификатор опционального

блока. (см. Таблица 18 - любое

допустимое значение, кроме

‘PB’)

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля

идентификатора и длины).

Возможные значения от X’04’ до

X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Page 175: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 175

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘GJ’.

Код ошибки 2 А 00 – нет ошибок;

04 – отсутствие секретного ключа с

указанным индексом;

05 – недопустимый тип ключа;

06 – недопустимый идентификатор

алгоритма; шифрования

07 – недопустимый идентификатор режима

паддинга;

49 – ошибка расшифрования секретного

ключа;

55 – недопустимая длина зашифрованного

ключа

76 – несоответствие длины блока данных

секретному ключу;

77 – ошибка чистого блока данных;

78 – ошибка длины секретного ключа C0

– "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

Ко

гда

им

порти

рует

ся к

лю

ч D

ES

/3-D

ES

Initialization

value

16 H Признак инициализации DES ключа.

Опционально, только когда тип Key

Block –‘01’

Ключ DES Импортированный ключ DES,

зашифрованный под LMK

16 H

или

1 A + 32/48 H

или

Для вариантных LMK:

Соответcвует заданному типу ключа.

1 A + n A Для LMK KeyBlock ключ зашифрован

под LMK

Проверочная

величина ключа

16/6 H Результат зашифрования 64 бинарных

нулей на ключе.

16 или 6 H в соответствии с заданным

типом проверочной величины. Если тип

не задан, то 16 H.

Page 176: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 176

Экспорт ключа DES на открытом ключе RSA (GK)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование ключа DES из-под LMK под открытый ключа RSA.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘GK’.

Идентификатор

алгоритма

зашифрования

2 A Идентификатор алгоритма,

используемого для зашифрования

ключа:

‘01’: RSA.

Идентификатор

режима паддинга

2 N Идентификатор режима паддинга,

используемого в процессе

расшифрования:

‘01’: PKCS#1 v1.5 method

(EME-PKCS1-v1_5).

Тип ключа 4 N

или

Для вариантных LMK:

Указывает LMK и вариант шифрования

импортируемого ключа. Формат ‘PPVV’,

где ‘P’ обозначает номер LMK, а ‘V’ –

номер варианта.

4 H Для Keyblock LMK:

Это поле игнорируется, должно быть

установлено значение «FFFF».

Флаг ключа DES 1 N Для вариантных LMK:

Флаг, указывающий длину ключа DES:

‘0’: ключ одинарной длины;

‘1’: ключ двойной длины;

‘2’: ключ тройной длины

Page 177: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 177

Поле Длина и тип Описание

Командное сообщение Э

ксп

орт

клю

ча

DE

S/3

-DE

S k

ey

1 A Для Keyblock LMK:

Это поле игнорируется, должно быть

установлено значение «F».

Ключ DES (под

LMK)

Экспортируемый ключ DES,

зашифрованный под соответствующий

LMK

16/32 H

или

1 A + 32/48 H

или

Для вариантных LMK:

Ключ может быть зашифрован под

парой соответствущих LMK (см.

Таблица 8).

1 A + n A Для Key Block LMK:

Ключ, зашифрованный под

соответствующий LMK

MAC 4 B Для вариантных LMK:

AC, вычисленный за открытой ключ и

данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ, закодированный в DER в

формате ASN.1.

Данные

аутентификации

n B

или

Опционально. Дополнительные данные,

которые могут быть включены в данные

для вычисления MAC (не должны

включать в себя ";").

Открытый ключ 1 A + n B Для ключевого блока LMK открытый

ключ должен соответствовать

следующему:

Key Usage Algorithm Mode of Use

‘02’ ‘R’ ‘E’, ‘B’, ‘N’

Page 178: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 178

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘GL’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки MAC;

02 – ошибка проверки проверочной

величины ключа;

05 – недопустимый тип DES ключа;

06 – недопустимый идентификатор

алгоритма шифрования;

07 – недопустимый идентификатор

режима паддинга;

10 – ошибка четности DES ключа;

49 – ошибка расшифрования секретного

ключа;

56 – недопустимый флаг DES ключа;

82 – недопустимая длина проверочной

величины ключа;

или стандартный код ошибки (см.

Приложение 1).

Длина

зашифрованного

ключа

4 N Длина (в байтах) следующего поля.

Зашифрованный ключ n B Ключ, зашифрованный под открытым

ключом RSA.

Page 179: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 179

Операции с PIN

Зашифрование чистого PIN (BA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется Требуется

Функция: Зашифрование чистого PIN под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BA’.

PIN L H Чистый PIN, выравненный по левому краю

и дополненный X’F до максимальной

длины (задается консольной настройкой).

Номер счета (Account

Number)

12 N 12-значный поле, состоящее из 12 самых

правых цифр номера счета, за

исключением контрольной цифры.

Page 180: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 180

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BB’.

Код ошибки 2 А 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN PIN, зашифрованный под LMK.

L N Для вариантных LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

или

1 A + 32 H

Page 181: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 181

Расшифрование зашифрованного PIN (NG)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется Требуется

Функция: Расшифрование PIN, зашифрованного на LMK. Вывод в хост чистого

PIN, дополненнного «F».

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘NG’.

Номер аккаунта 12 N 12 правых цифр номера аккаунта,

исключая контрольный разряд.

PIN PIN, для которого требуется

сгенерировать PVV, зашифрованный под

LMK.

L N Для вариантного LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

Page 182: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 182

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘NH’.

Код ошибки 2 A 00 – нет ошибок;

17 – вывод "чистого" PIN запрещен;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN L H Чистый PIN, выравненный по левому

краю и дополненный 'F'.

Page 183: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 183

Проверка терминального PIN сравнением (BC)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN, полученного от ATM (терминала), методом сравнения

с PIN, хранимым в БД.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BC’.

TPK 16 H

или

1 A + 32/48 H

TPK для расшифрования PIN,

зашифрованный под LMK 14-15.

или

1 A + n A

Для ключевого блока LMK «TPK» должен

соответствовать следующему:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’ ‘D’, ‘T’ ‘B’, ‘D’ или N’

PIN-блок 16 H PIN-блок для проверки, зашифрованный

под TPK.

Код формата

PIN-блока

2 N Один из допустимых кодов формата

PIN-блока (см. Приложение 4).

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной цифры,

выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Page 184: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 184

Поле Длина и тип Описание

PIN PIN, зашифрованный под LMK

L N

Для вариантного LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым

следуют 32 шестнадцатеричных разряда.

или

1 A + 32 H

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BD’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

PIN;

10 – ошибка четности TPK;

23 – недопустимый формат PIN-блока;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 185: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 185

Проверка PIN сравнением (BE)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN, полученного от внешнего источника, методом

сравнения с PIN, хранимым в БД.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BE’.

ZPK 16 H

или

1 A + 32/48 H

ZPK для расшифрования PIN,

зашифрованный под LMK 06-07.

или

1 A + n A

Для ключевого блока LMK ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘D’, N’

PIN-блок 16 H PIN-блок для проверки, зашифрованный

под ZPK.

Код формата

PIN-блока

2 N Один из допустимых кодов формата

PIN-блока (см. Приложение 4).

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

PIN PIN, зашифрованный под LMK, из БД.

L N Для вариантного LMK 3-DES:

Page 186: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 186

Поле Длина и тип Описание

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым

следуют 32 шестнадцатеричных разряда.

или

1 A + 32 H

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BF’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

PIN;

10 – ошибка четности ZPK;

23 – недопустимый формат PIN-блока;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 187: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 187

Перешифрование PIN из-под «старого» LMK под «новый» (BG)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN блока из зашифрованного под «старый» LMK в

зашифрованный под «новый» LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BG’.

Номер счета (Account

Number)

12 N 12-значный поле, состоящее из 12 самых

правых цифр номера счета, за

исключением контрольной цифры.

PIN L N PIN, зашифрованный под «старый»

LMK.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BH’.

Код ошибки 2 А 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN

L N PIN, зашифрованный под «новый» LMK.

Page 188: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 188

Генерация PIN-offset IBM-методом (для выбранного пользователем

PIN) (BK)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация PIN-offset с использованием IBM 3624 метода. PIN (для

которого требуется сформировать PIN-offset) подается на вход в виде

зашифрованного PIN-блока.

Примечания: Если используется ключ PVK двойной или тройной длины, то

ошибка 02 возвращается в качестве предупреждения, генерация

PIN-offset при этом продолжается с использованием TDES вместо

DES.

Данная команда также может опционально проверить PIN,

подаваемый на вход по «Таблице исключаемых PIN» («Excluded PIN

Table»), чтобы исключить «слабый» PIN.

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

• «Таблица децимализации зашифрована»: (флаг

установлен/флаг не установлен)

Если флаг установлен, то таблица децимализации, подаваемая на

вход, должна быть зашифрована (с помощью консольной команды

«Зашифрование таблицы децимализации» – ED) и состоять из 16

шестнадцаритичных символов.

Если флаг не установлен, то таблица децимализации, подаваемая на

вход, должна быть не зашифрована и состоять из 16 десятичных

символов (для Variant LMK или 3-DES Keyblock LMK) или 'L' + 32

шестнадцаритичных символов (для AES Keyblock LMK).

Page 189: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 189

• «Включить проверку таблицы децимализации»: (флаг

установлен/флаг не установлен)

Если флаг установлен, то выполняется проверка таблицы

децимализации, подаваемой на вход: таблица децимализации

должна содержать не менее 8 различных цифр, и каждая цифра

должна повторяться не более 4 раз.

Если флаг не установлен, то проверка таблицы децимализации не

выполняется.

• «Включить проверку слабых PIN»: (флаг установлен/флаг не

установлен)

Если флаг установлен, то выполняется проверка PIN по «Таблице

исключаемых PIN» («Excluded PIN Table»), чтобы исключить

«слабый» PIN. Если найдено совпадение, то выдается ошибка 86.

Если флаг не установлен, то проверка PIN не выполняется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BK’.

Тип ключа PIN-блока 3 H Тип ключа, на котором зашифрован

PIN-блок для варианта LMK:

‘001’: ZPK (зашифрованный под LMK

06-07 вариант 0);

‘002’: TPK (зашифрованный под LMK

14-15 вариант 0).

Это поле игнорируется, должно быть

установлено значение «FFF».

Ключ PIN-блока Ключ, под которым шифруются PIN-

блоки

16 H

или

1 A + 32/48 H

Для варианта LMK «PIN-код блока»

является либо ZPK, либо TPK, как

указано выше

Page 190: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 190

Поле Длина и тип Описание

Командное сообщение

или

1 A + n A

Для ключевого блока LMK «PIN Block

Key» должен соответствовать

следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, 71’, 72’ ‘D’, ‘T’ ‘B’, ‘D’, N’

PVK 16 H

или

1 A + 32/48 H

PVK, зашифрованный под LMK 14-15

вариант 0.

или

1 A + n A

Для ключевого блока LMK «PVK»

должен соответствовать следующим

значениям:

Key Usage Algorithm Mode of Use

‘V1’ ‘D’, ‘T’ ‘C’, ‘G’, N’

PIN-блок 16 H PIN-блок, для которого требуется

сформировать PIN-offset,

зашифрованный под ZPK или TPK.

Код формата

PIN-блока

2 N Один из возможных форматов

PIN-блоков (см. Приложение 4).

Если в консольных настройках

установлен флаг «Запретить уязвимые

PIN-блоки», то формат PIN-блока

должен быть 01 (ISO format 0) или 47

(ISO format 3).

Минимальная длина

PIN

2 N Минимальная длина PIN.

Номер счета (Account

Number)

12 N 12 правых цифр Account Number, за

исключением контрольной цифры.

Таблица

децимализации

16 N

16 N, если открытая таблица

децимализации

или

16 H

16 H, если шифрованная под LMK

таблица децимализации.

16 H, если 3-DES Keyblock LMK

Page 191: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 191

Поле Длина и тип Описание

Командное сообщение

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK при

использовании шифрованной таблицы

децимализации

Данные проверки PIN 12 A

или

1 A + 16 H

Определяемые пользователем данные,

состоящие из шестнадцатеричных

символов и символа N, который

указывает, где вставить последние 5

цифр номера счета;

или

Определяемые пользователем данные,

состоящие из ASCII символа 'Р' и

следующих 16 шестнадцатеричных

символов, которые подаются на вход

алгоритма генерации PIN.

Разделитель 1 А Значение ‘*’.

Число исключаемых

PIN

2 N

Только, если представлены поля для

исключаемых PIN.

‘00’… ‘99’: число исключаемых PIN в

представленной таблице исключаемых

PIN.

Длина исключаемых

PIN

2 N ‘4’… ‘12’: длина каждого из

исключаемых PIN в представленной

таблице исключаемых PIN.

Только, если число исключаемых

PIN> ‘00’.

Таблица

исключаемых PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых

PIN» на значение поля «Длина

исключаемых PIN».

Page 192: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 192

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BL’.

Код ошибки 2 А 00 – нет ошибок;

03 – некорректное число исключаемых

PIN;

10 – ошибка четности ключа TPK или

ZPK;

11 – ошибка четности PVK;

23 – недопустимый формат PIN-блока;

81 – несоответствие длины PIN;

86 – PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN Offset

12 H

Результирующая величина

сгенерированного PIN-offset, выравненная

по левому краю и дополненная ‘F’.

Page 193: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 193

Загрузка таблицы PIN для проверки «слабых» PIN (BM)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Загрузка в память HSM таблицы PIN для проверки «слабых» PIN.

Примечание: Таблица загружается в энергонезависимую память HSM и

сохраняется после потери питания. В общей сложности может быть

загружено до 9 таблиц с максимальным числом PIN в каждой

таблице – 99. Длина PIN в каждой таблице одинаковая (от 4 до 12).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BM’.

Число «слабых» PIN 2 N ‘00’ … ’99’. Число PIN в таблице.

Длина «слабых» PIN 2 N ‘04’ … ’12’. Длина каждого из PIN в

таблице.

Таблица «слабых»

PIN

n N Таблица «слабых» PIN. Длина каждой

записи таблицы соответствует значению

поля «Длина «слабых» PIN». Число

записей в таблице соответствует

значению поля «Число «слабых» PIN».

Page 194: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 194

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BN’.

Код ошибки 2 А 00 – нет ошибок;

41 – ошибка памяти;

86 – PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 195: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 195

Перешифрование PIN из-под TPK под ZPK (CA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN блока из зашифрованного под TPK в

зашифрованный под ZPK с задаваемым опционально переводом из

одного формата PIN блока в другой формат.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘CA’.

TPK 16 H

или

1A + 32/48 H

TPK, под который зашифрован PIN-блок.

TPK зашифрован под LMK 14-15 вариант

0.

или

1 A + n A

Для Keyblock TPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’ ‘D’, ‘T’ ‘B’, ‘D’, N’

ZPK 16 H

или

1A + 32/48 H

ZPK, под который должен быть

перешифрован PIN-блок. ZPK

зашифрован под LMK 06-07.

или

1 A + n A

Для Keyblock ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘E’, N’

‘B0’, ‘41’ ‘T’ ‘X’, ‘N

Максимальная длина

PIN

2 N Значение ‘12’.

Исходный PIN-блок 16 H Исходный PIN-блок, зашифрованный под

TPK

Page 196: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 196

Поле Длина и тип Описание

Командное сообщение

Код формата

исходного PIN-блока

2 N Код формата исходного PIN-блока

(см. Приложение 4).

Код формата

возвращаемого

PIN-блока

2 N Код формата возвращаемого PIN-блока

(см. Приложение 4).

Номер счета (Account

Number)

12 N

или

18 H

Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘CB’.

Код ошибки 2 А 00 – нет ошибок

10 – ошибка четности исходного TPK

11 – ошибка четности ZPK

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1)

Длина PIN 2 N Длина возвращаемого PIN.

Возвращаемый

PIN-блок

16 H Возвращаемый PIN-блок,

зашифрованный под ZPK.

Формат возвращаемого

PIN-блока

2 N Аналогично командному сообщению.

Page 197: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 197

Перешифрование PIN из-под одного ZPK под другой (CC)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN блока из-под зашифрованного под ZPK в

зашифрованный под другой ZPK с задаваемым опционально

переводом из одного формата PIN блока в другой формат.

Примечание: Если ZPK один и тот же, то меняется только формат PIN-блока.

Если формат PIN-блока один и тот же, то меняется только ключ.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘CC’.

Исходный ZPK 16 H

или

1 A + 32/48 H

ZPK, под который зашифрован PIN-блок.

ZPK зашифрован под LMK 06-07.

или

1 A + n A

Исходный ZPK должен содержать

следующие значения:

Key Usage Algorithm Mode of Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘D’, N’

Текущий ZPK 16 H

или

1 A + 32/48 H

ZPK, под который должен быть

перешифрован PIN-блок. ZPK

зашифрован под LMK 06-07.

или

1 A + n A

Текущий ZPK должен содержать

следующие значения:

Key Usage Algorithm Mode of Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘E’, N’

Максимальная длина

PIN

2 N Значение ‘12’.

Page 198: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 198

Поле Длина и тип Описание

Командное сообщение

Исходный PIN-блок 16 H Исходный PIN-блок, зашифрованный

под исходный ZPK.

Код формата

исходного PIN-блока

2 N Код формата исходного PIN-блока

(см. Приложение 4).

Код формата

возвращаемого

PIN-блока

2 N Код формата возвращаемого PIN-блока

(см. Приложение 4).

Номер счета (Account

Number)

12 N или 18 H

Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘CD’.

Код ошибки 2 А

Длина PIN 2 N Длина возвращаемого PIN.

Возвращаемый

PIN-блок

16 H Возвращаемый PIN-блок,

зашифрованный под текущий ZPK.

Формат возвращаемого

PIN-блока

2 N Аналогично командному сообщению.

Page 199: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 199

Генерация и проверка VISA PVV (для пользовательского PIN) (CU)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка VISA PVV. В случае успеха, генерация PVV с

использованием пользовательского PIN. Текущий и новый PIN

шифруются в виде PIN-блока.

Примечания: По требованиям VISA параметр PVKI (PIN Verification Key

Indicator) l должен находиться в диапазоне от 0 до 6.

Данная команда также может опционально проверить PIN,

подаваемый на вход по «Таблице исключаемых PIN» («Excluded PIN

Table»), чтобы исключить «слабый» PIN.

Внимание: Выполнение данной команды зависит от настройки безопасности

(консольный режим «Настройка»): «Включить проверку слабых

PIN»: (флаг установлен/флаг не установлен)

• Если флаг установлен, то выполняется проверка PIN по

глобальной «Таблице исключаемых PIN» («Excluded PIN

Table») и локальной «Таблице исключаемых PIN» (если она

присутствует), подаваемой на вход команды. Если найдено

совпадение, то выдается ошибка 86.

• Если флаг не установлен, то проверка PIN по глобальной

«Таблице исключаемых PIN» не выполняется. Проверка

выполняется по локальной «Таблице исключаемых PIN» (если

она присутствует). Если найдено совпадение, то выдается

ошибка 86.

• В случае проверки по глобальной «Таблице исключаемых PIN»

проверка осуществляется только по таблицам с PIN

соответствующей длины.

Page 200: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 200

• Перед проверкой по локальной «Таблице исключаемых PIN»

осуществляется проверка соответствия значения поля «Длина

исключаемого PIN» длине проверяемого PIN.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘CU’.

Тип ключа 3 H Тип ключа, на котором зашифрован

PIN-блок:

‘001’: ZPK (зашифрованный под LMK

06-07);

‘002’: TPK (зашифрованный под LMK

14-15).

Это поле игнорируется, должно быть

установлнено значение «FFF»

Ключ PIN-блока 16 H

или

1 A + 32/48 H

ZPK или TPK (зашифрованный под

LMK).

или

1 A + n A

Для Ketblock LMK должно содержать

следующие значения:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’,

‘72’

‘D’, ‘T’ ‘B’, ‘D’, N’

PVK 32 H

или

1 A + 32 H

PVK, зашифрованный под LMK 14-15

вариант ‘0’.

или

1 A + n A

Для Keyblock LMK «PVK» является

двустрочным ключом и должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘V2’ ‘T’ ‘C’, N’

Page 201: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 201

Поле Длина и тип Описание

Командное сообщение

Текущий PIN-блок 16 H Текущий PIN-блок, зашифрованный под

ZPK или TPK.

Код формата PIN-блока 2 N Один из возможных форматов

PIN-блоков (см. Приложение 4).

Если в консольных настройках

установлен флаг «Запретить уязвимые

PIN-блоки», то формат PIN-блока

должен быть 01 (ISO format 0) или 47

(ISO format 3).

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

PVKI 1 N Значение между ‘0’ и ‘6’.

Текущий PVV 4 N PVV для текущего PIN.

Новый PIN-блок 16 H Новый PIN-блок, зашифрованный под

ZPK или TPK.

Разделитель 1 А Значение ‘*’.

Только, если представлены поля для

исключаемых PIN.

Число исключаемых

PIN

2 N ‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых

PIN.

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из

исключаемых PIN в представленной

таблице исключаемых PIN.

Только, если число исключаемых PIN>

‘00’.

Page 202: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 202

Поле Длина и тип Описание

Командное сообщение

Таблица исключаемых

PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых

PIN» на значение поля «Длина

исключаемых PIN».

Page 203: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 203

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘CV’.

Код ошибки 2 А 00 – нет ошибок

01 – ошибка проверки PIN

10 – ошибка четности ключа PIN-блока

11 – ошибка четности PVK

27 – PVK не двойной длины

69 – недопустимый формат PIN-блока

81 – несоответствие длины PIN-блока

86 – PIN обнаружен в таблице

исключаемых PIN

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1)

Новый PVV 4 N PVV, вычисленный для нового PIN.

Page 204: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 204

Проверка терминального PIN IBM-методом (DA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN, полученного от локального ATM (или PIN pad), с

использованием IBM 3624 method.

Примечание: В команде может быть использована открытая или

зашифрованная таблица децимализации.

Открытая таблица децимализации должна состоять из 16 цифр, при

этом, должна содержать не менее 8 различных цифр, и каждая цифра

может повторяться не более 4 раз. Если требование не выполняется,

выдается ошибка 25. Проверка включается установкой

соответствующего флага (консольный режим «Настройки»).

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

• «Таблица децимализации зашифрована»: (флаг

установлен/флаг не установлен)

Если флаг установлен, то таблица децимализации, подаваемая на

вход, должна быть зашифрована (с помощью консольной команды

«Зашифрование таблицы децимализации» – ED) и состоять из 16

шестнадцаритичных символов (для Variant LMK или 3-DES

Keyblock LMK) или 'L' + 32 шестнадцаритичных символов (для AES

Keyblock LMK).

Если флаг не установлен, то таблица децимализации, подаваемая на

вход, должна быть не зашифрована и состоять из 16 десятичных

символов.

• «Включить проверку таблицы децимализации»: (флаг

установлен/флаг не установлен)

Page 205: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 205

Если флаг установлен, то выполняется проверка таблицы

децимализации, подаваемой на вход: таблица децимализации

должна содержать не менее 8 различных цифр, и каждая цифра

должна повторяться не более 4 раз.

Если флаг не установлен, то проверка таблицы децимализации не

выполняется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘DA’.

TPK 16 H

или

1 A + 32/48 H

TPK, под который зашифрован PIN-блок.

TPK зашифрован под LMK 14-15.

или

1 A + n A

Для Keyblock LMK TPK должен

содержать следующие значения:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PVK 16 H

или

1 A + 32/48 H

PVK для формирования PVV. Каждый

PVK из пары зашифрован под

LMK 14-15.

или

1 A + n A

Для Keyblock LMK PVK должен

содержать следующие значения:

Key Usage Algorithm Mode of Use

‘V1’ ‘D’, ‘T’ ‘C’, ‘V’, ‘N’

Максимальная длина

PIN

2 N Значение ‘12’.

PIN-блок 16 H PIN-блок, зашифрованный под TPK.

Код формата PIN-блока 2 N Код формата PIN-блока

(см. Приложение 4).

Проверочная длина 2 N Минимальная длина PIN.

Page 206: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 206

Поле Длина и тип Описание

Командное сообщение

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Таблица

децимализации

16 N

16 N, если открытая таблица

децимализации

или

16 H

16 H, если шифрованная под LMK

таблица децимализации.

16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK при

использовании шифрованной таблицы

децимализации

Данные для проверки

PIN

(PIN Validation Data)

12 A Пользовательские данные, состоящие из

шестнадцатиричных символов и символа

N, который определяет, куда вставлять

последние 5 цифр Account Number.

Offset 12 H Значение PIN-offset, выравненное слева

и дополненное ‘F’.

Page 207: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 207

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘DB’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки PIN;

02 – PVK не одинарной длины;

10 – ошибка четности TPK;

11 – ошибка четности PVK;

23 – недопустимый формат PIN-блока;

27 – PVK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 208: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 208

Проверка терминального PIN с использованием VISA метода (DC)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN, полученного от локального ATM (или PIN pad), с

использованием VISA PVV Method.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘DC’.

TPK 16 H

или

1 A + 32/48 H

TPK, под который зашифрован PIN-блок.

TPK зашифрован под LMK 14-15.

или

1 A + n A

Для Keyblock LMK PVK должен

содержать следующие значения:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PVK 32 H

или

1 A + 32 H

PVK для формирования PVV. PVK

зашифрован под LMK 14-15.

или

1 A + n A

Для Keyblock LMK PVK является

ключом двойной длины и должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘V2’ ‘T’ ‘C’, ‘V’, ‘N’

PIN-блок 16 H PIN-блок, зашифрованный под TPK.

Код формата PIN-блока 2 N Код формата PIN-блока (см.

Приложение 4).

Номер счета (Account

Number)

12 N

или

Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

Page 209: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 209

Поле Длина и тип Описание

18 H исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

PVKI 1 N PVKI (значение между ‘0’ и ‘6’).

PVV 4 N PVV для PIN.

Page 210: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 210

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘DD’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки PIN;

10 – ошибка четности TPK;

11 – ошибка четности PVK;

23 – недопустимый формат PIN-блока;

27 – PVK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 211: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 211

Генерация PIN-offset IBM-методом из зашифрованного под LMK

PIN (DE)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация PIN-offset с использованием IBM 3624 метода. PIN (для

которого требуется сгенерировать PIN-offset) подается на вход

зашифрованным под LMK.

Примечания: Если используется ключ PVK двойной или тройной длины, то

ошибка 02 возвращается в качестве предупреждения, генерация

PIN-offset при этом продолжается с использованием TDES вместо

DES.

Данная команда также может опционально проверить PIN,

подаваемый на вход по «Таблице исключаемых PIN» («Excluded PIN

Table»), чтобы исключить «слабый» PIN.

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

• «Таблица децимализации зашифрована»: (флаг

установлен/флаг не установлен)

Если флаг установлен, то таблица децимализации, подаваемая на

вход, должна быть зашифрована (с помощью консольной команды

«Зашифрование таблицы децимализации» – ED) и состоять из 16

шестнадцаритичных символов (для Variant LMK или 3-DES

Keyblock LMK) или 'L' + 32 шестнадцаритичных символов (для AES

Keyblock LMK).

Если флаг не установлен, то таблица децимализации, подаваемая на

вход, должна быть не зашифрована и состоять из 16 десятичных

символов.

Page 212: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 212

• «Включить проверку таблицы децимализации»: (флаг

установлен/флаг не установлен)

Если флаг установлен, то выполняется проверка таблицы

децимализации, подаваемой на вход: таблица децимализации

должна содержать не менее 8 различных цифр, и каждая цифра

должна повторяться не более 4 раз.

Если флаг не установлен, то проверка таблицы децимализации не

выполняется.

• «Включить проверку слабых PIN»: (флаг установлен/флаг не

установлен)

Если флаг установлен, то выполняется проверка PIN по «Таблице

исключаемых PIN» («Excluded PIN Table»), чтобы исключить

«слабый» PIN. Если найдено совпадение, то выдается ошибка 86.

Если флаг не установлен, то проверка PIN не выполняется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘DE’.

PVK 16 H

или

1 A + 32/48 H

Ключ PVK, зашифрованный под LMK

14-15.

или

1 A + n A

Для Keyblock LMK PVK должен

содержать следующие значения:

Key Usage Algorithm Mode of Use

‘V1’ ‘D’, ‘T’ ‘C’, ‘G’, ‘N’

PIN PIN, для которого требуется

сгенерировать PIN-offset, зашифрованный

под LMK.

L N Для вариантных LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

Page 213: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 213

Поле Длина и тип Описание

Командное сообщение

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

Длина PIN-offset 2 N Длина PIN-offset.

Номер счета (Account

Number)

12 N 12 правых цифр Account Number, за

исключением контрольной цифры.

Таблица

децимализации

16 N

16 N, если открытая таблица

децимализации

или

16 H

16 H, если шифрованная под LMK

таблица децимализации.

16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK при

использовании шифрованной таблицы

децимализации

Данные проверки PIN 12 A

или

1 A + 16 H

Определяемые пользователем данные,

состоящие из шестнадцатеричных

символов и символа N, который

указывает, где вставить последние

пять цифр номера счета

или

Определяемые пользователем данные,

состоящие из ASCII символа 'Р' и

следующих 16 шестнадцатеричных

символов, которые подаются на вход

алгоритма генерации PIN.

Разделитель 1 А Значение ‘*’.

Только, если представлены поля для

исключаемых PIN.

Page 214: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 214

Поле Длина и тип Описание

Командное сообщение

Число исключаемых

PIN

2 N ‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых

PIN.

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из

исключаемых PIN в представленной

таблице исключаемых PIN.

Только, если число исключаемых

PIN> ‘00’.

Таблица исключаемых

PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых

PIN» на значение поля «Длина

исключаемых PIN».

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘DF’.

Код ошибки 2 А 00 – нет ошибок;

02 – PVK не единичной длины;

10 – ошибка четности ключа PVK;

81 – ошибка длины PIN;

86 – PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Offset 12 H Результирующая величина

сгенерированного PIN-offset,

выравненная по левому краю и

дополненная ‘F’.

Page 215: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 215

Генерация VISA PVV (PIN Verification Value) (для PIN,

зашифрованного под LMK) (DG)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация 4-значного VISA PVV. PIN, для которого требуется

вычислить PVV, подается на вход зашифрованным под LMK.

Примечания: PIN, зашифрованный под LMK, представляет собой не чистый

PIN, а PIN, криптографически замешанный с Account Number.

Данная команда также может опционально проверить PIN,

подаваемый на вход по «Таблице исключаемых PIN» («Excluded PIN

Table»), чтобы исключить «слабый» PIN.

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

• «Включить проверку слабых PIN»: (флаг установлен/флаг не

установлен)

Если флаг установлен, то выполняется проверка PIN по «Таблице

исключаемых PIN» («Excluded PIN Table»), чтобы исключить

«слабый» PIN. Если найдено совпадение, то выдается ошибка 86.

Если флаг не установлен, то проверка PIN не выполняется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘DG’.

PVK 32 H

или

1 A + 32 H

PVK, зашифрованный под LMK 14-15

вариант ‘0’.

Page 216: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 216

Поле Длина и тип Описание

Командное сообщение

или

1 A + n A

Для Keyblock LMK PVK является

двустрочным ключом и должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘V2’ ‘T’ ‘C’, ‘G’, ‘N’

PIN PIN, для которого требуется

сгенерировать PVV, зашифрованный

под LMK.

L N

Для вариантных LMK 3 DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK – 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым

идут 32 шестнадцатеричных символа.

Номер счета (Account

Number)

12 N 12 правых цифр Account Number, за

исключением контрольной цифры.

PVKI 1 N Значение между ‘0’ и ‘6’.

Разделитель 1 А Значение ‘*’.

Только, если представлены поля для

исключаемых PIN.

Число исключаемых

PIN

2 N ‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых

PIN.

Page 217: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 217

Поле Длина и тип Описание

Командное сообщение

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из

исключаемых PIN в представленной

таблице исключаемых PIN.

Только, если число исключаемых

PIN> ‘00’.

Таблица исключаемых

PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых

PIN» на значение поля «Длина

исключаемых PIN».

Page 218: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 218

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘DH’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ключа PVK;

27 – PVK не двойной длины;

81 – ошибка длины PIN;

86 – PIN найден в таблице

исключаемых PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PVV 4 N Результирующая величина

сгенерированного PVV.

Page 219: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 219

Генерация и проверка PIN Offset IBM-методом (для нового

пользовательского PIN) (DU)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN-Offset IBM-методом. В случае успеха, генерация

PIN-offset для нового PIN пользователя с использованием IBM 3624

метода. PIN (для которого требуется сгенерировать PIN-offset)

подается на вход зашифрованным под LMK. Текущий и новый PIN

шифруются в виде PIN-блока.

Примечания:

Данная команда также может опционально проверить PIN,

подаваемый на вход по «Таблице исключаемых PIN» («Excluded PIN

Table»), чтобы исключить «слабый» PIN.

Если используется ключ PVK двойной длины, то ошибка 02

возвращается в качестве предупреждения, генерация PIN-offset при

этом продолжается с использованием TDES вместо DES

Внимание: Выполнение данной команды зависит от настройки безопасности

(консольный режим «Настройка»):

«Таблица децимализации зашифрована»: (флаг установлен/флаг не

установлен)

• Если флаг установлен, то таблица децимализации, подаваемая

на вход, должна быть зашифрована (с помощью консольной

команды «Зашифрование таблицы децимализации» – ED) и

состоять из 16 шестнадцаритичных символов (для Variant LMK

или 3-DES Keyblock LMK) или 'L' + 32 шестнадцаритичных

символов (для AES Keyblock LMK).

Page 220: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 220

• Если флаг не установлен, то таблица децимализации,

подаваемая на вход, должна быть не зашифрована и состоять

из 16 десятичных символов.

«Включить проверку таблицы децимализации»: (флаг

установлен/флаг не установлен)

• Если флаг установлен, то выполняется проверка таблицы

децимализации, подаваемой на вход: таблица децимализации

должна содержать не менее 8 различных цифр, и каждая цифра

должна повторяться не более 4 раз.

• Если флаг не установлен, то проверка таблицы децимализации

не выполняется.

«Включить проверку слабых PIN»: (флаг установлен/флаг не

установлен)

• Если флаг установлен, то выполняется проверка PIN по

глобальной «Таблице исключаемых PIN» («Excluded PIN

Table») и локальной «Таблице исключаемых PIN» (если она

присутствует), подаваемой на вход команды. Если найдено

совпадение, то выдается ошибка 86.

• Если флаг не установлен, то проверка PIN по глобальной

«Таблице исключаемых PIN» не выполняется. Проверка

выполняется по локальной «Таблице исключаемых PIN» (если

она присутствует). Если найдено совпадение, то выдается

ошибка 86.

• В случае проверки по глобальной «Таблице исключаемых

PIN» проверка осуществляется только по таблицам с PIN

соответствующей длины.

• Перед проверкой по локальной «Таблице исключаемых PIN»

осуществляется проверка соответствия значения поля «Длина

исключаемого PIN» длине проверяемого PIN.

Page 221: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 221

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘DU’.

Тип ключа 3 H Тип ключа, на котором зашифрован

PIN-блок:

‘001’: ZPK (зашифрованный под LMK

06-07);

‘002’: TPK (зашифрованный под LMK

14-15).

Это поле игнорируется, должно быть

установлено значение "FFF"

Ключ PIN-блока

16 H

или

1 A + 32/48 H

ZPK или TPK (зашифрованный под LMK).

или

1 A + n A

Для Keyblock LMK Ключ PIN-блока должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’, ‘72’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PVK

16 H

или

1 A + 32 H

PVK, зашифрованный под LMK 14-15

вариант ‘0’.

или

1 A + n A

Для Keyblock PVK должен соответствовать

следующим значениям:

Key Usage Algorithm Mode of Use

‘V1’ ‘D’, ‘T’ ‘C’, ‘N’

Текущий PIN-блок

16 H

Текущий PIN-блок, зашифрованный под

ZPK или TPK.

Page 222: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 222

Поле Длина и тип Описание

Командное сообщение

Код формата

PIN-блока

2 N

Один из возможных форматов PIN-блоков

(см. Приложение 4).

Если в консольных настройках установлен

флаг «Запретить уязвимые PIN-блоки», то

формат

PIN-блока должен быть 01 (ISO format 0)

или 47 (ISO format 3).

Минимальная длина

PIN

2 N Минимальная длина PIN.

Номер счета

(Account Number)

12 N

или

18 H

Для всех форматов PIN-блока, кроме 04, это

12-значный поле, состоящее из 12 самых

правых цифр номера счета, за исключением

контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной цифры,

выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Таблица

децимализации

16 N

16 N, если открытая таблица

децимализации

или

16 H

16 H, если шифрованная под LMK таблица

децимализации.

16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK при

использовании шифрованной таблицы

децимализации

Данные проверки

PIN

12 A

Определяемые пользователем данные,

состоящие из шестнадцатеричных

символов и символа N, который указывает,

где вставить последние 5 цифр номера

счета.

Текущий Offset 12 H Значение PIN-offset, выравненное слева и

дополненное ‘F’.

Новый PIN-блок

16 H Новый PIN-блок, зашифрованный под ZPK

или TPK.

Page 223: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 223

Поле Длина и тип Описание

Командное сообщение

Разделитель 1 А Значение ‘*’.

Только, если представлены поля для

исключаемых PIN

Число исключаемых

PIN

2 N ‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых PIN

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из исключаемых

PIN в представленной таблице

исключаемых PIN.

Только, если число исключаемых PIN>

‘00’.

Таблица

исключаемых PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых PIN»

на значение поля «Длина исключаемых

PIN».

Page 224: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 224

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘DV’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки PIN;

02 – предупреждение: PVK не одинарной

длины;

10 – ошибка четности ключа PIN-блока;

11 – ошибка четности PVK;

23 – недопустимый формат PIN-блока;

81 – несоответствие длины PIN-блока;

86 – PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Новый Offset

12 H

Результирующая величина нового

PIN-offset, выравненная по левому краю и

дополненная ‘F’.

Page 225: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 225

Проверка PIN IBM-методом (EA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN, полученного через систему обмена, с использованием

IBM 3624 method.

Примечание: В команде может быть использована открытая или

зашифрованная таблица децимализации.

Открытая таблица децимализации должна состоять из 16 цифр, при

этом, должна содержать не менее 8 различных цифр, и каждая цифра

может повторяться не более 4 раз. Если требование не выполняется,

выдается ошибка 25. Проверка включается установкой

соответствующего флага (консольный режим «Настройки»).

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

«Таблица децимализации зашифрована»: (флаг установлен/флаг не

установлен)

• Если флаг установлен, то таблица децимализации, подаваемая

на вход, должна быть зашифрована (с помощью консольной

команды «Зашифрование таблицы децимализации» – ED) и

состоять из 16 шестнадцаритичных символов (для Variant

LMK или 3-DES Keyblock LMK) или 'L' + 32

шестнадцаритичных символов (для AES Keyblock LMK).

• Если флаг не установлен, то таблица децимализации,

подаваемая на вход, должна быть не зашифрована и состоять

из 16 десятичных символов.

«Включить проверку таблицы децимализации»: (флаг

установлен/флаг не установлен)

Page 226: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 226

• Если флаг установлен, то выполняется проверка таблицы

децимализации, подаваемой на вход: таблица децимализации

должна содержать не менее 8 различных цифр, и каждая цифра

должна повторяться не более 4 раз.

• Если флаг не установлен, то проверка таблицы децимализации

не выполняется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ЕA’.

ZPK 16 H

или

1 A + 32/48 H

ZPK, под который зашифрован PIN-блок.

ZPK зашифрован под LMK 06-07.

или

1 A + n A

Для Keyblock LMK ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PVK 16 H

или

1 A + 32/48 H

PVK для формирования PVV. PVK из пары

зашифрован под LMK 14-15 вариант 0.

или

1 A + n A

Для Keyblock LMK PVK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘V1’ ‘D’, ‘T’ ‘C’, ‘V’, ‘N’

Максимальная

длина PIN

2 N Значение ‘12’.

PIN-блок 16 H PIN-блок, зашифрованный под ZPK.

Код формата

PIN-блока

2 N Код формата PIN-блока

(см. Приложение 4).

Проверочная длина 2 N Минимальная длина PIN.

Номер счета

(Account Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04, это

12-значный поле, состоящее из 12 самых

Page 227: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 227

Поле Длина и тип Описание

Командное сообщение

правых цифр номера счета, за исключением

контрольной цифры.

Для PIN-блока в формате 04, это 18-значное

поле, состоящее из номера счета, за

исключением контрольной цифры,

выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Таблица

децимализации

16 N

16 N, если открытая таблица децимализации

или

16 H

16 H, если шифрованная под LMK таблица

децимализации.

16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK при

использовании шифрованной таблицы

децимализации

Данные для

проверки PIN

(PIN Validation Data)

12 A Пользовательские данные, состоящие из

шестнадцатиричных символов и символа

N, который определяет, куда вставлять

последние 5 цифр номера счета (Account

Number).

Offset 12 H Значение PIN-offset, выравненное слева и

дополненное ‘F’.

Page 228: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 228

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EB’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки PIN;

10 – ошибка четности ZPK;

11 – ошибка четности PVK;

23 – недопустимый формат PIN-блока;

27 – PVK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 229: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 229

Получение PIN IBM-методом (EE)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Получение PIN (от 4 до 12 знаков) с использованием IBM 3624

method.

Примечание: В команде может быть использована открытая или

зашифрованная таблица децимализации.

Открытая таблица децимализации должна состоять из 16 цифр, при

этом, должна содержать не менее 8 различных цифр, и каждая цифра

может повторяться не более 4 раз. Если требование не выполняется,

выдается ошибка 25. Проверка включается установкой

соответствующего флага (консольный режим «Настройки»).

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

«Таблица децимализации зашифрована»: (флаг установлен/флаг не

установлен)

• Если флаг установлен, то таблица децимализации, подаваемая

на вход, должна быть зашифрована (с помощью консольной

команды «Зашифрование таблицы децимализации» – ED) и

состоять из 16 шестнадцаритичных символов (для Variant

LMK или 3-DES Keyblock LMK) или 'L' + 32

шестнадцаритичных символов (для AES Keyblock LMK).

• Если флаг не установлен, то таблица децимализации,

подаваемая на вход, должна быть не зашифрована и состоять

из 16 десятичных символов.

«Включить проверку таблицы децимализации»: (флаг

установлен/флаг не установлен)

Page 230: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 230

• Если флаг установлен, то выполняется проверка таблицы

децимализации, подаваемой на вход: таблица децимализации

должна содержать не менее 8 различных цифр, и каждая цифра

должна повторяться не более 4 раз.

• Если флаг не установлен, то проверка таблицы децимализации

не выполняется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ЕE’.

PVK 16 H

или

1 A + 32/48 H

PVK, зашифрованный под LMK 14-15

вариант 0.

или

1 A + n A

Для Keyblock LMK TPK должен содержать

следующие значения:

Key Usage Algorithm Mode of Use

‘V1’ ‘D’, ‘T’ ‘C’, ‘G’, ‘N’

Offset 12 H Поле содержит offset, выравненный по

левому краю.

Проверочная длина 2 N Минимальная длина PIN.

Номер счета

(Account Number)

12 N 12-значный поле, состоящее из 12 самых

правых цифр номера счета, за исключением

контрольной цифры.

Таблица

децимализации

16 N

16 N, если открытая таблица децимализации

или

16 H

16 H, если шифрованная под LMK таблица

децимализации.

16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK при

использовании шифрованной таблицы

децимализации

Page 231: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 231

Поле Длина и тип Описание

Командное сообщение

Данные для

проверки PIN

(PIN Validation Data)

12 A Пользовательские данные, состоящие из

шестнадцатиричных символов и символа N,

который определяет, куда вставлять

последние 5 цифр Account Number.

Разделитель 1 A Значение ‘*’.

Только, если представлены поля для

исключаемых PIN.

Число исключаемых

PIN

2 N ‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых PIN.

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из исключаемых

PIN в представленной таблице

исключаемых PIN.

Только, если число исключаемых PIN>

‘00’.

Таблица

исключаемых PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых PIN»

на значение поля «Длина исключаемых

PIN».

Page 232: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 232

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘EF’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ZPK;

81 – несоответствие длины PIN;

86 - PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN Полученный PIN, зашифрованный под

LMK.

L N Для вариантного LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

Page 233: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 233

Проверка PIN-блока с использованием VISA метода (EC)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка PIN, полученного от внешнего источника, с

использованием VISA PVV Method.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘EC’.

ZPK 16 H

или

1 A + 32/48 H

ZPK, под который зашифрован PIN-блок.

ZPK зашифрован под LMK 06-07.

или

1 A + n A

Для Keyblock LMK ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PVK 32 H

или

1 A + 32 H

PVK с использованием которого должна

формироваться PVV. PVK зашифрован

под LMK 14-15.

или

1 A + n A

Для Keyblock LMK ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘V2’ ‘T’ ‘C’, ‘V’, ‘N’

PIN-блок 16 H PIN-блок, зашифрованный под ZPK.

Код формата

PIN-блока

2 N Код формата PIN-блока

(см. Приложение 4).

Номер счета

(Account Number)

12 N

или

Для всех форматов PIN-блока, кроме 04,

это 12-значное поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Page 234: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 234

Поле Длина и тип Описание

18 H Для PIN-блока в формате 04,

это 18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

PVKI 1 N PVKI (значение между ‘0’ и ‘6’).

PVV 4 N PVV для PIN.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ED’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки PIN;

10 – ошибка четности ZPK;

11 – ошибка четности PVK;

23 – недопустимый формат PIN-блока;

27 – PVK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 235: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 235

Генерация VISA PVV (для выбранного пользователем PIN) (FW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация 4-значного VISA PVV. PIN, для которого требуется

вычислить PVV, подается на вход зашифрованным под LMK.

Примечания: По требованиям VISA параметр PVKI (PIN Verification Key

Indicator) l должен находиться в диапазоне от 0 до 6.

Данная команда также может опционально проверить PIN,

подаваемый на вход по «Таблице исключаемых PIN» («Excluded PIN

Table»), чтобы исключить «слабый» PIN.

Внимание: Выполнение данной команды зависит от следующих настроек

безопасности (консольный режим «Настройка»):

• «Включить проверку слабых PIN»: (флаг установлен/флаг не

установлен)

• Если флаг установлен, то выполняется проверка PIN по глобальной

«Таблице исключаемых PIN» («Excluded PIN Table») и локальной

«Таблице исключаемых PIN» (если она присутствует), подаваемой на

вход команды. Если найдено совпадение, то выдается ошибка 86.

• Если флаг не установлен, то проверка PIN по глобальной «Таблице

исключаемых PIN» не выполняется. Проверка выполняется по локальной

«Таблице исключаемых PIN» (если она присутствует). Если найдено

совпадение, то выдается ошибка 86.

• В случае проверки по глобальной «Таблице исключаемых PIN»

проверка осуществляется только по таблицам с PIN соответствующей

длины.

Page 236: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 236

• Перед проверкой по локальной «Таблице исключаемых PIN»

осуществляется проверка соответствия значения поля «Длина

исключаемого PIN» длине проверяемого PIN.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘FW’.

Тип ключа PIN-блока 3 H Тип ключа, на котором зашифрован

PIN-блок:

‘001’: ZPK (зашифрованный под

LMK 06-07);

‘002’: TPK (зашифрованный под

LMK 14-15).

Это поле игнорируется и должно быть

установлено в «FFF».

Ключ PIN-блока 16 H

или

1 A + 32/48 H

ZPK или TPK (зашифрованный под

LMK).

или

1 A + n A

Для Keyblock LMK ключ PIN-блока

должен соответствовать следующим

значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’,

‘72’

‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PVK 32 H

или

1 A + 32 H

Пара PVK, каждый PVK зашифрован

под LMK 14-15 вариант ‘0’.

или

1 A + n A

Для Keyblock LMK PVK является

ключом двойной длины должен

соответствовать следующему:

Key Usage Algorithm Mode of Use

‘V2’ ‘T’ ‘C’, ‘G’, ‘N’

Page 237: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 237

Поле Длина и тип Описание

Командное сообщение

PIN-блок 16 H PIN-блок, зашифрованный под ZPK или

TPK.

Код формата

PIN-блока

2 H Один из возможных кодов формата

PIN-блока. (см. Приложение 4).

Номер счета (Account

Number)

12 N

или

18 H

12 правых цифр Account Number, за

исключением контрольной цифры

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

PVKI 1 N Значение между ‘0’ и ‘6’.

Разделитель

1 А

Значение ‘*’.

Только, если представлены поля для

исключаемых PIN.

Только, если представлены поля для

исключаемых PIN.

Число исключаемых

PIN

2 N

‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых

PIN.

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из

исключаемых PIN в представленной

таблице исключаемых PIN.

Только, если число исключаемых PIN>

‘00’.

Таблица

исключаемых PIN

n N Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых

PIN» на значение поля «Длина

исключаемых PIN».

Page 238: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 238

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘FX’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ключа PVK;

23 – недопустимый формат

PIN-блока;

27 – PVK не двойной длины

81 – несоответствие длины PIN;

86 – PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PVV 4 N Результирующая величина

сгенерированного PVV.

Page 239: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 239

Генерация случайного PIN (JA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация случайного PIN длиной от 4 до 12 цифр.

Примечание: Если длина PIN не определена, то генерируется 4-значный PIN.

Длина PIN не должна превышать максимального значения,

заданного в настройках (консольный режим «Настройка»).

Команда может опционально проверить сгенерированный PIN по

«Таблице слабых PIN».

Внимание: Выполнение данной команды зависит от настройки безопасности

(консольный режим «Настройка»): «Включить проверку слабых

PIN» (флаг установлен/флаг не установлен):

• Если флаг установлен, то выполняется проверка PIN по

глобальной «Таблице исключаемых PIN» («Excluded PIN

Table») и локальной «Таблице исключаемых PIN» (если она

присутствует), подаваемой на вход команды. Если найдено

совпадение, то выдается ошибка 86.

• Если флаг не установлен, то проверка PIN по глобальной

«Таблице исключаемых PIN» не выполняется. Проверка

выполняется по локальной «Таблице исключаемых PIN» (если

она присутствует). Если найдено совпадение, то выдается

ошибка 86.

• В случае проверки по глобальной «Таблице исключаемых PIN»

проверка осуществляется только по таблицам с PIN

соответствующей длины.

Page 240: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 240

• Перед проверкой по локальной «Таблице исключаемых PIN»

осуществляется проверка соответствия значения поля «Длина

исключаемого PIN» длине проверяемого PIN.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JA’.

Номер счета (Account

Number)

12 N 12-значное поле, состоящее из 12 самых

правых цифр номера счета, за

исключением контрольной цифры.

Длина PIN 2 N Опционально. От 4 до 12. Если не

представлено, то генерируется PIN

длиной 4 цифры.

Разделитель 1 A Опционально. Только если представлены

следующие поля. Значение ‘; ’.

Число исключаемых

PIN

2 N ‘00’ … ‘99’: число исключаемых PIN в

представленной таблице исключаемых

PIN.

Длина исключаемых

PIN

2 N ‘4’ … ‘12’: длина каждого из

исключаемых PIN в представленной

таблице исключаемых PIN.

Только, если число исключаемых

PIN> ‘00’

Таблица

исключаемых PIN

n N

Список PIN для исключения. Длина

данного поля вычисляется умножением

значения поля «Число исключаемых

PIN» на значение поля «Длина

исключаемых PIN».

Page 241: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 241

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JB’.

Код ошибки 2 А 00 – нет ошибок;

81 – длина PIN превышена;

86 - PIN найден в таблице исключаемых

PIN;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN PIN, зашифрованный под LMK.

L N Для вариантных LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK - AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

Page 242: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 242

Перешифрование PIN из-под TPK под LMK (JC)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN блока из зашифрованного под TPK в

зашифрованный под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JC’.

TPK 16 H

или

1 A + 32/48 H

TPK, под который зашифрован PIN-блок.

TPK зашифрован под LMK 14-15 вариант

0, если параметр безопасности «Enforce

key type 002 для соответствия PCI HSM»

имеет значение «N» или под LMK 36-37

вариант 7 если значение имеет значение

«Y».

или

1 A + n A

Для Keyblock TPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘P0’, ‘71’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

Исходный PIN-блок 16 H Исходный PIN-блок, зашифрованный под

TPK.

Код формата

исходного PIN-блока

2 N Код формата исходного PIN-блока

(см. Приложение 4).

Код формата

возвращаемого

PIN-блока

2 N Код формата возвращаемого PIN-блока

(см. Приложение 4).

Page 243: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 243

Поле Длина и тип Описание

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значное поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Page 244: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 244

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JD’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности исходного TPK;

23 – недопустимый формат PIN-блока;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN PIN, зашифрованный под LMK.

L N Для вариантного LMK:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым

идут 32 шестнадцатеричных символа.

Page 245: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 245

Перешифрование PIN из-под ZPK под LMK (JE)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN блока из зашифрованного под ZPK в

зашифрованный под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JE’.

ZPK 16 H

или

1 A + 32/48 H

ZPK, под которым зашифрован PIN-блок.

ZPK зашифрован под LMK 06-07.

или

1 A + n A

Для Keyblock LMK ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘PO’, ‘72’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

PIN-блок 16 H Исходный PIN-блок, зашифрованный

под ZPK.

Код формата

PIN-блока

2 N Код формата PIN-блока

(см. Приложение 4).

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

Page 246: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 246

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JF’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности исходного ZPK;

23 – недопустимый формат PIN-блока;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN PIN, зашифрованный под LMK.

L N Для вариантного LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

При использовании AES Keyblock LMK

это поле должно состоять из «J», за

которым идут 32 шестнадцатеричных

символа.

Page 247: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 247

Перешифрование PIN из-под LMK под ZPK (JG)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN блока из зашифрованного под LMK в

зашифрованный под ZPK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JG’.

ZPK 16 H

или

1 A + 32/48 H

ZPK, под которым зашифрован PIN-блок.

ZPK зашифрован под

LMK 06-07.

или

1 A + n A

Для Keyblock LMK ZPK должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘PO’, ‘72’ ‘D’, ‘T’ ‘B’, ‘E’, ‘N’

Код формата

PIN-блока

2 N Код формата PIN-блока

(см. Приложение 4).

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме 04,

это 12-значный поле, состоящее из 12

самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю и

дополненное X'F слева, если это

необходимо.

PIN PIN, зашифрованный под LMK.

L N Для вариантных LMK 3-DES:

Page 248: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 248

Поле Длина и тип Описание

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JH’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности исходного ZPK;

23 – недопустимый формат PIN-блока;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

PIN-блок L N PIN-блок, зашифрованный под ZPK.

Page 249: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 249

Перешифрование PIN, зашифрованного под LMK, со сменой

номера счета (Account Number) (QK)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование PIN, зашифрованного под LMK 02-03, со сменой

Account Number со «старого» на новое значение. Значение PIN

остается неизменным.

Примечание: PIN зашифрован под LMK с использованием проприетарного

алгоритма с замешиванием номера счета (Account Number). Поэтому

при смене значения Account Number шифрограмма PIN под LMK

изменяется.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘QK’.

PIN PIN, зашифрованный под LMK

L N Для вариантных LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

1 A + 32 H Для Keyblock LMK - AES:

Это поле должно состоять из «J», за

которым идут 32 шестнадцатеричных

символа.

Page 250: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 250

Поле Длина и тип Описание

«Старый» Account

Number (Old Account

Number)

12 N или 18 H Для всех форматов PIN-блока кроме 04 –

это 12-значное поле, составленное из 12

самых правых символов от «старого»

номера счета, исключая контрольное

значение

Для PIN-блока формата 04 – это

18-значное поле, составленное из

«старого» номера счета, исключая

контрольное значение, выравнивается по

правому краю, и cлева дополняется X'F

«Новый» Account

Number (New Account

Number)

12 N или 18 H Для всех форматов PIN-блока кроме 04 –

это 12-значное поле, составленное из 12

самых правых символов «нового» номера

счета, исключая контрольное значение

Для PIN-блока формата 04 – это

18-значное поле, составленное из

«нового» номера счета, исключая

контрольное значение, выравнивается по

правому краю, и cлева дополняется X'F

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘QL’.

Код ошибки 2 А 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Выходной PIN L N PIN, зашифрованный под LMK с

использованием «нового» Account

Number

Page 251: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 251

Перешифрование PIN (ZE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Перешифрование PIN блока из зашифрованного под PIN ключа ZPK

в зашифрованный под LMK или ZPK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ZE’.

Флаг режима 2 A 0 = Выходной формат PIN блока не

изменяется.

1 = Выходной формат PIN блока и ключ

выбирается пользователем.

ZPK 32 H

или

1 A + 32 H

или

1 А + 48 H

ZPK, под которым зашифрован PIN-блок.

ZPK зашифрован под LMK 06-07.

PIN-блок 16 H Исходный PIN-блок, зашифрованный

под ZPK.

Код формата

исходного PIN-блока

2 N Код формата исходного PIN-блока

(см. Приложение 4).

Номер счета (Account

Number)

12 N 12 самых правых цифр номера счета, за

исключением контрольной цифры.

Флаг выходного

ключа шифрования

1 N Значение флага выходного ключа:

0 = LMK 38-39 вариант 9;

1 = ZPK только при установленном

флаге режима 1

Формат выходного

PIN-блока

2 H Формат выходного PIN-блока только

при установленном флаге режима 1.

Page 252: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 252

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZF’.

Код ошибки 2 А 00 – нет ошибок;

04 – недопустимый флаг режима;

05 – ключ шифрования не соответствует

флагу режима;

10 – ошибка четности исходного ZPK;

12 – ошибка соответствия ZPK;

13 – ошибка четности мастер-ключа;

15 – ошибка входных данных;

20 – ошибка данных PIN блока;

21 – неверный индекс клиента;

23 – недопустимый код формата

входного PIN-блока;

24 – невернаая длина PIN (меньше 4 или

больше 12 цифр);

25 – недопустимый код формата

выходного PIN-блока;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Выходной PIN блок 8 B PIN блок перешифрован под требуемый

ключ шифрования.

Page 253: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 253

Процессинг по чиповым картам (EMV)

Проверка ARQC и/или генерация ARPC (EMV 3.1.1) (KQ)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: См. Примечание См. Примечание

Функция: Проверка ARQC (TC/AAC) и, опционально, генерация ARPC.

Команда может быть использована только для генерации ARPC.

Примечания: Для вывода диагностических данных требуется авторизация.

Команда поддерживает следующие CVN (Cryptogram Version

Number):

Тип карты (приложения) Идентификатор

Visa VIS (CVN 10 или 18) ‘0’

MasterCard M/Chip (CVN 10 или 11) ‘1’

American Express AEIPS (CVN 01) ‘2’

За паддинг данных, подаваемых на вход команды, ответственен хост.

В некоторых методах это означает добавление шестнадцатиричных

‘80’ в конец поля данных. Если данные кратны 8 байтам, команда не

выполняет паддинг.

Page 254: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 254

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KQ’.

Флаг режима 1 N Режим:

‘0’ : Только проверка ARQC;

‘1’ : Проверка ARQC и генерация ARPC;

‘2’ : Только генерация ARPC;

‘3’ : Проверка ARQC и проверка

MAC за выборочные данные

(Discretionary Data). Для

идентификатора типа карты = ‘0’;

‘4’ : Проверка ARQC, и проверка

MAC за выборочные данные

(Discretionary Data) и генерация ARPC.

Для идентификатора типа карты = ‘0’.

Идентификатор типа

карты (ПП)

1 N Идентификатор типа карты (ПП):

‘0’ : Visa VIS;

‘1’ : MasterCard M/Chip;

‘2’ : American Express AEIPS.

IMK-AC Мастер-ключ эмитента для генерации и

проверки прикладной криптограммы.

32 H

или

1 A + 32 H

Для вариантных LMK:

Зашифрован под LMK 28-29 вариант 1.

или

1 A + n A

Для Keyblock LMK:

IMK-AC должен соответствовать

следующему:

Key Usage Algorithm Mode of Use

‘E0’ ‘T’ ‘N’

IMK-SMI Мастер-ключ эмитента для обеспечения

целостности секретных сообщений.

Только если флаг режима ‘3’ или ‘4’ и

идентификатор типа карты = ‘0’.

Page 255: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 255

Поле Длина и тип Описание

Командное сообщение

32 H

или

1 A + 32 H

Для вариантных LMK:

Зашифрован под LMK 28-29 вариант 2.

или

1 A + n A

Для Keyblock LMK:

IMK-SMI должен соответствовать

следующему:

Key Usage Algorithm Mode of Use

‘E1’ ‘T’ ‘N’

PAN/PAN Sequence

No

8 B Переформатированный PAN/PAN

Sequence No.

ATC 2 B Счетчик транзакций

(Application Transaction Counter).

UN 4 B Unpredictable Number. Для типа

идентификатора типа карты = ‘0’, поле

присутствует, но не используется.

Длина данных

транзакции

2 H Длина следующего поля. От ‘1’ до ‘255’.

Только если флаг режима ‘0’, ‘1’, ‘3’ или

‘4’.

Данные транзакции n B Данные переменной длины. Только если

флаг режима ‘0’, ‘1’, ‘3’ или ‘4’. Если

данные кратны 8 байтам, то паддинг не

выполняется. Если данные не кратны 8

байтам, то выполняется паддинг ‘00’.

Разделитель 1 А Разделитель, указывающий на конец

данных транзакции. Значение ‘;’ .

Только если флаг режима ‘0’, ‘1’, ‘3’ или

‘4’.

ARQC/TC/AAC 8 B ARQC/TC/AAC для проверки и

генерации ARPC.

ARC 2 B Authorisation Response Code,

используемый для генерации ARPC.

Только если флаг режима ‘1’, ‘2’

или ‘4’.

Page 256: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 256

Поле Длина и тип Описание

Командное сообщение

Discretionary Data

MAC

4 B MAC за выборочные данные

(Discretionary Data), возвращаемый

картой.

Только если флаг режима ‘3’ или ‘4’ и

идентификатор типа карты = ‘0’.

Длина Discretionary

Data

2 N Длина следующего поля.

Только если флаг режима ‘3’ или ‘4’ и

идентификатор типа карты =

‘0’Выборочные данные, за которые

вычисляется MAC.

Discretionary Data n B Только если флаг режима ‘3’ или ‘4’ и

идентификатор типа карты = ‘0’.

Page 257: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 257

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KR’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат

проверки ARQC/TC/AAC;

03 – Флаг режима = ‘3’ или ‘4’, но

идентификатор типа карты ≠ ‘0’;

04 – недопустимый флаг режима

05 – некорректный идентификатор

типа карты;

06 – отрицательный результат

проверки MAC за выборочные

данные;

10 – ошибка четности IMK-AC;

11 – ошибка четности IMK-SMI;

80 – ошибка длины данных

транзакции;

81 – нулевая длина данных

транзакции;

82 – недопустимая длина

выборочных данных для

вычисления MAC;

98 – команда недоступна или

стандартный код ошибки (см.

Приложение 1).

ARPC 8 B Вычисленная криптограмма ARPC.

Только если флаг режима ‘1’, ‘2’ или

‘4’ и нет ошибок.

Диагностические

данные

8 B Вычисленная криптограмма

ARQC/TC/AAC. Только если код

ошибки = ‘01’ и HSM находится в

авторизованном состоянии.

Диагностический

MAC

8 B Вычисленный MAC за выборочные

данные. Только если флаг режима ‘3’

или ‘4’ и код ошибки = ‘06’ , а HSM

находится в авторизованном

состоянии.

Page 258: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 258

Проверка Data Authentication Code (DAC) и Dynamic Number (DN)

(KS)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: См. Примечание См. Примечание

Функция: Data Authentication Code (DAC) или Dynamic Number (DN).

Примечания: Для вывода диагностических данных требуется авторизация.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KS’.

Флаг режима 1 H Флаг режима:

‘0’ : Проверка DAC;

‘1’ : Проверка DN с использованием

Option A ICC Master Key Derivation (для

диверсификации мастер-ключей карты)$

‘2’ : Проверка DN с использованием

Option B ICC Master Key Derivation (для

диверсификации мастер-ключей карты).

Идентификатор типа

карты (ПП)

1 H Идентификатор типа карты (ПП):

‘1’ : MasterCard M/Chip.

IMK-DAC Мастер-ключ эмитента для генерации и

проверки DAC. Только если флаг

режима ‘0’.

32 H

или

1 A + 32 H

IMK-DAC может быть зашифрован под

LMK 28-29 вариант 4.

или

1 A + n A

Значения полей IMR-DAC для

ключевого блока LMK следующие:

Key Usage Algorithm Mode of Use

‘E3’ ‘T’ ‘N’

Page 259: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 259

Поле Длина и тип Описание

Командное сообщение

IMK-DN Мастер-ключ эмитента для вычисления

и проверки Dynamic Number. Только

если флаг режима ‘1’..

32 H

или

1 A + 32 H

Для вариантных LMK:

Зашифрован под LMK 28-29 вариант 5.

или

1 A + n A

Значения полей IMK-DN для ключевого

блока LMK следующие:

Key Usage Algorithm Mode of Use

‘E4’ ‘T’ ‘N’

Длина PAN 2 N Только для режима ‘2’.

Длина (в байтах) следующего поля.

PAN/PAN Sequence

No

8 B

или

n B

Переформатированный PAN/PAN

Sequence No.

Для режима ‘0’ или ‘1’ поле имеет

фиксированную длину 8 байтов и

содержит переформатированный

PAN/PAN Sequence No.

Для режима ‘2’ поле имеет длину,

заданную значением предыдущего поля.

За формирование PAN/PAN Sequence No

отвечает хост.

DAC 2 B Data Authentication Code (DAC) для

проверки. Только если флаг режима ‘0’.

DN 2 B Dynamic Number для проверки.

Только если флаг режима ‘1’.

ATC 2 B Счетчик транзакций

(Application Transaction Counter)

Только если флаг режима ‘1’.

UN 4 B Unpredictable Number.

Только если флаг режима ‘1’.

Page 260: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 260

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KT’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

DAC или DN;

04 – недопустимый флаг режима (≠ 0

или 1);

05 – некорректный идентификатор типа

карты;

10 – ошибка четности IMK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Диагностические

данные

2 B Вычисленный DAC или DN (в

зависимости от флага режима).

Только если код ошибки = ‘01’, и HSM

находится в авторизованном состоянии.

Page 261: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 261

Генерация секретного сообщения (Secure Message) (EMV 3.1.1) (KU)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация секретного сообщения (Secure Message) с обеспечением

целостности, посылаемого эмитентом карте. Опционально, может

обеспечиваться конфиденциальность сообщения. В этом случае,

данные сообщения должны быть зашифрованы с использованием

транспортного ключа. Команда перешифровывает данные из-под

транспортного ключа под сеансовый.

Примечания: Команда также используется для смены или разблокировки PIN.

Чтобы изменить PIN, эмитент должен проверить текущий PIN, затем

принять новый PIN в стандартном формате PIN-блока. Затем

PIN-блок перешифровывается из стандартного формата PIN-блока

ATM (зашифрованного под терминальный или зональный ключ) в

специфический формат PIN-блока приложения (зашифрованного

под сессионный ключ для конфиденциальности).

Для генерации скрипта для разблокировки PIN используется режим

‘0’ (только целостность), PIN Unblock APDU представлено в поле

«Открытые данные сообщения».

Команда поддерживает следующие CVN (Cryptogram Version

Number):

Тип карты (приложения) Идентификатор

Visa VIS (CVN 10) ‘0’

MasterCard M/Chip (CVN 10 или 11) ‘1’

American Express AEIPS (CVN 01) ‘2’

Page 262: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 262

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KU’.

Флаг режима 1 N Флаг режима:

‘0’ : Только обеспечение целостности;

‘1’ : Обеспечение целостности и

конфиденциальности с

использованием одного

мастер-ключа;

‘2’ : Обеспечение целостности и

конфиденциальности с

использованием разных

мастер-ключей;

‘3’ : Обеспечение целостности и

перевода PIN-блока из одного

формата в другой для смены PIN с

использованием одного

мастер-ключа;

‘4’ : Обеспечение целостности и

перевода PIN-блока из одного

формата в другой для смены PIN с

использованием разных

мастер-ключей.

Идентификатор типа

карты (ПП)

1 N Идентификатор типа карты (ПП):

‘0’ : Visa VIS;

‘1’ : MasterCard M/Chip;

‘2’ : American Express AEIPS.

IMK-SMI Мастер-ключ эмитента для

обеспечения целостности секретных

сообщений. Используется для

генерации MAC за сообщение.

32 H

или

1 A + 32 H

IMK-SMI может быть зашифрован под

LMK 28-29 вариант 2.

Page 263: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 263

Поле Длина и тип Описание

Командное сообщение

или

1 A + n A

Значения полей IМК-SMI для

ключевого блока LMK следующие:

Key Usage Algorithm Mode of Use

‘E2’ ‘T’ ‘N’

PAN/PAN Sequence

No

8 B Переформатированный PAN/PAN

Sequence No.

Данные для

диверсификации

ключа целостности

8 B Используются для генерации

сессионного ключа обеспечения

целостности:

- для типа карты ‘0’ или ‘2’ (Visa или

AEIPS) это 2 байта ATC, выравненные

по правому краю и дополненные слева

6 нулевыми байтами;

- для типа карты ‘1’ (MasterCard) это 8

байтов случайного числа.

Длина открытых

данных сообщения

4 H Длина (в байтах) следующего поля.

Открытые данные

сообщения

n B Открытые данные сообщения.

Разделитель 1 А Разделитель, указывающий на конец

открытых данных сообщения.

Значение ‘;’.

IMK-SMC Мастер-ключ эмитента для

обеспечения конфиденциальности

секретных сообщений. Используется

для шифрования сообщения. Только

если флаг режима ‘2’ или ‘4’.

32 H

или

1 A + 32 H

IMK-SMC может быть зашифрован под

LMK 28-29 вариант 3.

или

1 A + n A

Значения полей IMK-SMC для

ключевого блока LMK следующие:

Key Usage Algorithm Mode of Use

‘E1’ ‘T’ ‘N’

Page 264: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 264

Поле Длина и тип Описание

Командное сообщение

TK Транспортный ключ, используется для

расшифрования передаваемых данных

сообщения. Только если флаг режима

‘1’ или ‘2’.

32 H

или

1 A + 32 H

TK может быть зашифрован под LMK

30-31.

или

1 A + n A

Значения полей TK для ключевого

блока следующие:

Key Usage Algorithm Mode of Use

‘D0’, ‘22’ ‘T’ ‘B’, D’, ‘N’

Данные для

диверсификации

ключа

конфиденциальности

8 B Используются для генерации

сессионного ключа обеспечения

конфиденциальности (шифрования):

Для типа карты ‘0’ или ‘2’ (Visa или

AEIPS) это 2 байта ATC, выравненные

по правому краю и дополненные слева

6 нулевыми байтами.

Для типа карты ‘1’ (MasterCard) это 8

байтов случайного числа. Только если

флаг режима ‘1’, ‘2’, ‘3’ или ‘4’.

Смещение

4 H Позиция в открытых данных

сообщения для вставки зашифрованных

данных. Значение между ‘0000’ и

длиной открытых данных сообщения.

Если смещение = n, то зашифрованный

текст вставляется после n-го байта

открытых данных (т.е. при длине

открытых данных 0039 и смещении =

‘0039’ зашифрованные данные

вставляются в конец открытых данных

сообщения).

Только если флаг режима ‘1’, ‘2’, ‘3’

или ‘4’.

В режимах ‘3’ или ‘4’ используется для

вставки нового PIN-блока

Page 265: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 265

Поле Длина и тип Описание

Командное сообщение

Длина

зашифрованных

данных сообщения

4 H Длина (в байтах) следующего поля.

Максимальное значение – 32 байта (т.е.

‘0020’ в шестнадцатиричном виде).

Должна быть кратна 8 байтам (т.е. 8,

16, 24 или 32 байта).

Если флаг режима ‘3’ или ‘4’, то это

длина нового PIN-блока. Если тип

выходного PIN-блока = ‘42’, то это

длина конкатенации текущего и нового

PIN-блоков.

Только если флаг режима ‘1’, ‘2’, ‘3’

или ‘4’.

Зашифрованные

данные сообщения

n B Зашифрованные данные сообщения с

использованием транспортного ключа

(TK). Должны быть кратны 8 байтам.

Паддинг после расшифрования не

выполняется. Только если флаг режима

‘1’, ‘2’, ‘3’ или ‘4’.

Если тип выходного PIN-блока = ‘42’,

то это конкатенация текущего и нового

PIN-блоков.

Разделитель 1 A Разделитель, указывающий на конец

зашифрованных данных сообщения.

Значение ‘;’.

Только если флаг режима ‘1’, ‘2’, ‘3’

или ‘4’.

Тип ключа

шифрования

исходного PIN

Только если флаг режима ‘3’ или ‘4’.

1 N Тип ключа:

‘0’ : ZPK;

‘1’ : TPK.

или

1 H

Для Keyblock LMK поле игнорируется.

Можно присвоить значение ‘F’

Ключ шифрования

исходного PIN

Ключ для расшифрования исходного

PIN-блока.

Только если флаг режима ‘3’ или ‘4’.

Page 266: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 266

Поле Длина и тип Описание

Командное сообщение

16 H

или

1 A + 32/48 H

Ключ:

ZPK, зашифрованный под LMK 06-07;

TPK, зашифрованный под LMK 14-15

вариант 0.

или

1 A + n A

Значения полей для ключевого блока

LMK

Key Usage Algorithm Mode of Use

‘PO’, ‘71’,

'72'

‘D’, ‘T’ ‘B’, ‘D’, ‘N’

Код формата

исходного PIN-блока

2 N Код формата исходного PIN-блока.

Только если флаг режима ‘3’ или ‘4’.

Код формата

выходного PIN-блока

2 N Код формата выходного PIN-блока:

‘34’ : стандартный EMV PIN-блок;

‘35’ : Mastercard Pay Now & Pay Later;

‘41’ : Visa / Amex без текущего

PIN-блока;

‘42’ : Visa / Amex с текущим

PIN-блоком;

Только если флаг режима ‘3’ или ‘4’.

Account Number 12 N

или

18 H

Только если флаг режима ‘4’.

Поле используется для перевода

PIN-блока из одного формата в другой

Для всех форматов PIN-блока, кроме

04, это 12-значный поле, состоящее из

12 самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю

и дополненное X'F слева, если это

необходимо.

Page 267: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 267

Поле Длина и тип Описание

Командное сообщение

IMK-AC Только если флаг режима ‘3’ или ‘4’ и

код формата выходного PIN-блока =

‘41’ или ‘42’.

Мастер-ключ эмитента для генерации и

проверки прикладной криптограммы.

Требуется для создания PIN-блока для

смены PIN Visa.

32 H

или

1 A + 32 H

Для вариантного LMK:

IMK-AC может быть зашифрован под

LMK 28-29 вариант 1.

или

1 A + n A

Значения полей IMK-AC для

ключевого блока LMK следующие:

Key Usage Algorithm Mode of Use

‘E0’ ‘T’ ‘N’

Page 268: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 268

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KV’.

Код ошибки 2 А 00 – нет ошибок;

04 – недопустимый флаг режима (≠ 0, 1,

2, 3 или 4);

05 – некорректный идентификатор типа

карты;

06 – недопустимое смещение;

07 – недопустимое значение длины

зашифрованных данных сообщения;

08 – ошибка длины зашифрованных

данных сообщения;

09 – ошибка четности ZPK или TPK;

10 – ошибка четности IMK-SMI;

11 – ошибка четности IMK-SMС;

23 – недопустимый формат PIN-блока;

50 – Тип ключа шифрования исходного

PIN ≠ 0 или 1;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 8 B Вычисленный MAC.

Длина

перешифрованных

данных

4 H Длина (в байтах) следующего поля.

Перешифрованные

данные

n B

Перешифрованные данные сообщения.

Только если флаг режима ‘1’, ‘2’, ‘3’

или ‘4’.

Page 269: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 269

Проверка ARQC и/или генерация ARPC (EMV 4.x) (KW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: См. Примечание См. Примечание

Функция: Проверка ARQC (TC/AAC) и, опционально, генерация ARPC.

Команда может быть использована только для генерации ARPC.

Примечания: Для вывода диагностических данных требуется авторизация.

Диагностические данные состоят из криптограммы ARQC,

возвращаемой хосту, если проверка полученной от карты ARQC

закончилась с отрицательным результатом.

Эта команда аналогична команде KQ, но с использованием EMV

Common Session Key Derivation method для генерации сессионных

ключей.

Команда поддерживает следующие CVN (Cryptogram Version

Number):

Тип карты (приложения) Идентификатор

метода

Visa VIS (CVN 14) ‘0’

Visa VIS (CVN 18) ‘2’ или ‘3’

MasterCard M/Chip (CVN 14 или 15) (EMV CSK) ‘2’

American Express AEIPS (CVN 01) ‘2’

За паддинг данных, подаваемых на вход команды, ответственен хост.

В некоторых методах это означает добавление шестнадцатиричных

‘80’ в конец поля данных. Если данные кратны 8 байтам, команда не

выполняет паддинг.

Page 270: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 270

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KW’.

Флаг режима 1 H Режим:

‘0’ : Только проверка ARQC;

‘1’ : Проверка ARQC и генерация ARPC

EMV 4.x Method 1;

‘2’ : Только генерация ARPC EMV 4.x

Method 1;

‘3’ : Проверка ARQC и генерация ARPC

EMV 4.x Method 2;

‘4’ : Только генерация ARPC EMV 4.x

Method 2.

Идентификатор

метода

1 N Идентификатор метода диверсификации

ключей:

‘2’ : Option A ICC Master Key Derivation

(для диверсификации мастер-ключей

карты) and EMV Common Session Key

Derivation (для диверсификации

сессионных ключей);

‘3’ : Option B ICC Master Key Derivation

(для диверсификации мастер-ключей

карты) and EMV Common Session Key

Derivation (для диверсификации

сессионных ключей).

IMK-AC Мастер-ключ эмитента для генерации и

проверки прикладной криптограммы.

32 H

или

1 A + 32 H

Может быть зашифрован под LMK 28-29

вариант 1

или

1 A + n A

Значения полей IMK-AC для ключевого

блока LMK следующие:

Key Usage Algorithm Mode of Use

‘E0’ ‘T’ ‘N’

Page 271: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 271

Поле Длина и тип Описание

Командное сообщение

Длина PAN 2 N Только для режима ‘2’.

Длина (в байтах) следующего поля.

Допустимые значения от ‘01’ до ‘99’.

PAN/PAN Sequence

No

8 B

или

n B

Для режима ‘2’ поле имеет

фиксированную длину 8 байтов и

содержит переформатированный

PAN/PAN Sequence No.

Для режима ‘3’ поле имеет длину,

заданную значением предыдущего поля.

За паддинг PAN/PAN Sequence No

отвечает хост.

Разделитель 1 А Разделитель, указывающий на конец

поля PAN/PAN Sequence No. Только для

режима ‘3’.

ATC 2 B Счетчик транзакций

(Application Transaction Counter).

Используется для генерации сессионных

ключей.

Для усеченной ARQC – это последнее

значение ATC из базы данных хоста.

Длина данных

транзакции

2 H Длина следующего поля. От ‘1’ до ‘255’.

Только если флаг режима ‘0’, ‘1’или ‘3’.

Данные транзакции n B Только если флаг режима ‘0’, ‘1’ или ‘3’.

Данные переменной длины. Если данные

кратны 8 байтам, то паддинг не

выполняется. Если данные не кратны 8

байтам, то выполняется паддинг ‘00’.

Разделитель 1 А Разделитель, указывающий на конец

данных транзакции. Значение ‘;’ .

Только если флаг режима ‘0’, ‘1’

или ‘3’.

ARQC/TC/AAC 8 B ARQC/TC/AAC для проверки и

генерации ARPC.

Page 272: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 272

Поле Длина и тип Описание

Командное сообщение

ARC 2 B Authorisation Response Code,

используемый для генерации ARPC.

Только если флаг режима ‘1’ или‘2’ .

Используется для генерации ARPC для

карт VIS 1.x и M/Chip 4.x.

CSU 4 B Только если флаг режима ‘3’ или ‘4’

Длина следующего поля. Допустимые

значения ‘0’…’8’.

Длина данных

аутентификации

1 N Только если длина поля не нулевая.

Данные

аутентификации

0…8 B

Содержит дополнительные данные для

передачи карте данных аутентификации

эмитента при онлайновой транзакции.

Page 273: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 273

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KX’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

ARQC/TC/AAC;

03 – Флаг режима = ‘3’ или ‘4’, но

идентификатор типа карты ≠ ‘0’;

04 – недопустимый флаг режима;

05 – некорректный идентификатор типа

карты;

06 – отрицательный результат проверки

MAC за выборочные данные;

10 – ошибка четности IMK-AC;

11 – ошибка четности IMK-SMI;

80 – ошибка длины данных транзакции;

81 – нулевая длина данных транзакции;

82 – недопустимая длина выборочных

данных для вычисления MAC;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

ARPC 8 B Вычисленная криптограмма ARPC.

Только если флаг режима ‘1’, ‘2’ или ‘4’

и нет ошибок.

Диагностические

данные

8 B Вычисленная криптограмма

ARQC/TC/AAC. Только если код

ошибки = ‘01’ и HSM находится в

авторизованном состоянии.

Диагностический

MAC

8 B Вычисленный MAC за выборочные

данные. Только если флаг режима ‘3’

или ‘4’ и код ошибки = ‘06’ , а HSM

находится в авторизованном состоянии.

Page 274: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 274

Генерация секретного сообщения (EMV 4.x) (KY)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация секретного сообщения и вывод в хост МАС и

зашифрованных данных сообщения.

Примечания: Команда аналогична команде KU, для формирования MAC и

зашифрования используются сессионные ключи, полученные из

разных мастер-ключей. Для выработки сессионных ключей

используются EMV Common Session Key Derivation method.

За паддинг данных, подаваемых на вход команды, ответственен

хост. В некоторых методах это означает добавление

шестнадцатиричных ‘80’ в конец поля данных. Если данные кратны

8 байтам, команда не выполняет паддинг.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KY’.

Флаг режима 1 N Режим:

‘2’ : Целостность и

конфиденциальность;

‘4’ : Целостность и изменение PIN

‘5’ : Только целостность.

Используется поле ‘Идентификатор

метода’ для идентификации метода

диверсификации ключей.

Page 275: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 275

Поле Длина и тип Описание

Командное сообщение

Идентификатор метода 1 N Идентификатор:

‘5’ : EMV 4.x Option A ICC Master

KEY Derivation и EMV Common

Session Key Derivation

‘6’ : EMV 4.x Option A ICC Master

KEY Derivation и EMV Common

Session Key Derivation;

‘7’ : EMV 4.x Option B ICC Master

KEY Derivation и EMV Common

Session Key Derivation.

Используется для указания паддинга и

метода диверсификации ключей.

Примечание: для флага режима = ‘5’

это поле определяет только метод

диверсификации ключа, паддинг не

имеет значения.

MK-SMI Мастер-ключ используется для

генерации MAC за сообщение

32 H

или

1 A + 32 H

Зашифрован под LMK 28-29 вариант 2.

или

1 A + n A

Значения полей MK-SMI

Key Usage Algorithm Mode of Use

‘E2’ ‘T’ ‘N’

Длина PAN

2 N Только для режима ‘7’.

Длина (в байтах) следующего поля.

Допустимые значения от ‘01’ до ‘99’.

Page 276: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 276

Поле Длина и тип Описание

Командное сообщение

PAN/PAN Sequence No 8 B или n B Для режима ‘5’ или ‘6’ поле имеет

фиксированную длину 8 байтов и

содержит переформатированный

PAN/PAN Sequence No.

Для режима ‘7’ поле имеет длину,

заданную значением предыдущего поля.

Если PAN содержит нечетное число

цифр, то слева к полученной

последовательности хост-системой

добавляется полубайт ‘0’h.

Разделитель 1 А Разделитель, указывающий на конец

поля PAN/PAN Sequence No. Только

для режима ‘7’.

Application Cryptogram 8 B Application Cryptogram возвращенное

картой в ответе на первую

GENERATE AC команду.

Длина данных открытого

текста сообщения

4 H Длина в байтах следующего поля.

Данные открытого текста

сообщения

n B Данные открытого текста сообщения.

Разделитель 1 А Разделитель предыдущего поля.

Значение ‘;’.

MK-SMC Мастер-ключ, используемый для

зашифрования сообщения. Только для

флага режима ‘2’ или ‘4’.

32 H

или

1 A + 32 H

Зашифрован под LMK 28-29

вариант 3.

или

1 A + n A

Значения полей для ключевого блока:

Key Usage Algorithm Mode of Use

‘E1’ ‘T’ ‘N’

TK Транспортный ключ, используемый

для расшифрования прилагаемого

сообщения. Только для флага режима

= ‘2’.

Page 277: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 277

Поле Длина и тип Описание

Командное сообщение

32 H

или

1 A + 32 H

Зашифрован под LMK 30-31.

или

1 A + n A

Значения полей для ключевого блока

Key Usage Algorithm Mode of Use

‘D0’, ‘22’ ‘T’ ‘B’, ‘D’,‘N’

Смещение 4 H Только для флага режима = ‘2’ или

‘4’. Позиция в открытом тексте

сообщения для вставки шифротекста.

Значение должно быть между ‘0000’ и

значением поля Длина данных

открытого текста сообщения.

Если флаг режима ‘4’, то используется

для указания позиции New PIN Block.

Длина шифрованного

текста сообщения

4 H Только для флага режима = ‘2’ или

‘4’. Длина в байтах следующего поля.

Данные шифрованного

текста сообщения

n B Только для флага режима = ‘2’ или ‘4’.

Шифротекст прилагаемого сообщения

зашифрован на транспортном ключе

(TK). Длина должна быть кратна 8 байт.

Для флага режима = ‘4’ используется

для New PIN Block.

Разделитель 1 A Только для флага режима = ‘2’ или

‘4’. Разделитель предыдущего поля.

Значение ‘;’.

Тип ключа зашифрования

исходного PIN

Только для флага режима = ‘4’

1 N

или

‘0’ : ZPK;

‘1’ : TPK.

1 H Для Keyblock LMK поле

игнорируется. Можно присвоить

значение ‘F’

Ключ шифрования

исходного PIN

Page 278: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 278

Поле Длина и тип Описание

Командное сообщение

16 H

или

1 A + 32/48 H

ZPK, зашифрованный под LMK 06-07,

или

TPK, зашифрованный под LMK 14-15

или

1 A + n A

Значения полей ключевого блока

Key

Usage

Algorithm Mode of

Use

‘P0’, ‘71’,

‘72’

‘D’, ‘T’ ‘B’, ‘D’, ‘N’

Код формата исходного

PIN блока

2 N Только для флага режима = ‘4’.

Код формата исходного PIN блока.

Код формата целевого

PIN блока

2 N Только для флага режима = ‘4’.

‘34’ : Standard EMV PIN Block;

‘35’ : Europay/Mastercard Pay Now &

Pay Later;

‘41’ : Visa формат без использования

текущего PIN;

‘42’ : Visa формат c использованием

текущего PIN.

Account Number 12 N или 18 H Только для флага режима = ‘4’.

Используется для преобразования PIN

блока.

Для формата исходного PIN блока <>

‘04’, это поле длинной 12 N и

указывается 12 правых старших цифр

номера аккаунта без учета контрольной

цифры.

Для формата исходного PIN блока = ‘04’,

это поле длинной 18 H и указывается

целиком 18 цифр номера аккаунта без

учета контрольной цифры, дополненный

‘F’ слева.

IMK-AC Только для флага режима = ‘4’ и

формата целевого PIN Block = ‘41’

или ‘42’.

Page 279: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 279

Поле Длина и тип Описание

Командное сообщение

32 H

или

1 A + 32 H

Мастер-ключ эмитента для генерации

и проверки Application Cryptograms.

или

1 A + n A

Значения полей для ключевого блока

Key

Usage

Algorithm Mode of

Use

‘E0’ ‘T’ ‘N’

Page 280: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 280

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KZ’.

Код ошибки 2 N 00 – нет ошибок;

04 – недопустимый флаг режима;

05 – недопустимый идентификатор

метода;

06 – недопустимое смещение;

07 – недопустимый параметр длина

шифрованного текста сообщения;

08 – ошибка длины шифрованного

текста сообщения;

09 – TK или ZPK/TPK ошибка

четности;

10 – MK-SMI ошибка четности;

11 – MK-SMC ошибка четности;

23 – недопустимый код формата PIN

блока;

50 – тип исходного ключа зашифрования

PIN не установлен в 0 или 1;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 8 B Вычисленный MAC 64 бит.

Длина перешифрованных

данных шифротекста

4 H Только для флага режима = ‘2’ или

‘4’. Длина в байтах следующего поля.

Перешифрованные

данные шифротекста

сообщения

n B Только для флага режима = ‘2’ или ‘4’.

Перешифрованный шифротекст

сообщения.

Page 281: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 281

Разное

Генерация проверочной величины ключа (BU)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация проверочной величины ключа, зашифрованного под LMK.

Примечания: Команда проверяет тип ключа на допустимость. Если тип

недопустимый, то возвращается код ошибки. Если используется

2-цифровой код типа ключа, то поле 3-цифрового типа ключа не

представлено.

Для генерации 16-цифровой проверочной величины требуется

установка флага «Режим обратной совместимости по KCV с Thales

8000» в консольном режиме (пункт меню «Настройка»

Web-интерфейса удаленного управления платежным приложением).

В противном случае, при выборе длины ключа 16, формируется

6-цифровая проверочная величина, дополненная ‘00’ до нужной

длины.

Page 282: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 282

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘BU’.

Код типа ключа 2 N Указывает LMK, под который

зашифрован ключ:

'00': LMK 04-05;

'01': LMK 06-07;

'02': LMK 14-15;

'03': LMK 16-17;

'04': LMK 18-19;

'05': LMK 20-21;

'06': LMK 22-23;

'07': LMK 24-25;

'08': LMK 26-27;

'09': LMK 28-29;

'0A': LMK par 30-31;

'0B': LMK 32-33;

'10': Вариант 1 LMK 04-05;

‘1C’: Вариант 1 LMK 34-35;

'42': Вариант 4 LMK 14-15.

'FF': используется для поля типа ключа,

определенного после разделителя (см.

ниже).

или

2 H

Это поле зарезервировано и должно

быть установлено в 'F'.

Page 283: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 283

Поле Длина и тип Описание

Командное сообщение

Флаг длины ключа 1 N '0' : для DES-ключа одинарной длины

'1' : для DES-ключа двойной длины

'2' : для DES-ключа тройной длины

‘3’ : для HMAC ключа.

или

1 H

Это поле зарезервировано и должно

быть установлено в 'F'.

Ключ Ключ, для которого требуется

вычислить проверочную величину,

зашифрованный под LMK.

16/32 H

или

1 A + 32/48 H

Ключ, зашифрованный под LMK (в

соответствии с кодом типа ключа).

или

1 A + n A

Key Usage Algorithm Mode of

Use

Любое

допустимое

значение

Любое

допустимое

значение

Любое

допустимое

значение

Разделитель 1 А Опционально. ‘;’.

Только если значение поля «Код типа

ключа» = ‘FF’. Тогда должно

присутствовать следующее поле.

Тип ключа 3 H Трехзначный код зашифрованного

ключа.

Это поле зарезервировано и должно

быть установлено значение «FFF».

Разделитель 1 А Опционально. Если представлено, то

должны быть следующие три поля.

Зарезервировано 1 А Опционально. Если представлено, то ‘0’.

Зарезервировано 1 А Опционально. Если представлено, то ‘0’.

Тип проверочной

величины ключа

(KCV)

1 А Опционально. Метод вычисления KCV:

‘0’ : 16 цифр KCV (режим обратной

совместимости);

‘1’ : 6 цифр KCV.

Page 284: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 284

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘BV’.

Код ошибки 2 А 00 – нет ошибок;

04 – неверный код типа ключа;

05 – неверный флаг длины ключа;

10 – ошибка четности ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Проверочная величина

ключа

16/6 H Проверочная величина ключа. 16 или

6 H в зависимости от заданной опции.

Page 285: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 285

Перешифрование таблицы децимализации (LO)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование таблицы децимализации из-под «старых» LMK под

новые.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘LO’.

Таблица децимализации

(«старый» LMK)

Таблица децимализации,

зашифрованная на «старом» LMK.

16 H 16 H, если шифрованная под LMK

таблица децимализации.

16 H 16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK

Page 286: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 286

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘LP’.

Код ошибки 2 A 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Таблица децимализации

(«новый» LMK)

Таблица децимализации,

зашифрованная на «новом» LMK.

16 H 16 H, если шифрованная под LMK

таблица децимализации.

16 H 16 H, если 3-DES Keyblock LMK

или

1 A + 32 H

'L' + 32 H, если AES Keyblock LMK

Page 287: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 287

Генерация CVV/CVC (CW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Генерация VISA CVV или MasterCard CVC.

Примечания: Команда позволяет генерировать:

• VISA CVV1 или MasterCard CVC1 для кодирования данных

магнитной полосы;

• VISA CVV2 или MasterCard CVC2 для печати на карте. В этом

случае, значение поля «Код сервиса» («Service Code») должно быть

‘000’;

• VISA iCVV или MasterCard Chip CVC для чиповых EMV-карт. В

этом случае, значение поля «Код сервиса» («Service Code») должно

быть ‘999’;

• VISA CAVV или MasterCard AAV для использования в протоколе

3-D Secure. В этом случае:

✓ Поле «Срок действия» («Expiration date») на 4-значный

Unpredictable number, вычисленный из Transaction Identifier в

соответствии с протоколом 3-D Secure;

✓ Поле «Код сервиса» («Service Code») заменяется

следующими двумя полями:

➢ Однозначным «Authentication Results Code» в

соответствии с протоколом 3-D Secure;

➢ Двузначным «Second Factor Authentication Results

Code» в соответствии с протоколом 3-D Secure;

Page 288: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 288

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘CW’.

CVK 32 H

или

1 A + 32 H

CVK, зашифрованный под LMK 14-15

вариант ‘4’.

или

1 A + n A

Для Keyblock LMK CVK должен

содержать следующие значения:

Key Usage Algorithm Mode of Use

‘С0’, ‘12’,

‘13’

‘T’ ‘C’, ‘G’, N’

Номер счета

(Primary Account Number)

n N Номер счета карты (PAN).

Разделитель 1 A Значение ‘;’.

Срок действия

(Expiration date)

4 N Срок действия карты (или Unpredictable

Number для CAVV/AAV).

Код сервиса (Service

Code)

3 N

Service Code карты (или Authentication

Results Code

(1 цифра) + Second factor Authentication

Results Code

(2 цифры) для CAVV / AAV).

Page 289: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 289

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘CX’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности CVK;

27 – CVK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

CVV 3 N Card Verification Value/Code.

Page 290: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 290

Проверка CVV/CVC (CY)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка VISA CVV или MasterCard CVC.

Примечания: Команда позволяет проверять:

• VISA CVV1 или MasterCard CVC1 для кодирования данных

магнитной полосы;

• VISA CVV2 или MasterCard CVC2 для печати на карте. В этом

случае, значение поля «Код сервиса» («Service Code») должно быть

‘000’;

• VISA iCVV или MasterCard Chip CVC для чиповых EMV-карт. В

этом случае, значение поля «Код сервиса» («Service Code») должно

быть ‘999’;

• VISA CAVV или MasterCard AAV для использования в протоколе

3-D Secure. В этом случае:

✓ Поле «Срок действия» («Expiration date») на 4-значный

Unpredictable number, вычисленный из Transaction Identifier в

соответствии с протоколом 3-D Secure;

✓ Поле «Код сервиса» («Service Code») заменяется

следующими двумя полями:

➢ Однозначным «Authentication Results Code» в

соответствии с протоколом 3-D Secure;

➢ Двузначным «Second Factor Authentication Results

Code» в соответствии с протоколом 3-D Secure;

Page 291: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 291

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘CY’.

CVK 32 H

или

1 A + 32 H

CVK, зашифрованный под LMK 14-15

вариант ‘4’.

или

1 A + n A

Для Keyblock LMK CVK должен

содержать следующие значения:

Key Usage Algorithm Mode of

Use

‘С0’, ‘12’,

‘13’

‘T’ ‘C’, ‘V’, N’

CVV 3 N CVV для проверки.

Номер счета (Primary

Account Number)

n N Номер счета карты (PAN).

Разделитель 1 A Значение ‘;’.

Срок действия

(Expiration date)

4 N Срок действия карты (или Unpredictable

Number для CAVV/AAV).

Код сервиса (Service

Code)

3 N Service Code карты (или

Authentication Results Code (1 цифра) +

Second factor Authentication Results

Code (2 цифры) для CAVV / AAV).

Page 292: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 292

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘CZ’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

CVV;

10 – ошибка четности CVK;

27 – CVK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 293: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 293

Генерация проверочной величины ключа (KA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC001 LIC001

Авторизация: Не требуется -

Функция: Генерация проверочной величины для одного из типов ключей: ZMK

(одинарной длины), ZPK, TMK, TPK, PVK, TAK.

Примечания: Данная команда может быть заменена командой BU.

Команда может быть использована для проверки ключа,

полученного от внешней стороны. Проверочная величина

формируется путем шифрования на ключе 64 нулевых битов.

Команда не поддерживает ZMK двойной длины.

Для генерации 16-цифровой проверочной величины требуется

установка флага «Режим обратной совместимости по KCV с Thales

8000» в консольном режиме (пункт меню «Настройка»

Web-интерфейса удаленного управления платежным приложением).

В противном случае, при выборе длины ключа 16, формируется

6-цифровая проверочная величина, дополненная ‘00’ до нужной

длины.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений.

Код команды 2 А ‘KA’.

Ключ 16 H

или

1 A + 32/48 H

Один из следующих ключей:

ZMK, ZPK, TMK, TPK, PVK или

TAK, зашифрованный под LMK.

Код типа ключа 2 N Идентификатор типа ключа:

'00' : ZMK;

'01' : ZPK;

'02' : TMK, TPK или PVK;

Page 294: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 294

Поле Длина и тип Описание

Командное сообщение

'03' : TAK.

Разделитель 1 А Опционально. Если представлен, то

должны быть представлены

следующие три поля. Значение ‘;’.

Зарезервировано 1 А Опционально. Если представлено, то

значение ‘0’.

Зарезервировано 1 А Опционально. Если представлено, то

значение ‘0’.

Тип проверочной

величины ключа

1 A Опционально. Метод вычисления

KCV:

‘0’ : 16 цифр KCV (режим обратной

совместимости);

‘1’ : 6 цифр KCV.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KB’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Проверочная величина

ключа

16/6 H Проверочная величина ключа.

16 или 6 H в зависимости от заданной

опции.

Page 295: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 295

Зашифрование блока данных (М0)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Зашифрование блока данных.

Примечание: Выбор режима зашифрования определяется набором

соответствующих флагов ('00' : ECB и '01' : CBC). Максимальное

значение длины данных не должно превышать 1 Кбайт.

Паддинг к данным не применяется – входные данные должны быть

кратны 8 байтам (или 16 для шестнадцатеричного представления).

Для многоблочных режимов выходные данные предыдущего блока

должны быть поданы на вход следующему блоку в качестве IV.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘M0’.

Флаг режима 2 N

Режим шифрования:

'00' : EBC;

'01' : CBC (требуется IV)

Флаг формата

входных данных 1 N

Флаг формата входных данных:

'0' : бинарный;

'1' : шестнадцатеричный;

'2' : текстовый;

Флаг формата

выходных данных

1 N

Флаг формата выходных данных:

'0' : бинарный;

'1' : шестнадцатеричный

Page 296: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 296

Поле Длина и тип Описание

Командное сообщение

Тип ключа

3 H

Для варианта LMK тип используемого

ключа:

'00A' : ZEK (зашифрованный под

LMK 30-31 вариант 0);

'00B' : DEK (зашифрованный под

LMK 32-33 вариант 0);

'30B' : TEK (зашифрованный под

LMK 32-33 вариант 3) .

Для Keyblock LMK поле игнорируется.

Можно присвоить значение ‘FFF’

Ключ

Ключ шифрования данных,

используемый, при необходимости,

вместе IV для зашифрования данных

16 H

или

1 A + 32/48 H

Для вариантных LMK:

Используются ключи (DEK, TEK или

ZEK), зашифрованный под LMK

или

1 A + n A Для Keyblock LMK допустимы

значения полей:

Key Usage Algorithm Mode of Use

‘B0’, ‘41’,

‘42’ ‘T’

‘B’, ‘E’, ‘N’

‘D0’, ‘21’,

‘22’, ‘23’

‘D’, ‘T’,

‘A’

‘B’, ‘E’, ‘N’

Page 297: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 297

Поле Длина и тип Описание

Командное сообщение

IV

16 H

или

32 H

Инициализационный вектор,

используемый для шифрования. Когда

шифруется первый блок, то значение

IV назначается хостом (типичное

значение 00 00 00 00 00 00 00 00).

Для последующих блоков в качестве

входного значения IV должно

подаваться значение, возвращаемое в

ответе за предыдущий блок.

Только, если флаг режима = '01'.

При DES/3-DES поле IV имеет длину

16, при AES 32 шестнадцатиричных

символа.

Длина данных 4 H Длина следующего поля (в байтах)

Максимум: 1024 байта

Блок данных

Блок данных для зашифрования. Длина

и тип поля определяются значениями

полей Флаг режима и Флаг формата

входных данных:

n B

Флаг формата входных данных = '0'

(бинарный).

Если флаг режима = '01', то n = кратно 8.

или n H

Флаг формата входных данных = '1'

(шестнадцатеричный).

Если флаг режима = '01', то

n = кратно 16.

или n A

Флаг формата входных данных = '2'

(текст);

Если флаг режима = '01', то

n = кратно 8.

Page 298: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 298

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘M1’.

Код ошибки

2 А

00 – нет ошибок;

02 – недопустимый флаг режима;

03 – недопустимый флаг формата

входных данных;

04 – недопустимый флаг формата

выходных данных;

05 – недопустимый тип ключа;

06 – недопустимая длина данных;

10 – ошибка четности ключа

шифрования;

35 – недопустимый формат сообщения;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

IV 16 H

или

32 H

Промежуточный IV на выходе. Должен

подаваться в качестве значения IV для

следующего блока.

Только, если флаг режима = '01'.

При DES/3-DES поле IV имеет длину 16,

при AES 32 шестнадцатиричных

символа.

Длина блока данных 4 H Длина следующего поля (в байтах)

Зашифрованный блок

данных

Сообщение для зашифрования. Длина и

тип поля определяются значениями

полей Флаг режима и Формат флага

выходных данных.

n B

или

Флаг формата выходных данных

= '0' (бинарный).

Если флаг режима = '01', то длина

должна быть кратна 8.

n H Флаг формата выходных данных

= '1' (шестнадцатеричный).

Page 299: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 299

Поле Длина и тип Описание

Если флаг режима = '01', то длина

должна быть кратна 16.

Page 300: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 300

Расшифрование блока данных (М2)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Расшифрование блока данных.

Примечание: Выбор режима расшифрования, который определяется набором

соответствующих флагов ('00' : ECB и '01' : CBC). Максимальное

значение поля длины сообщения не должно превышать 1 Кбайт.

Паддинг к сообщению не применяется – входной блок данных

должен быть кратен 8 (или 16 для шестнадцатеричного

представления).

Для многоблочных режимов выходные данные предыдущего блока

должны быть поданы на вход следующему блоку в качестве IV.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘M2’.

Флаг режима

2 N

Флаг режима шифрования:

'00' : ECB;

'01' : CBC (требуется IV).

Флаг формата

входных данных

1 N

Флаг формата входных данных:

'0' : бинарный;

'1' : шестнадцатеричный.

Флаг формата

выходных данных

1 N

Флаг формата выходных данных:

'0' : бинарный;

'1' : шестнадцатеричный;

'2' : текстовый.

Page 301: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 301

Поле Длина и тип Описание

Командное сообщение

Тип ключа

3 H Для вариантов LMK тип используемого

ключа:

'00A' : ZEK (зашифрованный под

LMK 30-31 вариант 0);

'00B' : DEK (зашифрованный под

LMK 32-33 вариант 0);

'30B' : TEK (зашифрованный под

LMK 32-33 вариант 3).

Для Keyblock LMK поле игнорируется.

Можно присвоить значение ‘FFF’

Ключ

Ключ для расшифрования блока данных,

используемый вместе с IV.

16 H

или

1 A + 32/48 H

Для вариантного LMK:

DEK, TEK или ZEK

или

1 A + n A

Для Keyblock LMK допустимы значения

полей:

Key Usage Algorithm Mode of Use

‘B0’, ‘41’,

‘42’ ‘T’

‘B’, ‘E’, ‘N’

‘D0’, ‘21’,

‘22’, ‘23’

‘D’, ‘T’,

‘A’

‘B’, ‘E’, ‘N’

IV

16 H

или

32 H

Инициализационный вектор,

используемый для расшифрования.

Когда расшифровывается первый блок,

то значение IV назначается хостом

(типичное значение 00 00 00 00 00 00 00 00).

Для последующих блоков в качестве

входного значения IV должно

подаваться значение, возвращаемое в

ответе за предыдущий блок.

Только, если флаг режима = '01'.

При DES/3-DES поле IV имеет длину 16,

при AES 32 шестнадцатиричных

символа.

Page 302: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 302

Поле Длина и тип Описание

Командное сообщение

Длина блока данных 4 H Длина следующего поля (в байтах).

Максимум 1024 байта

Зашифрованный блок

данных

n B

Блок данных для расшифрования. Длина

и тип поля определяются значениями

полей Флаг режима и Флаг формата

входных данных:

Формат выходного флага = '0'

(бинарный);

Если флаг режима = '01' или '02', то n =

кратно 8.

или n H Формат выходного флага = '1'

(шестнадцатеричный).

Если флаг режима = '01', то n = кратно 16.

Page 303: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 303

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘M3’.

Код ошибки 2 А 00 – нет ошибок;

02 – недопустимый флаг режима;

03 – недопустимый флаг формата

входных данных;

04 – недопуcтимый флаг формата

выходных данных;

05 – недопустимый тип ключа;

06 – недопустимая длина блока данных;

10 – ошибка четности ключа

расшифрования;

35 –недопустимый формат сообщения;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

IV 16 H

или

32 H

Промежуточный IV на выходе,

который должен подаваться в качестве

значения IV для следующего блока.

Только, если флаг режима = ‘1’.

При DES/3-DES поле IV имеет длину

16, при AES 32 шестнадцатиричных

символа.

Длина блока данных 4 H Длина следующего поля (в байтах)

Расшифрованный блок

данных

n B

или

Расшифрованный блок данных. Длина

и тип поля определяются значениями

полей Флаг режима и Флаг формата

входных данных:

Флаг формата выходных данных

= '0' (бинарный).

Если флаг режима = '01', то n = кратно 8.

n H

или

Флаг формата выходных данных

= '1' (шестнадцатиричный).

Если флаг режима = '01', то n = кратно 16.

n А Флаг формата выходных данных

= '2' (текст).

Если флаг режима = '01', то n = кратно 8.

Page 304: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 304

Генерация MAC (М6)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется-

Функция: Генерация MAC за сообщение с использованием ключа TAK или

ZAK.

Команда использует различные алгоритмы формирования MAC и

различные режимы паддинга.

Примечание: Команда формирует MAC для сообщений различных форматов.

Максимальное значение поля длины сообщения не должно

превышать 2 Кбайтов.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘M6’.

Флаг режима 1 N '0' : единственный блок одноблочного

сообщения;

'1' : первый блок многоблочного

сообщения;

'2' : промежуточный блок

многоблочного сообщения;

'3' : последний блок многоблочного

сообщения.

Флаг формата входных

данных

1 N '0' : бинарный;

'1' : шестнадцатиричный;

'2' : текстовый.

Размер MAC 1 N ‘0’ : MAC размером 8

шестнадцаричных символов;

‘1’ : MAC размером 16

шестнадцаричных символов;

‘2’ ... ’9’ : зарезервировано.

Page 305: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 305

Поле Длина и тип Описание

Командное сообщение

Алгоритм MAC 1 N '1' : ISO 9797 MAC algorithm 1

(= ANSI X9.9, если используется

ключ одинарной длины);

'3' : ISO 9797 MAC algorithm 3

(= ANSI X9.19, если используется

ключ двойной длины).

Метод паддинга 1 N '0' : Нет паддинга. (Все сообщения

должны иметь длину, кратную 8

байтам);

'1' : ISO 9797 Padding method 1 т.е.

дополнение 0x00);

'2' : ISO 9797 Padding method 2 (т.е.

добавление 0x80 и дополнение

0x00);

‘3’ : ISO 9797 Padding method 3 (т.е.

конкатенация длины сообщения в

битах и сообщения, дополненная

0x00).

Тип ключа 3 H Для варианта LMK тип используемого

ключа:

'003' : TAK (зашифрованный под LMK

16-17);

'008' : ZAK (зашифрованный под

LMK 26-27).

Для Keyblock LMK поле игнорируется.

Можно присвоить значение ‘FFF’

Ключ Ключ аутентификации сообщения,

используемый вместе IV для генерации

MAC (TAK или ZAK), зашифрованный

под LMK

16 H

или

1 A + 32/48 H

или

Для варианта LMK, (TAK или ZAK),

зашифрованный под LMK

1 A + n A Для Keyblock LMK:

Page 306: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 306

Поле Длина и тип Описание

Командное сообщение

Ключ должен соответствовать одному

из следующих:

Key Usage Algorithm Mode of Use

‘M1’ ‘D’ ‘C’, ‘G’,и ‘N’

‘M3’ ‘T’ ‘C’, ‘G’,и ‘N’

‘M5’, ‘M6’ ‘A’ ‘C’, ‘G’,и ‘N’

IV 16 H

или

32 H

Промежуточный IV.

Для последующего вычисления MAC

для промежуточных и последнего

блока IV от предыдущего блока

должен возвращаться в ответе.

Только, если флаг режима = 2 или 3.

При DES/3-DES поле IV имеет длину

16, при AES 32 шестнадцатиричных

символа.

Длина сообщения 4 H Длина следующего поля (в байтах).

Сообщение

n B

или

Сообщение для генерации MAC. Длина

и тип поля определяются значениями

полей Флаг режима и Флаг формата

входных данных.

Флаг формата входных данных = '0'

(бинарный).

Если флаг режима = '1' или '2', то n =

кратно 8.

n H

или

Флаг формата входных данных = '1'

(шестнадцатеричный), если флаг

режима = '1' или '2', то n = кратно 16.

n A Флаг формата входных данных = '2'

(текст).

Если флаг режима = '1' или '2', то

n = кратно 8.

Page 307: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 307

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘M7’.

Код ошибки 2 А 00 – нет ошибок;

02 – недопустимый флаг режима;

03 – недопустимый флаг формата

входных данных;

04 – недопуcтимый алгоритм MAC;

05 – недопустимый тип ключа;

06 – недопустимая длина сообщения;

09 – недопустимый метод паддинга;

10 – ошибка четности ключа MAC;

68 – команда отключена;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

IV 16 H

или

32 H

Промежуточный IV

Должен входить во входные данные

для генерации MAC за следующий

блок данных (сообщение)

Только, если флаг ‘1’ или ‘2’.

При DES/3-DES поле IV имеет длину

16, при AES 32 шестнадцатиричных

символа.

MAC 8 H

или

16 H

Вычисленный MAC

Длина этого поля определяется

входным параметром «Размер MAC»

Только, если флаг режима = '0' или '3'.

Page 308: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 308

Проверка MAC (М8)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка MAC для сообщения (бинарные данные,

шестнадцатиричные, текст), в том числе, многоблочного, на ключе

TAK или ZAK по алгоритмам ANSI X9.9, ANSI X9.19 и различных

методах паддинга и сравнение с принятым.

Примечание: Выбор режима вычисления MAC определяется набором

соответствующих флагов. Максимальное значение поля длины

сообщения не должно превышать 2 Кбайт.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘M8’.

Флаг режима 1 N '0' : единственный блок одноблочного

сообщения;

'1' : первый блок многоблочного

сообщения;

'2' : промежуточный блок

многоблочного сообщения;

'3' : последний блок многоблочного

сообщения.

Флаг формата входных

данных

1 N '0' : бинарный;

'1' : шестнадцатиричный;

'2' : текстовый.

Размер MAC 1 N ‘0’ : MAC размером 8

шестнадцаричных символов;

‘1’ : MAC размером 16

шестнадцаричных символов;

‘2’ ... ’9’ : зарезервировано.

Page 309: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 309

Поле Длина и тип Описание

Командное сообщение

Алгоритм MAC 1 N '1' : ISO 9797 MAC algorithm 1

(= ANSI X9.9 если используется

ключ одинарной длины);

'3' : ISO 9797 MAC algorithm 3

(= ANSI X9.19 если используется

ключ двойной длины).

Метод паддинга 1 N

'0' : Нет паддинга. (Все сообщения

должны иметь длину, кратную 8

байтам);

'1' : ISO 9797 Padding method 1 (т.е.

дополнение 0x00);

'2' : ISO 9797 Padding method 2 (т.е.

добавление 0x80 и дополнение

0x00);

‘3’ : ISO 9797 Padding method 3 (т.е.

конкатенация длины сообщения в

битах и сообщения, дополненная

0x00).

Тип ключа 3 H Для варианта LMK тип используемого

ключа:

'003' : TAK (зашифрованный под

LMK 16-17);

'008' : ZAK (зашифрованный под

LMK 26-27).

Для Keyblock LMK поле

игнорируется. Можно присвоить

значение ‘FFF’

Ключ Ключ аутентификации сообщения,

используемой вместе IV для

генерации MAC.

16 H

или

1 A + 32/48 H

или

Для вариантов LMK тип

используемого ключа TAK или ZAK.

Page 310: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 310

Поле Длина и тип Описание

Командное сообщение

1 A + n A

Для Keyblock LMK ключ должен

соответствовать одному из

следующих:

Key Usage Algorithm Mode of Use

‘M1’ ‘D’

‘C’, ‘V’ или

‘N’

‘M3’, ‘M5’,

‘M6’

‘T’ ‘C’, ‘V’ или

‘N’

IV 16 H

или

32 H

Промежуточный IV.

Для последующего вычисления MAC

для промежуточных и последнего

блока IV от предыдущего блока

должен возвращаться в ответе.

Только, если флаг режима = 2 или 3.

При DES/3-DES поле IV имеет длину

16, при AES 32 шестнадцатиричных

символа.

Длина сообщения 4 H Длина следующего поля (в байтах).

Максимум 2048 байт.

Сообщение

n B

или

Сообщение для генерации MAC.

Длина и тип поля определяются

значениями полей Флаг режима и

Флаг формата входных данных.

Флаг формата входных данных = '0'

(бинарный), если флаг режима = '1'

или '2', то n = кратно 8.

n H

или

Флаг формата входных данных = '1'

(шестнадцатеричный), если флаг

режима = '1' или '2', то n = кратно 16.

n A Флаг формата входных данных = '2'

(текст), если флаг режима = '1' или '2',

то n = кратно 8.

MAC 8 H

или

16 H

Проверяемый MAC

Длина данного поля определяется

значением поля 'Размер MAC'

Page 311: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 311

Поле Длина и тип Описание

Командное сообщение

Только если Флаг режима = '1' или '3'.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘M9’.

Код ошибки 2 A 00 – нет ошибок;

01 – ошибка проверки MAC;

02 – недопустимый флаг режима;

03 – недопустимый флаг формата

входных данных;

04 – недопуcтимый алгоритм MAC;

05 – недопустимый тип ключа;

06 – недопустимая длина сообщения;

09 – недопустимый метод паддинга;

10 – ошибка четности ключа MAC;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

IV 16 H

или

32 H

Промежуточный IV.

Должен входить во входные данные

для генерации MAC за следующий

блок данных (сообщение).

Page 312: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 312

Вычисление значения Хэш-функции за блок данных (GМ)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Вычисление значения Хэш-функции за блок данных.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘GM’.

Идентификатор

алгоритма Хэш

2 N Идентификатор алгоритма

Хэш-функции:

‘01’ : SHA-1;

‘06’: SHA-256.

Длина данных 5 N Длина блока данных для вычисления

Хэш-функции.

Блок данных n B Блок данных для вычисления

Хэш-функции.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘GN’.

Код ошибки 2 А 00 – нет ошибок;

05 – недопустимый идентификатор

алгоритма Хэш;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1)

Значение Хэш-функции n B Вычисленное значение Хэш-функции в

соответствии с алгоритмом.

Page 313: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 313

Проведение диагностики (NC)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Выполнение диагностики. Расчет контрольного значения за LMK.

Вывод полученного контрольного значения и идентификатора

загруженного платежного приложения.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений

Код команды 2 А ‘NC’

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘ND’.

Код ошибки 2 A 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1)

Контрольное значение 16 N Контрольное значение LMK

Номер прошивки 9 A Номер прошивки в виде:

xxxx-xxxx

Page 314: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 314

Статус HSM (NO)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Получение информации о статусе HSM.

Примечание: Режимы ‘00’ и ‘01’ доступны, все остальные резервные для

будущего использования.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘NO’.

Флаг режима 2 H Доступные значения флага:

‘00’ : возвращает информацию о

статусе;

От '01' до 'FF' : резерв для будущего

использования

Page 315: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 315

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘NP’.

Код ошибки 2 A 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Выход режима 00

Зарезервировано

1 N Для будущего использования

Зарезервировано

1 N Для будущего использования.

Зарезервировано

2 N Для будущего использования.

Версия 9 A Номер версии в формате: xxxx-xxxx

Зарезервировано 1 N Для будущего использования.

Зарезервировано 4 A Для будущего использования.

Выход режима 01

Зарезервировано

1 N Для будущего использования.

Зарезервировано 10A Для будущего использования.

Page 316: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 316

Проверка динамического CVV/CVC (PM)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Проверка a Dynamic Card Verification Value (dCVV) или Card

Verification Code (dCVC).

Примечания: Данные EMV "Track 2 Equivalent Data", полученные в сообщении

авторизации от бесконтактных смарт-карт, используются для

получения данных:

• PAN

• Expiration Date

• Service Code

• ATC

• DCVV

Проверка CVC3 требует IVCVC3, который представляет собой

MAC, вычисленный за статическую часть Track1 или Track1

данных с использованием DK-CVC3. IVCVC3 подается на вход

команды или может быть вычислен в процессе проверки, если

предоставляются данные соответствующего трека.

PINCVC3 - вариант стандартной схемы CVC3. Приложение для

мобильных MasterCard PayPass M/Chip генерирует PINCVC3

вместо CVC3 при вводе PIN-кода на мобильном устройстве.

Другой IV (известный как PINIVCVC3) используется в данной

проверке. Расчет PINCVC3 идентичен CVC3.

Вычисленный динамический CVV выводится в хост, если

возвращаемый код ошибки 01 и HSM находится в авторизованном

состоянии.

Page 317: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 317

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений

Код команды 2 А ‘PM’.

ID типа карты 1 N Идентификатор типа карты:

‘0’: Visa;

‘1’: MasterCard;

‘2’: American Express.

Версия 1 N Для ID типа карты = ‘0’:

‘0’ : проверка Visa DCVV.

Для ID схемы = ‘1’:

‘0’ : проверка MasterCard PayPass

CVC3. IVCVC3 подается на

вход (PSN=0);

‘1’ : проверка MasterCard PayPass

CVC3. PSN и IVCVC3

подаются на вход;

‘2’ : проверка MasterCard PayPass

CVC3. PSN подается на вход,

IVCVC3 вычисляется по

данным магнитной полосы;

‘3’ : проверка MasterCard PayPass

PINCVC3. PSN подается на

вход, IVCVC3 вычисляется по

данным магнитной полосы.

Для ID схемы = ‘2’:

‘0’ : проверка American Express

ExpressPay согласно

ExpressPay 2.0 specifications.

MK-DCVV 32 H

или

1 A + 32/48 H

или

Для вариантных LMK:

Для ID типа карты =’0’ или ‘2’ в

качестве 'MK-DCVV’ берется

MK-AC, зашифрованный под LMK

28-29 вариант 1.

Для ID схемы =’1’ в качестве

'MK-DCVV’ берется MK-CVC3,

зашифрованный под LMK 28-29

Page 318: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 318

Поле Длина и тип Описание

Командное сообщение

вариант 7.

1 A + n A Для Keyblock LMK:

- при cхеме ID=’0’ или ‘2’

'MK-DCVV' допустимы значения

полей:

Key Usage Algorithm Mode of Use

‘E0’ ‘T’ ‘N’

- при cхеме ID=’1’ или ‘3’ 'MK-

DCVV' допустимы значения полей:

Key

Usage

Algorithm Mode of

Use

‘E6’, ‘32’ ‘T’ ‘N’

Метод выработки ключа 1 А Метод, который используется для

выработки уникального ключа

карты из мастер-ключа:

‘A’ : EMV 4.1 Book 2 Option A

method;

‘B’ : EMV 4.1 Book 2 Option B

method.

PAN n N Primary Account Number карты.

Максимальная длина PAN для ID

типа карты 0 (Visa) – 16 цифр.

Максимальная длина PAN для ID

схемы 1 (MasterCard) – 19 цифр.

Разделитель 1 А Значение ‘;’.

PAN Sequence № 2 N Sequence Number карты.

Если значение неизвестно (не

используется), то подается ‘00’

Представлено только для:

• типа 1 версии 1;

• типа 1 версии 2;

• типа 2.

Page 319: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 319

Поле Длина и тип Описание

Командное сообщение С

хем

а ‘0

’(V

isa

DC

VV

)

1) Expiration Date 4 N Дата истечения срока действия

карты.

2) Service Code 3 N Service Code трека 2 карты.

3) ATC 6 N Application Transaction Counter

(счетчик транзакций приложения).

Если ATC меньше 6 цифр, то

значение счетчика выравнивается

по правому краю, а слева

дополняется нулями.

4) DCVV 3 N Динамический CVV для проверки.

Схем

а ‘1

’(M

aste

rCar

d P

ayP

ass)

Версия ‘0’

или

‘1’

1) IVCVC3 5 N Определяемый эмитентом

статический элемент данных.

Максимальная длина ‘65535’ (2

байта).

Версия ‘2’

или

‘3’

1a) Длина

данных

трека

3 N Длина следующего поля.

1b)

Данные

трека

n N Статические данные трека (1 или

2).

2) Unpredictable Number

10 N

или

8 D

Случайное число, генерируемое

терминалом и передаваемое на

карту во время транзакции PayPass.

Альтернативный формат 4-байтовое

двоично-десятичное представление

(BCD). Максимальное значение

‘4294967295’ (4 байта).

3) ATC 5 N Десятичное значение Application

Transaction Counter (счетчика

транзакций приложения).

Максимальное значение ‘65535’

(2 байта).

4) CVC3/PINCVC3 5 A CVC3 или PINCVC3 для проверки.

Это поле может содержать вначале

символы ‘X’, которые указывают,

что CVC3/PINCVC3 содержит

менее 5 цифр.

Page 320: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 320

Поле Длина и тип Описание

Командное сообщение

Символы ‘X’ не сравниваются с

расчетным значением

CVC3/PINCVC3. Например,

СVC3/PINCVC3 ‘XX123’

соответствует вычисленному ‘87123’.

Максимальное значение ‘65535’

(десятичное представление 2 байтов).

Схем

а ‘2

’(E

xpre

ssP

ay)

Длина данных

транзакции

2 H Длина следующего поля.

Принимает значения от ‘01’ (1) до

‘FF’ (255)

Данные транзакции n B Данные переменной длины.

Если данные не кратны 8 байтам,

то дополнение нулями.

Разделитель 1 A ‘;’. Разделитель, указывающий на

окончание данных транзакции.

Криптограмма 5 N Криптограмма для проверки.

Схем

а ‘3

’ (D

isco

ver

)

ATC

4 N Десятичное значение Application

Transaction Counter (счетчика

транзакций приложения)

Unpredictable Number 2 N Значение случайного числа,

генерируемое терминалом и

передаваемое на карту во время

транзакции PayPass

Extended

Unpredictable Number

6 N Значение Extended Unpredictable

Number, в формате BCD,

выравненное вправо и дополненное

нулями. Только для Version = ‘1’.

DCVV 3 N Динамический CVV для проверки.

Только для версии = ‘0’.

DCVV Plus Length 1 N Длина DCVV Plus.

Только для версии = ‘1’.

DCVV Plus n N DCVV Plus. Длина определяется по

предыдущему полю.

Только для версии = ‘1’.

Page 321: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 321

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘PN’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат

проверки DCVV;

05 – неверный тип карты,

идентификатор версии или метода

выработки ключа;

10 – ошибка четности MK-AC;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Диагностические данные 3 N (схема 0)

или

5 N (схема 1)

Вычисленная DCVV/CVC3/

PINCVC3/Cryptogram.

Только, если код ошибки 01, и HSM в

авторизованном состоянии.

DCVV Plus Diagnostic

Data

n N Вычисление DCVV Plus. The length is

determined by the DCVV Plus Length

field in the command. Only present if

Scheme = ‘3’ and Version = ‘1’ and

Error Code ‘01’ is returned and the HSM

is in Authorized state

Page 322: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 322

Перешифрование KEYVAL (RW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Не требуется Не требуется

Функция: Перешифрование KEYVAL из-под LMK под ZPK. Вывод полученной

шифрограммы в хост.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений

Код команды 2 А ‘RW’

ZPK 16 H

или

1 A + 32/48 H

Используется для зашифрования

KEYVAL. ZPK должен быть

зашифрован под LMK 06-07

или

1 A + n A

Для Keyblock LMK допустимы

значения полей ‘ZPK’:

Key Usage Algorithm Mode of

Use

‘P0’, ‘72’ ‘D’, ‘T’ ‘B’, ‘E’

или ‘N’

KEYVAL 16 H

или

1 A + 32 H

KEYVAL для перешифрования,

зашифрованный под LMK 14-15

вариант 0

Page 323: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 323

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘RX’

Код ошибки 2 A 00 – нет ошибок;

10 – ошибка четности ZPK;

11 – ошибка четности KEYVAL;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

KEYVAL 16 H KEYVAL, зашифрованный под ZPK.

Page 324: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 324

4.5. Команды лицензии «Печать PIN-конвертов» (PIN and Key

Printing License - LIC002)

4.5.1. Перечень команд лицензии «Печать PIN-конвертов»

В Таблица 23 - Перечень команд лицензии «Печать PIN конвертов»

приведен перечень команд лицензии «Печать PIN-конвертов» (LIC002).

Таблица 23 - Перечень команд лицензии «Печать PIN конвертов»

Команда

(ответ)

Функция

A2 (A3, AZ) Генерация и печать компонент

NE (NF, NZ) Генерация ключа и печать в виде Split компонент

PA (PB) Загрузка шаблонов печати PIN

PE (PF, PZ) Печать PIN

4.55.2. Описание команд лицензии «Печать PIN-конвертов»

Генерация и печать компонент (A2)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC002 LIC002

Авторизация: Требуется Требуется

Функция: Генерация случайных компонент, печать компонент и вывод в

зашифрованном виде в хост.

Примечания: Формат печати уже должен быть загружен в HSM (команда PA).

Для ключа одинарной длины, ключ разделяется на две половины по

8 символов. ^ P и ^ Q в формате печати обозначают левую и правую

половины соответственно.

Для ключа двойной длины, ^ P и ^ Q в формате печати обозначают

первый и второй ключ соответственно.

Для ключа тройной длины, ^ P ^ Q и ^ R в формате печати

обозначают первый, второй и третий ключ, соответственно.

^ T в формате печати обозначает проверочное значение ключа.

Page 325: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 325

Формат:

Поле Длина и

тип

Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений.

Код команды 2 А ‘A2’.

Тип ключа 3 H Тип генерируемого ключа (см.

Таблица 7).

Это поле игнорируется, должен

быть установлено значение "FFF"

Флаг проверочной величины

компоненты

1 A Опционально. Если представлен,

то указывает, возвращается ли

проверочная величина

компоненты в ответе.

Ключевая схема (LMK) 1 A Ключевая схема шифрования

компоненты ключа под LMK (см.

Таблица 9).

Поле печати 0 n A Поле в формате печати,

определенное как нулевое (не

должно содержать символ ‘; ’).

Разделитель 1 А Значение ‘; ’.

Поле печати 1 n A Поле в формате печати,

определенное как первое (не

должно содержать символ ‘; ’).

Последнее поле печати n A Поле в формате печати,

определенное как последнее (не

должно содержать символы ‘; ’ и

‘~’).

Разделитель 1 A Значение ‘#’. Требуется при

генерации Keyblock. Если

представлено, то должны быть

поля, приведенные ниже.

Page 326: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 326

Поле Длина и

тип

Описание

Пр

им

еняет

ся т

ольк

о п

ри

со

здан

ии

ко

мп

он

енто

в в

фо

рм

ате

Key

blo

ck

Использование ключа (Key

Usage)

2 A Значение поля Key Usage для

заголовка импортируемого

Keyblock (см. Таблица 13 по типу

ключа). Представлено, если

присутствует поле Разделитель.

Алгоритм 2 A Алгоритм и длина ключа.

Значения поля Algorithm для

включения в заголовок Keyblock.

Представлено, если присутствует

поле Разделитель. Возможные

значения:

‘D1’ – DES ключ одинарной

длины

‘T2’ – DES ключ двойной длины

‘T3' – DES ключ тройной длины

‘A1’ – 128-битный AES ключ

‘A2’ – 192-битный AES ключ

‘A3’ – 256-битный AES ключ

Режим использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock

(см. Таблица 15 по типу ключа)

Представлено, если присутствует

поле Разделитель.

Номер версии ключа (Key

Version Number)

2 N Значения поля Key Version

Number для включения в

заголовок Keyblock. Возможные

значения от ‘c0’ до ‘c9’.

Представлено, если присутствует

поле Разделитель

Экспортируемость

(Exportability)

1 А Значения поля экспортируемость

для заголовка Keyblock (см.

Таблица 17). Представлено, если

присутствует поле Разделитель.

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения

от ‘00’ до ‘06’. Представлено,

если присутствует поле

Разделитель.

Page 327: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 327

Поле Длина и

тип

Описание

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока (см. Таблица 18 - любое

допустимое значение, кроме ‘03’,

‘04’, ‘PB’)

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля

идентификатора и длины).

Возможные значения от X’04’ до

X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Page 328: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 328

Поле Длина и тип Описание

Ответное сообщение (перед печатью)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘A3’.

Код ошибки 2 А 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Компонента ключа Компонента ключа, зашифрованная

под LMK

16 H

или

1 A + 32/48 H

Для вариантных LMK:

В соответствии с типом ключа.

или

1 A + n A

Компонента ключа, зашифрованная в

соотвествии с форматом KeyBlock

LMK

Проверочная величина

компоненты

6 H Проверочная величина компоненты

ключа. Представлена, если флаг

проверочной величины = ‘2’.

Поле Длина и тип Описание

Ответное сообщение (после печати)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 A ‘AZ’.

Код ошибки 2 N 00 – нет ошибок;

16 – Принтер не готов/не подключен;

41 – ошибка внешнего

оборудования;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

Page 329: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 329

Генерация ключа и печать в виде Split компонент (NE)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC001 LIC001

Авторизация: Требуется Требуется

Функция: Генерация ключа DES заданного типа и вывод на печать в виде двух

или трех компонент.

Примечание: Требуется авторизация, подключение принтера и загрузка

формата печати.

Для ключа одинарной длины, ключ разделяется на две половины по

8 символов. ^ P и ^ Q в формате печати обозначают левую и правую

половины соответственно.

Для ключа двойной длины, ^ P и ^ Q в формате печати обозначают

первый и второй ключ соответственно.

Для ключа тройной длины, ^ P ^ Q и ^ R в формате печати

обозначают первый, второй и третий ключ, соответственно.

^ T в формате печати обозначает проверочное значение ключа.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘NE’.

Тип ключа 3 H Тип генерируемого ключа

Для вариантного LMK: (см. Таблица 7).

Для Keyblock LMK поле игнорируется.

Можно присвоить значение ‘FFF’

Ключевая схема (LMK) 1 A Схема шифрования ключей под LMK

(см. Таблица 9).

Page 330: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 330

Поле Длина и тип Описание

Командное сообщение

Поле печати 0 n A Поле печати определяется как 'Поле

печати 0' формата печати (не должно

содержать символа ';').

Разделитель 1 A Значение ';'.

Поле печати 1 n A Поле печати определяется как 'Поле

печати 1' формата печати (не должно

содержать символа ';').

… … ...

Последнее поле печати

n A

Последнее поле печати определяется в

формате печати (не должно содержать

символов ';' или '~').

Пр

им

еняет

ся т

ольк

о д

ля г

енер

аци

и и

эксп

ор

та в

фо

рм

ате

Key

blo

ck

Разделитель 1 A Значение '#'. Требуется при генерации

Keyblock. Если представлено, то

должны быть поля, приведенные ниже

Назначение ключа

(Key Usage)

2 A Значение поля Key Usage для

включения в заголовок Keyblock (см.

Таблица 13 по типу ключа).

Представлено, если присутствует поле

Разделитель

Алгоритм

(Algorithm)

2 A Алгоритм и длина ключа. Значения

поля Algorithm для включения в

заголовок Keyblock. Представлено,

если присутствует поле Разделитель.

Возможные значения:

‘D1’ – DES ключ одинарной длины

‘T2’ – DES ключ двойной длины

‘T3' – DES ключ тройной длины

‘A1’ – 128-битный AES ключ

‘A2’ – 192-битный AES ключ

‘A3’ – 256-битный AES ключ

Режим

использования

(Mode of Use)

1 A Значения поля Mode of Use для

включения в заголовок Keyblock (см.

Таблица 15). Представлено, если

присутствует поле Разделитель

Page 331: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 331

Поле Длина и тип Описание

Командное сообщение П

ри

мен

яет

ся т

ольк

о д

ля г

енер

аци

и и

эксп

орта

в ф

орм

ате

Key

blo

ck

Номер версии

ключа (Key Version

Number)

2 N Значения поля Key Version Number для

включения в заголовок Keyblock.

Возможные значения от ‘00’ до ‘99’ (см.

Таблица 16). Представлено, если

присутствует поле Разделитель

Экспортируемость

(Exportability)

1 А Значения поля для заголовка Keyblock

(см. Таблица 17). Представлено, если

присутствует поле Разделитель.

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Значение ‘00’ (использование других

значений зарезервировано для

будущего использования).

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока.

Любое допустимое значение, кроме

‘PB’ (см. Таблица 18).

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и

длины). Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный

блок

n A Опциональный блок данных.

Page 332: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 332

Поле Длина и тип Описание

Ответное сообщение (до печати)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘NF’.

Код ошибки 2 A 00 – нет ошибок;

16 – принтер не готов/не подключен;

18 – формат печати не загружен;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Ключ Новый ключ, зашифрованный под

LMK..

16 H

или

1 A + 32/48 H

Ключ зашифрован под парой /

вариантом LMK, определяемой

значением поля 'Тип ключа'

или

1 A + n A

Для Keyblock LMK ключи

зашифрованы под LMK.

Контрольное значение 6 H Контрольное значение.

Поле Длина и тип Описание

Ответное сообщение (после печати)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘NZ’.

Код ошибки 2 A 00 – нет ошибок;

16 – принтер не готов/не подключен;

41 – внутренняя ошибка оборудования

или программного обеспечения;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

Page 333: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 333

Печать данных (OA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC002 LIC002

Авторизация: Требуется Требуется

Функция: Печать данных с использованием подключенного к ViPNet HSM PS

принтера в соответствии с загруженным шаблоном.

Примечание: Требуется авторизация, подключение принтера и загрузка

формата печати.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘OA’.

Тип документа 1 A 'A': печать первого документа (при

размещении 2-х документов на листе)

'B': печать второго документа (при

размещении 2-х документов на листе)

'C': печать документа (при размещении

одного документа на листе).

Номер счета (Account

Number)

12 N 12 правых цифр номера счета, исключая

контрольную цифру

Print Field 0 n A Поле печати, заданное как Print Field 0 в

шаблоне формата печати (не должно

содержать символ ';').

Разделитель 1 A Значение ';'.

Print Field 1 n A Поле печати, заданное как Print Field 1 в

шаблоне формата печати (не должно

содержать символ ';').

Разделитель 1 A Значение ';'.

Последнее поле печати

n A

Последнее поле печати в определении

формата печати (не должно содержать

символ ';' или '~').

Page 334: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 334

Поле Длина и тип Описание

Разделитель 1 A Значение '~'.

Поле Длина и тип Описание

Ответное сообщение (до печати)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘OB’.

Код ошибки 2 A 00 – нет ошибок;

68 – команда отключена;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Поле Длина и тип Описание

Ответное сообщение (после печати)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘OZ’.

Код ошибки 2 A 00 – нет ошибок;

16 – принтер не готов / не

подсоединен;

41 – внутренняя ошибка

оборудования или программного

обеспечения;

68 – команда отключена;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 335: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 335

Загрузка шаблонов печати PIN (PA)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC002 LIC002

Авторизация: Не требуется Не требуется

Функция: Загрузка шаблона печати PIN-конверта в оперативную память HSM.

Примечание: HSM может хранить не более 299 символов и констант.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений

Код команды 2 А ‘PA’.

Данные n A Данные шаблона печати.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘PB’.

Код ошибки

2 A

00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

Page 336: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 336

Печать PIN (PE)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC002 LIC002

Авторизация: Требуется Требуется

Функция: Расшифрование PIN из-под LMK и печать PIN в PIN-конверт в

соответствии с загруженным шаблоном.

Примечание: Требуется авторизация, подключение принтера и загрузка

формата печати.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘PE’.

Тип документа 1 A 'A' : печать первого документа (при

размещении 2-х документов на листе);

'B' : печать второго документа (при

размещении 2-х документов на листе);

'C' : печать документа (при размещении

одного документа на листе).

Номер аккаунта 12 N 12 правых цифр номера аккаунта,

исключая контрольный разряд

PIN PIN, зашифрованный под LMK.

L N

Для вариантных LMK 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Для Keyblock LMK - 3-DES:

Длина зашифрованного PIN-кода

составляет L цифр, где L определяется

настройкой безопасности «Длина PIN-

кода».

Page 337: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 337

Поле Длина и тип Описание

или

1 A + 32 H

Для Keyblock LMK – AES: это поле

должно состоять из «J», за которым идут

32 шестнадцатеричных символа.

Print Field 0 n A Поле печати определяется как Print Field

0 в определении формата печати (не

должно содержать символ ';').

Разделитель 1 A Значение ';'.

Print Field 1 n A Поле печати определяется как Print Field

0 в определении формата печати (не

должно содержать символ ';')

Разделитель 1 A Значение ';'.

Последнее поле печати

n A

Последнее поле печати в определении

формата печати (не должно содержать

символ ';' или '~').

Page 338: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 338

Поле Длина и тип Описание

Ответное сообщение (до печати)

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘PF’.

Код ошибки 2 A 00 – нет ошибок;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

Контрольное значение

PIN и контрольное число

L + 12 N Заполняется '0'. Зарезервировано.

Поле Длина и тип Описание

Ответное сообщение (после печати)

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘PZ’.

Код ошибки 2 A 00 – нет ошибок;

16 – принтер не готов / не

подсоединен;

41 – внутренняя ошибка

оборудования или программного

обеспечения;

98 – команда недоступна

или стандартный код ошибки

(см. Приложение 1).

Page 339: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 339

4.6. Команды лицензии «Предперсонализация карт» (Card Data

Preparation License - LIC003)

4.66.1. Перечень команд лицензии «Предперсонализация карт»

Таблица 24 - Перечень команд лицензии «Предперсонализация карт»

показывает перечень команд лицензии «Предперсонализация карт» (LIC003).

Таблица 24 - Перечень команд лицензии «Предперсонализация карт»

Команда

(ответ)

Функция Лист

HK (HL) Генерация подписи данных статической

аутентификации

341

IU (IV) Генерация RSA пары (секретный/открытый ключ)

эмитента (VISA)

343

IW (IX) Проверка самоподписанного сертификата корневого

УЦ (VISA)

346

IY (IZ) Проверка сертификата открытого ключа эмитента

(VISA)

348

JM (JN) Генерация RSA пары (секретный/открытый ключ)

эмитента (MasterCard)

352

JO (JP) Проверка самоподписанного сертификата корневого

УЦ (MasterCard)

355

JQ (JR) Проверка сертификата открытого ключа эмитента

(MasterCard)

357

K8 (K9) Экспорт ключа под KEK 361

KE (KF) Генерация RSA пары (секретный/открытый ключ) и

сертификата эмитента

363

KG (KH) Проверка сертификата открытого ключа эмитента 368

KI (KJ) Генерация мастер-ключей карты 372

KK (KL) Проверка самоподписанного сертификата корневого

УЦ

375

KM (KN) Генерация подписи данных статической

аутентификации (SDA)

377

KO (KP) Генерация RSA пары (секретный/открытый ключ) и

сертификата карты

380

SI (SJ) Диверсификация данных для записи на карту 388

XK (XL) Зашифрование данных транзакции 390

YO (YP) Генерация случайного числа 393

Page 340: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 340

Команда

(ответ)

Функция Лист

YS (YT) Диверсификация ключа 394

YW (YX) Экспорт ключа под KEK 397

YY (YZ) Зашифрование данных 399

ZA (ZB) Импорт ключа под KEK 401

ZC (ZD) Расшифрование данных 403

ZK (ZL) Генерация или проверка МАС 405

ZU (ZV) Сборка сертификата открытого ключа карты (ICC) из

элементов

408

ZW (ZX) Генерация ключевой пары карты (ICC) 411

ZY (ZZ) Генерация производных ключей карты 415

Page 341: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 341

4.66.2. Описание команд лицензии «Предперсонализация карт»

Генерация подписи данных статической аутентификации (HK)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Подпись данных карты с использованием секретного ключа эмитента

с опциональной генерацией DAC (Data Authentication Code).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘HK’.

Идентификатор Хэш 2 N Идентификатор алгоритма вычисления

Хэш-функции:

‘01’ : SHA-1.

Код данных

аутентификации (DAC)

2 B В случае вычисления DAC данное поле

игнорируется.

Длина данных 4 N Длина поля данных статической

аутентификации.

Данные статической

аутентификации

n B Данные статической аутентификации

Разделитель 1 A Значение ‘;’. Указывает на конец поля

данных статической аутентификации

Индекс секретного

ключа

2 N Индекс, указывающий расположение

секретного ключа:

‘00’…’20’ : индекс ключа в

долговременной памяти HSM;

‘99’ : использование ключа,

подаваемого во входных данных

команды.

Длина секретного ключа 4 N Длина (в байтах) секретного ключа

(если индекс ключа = ‘99’).

Page 342: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 342

Поле Длина и тип Описание

Командное сообщение

Секретный ключ n B Секретный ключ, зашифрованный под

LMK 34-35 (если индекс

ключа = ‘99’).

Разделитель 1 A Опционально. Значение “;’. Указывает

наличие следующих двух полей для

вычисления DAC.

PAN/PAN Sequence No 8 B Опционально. PAN или PAN Sequence

Number, предварительно

переформатированный в 8-байтовое

поле.

IMKDAC(LMK) 32 H

или

1 A + 32/48 H

Опционально. Мастер-ключ эмитента

для DAC, зашифрованный под LMK

28-29 вариант 6.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘HL’.

Код ошибки 2 А 00 – нет ошибок;

10 – ошибка четности IMKDAC;

13 – ошибка LMK;

49 – ошибка секретного ключа;

50 – ошибка индекса секретного

ключа;

78 – ошибка длины секретного ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Длина подписи 4 N Длина (в байтах) подписи.

Подпись n B Подпись.

Page 343: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 343

Генерация RSA пары (секретный/открытый ключ) эмитента

(VISA) (IU)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Генерация RSA пары (секретный/открытый ключ) и

самоподписанного EMV-сертификата эмитента (запроса на

сертификацию) в формате VISA. Для применения в Visa Cash и

VSDC.

Примечание: Если функция используется для генерации RSA пары для Visa

Cash, то в качестве идентификатора алгоритма подписи должно быть

указано ‘03’. 1 байт из 11 байтов блока данных должен быть ‘60’

(Visa Service Identifier = Visa Cash), а поле открытой экспоненты

должно отсутствовать.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘IU’.

Идентификатор Хэш 2 N Идентификатор алгоритма Хэш:

‘01’ : SHA-1.

Идентификатор

алгоритма подписи

2 N Идентификатор алгоритм подписи:

‘01’ : RSA;

‘03’ : RSA с экспонентой 65535

(Visa Cash).

Длина ключа 4 N Длина модуля в битах (должна быть

кратна 8).

Минимальное значение =‘0400’.

Максимальное значение =‘2040’

Page 344: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 344

Поле Длина и тип Описание

Командное сообщение

Блок данных 11 B Блок данных для включения в

самоподписанный сертификат (запрос):

Visa Service Identifier, Certificate Format,

Issuer Identification Number and

Certificate Expiration Date (см.

Приложение 2).

Tracking Number 3 D 6 цифр Tracking Number для включения

в самоподписанный сертификат (см.

Приложение 2).

Данные аутентификации n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

данных аутентификации. Значение ‘;’.

Длина открытой

экспоненты

4 N Опционально. Не должно

присутствовать, если идентификатор

алгоритма подписи ’03’.

Указывает длину открытой экспоненты

в битах.

Открытая экспонента n B Опционально. Должно быть нечетное

значение. Если не указано, то

полагается 65537.

Page 345: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 345

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘IV’.

Код ошибки 2 А 00 – нет ошибок;

02 – ошибка длины ключа;

50 – недопустимый идентификатор

алгоритма подписи;

51 – несовместимый идентификатор

алгоритма подписи;

52 – ошибка длины открытой

экспоненты;

53 – открытая экспонента – четная;

79 – недопустимый идентификатор

Хэш-функции;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ

и данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ, закодированный в

DER в формате ASN.1.

Размер сертификата 4 N Размер самоподписанного сертификата (в

байтах).

Самоподписанный

сертификат (заявка)

n B Самоподписанный сертификат (заявка)

(см. Приложение 2).

Длина Хэш 2 N Длина следующего поля (в

шестнадцатиричных символах). Для

SHA-1 – ‘40’.

Хэш n H Значение Хэш за данные

самоподписанного сертификата.

Длина секретного ключа 4 N Длина (в байтах) следующего поля.

Секретный ключ n B Секретный ключ, зашифрованный под

LMK 34-35.

Page 346: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 346

Проверка самоподписанного сертификата корневого УЦ (VISA)

(IW)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Проверка самоподписанного сертификата корневого

удостоверяющего центра (УЦ) в формате VISA.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘IW’.

Размер сертификата 4 N Размер самоподписанного сертификата

УЦ (в байтах).

Самоподписанный

сертификат УЦ

n B Самоподписанный сертификат УЦ

(см. Приложение 2).

Разделитель 1 A Разделитель. Значение ‘;’.

Данные

аутентификации

n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Page 347: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 347

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘IX’.

Код ошибки 2 А 00 – нет ошибок;

02 – ошибка длины ключа;

51 – ошибка проверки Хэш (не

подписанная часть);

52 – ошибка проверки Хэш

(подписанная часть);

79 – недопустимый идентификатор

Хэш-функции;

80 – ошибка размера сертификата;

81 – недопустимый формат

сертификата;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ

и данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ, закодированный в

DER в формате ASN.1.

Срок действия 2 D Дата окончания срока действия

сертификата (ММГГ).

Page 348: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 348

Проверка сертификата открытого ключа эмитента (VISA) (IY)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Проверка сертификата открытого ключа эмитента в формате VISA и

вывод в хост открытого ключа и вычисленного MAC.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘IY’.

MAC 4 B MAC за открытый ключ корневого УЦ и

данные аутентификации, вычисленный

с использованием

LMK 36-37.

Открытый ключ УЦ n B Открытый ключ УЦ, закодированный в

DER в формате ASN.1.

Данные аутентификации

УЦ

n A Опционально. Данные, которые могут

быть добавлены к открытому ключу УЦ

для вычисления MAC (не должны

содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

поля данных аутентификации. Значение

‘;’.

Размер сертификата

эмитента

4 N Размер сертификата эмитента (в

байтах).

Смещение открытого

ключа в сертификате

4 N ‘0000’ или смещение начала открытого

ключа эмитента в сертификате.

Сертификат эмитента n B Сертификат эмитента

(см. Приложение 2).

Разделитель 1 A Разделитель, указывающий на конец

поля сертификата. Значение ‘;’

Данные аутентификации

эмитента

n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Page 349: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 349

Поле Длина и тип Описание

Командное сообщение

Разделитель 1 A Разделитель, указывающий на конец

поля данных аутентификации. Значение

‘;’.

Длина секретного ключа 4 N Опционально. Длина (в байтах)

секретного ключа.

Секретный ключ n B Опционально. Секретный ключ

эмитента, зашифрованный под

LMK 34-35.

Разделитель 1 A Разделитель, указывающий на конец

поля секретного ключа. Значение ‘;’.

Длина подписи

(отдельно)

4 N Опционально. Длина (в байтах) подписи

(отдельно).

Подпись n B Подпись за отдельные поля

сертификата эмитента, созданная с

использованием секретного ключа УЦ.

Page 350: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 350

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘IZ’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

02 – отрицательный результат проверки

Хэш;

03 – недопустимый формат

сертификата;

05 – недопустимый алгоритм Хэш;

09 – несовместимый идентификатор

алгоритма подписи;

49 – ошибка секретного ключа;

75 – несоответствие открытого ключа

секретному;

76 – ошибка длины открытого ключа;

77 – неверный формат подписи

(отдельной);

78 – ошибка длины секретного ключа;

79 – ошибка подписи (отдельной):

неверный Object ID;

80 – ошибка размера сертификата;

81 – ошибка длины подписи

(отдельной);

82 – неверный сертификат открытого

ключа;

83 – ошибка подписи (отдельной);

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ

эмитента и данные аутентификации с

использованием LMK 36-37.

Page 351: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 351

Поле Длина и тип Описание

Ответное сообщение

Открытый ключ

эмитента

n B Открытый ключ, закодированный в

DER в формате ASN.1.

Длина Хэш 2 N Длина (в шестнадцатиричном формате)

следующего поля. Для SHA-1 – ‘40’.

Хэш n H

Значение Хэш-функции, вычисленное

за открытый ключ эмитента и

сопутствующие данные

(см. Приложение 2).

Page 352: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 352

Генерация RSA пары (секретный/открытый ключ) эмитента

(MasterCard) (JM)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Генерация RSA пары (секретный/открытый ключ) и

самоподписанного EMV-сертификата эмитента (запроса на

сертификацию) в формате MasterCard.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JM’.

Идентификатор Хэш 2 N Идентификатор алгоритма Хэш:

‘01’ : SHA-1.

Идентификатор

алгоритма подписи

2 N Идентификатор алгоритма подписи:

‘01’ : RSA.

Длина ключа 4 N Длина модуля в битах (должна быть

кратна 8).

Минимальное значение =‘0400’.

Максимальное значение =‘2040’.

Блок данных 9 B Блок данных для включения в

самоподписанный сертификат (запрос):

Certificate Subject ID (4 bytes), Expiry

Date (2 bytes) and Certificate Serial

Number (3 bytes). (см. Приложение 2).

Индекс открытого

ключа эмитента

3 B Индекс открытого ключа эмитента (см.

Приложение 2).

Данные аутентификации n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

данных аутентификации. Значение ‘;’.

Page 353: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 353

Поле Длина и тип Описание

Командное сообщение

Длина открытой

экспоненты

4 N Опционально. Указывает длину

открытой экспоненты в битах.

Открытая экспонента n B Опционально. Должно быть нечетное

значение. Если не указано, то

полагается 65537.

Page 354: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 354

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘JN’.

Код ошибки 2 А 00 – нет ошибок;

02 – ошибка длины ключа;

08 – недопустимое значение открытой

экспоненты;

50 – недопустимый идентификатор

алгоритма подписи;

52 – ошибка длины открытой

экспоненты;

53 – открытая экспонента – четная;

79 – недопустимый идентификатор

Хэш-функции;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ

и данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ (DER encoded in ASN.1

format).

Размер сертификата 4 N Размер самоподписанного сертификата (в

байтах).

Самоподписанный

сертификат (заявка)

n B Самоподписанный сертификат (заявка)

(см. Приложение 2).

Длина Хэш 2 N Длина следующего поля (в

шестнадцатиричных символах). Для

SHA-1 – ‘40’.

Хэш n H Значение Хэш за данные

самоподписанного сертификата.

Длина секретного ключа 4 N Длина (в байтах) следующего поля.

Секретный ключ n B Секретный ключ, зашифрованный под

LMK 34-35.

Page 355: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 355

Проверка самоподписанного сертификата корневого УЦ

(MasterCard) (JO)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Проверка самоподписанного сертификата корневого

удостоверяющего центра (УЦ) в формате MasterCard.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JO’.

Размер сертификата 4 N Размер самоподписанного сертификата

УЦ (в байтах).

Самоподписанный

сертификат УЦ

n B Самоподписанный сертификат УЦ

(см. Приложение 2).

Разделитель 1 A Разделитель. Значение ‘;’.

Данные

аутентификации

n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Page 356: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 356

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JP’.

Код ошибки 2 А 00 – нет ошибок;

08 – ошибка открытого ключа;

51 – недопустимый формат

сертификата;

52 – недопустимый ID;

53 – открытая экспонента – четная;

55 – недопустимый алгоритм подписи;

56 – ошибка проверки Хэш;

79 – недопустимый идентификатор

Хэш-функции;

80 – ошибка размера сертификата;

81 – недопустимый формат

сертификата;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ

и данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ кодируется DER в

формате ASN.1.

Длина Хэш 2 N Длина следующего поля (в

шестнадцатиричных символах). Для

SHA-1 – ‘40’

Хэш n H Значение Хэш за данные

самоподписанного сертификата УЦ.

Срок действия 2 D Дата окончания срока действия

сертификата (ММГГ).

Серийный номер

сертификата

3 B Серийный номер самоподписанного

сертификата УЦ.

Page 357: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 357

Проверка сертификата открытого ключа эмитента (MasterCard)

(JQ)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Проверка сертификата открытого ключа эмитента в формате

MasterCard и вывод в хост открытого ключа и вычисленного MAC.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JQ’.

MAC 4 B MAC за открытый ключ корневого УЦ и

данные аутентификации, вычисленный

с использованием

LMK 36-37.

Открытый ключ УЦ n B Открытый ключ УЦ (DER encoded in

ASN.1 format).

Данные аутентификации

УЦ

n A Опционально. Данные, которые могут

быть добавлены к открытому ключу УЦ

для вычисления MAC (не должны

содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

поля данных аутентификации. Значение

‘;’.

Размер сертификата

эмитента

4 N Размер сертификата эмитента (в

байтах).

Смещение открытого

ключа в сертификате

4 N Смещение начала открытого ключа

эмитента в сертификате.

Сертификат эмитента n B Сертификат эмитента

(см. Приложение 2).

Разделитель 1 A Разделитель, указывающий на конец

поля сертификата. Значение ‘;’.

Page 358: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 358

Поле Длина и тип Описание

Командное сообщение

Данные аутентификации

эмитента

n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

поля данных аутентификации. Значение

‘;’.

Длина секретного ключа 4 N Опционально. Длина (в байтах)

секретного ключа.

Секретный ключ n B Опционально. Секретный ключ

эмитента, зашифрованный под

LMK 34-35 .

Page 359: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 359

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JR’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

02 – отрицательный результат проверки

Хэш;

05 – недопустимый алгоритм Хэш;

06 – недопустимый алгоритм подписи;

09 – несовместимый идентификатор

алгоритма подписи;

49 – ошибка секретного ключа;

75 – несоответствие открытого ключа

секретному;

76 – ошибка длины открытого ключа;

78 – ошибка длины секретного ключа;

80 – ошибка размера сертификата;

83 – недопустимый формат

сертификата;

84 – недопустимый ID;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ

эмитента и данные аутентификации с

использованием LMK 36-37.

Открытый ключ

эмитента

n B Открытый ключ (DER encoded in ASN.1

format).

Длина Хэш 2 N Длина (в шестнадцатиричном формате)

следующего поля. Для SHA-1 – ‘40’.

Хэш n H Значение Хэш за открытый ключ и

данные эмитента

Срок действия 2 D Дата окончания срока действия

сертификата (ММГГ)

Page 360: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 360

Поле Длина и тип Описание

Ответное сообщение

Серийный номер

сертификата

3 B Серийный номер сертификата эмитента

Page 361: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 361

Экспорт ключа под KEK (K8)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Экспорт ключа под KEK для передачи в систему персонализации.

Примечание: Ключевые схемы представлены в Таблица 9.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘K8’.

Тип ключа 3 H Экспортируемые ключи:

‘001’ : ZPK, зашифрованный под LMK

06-07;

'008’ : ZAK, зашифрованный под LMK

26-27;

‘00A’ : ZEK, зашифрованный под LMK

30-31.

Ключ 16 H

или

1 A + 32/48 H

Ключ соответствующего типа,

зашифрованный под LMK.

KEK 32 H

или

1 A + 32/48 H

KEK, зашифрованный под LMK 24-25

вариант 1.

Ключевая схема (KEK) 1 A Схема шифрования ключа под KEK

(см. Таблица 9).

Page 362: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 362

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘K9’.

Код ошибки 2 А 00 – нет ошибок;

05 – недопустимый тип ключа;

10 – ошибка четности ключа;

11 – ошибка четности KEK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Ключ (KEK) 8 B

или

1 A + 16/24 B

Ключ, зашифрованный под KEK.

Проверочная величина

ключа

3 B Проверочная величина ключа.

Page 363: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 363

Генерация RSA пары (секретный/открытый ключ) и сертификата

эмитента (KE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Генерация RSA пары (секретный/открытый ключ) и

самоподписанного EMV-сертификата эмитента (заявки на

сертификацию) в специфицированном формате карты.

Или формирование EMV-сертификата эмитента (заявки на

сертификацию) в специфицированном формате карты по ранее

сгенерированной RSA паре (секретный/открытый ключ). В этом

случае проверяется соответствие открытого ключа закрытому.

Примечание: Тип ключа для секретного ключа будет установлен ‘2’ (подпись и

управление ключами). По умолчанию используется значение

открытой экспоненты 65537 (216 +1). Если значение открытой

экспоненты подается на вход команды, то оно должно быть ‘3’

или 65537.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KE’.

Идентификатор типа

карты

1 N Идентификатор типа карты (ПП):

‘0’ : Visa VSDC;

‘1’ : MasterCard;

‘2’ : American Express AEIPS v4.1

Флаг режима 1 N ‘0’ или ‘2’: Генерация ключевой пары и

сертификата;

‘1’ : только генерация сертификата (по

заданной ключевой паре)

Page 364: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 364

Поле Длина и тип Описание

Командное сообщение

Идентификатор Хэш 2 N Идентификатор алгоритма Хэш:

‘01’ : SHA-1.

Идентификатор

алгоритма подписи

2 N Идентификатор алгоритма подписи:

‘01’ : RSA.

Если флаг режима ‘0’ или ‘2’, то должны быть представлены следующие 5 полей:

Длина ключа 4 N Длина модуля в битах (должна быть

кратна 8).

Минимальное значение =‘0400’.

Максимальное значение =‘2040’.

Данные аутентификации n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Разделитель 1 A Разделитель. Значение ‘;’.

Длина открытой

экспоненты

4 N Опционально. Указывает длину

открытой экспоненты в битах.

Открытая экспонента n B Опционально. Если не указано, то

полагается 65537.

Если флаг режима = ‘1’, то должны быть представлены следующие 4 поля:

Длина секретного ключа 4 N Длина (в байтах) секретного ключа.

Секретный ключ n B Секретный ключ, зашифрованный под

LMK 34-35.

Разделитель 1 А Разделитель. Значение ‘;’.

Открытый ключ n B Открытый ключ (DER encoded in ASN.1

format).

Должны быть представлены следующие поля:

Разделитель 1 А Разделитель. Значение ‘;’.

Идентификатор

эмитента (BIN)

8 H Выравненные по левому краю 3-8 цифр

PAN, дополненные справа ‘ff’.

Дата окончания срока

действия сертификата

4 N Дата окончания срока действия

сертификата в формате ММГГ.

Page 365: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 365

Поле Длина и тип Описание

Командное сообщение

Для типа карты ‘0’ (Visa VSDC) следующие 2 поля должны быть включены в

самоподписанный сертификат (заявку) (см. Приложение 2)

Идентификатор сервиса 8 H Идентификатор, специфицирующий

сервис Visa, дополненный справа

шестнадцатиричными ‘0’.

Tracking Number 6 N 6 цифр Visa Tracking Number.

Для типа карты ‘1’ (MasterCard) следующие 2 поля должны быть включены в

самоподписанный сертификат (заявку) (см. Приложение 2).

Серийный номер

сертификата

6 H Tracking Number.

Индекс открытого

ключа эмитента

6 H Уникальный идентификатор открытого

ключа эмитента.

Для типа карты ‘2’ (American Express AEIPS v4.1) следующие 2 поля должны быть

включены в самоподписанный сертификат (заявку) (см. Приложение 2)

Идентификатор сервиса 8 H Идентификатор, специфицирующий

сервис American Express.

Tracking Number 6 N Tracking Number.

Page 366: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 366

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KF’.

Код ошибки 2 А 00 – нет ошибок;

05 – недопустимый флаг режима или

тип карты (ПП);

06 – недопустимый идентификатор

алгоритма подписи или Хэш;

Для флага режима ‘0’ или ‘2’:

03 – ошибка длины ключа;

07 – ошибка длины открытой

экспоненты;

08 – недопустимое значение открытой

экспоненты;

Для флага режима ‘1’:

02 – ошибка кодировки открытого

ключа;

09 – несоответствие открытого и

закрытого ключа;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Если флаг режима ‘0’ или ‘2’, то должны быть представлены следующие 4 поля:

MAC 4 B MAC, вычисленный за открытый

ключ и данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ (DER encoded in

ASN.1 format).

Длина секретного ключа 4 N Длина (в байтах) следующего поля.

Секретный ключ n B Секретный ключ, зашифрованный под

LMK 34-35.

Page 367: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 367

Поле Длина и тип Описание

Ответное сообщение

Должны быть представлены следующие поля:

Размер сертификата 4 N Размер самоподписанного

сертификата (в байтах).

Самоподписанный

сертификат (заявка)

n B Самоподписанный сертификат

(заявка), включающий подписанную и

не подписанную части. (см.

Приложение 2).

Длина Хэш 2 N Длина следующего поля (в

шестнадцатиричных символах). Для

SHA-1 – ‘40’.

Хэш n Н Значение Хэш за данные

самоподписанного сертификата.

Page 368: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 368

Проверка сертификата открытого ключа эмитента (KG)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Проверка сертификата открытого ключа эмитента и вывод в хост

открытого ключа и вычисленного MAC.

Примечание: Полный сертификат состоит из открытой (неподписанной) части,

собственно сертификата открытого ключа эмитента, и опционально

(для Visa и American Express) отдельной подписи.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KG’.

Тип карты 1 N ‘0’ : Visa VSDC;

‘1’ : MasterCard/Europay;

‘2’: American Express AEIPS v4.1.

MAC (CA) 4 B MAC за открытый ключ корневого УЦ

и данные аутентификации,

вычисленный с использованием

LMK 36-37.

Открытый ключ УЦ n B Открытый ключ УЦ (DER encoded in

ASN.1 format).

Данные

аутентификации УЦ

n A Опционально. Данные, которые могут

быть добавлены к открытому ключу

УЦ для вычисления MAC (не должны

содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

поля данных аутентификации.

Значение ‘;’.

Размер сертификата

эмитента

4 N Размер сертификата эмитента (в

байтах).

Page 369: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 369

Поле Длина и тип Описание

Командное сообщение

Сертификат эмитента n B Сертификат эмитента, включающий

подписанные и неподписанные данные

(cм. Приложение 2).

Для типов карт ‘0’ (Visa VSDA) и

‘2’ (American Express AEIPS v4.1)

сертификат также может включать

отдельную подпись.

Разделитель 1 A Разделитель. Значение ‘;’.

Данные

аутентификации

эмитента

n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Разделитель 1 A Разделитель, указывающий на конец

поля данных аутентификации.

Значение ‘;’.

Длина секретного ключа 4 N Опционально. Длина (в байтах)

секретного ключа.

Секретный ключ n B Опционально. Секретный ключ

эмитента, зашифрованный под

LMK 34-35.

Разделитель 1 A Разделитель. Значение ‘;’.

Page 370: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 370

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KH’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат проверки

MAC;

05 – недопустимый тип карты;

06 – недопустимый алгоритм Хэш или

подписи;

07 – отрицательный результат проверки

Хэш за данные сертификата;

08 – ошибка кодирования открытого

ключа УЦ;

09 - несоответствие открытого ключа

секретному;

76 – ошибка длины открытого ключа;

78 – ошибка длины секретного ключа;

80 – ошибка размера сертификата;

81 – ошибка формата сертификата;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Для типа карты ‘0’ или ‘2’:

52 – недопустимый заголовок

расширения сертификата;

53 – ошибка формата подписи

(отдельной);

54 – ошибка длины подписи

(отдельной);

55 – ошибка подписи (отдельной).

MAC 4 B MAC, вычисленный за открытый ключ

эмитента и данные аутентификации с

использованием LMK 36-37.

Открытый ключ

эмитента

n B Открытый ключ (DER encoded in ASN.1

format).

Page 371: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 371

Поле Длина и тип Описание

Ответное сообщение

Длина Хэш 2 N Длина (в шестнадцатиричном формате)

следующего поля. Для SHA-1 – ‘40’.

Хэш n H Значение Хэш-функции, вычисленное

за открытый ключ эмитента и

сопутствующие данные.

Идентификатор

эмитента

8 H Идентификатор эмитента (из

сертификата).

Дата окончания срока

действия сертификата

4 N Дата окончания срока действия

сертификата эмитента (ММГГ).

Серийный номер/

Tracking Number

6 H Серийный номер/ Tracking Number (из

сертификата).

Для типа карты ‘0’ (Visa VSDC) и ‘2’ (American Express AEIPS v4.1) должны

быть представлены следующие поля (см. Приложение 2):

Длина Хэш отдельной

подписи

2 N Длина следующего поля (в

шестнадцатиричных символах). Для

SHA-1 – ‘40’.

Если отдельная подпись не

представлена, то значение поля ‘00’ и

следующее поле отсутствует.

Хэш отдельной подписи n H Хэш-функция отдельной подписи.

Page 372: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 372

Генерация мастер-ключей карты (KI)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Генерация эмитентом одного из производных ключей для Chip-card

приложений: IDKAC, IDKSME, IDKSMC, IDKDN или IDKCVC3 (IDKDCVV).

Формирование проверочных величин ключей (в зависимости от

заданного флага). Вывод в хост сформированных ключей в виде

шифрограмм под под KEK, а также проверочных величин ключей.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KI’.

Тип IMK 3 H Тип мастер-ключа эмитента:

‘109’ : IMKAC, зашифрованный под LMK

28-29 вариант 1;

‘209’ : IMKSMI, зашифрованный под

LMK 28-29 вариант 2;

‘309’ : IMKSMC, зашифрованный под

LMK 28-29 вариант 3;

‘509’ : IMKDN, зашифрованный под LMK

28-29 вариант 5;

‘709’ : IMKCVC3 или IMKDCVV,

зашифрованный под LMK 28-29

вариант 7.

IMK(LMK) 32 H

или

1 A + 32/48 H

Мастер-ключ эмитента, используемый

для диверсификации мастер-ключа карты

(в соответствии с заданным типом IMK),

зашифрованный под LMK.

Метод

диверсификации

ключей

1 A EMV-метод диверсификации ключей:

‘A’ : EMV4.1 Book 2 Option A method;

‘B’: EMV 4.1 Book 2 Option B method.

Page 373: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 373

Поле Длина и тип Описание

Командное сообщение

Данные для

диверсификации

n N Конкатенация PAN и двух цифр

Sequence Number.

Если Sequence Number не используется,

то заменяется ‘00’.

Разделитель 1 A Разделитель. Значение ‘;’.

KEK(LMK) 32 H

или

1 A + 32/48 H

Ключ KEK, зашифрованный под LMK

24-25 вариант 1.

Ключевая схема (KEK) 1 A Схема шифрования

диверсифицированных ключей под KEK

(см. Таблица 9).

Тип проверочной

величины ключа

1 A ‘0’: KCV 6 байтов;

‘1’: KCV 3 байта.

Page 374: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 374

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KJ’.

Код ошибки 2 А 00 – нет ошибок;

04 – некорректный метод

диверсификации ключа;

05 – недопустимый тип IMK;

06 – недопустимые данные

диверсификации для данного

метода;

10 – ошибка четности IMK;

11 – ошибка четности KEK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

IDK(KEK) 1 A + 16/24 B Диверсифицированный ключ,

зашифрованный под KEK.

Проверочная величина

ключа

6 B или 3 B Проверочная величина ключа IDK.

Page 375: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 375

Проверка самоподписанного сертификата корневого УЦ (KK)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Требуется -

Функция: Проверка самоподписанного сертификата корневого

удостоверяющего центра (УЦ) и возврат хосту открытого ключа

вместе с вычисленным MAC и датой окончания срока действия

сертификата. Для MasterCard функция также возвращает серийный

номер сертификата и значение Хэш-функции для проверки

открытого ключа.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KK’.

Тип карты (ПП) 1 N ‘0’ : Visa VSDC;

‘1’ : MasterCard;

‘2 : American Express AEIPS V4.1.

Размер сертификата 4 N Размер самоподписанного сертификата УЦ

(в байтах).

Самоподписанный

сертификат УЦ

n B Самоподписанный сертификат УЦ,

состоящий из открытой части и

собственно сертификата открытого

ключа УЦ (cм. Приложение 2).

Разделитель 1 A Разделитель. Значение ‘;’.

Данные

аутентификации

n A Опционально. Данные, которые могут

быть добавлены для вычисления MAC

(не должны содержать ‘;’).

Page 376: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 376

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KL’.

Код ошибки 2 А 00 – нет ошибок;

05 – недопустимый тип карты (ПП);

06 – недопустимый алгоритм Хэш или

подписи;

07 – отрицательный результат проверки

Хэш сертификата;

08 – несоответствие открытых и

подписанных данных сертификата;

80 – ошибка размера сертификата;

81 – недопустимый формат сертификата;

98 – команда недоступна

или стандартный код ошибки

(Приложение 1).

MAC 4 B MAC, вычисленный за открытый ключ и

данные аутентификации с

использованием LMK 36-37.

Открытый ключ n B Открытый ключ (DER encoded in ASN.1

format).

Дата окончания срока

действия

4 N Дата окончания срока действия

сертификата (ММГГ).

Для типа карты ‘1’ (MasterCard) должны быть представлены следующие 3 поля

(cм. Приложение 2):

Серийный номер

сертификата

6 H Серийный номер сертификата

(полученный из сертификата).

Длина Хэш для

проверки

2 N Длина (в шестнадцатиричных символах)

следующего поля. Длина должна

соответствовать идентификатору

алгоритма Хэш, указанному в сертификате.

Для SHA-1 - ‘40’.

Хэш n H Хэш для проверки открытого ключа УЦ

(включая ID сертификата, индекс

открытого ключа, модуль и экспоненту).

Page 377: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 377

Генерация подписи данных статической аутентификации (SDA)

(KM)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Генерация подписи данных карты с использованием секретного

ключа подписи эмитента

Примечание: Опционально автоматически формируется DAC, если это

необходимо (для схемы MasterCard)

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KM’.

Идентификатор Хэш 2 N Идентификатор алгоритма, который

используется для подсчета значения

Хэш-функции за данные:

'01’ : SHA-1.

Data Authentication Code 2 B Код аутентификации данных (Data

Authentication Code). Поле всегда

представлено, но оно игнорируется при

опции подсчета DAC.

Длина данных 4 N Длина поля данных статической

аутентификации.

Данные статической

аутентификации

n B Данные статической аутентификации

(Static authentication data).

Разделитель 1 А Обязательный разделитель.

Значение ‘;’.

Индекс секретного ключа 2 N Индекс указывает местонахождение

секретного ключа подписи эмитента:

если флаг = ‘99’, то используется ключ

из входных данных команды, в

противном случае – индекс означает

загруженный в память секретный ключ

Page 378: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 378

Поле Длина и тип Описание

Командное сообщение

Длина секретного ключа 4 N Длина (в байтах) секретного ключа

эмитента.

Только, если индекс секретного ключа

эмитента = ‘99’

Секретный ключ n B Секретный ключ эмитента,

зашифрованный под LMK 34-35.

Только, если индекс секретного ключа

эмитента = ‘99’

Разделитель 1 А Опционально. Значение ‘;’

Указывает на представление

следующих двух полей для вычисления

DAC.

Если разделитель присутствует, то должны быть представлены следующие два

поля:

MK-DAC 32 H

или

1 A + 32 H

Мастер-ключ эмитента для Data

Authentication Code, зашифрованный

под LMK 28-29 вариант 4.

PAN/PSN 16 N Конкатенация 14 правых цифр Primary

Account Number (PAN) и двузначного

Sequence Number карты. Дополняется

слева нулями при необходимости.

Page 379: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 379

Поле Длина и

тип

Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KN’.

Код ошибки 2 А 00 – нет ошибок;

04 – недопустимый индекс секретного

ключа;

06 – недопустимый идентификатор

Хэш;

10 – ошибка четности MK-DAC;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Длина подписи 4 N Длина в байтах подписи SDA.

Цифровая подпись n B Вычисленная цифровая подпись SDA.

Page 380: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 380

Генерация RSA пары (секретный/открытый ключ) и сертификата

карты (KO)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Генерация RSA пары (секретный/открытый ключ) и создание

сертификата открытого ключа карты, подписанного закрытым

ключом эмитента.

Или формирование сертификата открытого ключа карты в

специфицированном формате карты по ранее сгенерированной RSA

паре (секретный/открытый ключ). В этом случае проверяется

соответствие открытого ключа закрытому.

Примечание: Тип ключа для секретного ключа будет установлен ‘3’ (ICC Key).

По умолчанию используется значение открытой экспоненты 65537

(216 +1). Если значение открытой экспоненты подается на вход

команды, то оно должно быть ‘3’ или 65537.

При реализации режима ‘1’ секретный ключ (и соответствующий

открытый) может быть при необходимости модифицирован в

соответствии с требованиями системы персонализации.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘KO’.

Идентификатор типа

карты

1 N Идентификатор типа карты (ПП):

‘0’ : Visa VSDC;

‘1’ : MasterCard;

‘2’ : American Express AEIPS v4.1.

Page 381: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 381

Поле Длина и тип Описание

Командное сообщение

Тип сертификата 1 N ‘0’ : сертификат открытого ключа

карты;

‘1’ : сертификат открытого ключа

карты для офлайновой

аутентификации PIN (шифрования

PIN).

Флаг режима 1 N ‘0’ или ‘2’: Генерация ключевой пары и

сертификата карты;

‘1’ : генерация сертификата карты (по

заданной ключевой паре) и экспорт

секретного ключа под KEK.

Флаг RSA ключей 1 N Указывает тип ключей:

‘0’ : Ключи с q > p;

‘2’ : Ключи с p > q.

Сгенерированные или полученные из

входных данных ключи RSA

проверяются согласно заданному типу

и, в случае несоответствия,

модифицируются..

Если флаг режима ‘0’ или ‘2’, то должно быть представлено следующее поле:

Длина ключа

4 N Длина модуля в битах (должна быть

кратна 8).

Минимальное значение =‘0400’.

Максимальное значение =‘2040’.

Должны быть представлены следующие поля:

Выходной формат

секретного ключа

2 N Выходной формат секретного ключа:

‘03’ : вывод в форме 5 компонент

(Китайская теорема об

остатках - CRT), зашифрованных в

режиме CBC под KEK;

‘04’ : вывод секретного ключа в виде

экспоненты (d) и модуля (n),

зашифрованных под KEK;

‘05’ : вывод секретного ключа и в виде

5 компонент CRT (формат 03), и в

виде экспоненты (d) и модуля (n),

зашифрованных под KEK

(формат ‘04’).

Page 382: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 382

Поле Длина и тип Описание

Командное сообщение

Разделитель 1 A Опционально. Значение ‘;’.

Если представлено, то должно быть

следующее поле.

Режим паддинга 1 N Только если присутствует разделитель.

‘0’ : Дополнение ‘00’ блоков

CRT-компонент или модуля и

экспоненты до кратности 8 байтам.

Данный режим паддинга применяется

по умолчанию для модуля и

экспоненты, если режим паддинга явно

не указан

‘1’ : Дополнение 4 байтами

(8000 0000) или 8 байтами

(8000 0000 0000 0000) блоков

CRT-компонент или модуля и

экспоненты до кратности 8 байтам.

Данный режим паддинга может быть

применим для блоков

CRT-компонент или модуля и

экспоненты, кратных 4 или 8 байтам

соответственно

‘2’ : Дополнение одним байтом ‘80’ и

последующими байтами ‘00’ блоков

CRT-компонент или модуля и

экспоненты до кратности 8 байтам.

Данный режим паддинга применяется

по умолчанию для CRT-компонент, если

режим паддинга явно не указан

KEK 32 H

или

1 A + 32/48 H

KEK, зашифрованный под LMK 24-25

вариант 1.

Режим шифрования 1 N Режим шифрования секретной

экспоненты и модуля, если выходной

формат секретного ключа ‘05’, а также

CRT-компонент:

‘0’ : ECB;

‘1’ : CBC.

Только если выходной формат

секретного ключа ‘04’ или ‘05’.

Page 383: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 383

Поле Длина и тип Описание

Командное сообщение

IV 8 B Инициализационный вектор.

Только если выходной формат

секретного ключа ‘04’ или ‘05’ и режим

шифрования = 1.

Число байтов (длина)

1 N

Число байтов, отведенных под

обозначение длины компоненты ключа

Возможные значения 0, 1 или 2. Если

значение ‘0’, то поле длины

отсутствует в выходном формате блока

компоненты. Для выходного формата

секретного ключа = ‘3’ для поля длины

по умолчанию используется 1 байт.

Только если выходной формат

секретного ключа ‘04’ или ‘05’ (для

всех видов компонент: модуль,

экспонента, CRT-компонента).

Если флаг режима ‘0’ или ‘2’, то должны быть представлены следующие 3 поля:

Длина открытой

экспоненты

4 N Опционально. Указывает длину

открытой экспоненты в битах.

Открытая экспонента n B Опционально. Если не указано, то

полагается 65537.

Разделитель 1 A Разделитель. Значение ‘;’.

Если флаг режима = ‘1’, то должны быть представлены следующие 4 поля:

Длина секретного ключа 4 N Длина (в байтах) секретного ключа

карты.

Секретный ключ n B Секретный ключ, зашифрованный под

LMK 34-35.

Разделитель 1 А Разделитель. Значение ‘;’.

Открытый ключ n B Открытый ключ (DER encoded in ASN.1

format).

Должны быть представлены следующие поля:

Идентификатор Хэш 2 N Идентификатор алгоритма Хэш:

‘01’ : SHA-1.

Идентификатор

алгоритма подписи

2 N Идентификатор алгоритма подписи:

‘01’ : RSA.

Page 384: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 384

Поле Длина и тип Описание

Командное сообщение

PAN 20 H PAN для включения в сертификат.

Данные выравниваются по левому

краю и дополняются

шестнадцатиричными ‘F’.

Дата окончания срока

действия сертификата

4 N Дата окончания срока действия

сертификата в формате ММГГ.

Серийный номер

сертификата

6 H Tracking Number.

Длина данных 3 N Длина (в байтах) поля данных

статической аутентификации.

Только если тип сертификата = 0.

Данные статической

аутентификации

n B Данные статической аутентификации

Только если тип сертификата = 0.

Разделитель 1 А Разделитель. Значение ‘;’

Индекс секретного ключа

эмитента

2 N Индекс, указывающий расположение

секретного ключа эмитента:

= 99, если секретный ключ подается во

входных данных команды или

= индексу загруженного ключа в

памяти HSM.

Длина секретного ключа

эмитента

4 N Длина (в байтах) секретного ключа

эмитента.

Только если индекс секретного ключа

эмитента = ‘99’.

Секретный ключ

эмитента

n B Секретный ключ эмитента,

зашифрованный под LMK 34-35

Только если индекс секретного ключа

эмитента = ‘99’.

Page 385: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 385

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘KP’.

Код ошибки 2 А 00 – нет ошибок;

04 – недопустимый индекс секретного

ключа эмитента;

05 – недопустимый тип карты (ПП),

тип сертификата или флаг режима;

06 – недопустимый идентификатор

алгоритма подписи или Хэш;

09 – недопустимое значение числа

байтов (длины);

10 – ошибка четноcти KEK;

52 – недопустимый выходной формат

секретного ключа;

53 – недопустимый режим

шифрования;

54 – недопустимый режим паддинга

Для флага режима ‘0’ или ‘2’:

03 – ошибка длины ключа;

07 – ошибка длины открытой

экспоненты;

08 – недопустимое значение открытой

экспоненты;

51 – недопустимый флаг RSA ключей;

Для флага режима ‘1’:

02 – ошибка кодировки открытого

ключа;

55 – ошибка длины секретного ключа

карты

56 – ошибка секретного ключа карты

57 – несоответствие секретного и

открытого ключа;

59 – тип секретного ключа не 3 (ICC);

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 386: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 386

Поле Длина и тип Описание

Ответное сообщение

Если выходной формат секретного ключа ‘03’ или ‘05’, то должны быть

представлены следующие 6 полей:

Длина компоненты

секретного ключа

1 B Длина (в байтах) каждого из 5

следующих полей.

p (KEK) n B Параметр p, зашифрованный под KEK.

q (KEK) n B Параметр q, зашифрованный под KEK.

d1 (KEK) n B d1 = d mod (p-1), зашифрованный под

KEK.

d2 (KEK) n B d2 = d mod (q-1), зашифрованный под

KEK.

q-1 mod p (KEK) n B q-1 mod p, зашифрованный под KEK.

Если выходной формат секретного ключа ‘04’ или ‘05’, то должны быть

представлены следующие 2 поля:

Секретная экспонента

(KEK)

n B Секретная экспонента в соответствии с

заданным форматом (см.

Приложение 2), зашифрованная под

KEK

Модуль секретного

ключа (KEK)

n B Модуль секретного ключа в

соответствии с заданным форматом

(см. Приложение 2), зашифрованный

под KEK.

Должны быть представлены следующие поля:

Размер сертификата

карты (ICC)

2 H Размер самоподписанного сертификата

(в байтах).

Сертификат карты (ICC) n B Подписанный сертификат

(См. Приложение 2).

Длина Card (ICC) Public

Key Remainder

2 H Длина (в байтах) Card (ICC) Public Key

Remainder. Может быть ‘00’, если NIC

<= NI – 425.

5 NI = Длина модуля открытого ключа эмитента (Length of the Issuer Public Key Modulus), NIC = Длина

модуля открытого ключа карты (Length of the Card (ICC) Public Key Modulus)

Page 387: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 387

Поле Длина и тип Описание

Ответное сообщение

Card (ICC) Public Key

Remainder

n B Card (ICC) Public Key Remainder. Если

предыдущее поле нулевое (NIC <= NI –

42), то данное поле не представлено.

Длина поля экспоненты

открытого ключа карты

(ICC)

2 H Длина (в байтах) экспоненты

открытого ключа (следующее поле).

Экспонента открытого

ключа карты (ICC)

n B

Экспонента открытого ключа карты.

Page 388: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 388

Диверсификация данных для записи на карту (SI)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Расшифрование ключа KEK или PEK на LMK. Расшифрование ключа

карты (IDK) на KEK или PIN на PEK, формирование контрольного

значения, зашифрование ключа или PIN под сессионный ключ для

записи на карту.

Примечание: Команда используются при электрической персонализации карт.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘SI’.

Заполнение 2 H Если не 00, то формируется блок

заполнения из байтов значения данного

поля для проверки зашифрованного

текста

Смещение 2 N Смещение контрольных байтов.

Длина заполнителя 2 N Длина контрольных байтов.

Флаг режима 1 H 0 - зашифрование на ключе 1;

1 - расшифрование на ключе 2;

2 - расшифрование на ключе 3.

Ключ 2 16 H Ключ 2 зашифрованный на LMK 06-07.

Представлен только если флаг режима 1.

Ключ 3 32 H Ключ 3 зашифрованный на LMK 24-25

вариант 1. Представлен только если флаг

режима 2.

Ключ 1 32 H Ключ 1 зашифрованный на LMK 24-25

вариант 2.

Серийный номер 32 H Серийный номер.

Page 389: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 389

Поле Длина и тип Описание

Алгоритм

преобразования

серийного номера

2 N 0 = Алгоритм А;

1 = Алгоритм Б.

Длина конфиденциальных

данных

2 N Длина следующего поля в блоках по 8

байт; max 99.

Конфиденциальные

данные

n H Конфиденциальные данные.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘SJ’.

Код ошибки 2 N 00 – нет ошибок;

02 – несоответствие входных данных;

06 – неизвестный флаг режима;

07 – недопустимая длина данных;

11 – ошибка четности ключа 1;

13 – ошибка четности LMK;

15 – недопустимые входные данные

или стандартный код ошибки

(см. Приложение 1).

Длина зашифрованных

данных

2 H Длина зашифрованных данных.

Зашифрованные данные n H Зашифрованные данные.

Контрольное значение 16 H Контрольное значение.

Page 390: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 390

Зашифрование данных транзакции (XK)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Расшифрование ключа транзакции на LMK. Зашифрование данных

транзакции на ключе транзакции.

Примечание: Команда используются при электрической персонализации карт.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘XK’

Тип шифрования под

LMK

1 N Значение поля 'Тип шифрования под

LMK':

0: не используется LMK;

1: LMK 38-39;

2: LMK 30-31;

3: LMK 06-07;

4: LMK 24-25;

5: LMK 24-25.

Вариант 1 N Опционально. Если значение поля 'Тип

ключа под LMK' не равно 0,

используется номер варианта от 1 до 8.

Если значение поля 'Тип ключа

шифрования под LMK' 3 (ключ

шифрования ZPK) вариант всегда 0.

Длина ключа шифрования 1 N 0: ключ одинарной длины;

1: ключ двойной длины.

Ключ шифрования 16 H

или

32 H

или

1 A + 32 H

Ключ шифрования, зашифрованный

под LMK в соответствии со значением

поля 'Тип шифрования под LMK'.

Page 391: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 391

Поле Длина и тип Описание

Командное сообщение

или

1 A + 48 H

Количество блоков

данных

2 N Длина в блоках по 8 байт; max 40.

Код формата входных

данных

1 N 0: бинарные;

1: шестнадцатиричные.

Код формата выходных

данных

1 N 0: бинарные;

1: шестнадцатиричные

Флаг направления сдвига

данных

1 N 0: влево на 4;

1: вправо на 4.

Сдвиг данных 2 N 0: сдвигать;

1: не сдвигать.

Аргумент 1 N Должен быть равен 0.

Блок данных 1 n H

или

n B

Данные заданной длины в блоках.

Блок данных 2 n H Данные заданной длины в блоках.

Блок данных 3 n H Данные заданной длины в блоках.

Page 392: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 392

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘XL’.

Код ошибки 2 N 00 – нет ошибок;

04 – недопустимая длина ключа;

05 – недопустимый тип ключа;

06 – недопустимый вариант;

10 – ошибка четности ключа;

13 – ошибка четности LMK;

15 – недопустимые входные данные;

50 – аргумент не равен 0;

53 – недопустимый флаг направления;

55 – недопустимый код формата;

56 – недопустимая длина блока

или стандартный код ошибки (см.

Приложение 1).

Зашифрованные данные n H

или

n B

Зашифрованные данные.

Page 393: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 393

Генерация случайного числа (YO)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Генерация случайного числа с использованием ФДСЧ (не более 256

байтов).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘YO’.

Длина случайного числа

3 N

Длина в диапазоне от 001 до 256.

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘YP’.

Код ошибки 2 N 00 – нет ошибок;

01 – недопустимая длина случайного

числа.

Случайное число

n B

Случайное число длиной до 256 байт.

Page 394: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 394

Диверсификация ключа (YS)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: В зависимости от заданного флага (CBC или ECB) производится

последовательное зашифрование по алгоритму DES двух блоков

данных на ключе диверсификации. Ключ, полученный конкатенацией

зашифрованных блоков, зашифровывается под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘YS’.

Режим диверсификации 1 N 0 = ECB режим;

1 = CBC режим

Тип исходного ключа 3 H Тип ключа, на котором зашифрован

исходный ключ:

001 = LMK 6-7;

002 = LMK 14-15;

003 = LMK 16-17;

004 = LMK 18-19;

005 = LMK 20-21;

006 = LMK 22-23;

008 = LMK 26-27;

009 = LMK 28-29;

00A = LMK 30-31;

00E = LMK 38-39

Page 395: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 395

Поле Длина и тип Описание

Командное сообщение

Тип производного ключа 3 H Тип производного ключа, под которым

должен быть зашифрован полученный

ключ:

002 = LMK 14-15;

003 = LMK 16-17;

004 = LMK 18-19;

005 = LMK 20-21;

006 = LMK 22-23;

009 = LMK 28-29;

00E = LMK 38-39.

Исходный ключ 32 H

или

1 A + 32 H

или

1 A + 48 H

Исходный ключ, зашифрованный под

соответствующий LMK.

Длина данных для

диверсификации #1

3 N Длина первого блока входных данных.

Если равно 0, следующие два поля не

заполняются.

IV #1 8 B Инициализационный вектор #1 (только,

если Derivation Mode = 1).

Данные для

диверсификации #1

n B Данные для диверсификации #1.

Разделитель 1 A Значение ';'.

Длина данных для

диверсификации #2

3 N Длина второго блока входных данных.

Если равно 0, следующие два поля не

заполняются.

IV #2 8 B Инициализационный вектор #2 (только,

если Derivation Mode = 1).

Длина данных для

диверсификации #2

n B Данные для диверсификации #2.

Page 396: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 396

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘YT’.

Код ошибки 2 N 00 – нет ошибок;

02 – недопустимый режим

диверсификации;

03 – недопустимая длина ключа

диверсификации;

04 – недопустимый тип исходного

ключа;

10 – ошибка четности исходного ключа;

13 – ошибка четности LMK;

15 – недопустимые входные данные;

80 – недопустимая длина данных для

диверсификации #1;

81 – недопустимая длина данных для

диверсификации #2

или стандартный код ошибки

(см. Приложение 1).

Производный ключ 16 H

или

1 A +32 H

Производный ключ, зашифрован под

соответствующий LMK.

Page 397: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 397

Экспорт ключа под KEK (YW)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: В зависимости от заданного флага производится расшифрование

ключа по алгоритму DES в режиме CBC или ECB, зашифрованного

под LMK, и зашифрование его под KEK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘YW’.

Режим шифрования 1 N Режим шифрования:

0 = ECB;

1 = CBC.

KEK 32 H

или

1 A + 32 H

или

1 A + 48 H

KEK, зашифрованный под LMK 24-25

вариант 1.

IV 8 B Инициализационный вектор (доступен,

только если режим шифрования = 1).

Тип ключа пользователя 3 N Тип ключа пользователя:

002 = LMK 14-15;

003 = LMK 16-17;

004 = LMK 18-19;

005 = LMK 20-21;

006 = LMK 22-23;

008 = LMK 26-27;

009 = LMK 28-29;

00A = LMK 30-31;

00E = LMK 38-39.

Page 398: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 398

Поле Длина и тип Описание

Ключ пользователя 32 H

или 48 H

Ключ пользователя, зашифрован под

LMK с типом ключа пользователя.

Поле Длина и

тип

Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘YX’.

Код ошибки 2 N 00 – нет ошибок;

02 – недопустимый режим

шифрования;

10 – ошибка четности KEK;

13 – ошибка LMK;

50 – длина ключа пользователя и длина

KEK не соответствуют

или стандартный код ошибки

(см. Приложение 1).

Зашифрованный ключ

32 H

или

48 H

Зашифрованный ключ пользователя,

перешифрованный под KEK вариант

'Тип ключа пользователя.'

Page 399: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 399

Зашифрование данных (YY)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: В зависимости от заданного флага производится зашифрование

данных (максимальной длины 992 байта) по алгоритму DES в

режиме CBC или ECB под ключом, поданным на вход в виде

шифрограммы под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘YY’.

Режим шифрования 1 N Режим шифрования:

0 = ECB;

1 = CBC.

Тип ключа шифрования 3 N LMK ключа шифрования:

002 = LMK 14-15;

003 = LMK 16-17;

004 = LMK 18-19;

005 = LMK 20-21;

006 = LMK 22-23;

00E = LMK 38-39.

Ключ шифрования 32 H

или

1 A + 32 H

или

1 A + 48 H

Ключ шифрования, зашифрованный

под соответствующий LMK.

IV 8 B Инициализационный вектор

(доступен, только если режим

шифрования = 1).

Длина данных 3 N Длина данных. Максимальная длина

992 байта.

Данные

n B Данные (кратные 8 байтам) для

зашифрования.

Page 400: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 400

Поле Длина и

тип

Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘YZ’.

Код ошибки 2 N 00 – нет ошибок;

02 – недопустимый режим

шифрования;

03 – недопустимая длина ключа

шифрования;

04 – недопустимая пара шифрования;

06 – недопустимый вариант ключа

13 – ошибка LMK;

15 – недопустимые входные данные

80 – длина данных не равна значению,

указанному в поле 'Длина данных '

или не кратна 8 или стандартный

код ошибки (см. Приложение 1).

Зашифрованные данные n B Зашифрованные данные.

Page 401: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 401

Импорт ключа под KEK (ZA)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: В зависимости от заданного флага производится расшифрование

ключа по алгоритму DES в режиме CBC или ECB, зашифрованного

под KEK, и зашифрование его под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ZA’.

Режим расшифрования 1 N Режим расшифрования:

0 = ECB;

1 = CBC.

KEK 32 H

или

1 A + 32 H

или

1 A + 48 H

KEK, зашифрованный под LMK 24-25

вариант 1.

IV 8 B Инициализационный вектор (доступен,

только если режим

расшифрования = 1).

Тип ключа пользователя 3 N Тип ключа пользователя:

002 = LMK 14-15;

003 = LMK 16-17;

004 = LMK 18-19;

006 = LMK 22-23;

008 = LMK 26-27;

009 = LMK 28-29;

00A = LMK 30-31;

00E = LMK 38-39.

Page 402: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 402

Поле Длина и тип Описание

Ключ пользователя 32 H

или 48 H

Ключ пользователя, зашифрован под

LMK с типом ключа пользователя

Поле Длина и

тип

Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZB’.

Код ошибки 2 N 00 – нет ошибок;

02 – недопустимый режим

расшифрования;

04 – ошибка длины ключа

пользователя;

05 – ошибка типа ключа пользователя;

06 – недопустимый вариант ключа;

10 – ошибка четности KEK;

13 – ошибка LMK;

50 – длина ключа пользователя и длина

KEK не соответствуют;

C0 – "слабый" DES-ключ

или стандартный код ошибки (см.

Приложение 1).

Расшифрованный ключ 32 H

или

48 H

Расшифрованный ключ пользователя,

перешифрованный под

соответствующий LMK.

Page 403: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 403

Расшифрование данных (ZC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: В зависимости от заданного флага производится расшифрование

данных (максимальной длины 992 байта) по алгоритму DES в

режиме CBC или ECB, и зашифрование его под LMK.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ZC’.

Режим расшифрования 1 N Режим расшифрования:

0 = ECB;

1 = CBC.

Ключ расшифрования 32 H

или

1 A + 32 H

или

1 A + 48 H

Ключ расшифрования, зашифрованный

под LMK 20-21 вариант 9.

IV 8 B Инициализационный вектор (доступен,

только если режим шифрования = 1).

Длина данных 3 N Длина следующего поля в байтах.

Максимальная длина 992 байта.

Зашифрованные данные n B Зашифрованные данные (кратные

8 байтам).

Page 404: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 404

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZD’.

Код ошибки 2 N 00 – нет ошибок;

02 – недопустимый режим

расшифрования;

03 – недопустимая длина ключа

расшифрования;

10 – ошибка четности ключа ключа

расшифрования;

13 – ошибка LMK;

15 – недопустимые входные данные;

80 – длина зашифрованных данных не

равна значению, указанному в поле

'Длина данных ' или не кратна 8

или стандартный код ошибки (см.

Приложение 1).

Расшифрованные данные n B Расшифрованные данные.

Page 405: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 405

Генерация или проверка МАС (ZK)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: В зависимости от флага генерация или генерация и проверка МАС за

блок данных на ключе MK. Максимальный размер блока данных –

2048 байтов.

Примечание: Алгоритм формирования MAC определяется флагом алгоритма

MAC.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений

Код команды 2 А ‘ZK’

Флаг режима 1 N 0 = генерация MAC;

1 = проверка MAC

Флаг алгоритма MAC 1 N 0 = ANSI X9.9;

1 = ANSI X9.19

Тип блока 1 N 0 = Один блок;

1 = Первый блок;

2 = Промежуточный блок;

3 = Последний блок

KEK (LMK) 32 H

или

1 A + 32 H

или

1 A + 48 H

KEK, зашифрованный под LMK 24-25

вариант 1.

MK (KEK) 16 H

или

1 A + 32 H,

или

1 A + 48 H

Ключ генерации MAC, зашифрованный

под KEK. Представлен, если флаг

режима = 1 (проверка, для всех типов

блока) и, если тип блока 2 или 3 флага

режима = 0.

Page 406: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 406

Поле Длина и тип Описание

Командное сообщение

MAC 4 B Проверяемый MAC. Представлен,

только если флаг режима = 1 и тип

блока = 0 или 3.

IV входа 8 B Инициализационный вектор входной

(представлен, только если тип блока = 2

или 3).

Длина данных 2 B Целое беззнаковое число заданной

длины в байтах следующего поля.

Данные n B Данные, за которые проверяется MAC.

Page 407: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 407

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZL’.

Код ошибки 2 N 00 – нет ошибок;

01 – ошибка MAC;

03 – тип блока не 0, 1, 2 или 3;

04 – флаг режима не 0 или 1;

05 – алгоритм MAC не 0, 1 или 2;

10 – ошибка четности KEK;

11 – ошибка четности MAC;

13 – ошибка LMK;

15 – недопустимые входные данные;

80 – недопустимая длина данных;

81 – данные не кратны 8 байтам (только

для типа блока 1 и 2)

или стандартный код ошибки (см.

Приложение 1).

MK (KEK) 16 H

или

1 A + 32 H

или

1 A + 48 H

Ключ генерации MAC, зашифрованный

под KEK. Представлен, только для типа

блока 0 или 1, когда флаг режима = 0.

Будет 16 H, если флаг алгоритма MAC

= 0 и 32 H, если флаг алгоритма MAC 1

или 2.

MAC 4 B Вычисленный MAC. Представлен,

только если флаг режима = 0 и тип блока

= 0 или 3.

IV выхода 8 B Представлен, только типа блока = 1

или 2.

Page 408: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 408

Сборка сертификата открытого ключа карты (ICC) из элементов

(ZU)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Сборка из входных данных сертификата открытого ключа карты,

удостоверенного ключом эмитента, для загрузки на карту.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ZU’.

Флаг режима 1 N ‘0’.

Идентификатор Хэш 2 N ‘01’ : SHA-1.

Идентификатор подписи 2 N ‘01’ : RSA.

MAC 4 B MAC за открытый ключ и данные

аутентификации вычисленный с

использованием LMK 36-37.

Открытый ключ карты

(ICC)

n B Открытый ключ, в формате

DER encoded in ASN.1.

Данные аутентификации n A Опционально; данные добавляются

при вычислении MAC (не должно

включать «;»).

Разделитель 1 A Разделитель обозначает окончание

поля данных аутентификации;

значение «;».

PAN 10 B PAN. Выравненный по левому краю и

дополненный справа

шестнадцатеричным F.

Exp Date 2 B Дата окончания срока действия

сертификата.

Cert Ser Num 3 B Серийный номер сертификата.

Page 409: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 409

Поле Длина и тип Описание

Командное сообщение

Длина статических

данных

2 H Длина в байтах следующего поля.

Статические данные n B Статические данные до 255 байт.

Разделитель 1 A Обозначает окончание поля

статических данных. Значение «;».

Индекс закрытого ключа

эмитента

2 N Индекс обозначает местоположение

закрытого ключа эмитента. Если

индекс = 99, используется ключ из

входных данных команды, иначе

индекс = индексу хранения закрытого

ключа в памяти.

Длина закрытого ключа

эмитента

4 N Длина в байтах следующего поля

(только если индекс = 99).

Закрытый ключ эмитента n B Закрытый ключ эмитента,

зашифрованный на LMK 34-35 (только

если индекс = 99).

Page 410: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 410

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZV’.

Код ошибки 2 N 00 – нет ошибок;

01 – ошибка проверки MAC;

02 – открытый ключ не соответствует

правилам зашифрования;

03 – неизвестный флаг закрытого

ключа эмитента;

04 – неизвестный флаг режима;

05 – неизвестный хэш-иднтификатор;

06 – неизвестный идентификатор

алгоритма шифрования

12 – нет ключей в пользовательском

хранилище;

13 – ошибка LMK;

15 – недопустимые входные данные;

21 – недопустимый индекс хранения

данных пользователя;

47 – ошибка DSP;

49 – ошибка закрытого ключа

эмитента;

78 – ошибка длины закрытого ключа

эмитента;

80 – недопустимая длина данных

или стандартный код ошибки (см.

Приложение 1).

Длина ICC CERT 2 H Длина следующего поля.

ICC CERT n B ICC сертификат (см. Приложение 2).

Длина ICC Public Key

Remainder

2 H Длина в байтах следующего поля.

Может быть = 0, если NC <= NI - 42

ICC Public Key Remainder n B ICC Public Key Remainder.

Если поле выше = 0 (потому что NC

<= NI - 42), то данного поля в

ответном сообщении нет.

Длина ICC Public

Exponent

2 H Длина ICC Public Exponent в байтах.

ICC Public Exponent n B ICC Public Exponent.

Page 411: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 411

Генерация ключевой пары карты (ICC) (ZW)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Генерация ключевой пары карты (RSA).

Примечание: Если в команду включена Public Exponent, это значение должно

быть нечетным (наименее значимый бит должен быть равен 1).

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ZW’.

Флаг режима 1 N 0 = генерация ключей с использованием

Standard method с q > p;

1 = генерация ключей с использованием

Europay method с q > p;

2 = генерация ключей с использованием

Standard method с p > q;

3 = генерация ключей с использованием

Europay method с p > q.

Длина ключа 4 N Длина модуля в битах; min 0400,

max 2048.

Формат закрытого ключа

в выходных данных

2 N 01 = Standard HSM формат,

зашифрован под LMK 34-35;

03 = выход в формате из 5 компонент в

соответствии с Китайской

теоремой об остатках,

зашифрованных под KEK

(см. Приложение 2).

Page 412: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 412

Поле Длина и тип Описание

Командное сообщение

KEK (LMK) 32 H

или

1 A + 32 H

или

1 A + 48 H

Двойная длина KEK для зашифрования 5

компонент в соответствии с Китайской

теоремой об остатках или закрытой

экспоненты и модуля.

Зашифрование под LMK 24-25

вариант 1.

Представлен только если формат

выходного закрытого ключа

установлен в 03.

Кодировка открытого

ключа

2 N Формат открытого ключа:

01 = DER encoding in ASN.1.

Длина открытой

экспоненты

4 N Длина в битах открытой экспоненты.

Открытая экспонента n B Значение должно быть нечетным.

Заключительный символ 1 A Обязательный символ окончания.

Значение «;».

Данные аутентификации n A Опционально; данные добавляются при

вычислении MAC (не должно включать

«;»).

Page 413: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 413

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZX’.

Код ошибки 2 N 00 – нет ошибок;

02 – неизвестный код форматирования

закрытого ключа;

03 – неизвестный тип кодирования

открытого ключа;

04 – неизвестный флаг режима;

05 – ошибка длины ключа;

06 – ошибка длины открытой

экспоненты;

07 – несовместимая длина ключа;

08 – применение открытой экспоненты;

09 – недопустимый режим

шифрования;

10 – ошибка четности KEK;

11 – недопустимое значение длины в

байтах;

13 – ошибка LMK;

15 – недопустимые входные данные

47 – ошибка DSP

или стандартный код ошибки

(см. Приложение 1).

Открытый ключ n B Открытый ключ, в заданном формате.

MAC 4 B MAC за открытый ключ и данные

аутентификации, вычисленный с

использованием LMK 36-37.

Длина закрытого ключа 4 N Длина (в байтах) следующего поля.

Представлен только если выходной

формат 01.

Page 414: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 414

Поле Длина и тип Описание

Закрытый ключ n B Закрытый ключ форматированный и

зашифрованный в соответствии с

параметром 'Формат закрытого ключа в

выходных данных'.

Представлен только если выходной

формат 01.

Длина компоненты

закрытого ключа

1 B Длина в байтах каждой из 5 компонент.

Представлен только для выходного

формата 03.

p (KEK) n B Простое число p зашифрованное под

KEK с использованием 3DES CBC.

Представлен только для выходного

формата 03.

q (KEK) n B Простое число q зашифрованное под

KEK с использованием 3DES CBC.

Представлен только для выходного

формата 03.

d1 (KEK) n B d1 = d mod (p-1) зашифровано под KEK

с использованием 3DES CBC.

Представлен только для выходного

формата 03.

d2 (KEK) n B d2 = d mod (p-1) зашифровано под KEK

с использованием 3DES CBC.

Представлен только для выходного

формата 03.

qˉ1 mod p (KEK) n B qˉ1 mod p зашифровано под KEK с

использованием 3DES CBC.

Представлен только для выходного

формата 03.

Page 415: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 415

Генерация производных ключей карты (ZY)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC003 LIC003

Авторизация: Не требуется -

Функция: Генерация эмитентом производных ключей для Chip-card

приложений: IDKAC, IDKSME, IDKSMM и опционально IDKDN.

Формирование проверочных величин ключей (в зависимости от

заданного флага). Вывод в хост сформированных ключей в виде

шифрограмм под LMK или под KEK, а также проверочных величин

ключей в зависимости от заданного флага формирования ключей

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘ZY’.

Флаг режима 1 N Если флаг = 0, то IDKDN не

формируется. Выходные данные для

MULTOS cards.

Если флаг = 1, то IDKDN формируется.

Выходные данные для MULTOS cards

Если флаг = 2, то IDKDN не

формируется. Выходные данные для

OTS cards.

Если флаг = 3, то IDKDN формируется.

Выходные данные для OTS cards

KEK(LMK) 32 H

или

1 A + 32/48 H

Ключ KEK, зашифрованный под

LMK 24-25 вариант 1. Только если флаг

режима = 2 или 3.

PAN/PAN Sequence No 8 B PAN или PAN Sequence Number,

предварительно переформатированный

в 8-байтовое поле.

Page 416: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 416

Поле Длина и тип Описание

Командное сообщение

IMKAC(LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

формирования прикладных

криптограмм (АС - Application

Cryptogram), зашифрованный под LMK

28-29 вариант 1.

Флаг IMKSMI(LMK) 1 N Флаг, показывающий наличие (1) или

отсутствие (0) IMKSMI(LMK).

IMKSMI(LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

обеспечения целостности сообщения

(Secure Message Integratory),

зашифрованный под LMK 28-29

вариант 2.

Флаг IMKSMC(LMK) 1 N Флаг, показывающий наличие (1) или

отсутствие (0) IMKSMC(LMK).

IMKSMC(LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

обеспечения конфиденциальности

сообщения (Secure Message

Confidentiality), зашифрованный под

LMK 28-29 вариант 3.

Флаг IMKDN(LMK) 1 N Флаг, показывающий наличие (1) или

отсутствие (0) IMKDN(LMK). Только,

если Флаг режима = 1 или 3.

IMKDN(LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

формирования динамического номера

карты (ICC Dynamic Numbers),

зашифрованный под LMK 28-29

вариант X (5 или 7)6 .

6 Вариант LMK задается соответствующей настройкой в консольном режиме: "Выбор

варианта шифрования IMK-DN на LMK 28-29 (вкл=вариант 7, выкл=вариант 5):" (пункт меню

«Настройки» Web-интерфейса удаленного управления платежным приложением).

Page 417: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 417

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ZZ’.

Код ошибки 2 А 00 – нет ошибок;

04 – ошибка Флага режима;

07 – ошибка четности KEK;

08 – ошибка четности IMKAC;

09 – ошибка четности IMKSMI;

10 – ошибка четности IMKSMC;

11 – ошибка четности IMKIDN;

13 – ошибка LMK;

15 – ошибка во входных данных;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

IDKAC(LMK) 16 B IDKAC, зашифрованный под LMK

38-39 вариант 9 в режиме CBC.

Только если флаг режима = 0 или 1.

IDKSMI(LMK) 16 B IDKSMI, зашифрованный под LMK

38-39 вариант 9 в режиме CBC.

Только если флаг режима = 0 или 1 и

флаг IMKSMI(LMK) = 1.

IDKSMC(LMK) 16 B IDKSMC, зашифрованный под LMK

38-39 вариант 9 в режиме CBC.

Только если флаг режима = 0 или 1 и

флаг IMKSMC(LMK) = 1.

IDKIDN(LMK) 16 B IDKIDN, зашифрованный под LMK

38-39 вариант 9 в режиме CBC.

Только если флаг режима = 1 и флаг

IMKIDN(LMK) = 1

IDKAC(KEK) 16 B IDKAC, зашифрованный под KEK в

режиме ECB.

Только если флаг режима = 2 или 3.

KCV(IDKAC) 8 B Контрольное значение для IDKAC.

Только если флаг режима = 2 или 3.

Page 418: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 418

Поле Длина и тип Описание

Ответное сообщение

IDKSMI(KEK) 16 B IDKSMI, зашифрованный под KEK в

режиме ECB.

Только если флаг режима = 2 или 3 и

флаг IMKSMI(LMK) = 1.

KCV(IDKSMI) 8 B Контрольное значение для IDKSMI.

Только если флаг режима = 2 или 3 и

флаг IMKSMI(LMK) = 1.

IDKSMC(KEK) 16 B IDKSMC, зашифрованный под KEK в

режиме ECB.

Только если флаг режима = 2 или 3 и

флаг IMKSMC(LMK) = 1.

KCV(IDKSMC) 8 B Контрольное значение для IDKSMC.

Только если флаг режима = 2 или 3 и

флаг IMKSMC(LMK) = 1

IDKDN(KEK) 16 B IDKDN, зашифрованный под KEK в

режиме ECB.

Только если флаг режима = 3 и флаг

IMKDN(LMK) = 1.

KCV(IDKDN) 8 B Контрольное значение для IDKDN.

Только если флаг режима = 3 и флаг

IMKDN(LMK) = 1.

Page 419: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 419

4.7. Команды лицензии «Персонализация карт» (Card Data

Personalization License - LIC004)

4.77.1. Перечень команд лицензии «Персонализация карт»

Таблица 25 - Перечень команд лицензии «Персонализация карт»

приведен перечень команд лицензии «Персонализация карт» (LIC004).

Таблица 25 - Перечень команд лицензии «Персонализация карт»

Команда

(ответ)

Функция

IC (ID) Установление защищенного соединения с чип-картой

IE (IF) Подготовка защищенного сообщения для чип-карты

4.77.2. Описание команд лицензии «Персонализация карт»

Установление защищенного соединения с чип-картой (IC)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC004 LIC004

Авторизация: Не требуется -

Функция: Поддержка создания безопасной сессии с чип-картой, используя

взаимную аутентификацию, основанную на EMV Common

Personalization Specification (CPS) и Global Platform (GP) Secure

Channel Protocol 2 (SCP02). Также поддержка специфических

процессов для MasterCard PayPass Magnetic Stripe Cards.

Примечание: В настоящее время под EMV CPS и GP SCP02 используется

следующий способ установления защищенного канала

персонализации с приложением карты:

Indirect (Explicit) Method - косвенный (явный) метод:

В данном методе процесс подготовки данных не требует знания

процесса, используемого для установления безопасного сеанса

персонализации с чип-картой. Таким образом, существуют две

независимые зоны безопасности: зона безопасности между

Page 420: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 420

процессом подготовки данных и процессом персонализации и зона

безопасности между процессом персонализации и чип-картой.

Процесс персонализации устанавливает безопасный сеанс с

чип-картой путем выдачи команд INITIALISE UPDATE и

EXTERNAL AUTHENTICATE. При этом формируются ключи

сессии и криптограммы, необходимые для установления

защищенного сеанса с чип-картой.

Для метода MasterCard PayPass Magnetic Stripe функция только

выводит ключ персонализации KD, который будет использоваться

для проверки подлинности сообщения и обеспечения

конфиденциальных данных при записи на карту. Ключ возвращается

зашифрованным под LMK для использования в команде подготовки

Secure Message для чип-карт.

C-MAC – MAC, формируемый хостом за командное сообщение

APDU.

Данные, используемые для генерации диверсифицированных

ключей карты представляют собой:

6 младших из 10 байтов KEYDATA, возвращаемых картой на

команду INITIALISE UPDATE – для алгоритма диверсификации

ключей EMV CPS 1.1;

0-й, 1-й, 4-й, 5-й, 6-й, 7-й байты (начиная со старшего – 0-го байта)

из 10 байтов KEYDATA, возвращаемых картой на команду

INITIALISE UPDATE – для алгоритма диверсификации ключей

Visa2.

Ответственность за правильное формирование данных для

генерации диверсифицированных ключей карты в соответствии с

выбранным алгоритмом диверсификации (EMV CPS 1.1 или Visa2)

возлагается на хост-систему.

Page 421: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 421

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘IC’.

Метод установления

защищенного

соединения

1 N ‘0’ - Indirect (Explicit)

Method - косвенное (явное)

инициирование защищенного

соединения системой

предперсонализации;

‘2’ - MasterCard PayPass Magnetic Stripe

Cards.

KMC 32 H

или

1 A + 32/48 H

Мастер-ключ персонализации,

зашифрованный под LMK 24-25

вариант 2.

Данные для

диверсификации

6 B Данные, используемые для генерации

диверсифицированных ключей карты.

(см. примечание).

Ключевая схема

(LMK)

1 A Указывает на схему для зашифрования

диверсифицированных ключей под

LMK.

Если метод установления защищенного соединения ‘0’ - Indirect (Explicit) Method,

то должны быть представлены следующие 6 полей:

Host Challenge 8 B Случайное число, передаваемое

системой персонализации на карту в

команде INITIALISE UPDATE.

Счетчик сеансов 2 B Счетчик сеансов, возвращаемый картой

на команду INITIALISE UPDATE, и

используемый для диверсификации

ключей.

Card Challenge 6 B Случайное число, генерируемое картой

и возвращаемое в ответном сообщении

на команду INITIALISE UPDATE.

Криптограмма карты 8 B Криптограмма, генерируемая картой в

ответ на команду INITIALISE

UPDATE, и используемая хостом для

аутентификации карты.

Page 422: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 422

Поле Длина и тип Описание

Командное сообщение

Исходный заголовок

APDU

5 B Исходный заголовок команды

EXTERNAL AUTHENTICATE (CLA,

INS, P1, P2, Lc). Тип (0x80, 0x82, 0x00,

0x00, 0x10) должен быть указан.

Уровень безопасности 1 B Уровень безопасности для всех

секретных сообщений, следующих за

командой EXTERNAL

AUTHENTICATE:

‘0x00’ – не секретное сообщение;

‘0x01’ – C-MAC;

‘0x03’ – шифрование и C-MAC.

Поле

Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ID’.

Код ошибки 2 А 00 – нет ошибок;

05 – недопустимый метод

установления соединения;

06 – недопустимый уровень

безопасности;

07 – ошибка проверки криптограммы

карты;

10 – ошибка четности KMC;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 423: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 423

Поле

Длина и тип Описание

Ответное сообщение

Если метод установления защищенного соединения ‘0’ - Indirect (Explicit)

Method, то должны быть представлены следующие 7 полей:

Заголовок APDU 5 B Заголовок APDU для команды

EXTERNAL AUTHENTICATE

command (CLA, INS, P1, P2, Lc).

Криптограмма хоста 8 B Криптограмма, генерируемая хостом

для команды EXTERNAL

AUTHENTICATE, которая

используется для аутентификации

хоста картой.

Authentication

C-MAC

8 B C-MAC за команду EXTERNAL

AUTHENTICATE, который

используется в качестве начального

C-MAC при подготовке секретных

сообщений для чип-карт.

SK-ENC 1 A + 32 H Сессионный ключ для криптограмм и

шифрования сообщений карты

(данных APDU), зашифрованный под

LMK 24-25 вариант 3.

SK-MAC 1 A + 32 H Сессионный ключ для

аутентификации сообщений карты

(C-MAC), зашифрованный под LMK

24-25 вариант 4.

SK-DEK 1 A + 32 H Сессионный ключ для шифрования

секретных данных карты (например,

ключей приложения и PIN),

зашифрованный под LMK 24-25

вариант 5.

Если метод установления защищенного соединения ‘2’ - MasterCard PayPass

Magnetic Stripe Cards, то должно быть представлено следующее поле:

KD-PERSO 1 A + 32 H Ключ персонализации KD для

аутентификации сообщений и

шифрования критичных данных,

зашифрованный под LMK 24-25

вариант 5.

Page 424: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 424

Подготовка защищенного сообщения для чип-карты (IE)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC004 LIC004

Авторизация: Не требуется -

Функция: Подготовка сообщения персонализации для передачи на чип-карту

после установления защищенного соединения в соответствии с EMV

Common Personalization Specification (CPS) и Global Platform (GP)

Secure Channel Protocol 2 (SCP02). Также генерация сообщений и

защита конфиденциальных данных для процесса MasterCard PayPass

Magnetic Stripe Cards.

Примечание: В соответствии с EMV CPS и GP SCP02 используется следующий

метод записи данных персонализации на карту:

Indirect (Explicit) Method - косвенный (явный) метод:

Данные карты подготавливаются процессом подготовки данных и

передаются процессу персонализации для записи на карту. В

процессе персонализации расшифровываются (из-под KEK или

соответствующего ключа) и перешифровываются (под SK-DEK)

конфиденциальные данные, такие как ключи приложения и PIN, и

создаются сообщения Application Protocol Data Unit (APDU), которые

затем передаются на карту. В соответствии с заданным уровнем

безопасности сообщения могут быть защищены MAC (C-MAC) и

при необходимости зашифрованы с помощью сеансовых ключей,

генерируемых при установлении защищенного соединения.

Для метода MasterCard PayPass Magnetic Stripe функция

подготавливает сообщение APDU с перешифрованием ключа

KDCVC3 с транспортного ключа (ключа процесса подготовки

данных) под ключ карты. Так же генерируется MAC с

использованием ключа карты.

Page 425: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 425

C-MAC – MAC, формируемый хостом за командное сообщение

APDU.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘IE’.

Метод установления

защищенного соединения

1 N ‘0’ - Indirect (Explicit)

Method - косвенное (явное)

инициирование защищенного

соединения системой

предперсонализации

‘2’ - MasterCard PayPass Magnetic Stripe

Cards

Для этого метода ключ KD-PERSO

используется и для шифрования групп

данных и для генерации MAC.

Создается одинарное APDU c

1-байтовым полем длины сообщения

(Lc).

Если метод установления защищенного соединения ‘0’ - Indirect (Explicit) Method,

то должны быть представлены следующие 6 полей:

Уровень безопасности 1 B Уровень безопасности для создаваемых

этой командой сообщений чип-карт.

Должен соответствовать уровню

безопасности, заданному в команде

EXTERNAL AUTHENTICATE:

‘0x00’ – не секретное сообщение

‘0x01’ – C-MAC;

‘0x03’ – шифрование и C-MAC.

Если уровень безопасности = ‘0x01’ или ‘0x03’ должны быть представлены

следующие поля:

SK-MAC 1 A + 32 H Сессионный ключ для аутентификации

сообщений (C-MAC), зашифрованный

под LMK 24-25 вариант 4.

Page 426: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 426

Поле Длина и тип Описание

Командное сообщение

Инициализационный

C-MAC

8 B C-MAC за предыдущее APDU или

первый C-MAC за команду

EXTERNAL AUTHENTICATE.

Флаг шифрования ICV 1 N Global Platform использует

предшествующий C-MAC в качестве

ICV:

‘0’ – не шифровать предшествующий

C-MAC перед использованием в

качестве ICV;

‘1’ – шифровать предшествующий

C-MAC перед использованием в

качестве ICV.

Флаг C-MAC 1 N Использовать Global Platform для

генерации C-MAC (предшествующий

C-MAC используется как IV для MAC):

‘0’ – модификация APDU перед

генерацией C-MAC (установить

бит безопасности сообщения 1

(CLA) и включить длину C-MAC в

поле длины сообщения Lc;

‘1’ – не модифицировать APDU перед

генерацией C-MAC

Использовать EMV CPS для генерации

C-MAC (предшествующий C-MAC

включен в данные для подсчета MAC,

используется нулевой бинарный IV):

‘9’ – модификация APDU перед

генерацией C-MAC (установить

бит безопасности сообщения 1

(CLA) и включить длину C-MAC в

поле длины сообщения Lc.

Если уровень безопасности = ‘0x03’, то должно быть представлено следующее

поле:

SK-ENC 1 A + 32 H Сессионный ключ для криптограмм и

шифрования сообщений карты (если

требуется), зашифрованный на LMK

24-25 вариант 3.

Page 427: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 427

Поле Длина и тип Описание

Командное сообщение

Если метод установления защищенного соединения ‘0’ или ‘2’, то должны быть

представлены следующие 16 полей:

Исходный заголовок

APDU

4 B Исходный заголовок APDU [CLA, INS,

P1, P2]

Lc формируется функцией

автоматически

Длина команды 1 N Максимальная длина команды

‘0’ : Lc = 1 байт.

Максимальная

общая длина

команды –

255 байтов,

включая

заголовок;

‘1’ : Lc = 1 байт

с максимальным

значением 255

Если данные группы

не помещаются в

одинарную команду,

то будет создано

несколько команд.

Метод

установления

защищенного

соединения 2

поддерживает

только одинарные

команды

Lc = 2 байта с максимальным

значением 65535.

Невозможно для метода установления

защищенного соединения 2.

Число DG 2 N Число Data Groupings в команде.

Следующие поля представлены для каждой Data Group

DGI 2 B Идентификатор Data Group

Флаг типа DG 1 A Тип данных Data Group:

‘0’ – открытые данные;

‘1’ – ключ(и), зашифрованные под KEK

в режиме ECB;

‘2’ – ключ(и), зашифрованный под

KEK в режиме CBC;

‘3’ – PIN-блок, зашифрованный под

ZPK;

Page 428: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 428

Поле Длина и тип Описание

Командное сообщение

‘4’ – открытые данные, зашифрованные

под SK-DEK. Должны быть кратны 8

байтам

Зашифрованные ключи и PIN-блоки

должны иметь формат,

поддерживаемый картой (например,

формат 5 PIN-блока)

Если в группе типа 1 несколько ключей,

то они должны быть объединены без

параметра Ключевая схема. Все ключи

должны иметь тип и длину,

определяемые параметром Ключевая

схема (KEK).

Если флаг типа DG = 1, 2, 3 или 4, то должны быть представлены следующие 7

полей:

Ключ расшифрования 1 A + 32/48 H Ключ расшифрования данных DG

Если флаг типа DG = 1 или 2: KEK,

зашифрованный под LMK 24-25

вариант 1.

Если флаг типа DG = 3: ZPK,

зашифрованный под LMK 06-07.

Разделитель 1 A Обязательный разделитель.

Значение ‘;’.

Ключевая схема (KEK) 1 A Если при зашифровании ключей под

KEK использован параметр Ключевая

схема, то он должен быть указан в

данном поле. По умолчанию, ключевая

схема ‘X’.

Опционально. Только, если флаг типа

DG =1 и требуется расшифрование

ключей.

Разделитель 1 A Обязательный разделитель.

Значение ‘;’.

IV 8 B Инициализационный вектор для

режима расшифрования CBC. Только,

если флаг типа DG = 2.

Page 429: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 429

Поле Длина и тип Описание

Командное сообщение

SK-DEK или KD-Perso 1 A + 32 H Сессионный ключ для шифрования

конфиденциальных данных карты

(ключей приложения или PIN),

зашифрованный под LMK 24-25

вариант 5.

Опционально. Только, если флаг типа

DG =1, 2, 3 или 4. Если несколько групп,

то ключ представлен только с первой

группой данных.

Разделитель 1 A Обязательный разделитель.

Значение ‘;’.

Длина DG 2 B Длина Data Group

Данные DG n B

16 H

Данные Data Group (флаг типа DG = 0,

1, 2 или 4).

PIN-блок (флаг типа DG =3).

Разделитель конца

группы

Разделитель конца всех

групп

1 A

1 A

Обязательный разделитель.

Значение ‘;’.

Обязательный разделитель.

Значение ‘:’.

Page 430: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 430

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений

Код ответа 2 А ‘ID’

Код ошибки 2 А 00 – нет ошибок;

05 – недопустимый метод установления

соединения;

06 – недопустимый уровень

безопасности;

07 – недопустимый флаг типа DG;

08 – ошибка четности SK-DEK;

09 – ошибка четности ключа

расшифрования;

10 – ошибка четности SK-MAC;

11- ошибка четности SK-ENC;

50 – недопустимый флаг шифрования

ICV;

51 – недопустимый флаг C-MAC;

52 – недопустимая длина команды;

53 – отсутствие ключа расшифрования;

54 – отсутствие ключа SK-DEK;

55 – длина APDU превышает

допустимое значение;

56 – ошибка разбиения на блоки DG

(разделитель);

57 – превышение максимального числа

сообщений APDU;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Если метод установления защищенного соединения ‘0’ - Indirect (Explicit) Method,

то должны быть представлены следующие 5 полей:

Число сообщений

APDU

1 N Число сообщений, сгенерированных

функцией.

Если длина сообщения = 2, то

возвращаются только одинарные

сообщения.

Page 431: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 431

Поле Длина и тип Описание

Ответное сообщение

Следующие 3 поля представлены для каждого APDU сообщения:

Заголовок APDU 5 или 7 B

(если длина

команды

= 2)

Заголовок APDU команды [CLA, INS,

P1, P2, Lc].

Если длина команды = 2, то в поле Lc

за байтом 0х00 следуют два

дополнительных байта, указывающих

длину блока данных (всего 3 байта).

Блок данных APDU n B Данные APDU (длиной Lc) - Data

Groupings и MAC, если требуется.

Последние 8 B последнего блока данных

APDU могут состоять только из

MAC, если этого требует функция.

Это необходимо для использования в

качестве инициализационного C-MAC в

следующей функции подготовки

защищенного сообщения для

чип-карты.

Разделитель конца

APDU

1 A Разделитель. Значение ‘;’.

Разделитель конца всех

APDU

1 A Разделитель. Значение ‘:’.

Если метод установления защищенного соединения ‘2’ - MasterCard PayPass

Magnetic Stripe Cards, то должны быть представлены следующие 2 поля:

Заголовок APDU 5 B Заголовок APDU команды [CLA, INS,

P1, P2, Lc].

Блок данных APDU n B Данные APDU (длиной Lc).

Page 432: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 432

4.8. Команды лицензии «Поддержка 3-D Secure» (Support of 3-D

Secure License – LIC006)

4.88.1. Перечень команд лицензии «Поддержка 3-D Secure»

Таблица 26 - Перечень команд лицензии «Поддержка 3 D Secure»

приводит перечень команд лицензии «Поддержка 3-D Secure» (LIC006).

Таблица 26 - Перечень команд лицензии «Поддержка 3 D Secure»

Команда

(ответ)

Функция

K2 (K3) Проверка Truncated Application Cryptogram (MasterCard CAP)

L0 (L1) Генерация ключа для вычисления HMAC

LQ (LR) Генерация HMAC за блок данных

LS (LT) Проверка HMAC за блок данных

LU (LV) Импорт ключа вычисления HMAC из-под ZMK

LW (LX) Экспорт ключа вычисления HMAC под ZMK

LY (LZ) Перешифрование ключа вычисления HMAC из-под

«старого» LMK под «новый»

Page 433: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 433

4.88.2. Описание команд лицензии «Поддержка 3-D Secure»

Проверка Truncated Application Cryptogram (MasterCard CAP) (K2)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: См. Примечание См. Примечание

Функция: Проверка Truncated Application Cryptogram (MasterCard CAP)

разового пароля держателя карты.

Примечание: Команда поддерживает:

• EMV 4.1 methods A и B для выработки мастер-ключей карты

• EMV 3.1.1 и EMV 4.1 (включая EMV Common Session Key

Derivation) для выработки сессионных ключей карты

Для вывода диагностических данных требуется авторизованное

состояние HSM.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘K2’.

Флаг режима 1 H Режим выполнения команды:

‘0’ : Проверка Truncated AC и проверка

MAC

Идентификатор (ID)

схемы CAP

2 N '00' : MasterCard CAP;

'01' : MasterCard CAP с TDS

Метод диверсификации

мастер-ключей карты

1 N Метод диверсификации IDK-AC:

'0' : EMV 4.1 Master Key Derivation

Option A

'1' : EMV 4.1 Master Key Derivation

Option B.

Page 434: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 434

Поле Длина и тип Описание

Метод диверсификации

сессионных ключей

карты

1 N '0' : Нет сессионных ключей.

Метод диверсификации SK-AC:

'1' : MasterCard (M/Chip 2.1 method);

'3' : EMV 4.1 (EMV Common Session

Key Derivation Method).

MK-AC (LMK) Мастер-ключ эмитента для

формирования и проверки

Application Cryptograms,

32 H

или

1 A + 32 H

Для вариантных LMK:

зашифрованный под LMK 28-29

вариант 1.

или

1 A + n A

Для Keyblock LMK:

ZMK или TMK в формате Keyblock

HSM. Значения полей MK-AC

следующие:

Key Usage Algorithm Mode of Use

‘E0’ ‘T’ ‘N’

Длина PAN 2 N Только если метод диверсификации

сессионных ключей карты = ‘2’.

Длина (в байтах) поля PAN/PAN

Sequence Number.

Значение '01' ... '99'.

Поле указывает число байтов для

хранения PAN/PAN Sequence Number.

Если число цифр PAN/PAN Sequence

Number – нечетное, то слева

вставляется дополнительный ‘0’.

PAN/PAN Sequence № 8 B

или n B

Для метода диверсификации

мастер-ключей карты = ‘0’, это поле

имеет фиксированную длину 8 байтов

и содержит переформатированный

PAN/PSN (в BCD формате).

За паддинг (при необходимости)

PAN/PSN до 8 байтов отвечает хост.

Page 435: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 435

Поле Длина и тип Описание

Для метода диверсификации

мастер-ключей карты = ‘1’, поле

содержит PAN/PSN (в BCD формате).

Поле PAN/PSN должно содержать

четное число цифр, в противном

случае хост должен добавить слева

дополнительный ‘0’. PAN/PSN

используется в EMV 4.1 Option B

Примечание: Если "PAN Length" <= 8

байт, то HSM дополнит до 8 байтов,

если это необходимо, в соответствии

с EMV Option А.

Разделитель 1 A Только если метод диверсификации

мастер-ключей карты = ‘1’. Указывает

на конец поля PAN/PSN. Значение ‘;’.

Счетчик транзакций

(Application Transaction

Counter)

2 B ATC последней транзакции хранится

в БД хоста.

Значение ATC сообщается картой в

SecureCode message.

UN 4 B Unpredictable Number

Только если метод диверсификации

мастер-ключей карты = ‘1’.

Длина данных

транзакции

2 H Длина следующего поля. Значение от

‘00’ до ‘FF’.

Данные транзакции n B Данные переменной длины. Если

данные не кратны 8 байтам,

дополнение нулями.

Разделитель 1 A Разделитель, указывающий на конец

данных транзакции. Значение ‘;’.

Усеченная

криптограмма (AC)

8 B Криптограмма для проверки.

Поле содержит усеченную

EMV-криптограмму из SecureCode

message.

Поле выравнено до 8 байтов по

правому краю, слева дополнено ‘00’.

HSM генерирует криптограмму из

подаваемых на вход данных

транзакции, усекает ее с

Page 436: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 436

Поле Длина и тип Описание

использованием IPB и сравнивает с

принятой усеченной криптограммой.

Криптограмма IPB 8 B Маска для усечения криптограммы

(IPB).

Зарезервировано 4 B Зарезервировано. Поле игнорируется

Длина данных TDS 4 N Длина следующего поля. Значение от

‘0002’…’9998’.

Только если метод диверсификации

мастер-ключей карты = ‘1’.

Данные TDS n H Данные TDS.

За паддинг данных TDS ответственен

хост

Только если метод диверсификации

мастер-ключей карты = ‘1’.

Page 437: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 437

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘K3’.

Код ошибки 2 А 00 – нет ошибок;

01 – отрицательный результат

проверки ARQC/TC/AAC;

04 – недопустимый флаг режима;

05 – недопустимый метод

диверсификации ключей;

10 – ошибка четности MK;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Диагностические

данные

8 B «Усеченная криптограмма»,

сгенерированная HSM.

Поле выравнено по правому краю и

дополнено ‘00’ до 8 байтов.

Возвращается только в случае ошибки

01 и в авторизованном состоянии

HSM.

Page 438: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 438

Генерация ключа для вычисления HMAC (L0)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: Не требуется Не требуется

Функция: Генерация ключа для вычисления HMAC.

Примечание: Генерация секретного ключа для использования Keyed-Hash

Message Authentication Code (HMAC). Данный ключ должен

использоваться только для вычисления HMAC и никаких других

функций.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘L0’ (L zero).

Идентификатор

Хэш-функции

2 N

или

Идентификатор алгоритма

Хэш-функции:

‘01’ : SHA-1.

‘06’ : SHA-256

2 H Это поле игнорируется, должно быть

установлено значение «FF».

Использование ключа

HMAC

2 N

или

Использование ключа HMAC:

‘01’ : генерация HMAC;

‘02’ : проверка HMAC;

‘03’ : генерация и проверка HMAC.

2 H Это поле игнорируется, должно быть

установлено значение «FF».

Длина ключа HMAC 4 N Длина ключа HMAC (в байтах).

Должна удовлетворять требованию: L/2

≤ длины ключа, где L – размер

выходной Хэш-функции (L = 20 для

алгоритма SHA-1).

Page 439: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 439

Поле Длина и тип Описание

Формат ключа HMAC 2 N Формат ключа для хранения.

Для вариантного LMK:

‘00’ : Проприетарный формат ключа

HMAC.

Для Keyblock LMK:

‘04’ : Keyblock формат ключа HMAC.

При

мен

яет

ся т

олько

пр

и с

озд

ани

и к

лю

чев

ого

бло

ка

Разделитель 1 A Значение ‘#’, только при наличии

следующих полей

Используемость

ключа

2 A Значение поля Key Usage для

включения в заголовок Keyblock (байты

5-6). Представлено, если присутствует

поле Разделитель.

Возможные значения поля:

‘61’: SHA-1

’63’: SHA-256

Алгоритм 2 A Значения поля Алгоритм для включения

в заголовок Keyblock (байт 7).

Представлено, если присутствует поле

Разделитель. Допустимое значение:

‘H0’ (см. Таблица 13)

Режим

использования

1 A Значения поля Mode of Use для

включения в заголовок Keyblock (см.

Таблица 15). Представлено, если

присутствует поле Разделитель.

Номер версии

ключа

2 N Значения поля Key Version Number для

включения в заголовок Keyblock.

Возможные значения6 от ‘00’ до ‘99’.

Представлено, если присутствует поле

Разделитель

Число

опциональных

блоков

2 N Число опциональных блоков Keyblock.

Возможные значения от ‘00’ до ‘08’.

Представлено, если присутствует поле

Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Page 440: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 440

Поле Длина и тип Описание

Идентификатор

опционального

блока

2 A Идентификатор опционального блока

(см. Таблица 18, любое допустимое

значение, кроме ‘PB’)

Длина

опционального

блока

2 H Число символов в опциональном блоке

(включая поля идентификатора и

длины). Возможные значения от X’04’

до X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный

блок

n A Опциональный блок данных

Page 441: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 441

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘L1’.

Код ошибки 2 А 00 – нет ошибок;

04 – ошибка длины ключа;

05 – недопустимый идентификатор

Хэш;

06 – недопустимое использование

ключа;

07 – недопустимый формат ключа;

98 – команда недоступна или

стандартный код ошибки (см.

Приложение 1).

Длина ключа HMAC 4 N

или

Для вариантных LMK:

Длина (в байтах) следующего поля.

4 H Для Keyblock LMK:

Резервное поле заполнено ‘FFFF’

Ключ HMAC n B или n A Ключ HMAC

Для вариантных LMK:

Зашифрованный под парой LMK

34-35 вариант 1.

Для Keyblock LMK:

Ключ HMAC, закодированный под

LMK

Page 442: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 442

Генерация HMAC за блок данных (LQ)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: Не требуется Не требуется

Функция: Генерация HMAC за блок данных на ключе вычисления HMAC.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘LQ’.

Хэш-идентификатор 2 N

или

Для вариантных LMK:

'01' : SHA-1.

'06' : SHA-256

2 H Для Keyblock LMK это поле

игнорируется, должно быть

установлено ‘FF’.

Длина HMAC 4 N Длина (t) в байтах сгенерированного

HMAC. Должна удовлетворять

условию: L/2 <= t <= L, где L — размер

вывода хэш-функции (L = 20 в случае

SHA-1).

Формат ключа HMAC 2 N Определяет формат хранения ключа.

Для вариантных LMK:

'00' : Проприетарный формат ключа

HMAC.

Для Keyblock LMK:

'04' : Keyblock формат ключа HMAC.

Длина ключа HMAC 4 N

или

Для вариантных LMK:

Длина (в байтах) следующего поля.

4 H Для Keyblock LMK: это поле

игнорируется, должно быть

установлено ‘FFFF’

Page 443: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 443

Поле Длина и тип Описание

Ключ HMAC n B или n A Ключ HMAC используется для

вычисления HMAC. Примечание: ключ

не включает символ, определяющий

ключевую схему.

Для вариантных LMK:

Ключ зашифрован под LMK 34-35

вариант 1.

Для Keyblock LMK ключ HMAC должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘61’, ‘63’ ‘H’ ‘C’, ‘V’, ‘N’

Разделитель 1 A Значение ';'.

Длина данных 5 N Длина сообщения.

Данные сообщения n B Данные сообщения.

Page 444: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 444

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘LR’.

Код ошибки 2 A 00 – нет ошибок;

04 – ошибка длины HMAC;

05 – недопустимый

хэш-идентификатор;

06 – недопустимое Key Usage;

07 – недопустимый формат ключа;

08 – ошибка ключа HMAC;

67 – команда не имеет лицензии

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Длина HMAC 4 N Длина (t) в байтах выводимого

HMAC, значение которой определено

в командном сообщении.

HMAC n B HMAC (длина определена в

предыдущем поле).

Page 445: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 445

Проверка HMAC за блок данных (LS)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: Не требуется Не требуется

Функция: Генерация HMAC за блок данных на ключе вычисления HMAC и

сравнение с принятым.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘LS’.

Хэш-идентификатор 2 N Для вариантных LMK:

'01' : SHA-1.

'06' : SHA-256

или

2 H

Для Keyblock LMK это поле

игнорируется, должно быть

установлено ‘FF’.

Длина HMAC 4 N Длина (t) в байтах проверяемого HMAC.

Должна удовлетворять условию:

L/2 <= t <= L,

где L — размер вывода хэш-функции

(L = 20 в случае SHA-1).

HMAC n B Проверяемый HMAC (длина определена

в предыдущем поле).

Формат ключа HMAC 2 N Определяет формат хранения ключа.

Для вариантных LMK:

'00' : Проприетарный формат ключа

HMAC.

Для Keyblock LMK:

'04' : Keyblock формат ключа HMAC.

Длина ключа HMAC 4 N Для вариантных LMK:

Длина (в байтах) следующего поля

Page 446: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 446

Поле Длина и тип Описание

или

4 H

Для Keyblock LMK это поле

игнорируется, должно быть

установлено ‘FFFF’.

Ключ HMAC n B или n A Ключ HMAC используется для

проверки HMAC.

Примечание: ключ не включает символ,

определяющий ключевую схему.

Для вариантных LMK:

Ключ зашифрован под LMK 34-35

вариант 1.

Для Keyblock LMK ключ HMAC должен

соответствовать следующим значениям:

Key Usage Algorithm Mode of Use

‘61’, ‘63’ ‘H’ ‘C’, ‘V’, ‘N’

Разделитель 1 A Значение ';'.

Длина данных 5 N Длина сообщения.

Данные сообщения n B Данные сообщения.

Page 447: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 447

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘LT’.

Код ошибки 2 A 00 – нет ошибок;

01 – ошибка проверки HMAC;

04 – ошибка длины HMAC;

05 – недопустимый

хэш-идентификатор;

06 – недопустимое Key Usage;

07 – недопустимый формат ключа;

08 – ошибка ключа HMAC;

67 – команда не имеет лицензии;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Page 448: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 448

Импорт ключа вычисления HMAC из-под ZMK (LU)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: Не требуется Не требуется

Функция: Извлечение ключа вычисления HMAC из транспортного контейнера

и расшифрование из-под ZMK, зашифрование ключа вычисления

HMAC под LMK.

Примечание:

Ключ HMAC, зашифрованный под ZMK, должен быть кратным 8

байтам.

Формат транспортного контейнера ключа вычисления HMAC (под

ZMK) определяется идентификатором транспортного формата.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘LU’.

ZMK ZMK используется для

расшифрования 'HMAC ключ (под

ZMK)'.

16/32 H

или

1 A + 32/48 H

Для вариантных LMK:

ZMK зашифрован под

LMK 04-05.

или

1 A + n A

Для Keyblock LMK:

ZMK должен соответствовать

следующим значениям:

Key Usage Algorithm Mode of

Use

‘K0’, ‘52’ ‘D’, ‘T’ ‘B’, ‘D’, ‘N’

Длина HMAC ключа

(под ZMK)

4 N

или

4 H

Для транспортного формата '01', '02',

'03' это поле указывает длину (в

байтах) следующего поля.

Page 449: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 449

Поле Длина и тип Описание

Командное сообщение

Для транспортного формата '04' это

поле игнорируется; должно быть

установлено «FFFF».

HMAC ключ (под ZMK) n B

или

n A

Импортируемый HMAC ключ,

зашифрованный под ZMK.

Примечание: ключ не включает

символ, определяющий ключевую

схему.

HMAC ключ (под ZMK),

зашифрованный под формат Keyblock

(транспортный формат '04') должен

содержать следующие допустимые

значения:

Key Usage Algorithm Mode of

Use

‘61’, ‘63’ ‘H’ ‘C’, ‘G’,

‘V’, ‘N’

Разделитель 1 A Значение ';'.

Только для вариантного LMK

Транспортный формат 2 N Формат HMAC ключа (под ZMK):

'01' : PKCS#11 ECB формат;

'02' : PKCS#11 CBC формат;

'03' : X9.17 формат;

'04' : Keyblock формат (не применяется

для вариантных LMK).

Формат ключа HMAC

(под LMK)

2 N Определяет формат LMK шифрования

HMAC ключа.

Для вариантного LMK:

'00' : Проприетарный формат ключа

HMAC.

Для Keyblock LMK:

'04' : Keyblock формат ключа HMAC.

Page 450: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 450

Поле Длина и тип Описание

Командное сообщение

Хэш-идентификатор 2 N Только для вариантных LMK, если

транспортный формат '01', '02', '03':

'01' : SHA-1.

'06' : SHA-256

HMAC Key Usage 2 N

или

2 H

Для транспортного формата '01', '02',

'03' значение HMAC Key Usage:

'01' : HMAC генерация;

'02' : HMAC проверка;

'03' : HMAC генерация и проверка.

Длина ключа HMAC 4 N Для транспортного формата '01', '02',

'03':

Число байт HMAC ключа.

Длина должна удовлетворять

условию: L/2 <= длина ключа,

где L — размер вывода хэш-функции

(L = 20 в случае SHA-1).

Только

когд

а г

енер

ир

ует

ся K

eyb

lock

Разделитель 1 A Значение ‘#’. Требуется при генерации

Keyblock. Если представлено, то

должны быть поля, приведенные ниже

Использование

ключа (Key Usage)

2 A Значение поля Key Usage для

включения в заголовок Keyblock.

Представлено, если присутствует поле

Разделитель.

Возможные значения поля по типу

ключа:

‘61’: SHA-1

’63’: SHA-256

Режим

использования

(Mode of Use)

1 A Значения поля Mode of Use для

заголовка Keyblock (см. по типу ключа

Таблица 15). Представлено, если

присутствует поле Разделитель.

Номер версии

ключа (Key Version

Number)

2 N Значения поля Key Version Number

для заголовка Keyblock (см. Таблица

16). Возможные значения от ‘00’ до

Page 451: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 451

Поле Длина и тип Описание

Командное сообщение

‘99’. Представлено, если присутствует

поле Разделитель.

Экспортируемость

(Exportability)

1 А Значения поля Exportability для

заголовка Keyblock (см. Таблица 17)

Представлено, если присутствует поле

Разделитель.

Число

опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от ‘00’

до ‘08’. Представлено, если

присутствует поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального

блока

2 A Идентификатор опционального блока.

Любое допустимое значение, кроме

‘PB’ (см. Таблица 18).

Длина

опционального

блока

2 H Число символов в опциональном

блоке (включая поля идентификатора

и длины). Возможные значения от

X’04’ до X’FF’. Если значение X’04’,

то следующее поле не представлено.

Опциональный

блок

n A Опциональный блок данных

Page 452: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 452

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘LV’.

Код ошибки 2 A 00 – нет ошибок;

03 – недопустимый транспортный

формат;

04 – ошибка длины HMAC;

05 – недопустимый

хэш-идентификатор;

06 – недопустимое Key Usage;

07 – недопустимый формат ключа;

08 – ошибка ключа HMAC;

10 – ошибка четности ZMK

67 – команда не имеет лицензии;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Длина ключа HMAC 4 N

или

Для вариантных LMK:

Длина (в байтах) следующего поля

4 H Для Keyblock LMK:

Это поле игнорируется, должно быть

установлено ‘FFFF’

HMAC ключ (под LMK) n B

или

n A

Импортированный HMAC ключ.

Примечание: ключ не включает

символ, определяющий ключевую

схему.

Для вариантных LMK:

Зашифрован под LMK 34-35 вариант 1.

Для Keyblock LMK:

HMAC ключ зашифрован под LMK.

Page 453: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 453

Экспорт ключа вычисления HMAC под ZMK (LW)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: Не требуется Не требуется

Функция: Расшифрование ключа вычисления HMAC из-под LMK,

зашифрование ZMK под (DES или ГОСТ). Формирование

транспортного контейнера.

Примечание: Ключ HMAC, зашифрованный под ZMK, должен быть кратным 8

байтам.

Формат транспортного контейнера ключа вычисления HMAC (под

ZMK) определяется идентификатором транспортного формата.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘LW’.

ZMK ZMK используется для зашифрования

'HMAC ключ'.

16/32 H

или

1 A + 32/48 H

или

Для вариантных LMK:

ZMK зашифрован под парой LMK

04-05.

1 A + n A Для Keyblock LMK ZMK должен

соответствовать следующим

значениям:

Key Usage Algorithm Mode of Use

‘K0’, ‘52’ ‘D’, ‘T’ ‘B’, ‘E’, ‘N’

Формат ключа HMAC

(под LMK)

2 N Определяет формат LMK шифрования

HMAC ключа.

'00' : Проприетарный формат ключа

HMAC.

'04' : Keyblock формат ключа HMAC.

Page 454: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 454

Поле Длина и тип Описание

Командное сообщение

Транспортный формат 2 N Формат HMAC ключа (ZMK):

'01' : PKCS#11 ECB формат;

'02' : PKCS#11 CBC формат;

'03' : X9.17 формат;

'04' : KeyBlock формат (не применяется

для вариантных LMK).

Длина HMAC ключа

(под LMK)

4 N

или

Для вариантных LMK: это поле

указывает длину (в байтах) следующего

поля.

4 H Для Keyblock LMK: это поле

игнорируется, должно быть

установлено ‘FFFF’

HMAC ключ

(под LMK)

n B или n A Экспортируемый HMAC ключ.

Примечание: ключ не включает символ,

определяющий ключевую схему.

HMAC ключ зашифрован под LMK

34-35 вариант 1.

Для Keyblock LMK:

HMAC ключ должен содержать

следующие допустимые значения:

Key Usage Algorithm Mode of Use

‘61’, ‘63’ ‘H’ ‘C’, ‘G’,

‘V’, ‘N’

Key

blo

ckL

MK

Key

blo

ckZ

MK

Разделитель 1 A Значение ‘&’.

Опционально, присутствует только если

экспортируемый ключ является

ключевым блоком; если присутствует,

должно быть следующее поле/

Modified

Exportability

1 A Значения поля Exportability для

заголовка Keyblock. Допускается только

значение «N». Представлено, если

присутствует поле Разделитель.

Page 455: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 455

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘LX’.

Код ошибки 2 A 00 – нет ошибок;

03 – недопустимый транспортный

формат;

07 – недопустимый формат ключа;

08 – ошибка ключа HMAC;

10 – ошибка четности ZMK;

67 – команда не имеет лицензии;

98 – команда отключена или

стандартный код ошибки (см.

Приложение 1).

Длина HMAC ключа

(под ZMK)

4 N Если формат не ‘04’ – это длина (в

байтах) следующего поля.

Если формат ‘04’ - это поле

игнорируется, должно быть

установлено ‘FFFF’

HMAC ключ (под

ZMK)

n B или n A HMAC ключ, зашифрованный под

ZMK, в формате, указанном в поле

'Транспортный формат'.

Примечание: ключ не включает

символ, определяющий ключевую

схему.

Хэш-идентификатор 2 N Идентификатор хэш-алгоритма:

'01' : SHA-1.

'06' : SHA-256

HMAC Key Usage 2 N '01' : HMAC генерация;

'02' : HMAC проверка;

'03' : HMAC генерация и проверка.

Длина HMAC ключа 4 N Число байт HMAC ключа.

Значение должно удовлетворять

условию: L/2 <= длина ключа,

где L — размер вывода хэш-функции

(L = 20 в случае SHA-1).

Page 456: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 456

Перешифрование ключа вычисления HMAC из-под «старого»

LMK под «новый» (LY)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC006 LIC006

Авторизация: Не требуется Не требуется

Функция: Расшифрование ключа вычисления HMAC из-под «старого» LMK и

зашифрование под «новый».

Примечание: Данная команда так же используется для изменения формата

хранения HMAC ключа.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без

изменений.

Код команды 2 А ‘LY’.

Формат входного HMAC

ключа

2 N Определяет формат входного

HMAC ключа (зашифрованного

под «старым» LMK).

Для «старого» LMK:

Для варинтного LMK:

'00': Проприетарный формат

HMAC ключа.

Для Keyblock LMK:

'04' : Keyblock формат ключа

HMAC.

Формат выходного HMAC

ключа

2 N Определяет формат выходного

HMAC ключа (зашифрованного

под текущим LMK). Для текущего

LMK

Для вариантного LMK:

'00': Проприетарный формат

HMAC ключа.

Для Keyblock LMK:

Page 457: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 457

Поле Длина и тип Описание

'04' : Keyblock формат ключа

HMAC.

Длина HMAC ключа 4 N

или

Для «старого» варианта LMK:

длина (в байтах) следующего поля.

4 H Для старого Keyblock LMK:

это поле игнорируется, должно

быть установлено ‘FFFF’

HMAC ключ n B или n A HMAC ключ для перешифрования,

зашифрованный под «старым»

LMK. Примечание: ключ не

включает символ, определяющий

ключевую схему.

Для вариантных LMK:

Зашифрован под старым LMK

34-35 вариант 1.

Для старого Keyblock LMK

допустимы значения полей ‘ZPK’:

Key Usage Algorithm Mode of

Use

‘61’, ‘63’ ‘H’ ‘C’, ‘G’,

‘V’, ‘N’

Разделитель 1 A Значение ‘#’. Требуется при

переводе в Keyblock формат. Если

представлено, то должны быть

поля, приведенные ниже

Использование ключа 2A Допустимые значения:

'61' – SHA-1

'63' – SHA-256

При переводе ключа из формата

«00», это поле должно быть

совместимо с идентификатором

хэширования входного ключа.

Режим использования 1 A Значения поля Mode of Use для

заголовка Keyblock (см. по типу

ключа Таблица 15). Представлено,

Page 458: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 458

Поле Длина и тип Описание

если присутствует поле

Разделитель. Т

олько

для п

ереш

иф

ро

ван

ия в

ари

антн

ого

LM

K в

Key

blo

ck

Номер версии ключа 2 N Значения поля Key Version Number

для заголовка Keyblock.

Возможные значения от ‘00’ до

‘99’ (см. Таблица 16).

Представлено, если присутствует

поле Разделитель.

Экспортируемость 1 A Значения поля Exportability для

заголовка Keyblock (см. Таблица

17). Представлено, если

присутствует поле Разделитель.

Число опциональных

блоков

2 N Число опциональных блоков

Keyblock. Возможные значения от

‘00’ до ‘08’. Представлено, если

присутствует поле Разделитель.

Для каждого опционального блока должны быть представлены следующие

три поля. Если значение поля ‘Число опциональных блоков’=’00’, то

следующие три не представлены.

Идентификатор

опционального блока

2 A Идентификатор опционального

блока (см. Таблица 18 - любое

допустимое значение, кроме ‘PB’).

Длина опционального

блока

2 H Число символов в опциональном

блоке (включая поля

идентификатора и длины).

Возможные значения от X’04’ до

X’FF’. Если значение X’04’, то

следующее поле не представлено.

Опциональный блок n A Опциональный блок данных

Page 459: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 459

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘LZ’.

Код ошибки 2 A 00 – нет ошибок;

03 – недопустимый формат

выходного ключа;

07 – недопустимый формат входного

ключа;

08 – ошибка ключа HMAC;

67 – команда не имеет лицензии;

98 – команда отключена

или стандартный код ошибки (см.

Приложение 1).

Длина HMAC ключа 4 N Для вариантного LMK:

длина (в байтах) следующего поля.

или

4 H

Для Keyblock LMK:

это поле игнорируется, должно быть

установлено ‘FFFF’

HMAC ключ n B или n A Перешифрованный HMAC ключ,

зашифрованный под текущим LMK.

Примечание: ключ не включает

символ, определяющий ключевую

схему.

Для вариантных LMK:

HMAC ключ зашифрован под

текущим LMK 34-35 вариант 1.

Для Keyblock LMK:

HMAC ключ зашифрован под

текущим Keyblock LMK.

Page 460: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 460

4.9. Команды лицензии «Поддержка CUP» (Support of China Union

Pay License – LIC007)

4.99.1. Перечень команд лицензии «Поддержка CUP»

Таблица 27 - Перечень команд лицензии «Поддержка CUP»7 приводит

перечень команд лицензии «Поддержка CUP» (LIC007).

Таблица 27 - Перечень команд лицензии «Поддержка CUP»

Команда

(ответ)

Функция

JS (JT) Проверка ARQC и генерация ARPC (CUP)

JU (JV) Генерация секретных сообщений (CUP)

4.99.2. Описание команд лицензии «Поддержка CUP»

Проверка ARQC и генерация ARPC (CUP) (JS)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC007 LIC007

Авторизация: См. Примечание -

Функция: Проверка ARQC (или TC/AAC) и, опционально, генерация ARPC.

Также команда может быть использована только для генерации

ARPC.

Примечание: Вывод диагностических данных требует состояние авторизации.

Диагностические данные включают в себя вычисленную ARQC в

случае, если проверка полученной ARQC завершилась неудачей.

Паддинг:

• В соответствии с частью 5 документа CUP (JR/T 0025.5-2010)

Appendix D.2 данные для вычисления ARQC должны быть

дополнены. Если данные кратны 8, то в конец данных

Page 461: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 461

добавляется “hex 80 00 00 00 00 00 00 00”. Если данные не

кратны 8, то в конец данных добавляется “hex 80” и несколько

(от 0 до 7) шестнадцатиричных байтов “00”.

• Применение описанного правила паддинга контролируется с

помощью флага.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JS’.

Флаг режима 1 N Режим выполнения команды:

‘0’ : только проверка ARQC;

‘1’ : проверка ARQC и генерация

ARPC;

‘2’ : только генерация ARPC.

Идентификатор (ID)

метода

диверсификации

ключей

1 N Идентификатор метода

диверсификации ключей CUP:

‘1’ : CUP Card Key Derivation method

(CUP ver4.2).

MK-AC (LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

формирования Application Cryptograms,

зашифрованный под LMK 28-29.

PAN/PAN Sequence № 8 B Переформатированный PAN/PAN

Sequence №.

ATC 2 B Счетчик транзакций

(Application Transaction Counter).

Флаг паддинга 1 N Флаг, указывающий на применение

паддинга для данных транзакции:

‘0’ : данные транзакции не дополнены

(требуется паддинг).

‘1’ : данные транзакции дополнены

(паддинг не требуется).

Только, если флаг режима = ‘0’ или ‘1’.

Page 462: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 462

Поле Длина и тип Описание

Командное сообщение

Длина данных

транзакции

2 H Длина следующего поля. От 1 до 255

байтов. Только, если флаг режима = ‘0’

или ‘1’.

Данные транзакции n B Данные переменной длины. Только,

если флаг режима = ‘0’ или ‘1’.

Если данные кратны 8 байтам, то

дополнительный паддинг не требуется.

Если данные не кратны 8 байтам, то

требуется паддинг.

Разделитель 1 A Разделитель, указывающий конец

данных транзакции. Только, если флаг

режима = ‘0’ или ‘1’. Значение ‘;’.

ARQC/TC/AAC 8 B ARQC/TC/AAC для проверки и

генерации ARPC.

ARC 2 B

Код ответа авторизации (Authorisation

Response Code) для генерации ARPC

Только, если флаг режима = ‘1’ или ‘2’.

Page 463: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 463

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JT’.

Код ошибки 2 А 00 – нет ошибок;

01 – ошибка проверки ARQC/TC/AAC;

03 – недопустимый флаг паддинга;

04 – недопустимый флаг режима;

05 – недопустимый ID метода

диверсификации ключа;

10 – ошибка четности MK;

80 – ошибка длины данных

81 – нулевая длина данных

транзакции;

82 – длина данных транзакции

не кратна 8 байтам;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

ARPC 8 B Вычисленная ARPC. Только, если

флаг режима = ‘1’ или ‘2’ и нет

ошибок.

Диагностические

данные

8 B Вычисленная ARQC/TC/AAC. Только

если код ошибки = 1 и HSM находится

в авторизованном состоянии.

Page 464: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 464

Генерация секретных сообщений (CUP) (JU)

Variant LMK ■ Keyblock LMK □

Лицензия: LIC007 LIC007

Авторизация: Не требуется -

Функция: Генерация секретных сообщений (Secure Message) с обеспечением

целостности. Опционально, обеспечивается конфиденциальность

сообщения или смена PIN.

Примечание: Паддинг:

• В соответствии с частью 5 документа CUP (JR/T 0025.5-2010)

Appendix C.2.4 данные для вычисления MAC должны быть

дополнены. Если данные кратны 8, то в конец данных

добавляется “hex 80 00 00 00 00 00 00 00”. Если данные не

кратны 8, то в конец данных добавляется “hex 80” и несколько

(от 0 до 7) шестнадцатиричных байтов “00”.

• Применение описанного правила паддинга контролируется с

помощью флага.

Page 465: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 465

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘JU’.

Флаг режима 1 N Режим выполнения команды:

‘0’ : только целостность (MAC)

сообщения;

‘1’ : целостность (MAC) и

конфиденциальность (шифрование)

сообщения с использованием одного

мастер-ключа;

‘2’ : целостность (MAC) и

конфиденциальность (шифрование)

сообщения с использованием разных

мастер-ключей;

‘3’ : целостность (MAC) и

конфиденциальность (шифрование)

для смены PIN с использованием

одного мастер-ключа;

‘4’ : целостность (MAC) и

конфиденциальность (шифрование)

для смены PIN с использованием

разных мастер-ключей.

Идентификатор (ID)

метода

диверсификации

ключей

1 N Идентификатор метода

диверсификации ключей CUP:

‘1’ : CUP Card Key Derivation method

(CUP ver4.2).

MK-SMI (LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

обеспечения целостности секретных

сообщений, зашифрованный под LMK

28-29 вариант 2.

PAN/PAN Sequence № 8 B Переформатированный PAN/PAN

Sequence №.

ATC 2 B Счетчик транзакций

(Application Transaction Counter).

Page 466: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 466

Поле Длина и тип Описание

Командное сообщение

Флаг паддинга 1 N Флаг, указывающий на применение

паддинга для данных транзакции:

‘0’ : данные транзакции не дополнены

(требуется паддинг);

‘1’ : данные транзакции дополнены

(паддинг не требуется).

Длина данных

транзакции для

вычисления MAC

4 H Длина в байтах следующего поля.

Данные транзакции для

вычисления MAC

n B Данные для вычисления MAC.

Разделитель 1 A Разделитель, указывающий конец

данных транзакции. Значение ‘;’.

MK-SMI (LMK) 32 H

или

1 A + 32 H

Мастер-ключ эмитента для

шифрования секретных сообщений,

зашифрованный под LMK 28-29

вариант 3. Только, если флаг режима

= ‘2’ или ‘4’.

Смещение 4 H Позиция в сообщении для вставки

зашифрованного нового PIN-блока или

зашифрованных данных. Должно быть

между 0000 и длиной сообщения. Если

смещение = n, то зашифрованный

PIN-блок или зашифрованные данные

вставляются после n-го байта

сообщения (Т.е. если длина открытого

текста = 0039, и смещение = 39, то

зашифрованный новый PIN-блок

помещается в конце открытого текста

сообщения).

Только, если флаг режима = ‘1’, ‘2’, ‘3’

или ‘4’.

Длина открытых

данных сообщения

4 H Длина (в байтах) следующего поля.

Открытые данные

сообщения

n B Открытые данные сообщения. Только,

если флаг режима = ‘1’ или ‘2’.

Page 467: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 467

Поле Длина и тип Описание

Командное сообщение

Разделитель 1 A Разделитель. Значение ‘;’.

Тип ключа

шифрования PIN

1 N ‘0’ : ZPK;

‘1’ : TPK.

Ключ шифрования PIN 16 H

или

1 A + 32/48 H

Только, если флаг режима = ‘3’ или ‘4’.

Ключ шифрования PIN в соответствии

с типом:

ZPK, зашифрованный под LMK 06-07

вариант 0;

TPK, зашифрованный под LMK 14-15

вариант 2

Только, если флаг режима = ‘3’ или ‘4’.

Исходный формат

PIN-блока

2 N Код формата исходного PIN-блока.

Только, если флаг режима = ‘3’ или ‘4’.

Номер счета (Account

Number)

12 N или 18 H Для всех форматов PIN-блока, кроме

04, это 12-значный поле, состоящее из

12 самых правых цифр номера счета, за

исключением контрольной цифры.

Для PIN-блока в формате 04, это

18-значное поле, состоящее из номера

счета, за исключением контрольной

цифры, выравненное по правому краю

и дополненное X'F слева, если это

необходимо.

Выходной формат

PIN-блока

1 N Код формата для выходного PIN-блока:

‘1’ : PIN-блок с текущим («старым») PIN;

‘2’ : PIN-блок без текущего («старого»)

PIN.

Только, если флаг режима = ‘3’ или ‘4’.

Новый PIN-блок 16 H Новый PIN-блок. Только, если флаг

режима = ‘3’ или ‘4’.

Текущий PIN-блок 16 H Текущий PIN-блок. Только, если флаг

режима = ‘3’ или ‘4’ и формат

выходного PIN-блока = 1.

Page 468: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 468

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘JV’.

Код ошибки 2 А 00 – нет ошибок;

03 – недопустимый флаг паддинга;

04 – недопустимый флаг режима;

05 – недопустимый ID метода

диверсификации ключа;

06 – недопустимое смещение;

09 - ошибка четности ZPK/TPK;

10 – ошибка четности MK-SMI;

11 – ошибка четности MK-SMC;

23 – недопустимый формат исходного

PIN-блока;

50 – тип ключа шифрования PIN ≠ 0

или 1;

51 – недопустимый формат выходного

PIN-блока;

52 – неверный новый PIN-блок;

53 – неверный текущий PIN-блок;

80 – ошибка длины данных для MAC;

81 – ошибка длины открытых данных;

82 – длина данных транзакции не

кратна 8 байтам;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

MAC 8 H Вычисленный MAC

Зашифрованный новый

PIN-блок

32 H Зашифрованный новый PIN-блок. Только,

если флаг режима = ‘3’ или ‘4’.

Длина

зашифрованного

сообщения

4 H Длина следующего поля. Только, если

флаг режима = ‘1’ или ‘2’.

Зашифрованное

сообщение

n B Зашифрованное сообщение. Только,

если флаг режима = ‘1’ или ‘2’.

Page 469: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 469

4.10. Команды лицензии «Поддержка American Express » (Support

of American Express License 08.х– LIC008)

4.1010.1. Перечень команд лицензии «Поддержка American Express»

В Таблица 28 - Перечень команд лицензии «Поддержка American

Express»8 приведен перечень команд лицензии «Поддержка American Express»

(LIC008).

Таблица 28 - Перечень команд лицензии «Поддержка American

Express»

Команда

(ответ)

Функция

RY (RZ)

режим 3

Вычисление Card Security Codes

RY (RZ)

режим 4

Проверка Card Security Codes

4.1010.2. Описание команд лицензии «Поддержка American Express»

Вычисление Card Security Codes (RY режим 3)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC008 LIC008

Авторизация: Не требуется Не требуется

Функция: Генерация American Express Card Security Code (CSC). Команда

вычисляет и возвращает CSC с количеством знаков: 5, 4 и 3.

Примечание:

Данная команда поддерживает 3 алгоритма вычисления CSC:

- Classic CSC алгоритм (CSC Version 1.0)

- Enhanced CSC алгоритм (CSC Version 2.0)

- American Express Verification Value (AEVV)

Page 470: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 470

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘RY’.

Режим 1 N Значение '3'.

Флаг 1 N '0' : Classic CSC алгоритм (CSC

Version 1.0);

'2' : Enhanced CSC алгоритм (CSC

Version 2.0);

'3' : American Express Verification

Value (AEVV).

CSCK 32 H

или

1 A + 32 H

CSCK используется для вычисления

CSC.

'CSCK' должен быть зашифрован под

LMK 14-15 вариант 4.

или

1 A + n A

Значения полей ключевого блока

Key Usage Algorithm Mode of Use

‘C0’, ‘11’ ‘T’ ‘C’, ‘G’, ‘N’

Account Number 19 N Account Number, цифры, слева

дополненные нулями, если количество

знаков меньше 19.

Дата истечения срока 4 N Если флаг = '0' или '2', поле содержит

дату истечения срока карты в формате

YYMM.

Если флаг = '3', поле содержит AEVV

Unpredictable Number.

Service Code

3 N Представлен, только если флаг = '2'

или '3'.

Если флаг = '3', поле содержит AEVV

Authentication Results Code (1 цифра) с

последующим AEVV Second Factor

Authentication Code (2 цифры).

Page 471: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 471

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘RZ’.

Код ошибки 2 A 00 – нет ошибок;

10 – CSCK ошибка четности;

27 – CSCK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Режим 1 N Значение '3'.

5-значный CSC/iCSC 5 N Представлен, только если флаг = '0'

или '2'.

4-значный CSC/iCSC 4 N Представлен, только если флаг = '0'

или '2'.

3-значный

CSC/iCSC/AEVV

3 N 3-значный CSC (или 3-значный AEVV,

если флаг = '3').

Page 472: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 472

Проверка Card Security Codes (RY режим 4)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC008 LIC008

Авторизация: Не требуется Не требуется

Функция: Проверка American Express Card Security Code (CSC). Команда

вычисляет и возвращает CSC с количеством знаков: 5, 4 и 3.

Примечание:

Данная команда поддерживает 3 алгоритма вычисления CSC:

- Classic CSC алгоритм (CSC Version 1.0)

-Enhanced CSC алгоритм (CSC Version 2.0)

- American Express Verification Value (AEVV)

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘RY’.

Режим 1 N Значение '4'.

Флаг 1 N '0' : Classic CSC алгоритм (CSC

Version 1.0)

'2' : Enhanced CSC алгоритм (CSC

Version 2.0)

'3' : American Express Verification

Value (AEVV).

CSCK CSCK используется для вычисления CSC

32 H

или

1 A + 32 H

'CSCK' должен быть зашифрован под

LMK 14-15 вариант 4.

или

1 A + n A

Значения полей ключевого блока

Key Usage Algorithm Mode of Use

‘C0’, ‘11’ ‘T’ ‘C’, ‘V’, ‘N’

Page 473: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 473

Поле Длина и тип Описание

Командное сообщение

Account Number 19 N Account Number, цифры, слева

дополненные нулями, если количество

знаков меньше 19.

Дата истечения срока 4 N Если флаг = '0' или '2', поле содержит дату

истечения срока карты в формате YYMM.

Если флаг = '3', поле содержит AEVV

Unpredictable Number.

Service Code 3 N Представлен, только если флаг = '2'

или '3'.

Если флаг = '3', поле содержит AEVV

Authentication Results Code (1 цифра) с

последующим AEVV Second Factor

Authentication Code (2 цифры).

5-значный CSC/iCSC 5 N Представлен, только если флаг = '0'

или '2'.

5-значный Card Security Code.

Игнорируется, если значение ‘FFFFF’

4-значный CSC/iCSC 4 N Представлен, только если флаг = '0'

или '2'.

4-значный Card Security Code.

Игнорируется, если значение ‘FFFFF’.

3-значный

CSC/iCSC/AEVV

3 N 3-значный CSC (или 3-значный AEVV,

если флаг = '3').

Если флаг ‘0’ или ‘2’, то поле

игнорируется, если значение ‘FFFFF’

Если флаг ‘3’, поле содержит 3-значный

iCSC или AEVV.

Page 474: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 474

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘RZ’.

Код ошибки 2 A 00 – нет ошибок;

01 – не норма проверки CSC;

10 – CSCK ошибка четности;

27 – CSCK не двойной длины;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Режим 1 N Значение '4'.

Проверка 5-значного

CSC/iCSC

5 N Представлен, только если флаг = '0'

или '2'.

‘0’: если проверка завершилась успешно;

‘1’: если поле не представлено;

‘2’: если проверка завершилась с

ошибкой.

Проверка 4-значного

CSC/iCSC

4 N Представлен, только если флаг = '0'

или '2'.

‘0’: если проверка завершилась успешно

‘1’: если поле не представлено;

‘2’: если проверка завершилась с

ошибкой.

3-значный

CSC/iCSC/AEVV

3 N ‘0’: если проверка завершилась успешно

‘1’: если поле не представлено

‘2’: если проверка завершилась с

ошибкой.

Page 475: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 475

4.11. Команды лицензии «Поддержка НСПК «МИР» (Support of

NSPK “MIR” License 09.х– LIC009)

4.111.1. Перечень команд лицензии «Поддержка НСПК «МИР»

Таблица 29 - Перечень команд, в которых допускается использование

LMK ГОСТ приводит перечень команд, в которых допускается использование

LMK-ГОСТ. Возможность использования LMK-ГОСТ предоставляется

активизацией лицензии «Поддержка НСПК «МИР» (LIC009).

Таблица 29 - Перечень команд, в которых допускается использование

LMK ГОСТ

Команда

(ответ)

Функция Страница

A0 (A1) Генерация ключа 59

A6 (A7) Импорт ключа 69

A8 (A9) Экспорт ключа 74

AA (AB) Перешифрование TMK, TPK или PVK из-под

«старого» LMK под «новый»

79

AC (AD) Перешифрование TAK из-под «старого» LMK под

«новый»

81

AE (AF) Перешифрование TMK, TPK или PVK из-под

LMK под другой TMK, TPK или PVK

87

AG (AH) Перешифрование TAK из-под LMK под TMK 89

BW (BX) Перешифрование ключа из-под «старого» LMK

под «новый»

91

CA (CB) Перешифрование PIN из-под TPK под ZPK 195

CC (CD) Перешифрование PIN из-под одного ZPK под

другой

197

CU (CV) Генерация и проверка VISA PVV (для

пользовательского PIN)

199

CW (CX) Генерация CVV/CVC 287

CY (CZ) Проверка CVV/CVC 290

DA (DB) Проверка терминального PIN IBM-методом 204

DC (DD) Проверка терминального PIN с использованием

VISA метода

208

EA (EB) Проверка PIN IBM-методом 225

EC (ED) Проверка PIN-блока с использованием VISA

метода

233

Page 476: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 476

Команда

(ответ)

Функция Страница

FA (FB) Перешифрование ZPK из-под ZMK под LMK 96

FC (FD) Перешифрование TMK, TPK или PVK из-под

ZMK под LMK

98

FE (FF) Перешифрование TMK, TPK или PVK из-под

LMK под ZMK

100

FI (FJ) Генерация ZEK/ZAK 102

FK (FL) Перешифрование ZEK/ZAK из-под ZMK под

LMK

104

FM (FN) Перешифрование ZEK/ZAK из-под LMK под

ZMK

106

FO (FP) Генерация Watchword Key 108

FQ (FR) Перешифрование Watchword Key из-под LMK под

ZMK

112

FS (FT) Перешифрование Watchword Key из-под ZMK под

LMK

110

GC (GD) Перешифрование ZPK из-под LMK под ZMK 114

GE (GF) Перешифрование ZMK из-под «старого» LMK

под «новый»

116

HA (HB) Генерация TAK 118

HC (HD) Генерация TMK, TPK или PVK 120

HK (HL) Генерация подписи данных статической

аутентификации

341

IA (IB) Генерация ZPK 122

IC (ID) Установление защищенного соединения с

чип-картой

419

IE (IF) Подготовка защищенного сообщения для

чип-карты

424

JS (JT) Проверка ARQC и генерация ARPC (CUP) 460

JU (JV) Генерация секретных сообщений (CUP) 464

KC (KD) Перешифрование ZPK из-под «старого» LMK под

«новый»

124

KQ (KR) Проверка ARQC и/или генерация ARPC (EMV

3.1.1)

253

KS (KT) Проверка Data Authentication Code (DAC) и

Dynamic Number (DN)

258

KU (KV) Генерация секретного сообщения (Secure

Message) (EMV 3.1.1)

261

Page 477: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 477

Команда

(ответ)

Функция Страница

KW (KX) Проверка ARQC и/или генерация ARPC (EMV

4.x)

269

KY (KZ) Генерация секретного сообщения (EMV 4.x) 274

LO (LP) Перешифрование таблицы децимализации 285

L0 (L1) Генерация ключа для вычисления HMAC 438

M6 (M7) Генерация MAC 304

M8 (M9) Проверка MAC 308

MA (MB) Генерация MAC за сообщение 126

MC (MD) Проверка MAC за сообщение 127

ME (MF) Проверка и переформирование MAC 128

MG (MH) Перешифрование TAK из-под LMK под ZMK 83

MI (MJ) Перешифрование TAK из-под ZMK под LMK 85

MK (ML) Генерация MAC за бинарные данные 135

MM (MN) Проверка MAC за бинарные данные 137

MO (MP) Проверка и переформирование MAC за

бинар135ные данные

139

MQ (MR) Генерация MAC (MAB) за большое бинарное

сообщение

130

MS (MT) Генерация MAC (MAB) за большое сообщение 132

NE (NF,

NZ)

Генерация ключа и печать в виде Split компонент 329

P0 (P1) Перешифрование блока секретных данных в

специфичном формате карты

141

RW (RX) Перешифрование KEYVAL 316

SI (SJ) Диверсификация данных для записи на карту 388

XK (XL) Зашифрование данных транзакции 390

YS (YT) Диверсификация ключа 394

YW (YX) Экспорт ключа под KEK 397

YY (YZ) Зашифрование данных 399

ZK (ZL) Генерация или проверка МАС 405

Таблица приводит перечень команд лицензии «Поддержка НСПК

«МИР» (LIC009).

Таблица 30 – Перечень команд лицензии «Поддержка НСПК «МИР»

Page 478: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 478

Команда

(ответ)

Функция Страница

K0 (K1) Расшифрование зашифрованных счетчиков 478

SSSM (ST) Проверка криптограммы MSTC 480

4.111.2. Описание команд лицензии «Поддержка НСПК «МИР»

Расшифрование зашифрованных счетчиков (K0)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC008 LIC008

Авторизация: Не требуется Не требуется

Функция: Расшифрование счетчиков, содержащихся в объекте Issuer Application

Data, подготовленном приложением для эмитента при онлайновой

аутентификации.

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘K0’ (K-zero).

Идентификатор метода 1 N Идентификатор метода:

'6' : EMV 4.x ICC Master Key Derivation

Option A

'7' : EMV 4.x ICC Master Key Derivation

Option B

Используется для указания метода

диверсификации ключей.

IMKAC 32 H

или

1 A + 32

Мастер-ключ эмитента используется

для получения ключа приложения для

генерации криптограммы.

Зашифрован под LMK 28-29 вариант 1

или

1 A + n A

Для Keyblock LMK IMKAC должен

содержать следующие значения:

Key Usage Algorithm Mode of Use

‘E0’ ‘T’ ‘N’

Page 479: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 479

Поле Длина и тип Описание

Командное сообщение

Длина PAN 2 N Только для метода ‘7’.

Длина (в байтах) следующего поля.

PAN/PAN Sequence No 8 B или n B Для метода ‘6’ поле имеет

фиксированную длину 8 байтов и

содержит переформатированный

PAN/PAN Sequence No.

Для метода ‘7’ поле имеет длину,

заданную значением предыдущего

поля. За паддинг PAN/PAN Sequence No

отвечает хост.

Разделитель 1 A Разделитель, указывающий на конец

поля PAN/PAN Sequence No. Только для

метода ‘7’.

ATC (Application

Transaction Counter)

2 B Счетчик транзакций

Шифрограмма

счетчиков (Encrypted

Counters)

8 B Зашифрованные счетчики

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘K1’.

Код ошибки 2 A 00 – нет ошибок;

05 – недопустимый идентификатор

метода;

10 – ошибка четности IMK-AC;

68 – команда отключена

или стандартный код ошибки (см.

Приложение 1).

Счетчики приложения 8B Значение расшифрованных счетчиков

приложения

Page 480: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 480

Проверка криптограммы MSTC (SSSM)

Variant LMK ■ Keyblock LMK ■

Лицензия: LIC009 («Поддержка

НСПК «МИР») LIC009

Авторизация: См. Примечания См. Примечания

Функция: Проверка криптограммы для SamSung.

Примечания:

Данные для вычисления криптограммы должны формироваться

хост-системой в виде конкатенации следующих полей:

- токенизированный номер карты (16-19 цифр) – TPAN;

- заполнитель ‘F’ (символ) – дополняет TPAN до четности (при

необходимости);

- срок действия токенизированной карты в формате ГГММ (4 цифры) – ED;

- Service Code (3 цифры) – SC;

- день недели операции (1 цифра) — WD;

- дата платёжной операции в поясе UTC в формате ГГММДД (6 цифр) – TS;

Для вывода диагностических данных в ответном сообщении требуется

авторизованное состояние

Page 481: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 481

Формат:

Поле Длина и тип Описание

Командное сообщение

Заголовок команды m A Возвращается в ответе без изменений.

Код команды 2 А ‘SS’.

Дополнительный код

команды

2А ‘SM’.

Идентификатор метода 1 N Идентификатор:

‘1’ : EMV 4.x Option A ICC Master KEY

Derivation и EMV Common Session Key

Derivation

‘2’ : EMV 4.x Option B ICC Master KEY

Derivation и EMV Common Session Key

Derivation.

Используется для указания метода

диверсификации ключей.

IMKAC Мастер-ключ эмитента используется для

получения ключа приложения для

генерации криптограммы MSTC

32 H

или

1A + 32 H

Зашифрован под LMK 28-29 вариант 1

или

1 A + n A

Ключ зашифрованный под Keyblock

LMK

Допустимые значения полей Keyblock:

Key

Usage

Algorithm Mode

of Use

Exportabilit

y

‘85’ или

‘91’

‘T’ ‘X’ ‘E’

Длина PAN 2 N Только для метода ‘2’.

Длина (в байтах) следующего поля.

Допустимые значения от ‘01’ до ‘11’

PAN/PAN Sequence No 8 B или n B Для метода ‘1’ поле имеет

фиксированную длину 8 байтов и

содержит переформатированный

PAN/PAN Sequence No .

Для метода ‘2’ поле имеет длину,

заданную значением предыдущего поля.

За паддинг PAN/PAN Sequence No

отвечает хост.

Page 482: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 482

Поле Длина и тип Описание

Командное сообщение

Разделитель 1 A Разделитель, указывающий на конец

поля PAN/PAN Sequence No. Только для

метода ‘2’.

ATC

(Application Transaction

Counter)

2 B Счетчик транзакций

Длина данных для

вычисления

криптограммы

2N Длина следующего поля

Данные для вычисления

криптограммы

n B См. Примечание

Длина MSTC 2 N Длина следующего поля (4-7 цифр)

MSTC n N Данные MSTC

Поле Длина и тип Описание

Ответное сообщение

Заголовок команды m A Возвращается в хост без изменений.

Код ответа 2 А ‘ST’.

Код ошибки 2 A 00 – нет ошибок;

01 – отрицательный результат проверки

MSTC;

05 – недопустимый идентификатор

метода;

10 – ошибка четности IMK-AC;

98 – команда недоступна

или стандартный код ошибки (см.

Приложение 1).

Длина MSTC 2 N Длина следующего поля. Только если код

ошибки = ‘01’ и HSM находится в

авторизованном состоянии

MSTC n N Вычисленное значение MSTC. Только

если код ошибки = ‘01’ и HSM находится

в авторизованном состоянии

Page 483: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 483

Приложение 1

Стандартные коды ошибок

Таблица 30 – Стандартные коды ошибок

Код ошибки Описание

00 Ошибок нет

01 Ошибка проверки

02 Длина ключа не соответствует алгоритму

03 Неверное число компонент

04 Недопустимый код типа ключа

05 Недопустимая длина ключа

10 Ошибка четности исходного ключа

11 Ошибка четности выходного ключа

13 Ошибка четности мастер-ключа

14 Ошибка расшифрования PIN

15 Ошибка входных данных

16 Принтер не подключен

17 Неавторизованное состояние или нарушение политик

безопасности

18 Не загружен шаблон печати

20 Не верный PIN-блок

21 Не верный индекс

22 Не верный PAN

23 Не верный формат PIN (недопустимый формат PIN-блока)

24 Не верная длина PIN

25 Ошибка таблицы децимализации

26 Не верная ключевая схема

27 Несоответствие длины ключа

28 Не верный тип ключа

51 Недопустимый заголовок сообщения

52 Недопустимый код команды

53 Недопустимая длина поля команды

67 Команда не имеет лицензии

68 Команда отключена

78 Ошибка длины секретного ключа

80 Ошибка длины данных

90 Ошибка четности данных

98 Команда недоступна (лицензия не активирована)

99 Команда не найдена

С0 «Слабый» ключ или PIN найден в таблице исключаемых PIN

Page 484: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 484

Приложение 2

Форматы сертификатов

Формат эмитента ПС «Мир»

Формат запроса сертификата эмитента ПС «Мир»

Примечание 1: При работе с сертификатами ПС "Мир" надо выбирать тип

карты VISA

Таблица 2.1 – Формат файла для запроса открытого ключа эмитента

Имя поля Длина,

байты Описание / значение Формат

Header 1 = ‘22’hex b

Issuer Public Key

Modulus Length 1 Длина данных Modulus - Nl

b

Issuer Public Key

Modulus Nl

Поле содержит Nl байтов модуля

открытого ключа эмитента

b

Issuer Public Key

Exponent Length 1

Длина экспоненты открытого ключа

эмитента приложения в байтах - е

b

Issuer Public Key

Exponent

е Экспонента открытого ключа

эмитента

b

Tracking Number 3 Уникальный номер запроса

сертификата в системе эмитента

b

Issuer Public Key

Certificate

Nl Сертификат, подписанный на

закрытом ключе эмитента. Данные,

используемые для подписи описаны в

таблице 2.2

b

Page 485: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 485

Таблица 2.2 – Формат данных, подписываемых закрытым ключом эмитента

Имя поля Длина,

байты Описание / значение Формат

Header 1 = ‘22’hex. b

Service Indentifier 4

Идентификатор приложения.

Присваивается исходя из документа

«ТРЕБОВАНИИЯ К ПЛАТЕЖНОЙ

КАРТЕ МИР».

Например:

2010 0000 – продукт «Дебитовая»

cn 8

Certificate Format 1 = ‘02’hex. b

Issuer Identification

Number 4

Крайние левые 3-8 цифр PAN

(Primary Account Number).

b

Certificate Expiration

Date 2

Дата (меяц, год), после которых

сертификат недействителен.

n4

Tracking Number 3 Уникальный номер запроса

сертификата в системе эмитента

b

Hash Algorithm

Indicator 1

= ‘01’hex – определяет алгоритм SHA-

1.

b

Issuer Public Key

Algorithm 1 = ‘01’hex – определяет алгоритм RSA.

b

Issuer Public Key

Modulus Length 1 Длина данных Modulus – NI

b

Issuer Public Key

Exponent Length 1

Длина экспоненты открытого ключа

эмитента приложения в байтах - е

b

Issuer Public Key

Modulus NI-(39+e)

Поле содержит NI –(39+e) байтов

модуля открытого ключа эмитента

b

Issuer Public Key

Exponent

е Экспонента открытого ключа

эмитента

b

Значенние

хэш-функции

20 Значенние хэш-функции (см.

примечание таблицы)

b

____________

Примечание – Для вычисления значения Хэш-функции используются все

поля таблицы 2.2, кроме последнего.

Page 486: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 486

Формат сертификата УЦ ПС «Мир»

Таблица 2.3 – Формат файла с открытым ключом УЦ

Имя поля Длина,

байты Описание / значение Формат

Header 1 = ‘20’hex. b

Service Indentifier 4

Идентификатор приложения.

Например:

1010 0000 – для корневых ключей

cn 8

CA Public Key

Modulus Length 2 Длина данных Modulus – NCA

b

CA Public Key

Algorithm Indicator 1 = ‘01’hex – определяет алгоритм RSA.

b

СА Public Key

Exponent Length 1

Длина экспоненты открытого ключа в

байтах - е

b

RID 5 ‘A000000658’ hex b

CA Public Key Index 1 Номер кюча УЦ НСПК b

СА Public Key

Modulus NСА Модуль открытого ключа УЦ

b

СА Public Key

Exponent

е Экспонента открытого ключа УЦ

b

Значенние

хэш-функции

20 Значенние хэш-функции (SHA-1) для

4-х предыдущих полей (RID, CA

Public Key Index, CA Public Key

Modulus, СА Public Key Exponent)

b

СА Public Key

Certificate

NСА Подписанный на закрытом ключе УЦ

сертификат открытого ключа УЦ. Для

подписи используются данные,

описанные в таблице 2.4.

Page 487: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 487

Таблица 2.4 – Формат сертификата открытого ключа УЦ

Имя поля Длина,

байты Описание / значение Формат

Header 1 = ‘21’hex. b

Service Indentifier 4

Идентификатор приложения.

Например:

1010 0000 – для корневых ключей

cn 8

RID 5 ‘A000000658’ hex b

CA Public Key Index 1 Номер кюча УЦ НСПК b

Key Expiration Date 2 Дата (меяц, год), после которjq

сертификат недействителен.

n4

CA Public Key

Algorithm Indicator 1 = ‘01’hex – определяет алгоритм RSA.

b

Issuer Public Key или

его крайние левые

цифры

NCA-

(39+e)

Это поле содержит NСА –(39+e)

наиболее значимых байтов модуля

открытого ключа УЦ

b

Hash Algorithm

Indicator 1

= ‘01’hex – определяет алгоритм

SHA-1.

b

СА Public Key

Exponent Length 1

Длина экспоненты открытого ключа

эмитента приложения в байтах - е

b

Issuer Public Key

Exponent

е Экспонента открытого ключа УЦ

b

Значенние

хэш-функции

20 Значенние хэш-функции (RID, CA

Public Key Index, СА Public Key

Exponent)

b

Page 488: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 488

Формат сертификата эмитента

Таблица 2.5 – Формат данных сертификата

Имя поля Длина,

байт

Описание Формат

Data Header 1 ‘6A’h b

Certificate Format 1 ‘02’h b

Issuer Identification

Number 4

Крайние левые 3–8 цифры из Primary

Account Number cn 8

Certificate Expiration

Date 2

Дата (месяц и год), после которой

сертификат недействителен n 4

Certificate Serial

Number 3

Двоичный номер, уникальный для

данного сертификата, присвоенный

Certificate Authority

b

Hash Algorithm

Indicator

1

Идентифицирует алгоритм

хэширования; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму SHA-1

b

Issuer Public Key

Algorithm Indicator 1

Идентифицирует алгоритм цифровой

подписи; в нынешней реализации

EMV принимает значение ‘01’h,

соответствующее алгоритму RSA

b

Issuer Public Key

Length 1

Длина модуля открытого ключа

эмитента в байтах — NI b

Issuer Public Key

Exponent Length 1

Длина экспоненты открытого ключа

эмитента в байтах b

Issuer Public Key или

его крайние левые

цифры

NCA – 36

Если NI ≤ NCA – 36, то это поле

должно содержать полный модуль

открытого ключа эмитента,

дополненный справа байтами со

значением ‘BB’h.

Если NI > NCA – 36, то это поле

содержит NCA – 36 наиболее

значимых байтов модуля открытого

ключа эмитента.

b

Hash Result

20

Значение хэш-функции от

публичного ключа эмитента и

соответствующих ключевых данных.

Формат входных данных хэш-

функции приведён в таблице «»

b

Data Trailer 1 ‘BC’h

Page 489: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 489

Таблица 2.6 - Формат данных открытого ключа эмитента для подписи

УЦ (входные данные хэш-функции)

Имя поля Длина,

байт

Описание Формат

Certificate Format 1 ‘02’h b

Issuer Identification

Number 4

Крайние левые 3–8 цифры из Primary

Account Number cn 8

Certificate

Expiration Date 2

Дата (месяц и год), после которой

сертификат недействителен n 4

Certificate Serial

Number 3

Двоичный номер, уникальный для

данного сертификата, присвоенный

Certificate Authority

b

Hash Algorithm

Indicator

1

Идентифицирует алгоритм

хэширования; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму SHA-1

b

Issuer Public Key

Algorithm Indicator 1

Идентифицирует алгоритм цифровой

подписи; в нынешней реализации

EMV принимает значение ‘01’h,

соответствующее алгоритму RSA

b

Issuer Public Key

Length 1

Длина модуля открытого ключа

эмитента в байтах — NI b

Issuer Public Key

Exponent Length 1

Длина экспоненты открытого ключа

эмитента в байтах b

Issuer Public Key

или его крайние

левые цифры

NCA – 36

Если NI ≤ NCA – 36, то это поле

должно содержать полный модуль

открытого ключа эмитента,

дополненный справа байтами со

значением ‘BB’h.

Если NI > NCA – 36, то это поле

содержит NCA – 36 наиболее

значимых байтов модуля открытого

ключа эмитента.

b

Issuer Public Key

Remainder

0 или NI –

NCA + 36

Это поле присутствует, если NI > NCA

– 36, и состоит из NI – NCA + 36

наименее значимых байтов модуля

открытого ключа эмитента

Примечание: данный объект не

содержится в теле сертификата

b

Issuer Public Key

Exponent 1 или 3

Экспонента публичного ключа

эмитента. Значение 3 или 216 + 1

Примечание: данный объект не

содержится в теле сертификата

b

Page 490: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 490

Формат сертификата карты «Мир»

Таблица 2.7 – Формат сертификата открытого ключа карты

Имя поля Длина,

байт Описание Формат

Data Header 1 ‘6A’h b

Certificate Format 1 ‘04’h b

PAN 10

Номер карты PAN, дополненный

справа символами ‘F’h cn 20

Certificate

Expiration Date 2

Дата (месяц и год), после которой

сертификат недействителен n 4

Certificate Serial

Number 3

Двоичный номер, уникальный для

данного сертификата, присвоенный

эмитентом

b

Hash Algorithm

Indicator

1

Идентифицирует алгоритм

хэширования; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму SHA-1

b

ICC Public Key

Algorithm

Indicator 1

Идентифицирует алгоритм цифровой

подписи; в нынешней реализации

EMV принимает значение ‘01’h,

соответствующее алгоритму RSA

b

ICC Public Key

Length 1

Длина модуля открытого ключа

карты в байтах — NIC b

ICC Public Key

Exponent Length 1

Длина экспоненты открытого ключа

карты в байтах b

ICC Public Key

или его крайние

левые цифры

NI – 42

Если NIC ≤ NI – 42, то это поле

должно содержать полный модуль

открытого ключа карты,

дополненный справа байтами со

значением ‘BB’h. Если NIC > NI – 42,

то это поле содержит NI – 42

наиболее значимых байтов модуля

открытого ключа эмитента

b

Hash Result

20

Значение хэш-функции от

публичного ключа карты и

соответствующих ключевых данных.

Формат входных данных хэш-

функции приведён в таблице 8

b

Data Trailer 1 ‘BC’h b

Page 491: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 491

Таблица 2.8 – Формат данных открытого ключа карты для подписи

эмитентом (входные данные хэш-функции)

Имя поля Длина,

байт Описание Формат

Certificate Format 1 04’h b

PAN 10

Номер карты PAN, дополненный

справа символами ‘F’h cn 20

Certificate

Expiration Date 2

Дата (месяц и год), после которой

сертификат недействителен n 4

Certificate Serial

Number 3

Двоичный номер, уникальный для

данного сертификата, присвоенный

эмитентом

b

Hash Algorithm

Indicator

1

Идентифицирует алгоритм

хэширования; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму SHA-1

b

ICC Public Key

Algorithm Indicator

1

Идентифицирует алгоритм

цифровой подписи; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму RSA

b

ICC Public Key

Length 1

Длина модуля открытого ключа

карты в байтах — NIC b

ICC Public Key

Exponent Length 1

Длина экспоненты открытого ключа

карты в байтах b

ICC Public Key

или его крайние

левые цифры

NI – 42

Если NIC ≤ NI – 42, то это поле

должно содержать полный модуль

открытого ключа карты,

дополненный справа байтами со

значением ‘BB’h. Если NIC > NI – 42,

то это поле содержит NI – 42

наиболее значимых байтов модуля

открытого ключа эмитента

b

ICC Public Key

Remainder

0 или NIC –

NI + 42

Это поле присутствует, если NIC > NI

– 42, и состоит из NIC – NI + 42

наименее значимых байтов модуля

открытого ключа эмитента

Примечание: данный объект не

содержится в теле сертификата

b

ICC Public Key

Exponent 1 или 3

Экспонента публичного ключа

карты. Значение 3 или 216 + 1

Примечание: данный объект не

содержится в теле сертификата

b

Static Data to be

Authenticated Переменная

Критичные данные, целостность

которых гарантируется b

Page 492: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 492

Формат сертификата карты «Мир» для шифрования PIN

Таблица 2.9 – Формат сертификата открытого ключа карты для шифрования PIN

Имя поля Длина,

байты

Описание Формат

Data Header 1 ‘6A’h b

Certificate Format 1 ‘04’h b

PAN 10 Номер карты PAN, дополненный

справа символами ‘F’h cn 20

Certificate

Expiration Date

2 Дата (месяц и год), после которой

сертификат недействителен

n 4

Certificate Serial

Number

3 Двоичный номер, уникальный для

данного сертификата, присвоенный

эмитентом

b

Hash Algorithm

Indicator

1 Идентифицирует алгоритм

хэширования; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму SHA-1

b

ICC PE Public Key

Algorithm Indicator

1 Идентифицирует алгоритм

цифровой подписи; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму RSA

b

ICC PE Public Key

Length

1 Длина модуля открытого ключа

карты в байтах — NPE

b

ICC PE Public Key

Exponent Length

1 Длина экспоненты открытого ключа

карты в байтах

b

ICC PE Public Key

или его крайние

левые цифры

NI – 42 Если NPE ≤ NI – 42, то это поле

должно содержать полный модуль

открытого ключа карты,

дополненный справа байтами со

значением ‘BB’h. Если NPE > NI – 42,

то это поле содержит NI – 42

наиболее значимых байтов модуля

открытого ключа эмитента

b

Hash Result 20 Значение хэш-функции от

публичного ключа карты для

шифрования PIN-кода и

соответствующих ключевых данных.

Формат входных данных хэш-

функции приведён в таблице 2.10

b

Data Trailer 1 ‘BC’h b

Page 493: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 493

Таблица 2.10 – Формат данных открытого ключа карты для шифрования PIN

(входные данные хэш-функции)

Имя поля Длина,

байт

Описание Формат

Certificate Format 1 ‘04’h b

PAN 10 Номер карты PAN, дополненный

справа символами ‘F’h cn 20

Certificate

Expiration Date

2 Дата (месяц и год), после которой

сертификат недействителен n 4

Certificate Serial

Number

3 Двоичный номер, уникальный для

данного сертификата, присвоенный

эмитентом

b

Hash Algorithm

Indicator

1 Идентифицирует алгоритм

хэширования; в нынешней

реализации EMV принимает

значение ‘01’h, соответствующее

алгоритму SHA-1

b

ICC PE Public Key

Algorithm Indicator

1 Идентифицирует алгоритм цифровой

подписи; в нынешней реализации

EMV принимает значение ‘01’h,

соответствующее алгоритму RSA

b

ICC PE Public Key

Length

1 Длина модуля открытого ключа

карты в байтах — NPE b

ICC PE Public Key

Exponent Length

1 Длина экспоненты открытого ключа

карты в байтах b

ICC PE Public Key

или его крайние

левые цифры

NI – 42 Если NPE ≤ NI – 42, то это поле

должно содержать полный модуль

открытого ключа карты,

дополненный справа байтами со

значением ‘BB’h. Если NPE > NI – 42,

то это поле содержит NI – 42

наиболее значимых байтов модуля

открытого ключа эмитента

b

ICC PE Public Key

Remainder

0 или NPE –

NI + 42

Это поле присутствует, если NPE > NI

– 42, и состоит из NPE – NI + 42

наименее значимых байтов модуля

открытого ключа эмитента

b

ICC PE Public Key

Exponent

1 или 3 Экспонента публичного ключа

карты. Значение 3 или 216 + 1 b

Page 494: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 494

Форматы сертификатов открытого ключа эмитента

(карт Visa, MasterCard, American Express)

Обозначения:

NCA = Длина длина модуля открытого ключа УЦ;

NI = длина модуля открытого ключа эмитента;

NIC = длина модуля открытого ключа карты (ICC).

Примечание 2: Метод сжатия данных, представляющий каждые 2 цифры в

виде байта (шестнадцатиричные символы ‘0’ – ‘F’). Данные

выравниваются по правому краю и, при необходимости,

дополняются шестнадцатиричными ‘0’.

Примечание 3: Метод сжатия данных, представляющий каждые 2 цифры в

виде байта (шестнадцатиричные символы ‘0’ – ‘F’). Данные

выравниваются по правому краю и, при необходимости,

дополняются шестнадцатиричными ‘F’.

Пример: PAN, состоящий из цифр 1234567890123, будет представлен в

8-байтовом поле в шестнадцатиричном формате как

'12 34 56 78 90 12 3F FF'.

Page 495: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 495

Формат самоподписанного сертификата (запроса) эмитента Visa

Таблица 2.11 - Открытая часть самоподписанного сертификата

(запроса) эмитента (Visa)

Имя поля Длина и

формат Описание

Header 1 b 16-чное '22' Не подписано

Length of Issuer

Public Key

Modulus

1b Длина модуля открытого ключа

эмитента в 16-м виде. (Число байт) -“-

Issuer Public Key

Modulus

var b Модуль открытого ключа эмитента -“-

Issuer Public Key

Exponent Length

1 b Длина экспоненты открытого

ключа эмитента. (Число байт).

Должно быть или 16-ное 01 (для

экспоненты 3) или 16-ное 03 (для

экспоненты 65537)

-“-

Issuer Public Key

Exponent

1b

или

3b

Экспонента открытого ключа

эмитента. Принимает значения:

3 или 65537,

т.е., 16-ное 03 или 16-ное 01 00 01.

-“-

Tracking Number 3 b Уникальный номер запроса

сертификата в системе эмитента -“-

Page 496: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 496

Таблица 2.12– Самоподписанный сертификат (запроса) эмитента (Visa)

Имя поля Длина

и

формат

Описание Хэшировано

Header 1b 16-ное значение '23'. Да

Visa Service

Identifier

4b Идентификатор сервиса Visa.

Proprietary Application Identifier

Extension (PIX) выравнено по левому

краю и дополнено справа четырьмя

16-ными 0.

В настоящее время действующими

идентификаторами международной

службы Visa являются:

Hex 1010 0000 : для Debit/Credit;

Hex 2010 0000 : для Electron;

Hex 3010 0000 : для Interlink;

Hex 8010 0000 : для PLUS.

Да

Certificate Format 1 b 16-ное значение '02'. Да

Issuer

Identification

Number

4 b Крайние левые 3-8 цифр Primary

Account Number (PAN), дополненные

справа 16-ным F. (см. Примечание

3).

Да

Certificate

Expiration Date

2 b MMYY after which this certificate is

invalid. See Note 1.

MMYY (месяц и год), после которых

сертификат не действителен. (см.

Примечание 2).

Да

Tracking Number 3 b Уникальный номер запроса

сертификата в системе эмитента (см.

Примечание 2)

Да

Hash Algorithm

Indicator

1 b Идентификатор алгоритма ХЭШ Да

Issuer's Public Key

Algorithm

Indicator

1 b Идентификатор алгоритма цифровой

подписи

Да

Issuer Public Key

Modulus Length

1 b Длина модуля открытого ключа

эмитента. (Число байт)

Да

Page 497: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 497

Имя поля Длина

и

формат

Описание Хэшировано

Issuer Public Key

Exponent Length

1 b Длина экспоненты открытого ключа

эмитента. (Число байт).

или 16-ное 01 (для экспоненты 3),

или 16-ное 03 (для экспоненты

65537).

Да

Leftmost Digits of

Issuer Public Key

Modulus

несколь

ко байт

Крайние левые NI - (39 + e) байт

модуля открытого ключа эмитента.

Да

Issuer Public Key

Exponent

1 или 3

b

Экспонента открытого ключа

эмитента: или 3, или 65537,

т.е., 16-ное 03 или 16-ное 01 00 01.

Да

Hash Result 20 b Значение хэш-функции за открытый

ключа эмитента и сопутствующую

информации

Нет

Page 498: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 498

Формат самоподписанного сертификата (запроса) эмитента (MasterCard)

Таблица 2.13 - Открытая часть самоподписанного сертификата

(запроса) эмитента (MasterCard)

Имя поля Длина

и

формат

Описание Хэшировано

ID of Subject

Certificate

(Issuer

Identifier)

4 b Идентификатор

эмитента. Крайние левые

3-8 цифр PAN,

дополненные справа 16-

ным F.

См. примечание 3.

Не подписано Нет

Issuer Public

Key Index

3 b Индекс открытого ключа

эмитента (см.

Примечание 2)

Не подписано Нет

Subject Public

Key Algorithm

Indicator

(Signature

Identifier)

1 b Алгоритм подписи

открытого ключа.

Не подписано Нет

Subject Public

Key Modulus

Length

1 b Длина модуля открытого

ключа эмитента (равна

NI).

Не подписано Нет

Subject Public

Key Exponent

Length

1 b Длина экспоненты

открытого ключа

эмитента (число байт).

Принимает значения:

или 16-ное 01 (для

экспоненты 3),

или 16-ное 03 (для

экспоненты 65537).

Не подписано Нет

Leftmost Digits

of Subject

Public Key

Modulus

NI-36 b NI-36 старших значащих

байт модуля откытого

ключа эмитента. Не подписано

Нет

Subject Public

Key Modulus

Remainder

36 b 36 младших значащих

байт модуля откытого

ключа эмитента.

Не подписано

Да

Subject Public

Key Exponent

1

или

3 b

Экспонента откытого

ключа эмитента.

Принимает значения;

или 3, или 65537,

т.е. 16-ное 03

или 16-ное 01 00 01.

Не подписано

Да

Page 499: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 499

Таблица 2.14 – Самоподписанный сертификат (запроса) эмитента

(MasterCard)

Имя поля Длина

и

формат

Описание Хэшировано

Recovered Data

Heade

1 b 16-ное '6A'. Нет

Certificate

Format

1 b Код формата сертификата.16-ное '11'. Да

ID of Certificate

Subject (Issuer

Identifier)

4 b Идентификатор эмитента.

Крайние левые 3-8 цифр PAN,

дополненные справа 16-ным 'F (см.

Примечание 3).

Да

Certificate Expiry

Date

2 b MMYY (меяц, год), после которых

сертификат становится

недействительным. (см. Примечание 2)

Да

Certificate Serial

Numbe

3 b Серийный номер сертификата

(см. Примечание 2).

Да

Hash Algorithm

Indicator

1 b Идентификатор алгоритма Хэш Да

Subject Public

Key Algorithm

Indicator

1 b Идентификатор алгоритма подписи

открытого ключа эмитента.

Да

Subject Public

Key Modulus

Length

1 b Длина модуля открытого ключа

эмитента в байтах (NI).

Да

Subject Public

Key Exponent

Length

1 байт Длина экспоненты открытого ключа

эмитента (чисо байт). Принимает

значения:

или 16-ное 01 (для экспоненты 3),

или 16-ное 03 (для экспоненты 65537)..

Да

Leftmost Digits

of Subject Public

Key Modulus

NI-36 b Крайние левые NI-36 байтов модуля

открытого ключа эмитента

Да

Hash Resul 20 b Значение хэш -функции открытого

ключа эмитента и связанной с ним

информации.

Нет

Recovered Data

Trailer

1 байт 16-ное 'BC'. Нет

Page 500: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 500

Формат самоподписанного сертификата (запроса)

эмитента American Express

Таблица 2.15 - Открытая часть самоподписанного сертификата

(запроса) эмитента (American Express)

Название поля Длина и

формат Описание

Header 1 b 16-ное '22'. Не подписано

Length of Issuer

Public Key

Modulus

1 b Длина модуля открытого ключа

эмитента в 16-ном виде (число байт).

Не подписано

Issuer Public Key

Modulu

var b Модуль открытого ключа эмитента. Не подписано

Issuer Public Key

Exponent Length

1 b Длина экспоненты открытого ключа

эмитента (число байт). Принимает

значения: или 16-ное 01 (для

экспоненты 3);

или 16-ное 03 (для экспоненты

65537).

Не подписано

Issuer Public Key

Exponent

1 или 3

b

Экспонента открытого ключа

эмитента. Принимает значения: или

3, или 65537,

т.е. 16-ное 03

или 16-ное 01 00 01.

Не подписано

Tracking Number 3 байта Уникальный номер для сертификата.

(см. Примечание 2).

Не подписано

Page 501: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 501

Таблица 2.16 - Самоподписанный сертификат (запрос) эмитента

(American Express)

Название поля

Длина

и

формат

Описание Хэшировано

Header 1 b 16-ное '23'. Да

Service Identifier 4 b Идентификатор продукта American

Express. Фиксированное значение

'00 00 00 00'

Да

Certificate Format 1 b Код формата сертификата.

16-ное '02'

Да

Issuer Identifier

(BIN)

4 b Идентификатор эмитента

(выровненный по левому краю и

дополненный справа 16-ными 'F').

(см. Примечание 3).

Да

Certificate

Expiration Date

2 b MMYY (меяц, год), после которых

сертификат перестает действовать

(см. Примечание 2).

Да

Tracking Number 3 b Уникальный номер запроса

сертификата (см. Примечание 2).

Да

Hash Algorithm

Indicator

1 b Идентификатор алгоритма расчета

значения хэш-функции

Да

Issuer's Public

Key Algorithm

Indicator

1 b Идентификатор алгоритма цифровой

подписи.

Да

Issuer Public Key

Modulus Length

1 b Длина модуля открытого ключа

эмитента. (Число байт).

Да

Issuer Public Key

Exponent Length

1 b Length e of the Issuer Public Key

Длина экспоненты открытого ключа

эмитента (Число байт). Принимает

значения:

или 16-ное 01 (для экспоненты 3);

или 16-ное 03 (для экспоенты 65537)

Да

Most Significant

Part of Issuer

Public Key

Modulus

var b Крайние левые NI - (39 + e) байт

модуля открытого ключа эмитента

Да

Page 502: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 502

Название поля

Длина

и

формат

Описание Хэшировано

Issuer Public Key

Exponent

1 или 3

b

Issuer Public Key Exponent. Is either 3

or 65537, that is, hex 03 or hex 01 00

01.

Экспонента открытого ключа

эмитента. Принимает значения:

или 3, или 65537,

т.е., 16-ное 03 или 16-ное 01 00 01

Да

Hash Result 20 b Hash of indicated fields.

Значение хэш-функции за

предыдущие поля

Нет

Page 503: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 503

Формат эмитента Visa

Таблица 2.17 - Открытая (неподписанная) часть сертификата эмитента

(Visa)

Имя поля Длина и

формат

Описание Хэшировано

Header 1 b 16-ное '24' Не

подписано

Нет

Visa Service

Identifier

4 b Идентификатор сервиса

Visa. Proprietary

Application Identifier

Extension (PIC)

выровняно по левому

краю и дополнено

справа четырьмя 16-

ными нулями. Текущие

валидные значения

International Service

Identifiers:

16-ное 1010 0000 : для

Debit/Credit;

16-ное 2010 0000 : для

Electron;

16-ное 3010 0000 : для

Interlink;

16-ное 8010 0000 : для

PLUS.

Не

подписано

Нет

Issuer

Identification

Numbe

4 b Крайние левые 3-8 цифр

PAN, дополненные

справа 16-ными F (см.

Примечание 3)

Не

подписано

Нет

Certificate Serial

Number

3 b Серийный номер

сертификата.

Не

подписано

Нет

Certificate

Expiration Date

2 b MMYY (меяц, год),

после которых

сертификат

недействителен (см.

Примечание 2).

Не

подписано

Нет

Page 504: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 504

Имя поля Длина и

формат

Описание Хэшировано

Issuer Public Key

Modulus

Remainder Length

1 b Длина остатка

(Remainder) модуля (N)

открытого ключа

эмитента в 16-ном виде

(Число байт)

Не

подписано

Нет

Issuer Public Key

Modulus (N)

Remainder

var b Поле присутствует,

только если NI > NCA -

36, и состоит из

NI-NCA + 36 младших

значащих байт Issuer

Public Key Modulus (N)

открытого ключа

эмитента.

NI - длина в байтах

модуля открытого

ключа эмитента, NCA -

длина в байтах ключа

УЦ VSDC.

Не

подписано

Да

Issuer Public Key

Exponent Length

1 b Длина экспоненты

открытого ключа

эмитента в 16-ном виде

(число байт). Принимает

значения:

или 16-ное 01 (для

экспоненты 3),

или 16-ное 03 (для

экспоненты 65537)

Не

подписано

Нет

Issuer Public Key

Exponent

1 или 3 b Экспонента открытого

ключа эмитента.

Принимает значения:

или 3, или 65537,

т.е., 16-ное 03 или 16-ное

01 00 01

Не

подписано

Да

CA Public Key

Index

1 байт Индекс открытого

ключа УЦ,

использованного для

создания сертификата

открытого ключа

эмитента.

Не

подписано

Нет

Page 505: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 505

Таблица 2.18 – Сертификат эмитента (Visa)

Название поля Длина и

формат

Описание Хэшировано

Recovered Data

Header

1 байт 16-ное '6A'. Нет

Certificate Format 1 b Код формата сертификата.

16-ное '02'

Да

Issuer

Identification

Number

4 b Крайние левые 3-8 цифр PAN,

дополненные справа 16-ными F

(см. Примечание 3).

Да

Certificate

Expiration Date

2 b MMYY (меяц, год), после которых

сертификат недействителен (см.

Примечание 2).

Да

Certificate Serial

Number

3 b Серийный номер сертификата,

назначенный УЦ (бинарный).

Да

Hash Algorithm

Indicator

1 b Идентификатор алгоритма расчета

значения хэш-функции.

Да

Issuer Public Key

Algorithm

Indicator

1 b Идентификатор алгоритма

цифровой подписи.

Да

Issuer Public Key

Modulus Length

1 b Длина модуля открытого ключа

эмитента (число байт).

Да

Issuer Public Key

Modulus (N) or

Leftmost portion

of the Issuer Public

Key Modulus (N)

var b

несколько

b

Если NI ≤ NCA - 36, поле состоит из

Issuer Public Key Modulus (N),

дополненного справа NCA – 36 – NI

байтами 'BB'. Если NI > NCA – 36,

поле состоит из NCA – 36 старших

значащих байт модуля открытого

ключа эмитента (N).

Да

Hash Result 20 b Хэш за открытый ключ эмитента и

сопутствующую информацию.

Нет

Recovered Data

Trailer

1 b 16-ное 'BC'. Нет

Page 506: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 506

Таблица 2.19 – Сертификат эмитента (Visa). Присоединенная подпись

Имя поля Длина и

формат

Описание

Header 1 b 16-ное '00'.

Block Format

Code

1 b 16-ное '01'

Padding Character var b

16-ное 'FF'. Длина паддинга равна модулю ключа

подписи - 38

Separator 1 b 16-ное '00'.

Hash Result 15 b Индикатор алгоритма хэш-функции, используемый

CA. Для SHA-1 16-ное значение

='3021300906052b0e03021a05000414'

Hash Result 20b Значение хэш-функции SHA-1 за открытую часть

и сертификат эмитента

Page 507: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 507

Формат эмитента MasterCard

Таблица 2.20 - Неподписанные данные сертификата эмитента

(MasterCard)

Имя поля Длина и

формат

Описание Хэшировано

Issuer Identification

Numbe

4 b Старшие левые 3-8 цифр

PAN, дополненные

справа 16-ным F.

См. примечание 3

Не

подписано

Нет

Issuer Public Key

Index

3 b Индекс открытого ключа Не

подписано

Нет

CA Public Key

Index

1 b Индекс открытого ключа

УЦ

Не

подписано

Нет

Issuer (Subject)

Public Key Modulus

Remainde

var b Поле присутствует,

только если NI > NCA - 36,

и состоит из NI - NCA + 36

младших значащих байт

модуля откытого ключа

эмитента

Не

подписано

Да

Issuer (Subject)

Public Key

Exponent

var b Экспонента откртыоыго

ключа эмитента (e = от 1

до NI / 4)

Не

подписано

Да

Page 508: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 508

Таблица 2.21 – Сертификат эмитента (MasterCard)

Имя поля Длина и

формат

Описание Хэшировано

Recovered Data

Header

1 b 16-ное '6A'. Нет

Certificate Format 1 b Код формата сертификата

16-ное '02'

Да

Issuer Identification

Number

4 b Левые 3-8 цифр PAN, дополненные

справа 16-ными F (см.

Примечание 3).

Да

Certificate

Expiration Date

2 b MMYY (меяц, год) после которых

сертификат недействителен (см.

Примечание 2)

Да

Certificate Serial

Numbe

3 b Уникальный номер сертификата,

назначенный УЦ (бинарный)

Да

Hash Algorithm

Indicator

1 b Идентификатор алгоритма Хэш Да

Issuer Public Key

Algorithm Indicator

1 b Идентификатор алгоритма цифровой

подписи

Да

Issuer Public Key

Modulus Length

1 b Длина модуля открытого ключа

эмитента. (Число байт)

Да

Issuer Public Key

Exponent Length

1 b Длина экспоненты открытого ключа

эмитента (Число байт).

Да

Issuer Public Key

Modulus (N) or

Leftmost portion of

the Issuer Public

Key Modulus (N)

несколько

b

Если NI ≤ NCA - 36, поле состоит из

целого модуля открытого ключа

эмитента (N), дополненного справа

NCA – 36 – NI байтами 'BB'.

Если NI > NCA – 36, поле состоит из

NCA – 36 старших значащих байт

модуля открытого ключа эмитента

(N)

Да

Hash Result 20 b Хэш за открытый ключ эмитента и

сопутствующую информацию

Нет

Recovered Data

Traile

1 b 16-ное 'BC' Нет

Page 509: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 509

Формат эмитента American Express

Таблица 2.22 - Неподписанные данные сертификата эмитента

(American Express)

Название поля Длина и

формат

Описание Хэшировано

Header 1 b 16-ное '24' Не

подписано

Нет

Service Identifier 4 b Идентификатор

продукта American

Express. Фиксированное

значение '00 00 00 00'

Не

подписано

Нет

Issuer Identification

Number

4 b Идентификационный

номер эмитента

(выровненнй по левому

краю и дополненный

16-ными 'F') (см.

Примечание 3)

Не

подписано

Нет

Certificate Serial

Number

3 b '01nnnn', где nnnn

значение поля Tracking

Number из запроса

сертификата (см.

Примечание 2).

Не

подписано

Нет

Certificate

Expiration Date

2 b MMYY (меяц, год),

после которых

сертификат

недействителен (см.

Примечание 2).

Не

подписано

Нет

Issuer Public Key

Modulus Remainder

Length (LN)

1 b Число байт в остатке

(Remainder) модуля

открытого ключа (LNRI

= max (LNI-LNCA+36, 0))

Не

подписано

Нет

Issuer Public Key

Modulus Remainder

(NRI)

var b Поле присутствует, если

LNRI - l > 0, содержит

LNRI младших значащих

(правых) байт модуля

открытого ключа

эмитента

Не

подписано

Да

Page 510: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 510

Название поля Длина и

формат

Описание Хэшировано

Issuer Public Key

Exponent Length

(LeI)

1b Число байт экспоненты

открытого ключа

эмитента в 16-ном виде

Не

подписано

Нет

Issuer Public Key

Exponent (eI)

LeI b Экспонента открытого

ключа эмитента

в 16-ном виде

(eI = от 1 до NI / 4)

Не

подписано

Да

CA Public Key

Index

1 b Индекс открытого

ключа УЦ,

использованного для

создания сертификата

открытого ключа

эмитента

Не

подписано

Нет

Page 511: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 511

Таблица 2.23 – Сертификат эмитента (American Express)

Название поля Длина и

формат Описание

Хэшировано

Recovered Data

Header

1 b 16-ное '6A'. Нет

Certificate Format 1 b Код формата сертификата

16-ное '02'.

Да

Issuer Identification

Number

4 b Идентификатор эмитента

(выровненный по левому краю и

дополненный 16-ными 'F'). (см.

Примечание 3)

Да

Certificate

Expiration Date

2 b MMYY (меяц, год), после которых

сертификат недействителен (см.

Примечание 2).

Да

Certificate Serial

Number

3 b '01nnnn' где nnnn – значение поля

Tracking Number из запроса

сертификата.

Да

Hash Algorithm

Indicator

1 b Идентификатор алгоритма Хэш. Да

Issuer Public Key

Algorithm Indicator

1b Идентифкатор алгоритма цифровой

подписи

Да

Issuer Public Key

Modulus Length

(LNI)

1 b Длина модуля открытого ключа

эмитента (число байт) .

Да

Issuer Public Key

Exponent Length

(LeI)

1 b Длина экспоненты открытого ключа

эмитента (число байт).

Да

Issuer Public Key

Modulus (N) or

Leftmost portion of

the Issuer Public

Key Modulus (N)

LNCA-36 b LNI >LNCA-36 Старшая значащая

часть модуля;

LNI = LNCA-36 Модуль

LNI <LNCA-36 Модуль, дополненый

символами 'BB' LNCA - 36 - LNI

байтами 'BB'.

Да

Hash Result 20 b Хэш за открытый ключ эмитента и

сопутствующую информацию.

Нет

Recovered Data

Trailer

1 b 16-ное 'BC'. Нет

Page 512: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 512

Таблица 2.24 – Сертификат эмитента (American Express). Присоединенная

подпись

Название поля Длина и

формат

Описание

Header 1 b 16-ное '00'.

Block Format Code 1 b 16-ное '01'.

Padding Characters var b 16-ное 'FF'. Длина паддинга равна модулю ключа

подписи – 38.

Separator 1 b 16-ное '00'

Algorithm Indicator 15 b OID для SHA-1,

'30 21 30 09 06 05 2B 0E 03 02 1A 05 00 04 14'

Hash Results 20 b Хэш SHA-1 за неподписанные данные и

сертификат открытого ключа эмитента.

Page 513: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 513

Формат сертификата карты ICC

Таблица 2.25 – Сертификат карты (ICC). Входные данные для хэш

Название поля Длина и

формат

Описание

Certificate Format 1 b Код формата сертификата

16-ное '04'.

Application PAN 10 b PAN, дополненный справа 16-ными F(см.

Примечание 3).

Certificate

Expiration date

2 b MMYY (меяц, год), после которых сертификат

недействителен (см. Примечание 2)

Certificate Serial

Number

3 b Уникальный номер сертификата (см. Примечание 2).

Hash Algorithm

Indicator

1 b Идентификатор алгоритма значения хэш.

'01' соттветствует SHA-1.

ICC Public Key

Algorithm

indicator

1 байт Индикатор алгоритма цифровой подписи.

'01' соттветствует RSA.

ICC Public Key

Modulus length

1 b Длина модуля открытого ключа ICC в байтах.

ICC Public Key

Exponent length

1 b Длина экспоненты открытого ключа в байтах.

Принимает значения:

или 16-ное ‘01’ (для экспоненты 3)

или 16-ное ‘03’ (для экспоненты 65537)

Leftmost bytes of

the ICC Key

Modulus

NI - 42 b Если NIC =< NI - 42, поле содержит открытый ключ

ICC, дополненный при необходимости справа

NI - 42 - NIC 16-ными байтами 'BB'.

Если NIC > NI - 42, поле состоит из NI - 42 старших

значащих байт модуля открытого ключа ICC

ICC Public Key

Modulus

Remainder

0 или NIC

- NI + 42 b

Поле присиутствует, только если NIC > NI - 42, и

состоит из NIC - NI + 42 младших значащих байт

модуля открытого ключа ICC

ICC Public Key

Exponent

1 или 3 b Экспонента открытого ключа ICC. Принимает

значения: или 3, или 65537,

т.е., 16-ное 03 или 16-ное 01 00 01

Static Data var b Статические данные для аутентификации карты.

Это поле отсутствует в данных сертифката

открытого ключа для шифрования PIN карты

Page 514: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 514

Таблица 2.26 – Содержимое сертификата карты (ICC)

Название поля Длина и

формат

Описание

Recovered Data

Header

1 b 16-ное '6A'.

Certificate Format 1 b Код формата сертификата

16-ное '04.'

Application PAN 10 b PAN, дополненный справа 16-ными F (см.

Примечание 3).

Certificate

Expiration date

2 b MMYY (месяц, год), после которых сертификат

недействителен (см. Примечание 2).

Certificate Serial

Number

3 b Уникальный номер сертификата (бинарный) (см.

Примечание 2).

Hash Algorithm

Indicator

1 b Идентификатор алгоритма хэш. '01' соответствует

SHA-1.

ICC Public Key

Algorithm

indicator

1 b Алгоритм цифровой подписи. '01' соответствует

RSA.

ICC Public Key

Modulus length

1 b Длина модуля открытого ключа ICC в байтах

ICC Public Key

Exponent Length

1 b Длина экспоненты открытого ключа ICC в байтах.

Принимает значения:

или 16-ное 01 (для экспоненты 3);

или 16-ное 03 (для экспоненты 65537).

ICC Public Key

modulus or

leftmost bytes of

the ICC Public Key

modulus

NI - 42 b Если NIC =< NI - 42, поле содержит открытый ключ

ICC, дополненный при необходимости справа NI -

42 - NIC батами с 16-ным значением 'BB'.

Если NIC > NI - 42, поле состоит из NI - 42 старших

значащих байт модуля открытого ключа ICC.

Hash Result 20 b Хэш за открытый ключ ICC и сопутствующую

информацию.

Recovered data

trailer

1 b 'BC'.

Page 515: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 515

Формат самоподписанного сертификата УЦ (Visa)

Таблица 2.27 - Открытая часть самоподписанного сертификата УЦ

(Visa)

Название поля Длина и

формат

Описание Хэшировано

Header 1 b 16-ное '20' Не

подписано

Нет

Service Identifier 4 b Идентификатор сервиса

Visa. Proprietary

Application Identifier

Extension (PIX)

выровнено по левому

краю и дополнено

четырьмя

16-ными нулями. В

настоящее время

допустимыми

международными

идентификаторами

сервиса являются:

16-ное 1010 0000 – для

Debit/Credit;

16-ное 2010 0000 – для

Electron;

16-ное 3010 0000 – для

Interlink;

16-ное 8010 0000 – для

PLUS.

Примечание:

Идентификатор сервиса

открытого ключа

сертифицирующего

органа VDSC всегда

1010 0000, независимо

от идентификатра

сервиса открытого

ключа в запросе.

Не

подписано

Нет

Length of Public

Key Modulus (NCA)

2 b Длина модуля

открытого ключа в 16-

ном виде (число байт).

Не

подписано

Нет

Page 516: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 516

Название поля Длина и

формат

Описание Хэшировано

Public Key

Algorithm Indicator

1 b Идентификатор

подписи. RSA = 16-ное

“01”

Не

подписано

Нет

Public Key

Exponent Length

1 b Длина экспоненты

открытого ключа УЦ в

16-ном виде (число

байт) .

Не

подписано

Нет

Registered

Application

Provider Identifier

(RID)

5 b Идентификатор Visa =

'A000000003'.

Не

подписано

Да

Public Key Index 1 b Индекс открытого

ключа УЦ .

Не

подписано

Да

Public Key Modulus

(NCA)

var b Модуль открытого

ключа УЦ

Не

подписано

Да

Public Key

Exponent (e)

var b Экспонента открытого

ключа УЦ

Не

подписано

Да

Hash Result 20 b Хэш за представленные

выше поля

Не

подписано

Нет

Page 517: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 517

Таблица 2.28 – Самоподписанный сертификат УЦ (Visa)

Название поля Длина и

формат

Описание

Header 1 b 16-ное '21'

Service Identifier 4 b Идентификатор сервиса Visa. Proprietary

Application Identifier Extension (PIX), выровненный

по левому краю и дополненный справа четырьмя

16-ными нулями. В настоящее время допустимыми

идентификаторами международных сервисов

являются:

16-ное 1010 0000 – для Debit/Credit;

16-ное 2010 0000 – для Electron;

16-ное 3010 0000 – для Interlink;

16-ное 8010 0000 – для PLUS.

Registered

Application Provider

Identifier (RID)

5 b Идентификатор Visa = 'A000000003'

Public Key Index 1 b Индекс открытого ключа УЦ

Certificate

Expiration Date

2 b MMYY (месяц, год), после которых сертификат

недействителен (см. Примечание 2).

Public Key

Algorithm Indicator

1 b Идентификатор алгоритма подписи

Leftmost portion of

CA Public Key

Modulus (NCA)

var b (N - [36+e]) байт модуля открытого ключа УЦ (N)

Hash Algorithm

Indicator

1 b Идентификатор алгоритма хэш. '01' соответствует

SHA-1

Public Key

Exponent Length

1 b Длина экспоненты открытого ключа УЦ (Число

байт)

Public Key

Exponent (e)

var b Экспонента открытого ключа УЦ

Hash Result 20 b Значение хэш из открытой части сертификата

Page 518: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 518

Формат самоподписанного сертификата УЦ (MasterCard)

Таблица 2.29 - Открытая часть самоподписанного сертификата УЦ

(Mastercard)

Название поля Длина и

формат

Описание Хэшировано

ID of Certificate 5 b The “Registered

Application Provider

Identifier” (RID)

Не

подписано

Нет

Public Key Index 1 b Индекс открытого ключа

УЦ

Не

подписано

Нет

Public Key

Algorithm

Indicator

1 b Идентификатор

алгоритма подписи. RSA

= 16-ное “01”

Не

подписано

Нет

Public Key Length 1 b Длина модуля открытого

ключа (NCA)

Не

подписано

Нет

Public Key

Exponent Length

1 b Длина экспоненты

открытого ключа

Не

подписано

Нет

Leftmost Digits of

Public Key

NCA - 37 b NCA - 37 старших

значащих байт модуля

открытого ключа

Не

подписано

Нет

Public Key

Remainder

37 b 37 младших значащих

байт модуля открытого

ключа

Не

подписано

Да

Public Key

Exponent

var b Экспонента открытого

ключа

Не

подписано

Да

Page 519: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 519

Таблица 2.30 – Самоподписанный сертификат УЦ (Mastercard)

Название поля Длина и

формат

Описание Хэшировано

Recovered Data

Header

1 b 16-ное '6A'. Нет

Certificate Format 1 b Код формата сертификата

16-байт '10'.

Да

ID of Certificate 5 b The “Registered Application Provider

Identifier” (RID).

Да

Certificate

Expiration Date

2 b MMYY (меяц, год), после которых

сертификат недействителен (см.

Примечание 2).

Да

Certificate Serial

Number

3 b Серийный номер сертификата. Да

Hash Algorithm

Indicator

1 байт Идентификатор алгоритма хэш.

'01' соответствует SHA-1.

Да

Public Key

Algorithm

Indicator

1 b Идентификатор алгоритма цифровой

подписи. RSA =16-ное '01'.

Да

Public Key Length 1 b Длина модуля открытого ключа в

байтах (NCA).

Да

Public Key

Exponent Length

1 b Длина экспоненты открытого ключа

эмитента (от 01 до 04).

Yes

Leftmost Digits of

Public Key

NCA - 37 b Левые NCA - 37 байт модуля

открытого ключа.

Yes

Hash Result 20 b Значение хэш за открытый ключ и

сопутствующую информацию.

Нет

Recovered Data

Trailer

1 b 16-ное “BC” Нет

Page 520: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 520

Формат самоподписанного сертификата УЦ (American Express)

Таблица 2.31 - Открытая часть самоподписанного сертификата УЦ

(American Express)

Название поля Длина и

формат Описание Хэшировано

Header 1 b 16-ное '20' Не

подписано

Нет

Service Identifier

(SI)

4 b Идентификатор

продукта American

Express

Фиксированное

значение '00 00 00 00'

Не

подписано

Нет

Length of Public

Key Modulus (NCA)

2 b Число байт модуля

открытого ключа

(например, '80' = 1024

бит, '90' = 1152 бит, 'B0'

= 1408 бит, 'F8' = 1984

бит) Длина выровнена

по правому краю и

дополнена '00'

Не

подписано

Нет

Public Key

Algorithm Identifie

1 b Идентификатор

алгоритма подписи

('01' = RSA)

Не

подписано

Нет

Public Key

Exponent Length

1 b Длина экспоненты

открытого ключа в

байтах (например, '01')

Не

подписано

Нет

Registered

Application

Provider Identifier

(RID

5 b Идентификатор

American Express =

'A000000025'

Не

подписано

Да

Public Key Index 1 b Индекс открытого

ключа УЦ

Не

подписано

Да

Public Key Modulus

(NCA)

var b Модуль открытого

ключа УЦ

Не

подписано

Да

Public Key

Exponent (eCA)

var b Экспонента открытого

ключа (eCA = от 1 до NCA/

4) (например, 16-ное '03')

Не

подписано

Yes

Hash Result 20 b Хэш за перечисленные

выше поля

Не

подписано

Нет

Page 521: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 521

Таблица 2.32 – Самоподписанный сертификат УЦ (American Express)

Название поля Длина и

формат

Описание

Header 1 b 16-битное '21'

Service Identifier

(SI)

4 b Идентификатор продукта American Express.

Фиксированное значение '00 00 00 00'

Registered

Application Provider

Identifier (RID)

5 b Идентфикатор American Express = 'A000000025'

Public Key Index 1 b Индекс пары ключей УЦ

Certificate

Expiration Date

2 b MMYY (меяц, год), после которых сертификат

недействителен. (Срок действия закрытого ключа

УЦ) (см. Примечание 2).

Public Key

Algorithm Indicator

1 b Идентификатор алгоритма подписи („01‟ - RSA)

Most Significant

Part of Public Key

Modulus (NCA)

var b NCA - [36+eCA] байт модуля открытого ключа. (36 =

число байт в фиксированных полях)

Hash Algorithm

Indicator

1 b Идентификатора алгоритма хэш ('01' - SHA-1)

Public Key

Exponent Length

1 b Длина экспоненты открытого ключа в байтах

(например, '01')

Public Key Exponen

(eCA)

var b Экспонента открытого ключа (eCA = от 1 до NCA /

4) (например, 16-ное „03‟)

Hash Result 20 b Значение хэш из открытой части сертификата

Page 522: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 522

Приложение 3

Таблицы «слабых» DES-ключей

Таблица 3.1 – Слабые ключи DES

Значение слабого ключа (с битами

четности) Действительный ключ

0101 0101 0101 0101 0000000 0000000

1F1F 1F1F 0E0E 0E0E 0000000 FFFFFFF

E0E0 E0E0 F1F1 F1F1 FFFFFFF 0000000

FEFE FEFE FEFE FEFE FFFFFFF FFFFFFF

Таблица 3.2 – Полуслабые пары ключей DES

01FE 01FE 01FE 01FE и FE01 FE01 FE01 FE01

1FE0 1FE0 0EF1 0EF1 и E01F E01F F10E F10E

01E0 01E0 01F1 01F1 и E001 E001 F101 F101

1FFE 1EEE 0EFE 0EFE и FE1F FE1F FE0E FE0E

011F 011F 010E 010E и 1F01 1F01 0E01 0E01

E0FE E0FE F1FE F1FE и FEE0 FEE0 FEE1 FEE

Page 523: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 523

Таблица 3.3 – Условно слабые пары ключей DES

1F 1F 01 01 0E 0E 01 01 E0 01 01 E0 F1 01 01 F1

01 1F 1F 01 01 0E 0E 01 FE 1F 01 E0 FE 0E 01 F1

F 01 01 1F 0E 01 01 0E FE 01 1F E0 FE 01 0E F1

01 01 1F 1F 01 01 0E 0E E0 1F 1F E0 F1 0E 0E F1

E0 E0 01 01 F1 F1 01 01 FE 01 01 FE FE 01 01 FE

FE FE 01 01 FE FE 01 01 E0 1F 01 FE F1 0E 01 FE

FE E0 1F 01 FE F1 0E 01 E0 01 1F FE F1 01 0E FE

E0 FE 1F 01 F1 FE 0E 01 FE 1F 1F FE FE 0E 0E FE

FE E0 01 1F FE F1 01 0E 1F FE 01 E0 0E FE 01 F1

E0 FE 01 1F F1 FE 01 0E 01 FE 1F E0 01 FE 0E F1

E0 E0 1F 1F F1 F1 0E 0E 1F E0 01 FE 0E F1 01 FE

FE FE 1F 1F FE FE 0E 0E 01 E0 1F FE 01 F1 0E FE

FE 1F E0 01 FE 0E F1 01 01 01 E0 E0 01 01 F1 F1

E0 1F FE 01 F1 0E FE 01 1F 1F E0 E0 0E 0E F1 F1

FE 01 E0 1F FE 01 F1 0E 1F 01 FE E0 0E 01 FE F1

E0 01 FE 1F F1 01 FE 0E 01 1F FE E0 01 0E FE F1

01 E0 E0 01 01 F1 F1 01 1F 01 E0 FE 0E 01 F1 FE

1F FE E0 01 0E FE F0 01 01 1F E0 FE 01 0E F1 FE

1F E0 FE 01 0E F1 FE 01 01 01 FE FE 01 01 FE FE

01 FE FE 01 01 FE FE 01 1F 1F FE FE 0E 0E FE FE

1F E0 E0 1F 0E F1 F1 0E FE FE E0 E0 FE FE F1 F1

01 FE E0 1F 01 FE F1 0E E0 FE FE E0 F1 FE FE F1

01 E0 FE 1F 01 F1 FE 0E FE E0 E0 FE FE F1 F1 FE

1F FE FE 1F 0E FE FE 0E E0 E0 FE FE F1 F1 FE FE

Page 524: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 524

Приложение 4

Форматы PIN-блоков

Общие сведения

Для проверки PIN и преобразования PIN, HSM требуется, чтобы PIN был

введен в виде зашифрованного 16-значного PIN-блока. Исходные

(незашифрованные) данные PIN-блока включают PIN и один из видов

заполнения для гарантии, что данные состоят из 16 знаков. Механизм

дополнения известен как формат PIN-блока. HSM поддерживает ряд форматов

PIN-блоков, идентифицируемых 2-цифровым кодом формата PIN-блока.

Форматы 34, 35, 41 и 42 используются для операций изменения EMV PIN, и

доступны только для команд KU и KY.

Page 525: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 525

Формат 01

Формат 01 PIN-блока – это формат, принятый Американским

национальным институтом стандартов (ANSI X9.8), и один из форматов,

поддерживаемых Международной организацией по стандартизации (ISO 9564-

1 - format 0).

Формат составляют PIN клиента и номер счета (account number) в

следующем виде:

- 16-значный блок составляют цифра 0, длина PIN, PIN и символов

заполнения (шестнадцатеричное F). Например: 92389 - пятизначный PIN – это

блок вида:

0 5 9 2 3 8 9 F F F F F F F F F

- следующий 16-значный блок состоит из четырех нулей и 12 крайних

правых цифр номера счета, за исключением контрольной цифры. Например, для

13-значного номера счета 4000 0012 3456 2, где два - контрольный разряд, блок

имеет вид:

0 0 0 0 4 0 0 0 0 0 1 2 3 4 5 6

- два блока складываются по исключающему ИЛИ.

PIN: 0 5 9 2 3 8 9 F F F F F F F F F

Номер счета: 0 0 0 0 4 0 0 0 0 0 1 2 3 4 5 6

PIN block: 0 5 9 2 7 8 9 F F F E D C B A 9

Page 526: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 526

Формат 02

Формат 02 PIN-блока поддерживает Docutel ATM. PIN-блок составляют

длина PIN, шестизначный PIN, и определяемая пользователем числовая строка

заполнения. Если PIN меньше шести знаков, он выравнивается по левому краю

и справа дополняется нулями.

Например, для пятизначного PIN 92389 цифры PIN 923890. С символами

заполнения PIN-блок может, например, иметь вид:

5923 8909 8765 4321

где 9 8765 4321 - строка заполнения.

Формат 03

Формат 03 PIN-блока поддерживает ATM Diebold и IBM. Он также

использует формат Docutel, который не включает длину PIN. PIN-блок

составляют PIN клиента и шестнадцатеричный символ заполнения F.

Например: для пятизначного PIN 92389 PIN-блок имеет вид:

9238 9FFF FFFF FFFF

Page 527: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 527

Формат 04

Формат 04 PIN-блока - это PIN-блок, принятый сетью PLUS.

Формат 04 составляют PIN клиента и соответствующий номер счета

(account number) следующим образом:

- 16-значный блок составляют цифра 0, длина PIN, PIN и символ заполнения

(шестнадцатеричное F). Например, для пятизначного PIN 92389 блок имеет

вид:

0 5 9 2 3 8 9 F F F F F F F F F

- следующий 16-значный блок состоит из четырех нулей и крайних левых

12 цифр номера счета.

Например: для 16-значного номера счета 2283 4000 0012 3456,

где 6 контрольный разряд, блок имеет вид:

0 0 0 0 2 2 8 3 4 0 0 0 0 0 1 2

- два блока складываются по исключающему ИЛИ:

PIN: 0 5 9 2 3 8 9 F F F F F F F F F

Номер счета: 0 0 0 0 2 2 8 3 4 0 0 0 0 0 1 2

PIN блок : 0 5 9 2 1 A 1 C B F F F F F E D

Примечание:

Для любой транзакции, которая требует PIN-блок, как параметр

принимается формат 04. Главное влияние этот формат оказывает на

длину поля номера счета: когда PIN-блок отформатирован по формату

04, то поле номера счета становится полем длиной 18 знаков.

Для команд преобразования PIN CA и CC есть два поля формата - если

один из них формат 04, то поле номера счета (account number) должно

иметь 18 знаков; если номер счета (account number) составляет менее

18 цифр, то он выравнивается по правому краю, и cлева дополняется X'F.

Page 528: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 528

Этот формат могут использовать следующие команды:

BC, BE, CA, CC, DA, DC, EA, EC, JC, JE, BK, FW, CU, DU, JG, KU, KY.

При рассмотрени деталей этих команд требуется учитывать изменения

поля номера счета, требуемые этим форматом.

Page 529: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 529

Формат 05

Формат 05 PIN-блока - это PIN-блок формата 1 ISO 9564-1 (ISO 1).

PIN блок представлен 16-значным кодом следующего вида:

1NPP..P R . . R

Где:

- N - длина PIN (4 - C);

- PP..P - N-разрядный PIN;

- R . . R случайное значение.

На входящем PIN-блоке формата 05 проводятся следующие проверки:

- первый параметр PIN-блока имеет значение 1. Если эта проверка не

проходит, код ошибки 20;

- цифры PIN (в позиции 3 - (N+2)) в диапазоне от 0 до 9. Если проверка

не проходит - код ошибки 20;

- второй символ (N) в шестнадцатеричном диапазоне 4-С. Если

проверка не проходит - код ошибки 24.

Page 530: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 530

Формат 34

Формат 34 – это стандартный формат PIN-блока EMV (ISO 9564-1

format 2). Он допустим только как результат команд преобразования PIN (KU и

KY). PIN-блок составляют фиксированное контрольное поле, сам PIN клиента,

и шестнадцатеричный символ заполнения F. Принимается PIN длиной от 4 до

12 знаков.

16-знаковый (8-байт) блок имеет следующий вид:

C N P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F

Где:

- С- фиксированное контрольное поле с двоичным значением 0010

(X'2);

- N - длина PIN, и может иметь любое двоичное значение от 0100

до 1100 (X'4 - X'C);

- P - цифра PIN, возможно любое двоичное значение от 0000

до 1001 (X'0 - X'9);

- P/F - или цифра PIN, или двоичное значение 1111 (X'F) заполнения, в

зависимости от длины PIN;

- F - двоичное значение 1111 (X'F) заполнения.

Таким образом, если 34567 - пятизначный PIN, 16-значный PIN-блок

будет содержать 16 шестнадцатеричных значений, как показано ниже:

2 5 3 4 5 6 7 F F F F F F F F F

Page 531: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 531

Формат 35

PIN-блок формата 35 – это PIN-блок, требуемый Europay/MasterCard для

продуктов Pay Now & Pay Later. PIN-блок составляют фиксированное

контрольное поле, длина PIN, PIN клиента и номера счета клиента (account

number). Допустима длина PIN от 4 до 12 знаков.

16-знаковый (8-байт) блок имеет следующий вид:

C N P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F

Где:

- С- фиксированное контрольное поле с двоичным значением 0010 (X'2);

- N - длина PIN, может иметь любое двоичное значение от 0100 до 1100

(X'4 - X'C);

- P - цифра PIN, любое двоичное значение от 0000 до 1001 (X'0 - X'9);

- P/F или цифра PIN, или двоичное значение 1111 (X'F) заполнения, в

зависимости от длины PIN;

- F - заполнитель с двоичным значением 1111 (X'F).

Таким образом, если 34567 - пятизначный PIN, 16-значный PIN-блок

будет занимать 16 шестнадцатеричных значений, как показано ниже:

2 5 3 4 5 6 7 F F F F F F F F F

- другой 16-значный блок состоит из четырех нулей и 12-значного поля,

составленного из 12 самых правых цифр номера счета, за исключением

контрольной цифры.

Page 532: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 532

Если 1234 0123 4562 номера счета с контрольным значением 2, то блок

имеет вид:

0 0 0 0 4 0 0 0 0 0 1 2 3 4 5 6

Два блока складываются по исключающему ИЛИ по битам:

PIN 2 5 3 4 5 6 7 F F F F F F F F F

номер счета 0 0 0 0 4 0 0 0 0 0 1 2 3 4 5 6

PIN-блок формата 35 2 5 3 4 1 6 7 F F F E D C B A 9

Page 533: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 533

Формат 41

PIN-блок формата 41 – это формат Visa для смены PIN-кода без

использования текущего PIN.

PIN-блок создается с использованием нового PIN и уникального ключа

карты карты DK-AC следующим образом:

1. Построить блок данных из 16 шестнадцатеричных цифр путем

извлечения восьми крайних правых цифр уникального ключа DK-AC с

приложения карты, дополненных слева восемью шестнадцатеричными нулями:

0 0 0 0 0 0 0 0

←8 Rightmost digits of card app‟s unique DEA key A→

2. Второй блок данных из 16 шестнадцатеричных цифр создается

следующим образом:

C N P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F

Где:

- C – поле фиксированного контрольного значения 0000 (X’0);

- N – длина нового PIN, допустимо любое бинарное значение от 0100

до 1100 (от X'4 - X'C);

- P - цифра нового PIN, допустимо любое бинарное значение от 0000 до

1001 (от X'0 - X'9);

- P/F - или цифра PIN, или двоичное значение заполнения 1111 (X'F), в

зависимости от длины PIN;

- F - заполнитель с двоичным значением 1111 (X'F).

3. Для создания итогового PIN-блока выполнить операцию

исключающего или блоков, созданных в шагах 1 и 2.

Page 534: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 534

Формат 42

Формат 42 PIN блока - это формат Visa для смены PIN-кода,

использующий текущий (старый) PIN. PIN-блок создается с использованием

старого PIN, нового PIN и части уникального ключа карты карты DK-AC

следующим образом:

1. Построить первый блок данных из 16 шестнадцатеричных цифр путем

извлечения восьми крайних правых цифр уникального ключа DK-AC

приложения карты, дополненных слева восемью шестнадцатеричными нулями:

0 0 0 0 0 0 0 0

←8 Rightmost digits of card app‟s unique DEA key A→

2. Создать второй блок данных из 16 шестнадцатеричных цифр:

C N P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F

Где:

- C – фиксированное поле контроля с двоичным значением 0000 (X'0);

- N – длина нового PIN, допустимо любое двоичное значение от 0100 до

1100 (от X'4 - X'C);

- P - цифра нового PIN, допустимо любое двоичное значение от 0000 до

1001 (от X'0 - X'9);

- P/F - или цифра PIN, или двоичное значение заполнения 1111 (X'F), в

зависимости от длины PIN;

- F - заполнение со значением 1111 (X'F).

3. Создать третий блок данных из 16 десятичных цифр, используя

старый PIN-код, следующим образом:

P P P P P P/0 P/0 P/0 P/0 P/0 0 0 0 0 0 0

Где:

- P – цифра старого PIN, двоичное значение от 0000 до 1001 (X'0 - X'9);

Page 535: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 535

- P/0 - или цифра PIN, или двоичное значение 0000 (X'0) заполнения,

в зависимости от длины PIN;

- 0 - заполнитель с двоичным значением 0000 (X'0).

4. Выполнить операцию исключающего ИЛИ с блоками данных,

созданными на шагах 1, 2, 3. Результат называется "Дельта PIN".

Page 536: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 536

Формат 47

Формат 47 PIN-блока - это формат 3 PIN-блока ISO 9564-1 (ISO-3). Этот

блок построен сложением по модулю 2 двух 64-разрядных полей: поля

открытого текста PIN-кода и поля номера счета (account number). Поле

открытого текста PIN форматируется следующим образом:

C N P P P P P/F P/F P/F P/F P/F P/F P/F P/F F F

Где:

- C - поле контроля с двоичным значением 0011 (десятичное 3);

- N - длина PIN - четырех-битовый двоичный номер, с допустимым

значением от 0100 (4) до 1100 (12);

- P - цифра PIN, 4-битовое поле с допустимым значением от 0000 (0)

до 1001 (9).

- P/F - цифра PIN/заполнения. Значение этих полей определяется

полем длины PIN.

- F - цифра заполнения, четырех-битовое полесо значением от 1010

(10) до 1111 (15), где значение заполнителя случайно или

последовательно выбирается из набора шести возможных значений,

так что маловероятно, что идентичная конфигурация цифр

заполнения будет использована более одного раза с тем же номером

счета тем же устройством зашифрования PIN.

Поле номера счета (account number) сформировано следующим образом:

0 0 0 0 А1 А2 А3 А4 А5 А6 А7 А8 А9 А10 А11 А12

Где:

- 0 - Цифра заполнения; допустимо только одно значение – 0000 (0);

Page 537: Модуль безопасности платежных системhsm ps, и подключенным к vipnet hsm ps компьютером хост-системы. Описание

Модуль безопасности платежных систем. Руководство разработчика | 537

- A1 ... A12 = Номер счета (Account Number) - двенадцать самых

правых цифр первичного номера счета (PAN), кроме контрольной

цифры;

- A12 – цифра, непосредственно предшествующая контрольной

цифре PAN.

Если значение PAN, за исключением контрольной цифры, меньше

12 цифр, цифры выравниваются по правому краю и дополняется слева нулями.

Допустимые значения от 0000 (0) до 1001 (9).