電子護照安全機制及測試

911事件之後,以安全防偽、航空保安和出入境管製為目標的機讀旅行證件技術不斷發展,電子護照就是其中之一。目前已有安全措施覆蓋芯片製造、生產印刷和簽發使用。電子化在帶來便利的同時也帶來了安全防偽抗攻擊的新課題,作為標準化產品,改變安全配置項意味著係統性升級改造。當前狀況適合采用哪種安全機制、如何驗證安全機制是否達到最初設計預期、如何兼容未來技術發展正成為焦點。本文結合電子護照的多種安全機制,分析其優缺點,給出了係統安全測試驗證解決方案,為電子護照產品的測試驗收、逐代推出和升級改造提供參考依據。

newmaker.com

電子護照安全機制

在ICAO製訂的標準DOC9303中,定義了兩類安全機制,即數據認證機制和訪問控製機制。數據認證機制包括被動認證(Passive Authentication,PA)和主動認證(Active Authentication,AA);訪問控製機制包括基本訪問控製(Basic Access Control,BAC)和擴展訪問控製(Extended Access Control,EAC),最近又基於PACE(Password Authenticated Connection Establishment)協議,作為BAC的補充製定了SAC(Supplemental Access Control)規範。在ICAO標準中,對PA/AA/BAC/SAC有明確定義並製定了詳細的測試標準,在歐洲BSI標準中則製訂了EAC相關標準,分別為EAC v1.11和EAC v2.0,另外製定了針對v1.11的測試標準EAC v1.12,EAC作為可選安全選項在荷蘭、比利時、芬蘭等國已使用,美英日尚未使用,默認接受克隆欺詐。

newmaker.com

基於以上安全機制,可將電子護照劃分為四代,第一代為明文,僅支持PA;第二代支持BAC/AA;第三代支持SAC;第四代支持EAC。其中第一代實現了電子化,但安全準確性由檢查係統(IS)來保證,明文通信易被偷聽和克隆;第二代加入了BAC或AA,BAC基於DES和Hash實現線路保護,AA則實現芯片真偽驗證,能防偷聽克隆;第三代引入SAC增強了BAC線路保護低熵特性,基於DH/ECDH算法建立了更強的線路保護;第四代為EAC,實現芯片身份真偽驗證並基於非對稱算法對檢查係統身份真偽進行驗證。目前實際發行國家多采用第二代BAC,而第四代EAC多在歐洲國家使用,第三代SAC剛出現不久,預計將會逐步取代第二代BAC。

電子護照安全機制的局限性

在安全防偽技術中,有三個要求:身份認證、數據保密性、數據完整性(見表1)。

newmaker.com

BAC通過挑戰應答協議實現,即以MRZ的哈希值為種子進行密鑰分散得到基本訪問密鑰對(KENC,KMAC), 然後通過GetChallenge和Mutual Authentication兩條指令實現挑戰應答協議,建立會話密鑰並結合包含隨機數的消息序列計數器進行基於對稱密鑰算法的線路保護。BAC的缺點是通過MRZ中的證件號、出生日期和有效期來生成共享密鑰,具有有限的隨機性且基於對稱密鑰算法,改進方法包括:MRZ要OCR讀二維條形碼而非目視;增加私鑰計算長度。

SAC基於PACE協議技術並通過引入非對稱算法建立跟密碼無關的更強的會話密鑰。當卡片既支持PACE又支持BAC時,必須使用PACE,通關檢查係統必須具有PACE功能。PACE協議中使用了DH或ECDH算法,這種算法也在EAC的CA(Chip Authentication)中使用,可以認為SAC正是ICAO將CA通過PACE協議形式引入的,這種技術仍是基於芯片運算的(需支持AES),故該功能在電子護照推廣中對芯片運算功能有要求。SAC的特點是采用密鑰交換算法,其有效性依賴於計算離散對數的難度,需要防重演攻擊和中間人攻擊,SAC采取的措施是通過隨機數來協商一個臨時全局參數用來防重演攻擊,認證令牌用來防中間人攻擊。 

EAC的特點是加入了證書期限並進行了管理,包括芯片認證(CA)和終端認證(TA)兩個步驟,其中CA是類似AA的技術,用於驗證電子護照中芯片的真實性,支持算法有:DH算法和ECDH算法,需要讀取DG14中公鑰信息通過密鑰交換算法產生新的加密通道用的密鑰對(KENC,KMAC);

newmaker.com

TA則用於認證外部終端並檢查權限是否可訪問敏感數據,在認證外部終端時通過CVCA->DV->IS的證書鏈形式來認證(其中CVCA=國家檢查CA->發布DV證書, DV=證件檢查機構->發布IS證書,IS=自動化邊防檢查係統->讀取護照芯片資料並做通關),認證過程中可能會更新芯片中某些信息如最新日期、EF.CVCA中的信任點甚至切換使用算法類型等,支持的算法有:RSA、RSA-PSS和ECDSA等。TA需要外部證書PKI係統甚至ICAO PKD的支持,該功能用於認證通關檢查係統或讀卡設備的合法性,實現了完整的雙向信任評價機制。

電子護照安全機制測試

目前電子護照認證測試仍依賴於國外第三方機構,且隨著CPU技術發展,破解密鑰所需時間越來越短而護照有效期長達5或10年,安全機制及測試仍需進一步研究和升級。此外,各國部署後支持的特征不太一樣,有的僅支持第一代PA,有的則支持到第二代BAC甚至第四代EAC,這種差異性也造成了安全漏洞。

本文給出的測試係統由RFID電子護照識讀係統、測試平台軟件、測試套件組成,具體見圖4。其中測試套件分為安全抗攻擊測試、一致性測試、兼容性測試。

newmaker.com

安全抗攻擊測試包括:RFID技術導致的近場隱蔽掃描;RFID技術導致的隱蔽跟蹤;14443協議層麵的抗攻擊測試;防克隆防略讀測試;防竊聽測試;持有人生物特征數據泄漏導致的安全漏洞;安全算法本身脆弱性測試。

該部分測試在一致性測試套件中並不涉及,與芯片攻擊測試不同,該部分是基於安全機制和經驗分享後的安全漏洞,是針對應用而言的,而芯片攻擊測試是基於硬件的,采用如SPA/DPA、SEMA/DEMA、DFA、時間分析攻擊/差分耗時攻擊等技術。

一致性測試即協議符合度測試,不同安全機制采用不同的安全測試標準。BAC一致性測試在ICAO測試規範中有詳細定義,主要包括:(1)Select和Read Binary兩條最小命令集指令(2)BAC保護模式和BAC未保護模式下使用這兩條指令分別讀16個LDS文件測試。在建立BAC會話密鑰中使用的另外兩條基本指令是Get Challenge和External Authentication。SAC尚未定義測試規範,可參照EAC中CA測試部分,下麵重點介紹EAC測試。

如圖5所示,實現EAC由幾個部分組成:PKD、國家電子護照簽發機構、國家電子護照驗證機構、支持EAC功能的電子護照。EAC測試分為EAC一致性測試、EAC護照和IS兼容性測試、PKD互用性測試。EAC本身不能阻止精確拷貝和芯片替換,有非對稱算法運算功能的芯片提供認證運算,而之外的所有設施均隻為提供證書管理和使用,最高層證書是由國家簽發驗證機構簽發的自簽名證書且在接收國為信任起點或證書鏈最高端。

newmaker.com

在PKD架構下實現的EAC一致性測試架構見圖5,實現了發證領證->國內海關(出關)->國外海關(入關)->國外海關(出關)->國內海關(入關)等操作的測試。國家B發行電子護照,該護照在本國的海關出關通過相應的IS檢查係統包含的證書鏈(CVCA(國家B)->國內DV->IS)驗證EAC,完成人臉指紋或虹膜的安全檢查,到國家A,則基於國家A的IS檢查係統的證書鏈(CVCA(國家B)->國外DV->IS)驗證EAC,完成人臉指紋或虹膜的安全檢查,返回國內則類似操作。ICAO PKD起到存儲共享作用。

BSI給出的EAC一致性測試結合EAC子過程CA/TA、證書鏈、訪問權限、日期信任點更新等測試點對安全機制進行符合度測試,依據是測試標準EAC v1.12,主要包括了如下幾個部分(表2)。

newmaker.com

測試係統從不同角度給出了安全機制的測試,兼容性測試關注的是卡機兼容問題,安全抗攻擊測試關注的是安全漏洞,而一致性測試則致力於協議符合度。測試係統需要隨著技術的不斷更新而不斷改進,一個持續改進的係統對產品的穩定性、安全性有積極意義。

本文小結

電子護照作為二代身 份證後的另一個重量級身份識別產品,必然要經曆不同階段的演化,尤其是安全機制,基於第二代BAC已是成熟技術,新引進的SAC作為第三代在實現上也已比較成熟,假以時日必能得到推廣,而歐洲標準EAC作為第四代和一種更為複雜的安全機制,必將引起重視並影響電子護照的發展和升級換代。

資料來源:自動化在線 Autooo.net

檢視次數: 4202

© 2024  
Taiwan Civil Government General Office
台灣民政府中央辦公廳
  Powered by

成員徽章  |  報告問題  |  服務條款