關于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.1118gp.net/DownloadShow.asp?ID=33