PBOC卡片应用分析(四)非接触式IC…

感谢@JulyClyde 同学友情提供的工商银行闪酷钥匙扣,支持银联的闪付功能。卡片内的电子现金余额已经被圈提干净,余额应该是0。现在使用PC/SC的读卡器配合麻工强大的Snooper进行测试。
首先选择PPSE.

1.SELECT
Command:00A404000E 325041592E5359532E444446 3031
Response:6F2E840E325041592E535953 2E4444463031A51CBF0C1961 174F08A00000033301010250 0B50424F4320437265646974
SW1SW2:9000

从响应的数据中可以得到AID是A000000333010102,后面的PIX:010102标明了是贷记应用。直接选择这个AID。

2.SELECT
Command:00A4040008 A000000333010102
Response:6F648408A000000333010102 A558500B50424F4320437265 6469748701015F2D047A6865 6E9F1101019F120D49434243 2050626F63436172649F3818 9F66049F02069F03069F1A02 95055F2A029A039C019F3704 BF0C0FD1023132C204494342 439F4D020B0A
SW1SW2:9000

从响应数据中可以看到应用名是50424F4320437265646974对应的可见字符就是“PBOC2.0 Credit”和PIX相符合。应用优先指示器是01,好像只有这一个应用耶。。下面是9F38189F66049F02069F0306 9F1A0295055F2A029A039C01 9F3704,这个是卡片请求PDOL的格式,我开始没仔细看文档,把后面的数据当成TLV数据在解析,怎么都搞不对,还误导了@JulyClyde。
GPO指令的数据域需要说明的是跟接触卡规范里说明的一样应该是83+Len+Data,所以Lc就应该2+Len,上面的请求应该有0x21字节数据,Lc应该是0x23,可恶的文档在非接触规范中的GPO指令介绍就没有提到数据域的格式,郁闷了半天,总是6700的P3错误。
下面吧9F66中的终端交易属性配置成60 00 00 00,标明终端支持非接触借记/贷记应用和qPBOC应用(to @JulyClyde 终端告诉卡片我同时支持非接触的借记/贷记应用,也支持qPBOC的应用,看下卡片有啥反应),下发一下指令。

3.GPO
Command:80A8000023 832160000000000000000000 000000000000015600000000 000156130925000000000000
Response:80127C000801010010010400 1801010120010100
SW1SW2:9000

GPO响应是80开头的,标准的借记/贷记应用GPO响应。

4.READ RECORD
Command:00B2010C00
Response:704B5713****5F20144D ####9F1F 18 ~~~~~5F340101
SW1SW2:9000

响应的报文里是卡号,持卡人姓名还有磁条1数据。保护持卡人隐私就把这些敏感数据用*#~代替了,***是持卡人姓名的ASCII,翻译成可见字符是:MR.XXXXX

5.读余额
Command:80CA9F7900
Response:9F7906000000000000
SW1SW2:9000

电子现金余额为0。。。。

6.读ATC
Command:80CA9F1300
Response:9F1302000D
SW1SW2:9000

ATC是D。

7.交易日志的格式
Command:80CA9F4F00
Response:9F4F 19 9A 03 9F21 03 9F02 06 9F03 06 9F1A 02 5F2A 02 9F4E 14 9C01 9F36 02
SW1SW2:9000

8.读一条交易日志READ RECORD
Command:00B2015C00
Response:130921215942000000016000 000000000000015601564943 42432041544D000000000000 00000000000024000D
SW1SW2:9000

解析一下这个交易日志:日期:13年9月21日 时间:21点59分42秒 交易金额:160.00元 其他金额:0.00 终端国家:中国 货币:人民币 交易终端:ICBC ATM ATC:D

9.再读一条交易日志
READ RECORD
Command:00B2025C2D
Response:130909000000000000015000 00000000000001560156D6D0 B9FAB9A4C9CCD2F8D0D02020 20202020202000000A
SW1SW2:9000

解析一下这个交易日志:日期:13年9月9日 时间:*点*分*秒 交易金额:150.00元 其他金额:0.00 终端国家:中国 货币:人民币 交易终端:中国工商银行 ATC:A

下面修改一下GPO,让终端向卡片声明自己只能联机交易看看卡片什么反应。。。

稍后完成。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2013年2月,中国人民银行发布了《中国金融集成电路(IC)卡规范(V3.0)》(以下简称PBOC3.0),PBOC3.0是在中国人民银行2005年颁布的《中国金融集成电路(IC)卡规范(2.0)》(以下简称PBOC2.0)基础上,经业内专家多次研讨并不断修订、补充完善而成,此次升级适应了银行卡业务发展的新要求,为金融IC卡进一步扩大应用奠定了基础,对推进金融创新和提升金融服务民生的水平有重要意义。 一、PBOC3.0颁布的背景 1997年12月,中国人民银行在借鉴国际有关标准的基础之上,结合国内金融应用需求,发布了《中国的金融集成电路(IC)卡规范V1.0》,后来业内把此规范称作PBOC1.0。从内容上看,PBOC1.0规范定义了电子钱包/电子存折应用,规定了卡片和终端的接口、卡片本身的技术指标、应用相关的交易流程和终端的技术要求等。 为满足金融IC应用发展的需要,中国人民银行于2003年启动PBOC1.0规范修订工作,补充完善电子钱包/存折应用,增加了与EMV2000标准兼容的借记/贷记应用,增补了接触IC卡电气协议特性、电子钱包扩展应用、借记/贷记应用个人化指南等内容,并在2005年3月颁布了PBOC2.0规范。 为推动金融IC卡在小额支付和快速支付领域的应用,中国人民银行于2010年5月发布PBOC2.0规范2010版。该规范共13个部分,增加了接触支付、基于借记贷记的电子现金等内容,以满足小额的快速支付的市场需求。 为适应我国社会安全支付的需要,推动金融IC卡的健康发展,2011年3月15日,中国人民银行发布《中国人民银行关于推进金融IC应用工作的意见》,表示“十二五”期间将在全国范围内全面推进金融IC应用,以促进中国银行卡的产业升级和可持续发展。同时人民银行也提出了IC卡受理环境改造和银行发卡的时间表,这标志着国内金融IC卡迁移开始全面推进,IC卡迁移进入关键时期。经过近三年的努力,PBOC3.0规范应运而生,由人民银行于2013年2月正颁布实施。 二、PBOC3.0的主要内容 PBOC3.0共包括14个部分(原PBOC2.0的第1部分:钱包存折卡片、第2部分:钱包存折应用、第9部分:钱包存折扩展已删除),分别为: 第3部分:与应用无关的IC卡与终端接口; 第4部分:借记贷记应用; 第5部分:借记贷记应用卡片; 第6部分:借记贷记应用终端; 第7部分:借记贷记应用安全; 第8部分:与应用无关的接触规范; 第10部分:借记贷记应用个人化指南; 第11部分:接触IC卡通讯; 第12部分:接触IC卡支付; 第13部分:基于借记贷记应用的小额支付; 第14部分:基于借记贷记应用的小额支付扩展应用; 第15部分:电子现金双币支付应用; 第16部分:IC卡互联网终端; 第17部分:借记贷记应用安全增强。 PBOC3.0结合国内外最新技术与安全标准,对金融IC卡的底层标准及安全算法进行了完善,增强了卡片与终端的交互适应性,同时引入了移动支付、行业多应用等元素,提高了金融支付的安全性。 三、PBOC3.0和PBOC2.0的异同分析   1、 安全增强   出于对国家金融安全等多种因素的考虑,PBOC3.0在第17部分详细定义与说明了国密算法在金融IC卡中的应用,即PBOC3.0的金融IC卡可以支持SM2/SM3/SMS4(国密算法)与RSA/SHA-1/3DES(国际算法)。这两套算法通过 SM算法支持指示器标签DF69进行切换。   两套算法切换的原则是:终端和卡片使用共同支持的算法完成交易;遵循国密算法优先处理的原则。   2、 增加应用   (1) 接触IC卡小额支付扩展应用   为适应金融IC卡跨行业多应用需求,推动金融IC卡的一卡多用惠及民生,PBOC3.0在第14部分增加qPBOC扩展应用,分配了扩展应用文件,从而满足了金融IC卡在地铁、公交、高速公路收费、停车收费、铁路(高铁)等领域的多种应用,同时预留了其它银行自定义应用及保留应用。   (2) 电子现金双币应用   随着国际IC卡迁移的推进,我国的金融IC卡进一步兼容国际标准,为港澳台及国外持卡人提供便利,PBOC3.0第15部分增补了双币电子现金和双币qPBOC应用,对双币种交易时的TAG进行了映射,最大限度地方便持卡人在两种币种间的快速转换。   (3) IC卡互联网终端   为推动金融IC卡与网络支付和移动支付的整合发展,PBOC3.0在第16部分中增补了IC卡互联网终端的内容,对IC卡互联网终端的安全体系、应用场景、交易流程等环节进行了详细的定义与阐释。IC卡互联网终端有效地引入了移动支付的新元素,多种应用场景圈存解决了持卡人到银行柜台排队办理业务的苦恼。   3、 原有内容升级   (1) 增加了AID预留和分配   对TAG进行了预留以供将来使用;定义了AID的编码规则、保留规则。   (2) 修订了GAC与GPO命令数据的相关内容。   明确了GAC与GPO命令数据不一致时卡片处理方法;   在终端层面,也明确了若卡片返回标签重复,终端应当终止交易;   卡片联机GPO响应数据中新增了9F63的要求,以适应不断增长的应用需求;   明确了GPO响应应遵循的格。   (3) 明确了执行发卡行认证与执行发卡行脚本之间的关系。   卡片应当能正常处理应用解锁命令,无论发卡行认证是否执行,若发卡行认证执行但失败,则卡片应拒绝执行发卡行脚本,并推荐以“6985”响应发卡行脚本命令。   (4) 修改9F63产品标识信息。   9F63命名为“产品标识”,用于标识持卡人设备产品的物理形态,用途等。   (5) 增加了第6.5节“个人化数据必须遵循的规则”   在增加规则的同时,也明确了9F10中发卡行自定义数据的要求,这些部分的修订,结合了各商业银行接入银联网络的有关经验,对于商业银行发卡的个人化数据具有指导性意义。   (6) 修订接触IC卡通讯的参数   参数的修订目的在于兼容ISO/IEC 14443:2011。   (7) 增加两种交易日志   圈存日志的要求:当卡片中的电子现金余额(9F79)被设置数据(Put Data)命令成功改写时,卡片应当记录一条圈存日志。   增加了qPBOC交易日志要求(发卡行可选)。   (8) 其它终端部分的主要修订内容   终端也不应因持卡人姓名有误而终止交易;   终端在交易时及交易后取得卡片中电子现金余额的方法;   授权金额为0的处理方:如果授权金额为零,除终端支付qPBOC扩展应用,具有联机能力的终端应在终端交易属性字节2的第8位表示要求联机应用密文;如果授权金额为零,除终端支付qPBOC扩展应用,仅支持脱机的终端应终止交易,提示持卡人使用另一种界面(如果存在)。   (9) 其它卡片部分的主要修订内容   修订了卡片连续MAC错的处理方法。当卡片执行了收到一个MAC错的发卡行脚本命令,则不应允许执行后续的发卡行脚本命令;   修订了关于“闪卡”的处理办法;   明确了qPBOC不再设置LOATC。   4、删除不适用部分   删除了电子钱包/电子存折应用及其扩展应用;   删除了借贷记应用中对DDF的描述,删除了终端在应用选择时对DDF的支持,同时强制卡片不使用DDF;   删除了接触支付应用中的MSD应用相关内容。   四、PBOC3.0颁布对产业发展的影响   PBOC3.0的颁布有利于我国银行卡产业应对国际银行卡技术发展的挑战,满足新形势下人民群众对安全、便捷支付方的需要,促进了我国银行卡产业技术升级,推动了我国金融IC应用与行业应用的结合,为加快推进我国金融IC应用普及和产业发展提供了指引和发展机遇。   同时,PBOC3.0的颁布进一步完善了金融标准化体系,为提升我国金融服务水平和保障金融业健康发展提供了有力支撑。   五、结束语   PBOC3.0规范的编制与出台,历时近三年,是各有关部委、金融机构、IC卡产业链单位等集体智慧的结晶。为配合PBOC3.0规范的宣贯与实施,银行卡检测中心作为独立的专业化第三方检测机构,及时参与并跟进PBOC规范的编制,目前已经依据PBOC3.0的更新及时升级或新开发了适应PBOC3.0要求的检测工具和测试平台,对全面对外推出PBOC3.0相关的测试项目,满足了IC卡及终端产品依据新规范改造后的测试需求;与此同时,银行卡检测中心面向各商业银行、IC卡相关企业开展了以“PBOC3.0检测标准、技术”为主题的培训研讨班,积极配合了新标准的落地实施。 转自:PBOC3.0和PBOC2.0标准规范异同分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值