版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国银联金融IC卡支付系统公钥认证技术规范V1.0(草案)中国银联二五年九月目录1引言41.1银联金融IC卡支付系统公钥认证技术规范概述41.2适用范围41.3规范性引用文件41.4定义和缩写51.5编码符号表示71.6版本控制72银联金融IC卡支付系统公钥认证体系概述82.1中国银联金融IC卡支付系统公钥认证体系82.2银联金融IC卡支付系统的IC卡数据认证8静态数据认证(SDA)9标准动态数据认证11复合动态数据认证/应用密文生成(CDA)132.3银联金融IC卡支付系统使用的公钥种类133成员发卡行公钥证书申请153.1发卡行公钥输入文件153.2文件命名153.3未签名发卡行公钥输入扩
2、展163.4自签名发卡行公钥数据164银联对发卡行公钥证书申请的响应204.1银联对发卡行公钥证书申请中签名的验证204.2银联IC卡根CA签发发卡行公钥证书22发卡行公钥证书输出文件内容22文件命名约定23未签名发卡行公钥输出扩展23签名的发卡行公钥证书24根CA单独签名255验证发卡行公钥证书276银联金融IC卡根CA公钥文件296.1根CA公钥文件内容296.2文件命名约定296.3未签名根CA公钥输出扩展296.4自签名根CA公钥307成员机构验证根CA公钥328获取根CA公钥341 引言1.1 银联金融IC卡支付系统公钥认证技术规范概述银联金融IC卡支付系统公钥认证技术规范是对银联金
3、融IC卡支付系统公钥认证业务规范所涉及的技术细节的规范,具体内容包括成员发卡行公钥证书申请的技术细节;银联金融IC卡根CA对成员发卡行公钥证书响应,包括验证发卡行公钥证书申请、签发发卡行公钥证书的技术细节;成员发卡行验证银联金融IC卡根CA对其签发的发卡行公钥证书的技术细节;银联金融IC卡根CA公钥文件的技术细节;成员机构验证和接受银联金融IC卡根CA公钥的技术细节;和成员机构获取银联金融IC卡根CA公钥的途径。银联金融IC卡支付系统公钥认证机构、各个成员发卡行、和成员收单机构应遵从本技术规范以确保整个系统的安全性和整体信任程度。具体的业务流程见银联金融IC卡支付系统公钥认证业务规范。银联金融
4、IC卡支付系统公钥认证技术规范和银联金融IC卡支付系统公钥认证业务规范是银联金融IC卡支付系统公钥认证服务的基本规范,这两个规范完全符合中国金融集成电路(IC)卡规范 (2005版),并与EMV2000标准完全兼容,同时兼容国际金融IC卡支付组织VISA、MasterCard、和JCB的支付系统。1.2 适用范围本规范适用于中国银联金融IC卡支付系统公钥认证服务的服务提供机构和服务接受机构包括中国银联金融IC卡支付系统公钥认证管理机构、接受银联金融IC卡支付系统公钥认证服务的银联成员机构、和银联成员机构授权的银联金融IC卡支付系统公钥认证服务的代理受理机构。1.3 规范性引用文件1中国金融集成
5、电路(IC)卡规范 (2005版)2银联卡业务运作规章3银联金融IC卡支付系统公钥认证业务规范4银联卡密钥安全管理规则5银行卡联网联合安全规范6银联标识卡生产企业安全管理指南7银联标识卡个人化企业安全和质量8银行卡发卡行标识代码及卡号9银联卡卡片规范10银行卡磁条信息格式和使用规范11入网机构标识码12商户类别代码13银行卡信息交换术语14银行磁条卡自动柜员机(ATM)应用规范15银行磁条卡销售点终端规范16银行磁条卡自动柜员机(ATM)应用规范17中国银联MIS商户系统技术规范18中国银联POS终端规范19中国银联代理业务ATM终端技术规范20中国银联银行卡联网联合技术规范2.0版参见银联金
6、融IC卡支付系统公钥认证业务规范,根CA和成员机构除了必须遵守本规范外,还有义务遵守上述20个规范。1.4 定义和缩写中国金融集成电路(IC)卡规范 (2005版):系中华人民共和国金融行业标准之一,由中国人民银行起草并于2005年3月10日发布/实施,用来规范金融行业集成电路(IC)卡应用的规范。BIN:发卡机构标识码,由支付系统分配的6位号码,用于识别会员应用、授权、清算、或结算。银联标准卡的BIN的分配和管理统一由中国银联负责。EMV:由Europay,MasterCard,及Visa国际组织共同开发的技术规范,该技术规范为芯片技术在支付行业的使用创造标准并确保其全球互操作性。IIN:金
7、融机构代码(IIN),由中国银联按照银联入网机构标识码规范分配给各成员金融机构的金融机构代码,唯一识别中国银联成员机构,由8位数字组成。成员机构:在本规范中指中国银联成员机构,遵守相关入网规范。中国银联成员机构是经中国银联董事会批准,发行银联卡和办理银联卡收单业务的金融机构或其它组织。会员机构:在本规范中指成员机构注册成为银联金融IC卡支付系统公钥认证服务会员机构。中国银联金融IC卡支付系统根CA:由中国银联股份有限公司授权银联金融认证中心有限公司,依照中国金融集成电路(IC)卡规范 (2005版)要求,建立的服务于金融行业IC卡安全应用的根认证中心;实现该根认证中心功能的应用系统是“银联金融
8、IC卡根CA系统”,由中国银联统一管理,以下简称“根CA系统”。发卡行 (Issuer):中国金融集成电路(IC)卡规范 (2005版)指明,发卡行是发行带有支付系统标签的信用卡或专用卡的支付系统成员行。收单机构(Acquirer):中国金融集成电路(IC)卡规范 (2005版)指明,收单机构是支付系统成员,负责签约商户或在现金支付中支付货币给持卡人,并直接或间接地参与交易交换。PAN:主帐号。RID:注册的应用提供商标识。公钥密码算法:中国金融集成电路(IC)卡规范 (2005版)第七部分第十二章规定的公钥密码算法。哈希算法:中国金融集成电路(IC)卡规范 (2005版)第七部分第十二章规定
9、的哈希算法。SDA:静态数据认证,脱机数据认证的一种,通过这种方法终端验证发卡时存放在卡上的密文。这种认证用于防止某些类型的伪造,但不能防止复制。DDA :动态数据验证,脱机数据认证的一种,芯片卡产生根据特定交易数据元加密生成的密文,终端验证该值以防止非法复制。CDA:复合动态数据认证/应用密文生成,脱机数据认证的一种。终端(Terminal):在交易点安装的设备,和IC卡一起完成金融交易它包括接口设备,POS、ATM设备。1.5 编码符号表示本规范定义了一些编码方式,这些编码方式遵从中国金融集成电路(IC)卡规范 (2005版),并与EMV2000标准完全兼容,同时兼容国际金融IC卡支付组织
10、VISA、MasterCard、和JCB的有关规范并与它们的支付系统兼容。这些编码方式如下:b: 二进制编码。这些数据是无符号二进制数或比特。例如发卡行公钥指数为二进制编码, 十进制数值为3或65537,二进制编码用十六进制保存为十六进制03或01 00 01。cn:压缩数字编码。由两个十六进制字符09组的序列表示一个数字,具有固定长度,不足位在右边以F填充。如主帐号(PAN)十进制数字由长度至多10的cncn编码后为:61 23 56 78 90 12 3F FF。n:数字编码。由两个十六进制字符09组的序列表示一个数字,具有固定长度,左边以十六进制字符0补足。例如以长度为10的n 编码表示
11、十进制数值1234567为:00 01 23 45 67。1.6 版本控制本规范的版本是银联金融IC卡支付系统公钥认证技术规范V1.0 (2005)版。中国银联将在需要时对本规范进行修订,其后的修订版本高于V1.0,同时在修订版定稿后进行发布。2 银联金融IC卡支付系统公钥认证体系概述2.1 中国银联金融IC卡支付系统公钥认证体系遵循中国金融集成电路(IC)卡规范 (2005版),中国银联金融IC卡支付系统公钥认证体系为所有遵循银联标准的金融IC卡提供公钥证书认证服务,也同时为其它金融IC卡数据认证提供途径(如成员机构终端提供的对外卡数据认证)。中国银联金融IC卡支付系统公钥认证体系,首先包括
12、银联金融IC卡支付系统CA(简称根CA)。根CA负责生成根CA公私钥对并管理根CA的公私钥信息、签发发卡行CA公钥证书,将根CA公钥信息安全传递给收单机构,是中国银联金融IC卡证书体系的信任根。同时,中国银联金融IC卡支付系统公钥认证体系也包括各个发卡行CA。它们是根CA的子CA,负责生成发卡行CA的公私钥对,向根CA申请并管理自己的公钥证书。此外,发卡行CA与发卡系统交互,为IC卡签署静态应用数据以便进行静态数据认证(SDA),或生成IC卡公私钥对、签发IC卡证书以便进行动态数据认证(DDA),同时将自己的公钥证书、IC卡公钥证书、IC卡私钥、RID、和根CA公钥标识也写入IC卡。按照中国金
13、融集成电路(IC)卡规范 (2005版),中国银联金融IC卡支付系统还包括银联标准卡受理环境,收单机构要负责建立终端管理系统,将根CA公钥分发到受理终端(POS/ATM),并对远程终端进行设备管理、状态监控及信息管理(包括程序、参数下载)。这样,在中国金融集成电路(IC)卡规范 (2005版)标准卡支付系统中,IC卡存放IC卡证书及IC卡私钥(或静态数据)和发卡行公钥证书、RID、以及根CA公钥标识;受理终端存放根CA证书和相关的RID。在支付过程中,受理终端通过验证IC卡的应用数据的签名进行IC卡数据认证,其过程是首先读取IC卡内的RID、IC卡证书、发卡行证书、和根CA公钥标识,利用RID
14、和根CA公钥标识定位特定的根CA公钥,利用根CA公钥验证发卡行证书,利用发卡行证书验证IC卡证书,利用IC卡证书验证IC卡内的动态签名或直接利用发卡行证书验证IC卡内的静态签名。整个IC卡数据认证完全离线进行。2.2 银联金融IC卡支付系统的IC卡数据认证银联金融IC卡支付系统公钥认证在IC卡系统支付过程中的作用是进行脱机IC卡数据认证包括:l 静态数据认证(SDA)l 动态数据认证(DDA)包括1. 标准动态数据认证2. 复合动态数据认证/应用密文生成(CDA)这两种IC卡数据认证遵循中国金融集成电路(IC)卡规范 (2005版),并与EMV2000规范兼容。2.2.1 静态数据认证(SDA
15、)静态数据认证由终端验证数字签名来完成。其目的是确认存放在银联标准IC卡中关键的静态数据的合法性,以及可以发现在卡片个人化以后,对卡内的发卡行数据未经授权的改动,能有效地检测银联标准IC卡内关键静态数据的真实性。静态数据认证流程和银联标准IC卡与银联金融IC卡支付系统公钥认证体系之间的关系如图1所示:整个银联标准IC卡静态数据认证的过程说明如下:1.成员发卡行的密钥管理系统产生成员发卡行公/私钥对PI和SI,并将公钥PI传送至根CA;2.根CA用自己的私钥SCA对成员发卡行公钥PI进行数字签名,产生发卡行公钥证书,连同根CA公钥信息返回给发卡行密钥管理系统;3.发卡行密钥管理系统用发卡行私钥S
16、I对卡片静态数据进行数字签名,将签名结果和发卡行公钥证书、和其它信息包括RID及根CA公钥标识传送至发卡系统;4.发卡系统在个人化时将发卡行公钥证书和数字签名连同根CA公钥标识、RID写入每一张卡片中;5.根CA将其公钥PCA及相关信息包括公钥标识和RID,经成员收单机构传送至终端管理系统;6.成员收单机构终端管理系统把根CA公钥PCA及相关信息包括公钥标识和RID通过远程下载至终端;图1 银联IC卡静态数据认证发卡行私钥S1发卡行公钥P1认证中心私钥SCA认证中心公钥PCA签名的应用数据(由PI签名)发卡行公钥证书发卡行公钥证书 (PI由SCA签名)认证中心公钥PCAIC卡应用IC卡应用终端
17、个人化初始化交易发卡行收单行认证中心READ RECORD响应报文包含:认证中心公钥索引发卡行公钥证书签名应用数据-用PCA从发卡行公钥证书恢复SI-用PI恢复签名应用数据7.银联标准IC卡进行交易时的脱机静态数据认证,受理终端完成如下过程:l 终端从卡片中读取出发卡行公钥证书及签名数据,使用根CA公钥标识和RID找到根CA公钥PCA,由PCA恢复出发卡行公钥PI并成功验证其有效性l 终端使用恢复的发卡行公钥PI验证卡片签名数据的有效性l 终端将验证结果与卡片静态数据进行比对,保存比对结果l 将验证结果返回给卡片。2.2.2 标准动态数据认证在动态数据认证过程中,终端验证卡片上的静态数据以及卡
18、片产生的当前动态交易相关信息的签名。DDA能确认卡片上的发卡行应用数据自卡片个人化后没有被非法篡改,更重要的是DDA还能确认卡片的真实性,防止卡片的非法复制和伪造。DDA可以是标准动态数据认证或复合动态数据认证/应用密文生成(CDA)。银联标准IC卡动态数据认证如图2所示。在这种方式下,银联标准IC卡将来自卡片的动态交易数据以及由动态数据认证数据对象列表(DDOL)所标识的终端数据生成一个数字签名(见中国金融集成电路(IC)卡规范 (2005版)。银联标准IC卡标准动态数据认证的过程说明如下:1. 成员发卡行的密钥管理系统产生发卡行公私钥对SI和PI,并将发卡行公钥PI传送至根CA; 2. 根
19、CA用自己的私钥SCA对发卡行公钥进行数字签名,产生发卡行公钥证书,连同根CA公钥信息包括RID和根CA公钥标识返回给发卡行密钥管理系统;3. 发卡行为每一张银联标准IC卡产生一对公私钥对SICC和PICC并用发卡行私钥SI对IC卡公钥PICC进行数字签名,产生IC卡公钥证书;4. 发卡行密钥管理系统将发卡行公钥证书、IC卡公钥证书、和其它信息包括RID及根CA公钥标识传送至发卡系统;5. 发卡系统在个人化时将发卡行公钥证书、IC卡证书、IC卡私钥、RID及根CA公钥标识写入卡片中;6. 根CA将自己的公钥PCA和其它相关信息包括RID及根CA公钥标识经过成员收单机构传送至终端管理系统;7.
20、终端管理系统把根CA公钥PCA和其它信息包括RID及根CA公钥标识通过远程下载至终端;发卡行私钥S1发卡行公钥P1认证中心私钥SCA认证中心公钥PCAIC卡私钥SICCIC卡公钥PICC发卡行公钥证书 (PI由SCA签名)认证中心公钥PCAIC卡应用IC卡应用终端个人化初始化交易发卡行收单行认证中心READ RECORD响应报文包含:认证中心公钥索引发卡行公钥证书签名应用数据-用PCA从发卡行公钥证书恢复PI-用PI从IC卡公钥证书恢复PICC-验证IC卡公钥证书中的静态数据哈希值IC卡公钥证书(PICC由SI签名)IC卡应用发卡行公钥证书终端用SICC算动态签名INTERNAL AUTHEN
21、TICATE1或GENERATE AC2命令INTERNAL AUTHENTICATE1或含动态签名的GENERATE AC2响应用PICC验证动态签名1INTERNAL AUTHENTICATE命令(对于标准DDA)2GENERATE AC命令(对于CDA)图2 银联标准IC卡动态数据认证8. 银联标准IC卡进行交易的脱机标准动态数据认证过程如下: l 终端从卡片取出发卡行公钥证书、IC卡公钥证书、RID、和根CA公钥标识,利用RID和根CA公钥标识定位根CA公钥PCA,使用根CA公钥PCA恢复出发卡行公钥PI并成功验证其有效性,使用恢复的发卡行公钥PI恢复出IC卡公钥PICC并成功验证其有
22、效性l 终端向IC卡发送内部认证命令(INTERNAL AUTHENTICATE)(见中国金融集成电路(IC)卡规范 (2005版)请求一个动态签名;卡片对内部认证命令中的终端数据和在IC卡动态数据中指定的卡片数据进行连接,由卡片私钥SICC对该连接数据进行数字签名并返回给终端l 终端使用IC卡公钥PICC对上一步骤的数字签名进行成功验证9. 将验证结果返回给卡片。2.2.3 复合动态数据认证/应用密文生成(CDA)这种方式在第一个请求应用密文命令发出后执行(见中国金融集成电路(IC)卡规范 (2005版)。银联标准IC卡将来自卡片的数据包括应用密文以及来自终端的数据生成一个数字签名。银联复合
23、动态数据认证/应用密文生成(CDA)处理中涉及公钥的部分的具体步骤节,涉及支付部分的具体步骤见中国金融集成电路(IC)卡规范 (2005版)第七部分第5.3.6节。2.3 银联金融IC卡支付系统使用的公钥种类在银联金融IC卡支付系统中使用三种公私钥对:根CA公私钥对、成员发卡行公私钥对、和银联标准IC卡公私钥对。其作用如表1所示。表1 银联金融IC卡支付系统使用的公钥种类密钥名称存在条件用途根CA公私钥对必须存在用于对发卡行签发公钥证书发卡行公私钥对如果支持SDA和DDA用于对静态数据进行数字签名,以及对IC卡签发证书用于动态数据认证IC卡公私钥对如果支持DDA用于动态数据认证3 成员发卡行公
24、钥证书申请按照银联金融IC卡支付系统公钥认证业务规范,成员发卡行为获得银联金融IC卡根CA签发的发卡行生产型公钥证书或测试证书,需通过银联审核员向银联递交发卡行公钥输入文件。银联审核员将通知发卡行具体递交公钥输入文件的方式。发卡行公钥输入文件为电子版文件,具体格式和要求在下节规定。发卡行公钥输入文件电子版、和银联金融IC卡支付系统发卡行公钥证书工作申请表电子版(见中国银联金融IC卡支付系统公钥认证业务规范附录C)将一道由成员发卡行安全官员递交给银联审核员。3.1 发卡行公钥输入文件成员发卡行公钥输入文件是一个二进制文件,公钥输入文件由2个部分组成如表2所示。表 2 公钥输入文件字段名长度(字节
25、数)描述未签名发卡行公钥输入扩展7 + NI + e见本规范第3.3节。这里NI 是发卡行公钥模长的字节数,e 为发卡行公钥指数长度的字节数。自签名发卡行公钥数据NI见本规范第3.4节。3.2 文件命名公钥输入文件的文件名必须按YLTTTTTT.INP的格式,这里YL为前缀,TTTTTT是记录号,它标识了一个发卡行公钥证书请求。下面是一个公钥输入文件名例子:YL123456.INP。根据银联金融IC卡支付系统公钥认证业务规范,记录号由银联审核员统一管理和分发,唯一标识一个发卡行的一次公钥证书申请,发卡行必须使用银联审核员指定的记录号。3.3 未签名发卡行公钥输入扩展未签名发卡行公钥输入扩展是发
26、卡行公钥输入文件的第一部分。该输入扩展提供发卡行公钥信息,具体格式见表3。表 3 未签名发卡行公钥输入扩展字段名长度(字节数)描述编码格式记录头1 十六进制值 22b发卡行公钥模长1 发卡行公钥模长(NI)的十六进制值(字节数)b发卡行公钥模Var 未经签名的发卡行公钥模(NI)b发卡行公钥指数长度1 发卡行公钥指数长度(e)(字节数)b发卡行公钥指数Var发卡行公钥指数b发卡行公钥算法标识1标识用于发卡行公钥的数字签名算法,见中国金融集成电路(IC)卡规范 (2005版)第七部分第12章b记录号3 发卡行公钥证书申请记录号n 63.4 自签名发卡行公钥数据自签名发卡行公钥数据是成员发卡行公钥
27、输入文件的第二部分,发卡行利用其所申请发卡行公钥证书中的公钥对应的私钥对该发卡行公钥数据进行签名。银联金融IC卡根CA使用该发卡行的公钥来验证签名的公钥数据。发卡行使用同提交给银联的发卡行公钥相对应的发卡行私钥对表4中的所有数据进行签名。自签名的发卡行公钥数据的长度必须等于用来签名的发卡行公私钥对中公钥的长度。表4中的哈希值是将表4中除了哈希值外所有数据依原有顺序连接后的数据的计算的哈希值,哈希算法见中国金融集成电路(IC)卡规范 (2005版)第七部分第12章。这个哈希值仅供银联金融IC卡根CA作发卡行递交的公钥数据的数据认证用途,和组成发卡行公钥证书的哈希值不是同一个值。自签名发卡行公钥数
28、据是对表4的数据使用中国金融集成电路(IC)卡规范 (2005版)第七部分第12章的数字签名算法的输出值。表4 发卡行公钥数据字段名长度(字节)描述格式记录头1十六进制23b服务标识4标识一个中国银联借记贷记服务,用私有应用标识扩展(PIX)以左面为准,以十六进制0在右边填充。01010000 = 借、贷记b证书格式1十六进制02b发卡行标识4主帐号(PAN)最左面的3-8个数字。(在右边补上十六进制数F)cn 8证书失效日期2月和年(MMYY),在此日期之后证书失效n 4记录号3发卡行公钥证书申请记录号n 6哈希算法标识1标识用来产生哈希值的哈希算法,见中国金融集成电路(IC)卡规范 (20
29、05版)第七部分第12章b发卡行公钥算法标识1标识用于发卡行公钥的数字签名算法,见中国金融集成电路(IC)卡规范 (2005版)第七部分第12章b发卡行公钥模长1以十六进制标明发卡行公钥的模长(NI)(字节数)b发卡行公钥指数长度1以十六进制标明发卡行公钥指数的长度(字节数)b发卡行公钥模的最左边部分NI (39 +e)公钥模(NI )的最左NI - (39 + e)部分,这里NI表示发卡行公钥模长的字节数,e表示发卡行公钥指数所占的字节数b发卡行公钥指数e发卡行公钥指数, 为3或65537,以十六进制存储为03或01 00 01b哈希值20发卡行公钥及其相关信息的哈希结果,为本表中除哈希值外
30、从记录头依顺序到发卡行公钥指数的哈希值b图3 生成自签名发卡行公钥数据哈希算法记录头服务标识记录头证书格式发卡行标识证书失效日期记录号哈希算法标识发卡行公钥算法标识发卡行公钥模长发卡行公钥指数长度发卡行公钥模的最左边部分发卡行公钥指数记录头服务标识证书格式发卡行标识证书失效日期记录号哈希算法标识发卡行公钥算法标识发卡行公钥模长发卡行公钥指数长度发卡行公钥模的最左边部分发卡行公钥指数哈希值公钥算法NI字节发卡行签名私钥NI字节自签名发卡行公钥数据NI字节成员发卡行生成自签名发卡行公钥数据的程序见图3所示。成员发卡行可以使用银联金融IC卡支付系统公钥认证处理软件完成上述发卡行公钥证书申请数据,即发
31、卡行公钥证书输出文件的生成。4 银联对发卡行公钥证书申请的响应4.1 银联对发卡行公钥证书申请中签名的验证为了验证一个发卡行包含在发卡行公钥证书申请中的自签名公钥证书,银联必须执行下列步骤。这些步骤确保银联能够正确验证所收到的发卡行公钥和恢复的公钥数据。发卡行必须确保所提交的发卡行公钥证书申请符合本规范的格式要求以便能使银联成功验证所申请的公钥。银联收到的由成员发卡行安全官员递交给银联审核员的发卡行公钥证书申请包括中国银联金融IC卡支付系统公钥认证服务成员发卡行公钥证书工作申请表电子文件(见银联金融IC卡支付系统公钥认证技术规范附录C)和发卡行公钥输入文件(见本规范第3章)。银联对发卡行公钥证
32、书申请中签名的验证是对发卡行公钥输入文件(包含未签名发卡行公钥输入扩展和自签名发卡行公钥数据)的相关数据及其签名进行验证。1. 检查未签名发卡行公钥输出扩展文件长度是否是7 + NI + e字节,若不是,则银联拒绝该公钥证书申请。2. 检查自签名发卡行数据以确保其包含NI个字节,若不是,则银联拒绝该公钥证书申请。3. 检查未签名发卡行公钥输入扩展中的公钥算法标识来验证其是否是十六进制01。若不是,则该标识不符合中国金融集成电路(IC)卡规范 (2005版),此时银联将拒绝该公钥证书申请。4. 检查未签名发卡行公钥输入扩展中的公钥长度是银联可接受的长度(小于或等于银联将用来签发该证书的公钥模长)
33、,若不是,则银联拒绝该公钥证书申请。5. 检查未签名发卡行公钥输入扩展中的公钥指数长度,若不是1,则银联拒绝该公钥证书申请。6. 检查未签名发卡行公钥输入扩展以获取发卡行公钥模。7. 使用中国金融集成电路(IC)卡规范 (2005版)第7部分第12章的数据恢复算法恢复发卡行单独的发卡行公钥签名数据,以恢复发卡行公钥数据。8. 检查第7步中恢复的数据记录头是否是十六进制23,若不是,则银联拒绝该公钥证书申请。9. 检查第7步中恢复的数据中证书格式是否是十六进制02,若不是,则银联拒绝该公钥证书申请。10. 检查第7步中恢复的数据中的发卡行标识以恢复主帐号(PAN)最左面的3-8个数字。银联检查该
34、主帐号是否是银联所接受的主帐号,若不是,则银联拒绝该公钥证书申请。11. 检查第7步中恢复的数据中的记录号和未签名发卡行公钥输入扩展中的记录号是否相同,是否是银联安排的,若不是,则银联拒绝该公钥证书申请。12. 检查未签名发卡行公钥输入扩展和第7步中恢复的发卡行公钥数据中的发卡行公钥指数长度是否相同,若不是,则银联拒绝该公钥证书申请。13. 检查未签名发卡行公钥输入扩展和第7步中恢复的发卡行公钥数据中的发卡行公钥指数是否相同,并且检查其是否是3或2161,若不是,则银联拒绝该公钥证书申请。14. 检查未签名发卡行公钥输入扩展和第7步中中恢复的发卡行公钥数据中的发卡行公钥算法标识是否相同,若不是
35、,则银联拒绝该公钥证书申请。15. 检查未签名发卡行公钥输入扩展和第7步中恢复的发卡行公钥数据中的发卡行公钥模长是否相同,若不是,则银联拒绝该公钥证书申请。16. 检查未签名发卡行公钥输入扩展和第7步中恢复的发卡行公钥数据中的发卡行公钥模左边NI (39+e)个字节是否相同,若不是,则银联拒绝该公钥证书申请。17. 检查第7步中恢复的发卡行哈希算法标识是否是十六进制01,若不是,则银联拒绝该公钥证书申请。18. 自左向右连接第7步中的恢复数据(表4)中从记录头到发卡行公钥指数。19. 使用以哈希算法标识规定的哈希算法计算上一步骤得到的连接数据的哈希值。20. 比较上一步骤计算的哈希值和恢复数据
36、(表4)中的哈希值,若不同,则银联拒绝该公钥证书申请,若相同并且上述所有步骤的验证都成功,则银联接受该公钥证书的申请。4.2 银联IC卡根CA签发发卡行公钥证书在银联按照银联金融IC卡支付系统公钥认证业务规范程序同意发卡行公钥证书申请并将收到的发卡行公钥证书申请传递给银联金融IC卡根CA后,根CA签发该发卡行公钥证书,并向该发卡行的一个公钥证书申请(生产证书或测试证书)提供一个发卡行公钥证书输出文件。发卡行公钥证书输出文件是一个二进制文件包含三个数据。根CA在签发发卡行公钥证书后,将发卡行公钥证书输出文件递交给发卡行。发卡行公钥证书输出文件的第一个数据是未签名发卡行公钥输出扩展,第二个数据是根
37、CA对发卡行公钥证书的签名,第三个数据是根CA单独签名。这三个数据的内容将在本规范第4.2.3节、第4.2.3节、和第4.2.3节中详细叙述。4.2.1 发卡行公钥证书输出文件内容发卡行公钥证书输出文件的格式由表5规定。表5 发卡行公钥证书输出文件字段名长度(字节数)描述未签名发卡行公钥输出扩展17+e 若NI NCA+3653+NI NCA+e 若 NI > NCA+36这里,e、NI、和NCA分别表示发卡行公钥指数字节数、发卡行公钥模长字节数、和根CA用来生成该发卡行公钥证书的公钥模长字节数见本规范第4.2.3节签名的发卡行公钥证书NCA见本规范第4.2.4节根CA公钥单独签名NCA
38、见本规范第4.2.5节4.2.2 文件命名约定发卡行公钥输出文件是由一个类似AAAAAA.INN形式的文件名标识,这里:l AAAAAA是申请记录号l I是固定值(I)表示发卡行l NN是用来签发发卡行公钥证书的根CA公钥的索引所有文件是二进制格式。发卡行公钥输出文件举例:010101.I01。这里的申请记录号与本规范第3.4节自签名发卡行公钥数据中的记录号相同,是按照根据银联金融IC卡支付系统公钥认证业务规范由银联审核员统一设定与管理的,以唯一标识一个发卡行的一次公钥证书申请。4.2.3 未签名发卡行公钥输出扩展未签名发卡行公钥输出扩展是发卡行公钥输出文件的第一部分。表6规定了它的格式。该公
39、钥输出扩展提供了该发卡行公钥证书信息。表6 未签名发卡行公钥输出扩展字段名长度(字节数)描述格式记录头1十六进制值24b服务标识4标识一个中国银联借记贷记服务,用私有应用标识扩展(PIX)以左面为准,以十六进制0在右边填充。01010000 = 借、贷记b发卡行标识号4 主帐号(PAN)最左面的3-8个数字。(在右边补上十六进制数F)cn 8证书序列号3 根CA系统分配的证书序列号b证书失效日期2 月和年(MMYY),在此日期之后证书失效n 4发卡行公钥余项长度1 发卡行公钥模余项的长度b发卡行公钥余项0和(NI NCA+ 36)的最大值该字段仅在NI > NCA 36时存在, 由发卡行
40、公钥(NI )的最低NI- NCA + 36字节组成。b发卡行公钥指数长度1 以十六进制标明发卡行公钥指数的长度(字节数)b发卡行公钥指数e 发卡行公钥指数,为3或65537,存储为十六进制03 或 十六进制 01 00 01b根CA公钥索引1 根CA系统用来签发发卡行公钥证书的公钥索引b4.2.4 签名的发卡行公钥证书签名的发卡行公钥证书是发卡行公钥证书输出文件的第二部分,由根CA利用相应根CA私钥对表7中的发卡行公钥数据进行签名产生。表7 发卡行公钥证书数据字段名长度(字节数)描述格式恢复数据头1十六进制值6Ab证书格式1十六进制值02b发卡行标识号4 主帐号最左面的3到8位数字(从第1位
41、开始),如有需要,在右面填充十六进制F到8位数字。cn 8证书失效日期2 月和年份(MMYY) ,在此日期之后证书非法n 4证书序列号3 由根CA系统分配的唯一标识证书的二进制数b哈希算法标识1 标识用来产生数字签名哈希值的哈希算法b发卡行公钥算法标识1标识用于发卡行公钥的数字签名算法b发卡行公钥长度1 以十六进制标明发卡行公钥的模长(NI )(字节数)b发卡行公钥指数长度1 以十六进制标明发卡行公钥指数的长度(字节数)b发卡行公钥模的最左边部分NCA 36如果NI NCA36,该字段包含了完整的发卡行公钥模(NI),并在右面填充NCA 36 NI个字节的BB。如果NI > NCA 36
42、,该字段包含了发卡行公钥模(NI )的最高NCA 36字节 b哈希值20发卡行公钥及其相关信息的哈希结果n恢复数据尾1 十六进制值BCb这里哈希值的计算是使用中国金融集成电路(IC)卡规范 (2005版)第七部分第12章规定的哈希算法计算的。根CA利用在未签名发卡行公钥输出扩展(表6)中的根CA公钥标识定位的根CA公私钥对对应的根CA私钥对发卡行公钥证书数据(表7)进行签名得到签名的发卡行公钥证书。4.2.5 根CA单独签名发卡行公钥单独签名是发卡行公钥证书输出文件的第三部分。发卡行公钥单独签名由根CA使用其签发该发卡行公钥证书的私钥对表8的根CA单独签名数据进行签名得到,使用的签名算法见中国
43、金融集成电路(IC)卡规范 (2005版)第七部分第12章。根CA利用在未签名发卡行公钥输出扩展(表6)中的根CA公钥标识定位的根CA公私钥对应的根CA私钥对表8中的根CA单独签名数据进行签名。由于未签名发卡行公钥输出扩展没有经过根CA签名,为了保证未签名发卡行公钥输出扩展文件的数据完整性、信息源可认证性、和其与签名的发卡行公钥证书的有效绑定,在根CA给发卡行签发的公钥证书数据中加入第三个数据:根CA单独签名。根CA单独签名主要是对表6的未签名发卡行公钥输出扩展和表7的发卡行公钥证书数据进行连接后对连接数据计算哈希值,然后根CA使用未签名发卡行公钥输出扩展中指定的根CA公私钥对对应的私钥对该哈
44、希值签名得到。成员发卡行对根CA单独签名的验证本规范不做强制性要求。表8 根CA单独签名数据文件长度(字节数)描述格式记录头1十六进制 00b分组格式编码1十六进制 01b右边添加字符NCA-24NCA-24字节十六进制 FFb分隔符1十六进制 00b算法标识1根CA使用的哈希算法标识为十六进制01b哈希值20对未签名发卡行公钥输出扩展(表6)和发卡行公钥证书数据(表7)进行连接后的数据计算哈希值b这里哈希值的计算是使用中国金融集成电路(IC)卡规范 (2005版)第七部分第12章规定的哈希算法计算的。5 验证发卡行公钥证书成员发卡行在收到银联为其颁发的发卡行公钥证书后必须经过有效验证才可使用
45、。成员发卡行收到的由银联审核员递交给成员发卡行安全官员的根CA签发的发卡行公钥证书是以发卡行公钥证书输出文件(包含三个数据:未签名发卡行公钥输出扩展、签名的发卡行公钥证书、和根CA单独签名,见本规范第4.2节)形式传递的,成员发卡行使用下列程序验证其收到的包含在发卡行公钥证书输出文件中的由根CA签发的发卡行公钥证书:1. 从发卡行公钥证书输出文件的第一个数据:未签名发卡行公钥输出扩展中解析出根CA公钥标识,若发卡行公钥证书输出文件的第二个数据:签名的发卡行公钥证书的长度与根CA签发该证书的公钥模长度(见发卡行按照银联金融IC卡支付系统公钥认证业务规范第3.4节获取的按照本规范第6章规定的根CA
46、公钥文件并按照本规范第7章验证的根CA公钥证书中的根CA公钥模长度)不同,则验证失败。2. 使用发卡行公钥证书输出文件的第一个数据:未签名发卡行公钥输出扩展中的根CA公钥标识指定的根CA公钥,利用中国金融集成电路(IC)卡规范 (2005版)第七部分第12章规定的公钥算法作为数据恢复算对发卡行公钥证书输出文件的第二个数据:签名的发卡行公钥证书作数据恢复运算并恢复发卡行公钥证书数据(见表7),若恢复数据结尾不是BC。则验证失败。3. 检查在第2步得到的恢复数据的数据头,若不是6A,则验证失败。4. 检查在第2步得到的恢复数据的检查证书格式,若不是02,则验证失败。5. 将在第2步得到的恢复数据(
47、表7)从第二栏到第十栏进行连接(即:从证书格式到发卡行公钥左边字节)。6. 对上一步骤(第5步)的连接数据使用中国金融集成电路(IC)卡规范 (2005版)第七部分第12章规定的哈希算法计算哈希值。7. 比较上一步骤(第6步)计算的哈希值和第2步数据恢复得到的哈希值,若不同,则验证失败。8. 检查发卡行标识是正确有效的,若不是,则验证失败。9. 检查证书失效日期是正确的,否则,验证失败。10. 检查发卡行哈希算法标识,若不是01,则验证失败。11. 检查发卡行公钥算法标识,若不是01,则验证失败。12. 如果上述所有验证都是正确的,则发卡行公钥证书验证成功。将发卡行公钥模的左边字节与发卡行公钥
48、模余项连接,得到完整的发卡行公钥模。成员机构可以使用银联金融IC卡支付系统公钥认证处理软件完成上述验证。6 银联金融IC卡根CA公钥文件由银联审核员(见银联金融IC卡支付系统公钥认证业务规范)向成员机构传递的根CA公钥以根CA公钥文件形式进行传递。根CA公钥文件内容在本规范第6.1节中规定。6.1 根CA公钥文件内容根CA公钥文件是二进制数据,其格式和内容如表9所示。表9 根CA公钥文件内容字段名 长度(字节数) 描述 未签名根CA公钥输出扩展 35+ NCA+eCA 这里NCA和eCA分别是根CA公钥模长度和公钥指数长度,以字节数表示 见本规范第 6.3节 自签名根CA公钥 NCA 见本规范
49、第 6.4节 6.2 文件命名约定银联IC卡根CA公钥文件以010101.CAA形式命名。这里:l 010101标识银联借记/贷记服务l C标识中国银联l AA为银联金融IC卡根CA的公钥标识例如:010101.C01。6.3 未签名根CA公钥输出扩展列于表10中的未签名根CA公钥输出扩展是根CA公钥文件的第一部分。该输出扩展提供了根CA公钥的信息。表10未签名根CA公钥输出扩展字段名 长度(字节数)描述格式记录头1 十六进制 20 b 服务标识4标识一个中国银联借记贷记服务,用私有应用标识扩展(PIX)以左面为准,以十六进制0在右边填充。01010000 = 借、贷记b 根CA公钥模长 2
50、根CA公钥模的长度NCA ,以十六进制表示。NCA 是一个偶数 b 根CA公钥算法标识 1 标识用于生成根CA公钥的密码算法 b 根CA公钥指数长度 1 根CA公钥指数长度eCA,以十六进制表示 b 注册的应用提供商标识 (RID)5标识银联借记贷记RID:为十六进制D1 56 00 00 01b根CA公钥标识1唯一标识根CA公钥b根CA公钥模NCA根CA公钥模b根CA公钥指数eCA根CA公钥指数 b 哈希值20本表第6到第9项的(从RID到根CA公钥指数)连接数据的哈希值b表10未签名根CA公钥输出扩展中的哈希算法和哈希值的计算见中国金融集成电路(IC)卡规范 (2005版)第七部分第12章
51、。6.4 自签名根CA公钥自签名根CA公钥是根CA公钥文件的第二部分。自签名根CA公钥是根CA使用中国金融集成电路(IC)卡规范 (2005版)第七部分第12章规定的签名算法利用根CA签名私钥对表11的根CA公钥证书数据进行签名所得。表11 根CA公钥证书数据字段名 长度(字节数)描述格式 记录头 1 十六进制 21 b 服务标识 4标识一个中国银联借记贷记服务,用私有应用标识扩展(PIX)以左面为准,以十六进制0在右边填充。01010000 = 借、贷记b 注册的应用提供商标识 (RID) 5 标识银联借记贷记RID:为十六进D1 56 00 00 01 b 根CA公钥标识 1 唯一标识根C
52、A公钥 b 证书失效日期 2 月和年(MMYY),在此日期之后证书失效 n 4 根CA公钥算法标识 1 十六进制 01 标识生成根CA公钥的公钥算法,见中国金融集成电路(IC)卡规范 (2005版)第七部分第12章。 b 根CA公钥模的左边部分 NCA 36 + eCA根CA公钥模的左边NCA 36 + eCA 字节, 这里NCA 和eCA 分别表示根CA公钥模长和公钥指数长度。b 哈希算法标识 1 十六进制 01 ,标识生成哈希值的哈希算法,见中国金融集成电路(IC)卡规范 (2005版)第七部分第12章。 b 根CA公钥指数长度 1 为十六进制字节数,表示根CA公钥指数长度eCA 。b 根CA公钥指数 eCA 根CA公钥指数 b 哈希值 20 下列数据连接后的哈希值:RID、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业定制塑钢窗户采购协议示例(2024年度)版B版
- 二零二五年度瓷砖行业环保设施建设合同3篇
- 2025年度教育课程策划开发合同范本4篇
- 2025年度智慧社区场商位租赁及社区服务合同4篇
- 2025年度文化旅游区场地承包经营与开发合同模板3篇
- 2025年度现代化厂房施工建设合同(新版)4篇
- 2024年货物买卖合同跨境电商条款
- 2025年度叉车租赁与租赁物租赁期限续签合同4篇
- 专属校车司机招聘协议:2024年版详尽协议版B版
- 2024赞助合同书范本:展览赞助合作协议3篇
- 智慧工厂数字孪生解决方案
- 病机-基本病机 邪正盛衰讲解
- 品管圈知识 课件
- 非诚不找小品台词
- 2024年3月江苏省考公务员面试题(B类)及参考答案
- 患者信息保密法律法规解读
- 老年人护理风险防控PPT
- 充电桩采购安装投标方案(技术方案)
- 医院科室考勤表
- 镀膜员工述职报告
- 春节期间化工企业安全生产注意安全生产
评论
0/150
提交评论