關于Mifare Desfire非接觸式卡詳解
- 2019-02-28 21:23:00
- 諾塔斯智能科技 原創
- 7734
MIFARE DESFire作為NXP恩智普公司新推出的一款非接觸式智能卡產品,符合ISO14443A-4協議標準,擁有多層加密算法,安全性更高,數據處理更快,應用更靈活等特點,很好地為一些安全等級較高的應用提供了保障,如公共交通-地鐵公交系統,城市一卡通系統,電子票據,銀行支付等,并將普及到其他各行各業中去。
與普通MF1 S50不同,DESFire的數據傳輸速率不僅支持最基本的106Kbps,還支持212Kbps和424Kbps;其數據傳送的加密方法也不再使用已經被破解的Crypto1加密流,而是使用更為安全的DES/3DES、AES加密,至少DES/3DES和AES已經經過了多年的公開檢驗,至今還沒有被破解。
DESFire的全球唯一序列號是7字節,支持ISO14443-4和ISO7816的部分協議。7字節的序列號要使用兩個防沖突循環才能讀出,第一輪防沖突循環卡片返回層級代碼0x88, UID的前3個字節SN0-SN2和校驗碼BCC0,第二輪防沖突循環返回UID的后4個字節SN3-SN6和校驗碼BCC1,SN0為制造商的ID號,NXP產品固定為16進制的04H.
DESFire有4K字節的非易失存儲空間,典型的寫時間為2ms(1ms擦除,1ms編程)。存儲空間的組織采用柔性文件系統,D40卡上可同時最多支持28種應用,每種應用用一個3字節的應用標識符(AID)表示,每種應用可以設置序號為0-13的最多14組不同的密碼,每種應用下可建立最多16個文件.
卡片支持5種不同的文件類型,每種類型使用一個字節的類型編碼來表示。文件類型及其編碼如下:
文件類型 | 類型編碼 |
標準數據文件 | 0x00 |
備份數據文件 | 0x01 |
帶有備份的值文件 | 0x02 |
帶有備份的線性記錄文 | 0x03 |
帶有備份的循環記錄文件 | 0x04 |
通訊模式 |
Bit7-bit2 |
Bit1 |
Bit0 |
明文通訊 |
RFU=0 |
忽略 |
0 |
具有DES/3DES MAC校驗的明文通訊 |
RFU=0 |
0 |
1 |
完全DES/3DES密文通訊 |
RFU=0 |
1 |
1 |
明文模式最簡單,就是直接傳送沒有加密的真值,一旦被截獲,黑客看到的就是真實信息;
帶有MAC校驗的明文傳輸也好不到哪里去,它是把要傳送的明文用CBC模式進行DES/3DES加密,把最后一步的8字節加密輸出結果中的前4字節稱為MAC校驗,加在要傳送的明文后面,前面的明文還是明文,只不過加了個校驗防止出錯而已;只有第三種完全DES/3DES密文通訊才對得起“DESFire”這個名字,這是真正的加密通訊。所有要傳送的密文先用CRC16進行校驗,然后明文連同CRC16校驗作為一個整體使用CBC模式的DES/3DES加密,傳送的是加密后的密文。黑客即使截獲了也看不懂,前提是不知道DES密碼。
前面敘述時經常用DES/3DES這個組合,那到底是DES還是3DES呢,二者的運算量和加密強度可是有天壤之別啊!這一點DESFire卡片采用了自動識別的方法。DES和3DES密鑰的長度都是16字節,如果前8字節與后8字節相同,則自動被作為DES運算;反之,如果前8字節與后8字節不同,則自動被作為3DES運算。
DES密鑰舉例:0x00 11 22 33 44 55 66 77 00 11 22 33 44 55 66 77
0x00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
3DES密鑰舉例:0x00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
0x00 11 22 33 44 55 66 77 00 00 00 00 00 00 01 00
0x00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
D40卡片的默認出廠設置為密鑰全0,單DES操作。
DESFire卡片可以為應用中的文件設置不同的讀寫權限,讀寫權限的意思就是讀或寫文件時是否需要驗證密碼,以及驗證哪一組密碼。讀寫權限使用2個字節的編碼來表示,2個字節共16個bit,每4個bit表示一種權限類型:
15 12 11 8 7 4 3 0
讀文件 要驗證的密碼 |
寫文件 要驗證的密碼 |
讀和寫文件 要驗證的密碼 |
修改文件的讀寫權限 要驗證的密碼 |
前面說了,每種應用可以有編號為0-13的最多14組不同的密碼,而4位二進制數可以表示0-15共16種組合。當4位權限碼的值為0-13時,表示執行相應的讀寫操作要驗證權限碼的值指向的一組密碼;當權限碼的值為14時,表示不用驗證任何密碼可直接讀寫;權限碼的值為15時表示凍結,就是不論什么條件也不讓讀寫了。
DESFire的卡片命令可以分為6大類:
(1)ISO14443-3 命令
(2)ISO14443-4 命令
(3)安全相關命令
(4)卡片級命令
(5)應用層命令
(6)數據操作命令
詳細的關于DESFire的卡片命令可以參考,DESFire的卡片手冊。點擊這里下載MIFARE DESFire EV1非接觸式多用途芯片 MIFARE DESFire EV1 2k 4k 8K 規格書。
聯系人: | 張經理 |
---|---|
電話: | 400-023-6659 |
傳真: | 023-68798110 |
Email: | 843718693@qq.com |
QQ: | 843718693 |
微信: | Lotus-Smart |
微博: | lotusreader |
旺旺: | 諾塔斯智能科技有限公司 |
地址: | 重慶市江北區宏帆路36號宏帆天地1棟6樓 |