MIFARE

恩智浦半導體擁有一系列廣泛用於非接觸式智能卡和感應卡的芯片商標

MIFARE恩智浦半導體公司(NXP Semiconductors)擁有的一系列非接觸式智能卡近傍型卡技術的註冊商標。

MIFARE Logo

MIFARE包括一系列依循ISO/IEC 14443-A規格,利用無線射頻識別(頻率為13.56MHz)的多種非接觸式智能卡專有解決方案。這項技術是最早是1994年由米克朗英語Mikron集團(Mikron Group)開發,在1998年轉售給飛利浦電子公司(2006年拆分成為恩智浦半導體公司)。近年來MIFARE已經普遍在日常生活當中使用,如大眾運輸系統付費、商店小額消費、門禁安全系統、借書證等。

發展歷史

 
MIFARE 1K
  • 1994 — MIFARE Classic 1K,非接觸式讀取技術開發成功。
  • 1996 — 韓國首爾市地鐵成為首個採用MIFARE的商轉系統。
  • 1997 — MIFARE Pro,相容接觸與非接觸式的智能卡,並採用了3DES協同處理器(coprocessor)機制。
  • 1999 — MIFARE Pro X,開發完成公開金鑰基礎建設(PKI)機制。
  • 2001 — MIFARE UltraLight規格開發成功。
  • 2002 — MIFARE DESFire,開發以微處理器(microprocessor)為基礎的產品。
  • 2004 — MIFARE DESFire SAM,增強了MIFARE DESFire的安全基礎架構連接。
  • 2006 — MIFARE DESFire EV1,第一個支援128bit 進階加密標準(AES)的產品。
  • 2008 — MIFARE Plus,替換MIFARE Classic使用的128bit AES。
  • 2008 — MIFARE Ultralight C,內建有三重數據加密演算法驗證的紙質票證IC(Paperticket IC)。
  • 2010 — MIFARE SAM AV2,加入可讀取進階加密標準(AES)、三重數據加密演算法(3DS)、公開金鑰基礎架構(PKI)等安全金鑰的驗證機制。
  • 2012 — MIFARE Ultralight EV1,與MIFARE Ultralight相同的規格但是取消了加密功能。
  • 2013 — MIFARE DESFire EV2,更好的效能、保密性並且支援多種加密程式。
  • 2016 - MIFARE SDK改名為TapLinx,並改進產品支援。
  • 2020 - MIFARE DESFire EV3 推出
  • 2022 - MIFARE Ultralight AES 推出

MIFARE的名字由來是米克朗車資收費系統( MIkron FARE-collection System)組合而來,飛利浦電子公司在1998年收購了這項技術。

1994年,米克朗公司授權英飛凌 科技在MIFARE現有的基礎上開發新的機制。[1]。當時英飛凌取得的樣本規格是1K的記憶體容量 ,8、16、32位元的虛擬微處理器和USIM用的NFC裝置[2]

摩托羅拉公司曾經嘗試開發與MIFARE功能類似的接觸式晶片,原本該公司預估每個月有1百萬次的使用量,但是最後只有10萬次。以致最後放棄了這個產品 [3]

1998年飛利浦將MIFARE Classic技術授權給了日立製作所[4],該公司在1999年至2006為日本電信電話(NTT)開發了非接觸式智能卡的解決方案。另外為NTT開發的電話卡專案有3個合作夥伴(分別是:Tokin-Tamura-Siemens、日立製作所、電裝公司),原本規劃以MIFARE Classic授權為基礎進而開發出兩種大小不同容量的接觸式產品,但是最後只有完成大容量的產品。

2008年,NXP為日立製作所提供了包含MIFARE Plus及MIFARE DESFire2項技術,日立製作所的半導體部門也更名為瑞薩電子 [5]

2010年,NXP把MIFARE授權給金雅拓公司(Gemalto),2011年NPX授權法國歐貝特科技使用在SIM卡上。這些授權都是用來開發NFC領域的產品。

硬件架構及工作原理

MIFARE Ultralight MIFARE Classic MIFARE Plus MIFARE DESFire
MIFARE Ultralight EV1 MIFARE Ultralight C MIFARE Classic EV1 MIFARE Plus (S/X) MIFARE Plus SE MIFARE DESFire EV1 MIFARE DESFire EV2 MIFARE DESFire EV3
射頻介面 ISO/IEC 14443-2,TYPE A
通訊協定 ISO/IEC 14443-3 ISO/IEC 14443-3&4 ISO/IEC 14443-4
UID碼 UID:7位元組 UID:7位元組,RID:4位元組(無UID) UID:7位元組,RID:4位元組(無UID)
通訊速度 106Kbps 106Kbps-848Kbps
資料儲存容量 48bytes 128bytes 144bytes 1K、4Kbytes 2K、4Kbytes 256、2K、4K、8Kbytes 2K、4K、8Kbytes
驗證金鑰種類 TDES Crypto-1 Crypto-1AES TDESAES
機卡驗證類型 密碼 三重認證
機卡通訊加密類型 Encrypted Plain,Encrypted以及CMACed
共同準則認證類型
(Common Criteria Certification)
EAL4+ EAL4+ EAL5+

UID:唯一識別碼(Unique Identifier), RID:安全隨機識別碼(Random Security Identifier)

資料儲存區塊示意圖
區段 區塊 0 區塊 1 區塊 2 區塊 3
0 製造商代碼 資料區 資料區 金鑰、存取權限
1 資料區 資料區 資料區 金鑰、存取權限
2 資料區 資料區 資料區 金鑰、存取權限
: : : : :
14 資料區 資料區 資料區 金鑰、存取權限
15 資料區 資料區 資料區 金鑰、存取權限
  • 卡片架構:卡片上面有一組唯一識別碼、通訊介面(包含天線及調變解調器)以及一個ASIC裏面包含了通訊邏輯電路、加密控制邏輯電路與資料儲存區( EEPROM),可以作為電子錢包或其它門禁、差勤考核、借書證等用途。
    • 資料儲存區塊:可分16個區段(sector 0-15), 每個區段由4個區塊(block 0-3)組成,而每個區塊都是獨立的單元,每1個區塊的容量有16Byte。而每個區段的最後一個區塊則用來存放2組金鑰(KeyA、KeyB),以及金鑰對應各自的存取權限(Access bit)。
    • 每張卡片第一區段的第一區塊(sector 0,block 0)只能讀取無法寫入資料,稱為製造商代碼(Manufacturer Code), 第1-4byte為UID。第5byte為位元計數檢查碼(bit count check),其餘的存放卡片製造商的資料。所以每張卡片實際能使用的只有15個區段,即便如此也可用於15個不同的應用。
  • 讀寫卡機架構:讀卡器包含CPU、電源模組、讀(寫)模組、記憶模組、控制模組等,有些還有顯示模組、定時模組等其他模組。
  • 工作流程:當卡片接近讀寫卡機進入通訊天線的感應範圍(約2.5公分至10公分)之後,讀寫卡機便會提供微量電力(約達2伏特之後)驅動卡片上的電路。此時卡、機各以曼徹斯特編碼MANCHESTER Encoding)及米勒編碼英語Miller encodingMiller encoding)加密通訊內容後再以振幅偏移調變(Amplitude Shift Keying,ASK)透過調變解調器收發無線電波訊號互相驗證是否為正確卡片,如果驗證結果正確讀寫卡機就會確認要存取的資料儲存區塊,並對該區塊進行密碼校驗,在卡、 機三重認證無誤之後,就可以透過加密進行實際工作通訊。這個過程大約只需要0.1秒就可以完成。如果同時有多張卡片進入讀寫卡機感應範圍,讀寫卡機會將卡 片編號並選定1張卡片進行驗證直到完成所有卡片驗證(稱為防碰撞機制)或是離開感應範圍為止。
    • 卡 機三重認證步驟:1.卡片產生一個亂數RB傳送到讀卡器。2.讀卡器會將接收到的亂數RB依公式加密編碼後的TokenAB數值並傳送回卡片。3.卡片接 收到TokenAB後,會把加密部份解譯出來然後比對參數B、亂數RB。同時並依據收到的亂數RA,參照公式編碼後產生TokenBA傳送回讀卡器。4. 讀卡器接收到TokenBA後,又把加密過的部份解譯,比較亂數RB,RA與TokenBA中解出之RB、RA是否相符,正確的就可以完成指令(扣款、打 開門鎖或是登記其他事項)。

攻擊事件

2007年12月,在騷亂交流大會上Henryk Plötz和Karsten Nohl[6]發表了部分用於MIFARE晶片演算法上的逆向工程技術[7]

2008年3月,在荷蘭的奈梅亨大學(Radboud University Nijmegen)數碼安全研究群裏發表了利用逆向工程複製並且修改採用MIFARE Classic技術的電子票證OV卡(ov-chipkaart)上的餘額[8]。 奈梅亨大學發表了下列三篇關於MIFARE Classic的檔案:

恩智浦半導體曾經嘗試在荷蘭的法庭提出訴訟以阻止這些檔案發表,但是法官認為這屬於言論自由,便否決NXP公司所提[9][10]

2008年8月在第17屆高等計算系統協會(USENIX)中有另外一份講述如何利用逆向工程的程式發表[11]

臺大電機教授示範竄改悠遊卡:2010年7月,臺灣大學電機系教授鄭振牟團隊使用改進過的監聽封包(Sniffer-Based)的攻擊手法攻擊Mifare卡。將1張正常使用中的悠遊卡,將餘額從正100多元,更改成為負五百多元[12]

資安顧問竄改悠遊卡:2011年7月,某科技公司一名24歲資安顧問,宣稱在美國網站購買讀寫卡機,再下載美國學生破解波士頓地鐵查理卡(Charlie Card)的文章後花了四個月的時間撰寫程式,破解悠遊卡防護系統,以自製讀寫卡機為悠遊卡竄改加值成功並盜刷六次[13]

相關條目

參考

  1. ^ SIEMENS AND MIKRON AGREE LICENSING DEAL. telecompaper. 1994-04-07 [2015-10-26]. (原始內容存檔於2019-06-11). 
  2. ^ Infineon Adds Security and Convenience to SIM Cards for NFC Applications. Infineon. 2007-11-13 [2015-10-26]. (原始內容存檔於2016-06-28). 
  3. ^ Motorola sets smart card targets. Cnet. 2002-01-02 [2015-10-26]. (原始內容存檔於2019-06-29). 
  4. ^ SMART CARD NEWS-Banksys Offers Stakas in Proton Purse Technolgy (PDF). Cnet. 1998-02-01 [2015-10-26]. (原始內容存檔 (PDF)於2013-11-02). 
  5. ^ Renesas and NXP announce licensing agreement on MIFARE contactless technology. NXP Semiconductors. 2008-11-03 [2015-10-26]. (原始內容存檔於2015-09-30). 
  6. ^ Karsten Nohl的個人網頁. [2015-10-26]. (原始內容存檔於2020-02-04). 
  7. ^ Nohl, Karsten; Henryk Plötz. Mifare: Little Security, Despite Obscurity. Chaos Communication Congress. [2015-10-26]. (原始內容存檔於2018-11-26). 
  8. ^ Digital Security Group publisher=Radboud University Nijmegen. Security Flaw in Mifare Classic (PDF). 2008-03-12 [2015-10-26]. (原始內容存檔 (PDF)於2016-12-23). 
  9. ^ Arnhem Court Judge Services. Pronunciation, Primary Claim. Rechtbank Arnhem. 2008-07-18 [2015-10-26]. (原始內容存檔於2012-02-15). 
  10. ^ Judge denies NXP's injunction against security researchers. The Standard. 2008-07-18 [2015-10-26]. (原始內容存檔於2009-01-05). 
  11. ^ Nohl, Karsten; David Evans. Reverse-Engineering a Cryptographic RFID Tag. Proceedings of the 17th USENIX Security Symposium. 2008-08-01 [2015-10-26]. (原始內容存檔於2011-06-08). 
  12. ^ 臺大電機教授示範無線竄改悠遊卡金額. iThome. 2010-09-01 [2015-10-26]. (原始內容存檔於2019-06-13). 
  13. ^ 天才駭客破解悠遊卡 盜刷39元. 蘋果日報. 2011-09-28 [2015-10-26]. (原始內容存檔於2017-09-14). 

外部連結