跳转到内容

MIFARE

本页使用了标题或全文手工转换
维基百科,自由的百科全书
MIFARE Logo

MIFARE恩智浦半導體公司(NXP Semiconductors)拥有的一系列非接觸式智慧卡近傍型卡技术的注册商标。

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). 

外部連結