非接触式小额支付(qPBOC)难点分析
4.3.1可用脱机消费金额
可用脱机消费金额(9F5D)是卡片根据卡片附加处理指明的脱机小额选项,动态计算得出的。
卡片附加处理(标签“9F68”)要求卡片返回可用脱机消费金额,则卡要通过卡片附加处理指明的脱机小额选项(小额、小额和CTTA、小额或CTTA)计算可用脱机消费金额。如果没有指明任何一个选项,则卡要将可用脱机消费金额设置为零。
(一)匹配货币交易的小额检查,则电子现金余额就是总的脱机可消费额。
(二)匹配货币交易的小额和CTTA检查,可用脱机消费金额等于可使用的CTTA资金。
(三)匹配货币交易的小额或CTTA检查,则脱机资金应在小额或者CTTA中可用。
4.3.2与通信接口有关的判断
卡片应可以判断接触或非接触界面,根据界面给出不同的PDOL,如标准借记/贷记在不同的界面下会有不同的PDOL。
4.3.3卡片附件处理中的风险检查
卡片附加处理(9f68)支持三种检查:
(一)小额检查
检查交易是否能够进行脱机处理。
如果授权金额(标签“9FO2”)小于或等于电子现金单笔交易限额,同时在交易的电子现金余额中有足够的脱机消费可用金额,则交易进行脱机处理。
否则(即如果授权金额大于电子现金单笔交易限额或者交易没有足够的脱机消费可用金额):
一如果可以联机处理,则卡片请求联机处理;一如果不能联机处理,则卡片请求拒绝。
(二)小额和CTTA检查
检查交易是否能够进行脱机处理。
如果授权金额(标签“9F02”)小于或等于电子现金单笔交易限额,并且交易的电子现金余额和CTTA可用资金都有足够的脱机资金,则交易进行脱机处理。
否则(即如果授权金额(标签“9FO2”)大于电子现金单笔交易限额或者交易没有足够的可用脱机消费金额):
一如果可以联机处理,则卡片请求联机处理;一如果不能联机,则卡片请求拒绝。
(三)小额或CTTA检查
检查交易能否进行脱机处理。
如果授权金额(标签“9FO2”)小于或等于单笔交易上限,并且电子现金余额或者CTTA中有足够的脱机资金,那么交易可以进行脱机处理。
否则(也即如果授权金额(标签“9FO2”)大于电子现金单笔交易限额或者没有足够的可用脱机消费金额):
一如果允许联机交易,那么卡片请求联机处理;一如果不允许联机交易,那么卡片将请求拒绝。
对于该选项,可用脱机消费金额等于CTTA可用余额和电子现金余额的总和。
三种检查对于卡片来说,最多只能支持其中的一种,并且在个人化时写入卡片参数,卡片不能同时支持其中的两种或多种。
4.3.4ReadRecord命令处理
Read Record命令属于规范中描述的命令情况2命令,所以需要注意的是在IC卡收到命令头正常处理以后必须向TTL返回数据和状态。IC卡必须用状态字
“6CXX”控制返回的数据。
4.3.5IC卡动态签名的返回
在PBOC交易中,如果IC卡私钥长度小于等于1024位,应当生成动态签名并在GPO响应中返回;如果IC卡私钥长度大于1024位,卡片应当在GPO时生成动态签名并在READRECORD命令中返回,因为如果IC卡私钥长度大于1024位,GPO响应中没有足够空间返回动态签名。
4.3.6MSD和qPBOC的区别
磁条非接触式支付(Magnetic Stripe Data,MSD)与快速借记/贷记(qp.
BOC)方式是PBOC2.0规范描述的非接触式界面的支付方式。
(一)MSD支付
把原本应存储在磁条中的信息存到芯片里,把刷卡改为读芯片,这就是MSD交易。MSD利用从芯片中得到的二磁道等价数据,通过非接触界面来实现磁条式的支付服务。MSD方式中,卡片中的数据会被传送给终端(外置通信设
备、读写器或其他终端设备),同时可以增加密文版本17所定义的可选的风险管理特性和动态CVN(dCVN)。
虽然不完全符合借记/贷记规范,但MSD使用了借记/贷记规范定义的方法来选择应用(初始化交易处理并读取记录以获得应用数据)。MSD交易和刷磁条卡交易实质上是相同的,都是读取信息,然后上送至发卡行。交易的时候,终端和卡片不进行任何风险管理和行为分析。
MSD卡片要求主要包括以下内容:
—MSD不要求借记/贷记中的所有必要数据在卡片中出现。
-MSD路径应支持密文版本17。
-MSD路径应支持6.4.5中定义的选择指令(SELECT)。
一READ RECORD命令或GPO指令被用于激发dCVN的处理。无论dCVN的计算是什么时候进行的,dCVN的值作为二磁道等价数据的一部分,通过READ RECORD命令获得。
一直到对dCVN的迁移结束前,密文版本17只是MSD终端的一个可选项。所有的MSD卡片都应支持并在qPBOC和MSD终端交易属性(第2字节,第8位)中要求联机密文的时候提供密文版本17。
一当ATC交易计数器达到它的最大值(65535),应永久锁定应用且密文的计算失效,对于GPO的建议应答是“6985”。
—Read Record命令的实现在JRT0025的借记/贷记规范中定义,当dCVN选项被支持的时候,也可能被用于触发dCVN的计算。
一如果MSD终端要求联机密文(终端交易属性的第2字节第8位设为
“1”),卡片生成密文,并在对GPO的应答中利用格式2返回密文。一加果MSD终端没有要求联机暂文(终端交易属性的第2字节第8位设为“0”),卡片对GPO指令,利用格式1返回AFL和AIP。其他数据由记录返回。
一如果MSD终端没有要求联机密文(终端交易属性的第2字节的第8位设为“0”),二磁道等价数据应由AFL中指定的记录返回。这一记录可能同时包括了一磁道自定义数据和持卡人姓名。
一如果支持dCVN,那么二磁道等价数据不应被个人化为除iCVN以外的任何有效的CVN(非数字),同时二磁道等价数据被个人化时应包含ATC的占位符。
一如果卡片返回了一个应用密文,则不应计算dCVN,同时不应返回含有有效CVN的二磁道等价数据。如果卡片个人化的时候已经包含iCVN,应返回将ATC设为9999的iCVN。如果卡片个人化的时候不包含iCVN,应返回CVN等于
999和ATC等于9999。
——由GPO中的MSD路径返回的AIP的第2字节第8位应置为“1”。
(二)qPBOC支付
qPBOC基于借记/贷记应用概念,使用现有的借记/贷记系统和操作规则。通过减少命令和响应次数,qPBOC降低了终端和卡片之间的处理时间。它还提供了脱机快速小额支付特性、脱机数据认证以及使用现有密文算法(版本01)或新的精简算法(版本17)的联机卡片认证。qPBOC交易是涉及风险管理的,卡片和终端都会根据交易金额来作出决定,决定该交易是否可以脱机批准,还是需要联机完成,或者直接脱机拒绝。终端还要额外地检查黑名单或者失效日期等。从这方面来讲,qPBOC比MSD交易更安全。
qPBOC卡片要求主要包括以下内容:
一收到GPO命令,卡片应当立即设置发卡行应用数据(标签“9F10”)的CVR部分为“03000000”。CVR是发卡行应用数据的第4~7字节部分。
CVR字节2,位4、3、2、1未使用,仍保留设置为“0”。
CVR字节3,位8、4、3、2、1未使用,仍保留设置为“0”。
CVR字节4未使用,所有位仍保留设置为“0”。
一卡片应当在计算密文和动态签名之前增加ATC的值;一如果卡片的可用脱机消费金额(标签“9F5D”)被个人化为1,则卡片应当允许读取该数据元。卡片的行为应当在个人化时指明并存储在内部卡片指示器中。
一如果授权金额为零,卡片应当请求联机处理。
一对于联机交易,卡片应当在GPO响应中返回联机密文,以及生成密文的数据元。
一对于脱机交易,卡片应当在GPO响应中返回相应的数据元。
一如果IC卡密钥长度小于等于1024位,应当生成动态签名并在GPO响应中返回。
一如果IC卡密钥长度大于1024位,卡片应当在GPO时生成动态签名并在READRECORD命令中返回。
4.3.7GPO响应数据模板
对于卡片响应GPO命令规范给出了两种格式,即80模板、77模板。80模板中规定数据域中只能返回AFL和AIP。77模板中除返回AFL和AIP之外,还可以返回其他的一些数据对象。对于qPBOC交易,卡片对于GPO命令的响应中号要包括密文及相关的数据元、二磁道等价数据以及其他一些联机或拒绝交易所必备的一些数据,只有77模板可以满足这种要求。因此qPBOC交易中,卡片
备、读写器或其他终端设备),同时可以增加密文版本17所定义的可选的风险管理特性和动态CVN(dCVN)。
虽然不完全符合借记/贷记规范,但MSD使用了借记/贷记规范定义的方法来选择应用(初始化交易处理并读取记录以获得应用数据)。MSD交易和刷磁条卡交易实质上是相同的,都是读取信息,然后上送至发卡行。交易的时候,终端和卡片不进行任何风险管理和行为分析。
MSD卡片要求主要包括以下内容:
—MSD不要求借记/贷记中的所有必要数据在卡片中出现。
—MSD路径应支持密文版本17。
一MSD路径应支持6.4.5中定义的选择指令(SELECT)。
一READ RECORD命令或GPO指令被用于激发dCVN的处理。无论dCVN的计算是什么时候进行的,dCVN的值作为二磁道等价数据的一部分,通过READ RECORD命令获得。
一直到对dCVN的迁移结束前,密文版本17只是MSD终端的一个可选项。所有的MSD卡片都应支持并在qPBOC和MSD终端交易属性(第2字节,第8位)中要求联机密文的时候提供密文版本17。
一当ATC交易计数器达到它的最大值(65535),应永久锁定应用且密文的计算失效,对于GPO的建议应答是“6985”。
—Read Record命令的实现在JR/T0025的借记/贷记规范中定义,当dCVN选项被支持的时候,也可能被用于触发dCVN的计算。
一如果MSD终端要求联机密文(终端交易属性的第2字节第8位设为
“1”),卡片生成密文,并在对GPO的应答中利用格式2返回密文。—如果MSD终端没有要求联机密文(终端父易属性的第2字节第8位设为“0”),卡片对GPO指令,利用格式1返回AFL和AIP。其他数据由记录返回。
—一如果MSD终端没有要求联机密文(终端交易属性的第2字节的第8位设为“0”),二磁道等价数据应由AFL中指定的记录返回。这一记录可能同时包括了一磁道自定义数据和持卡人姓名。
—如果支持dCVN,那么二磁道等价数据不应被个人化为除iCVN以外的任何有效的CVN(非数字),同时二磁道等价数据被个人化时应包含ATC的占位符。
一如果卡片返回了一个应用密文,则不应计算dCVN,同时不应返回含有有效CVN的二磁道等价数据。如果卡片个人化的时候已经包含iCVN,应返回将ATC设为9999的iCVN。如果卡片个人化的时候不包含iCVN,应返回CVN等于
999和ATC等于9999。
——由GPO中的MSD路径返回的AIP的第2字节第8位应置为“1”。
(二)qPBOC支付
qPBOC基于借记/贷记应用概念,使用现有的借记/贷记系统和操作规则。通过减少命令和响应次数,qPBOC降低了终端和卡片之间的处理时间。它还提供了脱机快速小额支付特性、脱机数据认证以及使用现有密文算法(版本01)或新的精简算法(版本17)的联机卡片认证。qPBOC交易是涉及风险管理的,卡片和终端都会根据交易金额来作出决定,决定该交易是否可以脱机批准,还是需要联机完成,或者直接脱机拒绝。终端还要额外地检查黑名单或者失效日期等。从这方面来讲,qPBOC比MSD交易更安全。
qPBOC卡片要求主要包括以下内容:
——收到GPO命令,卡片应当立即设置发卡行应用数据(标签“9F10”)的CVR部分为“03000000”。CVR是发卡行应用数据的第4~7字节部分。
CVR字节2,位4、3、2、1未使用,仍保留设置为“0”。
CVR字节3,位8、4、3、2、1未使用,仍保留设置为“0”。
CVR字节4未使用,所有位仍保留设置为“0”。
一卡片应当在计算密文和动态签名之前增加ATC的值;一如果卡片的可用脱机消费金额(标签“9F5D”)被个人化为1,则卡片应当允许读取该数据元。卡片的行为应当在个人化时指明并存储在内部卡片指示器中。
一如果授权金额为零,卡片应当请求联机处理。
一对于联机交易,卡片应当在GPO响应中返回联机密文,以及生成密文的数据元。
一对于脱机交易,卡片应当在GPO响应中返回相应的数据元。
一如果IC卡密钥长度小于等于1024位,应当生成动态签名并在GPO响应中返回。
一如果IC卡密钥长度大于1024位,卡片应当在GPO时生成动态签名并在READRECORD命令中返回。
4.3.7GPO响应数据模板
对于卡片响应GPO命令规范给出了两种格式,即80模板、77模板。80模板中规定数据域中只能返回AFL和AIP。77模板中除返回AFL和AIP之外,还可以返回其他的一些数据对象。对于qPBOC交易,卡片对于GPO命令的响应中号要包括密文及相关的数据元、二磁道等价数据以及其他一些联机或拒绝交易所必备的一些数据,只有77模板可以满足这种要求。因此qPBOC交易中,卡片
对于GPO的响应数据模板的格式只能使用77模板,需要特别注意。
4.3.8交易时间限制
为了适应非接触脱机快速支付的要求,PBOC2.0规范规定,对于qPBOC脱机小额交易,当IC卡密钥长度大于1024位时,交易时间应小于500毫秒。此处交易时间为卡片对一个交易连续处理的时间,即卡片从进入非接触磁场到移开磁场的时间。