中国金融集成电路IC卡借记贷记规范v2安全部分.docx

上传人:b****4 文档编号:3926956 上传时间:2022-11-26 格式:DOCX 页数:72 大小:65.59KB
下载 相关 举报
中国金融集成电路IC卡借记贷记规范v2安全部分.docx_第1页
第1页 / 共72页
中国金融集成电路IC卡借记贷记规范v2安全部分.docx_第2页
第2页 / 共72页
中国金融集成电路IC卡借记贷记规范v2安全部分.docx_第3页
第3页 / 共72页
中国金融集成电路IC卡借记贷记规范v2安全部分.docx_第4页
第4页 / 共72页
中国金融集成电路IC卡借记贷记规范v2安全部分.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

中国金融集成电路IC卡借记贷记规范v2安全部分.docx

《中国金融集成电路IC卡借记贷记规范v2安全部分.docx》由会员分享,可在线阅读,更多相关《中国金融集成电路IC卡借记贷记规范v2安全部分.docx(72页珍藏版)》请在冰豆网上搜索。

中国金融集成电路IC卡借记贷记规范v2安全部分.docx

中国金融集成电路IC卡借记贷记规范v2安全部分

中国金融集成电路(IC)卡

借记/贷记规范

第四部分:

安全规范

 

中国金融集成电路(IC)卡标准修订工作组

二零零四年九月

目次

1.引言1

2.范围1

3.参考资料1

4.定义1

5.缩略语和符号4

6.脱机数据认证6

6.1密钥和证书7

6.1.1认证中心7

6.1.2公开密钥对7

6.2静态数据认证(SDA)8

6.2.1密钥和证书11

6.2.2认证中心公钥获取13

6.2.3发卡行公钥获取13

6.2.4签名的静态应用数据验证14

6.3动态数据认证(DDA)15

6.3.1密钥和证书18

6.3.2认证中心公钥的获取20

6.3.3发卡行公钥的获取20

6.3.4IC卡公钥的获取22

6.3.5标准动态数据认证23

6.3.6复合动态数据认证/应用密文生成(CDA)25

7.应用密文和发卡行认证30

7.1应用密文产生30

7.1.1数据源选择30

7.1.2应用密文算法31

7.2发卡行认证31

7.3密钥管理31

8.安全报文31

8.1报文格式32

8.2报文完整性及其验证32

8.2.1命令数据域32

8.2.2MAC过程密钥分散32

8.2.3MAC的计算32

8.3报文私密性32

8.3.1命令数据域32

8.3.2加密过程密钥分散33

8.3.3加密解密33

8.4密钥管理33

9.卡片安全33

9.1共存应用33

9.2密钥的独立性33

9.3卡片内部安全体系33

9.3.1卡片内部安全目标33

9.3.2卡片内部安全概述33

9.3.3文件控制信息34

9.3.4文件控制参数36

9.3.5IC卡本地数据建议访问条件37

9.4卡片中密钥的种类37

10.终端安全38

10.1终端数据安全性要求38

10.1.1一般要求38

10.1.2安全模块的物理安全要求39

10.1.3安全模块的逻辑安全要求39

10.2终端设备安全性要求39

10.2.1防入侵设备39

10.2.2PINPAD安全性40

10.3终端密钥管理要求41

10.3.1终端密钥种类41

10.3.2认证中心公钥管理42

11.密钥管理体系43

11.1认证中心公钥管理43

11.1.1认证中心公钥生命周期44

11.1.2认证中心公钥对泄漏46

11.1.3认证中心密钥管理策略47

11.2发卡行公钥管理49

11.3发卡行对称密钥管理50

11.3.1安全性要求50

11.3.2功能性要求50

12.安全机制51

12.1对称加密机制51

12.1.1加密解密51

12.1.2报文认证码53

12.1.3过程密钥分散54

12.1.4子密钥分散56

12.2非对称加密机制57

12.2.1用于报文恢复的数字签名方案57

13.认可的算法58

13.1对称加密算法58

13.1.1DES58

13.1.2SSF3358

13.2非对称加密算法58

13.2.1RSA58

13.3哈希算法60

13.3.1SHA-160

图表

图表61:

SDA证书和公钥体系结构10

图表62:

DDA证书和公钥体系结构18

图表111:

认证中心公钥的分发45

图表112:

发卡行公钥的分发46

图表121单长度过程密钥的产生55

图表122128位分组加密算法过程密钥的产生56

表格

表格61:

SDA和DDA的比较6

表格62:

SDA,DDA和CDA处理优先级7

表格63:

由认证中心签名的发卡行公钥数据(即哈希算法的输入)11

表格64:

由发卡行签名的静态应用数据(即哈希算法的输入)12

表格65:

静态数据认证用到的数据对象12

表格66从发卡行公钥证书恢复数据的格式13

表格67:

从签名的静态应用数据恢复数据的格式14

表格68:

由认证中心签名的发卡行公钥数据(即哈希算法的输入)18

表格69:

由发卡行签名的IC卡公钥数据(即哈希算法的输入)19

表格610:

动态认证中的公钥认证所需的数据对象20

表格611:

从发卡行公钥证书恢复数据的格式20

表格612:

从IC卡公钥证书恢复数据的格式22

表格613:

需签名的动态应用数据(即哈希算法的输入)23

表格614:

生成和检验动态签名所需要的其它数据对象24

表格615:

从签名的动态应用数据恢复的数据格式24

表格616:

需签名的动态应用数据(即哈希算法的输入)26

表格617:

IC卡动态数据的内容26

表格618:

在CDA中GENERATEAC命令返回的数据对象27

表格619:

生成AAC时GENERATEAC命令返回的数据对象27

表格620:

发卡行应用数据27

表格621:

从签名动态应用数据恢复的数据的格式28

表格71:

建议的应用密文生成中使用的最小数据集30

表格72:

可选的应用密文生成数据源31

表格81:

以完整性和认证为目的的安全报文的命令数据域格式32

表格82:

以私密性为目的的安全报文的命令数据域格式32

表格91:

基本文件的访问条件36

表格92:

卡片上保存的密钥种类37

表格101:

终端内部保存的密钥种类41

表格102:

存储在终端中的认证中心公钥相关数据元的最小集42

表格111:

管理的对称密钥类型50

表格131:

SSF33同DES的比较58

表格132:

对模长字节数的强制上限59

1.引言

本规范包含了中国金融集成电路(IC)卡借记贷记应用安全功能方面的要求,包括:

IC卡脱机数据认证方法,IC卡和发卡行之间的通讯安全,以及相关的对称及非对称密钥的管理。

本文包括以下具体内容:

●脱机数据认证

●应用密文和发卡行认证

●安全报文

●卡片安全

●终端安全

●对称和非对称密钥管理体系

此外,本文还包括了为实现这些安全功能所涉及的安全机制和获准使用的加密算法的规范。

2.范围

《中国金融集成电路(IC)卡借记/贷记应用安全规范》适用于由银行发行或受理的金融借记/贷记IC卡应用与安全有关的设备、卡片、终端机具及管理等。

其使用对象主要是与金融借记贷记IC卡应用相关的卡片、终端及加密设备等的设计、制造、管理、发行以及应用系统的研制、开发、集成和维护等部门(单位)。

3.参考资料

EMV规范文档

●EMV2000IntegratedCircuitCardSpecificationforPaymentSystems,Version4.0,Book2,SecurityandKeyManagement

VIS规范文档

●VISAIntegratedCircuitCardApplicationOverview,Version1.4.0

●VISAIntegratedCircuitCardCardSpecification,Version1.4.0

●VISAIntegratedCircuitCardTerminalSpecification,Version1.4.0

中国集成电路(IC)卡文件

●《中国金融集成电路(IC)卡规范》第1部分:

卡片规范(V1.0)

●《中国金融集成电路(IC)卡规范》第2部分:

应用规范(V1.0)

●《中国金融集成电路(IC)卡规范》第3部分:

终端规范(V1.0)

4.定义

以下的术语用于本规范:

提前回收-在已公布的密钥失效日期到期前回收密钥。

应用-包括终端和卡片之间的应用协议及其相关的数据集合。

非对称加密技术-采用两种相关变换的加密技术:

公开变换(由公钥定义)和私有变换(由私钥定义)。

这两种变换存在这样一种特性:

在获得公开变换的情况下是不能够通过计算得出私有变换的。

认证–确认一个实体所宣称的身份的措施。

字节–8个二进制位。

卡片–支付系统中定义的支付卡片。

证书–由发行证书的认证中心使用其私钥对实体的公钥,身份信息以及其它相关信息进行签名,形成的不可伪造的数据。

证书回收–由发行证书的实体废除一个有效证书的过程。

认证中心–证明公钥和其它相关信息同其拥有者相关联的可信的第三方机构。

密文–加密的信息。

命令–终端向IC卡发出的一个操作并要求返回应答的报文。

泄露–机密或安全被破坏。

串联–通过把第二个元素的字节添加到第一个元素的结尾将两个元素连接起来。

每个元素中的字节在结果串中的顺序和原来从IC卡发到终端时的顺序相同,即,高位字节在前。

在每个字节中比特按由高到低的顺序排列。

一组元素或对象可以按下面的方式连接:

将第一对元素连接成新的元素,把它作为第一个元素再连接下一个元素,以此类推。

加密算法–为了隐藏或显现数据信息内容的变换算法。

密钥有效期–某个特定的密钥被授权可以使用的时间段,或者某个密钥在给定的系统中有效的时间段。

数据完整性–数据没有被以未授权的方式改变或者破坏的特性。

解密–对应加密过程的逆操作。

数字签名–对数据的一种非对称加密变换。

该变换可以使数据接收方确认数据的来源和完整性,保护数据发送方发出和接收方收到的数据不被第三方篡改,也保护数据发送方发出的数据不被接收方篡改。

加密–基于某种加密算法对数据作可逆的变换从而生成密文的过程。

金融交易–在持卡人和商户或收单行之间发生的通过支付来换取货物或服务的行为。

哈希函数–将一个位串映射成固定长度的位串的函数,它满足以下两个特性:

●给定一个输出,不可能通过计算得到与该输出对应的输入;

●给定一个输入,不可能通过计算得到具有相同的输出的另一个输入。

另外,如果哈希函数要求防冲突,它还必须满足以下特性:

●不可能通过计算找到两个不同的输入具有相同的输出。

哈希结果–哈希函数输出的位串。

集成电路–被设计用来完成处理和/或存储功能的电子器件。

集成电路卡–内部封装一个或多个集成电路,来完成处理和存储功能的卡片。

接口设备–终端上插入IC卡的部分,包括诸如机械和电气等相关设备。

密钥–加密转换中控制操作的一组符号。

密钥失效日期-用特定密钥产生的签名不再有效的最后期限。

用此密钥签名的发卡行证书必须在此日期或此日期之前失效。

在此日期后,此密钥可以从终端删除。

密钥导入–产生、分发和开始使用密钥对的过程。

密钥生命周期–密钥管理的所有阶段,包括计划、生成、回收、销毁和存档。

密钥更换–回收一个密钥,同时导入一个密钥来代替它。

密钥回收–回收使用中的密钥以及处理其使用后的遗留问题的密钥管理过程。

密钥回收可以按计划回收或提前回收。

密钥回收日期–在此日期后,任何仍在使用的合法卡不会包含用此密钥签名的证书。

因此,密钥可以从终端上被删除。

对按计划的密钥回收,密钥回收日期应等同于密钥失效日期。

密钥撤回–作为密钥回收的一部分,将密钥从服务中删除的过程。

逻辑泄露–由于密码分析技术和/或计算能力的提高,对密钥造成的泄露。

报文-由终端发送给卡片(或反之)的一串字节,不包括传输控制字符。

报文认证码–对数据的一种对称加密变换,为保护数据发送方发出和接收方收到的数据不被第三方伪造。

填充–向数据串某一边添加附加位。

密码键盘–用于输入个人密码的一组数字和命令按键。

明文–未加密的信息。

物理泄露–由于没有安全的保护,或者硬件安全模块的被盗或被XX的人存取等事实对密钥造成的泄露。

计划回收–按照公布的密钥失效日期进行的密钥回收。

潜在泄露–密码分析技术和/或计算能力的提高达到了可能造成某个特定长度的密钥的泄露的情况。

私钥–在一个实体使用的非对称密钥对中仅被该实体使用的密钥。

在数字签名方案中,私钥定义了签名函数。

公钥–在一个实体使用的非对称密钥对中可以被公众使用的密钥。

在数字签名方案中,公钥定义了验证函数。

公钥证书-由认证中心签名的不可伪造的某个实体的公钥信息。

响应–IC卡接收到命令报文经过处理后返回给终端的报文。

对称加密技术–产生方和接受方使用同一个保密密钥进行转换的加密技术。

如果不知道保密密钥,是无法通过计算得到产生方和接受方的转换信息的。

终端–在交易点安装的设备,和IC卡一起完成金融交易。

它包括接口设备,也可以包括其它的部件和接口,例如和主机的通讯。

5.缩略语和符号

下面为本规范用到的缩略语和符号:

AAC应用认证密文(ApplicationAuthenticationCryptogram)

AC应用密文(ApplicationCryptogram)

AFL应用文件定位器(ApplicationFileLocator)

AID应用标识符(ApplicationIdentifier)

AIP应用交互特征(ApplicationInterchangeProfile)

ADF应用定义文件(ApplicationDefinitionFile)

APDU应用协议数据单元(ApplicationProtocolDataUnit)

ARC授权响应码(AuthorizationResponseCode)

ARPC授权响应密文(AuthorizationResponseCryptogram)

ARQC授权请求密文(AuthorizationRequestCryptogram)

ATC应用交易序号(ApplicationTransactionCounter)

ATM自动柜员机(AutomatedTellerMachine)

b二进制(Binary)

CBC密码块链接(CipherBlockChaining)

CDOL卡片风险管理数据对象列表(CardRishManagementDataObjectList)

CLA命令报文的类别字节(ClassByteoftheCommandMessage)

cn压缩数字(compressnumeric)

DDA动态数据认证(DynamicDataAuthentication)

DDOL动态数据认证数据对象列表(DynamicDataAuthenticationDataObjectList)

DES数据加密标准(DataEncryptionStandard)

ECB电子密码本(ElectronicCodeBook)

EF基本文件(ElementaryFile)

FIPS联邦信息处理标准(FederalInformationProcessingStandard)

hex.十六进制数(Hexadecimal)

IC集成电路(IntegratedCircuit)

ICC集成电路卡(IntegratedCircuitCard)

IEC国际电工委员会(InternationalElectrotechnicalCommission)

IFD接口设备(InterfaceDevice)

INS命令报文的指令字节(InstructionByteofCommandMessage)

KM主密钥(MasterKey)

KS过程密钥(SessionKey)

LDDIC卡动态数据长度(LengthoftheICCDynamicData)

MAC报文认证码(MessageAuthenticationCode)

MMYY月,年(Month,Year)

N数字(Numeric)

NCA认证中心公钥模长(LengthoftheCertificationAuthorityPublicKeyModulus)

NI发卡行公钥模长(LengthoftheIssuerPublicKeyModulus)

NICIC卡公钥模长(LengthoftheICCPublicKeyModulus)

P1参数1(Parameter1)

P2参数2(Parameter2)

PAN主帐号(PrimaryAccountNumber)

PCA认证中心公钥(CertificationAuthorityPublicKey)

PI发卡行公钥(IssuerPublicKey)

PICIC卡公钥(ICCPublicKey)

PIN个人鉴别码(PersonalIdentificationNumber)

SFI短文件标识符(ShortFileIdentifier)

RID注册的应用提供商标识(RegisteredApplicationProviderIdentifier)

RSARivest,Shamir,Adleman算法

SCA认证中心私钥(CertificationAuthorityPrivateKey)

SDA静态数据认证(StaticDataAuthentication)

SI发卡行私钥(IssuerPrivateKey)

SICIC卡私钥(ICCPrivateKey)

SHA安全哈希算法(SecureHashAlgorithm)

TC交易证书(TransactionCertificate)

TLV标签,长度,值(TagLengthValue)

var.变长(Variable)

以下符号适用于本规范:

‘0’-‘9’和‘A’-‘F’16进制数字

A:

=BA被赋予数值B

A=B数值A等于数值B

A≡Bmodn整数A与B对于模n同余,即存在一个整数d,使得(A-B)=dn

AmodnA模n的余数,即:

唯一的整数r,0≤r

A=dn+r

A/nA整除n,即:

唯一的整数d,存在一个整数r,0≤r

A=dn+r

Y:

=ALG(K)[X]用密钥K,通过64位或128位分组加密方法,对64位或128位数据块X进行加密(在13.1节中有详细说明)

X=ALG-1(K)[Y]用密钥K,通过64位或128位分组加密方法,对64位或128位数据块Y进行解密(在13.1节有详细说明)

Y:

=Sign(SK)[X]用私钥SK,通过非对称可逆算法,对数据块X进行签名(在13.2节中有详细说明)

X=Recover(PK)[Y]用公钥PK,通过非对称可逆算法,对数据块Y进行恢复(在13.2节中有详细说明)

C:

=(A||B)将m位数字B和n位数字A进行链接,定义为:

C=2mA+B

H:

=Hash[MSG]用160位的HASH函数对任意长度的报文MSG进行HASH运算。

以下术语适用于本规范:

专用的本规范未定义和/或在本规范范围之外的。

必须表示一种强制性的要求。

应该表示一种建议。

可选表示可自行决定支持或不支持

6.脱机数据认证

脱机数据认证是终端采用公钥技术来验证卡片数据的方法,脱机数据认证有2种形式:

⏹静态数据认证(SDA)

⏹动态数据认证(DDA)

在静态数据认证过程中,终端验证卡片上静态数据的合法性,SDA能确认卡片上的发卡行应用数据自卡片个人化后没有被非法篡改。

在动态数据认证过程中,终端验证卡片上的静态数据以及卡片产生的交易相关信息的签名,DDA能确认卡片上的发卡行应用数据自卡片个人化后没有被非法篡改。

DDA还能确认卡片的真实性,防止卡片的非法复制。

DDA可以是标准动态数据认证或复合动态数据认证/应用密文生成(CDA)。

AIP指明了IC卡支持的脱机数据认证方法。

脱机数据认证的结果影响到卡片和终端是执行脱机交易,联机授权还是拒绝交易。

表格61列出了SDA和DDA的比较。

表格61:

SDA和DDA的比较

SDA

DDA

确认卡片数据未被篡改

防止卡片复制

要求卡片支持非对称加密算法

要求终端支持非对称加密算法

包含发卡行公钥证书

包含卡片公钥证书

公钥解密次数

2

3

脱机数据认证仅执行一种验证方式,三种脱机验证方式的优先级从高到低依次为:

CDA,标准DDA,SDA。

表格62列出了卡片和终端支持不同脱机验证方式的情况下脱机验证的执行情况。

表格62:

SDA,DDA和CDA处理优先级

AIP指示卡片支持

终端支持SDA

终端支持SDA和标准DDA

终端支持SDA,标准DDA和CDA

SDA

SDA

SDA

SDA

SDA和标准DDA

SDA

标准DDA

标准DDA

SDA,标准DDA和CDA

SDA

标准DDA

CDA

6.1密钥和证书

终端通过采用公钥算法验证IC卡上的签名和证书来实现脱机数据认证。

公钥技术使用私钥产生加密数据(证书或签名),该加密数据可以被公钥解密而用于验证和数据恢复。

RSA公钥模的位长度应是8的倍数,最左边(高)字节的最左(高)一位为1。

所有的长度以字节为单位。

如果卡片上的静态应用数据不是唯一的(比如卡片针对国际和国内交易使用不同的CVM),卡片必须支持多IC卡公钥证书(或静态数据签名),如果被签名的静态应用数据在卡片发出后可能会被修改,卡片必须支持IC卡公钥证书(或静态数据签名)的更新。

6.1.1认证中心

脱机数据认证需要一个认证中心(CA),认证中心拥有高级别安全性的加密设备并用来签发发卡行公钥证书。

每一台符合本规范的终端都应为每一个它能识别的应用保存相应的认证中心公钥。

6.1.2公开密钥对

认证中心和发卡行必须使用13.2节中指定的非对称算法产生认证中心公私钥对,发卡行公私钥对以及IC卡公私钥对。

在本章中对脱机数据认证过程及相关数据元素的描述以RSA算法为例。

6.1.2.1认证中心公私钥对

认证中心最多会产生6个公私钥对,每个公私钥对都将分配一个唯一的认证中心公钥索引。

认证中心公钥及其索引由收单行加载到终端,认证中心私钥由认证中心保管并保证其私密性和安全性。

终端必须有

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1