PBOC卡片应用分析(三)

上一篇读记录的时候,对卡内数据解析不太熟悉,好多东西没有分析,今天重新学习规范对照分析一下,把不涉及本人隐私的内容也都发出来,方便分析。
从上一篇的第10条指令重新来。
10.READ RECORD
APDU:00B2010C3C
RETURN:703A57136259****************************00000F9F6112313*3*3*30323139383*3*3*3*3*3*3*3*3*9F6201005F20095A**************47(我的卡号身份证号这些隐私用*屏蔽掉)
SW1SW2:9000

对读取出来的数据进行解析57后面是磁条2的等效数据136259****************************00000F,6259***是我的卡号,9F16是持卡人证件号码Tag,后面的数据313*3*3*30323139383*3*3*3*3*3*3*3*3*,是持卡人证件号码的ASCII码,9F62是证件类型Tag,00是身份证,5F20是持卡人姓名Tag,5A**************47是我的英文姓名ASCII码,5A应该对应字符'Z'。

继续往后读下一个文件

11.READ RECORD
APDU:00B2011400
SW1SW2:6C44

调整一下Le重新发指令

12.READ RECORD
APDU:00B2011444
RETURN:70425F24032*****5A086259************9F0702FF008E0E0000000000 00000042031E031F009F0D05 D8608CA8009F0E0500101000 009F0F05D8688CF8005F2802 0156
SW1SW2:9000

对这条记录的分析,5F24是应用有效期的Tag,对应的是信用卡卡面的有效期,如果是200430就表示有效期是2020年4月30日到期。5A是PAN的Tag,是我的卡号6259************;
9F07是应用控制用途Tag,值是FF00,下面按照规范分析,第一字节所有位都为1,所以表示国内现金交易有效、国际现金交易有效、国内商品有效、国际商品有效、国内服务有效、国际服务有效、ATM有效、除ATM外的终端有效,第二自己所有位为0表示,不允许国内返现、不允许国外返现。
8E是是卡人验证方法列表Tag,值为0000000000000000 42 031E031F00按规范分析一下,前8字节分别为金额X和金额Y, 42为CVMCode表示使用联机加密PIN验证,并且如果使用本方法验证失败,使用后续方法验证,下一字节03是CVMCondition Code, 表示如果终端支持这个CVM,下一个CVM用另两个CVM码和CVM条件字节表示(没看懂,求指导)。
9F0D是发卡行行为代码-缺省的Tag,表示指定交易请求联机但是终端不能完成联机上送的交易拒绝条件。
9F0E是发卡行行为代码-拒绝的Tag,表示指定交易不进行联机直接拒绝的条件。
9F0F是发卡行行为代码-联机的Tag,表示指定交易联机上送的条件。
最后这个是发卡行国家代码。

13.READ RECORD
APDU:00B2021400
SW1SW2:6CBA

14.READ RECORD
APDU:00B20214BA
RETURN:7081B7+183字节数据
SW1SW2:9000

这条是发卡行签名的数据签名。用卡片内指定的数据生成,在SDA过程中由终端验证。

15.READ RECORD
APDU:00B2031400
SW1SW2:6CE8

16.READ RECORD
APDU:00B20314E8
RETURN:7081E59F46+一堆数据
SW1SW2:9000

这条记录读出来的是IC卡公钥数据,按理说公钥是可以公开的,但是我还是给他省略了。

17.READ RECORD
APDU:00B2041400
SW1SW2:6C42

调整一下Le重新下发命令。

18.READ RECORD
APDU:00B2041442
RETURN:70405F2403 2*****5A086259************9F0702FF008E0C0000000000 0000001E031F009F0D05D860 3CA8009F0E0500108000009F 0F05D8683CF8005F28020156
SW1SW2:9000

这条记录读出的数据解析一下。
5F24是应用时效日期,这个在上面也读出来过,值跟之前读的是一致的;
5A是应用PAN,6259************跟我的卡号一致;
9F07是应用控制用途AUCTag,上面也分析过,跟上面一致;
8E是CVM列表,上面分析过;
9F0D,9F0E,9F0F是发卡行行为代码Tag,上面分析过;
5F28是发行国家代码Tag。

19.READ RECORD
APDU:00B2021C00
SW1SW2:6CE6

调整一下Le重新下发命令。

20.READ RECORD
APDU:00B2021CE6
RETURN:7081E390+一堆数据
SW1SW2:9000

这条记录是发卡行公钥数据,这个公钥公开应该很安全,为了节省字节也不公开了,哈哈。

21.READ RECORD
APDU:00B2020C00
SW1SW2:6A83

读下一个。

22.READ RECORD
APDU:00B2031C00
SW1SW2:6C05

23.READ RECORD
APDU:00B2031C05
RETURN:70038F0103
SW1SW2:9000

这条记录是CA公钥索引。

24.READ RECORD
APDU:00B2041C00
SW1SW2:6C0A

25.READ RECORD
APDU:00B2041C0A
RETURN:70089F1401009F230100
SW1SW2:9000

这条记录是连续脱机交易下限。

26.READ RECORD
APDU:00B2051C00
SW1SW2:6A83

文件应该读取完毕了,总感觉漏掉一些,我再检查一下,下次补充上。我还读到了电子现金的余额。本篇只分析卡内数据,后面交易的东西下次再研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值