主密钥:

aabbccddeeff11223344556677889900

1、从签到报文中获取工作密钥,包括MACKEY明文,PINKEY明文

签到:

12-03-31 16:38:09---->[Receive]

02 00 91    60 00 03 00 00    60 31 00 31 54 32    08 00    00 20 00 00 00 C0 00 16    00 00 39    31 32 33 34 35 36 37 36   31 32 33 34 35 36 37 38 39 30 31 32 33 34 35    00 11 00 00 00 03 00 30    00 29 53 65 71 75 65 6E 63 65 20 4E 6F 31 36 33 30 38 31 30 33 38 35 4E 4C 32 34 37 35 33 36   00 03 30 31 20 03 11

TDUP:60 00 03 00 00 60

报文头:31 00 31 54 32

数据类型:08 00

位图:00 20 00 00 00 C0 00 16(0000 0000 0010 0000 0000 0000 0000 0000 0000 0000 1100 0000 0000 0000 0001 0110)

11域(受卡方系统跟踪号):00 00 39

41域(受卡机终端标识码):31 32 33 34 35 36 37 36

42域(受卡方标识码):31 32 33 34 35 36 37 38 39 30 31 32 33 34 35

60域(自定义域):00 11 00 00 00 03 00 30

62域(自定义域):00 29 53 65 71 75 65 6E 63 65 20 4E 6F 31 36 33 30 38 31 30 33 38 35 4E 4C 32 34 37 35 33 36

63域(自定义域):00 03 30 31 20

12-03-31 16:38:09---->[Send]

02 01 21    60 00 00 00 03 60    31 00 31 54 32    08 10    00 38 00 01 0A C0 00 14    00 00 39    16 38 09    03 31    08 01 03 10 00    30 34 36 38 37 39 30 38 37 35 36 34   30 30    31 32 33 34 35 36 37 36     31 32 33 34 35 36 37 38 39 30 31 32 33 34 35    00 11 00 00 00 03 00 30   00 40 8B 3D 47 86 55 51 F1 FB 54 8F D4 72 5C C5 0A 57 FF EF A8 D9 8B 3D 47 86 55 51 F1 FB 00 00 00 00 00 00 00 00 6F B2 3E AD 03 41

TDUP: 60 00 00 00 03 60

报文头: 31 00 31 54 32

数据类型:08 10

位图: 00 38 00 01 0A C0 00 14 (0000 0000 0011 1000 0000 0000 0000 0001 0000 1010 1100 0000 0000 0000 0001 0100)

11域(受卡方系统跟踪号):00 00 39

12域(受卡方所在地时间):16 38 09

13域( 受卡方所在地日期):03 31

32域(受理方标识码):08 01 03 10 00

37域(检索参考号):31 32 33 34 35 36 37 38 39 30 31 32 33 34 35

39域(应答码): 30 30

41域(受卡机终端标识码): 31 32 33 34 35 36 37 36

42域(受卡方标识码):31 32 33 34 35 36 37 38 39 30 31 32 33 34 35

60域(自定义域):00 11 00 00 00 03 00 30

62域(自定义域):00 40    8B 3D 47 86 55 51 F1 FB 54 8F D4 72 5C C5 0A 57    FF EF A8 D9        8B 3D 47 86 55 51 F1 FB    00 00 00 00 00 00 00 00      6F B2 3E AD

(PIN的16个密文)                     (checkvalue)          (MAC的8个密文)                                   (checkvalue)

PINKEY工作密钥明文:1122334455667788 9900112233445566     将PINKEY工作密钥与0X 00 00 00 00 00 00 00 00进行3DES运算得:FFEFA8D9 607ED326

MACKEY工作密钥明文:1122334455667788                      将MACKEY工作密钥与0X 00 00 00 00 00 00 00 00进行3DES运算得:6FB23EAD 0534752B

2、根据上面得到的MACKEY,PINKEY,计算出用户输入的密码,以及计算出这个报文的MAC值。(填写XX 的部分为MAC填写的位置)

12-03-31 16:39:13---->[Receive]

02 01 70    60 00 03 00 00 60    31 00 31 54 32     02 00     30 20 04 C0 30 C0 98 11    00 00 00    00 00 00 00 11 12    00 00 40    02 10   00    12    37 62 21 50 55 00 00 00 01 04 5D 49 12 12 02 86 06 00 00 00     01 04    99 62 21 50 55 00 00 00 01 04 5D 15 61 56 00 00 00 00 00 00 00 03 00 00 00 11 40 00 04 91 21 D0 00 00 00 00 00 0D 00 00 00 00 00 00 D0 00 00 00 28 60 60 00    31 32 33 34 35 36 37 36    31 32 33 34 35 36 37 38 39 30 31 32 33 34 35    31 35 36    DA 86 E7 B7 74 2E FA E4    26 00 00 00 00 00 00 00    00 14 22 00 00 03 00 05 01 XX XX XX XX XX XX XX XX 03 57

TDUP:60 00 03 00 00 60

报文头:31 00 31 54 32

数据类型:02 00

位图:30 20 04 C0 30 C0 98 11    (0011 0000 0010 0000 0000 0100 1100 0000 0011 1100 0000 1001 1000 0001 0001)

3域(交易处理码):00 00 00

4域(交易金额):00 00 00 00 11 12

11域(受卡方系统跟踪号):00 00 40

22域(服务点输入方式码):02 10

25域(服务点条件码):00

26域(服务点PIN获取码):12

35域(2磁道数据):37 62 21 50 55 00 00 00 01 04 5D 49 12 12 02 86 06 00 00 00

36域(3磁道数据)::01 04 99 62 21 50 55 00 00 00 01 04 5D 15 61 56 00 00 00 00 00 00 00 03 00 00 00 11 40 00 04 91 21 D0 00 00 00 00 00 0D 00 00 00 00 00 00 D0 00 00 00 28 60 60 00

41域(受卡机终端标识码):31 32 33 34 35 36 37 36

42域(受卡方标识码):31 32 33 34 35 36 37 38 39 30 31 32 33 34 35

49域(交易货币代码): 31 35 36

52域(个人标识码数据): DA 86 E7 B7 74 2E FA E4

53域(安全控制信息):26 00 00 00 00 00 00 00

60域(自定义域):00 14 22 00 00 03 00 05 01

64域(报文鉴别码):XX XX XX XX XX XX XX XX

MAC值的运算过程:3130303844454137 (数据类型到63域进行MACKEY的DES运算)

02 00 30 20 04 C0 30 C0  XOR   98 11 00 00 00 00 00 00    得:9A11302004C030C0

9A11302004C030C0         XOR   00 11 12 00 00 40 02 10    得:9A002220048032D0

9A002220048032D0         XOR   00 12 37 62 21 50 55 00    得:9A12154225D067D0

9A12154225D067D0         XOR   00 00 01 04 5D 49 12 12    得:9A121446789975C2

9A121446789975C2         XOR   02 86 06 00 00 00 01 04    得:98941246789974C6

98941246789974C6         XOR   99 62 21 50 55 00 00 00    得:01F633162D9974C6

01F633162D9974C6         XOR   01 04 5D 15 61 56 00 00    得:00F26E034CCF74C6

00F26E034CCF74C6         XOR   00 00 00 00 00 03 00 00    得:00F26E034CCC74C6

00F26E034CCC74C6         XOR   00 11 40 00 04 91 21 D0    得:00E32E03485D5516

00E32E03485D5516        XOR   00 00 00 00 00 0D 00 00     得:00E32E0348505516

00E32E0348505516     XOR   00 00 00 00 D0 00 00 00    得:00E32E0398505516

00E32E0398505516         XOR  28 60 60 00 31 32 33 34    得:28834E03A9626622

28834E03A9626622         XOR   35 36 37 36 31 32 33 34    得:1DB5793598505516

1DB5793598505516         XOR   35 36 37 38 39 30 31 32    得:28834E0DA1606424

28834E0DA1606424         XOR   33 34 35 31 35 36 DA 86    得:1BB77B3C9456BEA2

1BB77B3C9456BEA2         XOR   E7 B7 74 2E FA E4 26 00    得:FC000F126EB298A2

FC000F126EB298A2         XOR   00 00 00 00 00 00 00 14    得:FC000F126EB298B6

FC000F126EB298B6         XOR   22 00 00 03 00 05 01 00    得:DE000F116EB799B6

结果转换成十六个HEXDECIMAL:4445303030463131   3645423739394236

取前8个用MACKEY对其进行加密得:E3B1ABE3EDB7E10C

将D7C67DC434FECBC1与后八个字节3036344535363432异或得:E7F0498101C8FFF3

得到的结果进行单倍长mac加密得:63502A0570BCE23F,转换为十六个HEXDECIMAL:3633353032413035  3730424345323346,取前8个字节为MAC值,即:3633353032413035

用户输入的密码:

流程:

1:获取PAN:卡号右边起第2位取出12位,则为:55 00 00 00 01 04

2:用于PIN加密的PAN为:00 00 55 00 00 00 01 04

3: PINBLOCK:06 11 22 33 FF FF FF FF  (123456为用户输入PIN)

4:2和3异或得到:06117733FFFFFEFB

5:用PINKEY明文对4进行3DES加密,得到52域;(PINKEY 明文:1122334455667788 9900112233445566)

52域(个人标识码数据): DA 86 E7 B7 74 2E FA E4

53域(安全控制信息):26 00 00 00 00 00 00 00 (2表示为带主账号加密)

个人账号为:62 21 50 55 00 00 00 01 04 5

即:磁卡上的PAN为:55 00 00 00 01 04

则用于PIN加密的主账号为:0x00 0x00 0x55 0x00 0x00 0x00 0x01 0x04,与PINBLOCK异或的结果为:

DA 86 E7 B7 74 2E FA E4(PINKEY加密得密文),06117733FFFFFEFB(明文),则PINBLOCK为:06112233FFFFFFFF

用户输入的密码为:112233

12-03-31 16:39:14---->[Send]

02 01 73    60 00 00 00 03 60    31 00 31 54 32    02 10    70 3A 00 81 0E D0 8C 11    19 62 21 50 55 00 00 00 01 04 50    00 00 00     00 00 00 00 11 12    00 00 40    16 39 13    03 31    03 31    00    08 01 03 10 00    30 34 36 38 37 39 30 38 37 35 36 34    31 32 33 35 36 34    30 30    31 32 33 34 35 36 37 36    31 32 33 34 35 36 37 38 39 30 31 32 33 34 35    22 38 31 35 36 38 31 35 36 38 31 35 31 31 35 36 38 31 35 36 38 31 30    31 35 36    26 00 00 00 00 00 00 00    00 20 30 32 31 30 31 35 36 43 30 30 30 30 30 31 30 30 30 30 30 30    00 14 22 00 00 03 00 05 01    XX XX XX XX XX XX XX XX    03 FC

TDUP:60 00 00 00 03 60

报文头:31 00 31 54 32

数据类型:02 10

位图:70 3A 00 81 0E D0 8C 11       (0111 0000 0011 1010 0000 0000 1000 0001 0000 1110 1101 0000 1000 1100 0001 0001)

2域:(主账号)19 62 21 50 55 00 00 00 01 04 50

3域:(交易处理码) 00 00 00

4域:(交易金额)00 00 00 00 11 12

11域:(受卡方系统跟踪号)00 00 40

12域:(受卡方所在地时间) 16 39 13

13域:(受卡方所在地日期)03 31

15域:(清算日期)03 31

25域:(服务点条件码)00

32域:(受理方标识码)08 01 03 10 00

37域:(检索参考号)30 34 36 38 37 39 30 38 37 35 36 34

38域:(授权标识应答码)31 32 33 35 36 34

39域:(应答码)30 30

41域:(受卡机终端标识码)31 32 33 34 35 36 37 36

42域:(受卡方标识码)31 32 33 34 35 36 37 38 39 30 31 32 33 34 35

44域:(附加响应数据)22 38 31 35 36 38 31 35 36 38 31 35 31 31 35 36 38 31 35 36 38 31 30

49域:(交易货币代码)31 35 36

53域:( 安全控制信息)26 00 00 00 00 00 00 00

54域:(余额)00 20 30 32 31 30 31 35 36 43 30 30 30 30 30 31 30 30 30 30 30 30

60域:(自定义域)00 14 22 00 00 03 00 05 01

64域:(报文鉴别码)XX XX XX XX XX XX XX XX

MAC值:3035333637383245

3、解下面报文,详细写出各个域的内容,并说明这个报文的交易类型。

12-03-31 16:39:44---->[Receive]

02 01 16 60 00 03 00 00 60 31 00 31 54 32 02 00 70 20 04 80 0C C0 80 19 19 62 21 50 55 00 00 00 01 04 50 20 00 00 00 00 00 00 11 12 00 00 41 01 20 00 30 34 36 38 37 39 30 38 37 35 36 34 31 32 33 35 36 34 31 32 33 34 35 36 37 36 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 31 35 36 00 14 23 00 00 03 00 05 00 00 12 00 00 03 00 00 40 38 42 41 45 41 30 32 42 03 AB

TDUP:60 00 03 00 00

报文头:60 31 00 31 54 32                           60:磁条卡金融支付  31:2010年银联POS规范版本  0:正常交易状态  0:无处理要求   31 54 32:2010年银联POS规范版本

数据类型:02 00                                     金融类请求

位图:70 20 04 80 0C C0 80 19                       具体存在哪些域(0111 0000 0010 0000 0000 0100 1000 0000 0000 1100 1100 0000 1000 0000 0001 1001)

【2】(主账号):19 62 21 50 55 00 00 00 01 04 50    主账号:6221505500000001045

【3】(交易处理码):20 00 00                        20:退款  00 00:默认

【4】(交易金额):00 00 00 00 11 12                 交易金额:11.12元

【11】(受卡方系统跟踪号):00 00 41                 POS为每一笔交易产生的顺序编号(1-999999)

【22】(服务点输入方式码):01 20                    01:手工  2:交易中不保护PIN

【25】(服务点条件码):00                           正常提交,与联网联合规范取值关系一致

【37】(检索参考号):30 34 36 38 37 39 30 38 37 35 36 34                  POS中心为交易分配的流水号,在应答报文中下传给POS终端作为对账参考号,并用于事后查证。

【38】(授权标识应答码):31 32 33 35 36 34                                在预授权交易中,发卡方将在成功的应答消息中返回一个有效的授权号,以供后续交易使用。

【41】(受卡机终端标识码):31 32 33 34 35 36 37 36                        该标识码在POS中心的网络中唯一标识一个终端,不能重复。

【42】(受卡方标识码):31 32 33 34 35 36 37 38 39 30 31 32 33 34 35       受卡方的标识码,即商户代码。

【49】(交易货币代码):31 35 36                                           156:人民币的货币代码

【60】(自定义域):00 14 23 00 00 03 00 05 00                             00 14:数据长度   23:消费撤销/冲正   00 00 03:批次号   00 0:网络管理信息码     5:可接触式界面读取IC卡

1:上一笔交易不是IC卡交易或是一笔成功的IC卡交易  1:支持部分扣款和返回余额标志

【61】 (原始信息域):00 12 00 00 03 00 00 40                              0012:长度   00 00 03:原始交易批次号   00 00 40:原始交易POS流水号

【64】(报文鉴别码):38 42 41 45 41 30 32 42                              报文的MAC值

12-03-31 16:39:45---->[Send]

02 01 43    60 00 00 00 03      60 31 00 31 54 32    02 10    70 3A 00 81 0E D0 80 11    20 62 21 50 55 00 00 00 01 04 50    20 00 00    00 00 00 00 11 12    00 00 41    16 39 45    03 31    03 31    00    08 01 03 10 00    30 34 36 38 37 39 30 38 37 35 36 34    31 32 33 35 36 34    30 30    31 32 33 34 35 36 37 36    31 32 33 34 35 36 37 38 39 30 31 32 33 34 35    22 38 31 35 36 38 31 35 36 38 31 35 31 31 35 36 38 31 35 36 38 31 30    31 35 36    00 14 23 00 00 03 00 05 00    39 32 32 43 41 31 44 34    03 F9

TDUP:60 00 00 00 03

报文头:60 31 00 31 54 32                             60:磁条卡金融支付  31:2010年银联POS规范版本  0:正常交易状态  0:无处理要求   31 54 32:2010年银联POS规范版本

数据类型:02 10                                       金融类应答

位图:70 3A 00 81 0E D0 80 11                         具体存在哪些域 (0010 0000 0011 1010 0000 0000 1000 0001 0000 1110 1101 0000 1000 0000 0001 0001)

【2】(主账号):20 62 21 50 55 00 00 00 01 04 50      账号:62 21 50 55 00 00 00 01 04 50

【3】(交易处理码):20 00 00                          20:退款  00 00:默认

【4】(交易金额):00 00 00 00 11 12                   交易金额:11.12元

【11】(受卡方系统跟踪号):00 00 41                   POS为每一笔交易产生的顺序编号(1-999999)

【12】(受卡方所在地时间):16 39 45                  受卡方所在地时间:16时39分45秒

【13】(受卡方所在地日期):03 31                     受卡方所在地日期:3月31日

【15】(清算日期):03 31                             清算日期:3月31日

【25】(服务点条件码):00                             正常提交,与联网联合规范取值关系一致

【32】(受理方标识码):08 01 03 10 00                受理方标识码

【37】(检索参考号):30 34 36 38 37 39 30 38 37 35 36 34     POS中心为交易分配的流水号,在应答报文中下传给POS终端作为对账参考号,并用于事后查证。

【38】(授权标识应答码):31 32 33 35 36 34                   该标识码在POS中心的网络中唯一标识一个终端,不能重复。

【39】(应答码):30 30

【41】(受卡机终端标识码):31 32 33 34 35 36 37 36           该标识码在POS中心的网络中唯一标识一个终端,不能重复。

【42】(受卡方标识码):31 32 33 34 35 36 37 38 39 30 31 32 33 34 35     商户代码

【44】(附加响应数据):22 38 31 35 36 38 31 35 36 38 31 35 31 31 35 36 38 31 35 36 38 31 30   表示表示发卡行标识码和商户结算行标识码

【49】(交易货币代码):31 35 36                       156:人民币的货币代码

【60】(自定义域):00 14 23 00 00 03 00 05 00         00 14:数据长度   23:消费撤销/冲正   00 00 03:批次号   00 0:网络管理信息码     5:可接触式界面读取IC卡

1:上一笔交易不是IC卡交易或是一笔成功的IC卡交易  1:支持部分扣款和返回余额标志

 
【64】(报文鉴别码):39 32 32 43 41 31 44 34          报文的MAC值
 
 
 
 

银联直联终端测试中,在POS终端签到的应答报文中,62域是如何规定的?   
      62域长度应为24或40个字节。对于单倍长密钥算法:前12个字节为PIN的工作密钥的密文,后12个字节为MAC的工作密钥的密文。(其中,前8个字 节是密文,后4个字节是checkvalue;用前8个字节解出的明文做key,对8个字节00做单倍长密钥算法,取结果的前四位与checkvalue 的值比较应该是一致的)。

对于双倍长密钥算法:前20个字节为PIN的工作密钥的密文,后20个字节为MAC的工作密钥的密文。(其中,“PIN工作密钥”前16个字节是密文,后 4个字节是checkvalue;用前16个字节解出明文做key,对8个字节00做双倍长密钥算法,取结果的前四位与checkvalue 的值比较应该是一致的;“MAC工作密钥”前8个字节是密文,再8个字节是二进制零,后4个字节是checkvalue;用前8个字节解出明文做key, 对8个字节00做单倍长密钥算法,取结果的前四位与checkvalue 的值比较应该是一致的)。

银联ISO8583报文解析过程的更多相关文章

  1. ISO8583报文解析

    在此只写了一个8583报文的拆包,组包其实也差不多的. 不多说直接上文件, 具体思路过程,在解析类里面写的有. 其中包含了四个文件 8583resp.txt报文 ISO8583medata配置文件 B ...

  2. [性能测试]:ISO8583报文解析实例

    现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00 60 31 00 31 07 30 02 00 30 20 04 C0 20 C0 98 11 00 00 00 0 ...

  3. 【8583】ISO8583报文解析

    ISO8583报文(简称8583包)又称8583报文,是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分. [报文格式] POS终端上送POS中心的消息报文结构 ...

  4. (转载)解析ISO8583报文实例

    本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载. 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00(前五个字节为TPDU) 60 31 ...

  5. 解析ISO8583报文实例

    http://www.cnblogs.com/1971ruru/archive/2012/12/10/2811549.html 本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面 ...

  6. ISO8583报文协议

    最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等.在各个计算机设备之间,需要交换数据.我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有 ...

  7. DNS原理总结及其解析过程详解

    一.域名系统 1.域名系统概述 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址.域名系统其实就是名字系统.为什么不叫&quo ...

  8. 基于DPI(深度报文解析)的应用识别

    一.概述 1.DPI(Deep packet inspection,深度报文解析) 所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析IP包4 层以下的内容,包括源地址.目的地址. ...

  9. 轻松掌握ISO8583报文协议

    http://www.itpub.net/thread-419521-1-1.html 我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的 ...

随机推荐

  1. .netCore+Vue 搭建的简捷开发框架 (5)

    文章目录:.netCore+Vue 搭建的简捷开发框架--目录 上两节的内容介绍了一些关于.netCore 相关的一些基础知识.介绍这些的目的,最主要的还是为了我们的架构搭建服务. 上一节中,我们介绍 ...

  2. Zabbix 2.2系列注入+getsehll

    Zabbix 是一个开源的企业级性能监控解决方案. 官方网站:http://www.zabbix.com Zabbix 的jsrpc的profileIdx2参数存在insert方式的SQL注入漏洞,攻 ...

  3. XSS扫盲到漏洞挖掘上手

    复习xss ,也总结一下XSS基础的点到进阶的知识  目录 0x01 XSS扫盲入门 0x02 XSS payload构造 0x03 XSS payload变形进阶   0x01 XSS扫盲入门 XS ...

  4. margin与padding的区别与用法—以及出现bug的解决方法

    margin(外边距) padding(内边距)   一.语法结构 (1)margin-left:10px; 左外边距 (2)margin-right:10px; 右外边距 (3)margin-top ...

  5. Windows 批量修改文件后缀名

    利用ren 文件名替换命令 for循环去批处理 @echo off for %%m in (*) do ( if not "%%m"=="temp.bat"( ...

  6. Dubbo 在 K8s 下的思考

    作者 | 曹胜利  Apache Dubbo PMC 导读:Dubbo 作为高性能 Java RPC 框架的刻板印象早已深入人心,在 Cloud Native 的架构选型上,Spring Cloud ...

  7. idea的tomcat实现热部署遇到的问题

    选择Deployment的时候,要选择exploded结尾的,否则不支持热部署

  8. 通过一个生活中的案例场景,揭开并发包底层AQS的神秘面纱

    本文导读 生活中案例场景介绍 联想到 AQS 到底是什么 AQS 的设计初衷 揭秘 AQS 底层实现 最后的总结 当你在学习某一个技能的时候,是否曾有过这样的感觉,就是同一个技能点学完了之后,过了一段 ...

  9. 轻量级CNN模型mobilenet v1

    mobilenet v1 论文解读 论文地址:https://arxiv.org/abs/1704.04861 核心思想就是通过depthwise conv替代普通conv. 有关depthwise ...

  10. LaTeX常用篇(三)---矩阵与表格

    目录 1. 序言 2. 矩阵 2.1 复杂写法 2.2 简化写法 2.3 复杂矩阵 3. 表格 4. 对齐 更新时间:2019.10.02 1. 序言   矩阵是一个强大的工具,许多东西都能够用矩阵来 ...