登陆

IC卡脱机数据认证相关

fuzhika 2019-02-21 2833人围观 ,发现0个评论
成都配门禁卡IC卡微信yezhuka电话18200229189

1.脱机数据认证的分类。

脱机数据认证是终端使用公钥技术认证卡片中的数据的操作,脱机数据认证有两种类型:静态脱机数据认证(SDA)和动态数据认证(DDA)。SDA是终端认证卡片中静态(不变)数据。SDA可以确保卡片在个人化之后,发卡行选定的数据不会被篡改。DDA包括标准DDA和复合DDA应用密文生成(CDA)两种认证方式。在DDA的处理过程中,终端认证卡片中静态数据和卡片用交易唯一数据生成的密文。DDA可以确保卡片在个人化之后,发卡行选定的数据不会被篡改;DDA还可以防止伪卡(复制)。在非接触式IC卡支付中为了实现可以在1秒内完成DDA数据认证,qPBOC定义了fDDA认证,将DDA数据认证置于卡片与终端数据交互之后,从而加快pBOC交易的完成。

2.静态脱机数据认证SDA的过程。

在静态脱机数据认证SDA过程中,卡片不需要终端数据,终端使用公钥认证技术和验证发卡行公钥,进行验证卡片SDA。概括步骤可分为如下描述

步骤1:检索CA公钥。终端使用卡片中的PKI和RID确定使用哪一个CA公钥。

步骤2:恢复发卡行公钥。

终端使用CA公钥验证IC卡复制中的发卡行证书并恢复证书中的发卡行公钥。

步骤3:验证签名的静态应用数据。

a.恢复哈希结果;

b.计算哈希值;

C.比较哈希结果。

如果所有的SDA步骤都成功,SDA通过。

3.标准DDA认证的过程。

在标准DDA处理过程中,终端发送内部认证(INTERNALAUTHENTICATE)命令。命令包括了DDOL或缺省DDOL中指明的终端动态数据。为了确保内部认证(INTERNALAUTHENTICATE)命令返回数据在256字节限制内,签名的动态应用数据加上可选的TV格式编码的长度应该限制在JRT0025.7中定义的范围内,当卡片收到内部认证(ⅠNTERNALAUTHENTICATE)命令,使用IC卡私钥生成签名的动态应用数据。在内部认证(INTERNALAUTHENTICATE)命令的返回中包含此动态签名。以表2-15所列命令编码格式进行发送数据。

IC卡脱机数据认证相关

表2-15 内部认证(INTERNALAUTHENTICATE)命令报文

在内部认证(INTERNALAUTHENTICATE)命令中的算法引用(P1)域值为“00”,这表示该值无意义。命令报文的数据域包括该应用专有的与认证有关的数据。它是根据JRT00257中定义的动态数据认证数据对象列表(DDOL)规则来编码的为了确保内部认证(INTERNALAUTHENTICATE)命令返回数据在256字节限制内,签名的动态应用数据加上可选的TLV格式编码的长度应该限制在JR/T0025.7中定义的范围内。

响应报文的数据域包括个标签为“80”的BER-TV编码数据对象。数据域中包括签名动态应用数据。签名动态应用数据按照JRT0057中的规则定义。标准DDA的处理有以下步骤:

步骤1:检索CA公钥。

终端使用卡片中的PKI和RID确定使用哪一个CA公钥。

步骤2:恢复发卡行公钥。

终端使用CA公钥验证卡片中的发卡行证书并恢复证书中的发卡行公钥。

步骤3:恢复IC卡公钥。

终端使用发卡行公钥验证卡片中的IC卡公钥证书并恢复证书中的IC卡公钥和静态数据哈希结果。IC卡公钥证书确保IC卡公钥的合法性。终端用卡片中的实际数据元重新计算哈希值检查是否和恢复的哈希值匹配。

步骤4:生成动态签名(仅用于标准DDA)。

终端发送内部认证命令请求一个动态签名。命令中包括了DDOL中指定的数据。

收到内部认证命令后,卡片:

a.设置CVR中脱机动态数据认证执行位为“1”;

b.连接内部认证命令中的终端数据和在IC卡动态数据中指定的卡片数据,见JR/T0025.7部分5.3.5;

C.用上一步连接的数据做哈希;

d.将哈希包括在签名的动态应用数据中;

e.使用IC卡私钥给签名的动态应用数据做签名;

f.在内部认证命令的响应信息中返回签名的动态应用数据。

步骤5:动态签名验证(仅用于标准DDA)。终端执行下列步骤验证动态签名:

使用IC卡公钥解密动态签名恢复数据元哈希值;

使用动态数据元重新计算哈希值;比较两个哈希值是否匹配。如果所有上述步骤成功,标准DDA通过

4.标准DDA认证的过程。

CDA处理包括下列步骤:

终端在读取应用数据后终端行为分析之前,执行标准DDA中步骤1到步骤3。

CDA剩下的卡片步骤是生成一个包括应用密文的动态签名。这一步在卡片收到生成应用密文命令时执行。只有当交易符合CDA的执行条件,而且应用密文类型是TC或ARQC时发生。

CDA剩下的终端步骤是验证卡片生成动态签名。这一步在联机处理过程中执行。如果验证失败,交易拒绝。

5.fDDA的认证。

fDDA既是快速DDA(Fastdda),符合JRT0025定义的一种快速DDA用于pBOC交易,允许读写器发出READRECORD命令从卡片获取动态数据认证(DDA)相关的数据,在卡片离开感应区后执行DDA计算。在非接触支付环境中,快速交易速度(1秒或者更低)是业务上的需要。DDA作为一种可选方法,用于脱机预防伪卡。在这种方法中,终端在SELECT的返回域中包含9F38(PDOL),卡片通过这个数据向终端请求不可预知的随机数。终端将PDOL中请求的数据,放入GPO命令的数据域,向卡片发送不可预知数等。表2-16为GPO命令格式

表2-16 GPO命令

IC卡脱机数据认证相关

对于脱机交易,卡片通过GPO的随机数和ATC生成动态签名,并将动态签名通过GPO的响应返回。之后如果终端决定进行DA,从GPO数据中读取标签“94”,决定通过读取哪个文件,从而得到用于fDDA数据认证的数据。最后

进行mDA数据认证,来判别是否为伪卡。

6.DDA与DDA的区别。

在pBOC交易中,使用們DA进行脱机数据认证。在GPO阶段返回动态签名数据,而完整的PBOC交易中,使用外部认证(EXTERNALAUTHENTICATE)返回动态签名数据


请发表您的评论
请关注微信公众号
微信二维码
不容错过