Mifare Plus 卡片使用詳細說明
摘要
Mifare Plus
1. MIFARE PLUS 卡片簡介
MIFARE PLUS 卡片現(xiàn)在主要有如下幾個型號: PLUS SE(1KB), PLUS X(2KB/4KB), PLUS S(2KB/4KB), PLUS EV1(2KB/4KB), PLUS EV2(2KB/4KB)幾大類別??ㄌ栆卜謩e有4字節(jié)/7字節(jié)兩種。他們分為4個安全等級: Security Level0(SL0), Security Level1(SL1), Security Level2(SL2), Security Level3(SL3), 初始出廠安全等級為SL0, 支持ISOL3/L4指令, 明文非授權(quán)方式寫入初始密碼及其初始數(shù)據(jù), 支持切換到更高層級指令。MIFARE PLUS 卡片支持從低的安全層級切換到更高的安全層級,且切換不可逆,不能從高的安全層級切換到較低的安全層級。每個型號的卡片會存在一定的差異, 例如:
MIFARE PLUS-X 和 MIFARE Plus-S(SE))的差異如下:

MIFARE Plus-S不支持SL2,因此寫入 Level2 switch Key (密鑰地址9002h)會失敗。根據(jù)這一點,在個人化階段就可以判斷卡類型是Plus-X還是Plus-S。
MIFARE PLUS卡可以兼容MIFARE CLASSIC卡(S50/S70)。它的激活分為兩種,一個是14443-3的激活(ISO_L3激活),一個是激活是14443-4激活(ISO_L4激活)。每個層級激活方式和具體操作有關(guān),詳細信息需參考官方手冊。
MIFARE PLUS 卡片存儲結(jié)構(gòu)如下:


以容量1k 的mifare plus SE卡為例,它有16個扇區(qū),每個扇區(qū)4塊,每塊16字節(jié),支持等級SL0,SL1,SL3, 所以初始化時候,需要寫入0x9003和0x9004的升級密鑰,以及從0x40000到0x4001F的16個扇區(qū)的密鑰。然后調(diào)用提交初始化指令。需要注意的是,初始化前的激活方式ISO_L3和ISO_L4激活都可以。區(qū)別就是ISO_L3激活后,指令底層與MIFARE CLASSIC卡通信方式一樣。ISO_L4激活后,通信方式與CPU卡或者說智能卡一樣,用半雙工方式通信。提交初始化后,PLUS卡的等級為SL1.
SL1兼容全部的MIFARE CLASSIC指令,包括讀寫值,讀寫塊,認證。但是需要注意的是,如果想要使用MIFARE CLASSIC卡的指令,那么應該使用ISO_L3激活,否則就會報錯。MIFARE CLASSIC卡就是經(jīng)典的MIFARE 卡,指令比較簡單,
SL1升級到SL3,需要對塊0x9003 KEY進行認證。認證分為第一次認證和后續(xù)認證,這里使用第一次認證,一般對數(shù)據(jù)塊扇區(qū)讀寫前進行第一次認證,切換扇區(qū)重新認證,對非數(shù)據(jù)庫扇區(qū)讀寫需要進行后續(xù)認證,比如修改某個扇區(qū)的密鑰塊。認證流程可以參考NXP的資料,雙方對隨機數(shù)進行加密和解密驗證。需要注意的是,在認證指令前的激活方式應該是ISO_L4激活。
升級到SL3后就可以執(zhí)行PLUS卡的加密讀寫指令。
2. MIFARE PLUS 卡片層級切換和操作說明
以下操作以北京友我科技有限公司YW-607HC為硬件及軟件基礎進行講解,且讀卡器軟件版本需要在V2.7或者以上。該軟件支持MIFARE PLUS S/X 層級切換和每個層級的讀寫卡操作, 支持MIFARE PLUS EV1/EV2 層級切換及 SL0/SL1對卡的操做,暫時不支持對SL2/SL3對卡片的讀寫操作。

Connect Reader: 連接讀卡器,操作卡片前需要連接讀卡器.
Disconnect: 斷開讀卡器連接
SearchCard: ISO_L3激活卡片,可以獲取卡片卡號信息
ResetActiveCard:ISO_L4激活卡片,可以獲取卡號及復位信息
2.1 Security Level0 操作
Level 0 是 Plus CPU 卡的出廠模式,用戶不能直接使用,必須經(jīng)過升級操作升級到相應 等級才允許用戶使用。 點擊界面切換按鈕Level 0,將操作界面切換到Plus CPU卡的Level 0操作界面。界面 如圖 下所示:

列表中列出了待寫入的默認密鑰.
Modify All Keys For: 修改列表中所有的密鑰為該按鈕后面框里面的密鑰,也可以單獨到列表框中單獨修改某個密鑰,密鑰長度為16字節(jié).
Write All Default Key: 將列表框中的密鑰寫入到卡片中,列表框Status欄位顯示綠色,表示該地址密鑰寫入成功,若為紅色表示該列表框密鑰寫入失敗,失敗原因可能是該卡不支持該地址密鑰,假如所有密鑰都寫 入失敗則可能是該卡不是MIFARE PLUS卡片,或者MIFARE PLUS 卡片已經(jīng)不在LEVEL0層級,在我們執(zhí)行SWITCH之前必須先執(zhí)行完該按鈕功能.
Switch TO Level1: 將卡片切換到LEVEL1, 在執(zhí)行該功能前,需先寫入默認密鑰
Switch To Level3: 一鍵將卡片從LEVEL0切換到LEVEL3,實際里面包括多安全層級轉(zhuǎn)換.
以PLUS S 2K卡為列:

2.2 Security Level1 操作
Level 1 卡片兼容MIFARE S50/S70 卡片,執(zhí)行 ISO_L3激活卡片,可以完全兼容MIFARE CLASSIC 卡片讀寫操作. 界面如下:

在執(zhí)行ISO_L3 激活后,可以執(zhí)行如下操作:
Read Sector: 讀扇區(qū)操作
Write Sector: 寫扇區(qū)操作
當讓兼容S50/S70的所有操作,包括錢包值塊操作,這里軟件未列出.
在執(zhí)行ISO_L4激活卡后,可以執(zhí)行如下操作:
SwitchToLevel2: 切換到Level2
SwitchToLevel3: 切換到Level3,假如卡片在Level2層級,也通過這個按鈕切換到Level3,在Level3就沒單獨列出按鈕切換.
切換之前要保證切換到每個層級的密鑰正確.
2.3 Security Level2 操作
Level2層級是介于Level1和Level3的安全層級,在ISO_L3激活卡片后,除了卡片授權(quán)不同外,其他兼容MIFARE CLASSIC 卡片操作(S50/S70),ISO_L3激活卡片后,需要先進行AES授權(quán),然后才能用MIFARE CLASSIC 中扇區(qū)授權(quán)指令,然后才能兼容指令讀寫卡,值塊操作,且MIFARE PLUS 在該層級增加2個指令是:扇區(qū)讀和扇區(qū)寫.界面如下:

若有從LEVEL2切換到LEVEL3, 請用Level1層級中SwitchToLevel3按鈕切換.
2.4 Security Level3 操作
Level3 層級是PLUS 最高安全層級,該層級所卡片操作都需要ISO_L4激活卡片,所有讀寫操作都需要AES Key執(zhí)行授權(quán),操作界面如下:

2.5 修改卡片相關(guān)配置
主要用于修改各個密鑰塊,主要包括Master Key, configuration Key,Level3 switch key, 各個扇區(qū)的AES key,操作界面如下圖:


