银联金融IC卡支付系统公钥认证技术规范文档格式.docx
- 文档编号:19905467
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:27
- 大小:145.51KB
银联金融IC卡支付系统公钥认证技术规范文档格式.docx
《银联金融IC卡支付系统公钥认证技术规范文档格式.docx》由会员分享,可在线阅读,更多相关《银联金融IC卡支付系统公钥认证技术规范文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
12.《商户类别代码》
13.《银行卡信息交换术语》
14.《银行磁条卡自动柜员机(ATM)应用规范》
15.《银行磁条卡销售点终端规范》
16.《银行磁条卡自动柜员机(ATM)应用规范》
17.《中国银联MIS商户系统技术规范》
18.《中国银联POS终端规范》
19.《中国银联代理业务ATM终端技术规范》
20.《中国银联银行卡联网联合技术规范2.0版》
参见《银联金融IC卡支付系统公钥认证业务规范》,根CA和成员机构除了必须遵守本规范外,还有义务遵守上述20个规范。
1.4定义和缩写
《中国金融集成电路(IC)卡规范》(2005版):
系中华人民共和国金融行业标准之一,由中国人民银行起草并于2005年3月10日发布/实施,用来规范金融行业集成电路(IC)卡应用的规范。
BIN:
发卡机构标识码,由支付系统分配的6位号码,用于识别会员应用、授权、清算、或结算。
银联标准卡的BIN的分配和管理统一由中国银联负责。
EMV:
由Europay,MasterCard,及Visa国际组织共同开发的技术规范,该技术规范为芯片技术在支付行业的使用创造标准并确保其全球互操作性。
IIN:
金融机构代码(IIN),由中国银联按照银联《入网机构标识码》规范分配给各成员金融机构的金融机构代码,唯一识别中国银联成员机构,由8位数字组成。
成员机构:
在本规范中指中国银联成员机构,遵守相关入网规范。
中国银联成员机构是经中国银联董事会批准,发行银联卡和办理银联卡收单业务的金融机构或其它组织。
会员机构:
在本规范中指成员机构注册成为银联金融IC卡支付系统公钥认证服务会员机构。
中国银联金融IC卡支付系统根CA:
由中国银联股份有限公司授权银联金融认证中心有限公司,依照《中国金融集成电路(IC)卡规范》(2005版)要求,建立的服务于金融行业IC卡安全应用的根认证中心;
实现该根认证中心功能的应用系统是“银联金融IC卡根CA系统”,由中国银联统一管理,以下简称“根CA系统”。
发卡行(Issuer):
《中国金融集成电路(IC)卡规范》(2005版)指明,发卡行是发行带有支付系统标签的信用卡或专用卡的支付系统成员行。
收单机构(Acquirer):
《中国金融集成电路(IC)卡规范》(2005版)指明,收单机构是支付系统成员,负责签约商户或在现金支付中支付货币给持卡人,并直接或间接地参与交易交换。
PAN:
主帐号。
RID:
注册的应用提供商标识。
公钥密码算法:
《中国金融集成电路(IC)卡规范》(2005版)第七部分第十二章规定的公钥密码算法。
哈希算法:
《中国金融集成电路(IC)卡规范》(2005版)第七部分第十二章规定的哈希算法。
SDA:
静态数据认证,脱机数据认证的一种,通过这种方法终端验证发卡时存放在卡上的密文。
这种认证用于防止某些类型的伪造,但不能防止复制。
DDA:
动态数据验证,脱机数据认证的一种,芯片卡产生根据特定交易数据元加密生成的密文,终端验证该值以防止非法复制。
CDA:
复合动态数据认证/应用密文生成,脱机数据认证的一种。
终端(Terminal):
在交易点安装的设备,和IC卡一起完成金融交易它包括接口设备,POS、ATM设备。
1.5编码符号表示
本规范定义了一些编码方式,这些编码方式遵从《中国金融集成电路(IC)卡规范》(2005版),并与EMV2000标准完全兼容,同时兼容国际金融IC卡支付组织VISA、MasterCard、和JCB的有关规范并与它们的支付系统兼容。
这些编码方式如下:
b:
二进制编码。
这些数据是无符号二进制数或比特。
例如发卡行公钥指数为二进制编码,十进制数值为3或65537,二进制编码用十六进制保存为十六进制‘03’或‘010001’。
cn:
压缩数字编码。
由两个十六进制字符‘0’-‘9’组的序列表示一个数字,具有固定长度,不足位在右边以‘F’填充。
如主帐号(PAN)十进制数字由长度至多10的‘cn’编码表示,一个十进制PAN:
6123567890123以长度为8的‘cn’编码后为:
‘6123567890123FFF’。
n:
数字编码。
由两个十六进制字符‘0’-‘9’组的序列表示一个数字,具有固定长度,左边以十六进制字符‘0’补足。
例如以长度为10的‘n’编码表示十进制数值1234567为:
‘0001234567’。
1.6版本控制
本规范的版本是《银联金融IC卡支付系统公钥认证技术规范》V1.0(2005)版。
中国银联将在需要时对本规范进行修订,其后的修订版本高于V1.0,同时在修订版定稿后进行发布。
2银联金融IC卡支付系统公钥认证体系概述
2.1中国银联金融IC卡支付系统公钥认证体系
遵循《中国金融集成电路(IC)卡规范》(2005版),中国银联金融IC卡支付系统公钥认证体系为所有遵循银联标准的金融IC卡提供公钥证书认证服务,也同时为其它金融IC卡数据认证提供途径(如成员机构终端提供的对外卡数据认证)。
中国银联金融IC卡支付系统公钥认证体系,首先包括银联金融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卡。
按照《中国金融集成电路(IC)卡规范》(2005版),中国银联金融IC卡支付系统还包括银联标准卡受理环境,收单机构要负责建立终端管理系统,将根CA公钥分发到受理终端(POS/ATM),并对远程终端进行设备管理、状态监控及信息管理(包括程序、参数下载)。
这样,在《中国金融集成电路(IC)卡规范》(2005版)标准卡支付系统中,IC卡存放IC卡证书及IC卡私钥(或静态数据)和发卡行公钥证书、RID、以及根CA公钥标识;
受理终端存放根CA证书和相关的RID。
在支付过程中,受理终端通过验证IC卡的应用数据的签名进行IC卡数据认证,其过程是首先读取IC卡内的RID、IC卡证书、发卡行证书、和根CA公钥标识,利用RID和根CA公钥标识定位特定的根CA公钥,利用根CA公钥验证发卡行证书,利用发卡行证书验证IC卡证书,利用IC卡证书验证IC卡内的动态签名或直接利用发卡行证书验证IC卡内的静态签名。
整个IC卡数据认证完全离线进行。
2.2银联金融IC卡支付系统的IC卡数据认证
银联金融IC卡支付系统公钥认证在IC卡系统支付过程中的作用是进行脱机IC卡数据认证包括:
●静态数据认证(SDA)
●动态数据认证(DDA)包括
1.标准动态数据认证
2.复合动态数据认证/应用密文生成(CDA)
这两种IC卡数据认证遵循《中国金融集成电路(IC)卡规范》(2005版),并与EMV2000规范兼容。
2.2.1静态数据认证(SDA)
静态数据认证由终端验证数字签名来完成。
其目的是确认存放在银联标准IC卡中关键的静态数据的合法性,以及可以发现在卡片个人化以后,对卡内的发卡行数据XX的改动,能有效地检测银联标准IC卡内关键静态数据的真实性。
静态数据认证流程和银联标准IC卡与银联金融IC卡支付系统公钥认证体系之间的关系如图1所示:
整个银联标准IC卡静态数据认证的过程说明如下:
1.成员发卡行的密钥管理系统产生成员发卡行公/私钥对PI和SI,并将公钥PI传送至根CA;
2.根CA用自己的私钥SCA对成员发卡行公钥PI进行数字签名,产生发卡行公钥证书,连同根CA公钥信息返回给发卡行密钥管理系统;
3.发卡行密钥管理系统用发卡行私钥SI对卡片静态数据进行数字签名,将签名结果和发卡行公钥证书、和其它信息包括RID及根CA公钥标识传送至发卡系统;
4.发卡系统在个人化时将发卡行公钥证书和数字签名连同根CA公钥标识、RID写入每一张卡片中;
5.根CA将其公钥PCA及相关信息包括公钥标识和RID,经成员收单机构传送至终端管理系统;
6.成员收单机构终端管理系统把根CA公钥PCA及相关信息包括公钥标识和RID通过远程下载至终端;
发卡行私钥S1
发卡行公钥P1
认证中心私钥SCA
认证中心公钥PCA
签名的应用数据(由PI签名)
发卡行公钥证书
发卡行公钥证书(PI由SCA签名)
IC卡应用
终端
个人化
初始化
交易
发卡行
收单行
认证中心
READRECORD响应报文包含:
认证中心公钥索引
签名应用数据
-用PCA从发卡行公钥证书恢复PI
-用PI恢复签名应用数据
图1银联IC卡静态数据认证
7.银联标准IC卡进行交易时的脱机静态数据认证,受理终端完成如下过程:
●终端从卡片中读取出发卡行公钥证书及签名数据,使用根CA公钥标识和RID找到根CA公钥PCA,由PCA恢复出发卡行公钥PI并成功验证其有效性
●终端使用恢复的发卡行公钥PI验证卡片签名数据的有效性
●终端将验证结果与卡片静态数据进行比对,保存比对结果
●将验证结果返回给卡片。
2.2.2标准动态数据认证
在动态数据认证过程中,终端验证卡片上的静态数据以及卡片产生的当前动态交易相关信息的签名。
DDA能确认卡片上的发卡行应用数据自卡片个人化后没有被非法篡改,更重要的是DDA还能确认卡片的真实性,防止卡片的非法复制和伪造。
DDA可以是标准动态数据认证或复合动态数据认证/应用密文生成(CDA)。
银联标准IC卡动态数据认证如图2所示。
在这种方式下,银联标准IC卡将来自卡片的动态交易数据以及由动态数据认证数据对象列表(DDOL)所标识的终端数据生成一个数字签名(见《中国金融集成电路(IC)卡规范》(2005版))。
银联标准IC卡标准动态数据认证的过程说明如下:
1.成员发卡行的密钥管理系统产生发卡行公私钥对SI和PI,并将发卡行公钥PI传送至根CA;
2.根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.终端管理系统把根CA公钥PCA和其它信息包括RID及根CA公钥标识通过远程下载至终端;
图2银联标准IC卡动态数据认证
8.银联标准IC卡进行交易的脱机标准动态数据认证过程如下:
●终端从卡片取出发卡行公钥证书、IC卡公钥证书、RID、和根CA公钥标识,利用RID和根CA公钥标识定位根CA公钥PCA,使用根CA公钥PCA恢复出发卡行公钥PI并成功验证其有效性,使用恢复的发卡行公钥PI恢复出IC卡公钥PICC并成功验证其有效性
●终端向IC卡发送内部认证命令(INTERNALAUTHENTICATE)(见《中国金融集成电路(IC)卡规范》(2005版))请求一个动态签名;
卡片对内部认证命令中的终端数据和在IC卡动态数据中指定的卡片数据进行连接,由卡片私钥SICC对该连接数据进行数字签名并返回给终端
●终端使用IC卡公钥PICC对上一步骤的数字签名进行成功验证
9.将验证结果返回给卡片。
2.2.3复合动态数据认证/应用密文生成(CDA)
这种方式在第一个请求应用密文命令发出后执行(见《中国金融集成电路(IC)卡规范》(2005版))。
银联标准IC卡将来自卡片的数据包括应用密文以及来自终端的数据生成一个数字签名。
银联复合动态数据认证/应用密文生成(CDA)处理中涉及公钥的部分的具体步骤见本规范第1.3.1节,涉及支付部分的具体步骤见《中国金融集成电路(IC)卡规范》(2005版)第七部分第5.3.6节。
2.3银联金融IC卡支付系统使用的公钥种类
在银联金融IC卡支付系统中使用三种公私钥对:
根CA公私钥对、成员发卡行公私钥对、和银联标准IC卡公私钥对。
其作用如表1所示。
表1银联金融IC卡支付系统使用的公钥种类
密钥名称
存在条件
用途
根CA公私钥对
必须存在
用于对发卡行签发公钥证书
发卡行公私钥对
如果支持SDA和DDA
用于对静态数据进行数字签名,以及对IC卡签发证书用于动态数据认证
IC卡公私钥对
如果支持DDA
用于动态数据认证
3成员发卡行公钥证书申请
按照《银联金融IC卡支付系统公钥认证业务规范》,成员发卡行为获得银联金融IC卡根CA签发的发卡行生产型公钥证书或测试证书,需通过银联审核员向银联递交发卡行公钥输入文件。
银联审核员将通知发卡行具体递交公钥输入文件的方式。
发卡行公钥输入文件为电子版文件,具体格式和要求在下节规定。
发卡行公钥输入文件电子版、和银联金融IC卡支付系统发卡行公钥证书工作申请表电子版(见《中国银联金融IC卡支付系统公钥认证业务规范》附录C)将一道由成员发卡行安全官员递交给银联审核员。
3.1发卡行公钥输入文件
成员发卡行公钥输入文件是一个二进制文件,公钥输入文件由2个部分组成如表2所示。
表2公钥输入文件
字段名
长度(字节数)
描述
未签名发卡行公钥输入扩展
7+NI+e
见本规范第3.3节。
这里NI是发卡行公钥模长的字节数,e为发卡行公钥指数长度的字节数。
自签名发卡行公钥数据
NI
见本规范第3.4节。
3.2文件命名
公钥输入文件的文件名必须按YLTTTTTT.INP的格式,这里YL为前缀,TTTTTT是记录号,它标识了一个发卡行公钥证书请求。
下面是一个公钥输入文件名例子:
YL123456.INP。
根据《银联金融IC卡支付系统公钥认证业务规范》,记录号由银联审核员统一管理和分发,唯一标识一个发卡行的一次公钥证书申请,发卡行必须使用银联审核员指定的记录号。
3.3未签名发卡行公钥输入扩展
未签名发卡行公钥输入扩展是发卡行公钥输入文件的第一部分。
该输入扩展提供发卡行公钥信息,具体格式见表3。
表3未签名发卡行公钥输入扩展
编码格式
记录头
1
十六进制值‘22’
b
发卡行公钥模长
发卡行公钥模长(NI)的十六进制值(字节数)
发卡行公钥模
Var
未经签名的发卡行公钥模(NI)
发卡行公钥指数长度
发卡行公钥指数长度(e)(字节数)
发卡行公钥指数
Var
发卡行公钥算法标识
1
标识用于发卡行公钥的数字签名算法,见《中国金融集成电路(IC)卡规范》(2005版)第七部分第12章
记录号
3
发卡行公钥证书申请记录号
n6
3.4自签名发卡行公钥数据
自签名发卡行公钥数据是成员发卡行公钥输入文件的第二部分,发卡行利用其所申请发卡行公钥证书中的公钥对应的私钥对该发卡行公钥数据进行签名。
银联金融IC卡根CA使用该发卡行的公钥来验证签名的公钥数据。
发卡行使用同提交给银联的发卡行公钥相对应的发卡行私钥对表4中的所有数据进行签名。
自签名的发卡行公钥数据的长度必须等于用来签名的发卡行公私钥对中公钥的长度。
表4中的哈希值是将表4中除了哈希值外所有数据依原有顺序连接后的数据的计算的哈希值,哈希算法见《中国金融集成电路(IC)卡规范》(2005版)第七部分第12章。
这个哈希值仅供银联金融IC卡根CA作发卡行递交的公钥数据的数据认证用途,和组成发卡行公钥证书的哈希值不是同一个值。
自签名发卡行公钥数据是对表4的数据使用《中国金融集成电路(IC)卡规范》(2005版)第七部分第12章的数字签名算法的输出值。
表4发卡行公钥数据
长度(字节)
格式
十六进制‘23’
服务标识
4
标识一个中国银联借记贷记服务,用私有应用标识扩展(PIX)以左面为准,以十六进制‘0’在右边填充。
‘01010000’=借、贷记
证书格式
十六进制‘02’
发卡行标识
主帐号(PAN)最左面的3-8个数字。
(在右边补上十六进制数‘F’)
cn8
证书失效日期
2
月和年(MMYY),在此日期之后证书失效
n4
3
哈希算法标识
标识用来产生哈希值的哈希算法,见《中国金融集成电路(IC)卡规范》(2005版)第七部分第12章
以十六进制标明发卡行公钥的模长(NI)(字节数)
以十六进制标明发卡行公钥指数的长度(字节数)
发卡行公钥模的最左边部分
NI−(39+e)
公钥模(NI)的最左NI-(39+e)部分,这里NI表示发卡行公钥模长的字节数,e表示发卡行公钥指数所占的字节数
e
发卡行公钥指数,为3或65537,以十六进制存储为‘03’或‘010001’
哈希值
20
发卡行公钥及其相关信息的哈希结果,为本表中除哈希值外从记录头依顺序到发卡行公钥指数的哈希值
图3生成自签名发卡行公钥数据
哈希算法
服务标识记录头
公钥算法
NI字节
发卡行签名私钥
成员发卡行生成自签名发卡行公钥数据的程序见图3所示。
成员发卡行可以使用银联金融IC卡支付系统公钥认证处理软件完成上述发卡行公钥证书申请数据,即发卡行公钥证书输出文件的生成。
4银联对发卡行公钥证书申请的响应
4.1银联对发卡行公钥证书申请中签名的验证
为了验证一个发卡行包含在发卡行公钥证书申请中的自签名公钥证书,银联必须执行下列步骤。
这些步骤确保银联能够正确验证所收到的发卡行公钥和恢复的公钥数据。
发卡行必须确保所提交的发卡行公钥证书申请符合本规范的格式要求以便能使银联成功验证所申请的公钥。
银联收到的由成员发卡行安全官员递交给银联审核员的发卡行公钥证书申请包括中国银联金融IC卡支付系统公钥认证服务成员发卡行公钥证书工作申请表电子文件(见《银联金融IC卡支付系统公钥认证技术规范》附录C)和发卡行公钥输入文件(见本规范第3章)。
银联对发卡行公钥证书申请中签名的验证是对发卡行公钥输入文件(包含未签名发卡行公钥输入扩展和自签名发卡行公钥数据)的相关数据及其签名进行验证。
1.检查未签名发卡行公钥输出扩展文件长度是否是7+NI+e字节,若不是,则银联拒绝该公钥证书申请。
2.检查自签名发卡行数据以确保其包含NI个字节,若不是,则银联拒绝该公钥证书申请。
3.检查未签名发卡行公钥输入扩展中的公钥算法标识来验证其是否是十六进制‘01’。
若不是,则该标识不符合《中国金融集成电路(IC)卡规范》(2005版),此时银联将拒绝该公钥证书申请。
4.检查未签名发卡行公钥输入扩展中的公钥长度是银联可接受的长度(小于或等于银联将用来签发该证书的公钥模长),若不是,则银联拒绝该公钥证书申请。
5.检查未签名发卡行公钥输入扩展中的公钥指数长度,若不是1,则银联拒绝该公钥证书申请。
6.检查未签名发卡行公钥输入扩展以获取发卡行公钥模。
7.使用《中国金融集成电路(IC)卡规范》(2005版)第7部分第12章的数据恢复算法恢复发卡行单独的发卡行公钥签名数据,以恢复发卡行公钥数据。
8.检查第7步中恢复的数据记录头是否是十六进制‘23’,若不是,则银联拒绝该公钥证书申请。
9.检查第7步中恢复的数据中证书格式是否是十六进制‘02’,若不是,则银联拒绝该公钥证书申请。
10.检查第7步中恢复的数据中的发卡行标识以恢复主帐号(PAN)最左面的3-8个数字。
银联检查该主帐号是否是银联所接受的主帐号,若不是,则银联拒绝
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 金融 IC 支付 系统 认证 技术规范