以下操作,主要为验证一个问题,文件读写权限的控制,
主要涉及到卡片随机数获取、数据擦除、密钥文件建立与写入、
文件、文件夹的建立、读写。
智能卡型号:复旦微电子FM1216-109
理论上复旦微电子的FM12XX系列都可以实现类似效果,因为卡片内部COS都是FM2.0。
关于读写权限:
官方文档及网络资料指出:
文件的访问权限吗,在文件创建时候用一个 byte 指定。
例如[X][Y],XY表示需要的安全状态级别,X,Y取值范围:
X \in [0,F], Y \in [0,F]
例如:
某文件的读写权限,读:F0,写:F1
即表示读文件无需权限,写需要安全状态寄存器的值大于1。
安全寄存器的状态值可以通过外部认证或者内部认证改变。
认证密钥创建时,指定了操作成功后的持续状态,这个持续状态,就是认证成功后、所改变的安全状态寄存器的状态值。
文件在初次创建时,读写并没有限制,
但是一旦断开连接或者重置,就会有权限要求
取八位随机数: 00 84 00 00 08
00 84 00 00 08
< FC CF 1F B5 DE A4 73 DD 90 00 : Normal processing.
0082000008D5F5690D198ABD6B
00 82 00 00 08 D5 F5 69 0D 19 8A BD 6B
< 90 00 : Normal processing.
擦除: 80 0E 00 00 00
80 0E 00 00 00
< 90 00 : Normal processing.
选择主目录: 00 A4 00 00 00
00 A4 00 00 00
< 61 12 : 0x12 bytes of response still available.
创建密钥文件: 80 E0 00 00 07 3F 00 FF 01 F0 FF FF
80 E0 00 00 07 3F 00 FF 01 F0 FF FF
< 90 00 : Normal processing.
写入外部验证密钥: 80 D4 01 00 0D 39 F0 F0 AA FF 12 34 56 78 12 34 56 78
80 D4 01 00 0D 39 F0 F0 AA FF 12 34 56 78 12 34 56 78
< 90 00 : Normal processing.
创建文件15,读写权限F0: 80 E0 00 15 07 28 00 FF F0 F0 FF FF
80 E0 00 15 07 28 00 FF F0 F0 FF FF
< 90 00 : Normal processing.
选择文件15: 00 A4 00 0