MIFARE非接觸式智慧卡系統建置設計 智慧應用 影音
技鋼
Event

MIFARE非接觸式智慧卡系統建置設計

  • DIGITIMES企劃

未封裝之MIFARE天線與晶片外觀。
未封裝之MIFARE天線與晶片外觀。

前言:在今日,RFID應用已深入生活各個層面,從產品生產端可以利用RFID改善生產控管、發揮生產履歷全程監控效益,而在應用端可作為商品真偽辨識,生活中早已習以為常的大眾運輸工具票卡系統、身分驗證,都已被各式RFID技術整合、簡化其應用程序,甚至達到更便利、快速的應用成效…

本文:
以往使用的接觸式磁卡,往往能儲存的資料容量不到1 Kbyte,加上磁條卡易受熱源、磁力、表面磨損…等外力影響,智慧卡中的IC晶片已具備CMOS處理晶片,也有屬於卡片自有的儲存空間(至少128 Kbyte),但這些改善都還不算是全面改用智慧卡的關鍵。新一代的智慧卡已整合非接觸式感應技術、內建3DES驗證技術、可驗證PIN碼、可與端末設備進行卡片驗證、可提供電子簽章、具邏輯運算能力
使用壽命長達10年…等多項優勢,成為目前塑膠貨幣、身分驗證、電子票券的主流應用技術。

MIFARE卡是目前台灣使用最廣的RFID近距離、非接觸式智慧卡解決方案,舉凡台北捷運悠遊卡系統、企業/機關的身分識別證,幾乎只要是非單純感應卡應用,就看得到MIFARE卡的蹤影,相關開發資源與解決方案,自然較其他產品來得更豐富許多。

MIFARE非接觸式智慧卡內部結構。Procontrol Electronics

MIFARE非接觸式智慧卡內部結構。Procontrol Electronics

表2-1-MIFARE UltraLight、MIFARE Pro X規格比較

表2-1-MIFARE UltraLight、MIFARE Pro X規格比較

MIFARE 1卡片內部硬體架構

MIFARE 1卡片內部硬體架構

MIFARE非接觸式智慧卡運作方式

MIFARE非接觸式智慧卡運作方式

CRC錯誤檢查驗證

CRC錯誤檢查驗證

MIFARE卡背景資訊

MIFARE是荷蘭商PHILIP公司所設計、開發的非接觸式智慧卡,其設計是遵循ISO 14443A規格,MIFARE卡系列,也有針對應用差異而提供多種規格可選,包括MIFARE 1、MIFARE UltraLight、MIFARE Pro X…等不同規格樣式。

雖然MIFARE具傳輸速度優勢,但在實務設計裡,若卡片通訊速率為106 Kbit/Sec,於軟體控制傳輸與同步CRC偵錯條件下,傳輸速率將降到僅有5~6 Kbit/Sec,甚至在傳輸過程中再加入防碰撞演算法,傳輸效能表現將會影響更多。MIFARE Pro X由於其加密演算是以3DES硬體運算,實際運作速度將是軟體DES的10倍以上,運作效能會大幅提昇。而安全性也是MIFARE卡的極大優勢,以MIFARE Pro X為例,資料傳輸過程就經過來回3次驗證,MIFARE Pro X採硬體運作方式實現,具高速、安全優勢。

智慧卡必須考量防碰撞演算法,其目的是為避免單一讀卡機同時出現多張智慧卡感應的防呆機制,而讀取正確性不會受其他智慧卡干擾,甚至是當使用者皮夾中同時有多張智慧卡時,直接整個皮夾拿到讀卡機上進行感應、傳輸,MIFARE智慧卡仍會自動完成傳輸,而不會受其他智慧卡影響。由於MIFARE智慧卡的防碰撞技術建構在硬體之上,不同於以軟體建構防碰撞演算法的ISO 14443B,因此MIFARE的防碰撞效能與辨識能力更強。

MIFARE卡的用途相當多元,由於每張MIFARE卡的記憶區塊均配置金鑰設計,對於系統開發應用功能,可輕鬆規劃具電子錢包或是多重加密應用的開發基礎,系統開發商可利用此實踐多重資料加密設計,或是在單張智慧卡整合多服務功能甚至多服務商業務。

MIFARE多儲存區特色,相較其他非接觸式智慧卡而言,更適合用於一卡整合多項功能應用!尤其是將不同領域智慧卡整合,相關服務可由多家廠商交互授權合作,建構更完善、強大的應用系統。MIFARE所具備的多儲存區與對應金鑰設計,可以在當卡片提供多業務整合時,區隔不同服務操作讀寫的關鍵設計,例如A廠商的資料不致於被B廠商讀取,或是其進階金流服務提供更多個人化服務,透過分區儲存,也可釐清問題出自何處,避免多用途智慧卡的衍生使用爭議。

◎MIFARE 1 S50/S70

MIFARE 1是MIFARE卡基本規格化的產品,有具備1 Kbyte EEPROM的S50款式,也有具備4 Kbyte EEPROM的S70款式。從規格面向觀察,MIFARE 1 S50比S70款在EEPROM可用空間稍微較少一些,但卻具備卡片成本較低優勢。在實務開發設計中,S70可作為系統開發初期的樣品開發用途,但若要量化使用,還是選用較具成本優勢的S50款式為佳,光是卡片成熟度與單價,就比S70更成熟、單價更低。

MIFARE 1 S70的EEPROM規劃與S50款略有差異,其4 Kbyte EEPROM分割為40個儲存區域(Sector),其中32個儲存區再區分為16個儲存欄(Block),其餘8個儲存區再區分為16個儲存欄,而每1組儲存區都有專屬控制欄(Sector Trailer),每1組控制欄均提供2組金鑰給使用者運用。

MIFARE 1 S50的EEPROM規劃, 其1Kbyte EEPROM分割為16個儲存區域,其中1個儲存區再區分為4個儲存欄,1儲存欄具16 byte,而每1組儲存區都有專屬控制欄,每1組控制欄具2組金鑰。

◎MIFARE UltraLight

MIFARE UltraLight原為延續 MIFARE Light產品,比MIFARE 1提供儲存容量更小,屬於單純化應用環境的MIFARE卡,例如,可用於電子收費、票券…等用途,硬體架構方面,MIFARE UltraLight與 MIFARE 1除儲存空間架構略有差異,其餘完全相同,當然MIFARE UltraLight也提供卡片唯一序號、認證安全機制、存取權控制、資料傳輸安全機制…等,而MIFARE UltraLight僅提供384bit儲存用EEPROM。


◎MIFARE Pro X

MIFARE Pro X屬於非接觸式/接觸式雙用智慧卡設計,也是延續MIFARE Pro的進階產品。MIFARE Pro X內建低功耗處理器,處理器內含3DES(Trible-DES)輔助運算單元,可強化資料傳輸安全機制,具備安全性高、速度快(因利用硬體加速加密運算),硬體規格部分也提供更彈性的儲存空間配置,如內建8 Kbyte EEPROM、48 Kbyte ROM與1.3 Kbyte RAM,最常見的應用為需較高安全控管要求較高的電子錢包或其他非接觸式智慧卡應用。

MIFARE硬體架構

MIFARE卡的硬體架構主要分成RF、Digital Control Unit、EEPROM 3大區塊,如果是MIFARE Pro X卡儲存區塊略微不同(即增加ROM與RAM)。其IC晶片以使用CMOS為主。

RF通訊介面:

此處包含天線、調變/解調器,功能應用是用來處理卡片與讀卡機間無線通訊傳輸資料解讀,這部份具備接收/轉換電磁能量的電壓調整與能量控制迴路,是用以提供卡片晶片運作電源的重要電路。

Digital Control Unit:

此部份電路需取自經由RF通訊介面轉換的能量才能運作,此外,經RF通訊介面取得之傳輸資料,也會經CMOS晶片運算,進行加密、解密、認證…等應用,實踐如安全控管、票券驗證…等應用。

儲存單元(EEPROM):

MIFARE 1為單純的EEPROM設置,前述亦也有說明,MIFARE卡的記憶區具金鑰設計,可整合多元智慧卡應用,儲存容量越高能整合相關服務的彈性也就越大。此外,MIFARE Pro X卡則提供更多儲存選擇,詳細內容可參閱MIFARE卡比較表。

智慧卡通訊設計

非接觸式智慧卡,為達其不用接觸就能交換卡片與讀卡機間資訊之目的,則必須透過RF技術實現。分析非接觸式智慧卡與讀卡機間的資料交換可以發現,傳輸方式主要分成讀卡機對智慧卡與智慧卡對讀卡機2種資料交換方式。以MIFARE卡為例,讀卡機為採用Miller編碼進行數位轉類比訊號編碼程序後,再將編碼完成的訊息以ASK(Amplitude Shift Keying)調變發射訊號,將資料自讀卡機送至卡片。反之,卡片對讀卡機部分傳輸方式,則是將卡片內晶片運算結果,以Manchester編碼將數位轉類比訊號,再以ASK調變將訊號發送至讀卡機接收。

而讀卡機與卡片間的傳輸與讀寫過程,全程將以加密過的密文進行發送、接收。其傳輸機制為先由讀卡機傳送一Token給非接觸式智慧卡,當非接觸式智慧卡接收到Token時,透過內建CPU進行Token本文之解密程序,解密同時針對RC確認資料正確性,若內容正確則表示Token為合法未經修改內容,隨後再依系統設計回應運算內容。回應則透過RF傳送Token予讀卡機,此時讀卡機接收Token後同樣針對接收資料驗證RC與RRWD、SNR是否正確無誤,若過程均呈現正常時,讀卡機與非接觸式智慧卡才會完成交易內容。

錯誤檢查驗證設計

非接觸式智慧卡雖有不用接觸的設計優勢,但實際上卻會因透過無線傳輸達成,反而會使傳輸過程徒增許多變數,例如,無線電干擾、資料接收不全、資料流失…等技術問題待解。而通訊過程中極可能因外在環境條件而產生干擾錯誤,最佳的作法是導入錯誤檢查(Error Checking)並搭配循序冗餘檢查(Cyclic Redundancy Check;CRC)驗證,透過CRC進行資料錯誤偵測。

理論上CRC設計十分簡單,演算過程只需要除法運算即可實現,資料經由CRC運算後的餘數就是CRC數值,而處理過程再經由多工器切換,讓原始資料與CRC資料運算整合發送,即是實現在資料中附加CRC驗證碼的實務設計。

整合硬體安全機制

智慧卡的推出背景,就是為了解決磁條卡的不穩定性與安全問題而開發,實務設計中其實對於硬體安全要求,也是考量非接觸式智慧卡解決方案與進階設計的關鍵。關於硬體的安全機制,非接觸式智慧卡內的CMOS晶片設計,與一般微處理器設計目標不同,以智慧卡的應用目標,卡內處理器應該具備能防止可能遭受到的攻擊與試探,因此安全要求更高。

非接觸式智慧卡晶片必須具備電壓偵測器,當電壓過低時,應針對晶片邏輯系統自動停止回應,因為低電壓狀態下智慧卡本身可能沒有足夠的電力完成EEPROM的讀/寫程序,若任意讓邏輯電路持續運行,將導致非接觸式智慧卡比對、驗證密碼時,出現無法變更密碼錯誤計數器的疑慮,使有心人得以利用反覆嘗試錯誤方式比對找出真正密碼。

智慧卡若能內建時脈偵測器,透過時脈偵測器可以防堵外部刻意壓低智慧卡頻率,用以偵測、解譯非接觸式智慧卡對外部的資料傳輸內容。智慧卡內部的實體晶片也是安全關鍵,為避免非接觸式智慧卡可能經拆解、分析晶片邏輯系統,而造成資料外洩,智慧卡若具備曝光感應器,當晶片被強制拆解分析時,即可強制控制內部邏輯系統停擺,避免晶片內部資訊被解密取出。因應破解技術常見的逆向工程手法,非接觸式智慧卡如果能提供更積極因應措施,安全性將更能向上提升。例如內建解剖感應器,當發生智慧卡外殼遭外力拆解,晶片經逆向工程方式檢視時,晶片就可針對EEPROM進行資料保全動作。

此外,常見的分析方式也有檢測記憶體電路的電壓高/低反應,借此找出讀/寫內容,此部份技術防堵可以利用虛設記憶體解決,例如在一般電路中安排虛設記憶體,並讓虛設記憶體與不同資料讀/寫耗用相同電源,讓有心破解者無從下手。至於常見儲存記憶體操作方式為循序記錄,若能搭配特殊的動態位址記錄,即便外部使用者已成功解讀記憶體內的記錄資訊,因原有的資料已經特殊排列寫入,取得資料也是相對無意義的資訊。

建構認證安全機制

根據系統選用的非接觸式智慧卡差異,其安全機制也會略微不同,但基本上認證機制多數採ISO 9798-2的驗證流程,確保智慧卡與讀卡設備雙方的身分合法性與驗證結果正確性。此外,不同智慧卡的硬體安全機制亦有不同設計。例如,多數非接觸式智慧卡的EEPROM會有不同安全性設置,如前面曾提及Legic、Felica卡將儲存區塊分成系統區與使用者區,而本文討論重心MIFARE智慧卡,在每個記憶區則追加獨立金鑰設計,Temic卡則採用戶自定…等差異。

以MIFARE為例,EEPROM每個資料區塊附加金鑰設計,僅有金鑰經認證確認後才能執行讀/寫操作,金鑰的鍵值為該資料區塊能否運作的關鍵,而該區塊的運作限制(如唯讀或可讀/寫),則是檢視控制區塊所賦予的權限內容為主。例如,金鑰鍵值設定為認證成功、存取權限為唯讀時,使用者僅能針對該資料區進行讀取動作。

一般而言,想讀取非接觸式智慧卡內的資料內容,讀卡機與卡片間必須先完成認證機制才能進入資料交換程序,這也是非接觸式智慧卡安全功能的設計關鍵。一般非接觸式智慧卡安全認證方式為,先由非接觸式智慧卡內部晶片產生1個亂數RC資訊給讀卡設備,讀卡設備透過RF無線傳輸接收到RC資料與卡片序號SNR、加密碼鍵值與產生加密驗證碼。而卡片接收到驗證碼後,將驗證碼解密得到卡片序號,同時讀卡機檢查RC資料若相同,表示卡片與讀卡設備均無誤。隨後,讀卡機再傳送加密鍵值與驗證碼,確認相同表示讀卡機對卡片的認證無誤。此流程為ISO 9798-2的認證程序,為3次來回驗證(Three Pass Authentication)。

其他安全控管機制

即便非接觸式智慧卡,已提供如3DES、金鑰…等多重加密、認證機制,但實務上仍須考量多方安全控管機制搭配操作。因為只要是科技產品,設計再怎麼安全、完善,都免不了會有設計漏洞存在,開發者除需對資訊安全有概念,更不能過度依賴智慧卡提供的現成安全機制解決方案,必須在操作或是機制上提供更完善的安全設計,避免技術漏洞造成更大的營運損失。

技術上來說,要將設備的安全性提高,最簡單的方法就是將密碼加強,例如,加長密碼或採取更複雜的編碼驗證技術,但這種設計對於實務來說並不實際,過長密碼會造成驗證耗時或是儲存不易,新的作法也有搭配生物辨識達到強化安全性控管的設計方式,例如,搭配指紋辨識、指靜脈辨識…等。

如果要在現有硬體架構下,以不改變加密、認證機制條件下加強對金鑰鍵值的安全管控,尤其在規劃金鑰系統、金鑰產生、金鑰更新、金鑰持有…等設計方面建構更完善的認證系統,亦可強化非接觸式智慧卡的系統安全度。此外,對於金鑰與安全演算法,需採保密對策,讓智慧卡持用人無從得知其運作內容,搭配發卡控管與更縝密的發卡流程,減低有心人破解的機率。

此外,最務實的作法是在系統後台,加強稽核管理與防弊設計,例如,在電子錢包或電子票券應用上,若發現使用者的智慧卡一直未見儲值,卻總能不斷使用票券或有用不完的電子錢,這就是系統的後台弊端,應該針對這類詭異的系統現象,設定回饋通知與驗證機制,最簡單的方式是一經發現使用異常,就針對該卡進行停權管制、或同步列入黑名單並通知執法人員處理。


關鍵字
議題精選-無線傳輸專區