对于M1卡密钥控制字设置的总结

前段时间学习M1卡操作,对于密钥控制字专门研究了一番,这里做下总结,免得以后忘记。
M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,前3个块是数据区,第4块是密钥区。每个块都能存储16个字节的数据,密钥区的16个字节数据是有特殊含义的:
6个字节的密码A + 4个字节密钥控制位 + 6个字节的密码B
其中密钥控制位决定这个扇区的读写规则,对于M1卡密钥控制位及控制规则的说明,这篇文章里面讲述得很清楚了:
https://wenku.baidu.com/view/76afde36312b3169a451a4e6.html
这里只是给没有耐心看文章朋友提炼一下,控制字的组合方式虽然多,但实际用得比较多的方案自认为无外乎四种:

  1. 默认方式 控制位为“FF 07 80 69”
    这种方式下密钥A或密钥B都可以读写数据区,密钥A可写密钥区,优点是密钥控制字无需重新计算,读写方便,缺点是安全性能差,密钥A容易泄露。

  2. 密钥B写方式 控制位为“7F 07 88 69”
    这种方式下密钥A或密钥B都可以读写数据区,而对于密钥区只能由密钥B来写。优点是密钥B权限最高,只要知道密钥B,无论密钥A写成什么都可以改写,由最高管理员掌握密钥B,可下发多种密钥A的一般管理员,一般不会废卡的。缺点是密钥B很重要,一旦忘记,卡就不能再改写密钥了。

  3. A读B写方式 控制位为“08 77 8F 69”
    这种方式下由密钥A读密钥B来写,可以说是上面一种方式的变体,对于密钥B有更强的保护。

  4. 只读不写方式 控制位为“FF 00 F0 69”
    这种方式下密钥A或密钥B都可以读数据区,但都不能写数据区(数值可减少,不能增加),密钥A可以改写密钥区。这种方式对于数据是极大的保护,尤其是定额卡,里面的钱只能减少而不能增加。

以上是常用的几种控制方式,更多的组合方式可以利用“S50_Access.exe”工具来生成,我已经上传CSDN了:
https://download.csdn.net/download/xinxin_2011/10847468

猜你喜欢

转载自blog.csdn.net/xinxin_2011/article/details/84991576
m1