程三偉 盛鋼 馮翔 張寧 上海通用識別技術(shù)研究所
電子護(hù)照通用讀取流程設(shè)計(jì)
程三偉 盛鋼 馮翔 張寧 上海通用識別技術(shù)研究所
介紹并分析了電子護(hù)照當(dāng)前和今后可能會出現(xiàn)的護(hù)照類型,在此基礎(chǔ)上設(shè)計(jì)了一種電子護(hù)照通用讀取流程,并針對第二代電子護(hù)照信息量大的特點(diǎn),增加了加速讀取設(shè)計(jì)。
電子護(hù)照 被動(dòng)認(rèn)證 基本訪問控制 主動(dòng)認(rèn)證 擴(kuò)展訪問控制 補(bǔ)充訪問控制
國際民航組織(ICAO)在ICAO9303文檔中規(guī)定了電子護(hù)照芯片應(yīng)采取的安全機(jī)制[1],主要有用于證明芯片內(nèi)容真實(shí)性的被動(dòng)認(rèn)證協(xié)議(PA)、用于防止不當(dāng)讀取和濫用的基本訪問控制協(xié)議(BAC)、用于防止芯片被替換的主動(dòng)認(rèn)證協(xié)議(AA)和用于防止對敏感生物特征(指紋或虹膜)非授權(quán)訪問的擴(kuò)展訪問控制協(xié)議(EAC)。其中EAC協(xié)議具體實(shí)現(xiàn)分為新加坡和歐盟兩種實(shí)現(xiàn)方式[2]。新加坡的EAC協(xié)議通過將指紋數(shù)據(jù)進(jìn)行3DES加密,加密密鑰經(jīng)過非對稱加密算法計(jì)算后存放在護(hù)照的DG13數(shù)據(jù)區(qū),授權(quán)方需獲得非對稱加密私鑰后通過私鑰解密獲取3DES密鑰,通過3DES密鑰解密加密后的指紋數(shù)據(jù)。歐盟的EAC協(xié)議主要通過類似于PA認(rèn)證的PKI體系進(jìn)行實(shí)現(xiàn)。該協(xié)議主要通過DVCA證書、DV證書和IS證書三級證書的逐級認(rèn)證,并結(jié)合IS私鑰完成芯片認(rèn)證(CA)和終端認(rèn)證(TA)后,通過證書中被授予的讀取權(quán)限讀取敏感生物特征數(shù)據(jù)(指紋和虹膜)。當(dāng)前已經(jīng)被ICAO接受的EAC標(biāo)準(zhǔn)為版本1,版本2中針對BAC低熵值問題設(shè)計(jì)的密碼認(rèn)證連接建立協(xié)議(PACE)于2010年11月被ICAO采用作為替代BAC協(xié)議的補(bǔ)充訪問控制協(xié)議(SAC)[3]。歐盟EAC主要采用了用于驗(yàn)證芯片真實(shí)性的芯片認(rèn)證協(xié)議(CA)和用于驗(yàn)證終端合法授權(quán)的終端驗(yàn)證協(xié)議(TA)。
結(jié)合當(dāng)今已發(fā)行電子護(hù)照和未來的趨勢,根據(jù)電子護(hù)照采用安全協(xié)議上的不同,大致分為如表1所示的以下幾種類型。其中,1-1、1-2、1-3和1-4為目前已發(fā)行的電子護(hù)照。2-1、2-2、2-3和2-4為今后可能發(fā)行的電子護(hù)照。
?
1. 基本特征
如表1所示,目前已經(jīng)發(fā)行的第一代電子護(hù)照為1-1(如早期美國和比利時(shí))、1-2(如美國)、1-3(如荷蘭、澳大利亞),其特點(diǎn)是只有臉像生物特征數(shù)據(jù),采用的安全機(jī)制包括BAC協(xié)議、PA協(xié)議、AA協(xié)議。有的國家簽發(fā)的電子護(hù)照沒有AA協(xié)議和BAC協(xié)議。
2. 讀取流程
第一代電子護(hù)照的讀取流程如圖1所示,首先將電子護(hù)照放在讀寫器上,電子護(hù)照讀寫器首先選擇電子護(hù)照芯片應(yīng)用,然后直接選擇讀取EF.COM,若讀取EF.COM成功則說明此護(hù)照芯片不需要進(jìn)行BAC協(xié)議認(rèn)證,否則需要通過讀寫器OCR識別或手工輸入機(jī)讀碼(MRZ)信息,在讀寫器和電子護(hù)照芯片之間采用BAC協(xié)議建立安全通訊會話連接。隨后再讀取EF.COM,通過EF.COM可以獲得寫入電子護(hù)照的目錄信息,并按照目錄信息直接選擇并讀取護(hù)照其他各區(qū)域數(shù)據(jù)。護(hù)照各區(qū)域數(shù)據(jù)讀取完成后,進(jìn)行PA驗(yàn)證,驗(yàn)證護(hù)照各區(qū)域數(shù)據(jù)的完整性和真實(shí)性。PA驗(yàn)證完成后,需要判斷EF.DG15文件是否存在,如果存在還需要進(jìn)行AA認(rèn)證,以驗(yàn)證芯片的真實(shí)性。
1. 基本特征
如表1所示,目前已經(jīng)發(fā)行的第二代電子護(hù)照為1-4,其特點(diǎn)是采用了EAC協(xié)議對指紋敏感生物特征數(shù)據(jù)進(jìn)行了保護(hù)。完整讀取該類型的電子護(hù)照需要簽發(fā)國家的私鑰或者簽名授權(quán)證書的支持。目前發(fā)行的護(hù)照包括新加坡EAC電子護(hù)照和歐盟EAC版本1電子護(hù)照。
新加坡EAC電子護(hù)照的主要特點(diǎn)是敏感指紋生物特征數(shù)據(jù)加密,且加密密鑰經(jīng)過非對稱加密計(jì)算存放在DG13數(shù)據(jù)區(qū)。歐盟EAC版本1電子護(hù)照的特點(diǎn)是電子護(hù)照芯片本身增加了很多和數(shù)據(jù)安全相關(guān)的文件。這些數(shù)據(jù)文件包括EF.CVCA、EF.DG14、CA認(rèn)證私鑰及算法參數(shù)等文件。
2. 新加坡EAC護(hù)照讀取流程
新加坡電子護(hù)照前期的讀取流程與第一代電子護(hù)照的讀取流程完全相同。AA認(rèn)證結(jié)束后,如果系統(tǒng)具有被授予的讀取權(quán)限非對稱解密私鑰,則需將EF.DG13區(qū)域?qū)?yīng)的EAC加密密鑰采用非對稱私鑰解密后,采用EAC加密密鑰進(jìn)行EF.DG3區(qū)域的數(shù)據(jù)解密,獲取EF.DG3指紋敏感數(shù)據(jù)。
3. 歐盟EAC版本1電子護(hù)照讀取流程
和第一代電子護(hù)照讀取EF.COM的流程相同,讀取完成后通過EF.COM可以獲得寫入電子護(hù)照的目錄信息,根據(jù)EF.COM判斷是否有EF.DG14文件,如果DG14文件存在則首先讀取EF.DG14文件。因?yàn)镋F.DG14文件是EAC版本1協(xié)議中規(guī)定存放芯片認(rèn)證公鑰的文件,考慮到讀取的良好兼容性,首先進(jìn)行協(xié)議中規(guī)定的芯片認(rèn)證流程。有些國家的護(hù)照芯片在芯片認(rèn)證不通過時(shí),拒絕讀取其他非敏感數(shù)據(jù)區(qū)數(shù)據(jù)。芯片認(rèn)證通過后,啟動(dòng)新的增強(qiáng)會話密鑰,繼續(xù)讀取EF.COM中存在的EF.DG1、EF.DG2、EF.CVCA、EF.SOD等非敏感數(shù)據(jù)文件。讀取完成后,進(jìn)行除敏感生物特征區(qū)域數(shù)據(jù)的PA認(rèn)證。在終端證書鏈和終端私鑰完整的情況下,繼續(xù)進(jìn)行證書鏈(DV證書、IS證書)的完整性和終端私鑰(IS私鑰)的驗(yàn)證,終端驗(yàn)證通過后,方可讀取指紋/虹膜等敏感指紋信息。
針對BAC協(xié)議低熵值的弱點(diǎn),ICAO引入了PACE替代協(xié)議。PACE協(xié)議需要相應(yīng)的配置文件支持,該配置文件存放在EF.CardAccess文件中。PACE協(xié)議支持CAN、PIN、PUK、MRZ等多種形式。將來的電子護(hù)照可能會發(fā)展成為PACE協(xié)議逐漸取代BAC協(xié)議的局面。為方便讀取流程上的分析,將表1中2-1、2-2定義為第一代電子護(hù)照PACE升級版、2-3為歐盟EAC版本1的PACE升級版,2-4定義為歐盟EAC版本2電子護(hù)照。
1. 第一代電子護(hù)照PACE升級版讀取流程
電子護(hù)照讀寫器首先讀取EF.CardAccess文件,隨后輸入相對應(yīng)的CAN或MRZ等密碼通過PACE算法建立安全通訊會話連接。隨后再讀取EF.COM,通過EF.COM可以獲得寫入電子護(hù)照的目錄信息,并按照目錄信息直接選擇并讀取護(hù)照其他各區(qū)域數(shù)據(jù)。護(hù)照各區(qū)域數(shù)據(jù)讀取完成后,進(jìn)行PA驗(yàn)證,驗(yàn)證護(hù)照各區(qū)域數(shù)據(jù)的完整性和真實(shí)性。PA驗(yàn)證完成后,需要判斷EF.DG15文件是否存在,如果存在還需要進(jìn)行AA認(rèn)證。
2. 歐盟EAC版本1 PACE升級版電子護(hù)照讀取流程
電子護(hù)照讀寫器首先讀取EF.CardAccess文件,隨后輸入相對應(yīng)的CAN或MRZ等密碼通過PACE算法建立安全通訊會話連接。 隨后讀取EF.COM,并按照EAC版本1電子護(hù)照一致的讀取流程完成EF.DG14文件的讀取、CA認(rèn)證、其他區(qū)域非敏感數(shù)據(jù)讀取、TA認(rèn)證和敏感指紋/虹膜生物特征的讀取。
3. 歐盟EAC版本2電子護(hù)照讀取流程
電子護(hù)照讀寫器首先讀取EF.CardAccess文件,隨后輸入相對應(yīng)的密碼通過PACE算法建立安全通訊會話連接。接著選擇電子護(hù)照應(yīng)用后進(jìn)行EAC版本2的終端認(rèn)證,終端認(rèn)證同樣需要完整證書鏈(DV證書、IS證書)和終端私鑰(IS私鑰)的支持。終端認(rèn)證完成后,讀取EF.CardSeucrity文件,進(jìn)行EAC版本2的芯片認(rèn)證,芯片認(rèn)證完成后讀取EF.COM及電子護(hù)照其他各區(qū)域文件內(nèi)容,并進(jìn)行PA認(rèn)證。
電子護(hù)照協(xié)議的不斷完善與發(fā)展給電子護(hù)照的兼容性讀取帶來了很大的挑戰(zhàn)。尤其是PACE協(xié)議的加入,使得未來的電子護(hù)照的芯片數(shù)據(jù)結(jié)構(gòu)和安全通訊協(xié)議算法復(fù)雜度發(fā)生了很大的變化,讀取方法也要隨之作出相應(yīng)的改變和調(diào)整。
通過對以上不同類型電子護(hù)照的分析,可以得出以下結(jié)論:
(1)由于PACE協(xié)議本身的復(fù)雜性和算法多樣性,必須有EF.CardAccess文件方可執(zhí)行。所以可以通過電子護(hù)照芯片中是否有EF.CardAccess文件來區(qū)分電子護(hù)照是否采用了PACE協(xié)議。
(2)由于采用BAC協(xié)議的電子護(hù)照不允許直接讀取EF.COM文件,所以可以通過直接讀EF.COM文件并通過該命令的執(zhí)行結(jié)果來判斷電子護(hù)照是否采用了BAC協(xié)議。
(3)EF.DG15文件存放的是主動(dòng)認(rèn)證公鑰,可以通過判斷該文件是否存在來判斷是否采用主動(dòng)認(rèn)證協(xié)議。
(4)新加坡電子護(hù)照典型特點(diǎn)是在EF.DG3文件為加密數(shù)據(jù),且加密密鑰經(jīng)非對稱加密后存放再EF.DG13中。所以,可以通過EF.DG3、EF.DG13文件是否存在來判斷是否為新加坡EAC護(hù)照。
(5)歐盟電子護(hù)照若采用PACE協(xié)議,則可以通過EF.CardAccess文件內(nèi)的具體內(nèi)容來區(qū)分是采用的EAC版本2、EAC版本1,還是未采用EAC協(xié)議。
(6)若歐盟電子護(hù)照采用BAC協(xié)議,則可以通過EF.DG14文件是否存在來判斷是否為EAC版本1電子護(hù)照。
綜合以上結(jié)論并充分考慮到通用性和兼容性,設(shè)計(jì)電子護(hù)照通用讀取流程如圖2所示,具體如下:
首先,讀取EF.CardAccess 文件,若讀取成功,則啟動(dòng)PACE協(xié)議。并通過EF.CardAccess文件判斷采用的EAC版本類型。若為版本1,則采用文中EAC版本1PACE升級版后續(xù)讀取流程。若為版本2,則采用EAC版本2后續(xù)讀取流程。如果未采用擴(kuò)展訪問控制協(xié)議,則采用第一代電子護(hù)照PACE版本后續(xù)讀取流程。
如果讀取EF.CardAccess 文件失敗,則直接選擇讀取EF.COM文件,如果讀取EF.COM文件成功,則說明該護(hù)照未采用BAC協(xié)議。如果采用BAC協(xié)議,則通過光學(xué)掃描或人工輸入MRZ,建立安全通訊會話。然后直接讀取EF.COM 文件。通過該文件目錄判斷是否有EF.DG3/EF.DG4 文件。如果沒有,則進(jìn)入第一代電子護(hù)照后續(xù)讀取流程。如果有EF.DG3/EF.DG4文件,則再進(jìn)行EF.DG13文件是否存在的判斷,如果文件存在,則進(jìn)入新加坡EAC護(hù)照后續(xù)讀取流程。如果EF.DG13文件不存在,則再進(jìn)行EF.DG14文件是否存在的判斷,如果EF.DG14文件存在則進(jìn)入歐盟EAC版本1后續(xù)讀取流程,否則就嘗試直接進(jìn)入第一代電子護(hù)照后續(xù)讀取流程。
在電子護(hù)照的通關(guān)過程中,電子護(hù)照的讀取速度是制約實(shí)際通關(guān)效率的重要因素。早期的電子護(hù)照芯片由于不支持?jǐn)U展長度,每次加密傳送和返回命令的字節(jié)長度都不超過256,這就在一定程度上降低了電子護(hù)照的讀取速度。支持歐盟EAC協(xié)議的護(hù)照芯片由于加密計(jì)算的需要(如傳遞證書、公鑰和簽名),采用了擴(kuò)展長度的APDU 命令。采用擴(kuò)展長度的APDU 命令在每次讀取時(shí)讀取長度大大超過256字節(jié)的限制,提高了讀取電子護(hù)照芯片數(shù)據(jù)的速度[4]。
本讀取流程在讀取電子護(hù)照時(shí),增加了加速讀取流程設(shè)計(jì),讀取過程中首先主動(dòng)嘗試采用擴(kuò)展的APDU命令,在芯片支持該命令時(shí),擴(kuò)展的APDU命令會在讀取內(nèi)容時(shí)采用芯片能夠支持的最大長度讀取數(shù)據(jù),從而減少讀卡機(jī)和電子護(hù)照芯片的通訊次數(shù)以加速讀取電子護(hù)照生物特征數(shù)據(jù),從而提高實(shí)際的通關(guān)效率。
電子護(hù)照通用讀取流程的設(shè)計(jì)基于對電子護(hù)照安全訪問控制協(xié)議進(jìn)行較為全面的分析基礎(chǔ)之上,該流程為電子護(hù)照協(xié)議類型的自動(dòng)判別和芯片數(shù)據(jù)內(nèi)容的自動(dòng)讀取提供了一定的借鑒參考。隨著電子護(hù)照各方面技術(shù)的不斷發(fā)展,電子護(hù)照安全性仍將得到不斷提高,新的安全訪問控制協(xié)議可能在不久的將來繼續(xù)推出,該流程仍需在今后的實(shí)際應(yīng)用中不斷完善。
[1] ICAO. Machine Readable Travel Documents-Part 1: Machine Readable Passport,Volume 2: Specifications for Electronically Enabled Passports with Biometric Identification Capabilities[M]. ICAO Doc 9303,6th Edition,2006.
[2] NTWG. Extended Access Control[C].NTWG, Seventeenth Meeting,2007.
[3] ICAO. Supplemental Access Control for Machine Readable Travel Documents[R]. Technical Report, ICAO, 2010.
[4] ISO/IEC. Identification Cards Integrated Circuit Cards Part 4: Organization, Cecurity and Commands for Interchange[S], ISO/IEC 7816-4:2005,2005.