智能卡技术(收藏5)

充值

脱机充值

1、  选择要充值的应用目录。

2、  验证口令密钥。

3、  取得充值密钥(这里使用加密机提供的分散指令,用ATS作为分散因子对00B0密钥进行分散得到充值密钥)。

4、  圈存交易初始化。

5、  生成过程密钥。

6、  用过程密钥计算MAC1与初始化交易返回的MAC1进行比对,若一致,则继续执行。

7、  用过程密钥计算MAC2。

8、  使用圈存指令将MAC2发送给CPU卡,完成充值交易。

联机充值

1、2、3、4步同脱机充值。

将圈存交易初始化返回的数据发送给后台,后台算出过程密钥,并得到MAC1。由后台对MAC1作比较,如果一致,则后台再算出MAC2,返回给前台,前台使用圈存指令将MAC2发送给CPU卡,完成充值交易。

消费

1、  选择要消费的应用目录。

2、  取得消费密钥(这里使用加密机提供的分散指令,用城市代码和ATS作为分散因子对00B1密钥进行分散得到消费密钥)。

3、  消费交易初始化

4、  生成过程密钥

5、  用过程密钥计算MAC1

6、  用消费指令将MAC1发送给CPU卡进行消费交易

7、  得到TAC和MAC2,验证…

 

Send Data : 00,84,00,00,04, 
Recv Data : AF,E9,CD,6F,90,00, 
Send Data : 00,82,00,00,08,62,33,F9,C8,BF,BE,B8,99, 
Recv Data : 90,00, 
Send Data : 80,0E,00,00,00, 
Recv Data : 90,00, 
Send Data : 80,E0,00,00,07,3F,00,50,01,F0,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,36,F0,F0,FF,33,FF,FF,FF,FF,FF,FF,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,15,39,F0,F0,AA,33,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,E0,00,01,07,2A,02,13,F0,00,FF,FF, 
Recv Data : 90,00, 
Send Data : 00,E2,00,08,13,61,11,4F,09,A0,00,00,00,03,86,98,07,01,50,04,50,42,4F,43, 
Recv Data : 90,00, 
Send Data : 80,E0,3F,01,11,38,03,6F,F0,F0,95,FF,FF,A0,00,00,00,03,86,98,07,01, 
Recv Data : 90,00, 
Send Data : 00,A4,04,00,09,A0,00,00,00,03,86,98,07,01, 
Recv Data : 61,0D, 
Send Data : 00,C0,00,00,0D, 
Recv Data : 6F,0B,84,09,A0,00,00,00,03,86,98,07,01,90,00, 
Send Data : 80,E0,00,00,07,3F,01,8F,95,F0,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,15,34,F0,02,00,01,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,15,36,F0,02,FF,33,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,15,37,F0,02,FF,33,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,15,38,F0,02,FF,33,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,15,39,F0,02,44,33,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,15,3E,F0,02,00,01,3E,01,3E,01,3E,01,3E,01,3E,01,3E,01,3E,01,3E,01, 
Recv Data : 90,00, 
Send Data : 80,D4,01,02,15,3E,F0,02,00,01,3E,02,3E,02,3E,02,3E,02,3E,02,3E,02,3E,02,3E,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,15,3F,F0,02,00,01,3F,01,3F,01,3F,01,3F,01,3F,01,3F,01,3F,01,3F,01, 
Recv Data : 90,00, 
Send Data : 80,D4,01,02,15,3F,F0,02,00,01,3F,02,3F,02,3F,02,3F,02,3F,02,3F,02,3F,02,3F,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,15,3D,F0,02,01,00,3D,01,3D,01,3D,01,3D,01,3D,01,3D,01,3D,01,3D,01, 
Recv Data : 90,00, 
Send Data : 80,D4,01,02,15,3D,F0,02,01,00,3D,02,3D,02,3D,02,3D,02,3D,02,3D,02,3D,02,3D,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,15,3C,F0,02,01,00,3C,01,3C,01,3C,01,3C,01,3C,01,3C,01,3C,01,3C,01, 
Recv Data : 90,00, 
Send Data : 80,D4,01,02,15,3C,F0,02,01,00,3C,02,3C,02,3C,02,3C,02,3C,02,3C,02,3C,02,3C,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,3A,F0,EF,01,33,12,34,5F,FF,FF,FF,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,E0,00,15,07,A8,00,1E,F0,F0,FF,FF, 
Recv Data : 90,00, 
Send Data : 04,D6,95,00,1E,11,11,22,22,33,33,00,06,03,01,00,06,19,98,08,17,00,00,00,30,19,98,08,15,19,98,12,15,55,66,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36, 
Send Data : 04,D6,95,00,1E,11,11,22,22,33,33,00,06,03,01,00,06,19,98,08,17,00,00,00,30,19,98,08,15,19,98,12,15,55,66,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36, 
Send Data : 80,E0,00,17,07,28,05,DC,F0,F0,FF,FF, 
Recv Data : 6A,84, 
Send Data : 00,A4,00,00,02,10,01, 
Recv Data : 6A,82,

主文件MF:复位后自动被选择,在任何一级子目录下可通过文件标识3F 00 或MF 
名称来选择MF。创建时默认名称为1PAY.SYS.DDF01。

KEY 文件及其文件中的密钥:每个DF 或MF 下只能有一个KEY 文件,且必须最先 被建立,在任何情况下密钥数据均无法读出。当进入DF 
或MF 时,若该目录下无KEY 文件和其它文件,则在该目录下可任意建立文件和读写文件而不受文件访问权限的限 
制。一旦离开该目录再进入此目录时,将遵循文件的访问权限。

80E0 3F01 0D 38 0520 F0F0 95 FFFF 4444463031

FM1208

SmartCard Reader Cnt dw =1, 
i=0,Gemplus USB Smart Card Reader 0 
Gemplus USB Smart Card Reader 0 
连接读卡器: Gemplus USB Smart Card Reader 0 
通讯协议: T0 
Send Data : 00,84,00,00,04, 
Recv Data : 13,23,49,F0,90,00, 
Send Data : 00,82,00,00,08,4D,87,B3,6D,69,56,7D,C8, 
Recv Data : 90,00, 
Send Data : 80,0E,00,00,00, 
Recv Data : 90,00, 
Send Data : 00,A4,00,00,00, 
Recv Data : 61,0A, 
Send Data : 00,C0,00,00,0A, 
Recv Data : 6F,08,84,06,46,4D,53,48,4D,46,90,00, 
Send Data : 80,E0,00,00,07,3F,00,B0,01,F0,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,36,F0,F0,FF,33,FF,FF,FF,FF,FF,FF,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,39,F0,F0,AA,55,11,22,33,44,55,66,77,88, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,37,F0,F0,FF,55,11,22,33,44,55,66,77,88, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,08,3A,F0,EF,44,55,12,34,56, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,38,F0,F0,FF,55,01,02,03,04,05,06,07,08, 
Recv Data : 90,00,

Send Data : 80,E0,3F,01,0D,38,05,20,F0,F0,95,FF,FF,44,44,46,30,31, 
Recv Data : 90,00, 
Send Data : 00,A4,00,00,02,3F,01, 
Recv Data : 61,09, 
Send Data : 00,C0,00,00,09, 
Recv Data : 6F,07,84,05,44,44,46,30,31,90,00, 
Send Data : 80,E0,00,00,07,3F,01,8F,95,F0,FF,FF, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,39,F0,F0,33,55,11,22,33,44,55,66,77,88, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,3F,F0,F0,00,00,3F,02,3F,02,3F,02,3F,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,3D,F0,F0,00,01,3D,02,3D,02,3D,02,3D,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,3E,F0,F0,00,01,3E,02,3E,02,3E,02,3E,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,00,0D,3C,F0,F0,00,01,3C,02,3C,02,3C,02,3C,02, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,0D,36,F0,F0,FF,55,01,02,03,04,05,06,07,08, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,0D,38,F0,F0,FF,55,01,02,03,04,05,06,07,08, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,08,3A,F0,EF,44,55,12,34,56, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,0D,37,F0,F0,FF,55,11,22,33,44,55,66,77,88, 
Recv Data : 90,00, 
Send Data : 80,D4,01,01,0D,32,F0,F0,00,01,32,02,32,02,32,02,32,02, 
Recv Data : 90,00, 
Send Data : 80,E0,00,02,07,2F,02,08,F0,00,FF,18, 
Recv Data : 90,00, 
Send Data : 80,E0,00,15,07,A8,00,1E,F0,F0,FF,02, 
Recv Data : 90,00, 
Send Data : 80,E0,00,16,07,A8,00,27,F0,F0,FF,02, 
Recv Data : 90,00, 
Send Data : 80,E0,00,18,07,2E,0A,17,F1,EF,FF,FF, 
Recv Data : 90,00,

复旦1208非接触CPU卡操作DEMO指令

厂家初始设定外部认证密钥为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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

6 建立电子钱包DF 
80E03F010D380520F0F095FFFF4444463031 
//80E03F01113804FFF0FA95FFFFA00000000386980701 
文件ID 82 select file 返回为0002 
文件标示 3F01 
空间大小 0520 
DF名称 DDF01

6.5 选择电子钱包DF 00A40000023F01

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

9 建立钱包文件 
80E00002072F0208F000FF18

10 建立钱包应用基本数据文件A8 
80E0001507A8001EF0F0FF02 
//80E0001507A8001EF0F0FFFF 
11 建立钱包持卡人基本数据文件A8 
80E0001607A80027F0F0FF02 
//80E0001607A80037F0F0FFFF 
12 建立交易明细文件2E 
80E00018072E0A17F1EFFFFF 
//80E00017072A0A10F0F0FFFF

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值