JR T 0025.7-2005 中国金融集成电路(IC)卡规范.第7部分 借记 货记安全规范.pdf

上传人:outsidejudge265 文档编号:250469 上传时间:2019-07-13 格式:PDF 页数:57 大小:2.41MB
下载 相关 举报
JR T 0025.7-2005 中国金融集成电路(IC)卡规范.第7部分 借记 货记安全规范.pdf_第1页
第1页 / 共57页
JR T 0025.7-2005 中国金融集成电路(IC)卡规范.第7部分 借记 货记安全规范.pdf_第2页
第2页 / 共57页
JR T 0025.7-2005 中国金融集成电路(IC)卡规范.第7部分 借记 货记安全规范.pdf_第3页
第3页 / 共57页
JR T 0025.7-2005 中国金融集成电路(IC)卡规范.第7部分 借记 货记安全规范.pdf_第4页
第4页 / 共57页
JR T 0025.7-2005 中国金融集成电路(IC)卡规范.第7部分 借记 货记安全规范.pdf_第5页
第5页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 35.240.40 All 备案号:JR 中华人民共和国金融行业标准JR厅0025.7-2005中国金融集成电路(IC)卡规范第7部分:借记/贷记安全规范China financial integrated circuit card specifications-P町t7: Debitlcredit security specification 2005-03-10发布060620000046 2005-03-10实施中国人民银行发布JR!f 0025.7-2005 目次mvJJJJJJJM骂扭扭mmmmm贝贝贝贝贝MKJ妇到刀。GMHM制辅川。到日即脚川t半以求回训验系类要要求SE二

2、HH管理钥H制去时tu如此几L凡中伫L且叫黑白邮站时LMML即时L旧附蜘酬瞅瞅敝腊情锵敝蛐兢肮腊挝跚跚忖肿姓瞅翩翩腊时叫中川椭伽膊阳刷一叫相言言围范义号机密静动用应发密全报报报剧片共密卡卡啕终终终酣认发发始对非炯对非哈范规定符脱应安卡终123前引12345川口口67川UMM8UMMM们J川归mmmm口HH口口旦旦前言R厅0025对表3中指明的数据应用11.2.1节中指明的签名方案。认证中心的公钥对有一个公钥模,该公钥模为NCA个字节。认证中心公钥指数必须等于3或216+1。为了获得签名的静态应用数据,使用发卡行私钥SI对表4中指明的数据应用11.2.1节中指明的签名方案。发卡行的公钥对有一个发

3、卡行公钥模,该公钥模为N1个字节(N1sNcA)。如果N1(NCA-36) ,那么发卡行公钥模被分成两部分,即一部分包含公钥模中高位的NCA-36个字节(发卡行公钥中最左边的数字);另一部分包含剩下的低位N1-(NCA-36)个字节(发卡行公钥的余项)。发卡行公钥指数必须等于3或216+1。所有静态数据认证需要的信息在表5中详细说明,并存放在IC卡中。除了RID可以从AID中获得外,其它信息可以通过读取记录(阻AD阻CORD)命令得到。如果缺少这些数据中的任意一项,静态数据认证即告失败。表3:由认证中心签名的发卡行公钥数据(即哈希算法的输入)字段名长度描述格式证书格式十六进制,值为02b 发卡

4、行标识4 主帐号最左面的3-8个数字。(在右边补上十六cn 8 进制数F) 证书失效日期2 MMYY,在此日期后,这张证书无效n 4 证书序列号3 由认证中心分配给这张证书的唯一的二进制数b 哈希算法标识1 标识用于在数字签名方案中产生晗希结果的哈b 希算法发卡行公钥算法标识标识使用在发卡行公钥上的数字签名算法b 发卡行公钥长度1 标识发卡行公钥模的字节长度b 发卡行公钥指数长度1 标识发卡行公钥指数的字节长度b 发卡行公钥数位或发卡行NCA - 36 如果NI三NCA-36,这个字段包含了在右边补上b 公钥的最左边部分了NCA- 36 -N1个值为BB的字节的整个发卡行公钥。如果N1Nc.-

5、36,这个字段包含了发卡行公钥最高位的NCA-36个字节发卡行公钥余项0或N1- NCA+36 这个字段只有在N1NcA-36时才出现。它包含了b 发卡行公钥最低位的N1-N旷36个字节发卡行公钥指数l或3发卡行公钥指数等于3或zt6+1b 表4:由发卡行签名的静态应用数据(即哈希算法的输入)字段名长度描述格式签名数据格式l 十六进制,值为03b 哈希算法标识l 标识用于在数字签名方案中产生哈希结果的哈b 希算法数据验证代码2 由发卡行分配的代码b 填充字节N1 - 26 填充字节由N1-26个值为BB的字节组成3b 11 JR厅0025.7-2005需认证的静态数据变长在中国金融集成电路(l

6、C)卡规范借记/贷记卡片规范9.3. 1节指明的需认证的静态数据(参见下文)认证过程的输入由被AFL标识的记录组成,其后跟有AIP(如果AIP被可选的静态数据认证标签列表(标签9F4A)标识)。如果静态数据认证标签列表存在,则它必须仅包含标识AIP用的标签82。表5:静态数据认证用到的数据对象标签长度值格式5 注册的应用提供商标识b 8F 1 认证中心公钥索引b 90 NeA 发卡行公钥证书b 92 N, - NCA +36 发卡行公钥的余项(如果有)b 9F32 1或3发卡行公钥指数b 93 N, 签名的静态应用数据b 变长在中国金融集成电路CIC)卡规范借记/贷记卡片规范9.3.1节指明的

7、需认证的静态数据(参见上文)5.2.2 认证中心公钥获取终端读取认证中心公钥索引。使用这个索引和阳D,终端必须确认并取得存放在终端的认证中心公钥的模、指数和与密钥相关的信息,以及相应的将使用的算法。如果终端没有存储与这个索引及RID相关联的密钥,那么静态数据认证失败。5.2.3 发卡行公钥获取1. 如果发卡行公钥证书的长度不同于在前面的过程中获得的认证中心公钥模长度,那么静态数据认证失败。2. 为了获得在表6中指明的恢复数据,使用认证中心公钥和相应的算法按照11.2.1节中指明的恢复函数恢复发卡行公钥证书。如果恢复数据的结尾不等于BC,那么静态数据认证失败。表6:从发卡行公钥证书恢复数据的格式

8、字段名长度描述格式恢复数据头1 十六进制,值为6AB 证书格式十六进制,值为02B 发卡行标识4 主帐号最左面的3-8个数字(在右边补上十六进制数cn 8 F ) 证书失效日期2 酬yy,在此日期后,这张证书无效n4 证书序列号3 由认证中心分配给这张证书的,唯的二进制数B 哈希算法标识标识用于在数字签名方案中产生哈希结果的哈希算B 法发卡行公钥算法标识l 标识使用在发卡行公钥上的数字签名算法B 发卡行公钥长度1 标识发卡行公钥的模的字节长度B 发卡行公钥指数长度1 标识发卡行公钥指数的字节长度B 发卡行公钥或发卡行公钥的Nec36 如果N,二NeA-36,这个字段包含了在右边补上了B 最左边

9、字节NCA - 36 -N,个值为BB的字节的整个发卡行公钥。如果N,比-36.这个字段包含了发卡行公钥最高位的NCA-36个字节二12 JR厅0025.7-2005哈希结果20 发卡行公钥以及相关信息的哈希值B 恢复数据结尾I 1 I十六进制,值为BC3. 检查恢复数据头。如果它不是6A,那么静态数据认证失败。4. 检查证书格式。如果它不是02,那么静态数据认证失败。5. 将表6中的第二个到第十个数据元素(即从证书格式直到发卡行公钥或发卡行公钥的最左边宇节)从左到右连接,再把发卡行公钥的余项加在后面(如果有),最后是发卡行公钥指数。6. 使用指定的哈希算法(从哈希算法标识得到)对上一步的连接

10、结果计算得到哈希结果。7. 把上一步计算得到的哈希结果和恢复出的哈希结果相比较。如果它们不一样,那么静态数据认证失败。8. 检验发卡行标识是否匹配主帐号最左面的3-8个数字(允许发卡行标识可能在其后补F)。如果不一致,那么静态数据认证失败。9. 检验证书失效日期中指定月的最后日期是否等于或迟于今天的日期。如果证书失效日期在今天的日期之前,那么证书已过期,静态数据认证失败。10.检验连接起来的阳D、认证中心公钥索引、证书序列号是否有效。如果无效,那么静态数据认证失败。11.如果发卡行公钥算法标识无法识别,那么静态数据认证失败。12.如果以上所有的检验都通过,连接发卡行公钥的最左边字节和发卡行公钥

11、的余项(如果有)以得到发卡行公钥模,以继续下一步签名的静态应用数据的检验。5.2.4 签名的静态应用数据验证1. 如果签名静态应用数据的长度不等于发卡行公钥模的长度,那么静态数据认证失败。2. 为了获得在表7中指明的恢复数据,使用发卡行公钥和相应的算法并将11.2.1节中指明的恢复函数应用到签名的静态应用数据上。如果恢复数据的结尾不等于BC,那么静态数据认证失败。表7:从签名的静态应用数据恢复数据的格式字段名长度描述格式恢复数据头十六进制,值为仙b 签名数据格式1 十六进制,值为03b 哈希算法标识1 标识用于在数字签名方案中产生哈希结果的哈b 希算法数据验证代码2 由发卡行分配的代码b 填充

12、字节N, - 26 填充字节由N,-26个值为BB的字节组成b 哈希结果20 需认证的静态应用数据的哈希值b 恢复数据结尾1 十六进制,值为BCb 3. 检查恢复数据头。如果它不是6A,那么静态数据认证失败。4. 检查签名数据格式。如果它不是03,那么静态数据认证失败。5. 将表7中的第二个到第五个数据元素(即从签名数据格式直到填充字节)从左到右连接,再把中国金融集成电路(lC)卡规范借记/贷记卡片规范)9.3.1节中指明的需认证的静态数据加在后面。如果静态数据认证标签列表存在,并且其包含非82的标签,那么静态数据认证失败。6. 把指定的哈希算法(从哈希算法标识得到)应用到上一步的连接结果从而

13、得到哈希结果。7. 把上一步计算得到的哈希结果和恢复出的晗希结果相比较。如果它们不一样,那么静态数据认证失败。13 R厅25.7-2005如果以上所有的步骤都成功,那么静态数据认证成功。在表7中的恢复得到的数据验证代码应被存放在标签9F45,中。5.3动态数据认证CDDA)DDA的目的是确认存放在IC卡中和由IC卡生成的关键数据以及从终端收到的数据的合法性。DDA除了执行同SDA类似的静态数据认证过程,确保IC卡中的发卡行数据在个人化以后没有被非法篡改,还能防止任何对这样的卡片进行伪造的可能性。8. 动态数据认证有以下可选的两种方式: 标准的动态数据认证,这种方式在卡片行为分析前执行。在这种方

14、式下,IC卡根据由IC卡动态数据所标识的存放在IC卡中的或由IC卡生成的数据以及由动态数据认证数据对象列表所标识的从终端收到的数据生成一个数字签名。复合动态数据认证/应用密文生成,这种方式在GE阳RA四川命令发出后执行。在交易证书或授权请求密文的情况下,IC卡根据由IC卡动态数据所标识的存放在IC卡中的或由IC卡生成的数据得到一个数字签名,这些数据包括交易证书或授权请求密文,以及由卡片风险管理数据对象列表明第一条GENERATEAC命令是CDOLl,对第二条GE阳RA四AC命令是CDOL2)标识的由终端生成的不可预知数AIP指明IC卡支持的选项。支持动态数据认证的IC卡必须包含下列数据元素:

15、认证中心公钥索引:该单字节数据元素包含一个二进制数字,的认证中心公钥对中的哪一个来验证IC卡。发卡行公钥证书:该变长数据元素由相应的认证中心提供给发卡行。终端验证这个数据元素时,按5.3.3节描述的过程认证发卡行公钥和其它的数据。IC卡公钥证书:该变长数据元素由发卡行提供给IC卡。终端验证这个数据元素时,按5.3.4节描述的过程认证IC卡公钥和其它的数据。发卡行公钥的余项:一个变长数据元素。5.3.1节有进一步的解释。发卡行公钥指数:一个由发卡行提供的变长数据元素。5.3.1节有进一步的解释。IC卡公钥的余项:-个变长数据元素。5.3.1节有进一步的解释。IC卡公钥指数:一个由发卡行提供的变长

16、数据元素。5.3.1节有进)步的解释。IC卡私钥:一个存放在IC卡内部的变长数据元素,用来按5.3.5节和5.3.6节描述的过程生成签名的动态应用数据。支持动态数据认证的IC卡必须生成下列数据元素: 签名的动态应用数据:一个由IC卡使用同IC卡公钥证书所认证的IC卡公钥相对应的IC卡私钥生成的变长数据元素。它是一个数字签名,包含了5.3.5节和5.3.6节描述的存放在IC卡中的或由IC卡生成的以及终端中的关键数据元素。为了支持动态数据认证,每一台终端必须能够为每个注册的应用提供商标识存储六个认证中心公钥,而且必须使同密钥相关的密钥信息能够同每一个密钥相关联(以使终端能在将来支持多种算法,允许从

17、个算法过渡到另一个,参见9.3节。在给定阳D和IC卡提供的认证中心公钥索引的情况下,终端必须能够定位这样的公钥以及和公钥相关的信息。动态数据认证必须使用一种在11.2.1节和12.2节中指明的可逆的算法。5.3.1节包含了对动态数据认证过程中涉及到的密钥和证书的概述,5.3.2节到5.3.4节详细说明了认证过程中的起始步骤,即: 由终端恢复认证中心公钥。 由终端恢复发卡行公钥。 由终端恢复IC卡公钥。最后,5.3.5节和5.3.6节详细说明了两种情况下动态签名的生成和验证过程。 指明终端应使用其保存的相应 14 初始化个人化交易用Srcc计算动态签名INTERNAL 或含动态签AC2响应1 I

18、NTERNAL AUTHENTICATE 命令(对于标准DDA)2GENERATE AC命令(对于CDA) JR厅0025.7-2515 JR25.7-2005 图2:DDA证书和公钥体系结构5.3.1 密钥和证书为了支持动态数据认证,一张IC卡必须拥有它自己的唯一的公钥对,公钥对由一个私有的签名密钥和相对应的公开的验证密钥组成。IC卡公钥必须存放在IC卡上的公钥证书中。动态数据认证采用了一个三层的公钥证书方案。每一个IC卡公钥由它的发卡行认证,而认证中心认证发卡行公钥。这表明为了验证IC卡的签名,终端需要先通过验证两个证书来恢复和验证IC卡公钥,然后用这个公钥来验证IC卡的动态签名。按11.

19、2.1节中指明的签名方案分别将认证中心私钥3CA应用到表8中指定的数据以及将发卡行私钥SI应用到表9中指定的数据,以分别获得发卡行公钥证书和IC卡公钥证书。认证中心的公钥对有一个NCA个字节的公钥模。认证中心公钥指数必须等于3或216+10发卡行的公钥对有一个为N1个字节CN1sNcA)的发卡行公钥模。如果N1CNCA-36) ,那么发卡行公钥模被分成两部分,I1P一部分包含模中最高的NCA-36个字节(发卡行公钥中最左边的数字);另一部分包含剩下的模中最低的问-CNCA-36)个字节(发卡行公钥余项)。发卡行公钥指数必须等于3或216+1。IC卡的公钥对有一个为N1C个字节CNICSNISN

20、cA)的IC卡公钥模。如果N1CCNr42) ,那么IC卡公钥模被分成两部分,即一部分包含模中最高的NI-42个字节(lC卡公钥中最左边的数字);另一部分包含剩下的模中最低的N1C-CNr42)个字节CIC卡公钥余项)0 IC卡公钥指数必须等于3或216+1。如果卡片上的静态应用数据不是唯一的(比如卡片针对国际和国内交易使用不同的CVM),卡片必须支持多IC卡公钥证书,如果被签名的静态应用数据在卡片发出后可能会被修改,卡片必须支持IC卡公钥证书的更新。为了完成动态数据认证,终端必须首先恢复和验证IC卡公钥(这一步叫做IC卡公钥认证)0 IC卡公钥认证需要的所有信息在表10中详细说明,并存放在I

21、C卡中。除了阻D可以从AID中获得外,其它信息可以通过读取记录(阻AD阻CORD)命令得到。如果缺少这些数据中的任意一项,那么动态数据认证失败。表8:由认证中心签名的发卡行公钥数据(即晗希算法的输入)字段名长度描述格式证书格式l 十六进制,值为02b 发卡行识别号4 主帐号最左面的3-8个数字。(在右边补上十六进制数cn 8 F ) 证书失效日期2 酬yy,在此日期后,这张证书无效n 4 证书序列号3 由认证中心分配给这张证书的唯一的二进制数b 哈希算法标识1 标识用于在数字签名方案中产生哈希结果的哈希算法b 发卡行公钥算法标识标识使用发卡行公钥的数字签名算法b 发卡行公钥长度标识发卡行公钥模

22、的字节长度b 发卡行公钥指数长度1 标识发卡行公钥指数的字节长度b 发卡行公钥或发卡行公钥的N臼36如果N:三NCA-36,这个字段包含了在右边补上了b 最左边字节Nc, - 36 -N1个值为BB的字节的整个发卡行公钥。如果N1NCA -36,这个字段包含了发卡行公钥最高位的NCA -36个字节发卡行公钥的余项0或这个字段只有在N1NCA -36时才出现。它包含了发卡b N - Nc,+36 行公钥最低位的N1-Nc,+36个字节发卡行公钥指数l或3发卡行公钥指数等于3或t+1b 表9:由发卡行签名的IC卡公钥数据(即哈希算法的输入)16 JR厅0025.7-2005字段名长度描述格式证书格

23、式十六进制,值为04b 应用主帐号10 主帐号(在右边补上十六进制数F) cn 20 证书失效日期2 酬yy,在此日期后,这张证书无效n4 证书序列号3 由发卡行分配给这张证书的唯一的二进制数b 哈希算法标识l 标识用于在数字签名方案中产生哈希结果的哈希算法b IC卡公钥算法标识标识使用在IC卡公钥上的数字签名算法b IC卡公钥长度标识IC卡公钥的模的字节长度b IC卡公钥指数长度l 标识IC卡公钥指数的字节长度b IC卡公钥或IC卡公钥的最左N1 - 42 如果N1C运N1-42,这个字段包含了在右边补上了N1- 42 - N1C b 边字节个值为BB的字节的整个IC卡公钥。如果NN1-42

24、,这个字段包含了IC卡公钥最高位的N1- 42 个字节IC卡公钥的余项0或这个字段只有在N1CN1 -42时才出现。它包含了IC卡公钥最b N1C - N1+42 低位的N1C-N1十42个字节IC卡公钥指数l或3IC卡公钥指数等于3或t+1b 需认证的静态数据变长在中国金融集成电路CIC)卡规范借记贷记卡片规范)9.3. 1 b 节详细说明了需认证的静态数据(参见下文)认证过程的输入由被AFL标识的记录组成,其后跟有AIP(如果AIP被可选的静态数据认证标签列表(标签9F4A)标识)。如果静态数据认证标签列表存在,它必须仅包含标识AIP用的标签82。表10:动态认证中的公钥认证所需的数据对象

25、标签长度值格式5 注册的应用提供商标识b 8F 认证中心公钥索引b 90 NCA 发卡行公钥证书b 92 N1 -N,臼+36发卡行公钥的余项(如果存在)b 9F32 1或3发卡行公钥指数b 9F46 N1 IC卡公钥证书b 9F48 N1C - N1+42 IC卡公钥的余项(如果存在)b 9F47 1或3IC卡公钥指数b 变长在中国金融集成电路CIC)卡规范借记贷记卡片规范9.3.1节详细说明了需认证的静态数据(参见上文)5.3.2 认证中心公钥的获取终端读取认证中心公钥索引。使用这个索引和RID,终端能够确认并取得存放在终端的认证中心公钥的模,指数和与密钥相关的信息,以及将使用的相应算法。

26、如果终端没有存储与这个索引及RID相关联的密钥,那么动态数据认证失败。5.3.3 发卡行公钥的获取1. 如果发卡行公钥证书的长度不同于在前面的章节中获得的认证中心公钥模长度,那么动态数据认证失败。2. 为了获得在表11中指明的恢复数据,使用认证中心公钥和相应的算法按照、11.2.1节中指明的恢复函数恢复发卡行公钥证书。如果恢复数据的结尾不等于BC,那么动态数据认证失败。表11:从发卡行公钥证书恢复数据的格式17 JR!f 0025.7-2005 字段名长度描述格式恢复数据头I 十六进制,值为6Ab 证书格式十六进制,值为02b 发卡行标识4 主帐号最左面的3-8个数字(在右边补上十六进制数cn

27、 8 F ) 证书失效日期2 酬yy,在此日期后,这张证书无效n4 证书序列号3 由认证中,心分配给这张证书的唯一的二进制数b 哈希算法标识1 标识用于在数字签名方案中产生哈希结果的晗希算b 法发卡行公钥算法标识1 标识使用在发卡行公钥上的数字签名算法b 发卡行公钥长度1 标识发卡行公钥的模的字节长度b 发卡行公钥指数长度标识发卡行公钥指数的字节长度b 发卡行公钥或发卡行公钥的N臼36如果N,运NCA-36,这个字段包含了在右边补上了b 最左边字节NCA -珩同N,个值为BB的字节的整个发卡行公钥。如果N,NCA -36,这个字段包含了发卡行公钥最高位的NCA-36个字节哈希结果20 发卡行公

28、钥以及相关信息的哈希值b 恢复数据结尾十六进制,值为BCb 3. 检查恢复数据头。如果它不是6A,那么动态数据认证失败。4. 检查证书格式。如果它不是02,那么动态数据认证失败。5. 将表11中的第二个到第十个数据元素(即从证书格式直到发卡行公钥或发卡行公钥的最左边字节)从左到右连接,再把发卡行公钥的余项加在后面(如果有),最后是发卡行公钥指数。6. 使用指定的哈希算法(从哈希算法标识得到)对上一步的连接结果计算得到哈希结果。7. 把上一步计算得到的哈希结果和恢复出的哈希结果相比较。如果它们不一样,那么动态数据认证失败。8. 检验发卡行识别号是否匹配主帐号最左面的3-8个数字(允许发卡行识别号

29、可能在其后填充的F)。如果不匹配,那么动态数据认证失败。9. 确认证书失效日期中指定月的最后日期等于或迟于今天的日期。如果证书失效日期在今天的日期之前,那么证书已过期,动态数据认证失败。10.检验连接起来的阳D、认证中心公钥索引、证书序列号是否有效。如果无效,那么动态数据认证失败。1l.如果发卡行公钥算法标识无法识别,那么动态数据认证失败。12.如果以上所有的检验都通过,连接发卡行公钥的最左边字节和发卡行公钥的余项(如果有)以得到发卡行公钥模,从而继续下步取得IC卡公钥。5.3.4 IC卡公钥的获取l. 如果IC卡公钥证书的长度不同于在前面的章节中获得的发卡行公钥模长度,那么动态数据认证失败。

30、2. 为了获得在表12中指明的恢复数据,使用发卡行公钥和相应的算法将11.2.1节中指明的恢复函数应用到IC卡公钥证书上。如果恢复数据的结尾不等于BC,那么动态数据认证失败。表12:从IC卡公钥证书恢复数据的格式长度| 描述头一据一式数-格复一书恢一证,., amEa哇。omnu6,. 为-为值一值, JHHd-FJHH吁dtmF止巾进一进4、md、/-/十-十b-。字段名1 格式18 JR厅0025.7-2005应用主帐号10 主帐号(在右边补上十六进制数F) cn 20 证书失效日期2 MMYY,在此日期后,这张证书无效n4 证书序列号3 由发卡行分配给这张证书的唯一的二进制数b 哈希算法

31、标识l 标识用于在数字签名方案中产生哈希结果的哈希算b 法IC卡公钥算法标识1 标识使用在IC卡公钥上的数字签名算法b IC卡公钥长度l 标识IC卡公钥的模的字节长度b IC卡公钥指数长度标识IC卡公钥指数的字节长度b IC卡公钥或IC卡公钥的最左N,-42 如果N,c!;三N,-42,这个字段包含了在右边补上了b 边字节N, - 42 -N,c个值为BB的字节的整个IC卡公钥。如果N,cN, -42,这个字段包含了IC卡公钥最高位的N, -42个字节哈希结果20 IC卡公钥以及相关信息的哈希值b 恢复数据结尾十六进制,值为BCb 3. 检查恢复数据头。如果它不是6A,那么动态数据认证失败。4

32、. 检查证书格式。如果它不是04,那么动态数据认证失败。5. 将表12:中的第二个到第十个数据元素(即从证书格式直到IC卡公钥或IC卡公钥的最左边字节)从左到右连接,再把IC卡公钥的余项(如果有)和IC卡公钥指数加在后面,最后是中国金融集成电路CIC)卡规范借记贷记卡片规范)9.3.1节指明的需认证的静态数据。如果静态数据认证标签列表存在,并且其包含非82的标签,那么动态数据认证失败。6. 把指定的晗希算法(从哈希算法标识得到)应用到上一步的连接结果从而得到哈希结果。7. 把上一步计算得到的哈希结果和恢复出的哈希结果相比较。如果它们不一样,那么动态数据认证失败。8. 比较恢复得到的主帐号和从I

33、C卡读出的应用主帐号是否相同。如果不同,那么动态数据认证失败。9. 检验证书失效日期中指定月的最后日期是否等于或迟于今天的日期。如果不是,那么动态数据认证失败。10.如果IC卡公钥算法标识无法识别,那么动态数据认证失败。11.如果以上所有的检验都通过,连接IC卡公钥的最左边字节和IC卡公钥的余项(如果有)以得到夜卡行公钥模,继续按下面章节的描述执行实际的动态数据认证。5. 3. 5 标准动态数据认证5.3.5.1 动态签名的生成假定终端己成功地按上面讲述的过程取得了IC卡公钥。动态签名的生成技以下的步骤进行:1. 终端发出内部认证CINTERNALAUTHENTICATE)命令,命令中包含由D

34、DOL指定的数据元素,这些数据元按中国金融集成电路CIC)卡规范借记贷记应用规范)5.3节中指明的规则连接在一起。IC卡可能包含DDOL,但终端应有一个缺省的,由支付系统指定的DDOL,以防在IC卡没有提供DDOL的情况下使用。DDOL必须包含由终端生成的不可预知数(标签9F37, , 4个宇节的二进制数)。如果下面的任一情况发生,动态数据认证失败。 IC卡和终端都不含有DDOL。 IC卡上的DDOL不包含不可预知数。 IC卡上没有DDOL并且终端上缺省的DDOL不包含不可预知数。19 JRIf 0025.7-2005 2. IC卡使用IC卡私钥和相应的算法并按11.2.1节对表13中指明的数

35、据生成数字签名。这个结果叫做签名的动态应用数据。表13:需签名的动态应用数据(即哈希算法的输入)字段名长度描述格式签名的数据格式十六进制,值为05b 哈希算法标识l 标识用于产生哈希结果的哈希算法b IC卡动态数据长度1 标识IC卡动态数据的字节长度LDDb IC卡动态数据LDD 由IC卡生成和/或存储在IC卡上的动态数据填充字节N,c - LDD - 25 C N,cLoo -25)个值为阻的填充字节b 终端动态数据变长由DDOL指定的数据兀连接而成IC卡动态数据的字节长度Loo满足o Loo N,c-25o IC卡动态数据的最左边的3-9个字节应该由一个字节长的ICC动态数字长度后面跟随的

36、2-8个IC卡动态数字的值(标签9日C, 2-8个二进制宇节)组成。IC卡动态数字是由一个由IC卡生成的,随时间而变的参数(例如它可以是不可预知数或者IC卡每收到个内部认证明白阳ALAUTHENTICATE)命令就加一的计数器)。在本规范中建议使用ATC作为IC卡动态数字。除了表10中指明的数据,动态数据认证所需的数据对象在表14中详细说明。表14:生成和检验动态签名所需要的其它数据对象长度| 值标签格式9F4B N,c 据一数一用一应一态一动一的一名一侃签-mLU-D 9F49 变长5.3.5.2 动态签名的验证1. 如果签名的动态应用数据的长度不同于IC卡公钥模的长度,那么动态数据认证失败

37、。2. 为了获得在表15中指明的恢复数据,使用IC卡公钥和相应的算法将11.2.1节中指明的恢复函数应用到签名的动态应用数据上。如果恢复数据的结尾不等于BC,那么动态数据认证失败。表15:从签名的动态应用数据恢复的数据格式字段名长度描述格式恢复数据头十六进制,值为6Ab 签名数娓格式十六进制,值为05b 哈希算法标识标识用于在数字签名方案中产生哈希结果的b 哈希算法lIC卡动态数据长度l 标识IC卡动态数据的字节长度b IC卡动态数据L酣由IC卡生成和/或存储在IC卡上的动态数据填充字节N,c CN,cLDD -25)个值为BB的填充字节b Loo - 25 哈希结果20 动态应用数据以及相关

38、信息的哈希值b 恢复数据结尾十六进制,值为BCb 3. 检查恢复数据头。如果它不是6A,那么动态数据认证失败。4. 检查签名数据格式。如果它不是05,那么动态数据认证失败。5. 将表15中的第二个到第六个数据元素(即从签名数据格式直到填充字节)从左到右连接,再把DDOL中指定的数据元素加在后面。6. 把指定的哈希算法(从哈希算法标识得到)应用到上一步的连接结果从而得到哈希结果。20 JR厅0025.7-20057. 把上一步计算得到的哈希结果和恢复出的哈希结果相比较。如果它们不一样,那么动态数据认证失败。如果以上所有的步骤都成功,那么动态数据认证成功。在表15中恢复得到的IC卡动态数据中所包含

39、的IC卡动态数字应被存放在标签9F4C中。5.3.6 复合动态数据认证/应用密文生成(CDA)5.3.6.1 动态签名的生成假定: IC卡和终端都支持复合动态数据认证/应用密文生成。 产生的密文请求不是AAC。复合动态签名和应用密文生成按以下的步骤进行:1. 终端根据中国金融集成电路CIC)卡规范借记贷记卡片土lRi附录B.6中的定义发出生成应用密文(GENERATEAC)命令。卡片风险管理数据对象列表(对第一条GENERA四AC命令是CDOL1,对第二条GENERATEAC命令是CDOL2)必须包含由终端生成的不可预知数(标签9F37, 4字节二进制数)。如果不是这样,那么复合动态数据认证/

40、应用密文生成失败,TVR的CDA失败位必须被设置,并且终端向卡片请求AAC2. 如果IC卡将以TC或ARQC作为响应,则IC卡执行如下步骤:1) IC卡生成TC或ARQC;2) IC卡应用由哈希算法标识指示的哈希算法对从左到右连接的如下数据元进行运算: 在第一个GE阳RA四AC命令情形下: 由PDOL中指明,并按在其中出现的顺序,由终端在GETPROCESSING 0町IONS命令中发送给IC卡的数据元的值。 由CDOL1中指明,井按在其中出现的顺序,由终端在第一个GENERATEAC命令中发送给IC卡的数据元的值。 IC卡在响应该GENE队TEAC命令返回的数据元的标签、长度和值,根据它们返

41、回的顺序且不包括签名动态应用数据。 在第二个GENERATEAC命令情形下: 由PDOL中指明,并按在其中出现的顺序,由终端在GETPROCESSING OPTIONS命令中发送给IC卡的数据元的值。 由CDOL1中指明,并按在其中出现的顺序,由终端在第一个GENERATEAC命令中发送给IC卡的数据元的值。 由CDOL2中指明,并按在其中出现的顺序,由终端在第二个GENERATEAC命令中发送给IC卡的数据元的值。 IC卡在响应该GENERATEAC命令返回的数据元的标签、长度和值,根据它们返回的顺序且不包括签名动态应用数据。20字节的运算结果称作交易数据哈希值。3) IC卡利用卡片中保存的

42、IC卡私有密钥SIC对表16中的数据运用11.2.1节定义的数字签名方案和相应算法,将结果称作签名的动态应用数据。表16:需签名的动态应用数据(即哈希算法的输入)长度| 描述式一格一识据一标数一法的-算名一希签一哈十六进制,值为05标识用于产生交易数据哈希值和数字签名方案中哈希b b 字段名格式21 JR厅0025.7-2005结果的哈希算法IC卡动态数据长度l 标识IC卡动态数据的字节长度LDDb IC卡动态数据Loo 由IC卡生成和/或存储在IC卡上的动态数据填充字节N,C - LDD - 25 (N1cLDD -25)个值为BB的填充字节b 不可预知数4 由终端生成的不可预知数b IC卡

43、动态数据的字节长度Loo满足0:;Loo:; N1C-25o IC卡动态数据的最左边的32-38个字节由表17中指明的数据连接而成。表17:IC卡动态数据的内容长度值格式l IC卡动态数字长度b 2-8 IC卡动态数字b l 密文信息数据b 8 TC或ARQCb 20 交易数据哈希值b IC卡动态数字是一个由IC卡生成的,随时间而变的参数。(例如它可以是不可预知数或者IC卡在交易时每收到一个生成应用密文CGENERA TE AC)命令就加1的计数器)。在本规范中建议使用ATC作为IC卡动态数字。IC卡对生成应用密文CGENERATEAC)命令的响应必须按照中国金融集成电路CIC)卡规范借记贷记

44、卡片规范附加.6GE阳RATEAC命令响应报文数据域格式一节中指明的格式2C带有标签77的结构数据对象)编码,且必须包含表18中指明的三个必须数据对象(在响应中按TLV编码), 或lj选包含发卡行应用数据。表18:在CDA9GENERATEAC命令返回的数据对象标签长度值存在9F27 密文信息数据必须9F:36 2 应用交易序号必须9F4B N,汇签名的动态应用数据必须 9F10 变长,最长32发卡行应用数据可选3. 如果IC卡以AAC作为响应,那么IC卡的响应必须按照中国金融集成电路(lC)卡规范借记贷记卡片规范附录B.6GENERA TE AC命令响应报文数据域格式一节中指明的格式1或格式

45、2编码,且必须包含表19中指明的三个必须数据对象,可选包含发卡行应用数据。表19:生成AAC时GENERATEAC命令返回的数据对象标签长度值存在9F27 1 密文信息数据必须9F36 2 应用交易序号必须9F26 8 应用认证密文必须 9F10 变长,最长32发卡行应用数据可选除了明文的密文信息数据,在签名动态应用数据的验证过程中,也能够恢复出密文信息数据,如果该数据存在,则必须使用这个恢复出来的密文信息数据来判断返回的密文类型,否则,使用明文的密文信息数据。22 如果存在发卡行应用数据(标签9FIO) ,应按照表20所示的格式编码表20:发卡行应用数据JR厅0025.7-25标签长度值存在

46、长度指示符必须分散密钥索引必须密文版本号必须4 卡片验证结果(CVR)必须l 算法标识必须变长发卡行自定义数据可选分散密钥索引指示IC卡产生应用密文所使用的是哪个密钥,密文版本号指示了应用密文的计算方式,6.1节描述了一种生成应用密文的方法,密文版本号和算法标识的定义请参考中国金融集成电路(lC)卡规范借记贷记卡片规范附录E。5.3.6.2 动态签名的验证假定终端已成功地按上面讲述的过程取回了IC卡公钥。如果IC卡以AAC响应,那么复合动态数据认证/应用密文生成(CDA)失败。如果IC卡以TC或ARQC响应,那么终端从响应中取回表19中前面的四个数据对象并且执行以下步骤。1. 如果签名的动态应

47、用数据的长度不同于IC卡公钥模的长度,那么复合动态数据认证/应用密文生成失败。2. 为了获得在表21中指明的恢复数据,使用IC卡公钥和相应的算法并将11.2.1节中指明的恢复函数应用到签名的动态应用数据上。如果恢复数据的结尾不等于BC,那么复合动态数据认证/应用密文生成失败。表21:从签名动态应用数据恢复的数据的格式字段名长度描述格式恢复数据头l 十六进制,值为6Ab 签名数据格式l 十六进制,值为05b 晗希算法标识1 标识用于产生交易数据哈希值和数字签名方案b 中晗希结果的哈希算法IC卡动态数据长度1 标识IC卡动态数据的字节长度b IC卡动态数据LDD 由IC卡生成和/或存储在IC卡上的

48、动态数据填充字节N1C一(N1cLDD -25)个值为四的填充字节b LDD - 25 哈希结果20 动态应用数据以及相关信息的哈希值b 恢复数据结尾l 十六进制,值为BCb 3. 检查恢复数据头。如果它不是6A,那么复合动态数据认证/应用密文生成失败。4. 检查签名数据格式。如果它不是05,那么复合动态数据认证/应用密文生成失败。5. 从IC卡动态数据中取得表17中指明的数据。6. 检查从IC卡动态数据中取得的密文信息数据是否等于从产生应用密文(GENERATE AC)命令的响应中获得的密文信息数据。如果不等,那么复合动态数据认证/应用密文生成失败。7. 将表21中的第二个到第六个数据元素(即从签名数据格式直到填充字节)从左到右连接,再把不可预知数加在后面。8. 把指定的哈希算法(从哈希算法标识得到)应用到上一步的连接结果从而得到哈希结果。9. 把上一步计算得到的哈希结果和恢复出的晗希结果相比较。如果它们不一样,那么复合动态数据认证/应用密文生成失败。23 R厅0025.7-200510. 将下列数据元从左到右连接z 在第一个

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

当前位置:首页 > 标准规范 > 行业标准 > JR金融行业

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1