天天看点

PBOC/EMV-交易流程详解--POS与卡片的数据交互进行分析



消费成功

ATR(复位应答) - 3B 62 00 00 81 82

TS ='3B' 指明正向

T0 = '62'  TB1和TC1存在,2表示历史字节的存在个数为2

TB1 present ‘00’

TC1 present ‘00’

TD1 ‘81’ TA2到TC2不存在,TD2存在,使用T=1协议

TD2 ‘82’ TA3到TC3不存在,使用T=1协议

应用选择(第一步+第二步)

第一步选择环境

通过文件名或AID来选择IC卡中的PSE或ADF)

SELECT命令

选择PSE:00A4 04 00 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00

发送

IFD(接口设备): 00 A4 04 00 0E

IFD: 31 50 41 59 2E 53 59 53 2E 44 44 46 3031 00

CLA: ’00’

INS: ’A4’

P1(引用控制参数): ’04‘(金融应用中,P1都是填04,b3等于1表示通过名称选择)

P2:‘00’             (00代表第一个或仅有一个)

Lc: 0E(14个字节)

Data: 31 50 41 59 2E 53 59 53 2E 44 44 4630 31 (文件名)

Le: ‘00’

选择环境:00 A4 04 00 0E 31 5041 59 2E 53 59 53 2E 44 44 46 30 31 00

接收:

6F 24 84 0E 31 50 41 59 2E 53 59 53 2E 4444 46

30 31 A5 12 88 01 01 5F 2D 08 65 73 65 6E66 72

64 65 9F 11 01 01 90 00

FCI模板:6F   长度:24

专用(DF)文件名称:84  长度0E    值:31 50 41 59 2E 5359 53 2E 44 44 46 30 31

FCI专有模板:A5         长度:12   值:88 01 01 5F 2D 0865 73 65 6E 66 72 64 65 9F 11

01 01

短文件标识符(SFI):88         长度:01   值:01(未移过的SFI值,需右移3位)

(只告诉我们SFI=1,读完文件1的全部数据)

首选语言:5F2D           长度:08   值:65 73 65 6E 66 72 6465

发卡行代码索引:9F11     长度:01   值:01

ICC: SW1 SW2 = 90 00 => Successful

第二步选择应用

读记录(READRECORD)命令

AEF(应用基本文件)=P1+P2即SFI+记录号

读取SFI=1文件第1条记录

发送:00 B2 01 0C 00

CLA: ’00’

INS: ’B2’

P1(记录号): ’01‘

P2(引用控制参数):‘0C’(00001100,00001说明SFI=1,100中b3=1代表读P1指定记录,这个命令都是拿SFI与ox04异或)

Le: ‘00’

接收

70 2A 61 28 4F 07 A0 00 00 00 03 10 10 500A 56

49 53 41 43 52 45 44 49 54 87 01 01 9F 120D 43

52 45 44 49 54 4F 44 45 56 49 53 41 90 00

应用基本数据模板:70   长度:2A  值:61 28 4F 07 A0 0000 00 03 10 10 50 0A 56 49 53

                                     41 43 5245 44 49 54 87 01 01 9F 12 0D 43 52 45

                                     44 49 544F 44 45 56 49 53 41

应用模板:61     长度:28  值:4F 07 A0 00 00 0003 10 10 50 0A 56 49 53 41 43

                               52 45 44 49 5487 01 01 9F 12 0D 43 52 45 44 49

                               54 4F 44 45 5649 53 41

应用标识符(AID,读记录):4F 长度:07 值:A0 00 00 00 03 10 10

(从TAG 4F中得到了1个卡片支持的应用AID:A0 00 00 00 03 10 10)

应用标签(读记录选择):50   长度:0A  值:56 49 53 41 43 5245 44 49 54

应用优先指示器(读记录选择):87 长度:01  值:01

应用首选名称(读记录选择):9F12 长度:0D 值:43 52 45 44 49 54 4F 44 45 56 49 53 41

ICC: SW1 SW2 = 90 00 => Successful

读取SFI=1文件第2条记录

发送:00 B2 02 0C 00

CLA: ’00’

INS: ’B2’

P1(记录号): ’02‘

P2(引用控制参数):‘0C’

Le: ‘00’

ICC: SW1 SW2 = 6A 83 => 记录号不存在6A83表示记录未找到,说明已经读到最后一条记录

SELECT命令选择文件

选择ADF:00 A4 04 00 07 A0 00 00 00 03 10 10 00

发送

IFD: 00A4 04 00 07

IFD: A000 00 00 03 10 10 00

CLA: ’00’

INS: ’A4’

P1(引用控制参数):’04‘

P2:‘00’

Lc: 07

Data: A0 00 00 00 03 10 10

Le: ‘00’

根据选择环境得到的AID,我们发送的时候A404的时候,选择了A0 00 00 0003 10 10

接收

6F 32 84 07 A0 00 00 00 03 10 10 A5 27 87 0101

9F 38 12 9F 1A 02 9F 33 03 9F 40 05 9F 1B 049F

09 02 9F 35 01 5F 2D 08 65 73 65 6E 66 72 6465

9F 11 01 01 90 00

FCI模板:6F   长度:32 值:84 07 A0 0000 00 03 10 10 A5 27 87 01 01 9F 38

                           12 9F 1A 02 9F 33 039F 40 05 9F 1B 04 9F 09 02

                           9F 35 01 5F 2D 08 6573 65 6E 66 72 64 65 9F 11

                           01 01

专用(DF)文件名称:84  长度07    值:A0 00 00 00 03 1010  

FCI专有模板:A5         长度:27   值:87 01 01 9F 38 129F 1A 02 9F 33 03 9F 40 05 9F

                                       1B 04 9F09 02 9F 35 01 5F 2D 08 65 73 65 6E 66

                                       72 64 659F 11 01 01

应用优先选择器(ASI):87         长度:01   值:01

如果候选应用列表中只有1个AID,且TAG 87的b8=1,则需要显示出来让用户确认选择

类似如右界面:您确定要选择AID吗?

处理选项数据对(PDOL):9F38 (在下一步的时候,会按照这串数据,组包,发送给卡片)   长度:12  

值:9F 1A 02 9F 33 03 9F 40 05 9F 1B 04 9F 09 02 9F 35 01

                          Tag 9F1A(终端国家代码) : Length=02

                          Tag 9F33(终端性能) :    Length=03

                          Tag 9F40(附加终端性能):    Length=05

                          Tag 9F1B (终端最低限额):    Length=04

                          Tag 9F09(应用版本号) :Length=02

                          Tag 9F35(终端类型) :    Length=01

首选语言:5F 2D 长度:08    值:65 73 65 6E66 72 64 65

发卡行代码表索引:9F11  长度:01    值:01

ICC: SW1 SW2 = 90 00 => Successful

经过这一步,我们确定了选择A000 00 00 03 10 10这个DF,同时确定了下一步应该发什么数据给卡片。

如果有多个AID这个时候会显示如下界面供用户选择:

1.AID1

2.AID2

应用初始化

第三步GPO(GPO代表交易的开始,GPO需要把PDOL指令填充好,发送给卡片。

发给卡片包括金额,时间,国家代码和货币代码等)

应用初始化(终端发送GPO命令给卡片,卡片返回AIP和AFL给终端)

获取处理选项(GPO)命令用来启动IC卡内的交易

来源(应用选择时卡片返回的应用数据)

用途:用于发送在应用初始化时需要给卡片的终端数据

发送

IFD: 80 A8 00 00 13

IFD: 83 11 01 56 E0 B0 C8 60 00 F0 F0 01 4A4A 4A 4A 0F 0A 22 00

CLA:  ’80’

INS:  ’A8’

P1: ’00‘

P2:‘00’

Lc: 13

这边取得数据是根据之前的PDOL(9F 1A 02 9F 33 039F 40 05 9F 1B 04 9F 09 02 9F 35 01)

Data: 83 11 01 56 E0 B0 C8 60 00 F0 F0 01 4A4A 4A 4A 0F 0A 22

Le: ‘00’

接收

+ICC: 80 0E 5C 00 08 01 01 00 10 01 03 01 1801 03 00 90 00

响应报文模板格式:80长度:0E 值:5C00 08 01 01 00 10 01 03 01 18 01 03 00

AIP:5C 00

01011010(表示支持静态数据认证SDA,支持持卡人认证,执行终端风险管理)

AFL: 08 01 01 00 (SFI=1,记录号01-01)(AFL中的SFI是已经移过的值)

10 01 03 01 (SFI=2,记录号01-03)最后一个字节代表有一个文件要用于脱机数据认证

18 01 03 00(SFI=3,记录号01-03)

字节1——短文件标识符(一个文件的数字标签)

字节2——第一个要读出的记录号

字节3——最后一个要读出的记录号

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

ICC: SW1 SW2 = 90 00 => Successful

至此,卡片进入预扣款状态,根据卡片响应,得知卡片已经返回脱机成功的状态,终端需要把GPO返回的AFL读完,交易便完成。

读应用数据

第四步 读记录

下面会有多个指令来回,因为GPO返回的AFL需要读取多个记录。

读记录(READ RECORD)命令

读取SFI=1文件第1条记录

发送

IFD: 00 B2 01 0C 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’01‘

P2:‘0C’

Le: ‘00’

接收

+ICC: 70 3E 5F 20 0F 46 55 4C 4C 20 46 55 4E43 54 49

     4F4E 41 4C 57 11 47 61 73 90 01 01 00 10 D1 01

     2201 01 23 45 67 89 9F 1F 16 30 31 30 32 30 33

     3034 30 35 30 36 30 37 30 38 30 39 30 41 30 42

          90 00

应用基本数据模板:70   长度:3E  值:5F20 0F 46 55 4C 4C 20 46 55 4E 43 54 49 4F 4E

                                     41 4C 57 11 47 61 73 90 01 01 00 10D1 01 22 01

                                     01 23 45 67 89 9F 1F 16 30 31 30 32 30 33 3034

                                     30 35 30 36 30 37 30 38 30 39 30 4130 42

持卡人姓名:5F20 长度:0F 值: 46 55 4C 4C 20 46 55 4E 43 54 49 4F 4E 41 4C

磁条2等价数据57 长度:11值:47 61 73 90 01 01 00 10 D1 01 22 01 0123 45 67 89

磁条1自定义数据9F1F 长度:16 值:3031 30 32 30 33 30 34 30 35 30 36 30 37 30 38

                                   30 39 30 41 30 42

ICC: SW1 SW2 = 90 00 => Successful

读记录(READ RECORD)命令

读取SFI=2文件第1条记录

发送

IFD: 00 B2 01 14 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’01‘

P2:‘14’

Le: ‘00’

 脱机数据认证:

接收

+ICC: 70 0E 5A 08 47 61 73 90 01 01 00 10 5F34 01 01 90 00

应用基本数据模板:70   长度:0E  值:5A08 47 61 73 90 01 01 00 10 5F 34 01 01

应用PAN:5A 长度:08值:47 61 73 90 01 01 00 10

应用PAN序列号:5F 34 长度:01值:01

ICC: SW1 SW2 = 90 00 => Successful

读取SFI=2文件第2条记录

发送

IFD: 00 B2 02 14 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’02‘

P2:‘14’

Le: ‘00’

接收

+ICC: 70 4C 8C 17 95 05 9B 02 9F 02 06 9F 0306 9F 1A

     025F 2A 02 9A 03 9C 01 9F 37 04 8D 19 95 05 9B

     028A 02 9F 02 06 9F 03 06 9F 1A 02 5F 2A 02 9A

     039C 01 9F 37 04 9F 0E 05 00 50 88 00 00 9F 0F

     05F0 20 04 98 00 9F 0D 05 F0 20 04 00 00 90 00

应用基本数据模板:70   长度:4C  值:8C17 95 05 9B 02 9F 02 06 9F 03 06 9F 1A 02 5F

                                     2A 02 9A 03 9C 01 9F 37 04 8D 19 9505 9B 02 8A

                                     02 9F 02 06 9F 03 06 9F 1A 02 5F 2A02 9A 03 9C

                                     01 9F 37 04 9F 0E 05 00 50 88 00 009F 0F 05 F0

                                     20 04 98 00 9F 0D 05 F0 20 04 00 00

卡片风险管理数据对象列表1(CDOL1):8C长度:17 值:9505 9B 02 9F 02 06 9F 03 06 9F 1A 02 5F 2A 02 9A 03 9C 01 9F 37 04

                          Tag 95(终端验证结果):   Length=05

                           Tag 9B(交易状态信息)   Length=02

                           Tag 9F02 (授权金额):   Length=06

                           Tag 9F03(其他金额) :   Length=06

                           Tag 9F1A(终端国家代码)    Length=02

                           Tag 5F2A(交易货币代码) :    Length=02

                           Tag 9A(交易日期)   Length=03

                           Tag 9C交易类型):     Length=01

                           Tag 9F37(不可预知数) :    Length=04

卡片风险管理数据对象列表2(CDOL2):长度:19值:95 05 9B 02 8A 02 9F 02 06 9F 03 06

9F 1A 02 5F2A 02 9A 03 9C 01 9F 37

04

Tag 95(终端验证结果):   Length=05

Tag 9B(交易状态信息)   Length=02

                          8A(授权响应码):Length=02

                          Tag 9F02 (授权金额):    Length=06

                          Tag 9F03(其他金额):    Length=06

                          Tag 9F1A(终端国家代码):    Length=02

                          Tag 5F2A(交易货币代码):    Length=02

                          Tag 9A(交易日期):   Length=03

                          Tag 9C交易类型):     Length=01

                          Tag 9F37(不可预知数):    Length=04

发卡行行为代码-拒绝:9F0E 长度:05值:00 50 88 00 00

50 卡片不允许所请求服务

发卡行行为代码-联机:9F0F 长度:05值:F0 20 04 98 00

F0未进行脱机数据认证,脱机数据认证SDA失败,卡片出现在终端异常文件中

20 应用尚未生效

04 输入联机PIN

98 交易超过最低限额,交易被随机选择联机处理,商户要求强制联机

发卡行行为代码-缺省:9F0D 长度05值:F0 20 04 00 00

F0未进行脱机数据认证,脱机数据认证SDA失败,卡片出现在终端异常文件中

20 应用尚未生效

04 输入联机PIN

ICC: SW1 SW2 = 90 00 => Successful

读取SFI=2文件第3条记录

发送

IFD: 00 B2 03 14 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’03‘

P2:‘14’

Le: ‘00’

接收

+ICC: 70 39 5F 25 03 95 07 01 5F 24 03 10 12 31 5F 28

02 08 40 9F07 02 FF C0 8E 12 00 00 00 00 00 00

    00 00 41 03 4203 5E 03 43 03 1F 00 9F 08 02 00

    8C 5F 30 02 0201 9F 42 02 08 40 90 00

处理限制:

应用基本数据模板:70   长度:39  值:5F25 03 95 07 01 5F 24 03 10 12 31 5F 28 02 08

                                    40 9F 07 02 FF C0 8E 1200 00 00 00 00 00 00 00

                                    41 03 42 03 5E 03 43 031F 00 9F 08 02 00 8C 5F

                                    30 02 02 01 9F 42 02 0840

应用生效日期:5F25 长度:03 值:9507 01

应用失效日期:5F24 长度:03 值:1012 31

发卡行国家代码:5F28 长度:02 值:0840

应用用途控制:9F07 长度:02 值:FFC0

持卡人验证方法(CVM)列表:8E 长度:12值:00 00 00 00 00 00 00 00 41 03 42 03 5E03 43

                                          03 1F00

金额X:0000 00 00

金额Y:0000 00 00

4103

code = 41=>如果这种CVM不成功,则应用后继的CVM规则,由ICC执行的明文pin验证

                            condition = 03 => 如果终端支持这个CVM

                            42 03

                            code = 42 =>如果这种CVM不成功,则应用后继的CVM规

                                      则,卡片执行明文PIN核对

                            condition = 03 =>如果终端支持这个CVM

5E03

                            code = 5E =>如果这种CVM不成功,则应用后继的CVM规

                                      则,签名(纸上)

                            condition=03 =>如果终端支持这个CVM

                            4303

                            code = 43 =>如果这种CVM不成功,则应用后继的CVM规

                                      则,卡片执行明文PIN核对+签名   

                            condition = 03 =>如果终端支持这个CVM

                            1F 00

                            code = 1F =>如果CVM失败,持卡人验证失败

                            condition = 00 =>总是

应用版本号:9F08长度:02 值:008C

服务码:5F30长度:02 值:0201

应用货币代码:9F42长度:02 值:0840

ICC: SW1 SW2 = 90 00 => Successful

读记录(READ RECORD)命令

读取SFI=3文件第1条记录

发送

IFD: 00 B2 01 1C 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’01‘

P2:‘1C’

Le: ‘00’

接收

+ICC: 70 65 8F 01 97 90 60 24 0E 0E A6 D2 1E65 52 B2

ED3F AD C2 F1 D2 80 D1 AD 91 3E 62 2E 2C 35 21

     AADF 2A 47 B3 AC F6 6B 67 1D 4B 12 36 81 9A D1

     B1FA 9F A6 AC DE 38 66 5B 6B DE 53 C3 80 A1 53

     169A BA AB 94 83 90 2F B7 63 E9 EA A7 AB 27 8A

     5D39 D3 A5 0E 15 98 B8 4C 22 13 9D 43 A7 48 6F

     71AA 0E C3 90 2D 26 90 00

应用基本数据模板:70   长度:65  值:8F01 97 90 60 24 0E 0E A6 D2 1E 65 52 B2 ED 3F

                                     AD C2 F1 D2 80 D1 AD 91 3E 62 2E 2C 35 21 AADF

                                     2A 47 B3 AC F6 6B 67 1D 4B 12 36 819A D1 B1 FA

                                     9F A6 AC DE 38 66 5B 6B DE 53 C3 80A1 53 16 9A

                                     BA AB 94 83 90 2F B7 63 E9 EA A7 AB27 8A 5D 39

                                     D3 A5 0E 15 98 B8 4C 22 13 9D 43 A748 6F 71 AA

                                     0E C3 90 2D 26

CA公钥索引:8F长度01 值:97   脱机数据认证需要

发卡行公钥证书:90长度:60 值:240E 0E A6 D2 1E 65 52 B2 ED 3F AD C2 F1 D2 80

                                D1 AD 91 3E 62 2E2C 35 21 AA DF 2A 47 B3 AC F6

                                6B 67 1D 4B 12 3681 9A D1 B1 FA 9F A6 AC DE 38

                                66 5B 6B DE 53 C380 A1 53 16 9A BA AB 94 83 90

                                2F B7 63 E9 EA A7 AB27 8A 5D 39 D3 A5 0E 15 98

                                B8 4C 22 13 9D 43A7 48 6F 71 AA 0E C3 90 2D 26

ICC: SW1 SW2 = 90 00 => Successful

读取SFI=3文件第2条记录

发送

IFD: 00 B2 02 1C 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’02‘

P2:‘1C’

Le: ‘00’

接收

+ICC: 70 1A 9F 32 01 03 92 14 CF B8 D4 88 5D96 09 67

     179F 98 2D 42 CE 54 EC C2 05 46 83 90 00

应用基本数据模板:70   长度:1A  值:9F32 01 03 92 14 CF B8 D4 88 5D 96 09 67 17 9F

                                     98 2D 42 CE 54 EC C2 05 46 83

发卡行RSA公钥指数:9F32 长度:01 值:03

发行人公钥余数:92长度:14     值:CFB8 D4 88 5D 96 09 67 17 9F 98 2D 42 CE 54 EC

                                    C2 05 46 83

ICC: SW1 SW2 = 90 00 => Successful

读取SFI=3文件第3条记录

发送

IFD: 00 B2 03 1C 00

CLA:  ’00’

INS:  ’B2’

P1(记录号):’03‘

P2:‘1C’

Le: ‘00’

接收

+ICC: 70 52 93 50 11 0B B9 DF 2D 21 98 19 06B2 9A 30

1411 F9 FA 60 CF 49 4D BA BA BF 54 B1 79 7C 9C

     4B5D 99 B5 E6 7A B7 30 49 E7 71 FC 5F DC 23 E5

     8350 B7 81 00 53 24 D3 1D C8 7A D0 FB F6 36 73

     3808 05 6D 66 07 46 32 71 1E 7C BF 14 07 37 96

     E1B6 0D 4D 90 00

应用基本数据模板:70   长度:52  值:9350 11 0B B9 DF 2D 21 98 19 06 B2 9A 30 14 11

                                     F9 FA 60 CF 49 4D BA BA BF 54 B1 797C 9C 4B 5D

                                     99 B5 E6 7A B7 30 49 E7 71 FC 5F DC23 E5 83 50

                                     B7 81 00 53 24 D3 1D C8 7A D0 FB F636 73 38 08

                                     05 6D 66 07 46 32 71 1E 7C BF 14 0737 96 E1 B6

                                     0D 4D

签名的静态应用数据(SAD):93 长度:50值:

110B B9 DF 2D 21 98 19 06 B2 9A 30 14 11 F9 FA

                                    60 CF 49 4DBA BA BF 54 B1 79 7C 9C 4B 5D 99 B5

                                    E6 7A B7 3049 E7 71 FC 5F DC 23 E5 83 50 B7 81

                                    00 53 24 D31D C8 7A D0 FB F6 36 73 38 08 05 6D

                                    66 07 46 3271 1E 7C BF 14 07 37 96 E1 B6 0D 4D

ICC: SW1 SW2 = 90 00 => Successful

持卡人验证=GET DATA &VERIFY:

取数据(GET DATA)命令

用来从当前应用中取得一个没有封装在记录中的基本数据对象

发送

IFD: 80 CA 9F 17 00

CLA:  ’80’

INS:  ’CA’

P1(要访问的数据标签):9F

P2:17

Le: ‘00’

接收:

+ICC: 9F 17 01 03

PIN尝试计数器:9F17长度:01 值:03

ICC: SW1 SW2 = 90 00 => Successful

核实

IFD: 00 20 00 80 08 =>明文pin,格式如iso/ iec 7816 -3中定义的格式。

IFD: 26 11 11 11 FF FF FF FF

CLA:  ’00’

INS:  ’20’

P1: ‘00’

P2:’80’(脱机明文PIN验证)

Lc: ‘08’

Data:2611 11 11 FF FF FF FF(2为控制域,6为PIN长度)

ICC: SW1 SW2 = 90 00 => Successful

终端风险管理

如果先前没有,则通过GET DATA从卡片中获取上次联机交易ATC寄存器和应用交易计数器。终端异常文件检查-》商户是否强制交易联机-》最低限额检查(使超过终端最低限额的交易执行联机授权。如果终端包含交易日志,终端就检查同一张卡片之前的交易金额加上现在的交易金额是否超过了最低限额)-》随机交易选择(随机选择脱机和联机交易)-》终端频度检查(终端必须读取到连续脱机交易上限和连续脱机交易下限,通过GET DATA 获取上次联机ATC和交易计数器ATC,如果ATC减去上次联机ATC大于连续脱机交易下限,将”超过连续脱机交易下限”设置为1,如果ATC减去上次联机ATC大于连续脱机上限,将”超过连续脱机交易下限”设置为1.)-》新卡检查(终端检查上次联机ATC寄存器,如果为0,则置新卡位为1)

Iccsend

80 CA 9F 36 00

Iccrec

9F 36 02 02 6E 90 00

应用交易计数器ATC:9F36长度:02 值:026E

Iccsend

80 CA 9F 13 00

Iccrec

9F 13 02 02 5F 90 00

上次联机应用交易计数器(ATC)寄存器:9F13 长度:02 值:025F

终端行为分析

生成应用密文(GENERATE AC)命令(第5部分P108)

发送

IFD: 80 AE 80 001F

IFD: 40 80 00 1000 C8 00 00 00 00 00 00 01 00 00 00

00 00 00 01 56 01 56 10 02 16 00 2D 7A A5 A6

CLA:  ’80’

INS:  ’AE’

P1(引用控制参数):80(ARQC)

P2:00

Lc: ‘1F’

根据CDOL(95 05 9B 02 9F 02 06 9F 03 06 9F 1A 025F 2A 02 9A 03 9C 01 9F 37 04)来取数据域

数据域:40 80 00 10 00 C8 00 00 00 00 00 00 01 00 00 00

00 00 00 01 56 01 56 10 02 16 002D 7A A5 A6

Le: ‘00’

联机交易就是拿IAC和TAC分别与TVR比较来判断

终端验证结果: 40 80 00 10 00(脱机静态数据认证失败,IC卡和终端应用版本不一样,交易被随机选择求联机处理)

交易状态信息: C8 00

授权金额(数值):00 00 00 00 00 01

其他金额(数值):00 00 00 00 00 00

终端国家代码:01 56

交易货币码:01 56

交易日期:10 02 16

交易类型:00

不可预测数: 2D 7A A5 A6

接收

+ICC: 80 12 80 0001 A7 2A FF 03 D3 4F 64 49 06 01 1A

03 60 00 00

响应报文模板格式:80 长度:12 值:80 00 01 A7 2A FF 03 D3 4F 64 49 06 01 1A

03 60 00 00

密文信息数据: 80(ARQC)

应用交易计数器:00 01

应用密文(AC):A7 2A FF 03 D3 4F 64 49

发卡行应用数据:06 01 1A 03 90 00 00

06 长度1字节

01 分散密钥索引1字节

1A 密文版本号1字节

03 60 00 00卡片验证结果CVR

60(0110 0000)返回ARQC

ICC: SW1 SW2 = 9000 => Successful

发送

IFD: 80 AE 40 00 21

IFD: 40 80 00 10 00 E8 00 30 30 00 00 00 0000 01 00

   0000 00 00 00 01 56 01 56 10 02 16 00 2D 7A A5

   A600

CLA:  ’80’

INS:  ’AE’

P1(引用控制参数):40(TC)

P2:00

Lc: ‘21’

数据域:4080 00 10 00 E8 00 30 30 00 00 00 00 00 01 00

        0000 00 00 00 01 56 01 56 10 02 16 00 2D 7A A5

        A6

Le: ‘00’

终端验证结果: 40 80 00 10 00(脱机静态数据认证失败,IC卡和终端应用版本不一样,交易被随机选择求联机处理)

交易状态信息:E8 00

授权响应代码: 30 30(TSI表明终端风险管理已被执行)

授权金额(数值):0000 00 00 00 01

其他金额(数值):0000 00 00 00 00

终端国家代码:0156

交易货币码:0156

交易日期:1002 16

交易类型:00

不可预知数字(由终端生成的不可预知的,唯一标识一笔交易的数字,该数字通过内部认证命令发送到卡片): 2D 7A A5 A6

接收:

+ICC: 80 12 40 00 01 88 2D 84 27 A2 68 E2 1406 01 1A

     0360 00 00

响应报文模板格式:80长度:12 值:4000 01 88 2D 84 27 A2 68 E2 14 06 01 1A 03 60

                                  00 00

密文信息数据:40(TC)

应用交易计数器:00 01

应用密文(AC):88 2D 84 27 A2 68 E2 14

06 长度1字节

01 分散密钥索引1字节

1A 密文版本号1字节

03 60 00 00卡片验证结果CVR

60(01100000)返回ARQC

ICC: SW1 SW2 = 90 00 => Successful