PBOC借记贷记应用
PBOC
借记贷记应用
沈恺
规范
中国金融集成电路(IC )卡规范
第4部分:借记/贷记应用规范
第5部分:借记/贷记卡片规范
第6部分:借记/贷记终端规范
第7部分:借记/贷记安全规范
第10部分:借记/贷记应用个人化指南
借记/贷记交易处理流程1.
2.
3.
4.
5.
6. 应用选择(M )7. 应用初始化(M )8. 读应用数据(M )9. 脱机数据认证(O )10. 处理限制(M )11. 持卡人验证(M )12. 终端风险管理(M )终端行为分析(M )卡片行为分析(M )联机处理(O )完成(M )发卡行脚本处理(O )
一、应用选择
当卡片插入终端时,终端决定哪些应用由卡片和终端共同支持,并将终端和卡片都支持的应用列表显示出来,供用户选择。
如果没有共同支持的应用,交易
将被终止。
一、应用选择(续)
建立候选应用列表包含两种方法:
●目录选择法
终端读取卡片内应用列表文件的数据,并将卡片应用列表和终端应用列表里共同支持的所有应用列举在候选目录中。
●AID 列表选择法
终端按终端应用列表中包含的每个应用都向卡片发送一个SELECT 命令。如果卡片响应表示卡也支持该应用,终端就将应用添加到候选目录中。
二、应用初始化
应用初始化阶段,终端通知卡片交易处理开始。终端将卡片请求的终端数据(处理选项数据对象列表(PDOL ))提供给卡片,并获得卡片响应的应用数据:应用交互特征(AIP )和应用文件定位器(AFL )。
这些数据告知终端,卡片具备的功能以及需要提供给卡片哪些支持。如:AFL 是终端需要从卡片读取的文件和记录的列表。AIP 是处理交易时卡片所执行功能的列表。
二、应用初始化(续)
应用交互特征(AIP )[TAG: 82, LEN: 02]
Y字节1:
Ybit 8: 1 = Initiate (not supported)
Ybit 7: 1 = 支持SDA
Ybit 6: 1 = 支持DDA
Ybit 5: 1 = 支持持卡人认证
Ybit 4: 1 = 执行终端风险管理
Ybit 3: 1 = 支持发卡行认证
Ybit 2: 1 = 支持CDA
Ybit 1: RFU (0)
Y字节2: RFU (“00”)
二、应用初始化(续)
Y终端数据元
}终端国家代码
}交易货币代码
三、读应用数据
终端使用读记录命令(READ RECORD)读出交易处理中使用的卡片数据, 卡片在应用初始化的响应中提供AFL 标记了这些数据所在的文件与记录号,终端应该存储读出的所有可以识别的数据对象,不论是必选还是可选数据,以备将来交易使用。终端无法识别的数据对象(即终端无法识别它们的标签) 不必存储,但是包含这种数据对象的记录可能仍然要以整体形式参与脱机数据认证过程,这取决于AFL 的编码。
四、脱机数据认证
终端根据卡片和终端对脱机认证方法的支持情况来决定是否使用脱机静态或动态数据认证来脱机认证卡片。
任何交易只执行一种脱机数据认证方法,复合动态数据认证/应用密文生成优先权最高,标准动态数据认证其次,再其次是静态数据认证。
四、脱机数据认证(续)
脱机静态数据认证(SDA )验证卡片在个人化以后重要的应用数据是否被非法修改。终端使用卡片上的发卡行公钥验证卡片静态数据,同时卡片上还包括发卡行公钥证书以及数字签名,数字签名中包括一个用发卡行私钥加密重要应用数据得到的HASH 值。如果用实际数据产生的HASH 值与从卡片中恢复出的HASH 值相匹配,则证实了卡片数据并未被修改。(签名格式见安全规范5.2节)
四、脱机数据认证(续)
推荐下列数据用来生成签名:
Y应用交互特征AIP (如果支持DDA )
Y应用生效日期
Y应用失效日期
Y应用主账号
Y应用主账号序列号
Y应用用途控制AUC
Y持卡人验证方法(CVM )列表
Y发卡行行为代码——缺省
Y发卡行行为代码——拒绝
Y发卡行行为代码——联机
Y发卡行国家代码(“5F28”)
四、脱机数据认证(续)
动态数据认证除了确保卡片数据元自卡片个人化以来没有受到改变,还要确认卡片是真卡而不是通过从有效卡复制数据制作的伪卡(非法复制)。
动态数据认证有标准动态数据认证(DDA )和复合动态数据认证(DDA/AC-CDA)两种。
动态数据认证过程是先进行静态数据处理,其过程和静态数据认证一样。验证了静态数据后,终端向卡片申请动态签名。
四、脱机数据认证(续)
标准动态数据认证使用内部认证命令请求一个动态签名,并由终端验证签名;
复合动态数据认证/应用密文生成使用生成应用密文命令请求一个包含应用密文的动态签名,并由终端验证签名。且此认证必须是在联机处理过程中执行。
如果验证失败,则交易终止。
五、处理限制
终端通过处理限制来检查应用交易是否允许继续。检查内容包括应用生效期、应用失效期、应用版本号以及其他发卡行定义的限制控制条件,发卡行可以使用应用用途控制来限定卡用于国内还是国际间,或能否用于现金、购物、服务以及返现。
六、持卡人验证
终端必须具备持卡人身份验证功能。持卡人身份验证用来确认持卡人的合法性,以防止丢失或被盗卡片的使用。
终端通过检查卡片的卡片验证方法列表(CVMs )确定使用何种验证方法。如果卡片没有定义卡片验证方法列表(CVMs ),则使用终端指定的持卡人验证方法。
六、持卡人验证(续)
卡片验证方法列表(CVMs )
CVM 内包含多个条目,每个条目都包含一个验证条件和一个验证方法。
验证方法有以下几种:
●脱机明文PIN 验证
●联机PIN 验证
●签名
●CVM 失败●无需CVM ●签名与脱机明文PIN 验证组合●身份证件验证
六、持卡人验证(续)
脱机明文PIN 验证
卡片将持卡人输入的交易密码与卡里储存的
参考密码对比以做检查。如果匹配,卡片将返回一个指示器,显示脱机密码已被验证,持卡人验证完成。如果不相配,卡片密码重输次数计数器递减并返回一个显示剩余密码重输次数的指示器。如果没有剩余密码重输次数,脱机密码验证失败。如果还有密码重输次数剩余,终端要求持卡人重新输入密码,重复校验过程。
七、终端风险管理
终端必须具备风险管理功能,其目的是为大额交易提供了发卡行认证,并确保交易能够周期性地进行联机以防止在脱机环境中无法觉察的风险。
终端通过终端和卡片提供的数据可以进行最低限额(Floor Limit)检查、交易频度检查、新卡检查、终端异常文件检查、商户强制交易联机、随机选择联机交易等方式完成风险管理。
八、终端行为分析
终端必须具备终端行为分析功能。终端行为分析根据脱机数据认证、处理限制、持卡人身份验证、终端风险管理的结果以及终端和卡片中设置的风险管理参数决定如何继续交易(核准脱机、脱机拒绝、联机授权)。在由卡发送到终端的发卡行行为代码(IACs )域设立卡片规则,在终端行为代码(TACs )设立终端规则。决定交易处理之后,终端向卡片请求应用密文。不同的应用密文对应不同的交易处理:以交易证书(TC )为核准,授权请求码(ARQC )为联机请求,应用验证密文(AAC )为拒绝。
九、卡片行为分析
IC 卡可以执行发卡行定义的风险管理算法以防止发卡
行被欺诈。当卡片收到终端的应用密文请求时,卡片就执行卡风险管理检查,来决定是否要改变终端设定的交易处理。IC 卡可以决定以下方式继续交易:
●同意脱机完成
●联机授权
●拒绝交易
完成检查后,卡片使用应用数据及一个存储在卡上的应
用密文过程密钥生成应用密文。它再将这个密文返回到终端。对于脱机确认的交易,TC 以及生成TC 的数据通过清算消息传送给发卡行,以备未来发生持卡人争议或退单时使用。当持卡人对交易有争议时,TC 可以作为交易的证据还可验证商户或收单行(是否)未改动交易数据。
九、卡片行为分析(续)
卡片风险管理
Y上次交易行为:
Y
Y联机授权未完成上次联机交易时,发卡行认证失败上次交易静态数据认证失败上次交易动态数据认证失败上次交易发卡行脚本命令执行情况上次交易密码重试次数超限新卡检查频度检查查看以下项目的脱机处理次数是否超限:
全部连续脱机交易笔数根据货币种类统计的全部连续脱机国际交易笔数根据国家统计的全部连续脱机国际交易笔数指定货币的全部脱机交易累计金额指定货币和第二货币的全部脱机交易金额
九、卡片行为分析(续)
十、联机处理
联机处理允许发卡行主机根据发卡行设置的主机风险管理参数判断交易是允许或拒绝。
如果卡片或终端决定交易需要进行联机授权,同时终端具备联机能力,终端将卡片产生的ARQC 报文送至发卡行进行联机授权。
发卡行返回的数据可以包括发卡行生成的密文和给卡片的更新数据。其中发卡行产生的密文用于卡片认证返回数据真实性。
十、联机处理(续)
发卡行认证用于确认响应报文确实是从合法的发卡行返回的。
如果支持发卡行认证,终端应使用从发卡行请求到的发卡行认证数据通过外部认证(External Authenticate)命令验证授权响应密文(ARPC )的正确性。
十一、完成
卡和终端执行最后处理来完成交易。一个经发卡行认可的交易可能根据卡片中的发卡行认证结果和发卡行写入的参数而被拒绝。卡片使用交易处理、发卡行校验结果、以及发卡行写入的规则来决定是否重设基于芯片卡计数器和指示器。卡片生成TC 来认可交易,生成AAC 来拒绝交易。
如果终端在授权消息之后传送清算信息,则TC 应包括在该清算信息里。对于发卡行批准而卡片拒绝的交易,终端必须发起冲正。
十二、发卡行脚本处理
如果发卡行在授权响应报文中包含了脚本,虽然终端可能对脚本不能理解,但终端仍需要将这些脚本命令发送给IC 卡。在使用这些更新之前,卡片执行安全检查以确保脚本来自有效的发卡行,且在传输中未有变动。
发卡行脚本处理通过可以锁定被盗或恶意透支卡来防止信用和欺诈风险。另外也可以根据持卡人的具体情况改变卡片参数。
十二、发卡行脚本处理(续)
发卡行脚本命令对当前交易并不产生影响,主要会影响卡片的后续功能,如卡片解锁、锁卡、改卡密码等。
Y更改卡片参数
Y锁定/解锁应用
Y锁卡
Y重置PIN 计数器
Y修改脱机PIN