利用一台IC-02v2 USB免驱读写器,配套测试工具,发送调试指令演示。 
 
	 
 
	  
 
	密码认证第一次发送: 
 
1A 00      //1A指令,00密钥编号 密钥初始值:00000000000000000000000000000000 
 
RANB=565B4036EF7C3BC6D207344218AF0778   //返回数据通过AES解密得出 
 
 
 
	RANB'=5B4036EF7C3BC6D207344218AF077856 
 
RANA=A3F6353A2BE36AEF3EE7E3B303F54303 
 
密码认证第二次发送: 
 
AF8B2736B37BD01BB2BD26126AAB05386BF68BA1692CD23EFDD043AB9CAD8951F0 //用RANA和RANB'加密 
 
随机密钥生成: 
 
SV=5AA500010080A3F663616BD585933BC6D207344218AF07783EE7E3B303F54303 
 
随机密钥=61C315D2F645FA8FA9415F237781A748  //用00密钥,计算CMAC得出,SV是参与计算输入值 
 
计算读卡发送的CMAC: 
 
参与计算输入值: 
 
0000 30 12  // 读取起始块是0x12  
 
CMAC=31 CC B7 82 E9 D3 C4 AE 92 65 F4 34 38 BF 8E 49  //用随机密钥计算得出CMAC 
 
CMAC'T=CC82D3AE6534BF49 
  
发送读卡数据: 
 
	 
30 12 CC 82 D3 AE 65 34 BF 49   
 
卡片返回: 
 
00000000000000000000000000000000C4624B09CBFEA0F8 //4块数据+CMAC 
 
 
计算写卡发送的CMAC: 
 
计算参与输入值: 
 
0200 A2 12  01 02 03 04  // 写数据到0x12块 
 
CMAC=1F 57 81 B4 16 49 28 34 A3 C0 0D D1 CF 56 89 C5 
 
CMAC'T= 57 B4 49 34 C0 D1 56 C5 
 
发送写卡数据: 
 
A2 12 01 02 03 04 57 B4 49 34 C0 D1 56 C5 
 
卡片返回: 
 
F7467B74E04F4B08 
 
	 
 
 
	 
 
 
	文章编写:王先生,如有疑问请联系,18026219621 
 
	 
 
	 
 
	 
 
	 
  |