EMV笔记:持卡人认证(CVM)
● 文档第5部分 11.1
CVM LIST:[Tag 8E]
Len: 14 (02:联机加密PIN验证 03:如果终端支持)(85页)
00 00 00 00 00 00 00 00 02 03 1e 03 1f 00
● 持卡人认证并不是必备的EMV流程, 终端是否应该执行持卡人认证, 决定因素在两点. 一是AIP表明是否支持, 二是在读数据阶段,卡片是否返回CVM list:
● 前面8个字节为金额,第9个字节,这里为02, 0000 0010,对应“联机加密PIN”验证;
● CVR不是CVM Results。CVR是卡片验证结果,与TVR(终端验证结果)对应,所以CVR来源于卡片,无tag表示,我们不关心。而CVM Results则是持卡人验证结果,我们很关心的,这个是终端数据。
● 再看03,03的含义是“如果终端支持这个CVM”,这个怎么理解呢?终端有一个很重要的数据,终端性能(9F33),终端性能中明确指出了终端所支持的验证方法,所以03的意思就是如果终端支持持卡人签名验证,那么这个交易就使用签名作为验证方法。当持卡人验证条件为03时,内核对于终端性能的判断也是直接影响持卡人验证成功与失败的关键要素
CVM 代码 指出如果这个CVM 失败,是执行下一CVM 还是认为CVM 失败
字节9 (CVMCode):
bit 8: 0 = 只有符合此规范的取值(如果不为1,说明有自定义的值)
bit 7:
1 = 如果此CVM失败,应用后续的
0 = 如果此CVM失败,则持卡人验证失败
bits 6–1 (CVM Type):
000000 = CVM失败处理
000001 = 卡片执行明文PIN核对
000010 = 联机加密PIN验证
000011 = 卡片执行明文PIN核对+签名(纸上)
000100 = EMV保留
000101 = EMV保留
011110 = 签名(纸上)
011111 = 不需CVM
000110–011101 = 保留给加入的支付系统
100000–101111 = 保留给各自独立的支付系统
110000–111110 = 保留给发卡行
111111 = RFU
CVM条件码:表示什么时候使用该方法
0 总是执行
1 如果是现金或返现交易
2 如果不是现金或返现交易
3 如果终端支持此CVM
4 如果交易金额小于金额X
5 如果交易金额大于金额X
6 如果交易金额小于金额Y
7 如果交易金额大于金额Y
实例:CVM Result: 9F34: 5F 03 02(格式在银联文档第6部分的JR/T 0025.6—2013)
第一字节5F代表:最终用户实行的持卡人验证方式为:NOCVM
第二字节03:代表如果终端支持该种CVM方式(9F33里面支持NOCVM)
第三字节02:代表执行成功