吳淼 嚴(yán)則明 黃俊
摘 要:為解決當(dāng)前傳統(tǒng)在線認(rèn)證方案的缺陷,提出一種基于FIDO協(xié)議的雙因素eID(公民網(wǎng)絡(luò)電子身份標(biāo)識)實(shí)名認(rèn)證方案。對當(dāng)前傳統(tǒng)認(rèn)證方案進(jìn)行分析,結(jié)合移動終端特點(diǎn),設(shè)計(jì)了一種基于移動終端的高效可靠的eID雙因素實(shí)名認(rèn)證方案,研究FIDO協(xié)議特點(diǎn),設(shè)計(jì)了一種改進(jìn)的FIDO U2F協(xié)議,將FIDO協(xié)議與公民網(wǎng)絡(luò)電子身份標(biāo)識eID相結(jié)合,實(shí)現(xiàn)本地生物特征和eID雙因素認(rèn)證。實(shí)驗(yàn)結(jié)果表明,該認(rèn)證方案更加安全便捷,同時能有效保護(hù)用戶隱私。
關(guān)鍵詞:公民網(wǎng)絡(luò)電子身份標(biāo)識; FIDO協(xié)議; 在線實(shí)名認(rèn)證; 雙因素認(rèn)證
中圖分類號: TP309
文獻(xiàn)標(biāo)志碼: A
Abstract:In order to resolve the problems of traditional online authentication, a two-factor real-name authentication solution of eID based on FIDO protocol is proposed. The traditional authentication solution is analyzed. An effective and reliable two-factor real-name authentication solution based on eID and FIDO is designed. FIDO protocol is researched and an improved FIDO U2F protocol is designed. A solution which is integrated FIDO protocol and eID is proposed by using the two-factor real-name authentication, biometric technique and eID. The results show that the solution is safer and more convenient than the traditional system. The user privacy can be protected by using the solution.
Key words:EID; FIDO; Online real-name authentication; Two-factor authentication
0 引言
近幾年隨著我國互聯(lián)網(wǎng)產(chǎn)業(yè)的飛速發(fā)展,電子商務(wù)、電子政務(wù)已經(jīng)日益成為人們?nèi)粘I钪斜夭豢缮俚牟糠帧T诰€身份認(rèn)證作為網(wǎng)絡(luò)空間安全的基石,同樣需要與時俱進(jìn),提供用戶更安全、更快捷的在線身份認(rèn)證方案。在線身份認(rèn)證是驗(yàn)證用戶身份的真實(shí)性、防止身份偽造的重要手段,也是網(wǎng)絡(luò)安全體系的基礎(chǔ),無論是數(shù)據(jù)加密、訪問控制,還是其他網(wǎng)絡(luò)安全技術(shù)都必須基于有效的在線身份認(rèn)證[1]
最為傳統(tǒng)的在線身份認(rèn)證基于用戶名和密碼,其缺點(diǎn)不言而喻,用戶名和密碼及易偽造、丟失和被暴力破解,并且用戶名和密碼數(shù)據(jù)存放于云端,很容易發(fā)生數(shù)據(jù)泄露的安全事故。近期很多撞庫攻擊、酒店、電商的用戶數(shù)據(jù)泄露充分說明了這種在線認(rèn)證方式已經(jīng)無法滿足公民對在線認(rèn)證及公民個人隱私的安全需求。針對用戶名和密碼的在線認(rèn)證缺陷,業(yè)界也提出了硬件令牌(如銀行的U盾)、動態(tài)密碼技術(shù)(包括硬件、軟件及手機(jī)短信多種方式)等增強(qiáng)方案。雖然這些方案在安全性方面有很大提升,但是在使用成本及易用性方面不盡人意,導(dǎo)致用戶依然面臨身份驗(yàn)證信息被泄露的風(fēng)險。面對這一狀況,F(xiàn)IDO(Fast Identity Online)聯(lián)盟開發(fā)了FIDO在線快速身份驗(yàn)證標(biāo)準(zhǔn),該標(biāo)準(zhǔn)在安全及易用性方面有很大提升,基本能滿足用戶對在線認(rèn)證安全和快捷的訴求。但是FIDO協(xié)議存在著一個問題,當(dāng)前的FIDO協(xié)議無法滿足在線實(shí)名認(rèn)證的需求。比如在乘坐高鐵,網(wǎng)吧上網(wǎng),寄快遞,住酒店,在線購買機(jī)票等場景下都需要用到實(shí)名認(rèn)證。目前二代居民身份證讀取設(shè)備容易被不法分子利用,第三方服務(wù)大量存儲用戶實(shí)名信息,具有隱私泄露的風(fēng)險[2],同時個人隱私無法得到有效地保護(hù),隨著云計(jì)算、大數(shù)據(jù)時代的到來,整個社會變得更加透明[3]。設(shè)計(jì)一種既能保護(hù)用戶身份信息,又能完成實(shí)名認(rèn)證的技術(shù)方案迫在眉睫。在線實(shí)名認(rèn)證不同于普通的在線匿名認(rèn)證,在線實(shí)名認(rèn)證必須依賴國家認(rèn)可的權(quán)威機(jī)構(gòu)頒發(fā)的網(wǎng)絡(luò)身份標(biāo)識,并且用戶實(shí)名信息不能存儲在各家第三方服務(wù)的服務(wù)器中。
針對上述問題,設(shè)計(jì)了一種基于FIDO協(xié)議的雙因素eID(公民網(wǎng)絡(luò)電子身份標(biāo)識)實(shí)名認(rèn)證方案,有效解決此問題。
1 相關(guān)技術(shù)
1.1 eID技術(shù)
我國的eID是以密碼技術(shù)為基礎(chǔ)、以智能安全芯片為載體、由“公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)”簽發(fā)給公民的網(wǎng)絡(luò)電子身份標(biāo)識,能夠在不泄露身份信息的前提下在線遠(yuǎn)程識別身份。
目前根據(jù)載體類型的不同,eID目前主要有通用eID與SIMeID兩種,其中通用eID常加載于銀行金融IC卡、社???、USBkey、手機(jī)安全芯片等,SIMeID主要加載于支持SIM/USIM功能的載體,常見的有SIM卡、USIM卡、SIM貼膜卡、eSIM芯片等。
eID在權(quán)威性、安全性、普適性、隱私性方面具有其他技術(shù)不可比擬的優(yōu)勢,可滿足公民在個人隱私、網(wǎng)絡(luò)交易及虛擬財(cái)產(chǎn)等多方面的安全保障需求:
權(quán)威性:eID基于面對面的身份核驗(yàn),由“公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)”統(tǒng)一簽發(fā),可進(jìn)行跨地域、跨行業(yè)的網(wǎng)絡(luò)身份服務(wù);
安全性:eID含有一對由智能安全芯片內(nèi)部產(chǎn)生的非對稱密鑰,通過高強(qiáng)度安全機(jī)制確保其無法被非法讀取、復(fù)制、篡改或使用;
普適性:eID不受載體物理形態(tài)的限制,只要載體中的安全智能芯片符合eID載體相關(guān)標(biāo)準(zhǔn)即可;
隱私性:eID的唯一性標(biāo)識采用國家商用密碼算法生成,不含任何個人身份信息,有效保護(hù)了公民身份信息[4]。
1.2 FIDO協(xié)議
FIDO(Fast Identity Online),是一個第三方、非營利性、專門研究身份認(rèn)證框架模型的國際行業(yè)聯(lián)盟。FIDO成立于2013年2月,由Nok Nok Labs、Google、BlackBerry、ARM、英特爾、PayPal、Lenovo、Synaptics和 MasterCard、CFCA等多家企業(yè)推動創(chuàng)立的聯(lián)盟。
秉承簡單易用、隱私安全及兼容通用三大原則,F(xiàn)IDO聯(lián)盟開發(fā)了FIDO線上快速身份驗(yàn)證標(biāo)準(zhǔn),該標(biāo)準(zhǔn)中包含兩種用戶驗(yàn)證協(xié)議:U2F和UAF。
U2F,通用第二因素協(xié)議(Universal 2nd Factor Protocol[5])。在兼容現(xiàn)有密碼驗(yàn)證體系的基礎(chǔ)上,當(dāng)用戶進(jìn)行在線認(rèn)證時,F(xiàn)IDO提供U2F設(shè)備作為第二身份完成雙因素認(rèn)證。圖1為標(biāo)準(zhǔn)的FIDO U2F框架。
UAF,通用認(rèn)證框架協(xié)議(Universal Authentication Framework Protocol[6])支持指紋、語言、虹膜、臉部識別等生物身份識別方式,無需密碼接入。該協(xié)議利用移動端的認(rèn)證器(如TEE、TPM等芯片)解鎖特定密鑰,生成一對公私鑰對。私鑰存儲在認(rèn)證器中,公鑰通過UAF的標(biāo)準(zhǔn)化鑒別協(xié)議,代表用戶向服務(wù)器認(rèn)證,隨即完成設(shè)備對人,服務(wù)端對設(shè)備的兩步認(rèn)證[7]。圖2為標(biāo)準(zhǔn)FIDO UAF框架。
2 方案設(shè)計(jì)
基于FIDO協(xié)議雙因素eID實(shí)名認(rèn)證方案結(jié)合了標(biāo)準(zhǔn)的FIDO UAF協(xié)議和改進(jìn)后的U2F協(xié)議(文中稱為eID U2F協(xié)議)。方案先使用標(biāo)準(zhǔn)的FIDO UAF協(xié)議執(zhí)行匿名認(rèn)證,完成移動終端設(shè)備對人和服務(wù)端對移動終端設(shè)備的兩步認(rèn)證,在完成FIDO UAF匿名認(rèn)證之后,使用eID U2F協(xié)議執(zhí)行實(shí)名認(rèn)證,方案使用移動終端設(shè)備內(nèi)置的注冊了eID網(wǎng)絡(luò)身份標(biāo)識的安全芯片(例如華為的inSE芯片)作為eID U2F設(shè)備,通過eID U2F設(shè)備及eID U2F協(xié)議完成實(shí)名認(rèn)證。同時為了保障eID的自主可控、安全可信,采用自主可控的國產(chǎn)安全芯片和密碼算法[8]。方案中的標(biāo)準(zhǔn)FIDO UAF和eID U2F協(xié)議都包括2個主要的步驟:注冊和認(rèn)證。
該方案有2個關(guān)鍵之處:一是使用eID技術(shù)改進(jìn)U2F協(xié)議;二是FIDO UAF協(xié)議和eID U2F協(xié)議的結(jié)合。
3.1 使用eID技術(shù)改進(jìn)U2F協(xié)議
在標(biāo)準(zhǔn)FIDO U2F協(xié)議基礎(chǔ)上,設(shè)計(jì)一種改進(jìn)的支持在線實(shí)名認(rèn)證的eID U2F協(xié)議:
圖3為eID U2F協(xié)議的邏輯圖。為了實(shí)現(xiàn)eID U2F協(xié)議,方案使用移動終端設(shè)備內(nèi)置的inSE芯片作為eID U2F設(shè)備,該設(shè)備用于獨(dú)立存儲eID U2F載體公私鑰、eID公私鑰對和eID身份信息。用戶需要2個步驟就能使用eID U2F設(shè)備進(jìn)行在線實(shí)名身份驗(yàn)證:
第一步:eID U2F設(shè)備注冊
(1)在擁有一個eID U2F設(shè)備之后(即將商用的支持eID U2F設(shè)備有華為P20、P20 PRO手機(jī)),用戶在手機(jī)專用APP側(cè)(該APP是eID U2F設(shè)備廠商專屬APP,下文簡稱端側(cè))向eID U2F設(shè)備(方案使用inSE安全芯片)主動發(fā)起將該設(shè)備作為eID U2F實(shí)名驗(yàn)證因素的注冊申請,向公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)申請開通eID網(wǎng)絡(luò)身份標(biāo)識功能;
(2)eID U2F設(shè)備廠商在inSE芯片中灌入一對由公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)預(yù)制的SM2載體公私鑰對,同時在inSE芯片中實(shí)時生成一對SM2公私鑰對作為eID公私鑰對;
(3)端側(cè)提示用戶將身份證件貼在手機(jī)的NFC區(qū)域上,在云端解密電子身份證件身份信息,通過甄別證件真?zhèn)魏?,端?cè)會生成一個唯一的用戶標(biāo)識(該用戶標(biāo)識非證件號碼,所有數(shù)據(jù)交互通過這個唯一用戶標(biāo)識進(jìn)行,用戶真實(shí)的個人信息對端側(cè)及eID U2F設(shè)備廠商都是不可見的),端側(cè)將相關(guān)數(shù)據(jù)及用戶標(biāo)識發(fā)送到eID U2F設(shè)備廠商的后臺服務(wù);
(4)eID U2F設(shè)備廠商服務(wù)端向公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)查詢該用戶是否有注冊過eID,若沒有注冊過eID,則可以繼續(xù)下面的eID注冊流程,反之提示已經(jīng)注冊eID,從而保證用戶eID的唯一性;
(5)端測進(jìn)行活體檢測,采取安全手段防止端側(cè)攝像頭被劫持,確保用戶本人(活體)在操作自拍,而不是使用照片等非正常手段;
(6)端側(cè)將用戶的自拍照加密后通過eID U2F設(shè)備廠商的服務(wù)發(fā)送至公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)進(jìn)行自拍照和身份證件解密照片進(jìn)行比對,確定當(dāng)前手機(jī)操作用戶與身份證件的“人證合一”;
(7)eID U2F設(shè)備廠商后臺服務(wù)器發(fā)送注冊eID請求到公安部公民網(wǎng)絡(luò)身份識別系統(tǒng),公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)完成eID注冊,并返回eID電子身份標(biāo)識及注冊指令;
(8)eID U2F設(shè)備廠商收到eID電子身份標(biāo)識及注冊指令后,將其發(fā)送到端側(cè),端側(cè)通過注冊指令將eID電子身份標(biāo)識及相關(guān)加密的身份信息數(shù)據(jù)寫入eID U2F inSE芯片中用作后續(xù)eID U2F實(shí)名認(rèn)證。至此完成eID U2F設(shè)備的注冊。
第二步:eID U2F實(shí)名身份認(rèn)證
(1)在進(jìn)行需要實(shí)名認(rèn)證的高危操作(例如實(shí)名購買機(jī)票,實(shí)名寄送快遞,銀行實(shí)名開戶等)的時候,第三方的APP(例如購買機(jī)票的“航旅縱橫APP”等)會喚醒端側(cè),端側(cè)會先主動發(fā)起FIDO UAF認(rèn)證,通過生物特征,例如指紋完成匿名認(rèn)證后,端側(cè)隨即會發(fā)起eID U2F實(shí)名認(rèn)證;
(2)端側(cè)在inSE安全芯片中使用SM2 eID私鑰對用于身份驗(yàn)證的待簽名數(shù)據(jù)進(jìn)行SM2簽名,并通過eID U2F設(shè)備廠商后臺服務(wù)器推送給公安部公民網(wǎng)絡(luò)身份識別系統(tǒng);
(3)公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)在接收到實(shí)名認(rèn)證請求后,使用第一步注冊eID U2F設(shè)備時保存的設(shè)備的eID SM2公鑰對簽名進(jìn)行驗(yàn)證,并將驗(yàn)證結(jié)果發(fā)回eID U2F設(shè)備廠商后臺;
(4)eID U2F設(shè)備廠商后臺服務(wù)器收到公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)發(fā)回的認(rèn)證結(jié)果后,將結(jié)果推送到端側(cè),端側(cè)將最終結(jié)果返回給第三方APP,至此完成eID U2F用戶實(shí)名認(rèn)證。
3.2 FIDO UAF和eID U2F認(rèn)證的結(jié)合
圖4為FIDO UAF協(xié)議和eID U2F協(xié)議結(jié)合的邏輯圖。FIDO UAF匿名認(rèn)證和eID U2F實(shí)名認(rèn)證構(gòu)成了雙因素eID實(shí)名認(rèn)證方案。
(1)端側(cè)發(fā)起申請UAF身份驗(yàn)證申請,通知UAF客戶端接收并推送待簽名數(shù)據(jù);
(2)UAF客戶端通過接口調(diào)用UAF身份驗(yàn)證器(TEE等),在得到用戶確認(rèn)后,即用戶的信息與注冊時的信息匹配(例如指紋、虹膜、人臉等生物特征),利用私鑰簽名需要認(rèn)證的數(shù)據(jù);
(3)UAF客戶端通過端側(cè)將簽名數(shù)據(jù)發(fā)送到UAF后臺服務(wù)器;
(4)UAF后臺服務(wù)器驗(yàn)證簽名數(shù)據(jù)通過后,完成UAF匿名認(rèn)證,到此就表明用戶本人同意進(jìn)行下一步的eID U2F實(shí)名認(rèn)證,并且已經(jīng)合法授權(quán)端側(cè)進(jìn)行eID U2F實(shí)名認(rèn)證;
(5)端側(cè)發(fā)起eID U2F實(shí)名認(rèn)證,使用設(shè)計(jì)的eID U2F協(xié)議完成eID實(shí)名認(rèn)證;
(6)至此基于FIDO協(xié)議雙因素eID實(shí)名認(rèn)證全部完成。
3 安全性分析
(1)數(shù)據(jù)傳輸報(bào)文安全:在傳輸數(shù)據(jù)報(bào)文的時候,發(fā)送方使用自己的SM2私鑰對報(bào)文做簽名,接收方使用發(fā)送方的SM2公鑰驗(yàn)證報(bào)文簽名,這樣能確保報(bào)文傳輸?shù)耐暾胺乐辜倜啊?/p>
(2)存儲的安全性:公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)的密鑰存放在加密機(jī)中,并且不可導(dǎo)出,確保密鑰的安全,公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)核心數(shù)據(jù)庫部署在安全級別最高的屏蔽機(jī)房中的安全存儲區(qū),同時數(shù)據(jù)庫中不保存任何明文的隱私信息,所有信息都進(jìn)過加密機(jī)加密或者HASH處理。端側(cè)的密鑰全部存放在eID U2F設(shè)備中,不可導(dǎo)出及隨意讀取,確保不受上層惡意APP的影響。
(3)eID數(shù)據(jù)存放在手機(jī)的安全芯片中。當(dāng)某個第三方手機(jī)APP需要驗(yàn)證人員身份時,驗(yàn)證過程在端側(cè),eID U2F生產(chǎn)廠商及公安部公民網(wǎng)絡(luò)身份識別系統(tǒng)之間完成,同時明文的個人信息隱私數(shù)據(jù)對端側(cè)及eID U2F生產(chǎn)廠商是不可見的,更不會把隱私信息上傳至第三方APP的服務(wù)器上,第三方APP只能從端側(cè)獲取到認(rèn)證結(jié)果,最大程度保證用戶身份隱私數(shù)據(jù)安全。
(4)當(dāng)用戶需要進(jìn)行高危的eID U2F實(shí)名認(rèn)證的時候,需要先進(jìn)行FIDO UAF匿名認(rèn)證,確保用戶本人授權(quán)進(jìn)行實(shí)名認(rèn)證,徹底杜絕eID U2F實(shí)名認(rèn)證被冒用。
4 總結(jié)
文中設(shè)計(jì)了基于FIDO協(xié)議雙因素eID實(shí)名認(rèn)證方案,提出了改進(jìn)的eID U2F協(xié)議及FIDO UAF和eID U2F結(jié)合的方法,并對方案的安全性做了分析。結(jié)果表明該方案具有很高的安全性和實(shí)用性,對移動互聯(lián)網(wǎng)更加友好,能夠高效完成在線實(shí)名身份認(rèn)證,同時有效保證用戶的隱私安全。
參考文獻(xiàn)
[1]
楊明慧,劉孟占,鄒翔, 等. 德國eID機(jī)制對我國網(wǎng)絡(luò)身份管理的啟示[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2014, 24(7) :158-161.
[2]
胡衛(wèi),吳邱涵,劉勝利, 等. 基于國密算法和區(qū)塊鏈的移動端安全eID及認(rèn)證協(xié)議設(shè)計(jì)[J].信息網(wǎng)絡(luò)安全,2018(7) :8-15.
[3] 嚴(yán)則明. eID:以網(wǎng)絡(luò)身份制取代網(wǎng)絡(luò)實(shí)名制[J].國家治理,2015(12) :47-48.
[4] eID介紹[EB/OL].[--]. http://eid.cn/knoweid/whatiseid.html.
[5] Universal 2nd Factor (U2F) Overview[EB/OL].[--]. https://fidoalliance. org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-overview-v1.1-v1.2-ps-20170411.html.
[6] FIDO UAF Architectural Overview[EB/OL](2017-02-02). FIDO Alliance, https://fidoalliance.org/specs/fido-uaf-v1.1-id-20170202/fido-uaf-overview-v1.1-id-20170202.html.
[7] FIDO UAF protocol specification v1.0[EB/OL](2014-12-08). FIDO Alliance, https://fidoalliance.org/specs/fidouafv1.0-ps-20141208/fido-uaf-protocol-v1.0-ps-20141208.html.
[8] 倪光南. eID是保障網(wǎng)絡(luò)主權(quán)、安全和發(fā)展的需要[J]. 國家治理,2015(12) :49-52.
(收稿日期: 2019.01.09)