PBOC联机交易中ARQC及ARPC的计算

金融IC卡在申请联机交易时,终端会进行发卡行认证,验证卡片的合法性,终端通过GAC得到卡片返回的ARQC,与终端自身产生的ARQC进行比较,如果一致,则说明是由发卡行发行的合法卡片,同时对ARQC及认证码进行3DES计算,返回ARPC,卡片得到ARPC后进行外部认证,用以验证终端的合法性。

计算ARQC的步骤为:

1.发送GAC

2.利用应用主密钥(ARQC KEY即DGI8000前16字节)对ATC前补000000000000与ATC的反前补000000000000拼接的数据(如ATC为0001,则这里是0000000000000001000000000000FFFE)做3DES加密算出过程密钥SKAC,

3.组织数据授权金额至不可预知数(TAG 9F49的值,动态数据认证时发内部认证的数据),加上AIP、ATC、卡片验证结果补80,

4.用过程密钥SKAC对上述组织的数据进行MAC计算即可得到ARQC的值举例如下:

1.终端发送GAC:80AE8000340000000012340000000000340156D86004A800015612051601010101010903200000000000000000000000000000000000000000

卡片返回:801E80000EF294D7022FA9B05807020103A4B904010A0100000000001BFC423C

卡片应用子密钥(DGI8000前16字节):0D2E3CB0BC1F9E03AED58F663A2F9679

可知ATC=000E ARQC=F294D7022FA9B058 卡片验证结果为:03A4B904 AIP:7C00

2.用卡片应用子密钥0D2E3CB0BC1F9E03AED58F663A2F9679对000000000000000E000000000000FFF1做3DES加密得到过程密钥SKAC:C3D3F062E9992B4E923D338D66193526

3.从GAC返回数据及AIP等进行数据组织:0000000012340000000000340156D86004A80001561205160101010101+7C00+000E+03A4B904+800000

4.用SKAC对上述数据做PBOCMac计算得到:F294D7022FA9B058

ARPC的计算过程相对简单:

1.将ARQC与服务码+6字节0进行异或

2.用计算ARQC的过程密钥对异或结果进行3DES加密(过程密钥与上述ARQC计算相同)即为ARPC

3.卡片利用终端返回的ARPC+服务码进行外部认证

举例如下:

采用上述GAC返回的ARQC:F294D7022FA9B058

1.F294D7022FA9B058和3030000000000000异或C2A4D7022FA9B058

2.用C3D3F062E9992B4E923D338D66193526进行3DES加密得到结果ARPC:3846EEB4C8D34271

3.外部认证:008200000A 3846EEB4C8D34271 3030

文章来源:SingCard的博客

 

原文: https://www.duoluodeyu.com/2313.html

 

转载于:https://www.cnblogs.com/jiftle/p/7026121.html

目 次 前 言 I 1. 范围 1 2. 规范性引用文件 1 3. 术语和定义 1 3.1 PIN(Personal Identification Number) 1 3.2 PIN Block 1 3.3 MAC(Message Authentication Code) 1 3.4 MMK(Member Master Key) 1 3.5 MAK(MAC Key) 1 3.6 PIK(PIN Key) 2 3.7 数据密钥 2 3.8 HSM 2 4. 密钥管理与控制 2 4.1 安全管理基本要求 2 4.1.1 管理制度的基本要求 2 4.1.2 数据传输安全控制的基本要求 2 4.1.3 硬件加密机的基本要求 2 4.1.4 数据加密传输环境的基本要求 3 4.2 各层次密钥简介 3 4.3 密钥的产生 3 4.3.1 数据密钥的产生 4 4.3.2 成员主密钥(MMK)的产生 4 4.3.3 主密钥的产生 4 4.4 密钥的分发 4 4.4.1 数据密钥的分发 4 4.4.2 成员主密钥(MMK)的分发 4 4.5 密钥的存储 4 4.5.1 数据密钥和成员主密钥的存储 4 4.5.2 主密钥的存储 4 4.5.3 密钥档案的保存 4 4.6 密钥的销毁 5 5. 数据的加密处理 5 5.1 PIN的加密和解密 5 5.1.1 PIN的长度 6 5.1.2 PIN的字符集 6 5.1.3 PIN BLOCK 6 5.1.4 PIN的加密方法 7 5.1.5 PIN异常的处理 7 5.2 联机报文MAC的计算方法 7 5.2.1 MAC的使用条件 7 5.2.2 MAC报文域的选择 7 5.2.3 MAC域的构成规则 10 5.2.4 MAC的计算 10 5.2.5 MAC错误异常处理 11 5.3 顺序文件MAC的计算方法 11 5.3.1 MAC KEY和MAC的字符组成 11 5.3.2 MAC KEY的产生方式 11 5.3.3 MAC块(MAB)的构成 11 5.3.4 MAC的计算 11 5.3.5 MAC错误异常处理 11 5.4 VIP文件主账号的加密和解密 11 5.4.1 VIPPAN的长度 12 5.4.2 VIPPAN的字符集 12 5.4.3 VIPPAN BLOCK 12 5.4.4 VIPPAN的加密方法 12 6. 重置密钥 13 6.1 入网机构发起的申请重置密钥 13 6.1.1 交易流程 13 6.1.2 流程图 14 6.1.3 入网机构申请重置密钥说明 14 6.1.4 报文格式 15 6.2 CUPS发起的重置密钥 16 6.2.1 交易流程 16 6.2.2 流程图 16 6.2.3 CUPS发起的重置密钥说明 17 6.2.4 报文格式 18 6.3 新旧密钥的切换处理(同步) 19 7. PBOC借/贷记标准IC卡安全说明 19 7.1 PBOC借/贷记标准IC卡的安全认证功能 19 7.2 ARQC的生成算法 20 7.2.1 ARQC的生成过程 20 7.2.2 密钥分散算法(MDK生成UDK) 20 7.2.3 双长度DES过程密钥(Session Key)分散算法 20 7.2.4 计算ARQC 21 7.2.5 计算ARPC 22 8. 相关报文域说明 22 8.1 域48 22 8.1.1 变量属性 22 8.1.2 域描述 22 8.2 域52 22 8.2.1 变量属性 23 8.2.2 域描述 23 8.2.3 用法 23 8.2.4 错误代码 23 8.3 域53 23 8.3.1 变量属性 23 8.3.2 域描述 23 8.3.3 用法一:密钥管理类报文中的使用 23 8.3.4 用法二:交易报文类中的使用 23 8.3.5 拒绝码 23 8.4 域70 23 8.4.1 变量属性 23 8.4.2 域描述 24 8.4.3 用法一:网络管理及密钥更新类报文标识 24 8.4.4 拒绝码 24 8.5 域96 24 8.5.1 变量属性: 24 8.5.2 域描述: 24 8.5.3 用法: 24 8.6 域128、192 24 8.6.1 变量属性 24 8.6.2 域描述: 24 8.6.3 用法: 24 8.7 域134 25 8.7.1 变量属性 25 8.7.2 域描述 25 8.7.3 134.1 25 8.7.4 134.2 25 8.7.5 134.4 26 8.8 域136 26 8.8.1 变量属性 26 8.8.2 域描述 26 8.8.3 拒绝码 26 8.9 域139 26 8.9.1 变量属性 26 8.9.2 域描述 26 8.9.3 域139.1 26 8.9.4 域139.2 26 参考文献 28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值