关于IC卡密钥理解和修改(中级篇)
关于普通IC卡密钥,简易篇已经讲述了简单的使用密钥的方式.这种加密方式简单, 也不需要过多的逻辑,使用方便.对于普通使用场合够用了.此篇我们来说说密钥密钥的高级设置,如何配置密钥控制字.
IC卡读写器还是不可少, 我们推荐使用NFC读写器YW-607HC或者IC卡读卡器YW-605HA,不仅支持windows应用程序,也支持chrome等浏览器web的BS架构程序,同时支持安卓和linux的开发,可以说是一款非常全面的读卡器.
每个扇区的最后一个数据块为密钥块,密钥块的结构为:
A密钥(6字节)+密钥控制字(4字节)+B密钥(6字节),例如 FFFFFFFFFFFF FF078069 FFFFFFFFFFFF
中间的4个字节为密钥控制字,所谓密钥控制字一定用来控制密钥的权限的,那么有哪些权限可以控制呢?
1.对于非密钥块的权限
1.1 数据可读
1.2 数据可写
1.3 数据不可读也不可写
1.4 钱包可增加值
1.5 钱包可以减少值或者初始化
1.6 钱包不能操作(既不能增加值也不能减少值)
2.对于密钥块的权限
2.1 A密钥可以读出
2.2 A密钥可以写
2.3 A密钥不能读也不能写
2.4 控制字可以读出
2.5 控制字可以写
2.6 控制字不能读也不能写
2.7 B密钥可以读出
2.8 B密钥可以写
2.9 B密钥不能读也不能写
对于非密钥数据块IC卡给出了8种组合,用于控制其权限的选择。
序号 |
数据读 |
数据写 |
钱包增值 |
钱包减值或者初始化 |
0 |
A密钥或者B密钥 |
A密钥或者B密钥 |
A密钥或者B密钥 |
A密钥或者B密钥 |
1 |
A密钥或者B密钥 |
不能 |
不能 |
A密钥或者B密钥
|
|
2 |
A密钥或者B密钥 |
不能 |
不能 不能
|
|
3 |
B密钥 |
B密钥 |
不能 |
不能
|
|
4 |
A密钥或者B密钥 |
B密钥 |
不能 |
不能
|
|
5 |
B密钥 |
不能 |
不能 |
不能
|
|
6 |
A密钥或者B密钥 |
B密钥 |
B密钥 |
A密钥或者B密钥
|
|
7 |
不能 |
不能 |
不能 |
不能
|
|
对于密钥块的8种组合
序号 |
密钥A读 |
密钥A写 |
控制字读 |
控制字写 |
密钥B读 |
密钥B写
|
|
0 |
不能 |
A密钥 |
A密钥 |
不能 |
A密钥 |
A密钥
|
|
1 |
不能 |
A密钥 |
A密钥 |
A密钥 |
A密钥 |
A密钥
|
|
2 |
不能 |
不能 |
A密钥 |
不能 |
A密钥 |
不能
|
|
3 |
不能 |
B密钥 |
A密钥或B密钥 |
B密钥 |
不能 |
B密钥
|
|
4 |
不能 |
B密钥 |
A密钥或B密钥 |
不能 |
不能 |
B密钥
|
|
5 |
不能 |
不能 |
A密钥或B密钥 |
B密钥 |
不能 |
不能
|
|
6 |
不能 |
不能 |
A密钥或B密钥 |
不能 |
不能 |
不能
|
|
7 |
不能 |
不能 |
A密钥或B密钥 |
不能 |
不能 |
不能
|
|
通过以上的组合,按照选择的序号按照位组合起来,就形成了4字节的密钥控制字,如果你觉得这样太麻烦,你也可以使用友我科技免费密钥工具软件。密钥工具下载:http://www.youwokeji.com.cn/DownloadShow.asp?ID=33