取款机一直显示arqc arpc验证失败什么意思

住房公积金在取款机出现通讯失败是什么意思?_百度知道建行卡插到邮政取款机里显示通讯失败是什么意思_百度知道建行银行卡自助取款机显示读取信息失败是什么原因_百度知道取款机出现取款失败,正在冲正什么意思?拜托了各位 谢谢_百度知道ARQC与ARPC的生成和校验方法
ARQC与ARPC的生成和校验方法
[摘要:ARQC:authenticate request cryptogram,受权要求报文 ARPC:authenticate response cryptogram,受权相应报文 AC:application cryptogram,运用稀文 AAC:application authenticate cryptogram,运用认证稀文 TC:transaction certificate,交]
ARQC:authenticate request cryptogram,授权请求报文
ARPC:authenticate response cryptogram,授权响应报文
AC:application cryptogram,应用密文
AAC:application authenticate cryptogram,应用认证密文
TC:transaction certificate,交易证书
ATC:application transaction counter,应用交易计数器
ARC:authenticate response code,授权应答码
前提:&1.&获得IC卡AC子密钥(应用子密钥),或者获得发卡行AC主密钥(应用主密钥) &本例假设卡片的应用主密钥为MDKAC,十六字节:&MDKAC&&=&C4DFB9D6D0E&2. 已知IC卡卡号PAN(5A)及卡序列号(5F34)&本例:&&PAN&=&2707355 &卡号一般为19位,最后一位是校验位, &PAN&ser&= &01 ,卡序列号一般是一个字节,存储在tag5F34中&
二、TC、ARQC及AAC的计算
a.首先需要取IC卡AC子密钥(应用子密钥),如果已经获得了IC卡AC子密钥(应用子密钥)则略过此步。
获取应用子密钥的方法: &用发卡行的应用主密钥===》分散===》IC卡的应用子密钥
用发卡行主密钥分散出IC卡AC子密钥。方法为使用发卡行主密钥,对PAN(卡号)的后14位(如果PAN不足14位前面补0)加PAN序列号(卡序列号,tag5F34)(共8B)和对此取反的8个字节连接得到的16字节数据,做3DES加密计算就得到IC卡AC子密钥(应用子密钥)。
如: &用MDKAC=C4DFB9D6D0E & &PAN&=& &,PAN&ser&=&&&01
& & & & 对55 01 DFEEFFFD8F8CAAFE 做3DES加密得 B8A15DA5FFD8F8DFE2BD75(UDK)应用子密钥
(5501) &=》取反 &=》(&DFEEFFFD8F8CAAFE)
(这就是所谓的有应用主密钥分散得到应用子密钥的过程)
b.计算得到过程密钥:
用IC卡AC子密钥(应用子密钥),对交易计数器ATC做3DES加密:
1.在ATC前补6字节0x00,对ATC取反,并在前补6字节0x00,并连接成16字节的数据,作为3DES的加密数据
例 如:ATC = 03D3 则 &链接后的数据为: 03D3 FC2C & & (其中FC2C为03D3取反后的值,可以用计算器(程序员模式)验证)
2. 用IC卡的AC子密钥(应用子密钥)对如上数据做3DES加密得过程密钥:
&如: 用UDK对03D0FC2C做3DES加密得到的结果即是:4AACDC4EEE43 (过程密钥 )
3.校验AAC、TC及ARQC
IC卡返回的55域数据为: & & &待校验的密文: 81 A9 DC 93 10 F8 88 56
授权金额: & & & & & & & & & &
& & & & & & & & & & & & & & & & &9F0206
其它金额: & & & & & & & & & &
& & & & & & & & & & & & & & & & &9F0306
国家代码: & & & & & & & & & & 0156 & & & & & & & & & & & & & & & & & & & & & & & &9F1A02
终端验证: & & & & & & & & & &
& & & & & & & & & & & & & & & & & & 9505
货币代码: & & & & & & & & & & 0156 & & & & & & & & & & & & & & & & & & & & & & & &5F2A0
交易日期: & & & & & & & & & & 000000 & & & & & & & & & & & & & & & & & & & & & &9A03
交易类型: & & & & & & & & & & 00 & & & & & & & & & & & & & & & & & & & & & & & & & 9C01
随机数: & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &9F3704
AIP: & & & & & & & & & & & & & 7C00 & & & & & & & & & & & & & & & & & & & & & & & & 8202 &
ATC: & & & & & & & & & & & & &03D3 & & & & & & & & & & & & & & & & & & & & & & & &9F3602
CVR: & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &9F1013
连接如上数据得:
000 0 C00 03D3
用过程密钥对如上数据做MAC运算得到了AAC(应用认证密文)、TC(交易证书)或ARQC(授权响应报文):
&AAC、TC或ARQC &= & 81A9DC 与IC卡返回的响应密文比较相等,校验成功!
三、ARPC的计算方式
a.取授权应答码(ARC) &
授权应答码为服务器返回的两字节数据,本例假设为:&00& &则ARC = 0x30 0x30 &(十六进制)
ARPC计算过程 &
1. 在ARC后补6个字节0x00,并和ARQC做异或运算 &如: & 00000 异或(XOR) 81A9DC &得 B199DC &
2. 使用过程密钥对异或结果做3DES加密运算就得到ARPC
过程密钥:4AACDC4EEE43 对B199DC 做3DES加密运算得ARPC密文:84DD63A221F915CA(ARPC)
3. 命令(外部认证) &00 82 00 00 0A +ARPC(8B)+ARC(2B)
感谢关注 Ithao123精品文库频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序[1]。在设计Swift时.就有意和Objective-C共存,Objective-C是Apple操作系统在导入Swift前使用的编程语言
Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来使得编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向。
IThao123周刊

我要回帖

更多关于 arqc arpc是什么 的文章

 

随机推荐