PBOC规范研究之八----GPO命令(转)

第一、GPO命令

       GPO命令主要的功能时告诉卡片,交易的金额,是否支持电子现金,以及终端的交易属性等参数,在选择应用时,卡片会返回一个PDOL标签值,其标签为9F38,终端应该保存这个列表,GPO命令的数据域就是依据PDOL列表发送的,数据发送的顺序是按照标签在PDOL中的顺序排列的。

举例来说:

卡片返回的PDOL数据:9F66049F02069F03069F1A0295055F2A029A039C019F3704

具体解析如下

 

9F6604  标签9F66的定义如下:

表1 终端交易属性(标签为“9F66”)

字节

定义

1

8

预留

7

1 – 支持非接触式借记/贷记应用

0 – 不支持非接触式借记/贷记应用

6

1 – 支持qPBOC

0 – 不支持qPBOC

5

1 – 支持接触式借记/贷记应用

0 – 不支持接触式借记/贷记应用

4

1 – 终端仅支持脱机

0 – 终端具有联机能力

3

1 – 支持联机PIN

0 – 不支持联机PIN

2

1 – 支持签名

0 – 不支持签名

1

预留

2

8

1 – 要求联机密文

0 – 不要求联机密文

7

1 – 要求CVM

0 – 不要求CVM

6-1

预留

3

8-1

预留

4

8-1

预留

终端在GPO命令中应该如实的将终端的性能参数等发给卡片,以便卡片进行下一步的操作。

 

9F0206 授权金额

所谓授权金额,其实就是在交易时你要消费的金额。或者说终端机持有人输入的金额,然后要求你输入密码确认。

这个授权金额为6个字节,每半个字节代表10进制的一位,且单位为分,请注意不是“元”

例如假如你的银行卡里有563.99元人民币,那么存储的数据格式应该是:

0 0 0 0 0 0 0 5 6 3 9 9刚好占用6个字节

 

9F03  06,这个是其它金额,目前还没有定义,全部输入6个字节的0

 

9F1A  02 终端国家代码,中国的国家代码为01 56

95               05  是终端验证结果,这5个字节定义如下:

字节1:

b8

b7

b6

b5

b4

b3

b2

b1

意义

1

x

x

x

x

x

x

x

未进行脱机数据认证

x

1

x

x

x

x

x

x

脱机静态数据认证失败

x

x

1

x

x

x

x

x

IC卡数据缺失

x

x

x

1

x

x

x

x

卡片出现在终端异常文件中

x

x

x

x

1

x

x

x

脱机动态数据认证失败

x

x

x

x

x

1

X

x

复合动态数据认证/应用密文生成失败

x

x

x

x

x

x

0

x

RFU

x

x

x

x

x

x

x

0

RFU

字节2:

b8

b7

b6

b5

b4

b3

b2

b1

意义

 

 

 

 

 

 

 

 

 

1

x

x

x

x

x

x

x

IC卡和终端应用版本不一致

x

1

x

x

x

x

x

x

应用已过期

x

x

1

x

x

x

x

x

应用尚未生效

x

x

x

1

x

x

x

x

卡片不允许所请求的服务

x

x

x

x

1

x

x

x

新卡

x

x

x

x

x

0

x

x

RFU

x

x

x

x

x

x

0

x

RFU

x

x

x

x

x

x

x

0

RFU

 字节3:

b8

b7

b6

b5

b4

b3

b2

b1

意义

1

x

x

x

x

x

x

x

持卡人验证失败

x

1

x

x

x

x

x

x

未知的CVM

x

x

1

x

x

x

x

x

PIN重试次数超限

x

x

x

1

x

x

x

x

要求输入PIN,但密码键盘不存在或工作不正常

x

x

x

x

1

x

x

x

要求输入PIN,密码键盘存在,但未输入PIN

x

x

x

x

x

1

x

x

输入联机PIN

x

x

x

x

x

x

0

x

RFU

x

x

x

x

x

x

x

0

RFU

 

 

 字节4:

b8

b7

b6

B5

b4

b3

b2

b1

意义

1

x

x

x

x

x

x

x

交易超过最低限额

x

1

x

x

x

x

x

x

超过连续脱机交易下限

x

x

1

x

x

x

x

x

超过连续脱机交易上限

x

x

x

1

x

x

x

x

交易被随机选择联机处理

x

x

x

x

1

x

x

x

商户要求联机交易

x

x

x

x

x

0

x

x

RFU

x

x

x

x

x

x

0

x

RFU

x

x

x

x

x

x

x

0

RFU

 字节5:

b8

b7

b6

b5

b4

b3

b2

b1

意义

1

x

x

x

x

x

x

x

使用缺省TDOL

x

1

x

x

x

x

x

x

发卡行认证失败

x

x

1

x

x

x

x

x

最后一次GENERATE AC命令之前脚本处理失败

x

x

x

1

x

x

x

x

最后一次GENERATE AC命令之后脚本处理失败

x

x

x

x

0

x

x

x

RFU

x

x

x

x

x

0

x

x

RFU

x

x

x

x

x

x

0

x

RFU

x

x

x

x

x

x

x

0

RFU

 

 

 

 

 

 

 

 

 

 

 

 

 这个标签的含义在于终端将自己操作过程中碰到的错误告诉卡片,卡片根据这个来决定是否拒绝交易,或者需要连接进行确认。这个实在终端行为分析和终端风险管理中进行赋值操作的。

5F2A  02 是交易货币代码,中国的交易货币代码和国家代码一致都是0156

9A    03  9A是交易日期,按年 月 日的方式排列,同样,每半个字节表示一个十进制数

例如交易时间是2014年10月21日,那么这个标签值就是 1 4 1 0 2 1 从10进制的角度来就是20 16 33

9C    01  这是交易类型,交易类型的定义如下:

字节1:交易类型性能

b8

b7

b6

b5

b4

b3

b2

b1

意义

1

x

x

x

x

x

x

x

现金

x

1

x

x

x

x

x

x

商品

x

x

1

x

x

x

x

x

服务

x

x

x

1

x

x

x

x

返现

x

x

x

x

1

x

x

x

查询

x

x

x

x

x

1

x

x

转账

x

x

x

x

x

x

1

x

付款

x

x

x

x

x

x

x

1

管理

字节2:交易类型性能

b8

b7

b6

b5

b4

b3

b2

b1

意义

1

x

x

x

x

x

x

x

存款交易

x

0

x

x

x

x

x

x

RFU

x

x

0

x

x

x

x

x

RFU

x

x

x

0

x

x

x

x

RFU

x

x

x

x

0

x

x

x

RFU

x

x

x

x

x

0

x

x

RFU

x

x

x

x

x

x

0

x

RFU

x

x

x

x

x

x

x

0

RFU

这里我们只需将第一个字节传给卡片就行,这是附加终端性能的第一个字节,具体定义在第6部分

9F37  04,不可预知数,随意,最好去随机数

GPO  命令将这些参数传入到卡中,传入的次序与PDOL的次序一致。例如

GPO:80A80000238321600000000000000000000000000000000156000000000001561405306099999999

分解如下21

60000000 终端交易属性

000000000000授权金额

000000000000其它金额

0156         发卡行国家代码

0000000000   终端交易属性tvr

0156         交易货币代码

140530       交易日期 14年5月30日

60           交易类型,为国内服务或者商品

99999999     不可预知数

     如果这张卡片式支持电子现金交易,那么其PDOL数据中比寻存在9F7A标签,否则检测时通不过。

 

第二、GPO响应

 

GPO命令的响应与你所选择的用用有关,例如你选择了qPBOC那么返回的会是以77为首的标签,以77为首的标签也会返回ATC与AFL但是数据是以TLV格式返回的,当以80为首返回时,返回的格式如下:
AIP和AFL,其中AFL是以4字节的倍数存在的。

例如

响应:800E7C000801020010010401180103009000

响应命令的解析如下:

80标签

0E长度

7C00 表示应用交互特征AIP AIP的定义如下:

字节1:

位8:1=RFU

位7:1=支持SDA

位6:1=支持DDA

位5:1=支持持卡人认证

位4:1=执行终端风险管理

位3:1=支持发卡行认证

位2:RFU(0)

位1:1=支持CDA

字节2:RFU(“00”)

这个列表说明了卡片的支持能力

同样终端如果也支持响应的功能则在交易的过程中将选择响应的功能,需要注意的是对于认证的优先级PBOC是做了如下的规定CDA>DDA>SDA,也就是说如果双方都支持CDA,那么终端优先进行CDA认证,终端必须选择双方共同支持的认证方式中优先级最高的,请注意两个关键词,双方共同支持与优先级最高

关于认证,后续将会详细介绍,这里不再赘述。

08010200 10010401 18010300 这三组数据,每组4个字节成为应用文件定位器AFL,AFL的定义如下:

包含终端将要读取用来交易处理的卡片数据文件的SFI和记录范围。每个要读取的文件在AFL中对应四个字节含义如下:

字节1:短文件标识符

字节2:文件中要读取的第1个记录的记录号

字节3:文件中要读取的最后一个记录的记录号

字节4:从第1个记录开始的用于脱机数据认证的连续记录数

终端将根据AFL的提示读取所有要求的记录,这里请注意第四个字节,这些数据时要进行脱机数据认证的,所以终端必须保存起来

 

第三、错误

卡片在一条或多条记录中返回同一个标签两次及两次以上;

卡片在某条记录中返回了卡片已经在GPO响应中返回的标签;

卡片中缺少必须有的数据;

数据格式错;

READ RECORD命令返回状态字不是“9000”当返回6985时,终端应该讲该条应用从所支持的应用列表中删除,从新选择下一个优先级最高的应用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值