玩卡网-卡友自己的家园,最具人气的信用卡论坛|借记卡论坛|银行卡论坛

 找回密码
 加入玩卡网

QQ登录

只需一步,快速开始

搜索
查看: 4643|回复: 7

以移动浦发联名挂件卡解析qPBOC应用

[复制链接]
发表于 2011-11-16 13:08 | 显示全部楼层 |阅读模式



qPBOC的规范让人看的有些头晕,做开发的人也不知道究竟这个规范该怎么运用到实际需求中。好在目前有很多qPBOC的项目已经在实施了,可以让我们从中分析一些实际的案例,在此仅以中国移动与上海浦东发展银行联名发行的挂件卡来做一次实际数据的案例分析。



一、挂件卡概述

挂件卡大约比普通信用卡尺寸的四分之一略大,内置天线,厚度约2毫米左右。其中包含了非接PBOC借贷记应用和qPBOC应用,不支持磁条数据MSD交易。支持PSE和PPSE的选择,通过选择PSE可以得到的目录文件SFI入口,利用读记录可以获得非接PBOC借贷记的AID,而选择PPSE后直接给出了优先选则应用的AID,二者是一致的均为:A0 00 00 03 33 01 01 02。无论通过PSE还是PPSE选择该应用,其返回的FCI均包含Tag为9F66的终端交易属性数据请求。根据GPO中给出的9F66数据,卡片会决定走qPBOC还是标准PBOC借贷记流程。



二、非接PBOC应用

在GPO命令中送入的终端交易属性如果是60 00 00 00(表示支持qPBOC与非接触PBOC借贷记),则卡片直接返回的是标准借贷记的GPO响应。其中AIP = 7C 00(卡片支持SDA,DDA,持卡人验证,终端风险管理和发卡行认证;不支持CDA以及MSD。另外有AFL(08 01 02 00  10 01 04 01 。。。。),可以读出卡片的公钥证书、公钥指数、公钥余数、DDOL等和交易相关的数据。

从卡中可以读出9F14和9F23这两个来自卡片的终端风险管理参数均配置为0,也就是连续脱机交易上限和下限都是0,说明对于有联机能力的终端,不允许进行脱机交易。

同样9F58,9F59,9F54,9F5C也都为0,说明发卡行已经把卡片配置成不可用作脱机交易了

卡片的启用日期和失效日期分别为:110906和160928。

现在读出的9F13数据显示上次联机交易计数器ATC数据为0020。

接下来我们可以读一下交易记录数据,共计四条记录:



记录1:

FF FF FF FF FF FF 00 00 00 02 36 00 FF FF FF FF FF FF FF FF 01 56 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 08



记录2:

FF FF FF FF FF FF 00 00 00 00 05 00 FF FF FF FF FF FF FF FF 01 56 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 04



记录3:

11 09 29 13 47 26 00 00 00 10 00 00 00 00 00 00 00 00 01 56 01 56 B9 F1 C3 E6 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 00 03



记录4:

11 09 29 13 26 58 00 00 00 00 00 00 00 00 00 00 00 00 01 56 01 56 B9 F1 C3 E6 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 99 00 02



可以看出卡片是在9月29日13点多开户的,做了两笔柜面联机交易且充值1000元,另外还有两笔分别为5元和236元的脱机消费交易。这里有一点小问题,就是从上次联机交易计数器标签9F13中读出的数据是0020,和记录3中指出的0003不相符。这是因为在测试的时候尝试发送了导致必须联机的GPO所致。

再看看持卡人认证方式CVM列表标签8E的数据结构,8E 0E 00 00 00 00 00 00 00 00 42 03 5E 03 1F 00,第一个入口4203是联机加密PIN验证,且如果此验证失败应用下一个CVM验证,应用条件是如果终端支持;第二个入口5E03是纸上签名,且如果此验证失败应用下一个CVM验证,应用条件是如果终端支持;第三个入口是无需CVM,应用条件为“总是”。

总之,该卡的非接触标准PBOC借贷记应用只允许联机交易,不支持脱机。



三、qPBOC应用

如果送入的终端交易属性为20000000,则直接返回脱机qPBOC交易的GPO应答数据。

先看一下脱机交易GPO应答数据:

77 81 D4 82 02 7C 00 94 08 18 01 04 01 20 01 02 00 9F 36 02 00 29 9F 26 08 18 92 2B F2 0A 14 FC F3 9F 10 08 07 02 17 03 90 00 00 01 57 13 62 59 71 00 01 52 11 28 D1 60 92 06 00 00 05 10 00 00 1F 5F 34 01 00 9F 4B 81 80 A1 15 8D 4E 41 71 29 15 81 3F B6 20 BB B9 2B AB 10 20 6F  1B ED 11 29 12 FC F9 AC A7 90 6B 30 C0 6E C1 E9 44 2E 61 04 F9 A5 90 EF 7C F0 59 B1 F5 C9 FB 35 96 F5 E9 E4 A9 68 00 F3 8E 74 B6 E6 5D 63 4A 64 FB C1 44 FB B8 9A 37 D4 27 62 BE 94 22 15 32 7C 56 41 65 78 A3 43 C2 A9 CA D1 3D 7B B5 4F 0B 08 13 16 84 34 80 0A A0 2B 65 79 47 20 DA 2A C7 D0 14 5D 3F 37 EF 15 5A AA 8C CE 4F 99 AF 9F 6C 02 20 00 9F 5D 06 00 00 00 07 58 99

由82标签指出的AIP和标准借贷记的一致都是7C00,标签94给出了AFL:18 01 04 01 20 01 02 00,同时还包含有以下的数据标签:交易计数器9F36,应用密文9F26,发卡行应用数据9F10,第二磁道等价数据57,PAN序列号5F34,签名的动态应用数据9F4B,卡片交易属性9F6C和可用脱机消费余额9F5D。

读出卡片附加处理数据标签9F68的值为:91003000,说明:该卡片仅支持小额检查,不支持脱机可用余额的检查,也就是说该卡走的是qPBOC的小额交易流程。

另外通过读取9F77和9F78两个数据可知,该卡单笔交易金额最多为1000元,充值的上限也是1000元。目前该卡的余额是759元(GPO应答中给出的可用余额是758.99元,那是因为在发送GPO命令的时候送入的授权金额是1分钱),加上之前消费的5元和236元正好等于充值的1000元,而且电子现金重置阈值9F6D的数据是0。

如果在GPO命令中送入的终端交易属性为:20800000,则卡片返回联机GPO应答:

77 58 82 02 7C 00 9F 36 02 00 35 57 13 62 59 71 00 01 52 11 28 D1 60 92 06 00 00 05 10 00 00 1F 9F 10 13 07 02 17 03 A0 00 00 01 0A 01 00 00 07 59 00 55 97 C3 52 9F 26 08 68 D5 7B 51 35 53 B6 78 5F 34 01 00 9F 6C 02 20 00 9F 5D 06 00 00 00 07 58 99 5F 20 04 XX XX XX XX

       和脱机qPBOC的GPO响应数据相比,此处缺少了94和9F4B等信息,多了一项5F20(两个汉字的持卡人姓名)。



四、其他

(一)   兼容性问题及建议

挂件卡本身尺寸较小,用两款通用读卡器(HID Omnikey5321和SCM SDI010)测试小卡的读写距离低于普通卡,并且只有当小卡全部进入读卡器的感应范围后才会正常读写。相比普通大卡而言,只要部分进入到读卡器的感应范围就能够正常读写。所以如果终端设备的感应范围较小的话,会出现寻找小卡困难的问题,对大卡则问题不明显。

建议CUP对于小卡同样制定相应的规范标准,并且加强小卡与机具的兼容性测试,以便于确保将来卡片和终端之间不会出现操作困难(据悉该卡在实际应用中已经出现类似问题,必须要对准某型号终端的某个固定位置才能勉强实现交易)。

(二)   交易流程中的安全风险及提示

安全的问题不仅包括数据保密和防止伪造篡改等方面,还有很重要的一点就是可用性。

       在可用性方面qPBOC存在一定的风险。比如只要给卡片发送格式相符的GPO数据,卡片的交易计数器ATC就会自动加1,而当ATC达到65535之后,卡片则永久锁定应用。所以如果卡片被恶意连续发送GPO命令后,则会被永久锁定应用,造成卡片不可用;另外,卡片在处理qPBOC的脱机交易流程时,当终端读出AFL指定的全部数据后即认为交易完成,所以即便是非授权的终端也可以从卡片上扣钱,当然所扣的钱不能提交给发卡行进行清算。虽然发卡行可以通过后台的策略规避该类风险,避免持卡人的损失,但是这同样会造成卡片一定时期的不可用(比如通过读卡器发送命令直接扣掉该卡的余额759元钱)。

为此特意通过普通读卡器发送命令用该卡做了1分钱的脱机消费交易,读取新增的交易记录可以看出脱机消费成功:FF FF FF FF FF FF 00 00 00 00 00 01 FF FF FF FF FF FF FF FF 01 56 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 37。同时新的余额也变成了758.99元,交易计数器变为0037。

其实如果保护好自己的卡片,这些问题是可以避免的。

现实的问题是卡片在合法的终端上进行交易后,因为终端的原因造成终端认证失败从而误判上笔交易不成功,但是这时卡上的钱已经被扣掉了,由此就会引起争议。

所以在目前的规范下要仔细了解发卡行在出现争议交易时的处理条款,可惜的是目前很多发卡行对于该风险了解不多,随着qPBOC卡片发行数量的增加,类似的争议交易会逐渐涌现。目前只能依靠卡片、终端、后台多方协作来仲裁争议交易,没有严格的规范约定。

体验新版博客
分享到搜狐微博
楼主热帖
玩卡网 www.plycd.com 活跃的信用卡论坛
发表于 2011-11-16 13:16 | 显示全部楼层
这卡非接触支付有两种形式……
刷额度和电子现金闪付……
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-16 13:20 | 显示全部楼层
jeff18688 发表于 2011-11-16 13:16
这卡非接触支付有两种形式……
刷额度和电子现金闪付……

pboc的电子现金需要圈存一部分现金或者预授权一部分额度,圈存的部分无法挂失。
直接刷额度,那必须是联机支付。

普通银联的卡根本没有无卡支付的设置,所以经常有商户以,
“连不上网”,“pos机坏了”等理由拒绝刷卡。
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

发表于 2011-11-16 13:27 | 显示全部楼层
本帖最后由 jeff18688 于 2011-11-16 13:30 编辑
ahamard 发表于 2011-11-16 13:20
pboc的电子现金需要圈存一部分现金或者预授权一部分额度,圈存的部分无法挂失。
直接刷额度,那必须是联 ...


“总之,该卡的非接触标准PBOC借贷记应用只允许联机交易,不支持脱机。”
嫩现在承认这卡可以不圈存就支付1000以上,并且可以脱机闪付了不?→_→
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

发表于 2011-11-16 13:37 | 显示全部楼层
解释的太深奥了,难懂
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-16 14:01 手机频道 | 显示全部楼层
jeff18688 发表于 2011-11-16 13:27 “总之,该卡的非接触标准PBOC借贷记应用只允许联机交易,不支持脱机。” 嫩现在承认这卡可以不圈存就 ...

我说的是不圈存离线支付,你别偷换概念
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

发表于 2011-11-16 14:09 | 显示全部楼层
这个卡可以不圈存,直接用贷记账户吧?
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

发表于 2011-11-16 14:09 | 显示全部楼层
ahamard 发表于 2011-11-16 14:01
我说的是不圈存离线支付,你别偷换概念

你就圆吧^ω^
玩卡网 www.plycd.com 活跃的信用卡论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入玩卡网

本版积分规则

排行榜|小黑屋|手机版|玩卡网 ( 沪ICP备2021021090号 )

GMT+8, 2024-5-15 04:34 , Processed in 0.046083 second(s), 12 queries , XCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表