IC卡的內部結構(帶實例)
IC卡分64塊, 每4塊分成一組,組成一個扇區, 扇區是設置權限的最小單位。
扇區的前三塊用來存放數據, 第四塊用來存放權限。
一張空白卡的第四塊內容如下:
0,0,0,0,0,0, 255,7,128,105,255,255,255,255,255,255
第四塊結構:密碼A(6字節) 存取控制(4字節) 密碼B(6字節)
存取控制(4字節,第4字節備用)
每塊對應六bit,當中3bit屬正,3bit屬反,(正反配對做校驗用)共24bit。
255,7,128,105(備用塊,默認為0x69)
11111111 00000111 10000000 01101001
塊0: c10 c20 c30 c10_b c20_b c30_b
塊1: c11 c21 c31 c11_b c21_b c31_b
塊2: c12 c22 c32 c12_b c22_b c32_b
塊3: c13 c23 c33 c13_b c23_b c33_b
bit 7 6 5 4 3 2 1 0
字节6 C23_b C22_b C21_b C20_b C13_b C12_b C11_b C10_b
字节7 C13 C12 C11 C10 C33_b C32_b C31_b C30_b
字节8 C33 C32 C31 C30 C23 C22 C21 C20
控制位的分布是有規律的,比如
塊 3 2 1 0 3 2 1 0
[对数据块的操作]:
读 (Read):读一个块;
写 (Write):写一个块;
加(Increment):对数值块进行加值;
减(Decrement):对数值块进行减值;
存储(Restore):将块中的内容存到数据寄存器中;
传输(Transfer):将数据寄存器中的内容写入块中;
中止(Halt):将卡置于暂停工作状态;
每塊的權限實質由3bit來控制,3bit組合可產生9項權限。數據塊和控制塊有不同的權限表。
數據塊權限表:
Read Write Increment (Decrement Transfer Restore)
000 A|B A|B A|B A|B
010 A|B Never Never Never
100 A|B A|B Never Never
110 A|B A|B A|B A|B
001 A|B Never Never A|B
011 B B Never Never
101 KeyB Never Never Never
111 Never Never Never Never
(KeyA|B 表示密码A或密码B,Never表示任何条件下都不能实现)
控制塊權限表:
密码A 存取控制 密码B
Read Write Read Write Read Write
000 Never A|B A|B Never A|B A|B
010 Never Never A|B Never A|B Never
100 Never B A|B Never Never B
110 Never Never A|B Never Never Never
001 Never A|B A|B A|B A|B A|B
011 Never B A|B Never Never B
101 Never Never A|B Never Never Never
111 Never Never A|B Never Never Never
(KeyA|B 表示密码A或密码B,Never表示任何条件下都不能实现)
實例分析:
字节6:1111 1111
字节7:0000 0111
字节8:1000 0000
數據塊0:000 只要密碼A或B驗證通過就可以執行所有操作,包括讀和寫。
數據塊1:000 (同上)
數據塊2:000 (同上)
控制塊3:001 只要密碼A或B驗證通過就可以執行所有操作(除讀取A),包括讀和寫。
浙公网安备 33010602011771号