银行及相关金融服务 基于AES的密钥封装_第1页
银行及相关金融服务 基于AES的密钥封装_第2页
银行及相关金融服务 基于AES的密钥封装_第3页
银行及相关金融服务 基于AES的密钥封装_第4页
银行及相关金融服务 基于AES的密钥封装_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS

XX

中华人民共和国国家标准

GB/TXXXX—XXXX

银行及相关金融服务

基于AES的密钥封装

Bankingandrelatedfinancialservices—KeywrapusingAES

(ISO20038:2017,IDT)

(征求意见稿)

XXXX-XX-XX发布XXXX-XX-XX实施

GB/TXXXXX—XXXX

前言

本文件按照GB/T1.1—2020的规定起草。

本文件由……提出。

本文件由……归口。

本文件负责起草单位:

本文件参加起草单位:

本文件主要起草人:

GB/TXXXXX—XXXX

引言

密码密钥的安全管理要求对其值和使用约束进行机密性和完整性保护。尤其对于64位分组密码三

重数据加密算法(3DES)和128位分组密码高级加密标准(AES)的密钥,因为这两种分组密码允许

其密钥长度大于分组长度。

本文件提供了一种封装密码密钥的方法,以保证密钥在传输或存储时的机密性和完整性,该机制使

用AES作为密钥封装的密码算法。

GB/TXXXXX—XXXX

银行及相关金融服务

基于AES的密钥封装

1范围

本文件定义了一种封装用于传输密码密钥的方法,该方法还可用于在AES密钥下存储密钥。该方

法采用分组密码AES作为封装密码算法。

其他封装密钥的方法不在本文件讨论范围,但是可以使用ISO/IEC19772中指定的经过认证的加密

算法。

2规范性引用文件

下列文件对于本文件的应用是必不可少的条款。凡是注日期的引用文件,仅注日期的版本适用于本

文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T15852.1—2008信息技术安全技术消息鉴别码第1部分:采用分组密码的机制(ISO/IEC

9797-1:1999,IDT)

GB/T17964—2008信息安全技术分组密码算法的工作模式

GB/T27909.2银行业务密钥管理(零售)第2部分:对称密码及其密钥管理和生命周期(GB/T

27909.2—2011,ISO11568-2:2005,MOD)

ANSX9TR-31用于对称算法的可互操作的安全密钥交换密钥分组规范1)

3术语和定义

下列术语和定义适用于本文件。

3.1

高级加密标准advancedencryptionstandard;AES

ISO/IEC18033-3中指定的算法。

3.2

比特bit

二进制中的1位。

3.3

字节byte

连续的8比特(3.2)。

3.4

密文ciphertext

加密后的数据。

[GM/Z0001-2013,定义2.60]2)

3.5

密码密钥cryptographickey

控制密码转换操作的符号序列,例如加密(3.7)、解密(3.6)、密码校验函数的计算、签名的生

成或签名的验证。

3.6

解密decryption

1)美国国家标准,后续需要删除或者替换。非原文注释,编者加。

2)非原文注释,编者加,术语中设计密码行业标准的,下同。

GB/TXXXXX—XXXX

加密过程对应的逆过程。

[GM/Z0001-2013,定义2.44]

3.7

加密encryption

对数据进行密码变换以产生密文的过程。

[GM/Z0001-2013,2.40]

3.8

异或exclusive-OR

等长二进制向量的逐位取模2的加法。

3.9

初始化向量initializationvector

在密码变换中,为增加安全性或使密码设备同步而引入的用于数据变换的起始数据。

[GM/Z0001-2013,定义2.7]

3.10

密钥分组keyblock

密钥分组包含被保护的密钥,密钥的使用约束和使用密钥封装机制对其进行封装(加密)的其他数

据。

3.11

密钥封装keywrap

对称加密(3.7)算法,用于封装(加密)密码密钥材料。

3.12

半字节nibble

半字节(3.3),可以用一个十六进制数字表示。

3.13

明文plaintext

未加密的数据或解密还原后的数据。

[GM/Z0001-2013,定义2.85]

3.14

安全密码设备securecryptographicdevice;SCD

为密钥等秘密信息提供安全存储并基于这些秘密信息提供安全服务的设备。

3.15

三重数据加密算法tripledataencryptionalgorithm;TDEA3)

ISO/IEC18033-3中指定的算法。

4符号和缩略语

AES高级加密标准advancedencryptionstandard

CBC密码分组链接(密码算法的工作模式)cipherblockchaining(modeofencryption)

CMAC基于密码的消息认证码cipher-basedMAC

CTR计数器模式(密码算法的工作模式)counter(modeofencryption)

IVCBC模式的初始化向量或CTR模式的初始值initializationvectorforCBCmodeorstarting

valueforCTRmode

K密码密钥cryptographickey

MAC消息认证码messageauthenticationcode

3)其他地方已经换位3DES或者暂时标红,国内一般不成为TDEA。非原文注释,编者加。

GB/TXXXXX—XXXX

TDEA三重数据加密算法tripledataencryptionalgorithm

SCD安全密码设备securecryptographicdevice

⊕异或exclusive-OR

5密钥封装方法特征

根据ISO11568-2密钥管理要求,可以通过将密钥分解为组件的物理方式来保护对称密钥或通过密

码方式进行保护。密码保护方式可以通过认证的加密算法(例如ISO/IEC19772中标准化的加密算法)

来实现。然而,ISO/IEC19772中,大多数经过认证的加密算法都是为了保护一般的有效载荷(例如长

消息或大型数据库)而设计的,而不是保护较短且具有高熵的对称密钥。一个明显的特例是ISO/IEC

19772:2009中的机制2,被称为密钥封装。如ISO/IEC19772中所述,“此方案最初是为密钥和相关信

息的认证加密而设计的”。该模式使用了AES分组密码,因此也称为基于AES的密钥封装。在ISO/IEC

19772也提到NIST中的《AES密钥封装规范和参考文献》[5]4)对AES密钥封装进行了规定。

与ISO/IEC19772中的算法5先加密再MAC的流程不同,本文件定义的封装方法使用MAC作为IV,

这样做理论上可以支持任何对称加密算法模式(例如,ISO/IEC10116定义的对称算法)或MAC算法(例

如,ISO/IEC9797-1定义的MAC算法)。但是,在本文中,密钥封装方法仅支持CBC或CTR模式(定

义在ISO/IEC10116)和用于MAC生成CMAC算法(定义在ISO/IEC9797-1方法5和NIST/SP800-38B5))。

附录A中定义的密钥封装过程包含了ANS/TR316)中的密钥使用属性。其他方法包括但不限于ISO/

IEC19772,RFC3394[5],ANSICBCMAC[4]和TDEA密钥封装[4]中认证的加密算法。

6带有密钥分组绑定的密钥封装方法

6.1综述

使用分组密码对密钥进行加密时,若分组密码算法的分组长度小于密钥长度时,则将导致密钥由几

个分组表示,从而导致替换或误用整个密钥密码片段的风险。绑定加密后的密钥分组可以通过多种方法

来实现。

密钥分组绑定7)方法可保护密钥分组的机密性,且保护密钥分组和密钥分组报头之间关联的完整性

(有关密钥分组报头的定义,请参见附录A)。本方法使用一个AES密钥分组保护密钥(即主密钥)派

生出用于密钥分组加密算法和MAC8)的密钥。该密钥需在双方通信前完成交换(交换方法定义在ISO

11568-2)。本方法可用于封装任何密钥(详见表A.4)。

带有密钥分组绑定的密钥封装方法的工作流程有如下步骤:

—密钥派生(如6.3条所述):

—从保护密钥派生出MAC和加密密钥。

—绑定和加密(如6.2条所述):

—使用派生的MAC密钥绑定要封装的密钥及密钥报头;

—使用派生出的加密密钥对要封装的密钥及其长度进行加密。

—解密和验证(如6.4条所述):

—使用派生出的加密密钥解密封装的密钥及其长度;

—使用派生出的MAC密钥验证相关的报头数据。

4)原文中引用标号缺少1、2、3,从5开始,因此与原文保持一致。

5)NISTSP800-38B,美国联邦政府标准。计划删除。非原文注释,编者加。

6)ANS为美国国家标准,尚未有对应的标准,计划删除或替代。非原文注释,编者加。

7)以下容易歧义的专有名词使用黑色粗体标识。例如KeyBlockBinding,密钥分组绑定。非原文注释,编者加。加粗

也是编者后加。

8)目前MAC运算本身和MAC运算生成的结果统一翻译成MAC。在英文中上述两种意思不能产生歧义,中文中结合

上下文也不会产生歧义。非原文注释,编者加。

GB/TXXXXX—XXXX

6.2密钥分组绑定和加密

密钥分组的绑定和加密过程如下:

—使用以下方法之一构造机密部分:

—对于CBC模式加密,在机密部分(密钥长度和密钥)右侧填充随机字节,直到产生的字符串是

16字节的倍数。可以使用额外的填充来掩盖密钥或数据的真实长度,只要结果长度是16字节的倍

数。

—对于CTR模式加密,无填充。尽管CTR无需填充,但也可以使用与CBC模式相同方式,填充

机密部分,以掩盖密钥长度。

—CMAC应用于整个载荷,即与机密部分连接的报头和填充(如适用)。使用派生出的MAC密钥(参

见6.3)对整个载荷进行运算生成MAC,MAC为16字节,不被截断。

—机密部分(密钥长度,密钥和随机填充(如果存在))使用CBC或CTR模式(这取决于模式选择)

进行加密,无需额外填充。根据ISO/IEC10116,使用MACm作为IV和派生的加密密钥(参见6.3)

进行加密,生成密文c。

—将密文c、MAC和未加密的报头一起发送给对方。

—图1说明了上述密钥分组绑定和加密的过程。密钥分组报头和密钥长度编码的详细信息见附录A。

报头密钥长度密钥填充

MAC密钥CMAC

MACIV加密密钥加密密钥

报头密文MAC

图1密钥分组绑定

MAC密钥和加密密钥是派生密钥,如6.3条所述。

6.3密钥派生

加密密钥和MAC密钥从密钥分组保护密钥(主密钥)中派生而来,密钥派生使用CMAC算法(即

ISO/IEC9797-1中的算法5)。本节中给出具体派生方法。表1列出了CMAC函数的输入数据。

表1密钥派生输入数据

GB/TXXXXX—XXXX

半字节次序字段名称描述编码取值范围

0-1计数器计数器在每次CMAC运算时递增2H0x01–0x02

2-5密钥使用标标识派生出的密钥用于加密/解密还4H0x0000=CBC加密模式

识符是MAC生成/验证0x0001=MAC

0x0002=CTR加密模式

6-7分隔符1字节分隔符,值为02H0x00

8-11算法标识符标识加密和MAC所使用的分组密码4H0x0002=AES128bit

算法。算法既用于加密和MAC运算0x0003=AES192bit

也用于密钥派生0x0004=AES256bit

12-15长度以比特为单位,标识用于加密和4H0x0080正在生成AES-128的

MAC的密钥的长度密钥

0x00C0正在生成AES-192的

密钥

0x0100正在生成AES-256的

密钥

注:在开始派生加密密钥的第1个字节时,半字节0-1中的计数器值设置为1。当开始派生MAC密钥的第1个字节时,

该计数器值再次设置为1。

作为从密钥分组保护密钥(主密钥)派生的加密密钥或MAC密钥的一部分,计数器值从0x01开始,

每次调用CMAC,数器都会递增。密钥使用标识符标识了生成的密钥用于MAC的密钥还是用于CBC模

式或CTR模式加密的密钥。算法标识符标识了所使用的算法。

密钥分组保护密钥与派生出的密钥等长。也就是说,一个128位AES密钥仅用于派生出128位的加密

和MAC密钥,一个192位AES密钥仅用于派生192位的加密和MAC密钥,一个256位AES密钥仅用于派生

256位的加密和MAC密钥。

长度字段表示派生出的加密和MAC密钥的位数。如果派生出的密钥是128位,则一共派生128位

(0x0080),如果派生出的密钥是192位密钥,则一共派生192位(0x00C0),如果派生出的密钥是一

个256位密钥,则一共派生256位(0x0100)。由于本文只允许使用AES进行封装,因此从算法标识符可

获得长度字段的信息。

每次调用CMAC运算时,计数器会不断递增,密钥使用标识符和算法标识符的值应保持不变。因此,

应通过对CMAC的两个不同的调用序列派生加密密钥和MAC密钥,每个调用的计数器从0x01开始计数。

图2给出了使用128位AES密钥分组保护密钥K派生出128位AESCBC加密密钥和MAC密钥的具体方

法。

GB/TXXXXX—XXXX

01000000000200800100010000020080

kCMACkCMAC

加密密钥MAC密钥

图2派生AES-128MAC和CBC加密密钥

图3给出了使用192位AES密钥分组保护密钥K派生出192位AESCBC加密密钥和MAC密钥的具体

方法。

01000000000300C002000000000300C001000100000300C002000100000300C0

kCMACkCMACkCMACkCMAC

截断截断

加密密钥第一部分加密密钥第二部分密钥第一部分密钥第二部分

MACMAC

图3派生AES-192MAC和CBC加密密钥

注:截断这里指保留最左边64比特。

图4给出了使用256位AES密钥分组保护密钥K派生出256位AESCBC加密密钥和MAC密钥的具体

方法。

0100000000040100020000000004010001000100000401000200010000040100

kCMACkCMACkCMACkCMAC

加密密钥第一部分加密密钥第二部分密钥第一部分密钥第二部分

MACMAC

图4派生AES-256MAC运算和CBC加密密钥

6.4密钥分组解密和MAC验证

接收到密钥分组后,SCD会对密钥分组进行解密和验证,并验证报头的内容和报头的结构是否正确。

如果验证失败,则拒绝该密钥分组。此过程的步骤描述如下:

a)检查接收到的密钥分组报头是否存在格式错误,例如,某字段为无效数据。针对CBC模式,还

将验证接收到的密钥分组密文的总长度是否为16的倍数。如果上述检查失败,则拒绝接收到的密钥分组。

b)如果上述检查均通过,则根据6.3,使用密钥分组保护密钥派生出MAC和加密密钥。

c)将接收到的MAC数据存储在临时缓冲区(RCVD_MAC)中。

GB/TXXXXX—XXXX

d)将未加密的密钥分组报头存储在临时缓冲区(BLK_BUF)中。

e)使用派生出的加密密钥,用RCVD_MAC中的值作为IV,对接收到的密钥分组的加密部分进行

解密,解密算法通过密钥长度可知。解密后的数据附加到密钥分组报头之后,存储在BLK_BUF中。

f)将BLK_BUF中值作为CMAC的输入,使用派生出的MAC密钥,计算出MAC数据(记作MAC)

g)将计算出的MAC与RCVD_MAC中的内容进行比较。如果比较结果相同,则认为接收到的密钥

分组是有效的,并使用BLK_BUF的内容。如果MAC和RCVD_MAC中的内容不一致,则拒绝该密钥分

组。

GB/TXXXXX—XXXX

附录A

(规范性)

带可选分组的密钥分组

A.1综述

本文要求使用密钥封装方法的双方实体预先约定密钥分组报头的定义。定义应包括如何解析、解释

和处理密钥分组的内容(即报头,密文和MAC)。定义还应至少标识与被封装密钥一起使用的加密模

式(CBC或CTR)和算法(具体见表A.4),还应确定被封装密钥的用途(例如,加密PIN,计算MAC,

具体见表A.3)及其使用模式(例如,仅限于验证MAC,具体参见表A.5)。

附录A的其余部分定义了密钥分组报头,该报头用于密钥分组绑定方法(详见第5章)。报头基于

ANS/TR319)。

图A.1给出了整个密钥分组的格式。

报头报头(可选)密钥长度密钥填充MAC

图A.1CBCMAC密钥分组

A.2密钥分组报头

A.2.1综述

报头包含密钥属性的相关信息。为了提供更好的支持(即可读性),报头字节使用大写ASCII可打

印字符,但不排除某些情况下需要其他字符。报头中每个字段定义了特定的编码和可接受的字符,编码

如表A.1的“编码”这列。当使用术语数字字符来描述ASCII报头字节时,表示在“0”至“9”(即0x31至0x39)

范围内的ASCII字符。当多字节的报头中所有字段都是数字字符时,视该报头为数字报头。

表A.1密钥分组报头格式

字节次序字段名称描述编码

密钥分组版本ID标识密钥分组的版本,该版本定义了对密钥进行密码保护的方法以及密1AN

钥分组的内容和布局:

—“D”(0x44)—使用CBC模式AES密钥派生绑定方法保护密钥分组;

0—“E”(0x45)—使用CTR模式AES密钥派生绑定方法保护密钥分组。

注:该字段保留数字字符用于定义专用密钥分组。另外,存在多个密

钥分组版本同时使用的情况。

本文档未来可能会定义其他值。该字段目前未使用“A”,“B”和“C”。

密钥分组长度使用ASCII数字字符表示编码后密钥分组的长度(即字符总数)。用4N

十进制表示包括整个分组(即报头+机密数据+MAC)的长度,例如一

1–4

个112字节的密钥分组,字节1为“0”,字节2为“1”,字节3为“1”,

字节4为“2”。详见A.2.9。

密钥使用提供受保护的密钥/敏感数据的用途的相关信息。常见用途包括加密数

5–62AN

据,加密PIN以及计算MAC。详见表A.3。

9)美国国家标准,待删除或替换。

GB/TXXXXX—XXXX

7算法已获批准的算法,受保护密钥可用于这些密码算法,详见表A.4。1AN

使用模式定义受保护的密钥可以执行的操作。例如,MAC密钥可被限制为仅验

81AN

证。详见表A.5。

密钥版本数两位ASCII字符表示版本号,可以用于表示当前的密钥分组是密钥的

9–102AN

一部分,或用于防止重新插入旧密钥。参见表A.6。

可输出性定义是否可以将受保护的密钥传输到该密钥所在的加密域之外,详见表

111AN

A.7。

可选分组数量定义密钥分组包含的可选分组的数量。最小值为零,最大值为99,但

12–13其值也受限于整个密钥分组的最大字节数。例如,如果有5个可选块,2N

则字节12为“0”(0x30),字节13为“5”(0x35)。

14–15保留该字段保留以便将来使用,并用ASCII字符“0”(0x30)填充。2N

可选分组1的ID该字段标识第1个可选分组的ID,如果存在第1个可选分组,字节12

16–172AN

和13中为非“00”值,详见表A.8。

可选分组1的长度如果第1个可选块存在(即字节12和13中为非“00”值,则本字段包

含该可选分组的长度。长度以字节为单位,包括字段的ID,长度和数

据的总长度。字节18表示长度的高字节,字节19表示低字节,均为

18-192H

十六进制ASCII形式。例如,如果长度为24字节的可选分组(十六

进制表示为0x18),则字节18为“1”(0x31),字节19为“8”(0x38)。

注:在无可选分组的数据的情况下,可选分组长度为“04”。

可选分组1的数据如果存在第一个可选分组,即字节12和13中为非“00”值,则本字段

20-nPA

包含该可选分组的数据。本字段仅包含可打印的ASCII字符。

其他可选分组(如存附加在第一个可选分组之后的可变数量的可选分组。字节12-13给出了

(n+1)-m在)可选分组总数。每个可选分组均包含2字节的ID字段,2字节的长度

字段和可变长度的数据字段。格式与上述可选分组1的格式相同。

注1:在安全加密设备(SCD)中使用密钥分组中的密钥之前,必须先验证报头的正确性。首先,SCD确保密钥分

组的长度匹配字节1-4的赋值。如果长度不匹配,则SCD返回错误并停止处理密钥分组。其中,先检查密钥使用字段,

再检查算法字段。其他报头字节的处理取决于使用的密钥和算法。

在一个密钥分组中,可以存在0-99个可选分组。但需保证密钥分组的总长度不能超过字节1-4中(密钥分组长度

字段)定义的最大长度。可选分组的数量在第12-13字节中给出。每个可选分组由三个字段组成:1)一个2字节的标识

符,标识可选分组;2)一个2字节的长度字段,表示所有可选分组字段的字节总数,3)可选分组中携带的可变长度数

据。

例如,一个包含密钥集标识符的可选分组。一个示例分组包含以下数据:

标识符:“KS”

长度:“18”

数据:“00604B120F9292800000”

注2:总长度为2+2+20(24)。长度值以十六进制ASCII编码,即18(hex)=24(dec)。

如果存在一个以上的可选分组,那么在密钥分组结构中,每个分组都附加在之前分组之后。

密钥分组中所有可选分组的总长度应为加密分组长度的倍数,因此可能需要填充。如果需要填充,最后一个可选分

组将填充适当数量的填充字符。例如,如果填充之前所有可选分组的总长度为90,则需要额外的6个字节,达到加密分

组长度的下一个倍数96。填充分组将作为最后一个可选分组,包含2个字节的标识符“PB”,2个字节的长度字段“06”

和两个填充字符。

A.2.2加密

需要加密的数据是密钥长度、密钥以及密钥字段的填充(如适用)。密钥长度字段占2字节,用二

进制表示,与表A.1中派生数据的长度字段表示方法一致。表A.2给出了使用CBC加密16字节TDEA密钥

GB/TXXXXX—XXXX

的示例,包括填充。只要保证机密数据的长度是16字节的倍数,也可以使用其他数量的随机填充。完整

的示例请参见附录B。

表A.2CBC模式加密16字节TDEA密钥示例

在加密前长度字段名称描述编码是否加密

2字节密钥长度密钥长度,用二进制表示,最高有效字节填入最左2B是

边的字节(如果不存在可选数据,则最高有效字节

为16)。

在此示例中,一个128位密钥的字节16为0x00,字

节17为0x80。

16字节密钥在此例中受保护的密钥为TDEA密钥,包括奇偶校16B是

验位。

14字节填充随机数据14B是

A.2.3密钥使用

密钥的使用字段定义了密钥的类型,即用于加密数据还是计算MAC等。密钥的使用由第5和第6字

节标识。表A.3给出了当前定义的密钥使用值。

表A.3已定义的密钥使用值

值十六进制表示描述使用模式

“B0”0x42,0x30BDK根密钥“X”

“B1”0x42,0x31DUKPT初始密钥(也称为IPEK)“X”

“C0”0x43,0x30CVK卡验证密钥“C”,“G”,“V”

使用ECB,CBC,CFB,OFB,CCM或CTR

“D0”0x44,0x30“B”,“D”,“E”

模式进行数据加密

“D1”0x44,0x31非对称密钥数据加密“B”,“D”,“E”

“E0”0x45,0x30EMV/芯片发行方主密钥:应用密文“X”

“E1”0x45,0x31“X”

EMV/芯片发行方主密钥:安全报文的机密性

“E2”0x45,0x32EMV/芯片发行方主密钥:安全报文的完整性“X”

“E3”0x45,0x33EMV/芯片发行方主密钥:数据鉴别码“X”

“E4”0x45,0x34EMV/芯片发行方主密钥:动态数据“X”

“E5”0x45,0x35EMV/芯片发行方主密钥:卡片个人化“X”

EMV/chipIssuerMasterKey:Other

“E6”0x45,0x36“X”

EMV/芯片发行方主密钥:其他

“I0”0x49,0x30初始向量“N”

“K0”0x4B,0x30密钥加密或封装“B”,“D”,“E”

“K1”0x4B,0x31TR-31密钥分组保护密钥“B”,“D”,“E”

“B”,“D”,“E”,“S”,

“K2”0x4B,0x32TR-34非对称密钥

“V”

“K3”0x4B,0x33用于密钥协商/密钥封装的非对称密钥“B”,“D”,“E”,“X”

“K4”0x4B,0x34ISO20038密钥分组保护密钥“B”,“D”,“E”

“M0”0x4D,0x30ISO16609MAC算法1(使用TDEA)“C”,“G”,“V”

“M1”0x4D,0x31ISO9797-1MAC算法1“C”,“G”,“V”

“M2”0x4D,0x32ISO9797-1MAC算法2“C”,“G”,“V”

“M3”0x4D,0x33ISO9797-1MAC算法3“C”,“G”,“V”

GB/TXXXXX—XXXX

“M4”0x4D,0x34ISO9797-1MAC算法4“C”,“G”,“V”

“M5”0x4D,0x35ISO9797-1MAC算法5“C”,“G”,“V”

“M6”0x4D,0x36CMAC“C”,“G”,“V”

“M7”0x4D,0x36HMAC“C”,“G”,“V”

“P0”0x50,0x30PIN加密“B”,“D”,“E”

“S0”0x53,0x30用于数字签名的非对称密钥“S”,“V”

“S1”0x53,0x31非对称密钥对,CA密钥“S”,“V”

“S”,“V”,“T”,“B”,

“S2”0x53,0x32非对称密钥对,非X9.24密钥

“D”,“E”

“V0”0x56,0x30PIN校验KPV,其他算法“C”,“G”,“V”

“V1”0x56,0x31PIN校验,IBM3624“C”,“G”,“V”

“V2”0x56,0x32PIN校验,VISAPVV“C”,“G”,“V”

数字字符保留以便专用,使用方式因密钥使用规则而异

注:其中某些用法可能同时适用于对称密钥和非对称密钥。使用标识“K0”适用于TDEAKEK和RSA密钥交换密钥。本

表中不再一一列举。本文后续版本可能包括其他密钥使用类型。

密钥使用字段赋值的具体要求,如下所述。

非对称密钥数据加密-公钥和私钥对,用于直接加密或解密数据(例如,使用RSA或椭圆曲线ECIES加密PAN)。如果

使用ECIES,则派生出的加密密钥和MAC密钥是临时的,不会泄露出SCD。注意,当对称密钥封装在数字信封中时,

即使不存储或返回对称密钥,标识符字段的值也不为D1。

非对称密钥对-非对称公私钥对,用于生成和验证数字签名、密钥交换或上述两者。

非对称密钥对,密钥交换-非对称公私钥对,用于加解密其他用于传输的密钥。使用模式“T”表示密钥也可以用于验证密

钥交换(例如,计算TR-34新鲜度挑战),但不能仅用于签名。

BDK根密钥—此类密钥用于派生X9.24-1中定义的DUKPT流程的初始密钥(IPEK)。不适用于其他密钥派生过程。PED

使用初始密钥导出三种DUKPT密钥类型中的任何一种:PIN密钥、MAC密钥或数据加密密钥。当使用该密钥时,派生

密钥使用字段赋值为“X”。

CVK卡校验密钥-此类密钥用于计算卡验证码,例如使用CVV,CVC,CSC,CVC2和CVV2算法计算验证码。该密钥

还适用于校验其他验证码,校验的流程包括计算验证码并将结果与提供的值进行比较。注意,适用于CVK的密钥使用

也适用于MAC密钥。

数据加密-此类密钥可用于加密或解密数据,但不能用于其他特定的密码操作,例如PIN加密或密钥加密。

DUKPT初始密钥(即IPEK)—此类密钥作为DUKPT密钥管理方案中的初始密钥发送到PIN输入设备。当使用该密钥

时,派生密钥使用字段赋值为“X”。

EMV/芯片发行方主密钥:应用密文-此类密钥用于派生出EMV芯片卡主密钥,该密钥用于产生应用密文(TC,ARQC

或AAC)。

EMV/芯片发行方主密钥:卡片个人化—此类密钥用于派生EMV芯片卡主密钥,该密钥用于个人化期间保护卡数据。

EMV/芯片发行方主密钥:数据鉴别码-此类密钥用于派生EMV芯片卡主密钥,该密钥用于产生DAC。

EMV/芯片发行方主密钥:动态数据-此类密钥用于派生EMV芯片卡主密钥,该密钥用于产生动态数据。

EMV/芯片发行方主密钥:安全报文的机密性—此类密钥用于派生EMV芯片卡主密钥,该密钥用于保证报文的机密性。

EMV/芯片发行方主密钥:安全报文的完整性-此类密钥用于派生EMV芯片卡主密钥,该密钥用于保证报文的完整性。

EMV/芯片发行方主密钥:其他-此类密钥用于派生EMV芯片卡主密钥,该密钥用于任何其他目的。

注意:由EMV和使用EMV卡的卡协会编写的相关标准定义EMV密钥的使用、生成和管理要求。本文对此不做定义。

初始向量(IV)-初始向量,作为需要IV的加密工作模式的输入,例如,MAC,数据加密/解密等。IV不是密钥,除用

作初始输入值之外,不用于其他目的。注意,由于IV不是密钥,适合于IV的密钥使用为“N”。报头中的算法字段标识

了使用IV的算法。

ISO16609MAC算法1(使用TDEA)—此类密钥用于使用ISO16609算法1计算(生成)或验证MAC,不与其他MAC

算法一起使用。

GB/TXXXXX—XXXX

ISO9797-1MAC算法1—此类密钥可用于使用ISO9797-1算法1计算(生成)或验证MAC,不与其他MAC算法一起

使用。

ISO9797-1MAC算法2-此类密钥可用于使用ISO9797-1算法2计算(生成)或验证MAC,不与其他MAC算法一起使

用。

ISO9797-1MAC算法3—此类密钥可用于使用ISO9797-1算法3计算(生成)或验证MAC,不与其他MAC算法一起

使用。

ISO9797-1MAC算法4—此类密钥可用于使用ISO9797-1算法4计算(生成)或验证MAC,不与其他MAC算法一起

使用。

ISO9797-1MAC算法5—此类密钥可用于使用ISO9797-1算法5计算(生成)或验证MAC,不与其他MAC算法一起

使用。

密钥加密或封装-密钥加密密钥(KEK),仅用于加密或解密其他密钥,或者用于派生用作上述目的的密钥。注意,此类

密钥可以用于认证加密,密钥或从该密钥派生的密钥可同时用于加密运算和完整性校验。注意,此类密钥用法不适用于

TR-31密钥分组保护密钥。

PIN加密—此类密钥用于保护PIN,可以与任何PIN格式一起使用,也可以与任何PIN加密方法一起使用,但不能用于

除PIN或PIN分组以外的其他数据。

TR-31密钥分组保护密钥—此类密钥由密钥分组加密密钥和密钥分组MAC密钥派生,此密钥无其他用途。

PIN验证,KPV和其他算法-此类密钥用于PIN校验,适用于除IBM3624或VisaPVV以外的算法。此类密钥不能用于

IBM3264或VisaPVV验证算法,也不能用于PIN校验以外的其他功能。

PIN验证,IBM3624—此类密钥用于IBM3624PIN偏移量生成过程,或使用IBM3624算法校验PIN。此类密钥不能

用于其他验证算法,也不能用于PIN校验以外的其他功能。

PIN验证,VISAPVV—此类密钥用于生成PIN校验值(PVV)或使用VisaPVV算法校验PIN。此类密钥不能用于其他

验证算法,也不能用于PIN校验以外的其他功能。

A.2.4算法

算法字段定义了密钥适用的算法。报头的字节7标识了算法。表A.4给出了当前定义的该字段的赋值。

表A.4算法赋值定义

值十六进制值定义

“A”0x41AES

“D”0x44DEA

“E”0x45椭圆曲线

“H”0x48HMAC-SHA-1

“I”0x49HMAC-SHA-2

“J”0x4AHMAC-SHA-3

“R”0x52RSA

“S”0x53DSA

“T”0x54TDEA(3DES)

数字值保留以便专用

GB/TXXXXX—XXXX

A.2.5使用模式

使用模式字段定义密钥可以执行的操作。报头的字节8标识了使用模式。表A.5给出了当前定义的该

字段的赋值。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论