厂家初始设定外部认证密钥为FFFFFFFFFFFFFFFF
0 00A4000000
1 外部认证
1 取4随机数 0084000004
2 程序用 FFFFFFFFFFFFFFFF和 4随机数+00000000 加密 生成8字节加密数据
3 发送 0082000008(8字节加密数据)
2 删除MF下面文件
800E000000
00A4000000
4 建立MF下密钥文件
80E00000073F00B001F0FFFF
//80E00000073F005001F0FFFF
5 增加密钥
文件线路保护密钥
80D401000D36F0F0FF33FFFFFFFFFFFFFFFF
外部认证密钥
80D401000D39F0F0AA551122334455667788
//80D401001539F0F0AA88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
后续状态 AA 错误计算 55
解锁口令密钥
80D401000D37F0F0FF551122334455667788
错误计算 55 密钥 1122334455667788
口令密钥
80D40100083AF0EF4455123456
后续状态 44 错误计算 55 pin 123456
重装密钥
80D401000D38F0F0FF550102030405060708
错误计算 55 密钥0102030405060708
//线路保护
//80D401000D36F0F0FF550102030405060708
//错误计算 55 密钥0102030405060708
6 建立电子钱包DF
80E03F010D380520F0F095FFFF4444463031
//80E03F01113804FFF0FA95FFFFA00000000386980701
文件ID 82 select file 返回为0002
文件标示 3F01
空间大小 0520
DF名称 DDF01
6.5 选择电子钱包DF 00A40000023F0100
7 建立DF下密钥文件
80E00000073F018F95F0FFFF
8 增加密钥
主控密钥
外部认证密钥
80D401000D39F0F033551122334455667788
后续状态 AA 错误计算 55
圈存密钥
80D401000D3FF0F000003F023F023F023F02
圈提密钥
80D401000D3DF0F000013D023D023D023D02
消费密钥
80D401000D3EF0F000013E023E023E023E02
透支限额
80D401000D3CF0F000013C023C023C023C02
线路保护
80D401010D36F0F0FF550102030405060708
错误计算 55 密钥010203040506070
重装口令密钥
80D401010D38F0F0FF550102030405060708
错误计算 55 密钥0102030405060708
口令密钥
80D40101083AF0EF4455123456
后续状态 44 错误计算 55 pin 123455
解锁口令密钥
80D401010D37F0F0FF551122334455667788
错误计算 55 密钥 1122334455667788
MAC密钥
80D401010D32F0F000013202320232023202
9 建立钱包文件
80E00002072F0208F000FF18
10 建立钱包应用基本数据文件A8
80E0001507A8001EF0F0FF02
//80E0001507A8001EF0F0FFFF
11 建立钱包持卡人基本数据文件A8
80E0001607A80027F0F0FF02
//80E0001607A80037F0F0FFFF
12 建立交易明细文件2E
80E00018072E0A17F1EFFFFF
//80E00017072A0A10F0F0FFFF
MF下 读余额
(选择电子钱包文件夹)00A40000023F0100
805C000204
验证PIN PIN是123456
0020000103123456
圈存初始化 圈存密钥为3F023F023F023F02
执行指令 805000020B010000123400000000000110
密钥标识01 交易金额 00001234 终端机编号 000000000001
返回0000000000000001CAB2478267AE64BA
MAC1=67AE64BA
过程密钥(SESLK)= 圈存密钥(DLK)和 4随机数+2字节交易序号+8000 生成
也就是 3F023F023F023F02 和 CAB24782+0000+8000 加密
得出 FA0645615347A270 (SESLK1)
密钥FA0645615347A270和余额 + 交易金额 + 交易类型标识 + 终端机编号
(不足补80)加密
也就是FA0645615347A270和00000000000012340200000000000180
得到1FB2262D0435B1A3444C2A1A1FAAE7A3
结果和MAC1
阅读(2123) | 评论(0) | 转发(0) |