關(guān)于IC卡密鑰理解和修改(中級(jí)篇)
關(guān)于普通IC卡密鑰,簡(jiǎn)易篇已經(jīng)講述了簡(jiǎn)單的使用密鑰的方式.這種加密方式簡(jiǎn)單, 也不需要過(guò)多的邏輯,使用方便.對(duì)于普通使用場(chǎng)合夠用了.此篇我們來(lái)說(shuō)說(shuō)密鑰密鑰的高級(jí)設(shè)置,如何配置密鑰控制字.
IC卡讀寫(xiě)器還是不可少, 我們推薦使用NFC讀寫(xiě)器YW-607HC或者IC卡讀卡器YW-605HA,不僅支持windows應(yīng)用程序,也支持chrome等瀏覽器web的BS架構(gòu)程序,同時(shí)支持安卓和linux的開(kāi)發(fā),可以說(shuō)是一款非常全面的讀卡器.
每個(gè)扇區(qū)的最后一個(gè)數(shù)據(jù)塊為密鑰塊,密鑰塊的結(jié)構(gòu)為:
A密鑰(6字節(jié))+密鑰控制字(4字節(jié))+B密鑰(6字節(jié)),例如 FFFFFFFFFFFF FF078069 FFFFFFFFFFFF
中間的4個(gè)字節(jié)為密鑰控制字,所謂密鑰控制字一定用來(lái)控制密鑰的權(quán)限的,那么有哪些權(quán)限可以控制呢?
1.對(duì)于非密鑰塊的權(quán)限
1.1 數(shù)據(jù)可讀
1.2 數(shù)據(jù)可寫(xiě)
1.3 數(shù)據(jù)不可讀也不可寫(xiě)
1.4 錢(qián)包可增加值
1.5 錢(qián)包可以減少值或者初始化
1.6 錢(qián)包不能操作(既不能增加值也不能減少值)
2.對(duì)于密鑰塊的權(quán)限
2.1 A密鑰可以讀出
2.2 A密鑰可以寫(xiě)
2.3 A密鑰不能讀也不能寫(xiě)
2.4 控制字可以讀出
2.5 控制字可以寫(xiě)
2.6 控制字不能讀也不能寫(xiě)
2.7 B密鑰可以讀出
2.8 B密鑰可以寫(xiě)
2.9 B密鑰不能讀也不能寫(xiě)
對(duì)于非密鑰數(shù)據(jù)塊IC卡給出了8種組合,用于控制其權(quán)限的選擇。
序號(hào) |
數(shù)據(jù)讀 |
數(shù)據(jù)寫(xiě) |
錢(qián)包增值 |
錢(qián)包減值或者初始化 |
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 |
不能 |
不能 |
不能 |
不能
|
|
對(duì)于密鑰塊的8種組合
序號(hào) |
密鑰A讀 |
密鑰A寫(xiě) |
控制字讀 |
控制字寫(xiě) |
密鑰B讀 |
密鑰B寫(xiě)
|
|
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密鑰 |
不能 |
不能 |
不能
|
|
通過(guò)以上的組合,按照選擇的序號(hào)按照位組合起來(lái),就形成了4字節(jié)的密鑰控制字,如果你覺(jué)得這樣太麻煩,你也可以使用友我科技免費(fèi)密鑰工具軟件。密鑰工具下載:http://www.yxqyj.com/DownloadShow.asp?ID=33