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