宋憲榮,張猛
(1.南京理工大學計算機科學與工程學院,江蘇南京210094;2.賽迪智庫網絡空間研究所,北京100846)
身份認證的關鍵技術經歷了三代的發展,第一代以靜態密碼技術和動態密碼技術為代表,典型應用方式為賬號+口令、手機動態驗證碼;第二代以PKI技術為代表,典型應用方式為文件證書、USB Key、手機盾、eID、FIDO等;第三代以生物識別、大數據行為分析、量子加密等技術為代表,這些新技術在移動互聯網應用高速發展的背景下誕生。三代身份認證技術的基本原理、應用成本和適用范圍各有不同,以下從技術發展角度進行梳理。
第一代身份認證技術以靜態密碼技術和動態密碼技術為代表,在20世紀60年代左右開始出現并在計算機上應用,目前相關技術發展已經十分成熟,雖然其有種種缺陷,但仍未被完全淘汰。
靜態密碼技術的典型身份認證應用是賬號+口令。用戶輸入賬號和靜態口令后,服務器查詢口令數據庫進行匹配,匹配通過即完整核驗。該方式歷史最為悠久、使用極為簡單、成本極其低廉、應用極其廣泛。但隨著計算機運算能力的不斷增強,靜態密碼抗暴力攻擊的能力越來越差,密碼位數由早期的4位逐漸升級的6位、8位、16位、18位,由簡單數字組合逐漸升級為數字+字母(不區分大小寫)組合、數字+字母(區分大小寫)組合、數字+字母(區分大小寫)+特殊字符組合。雖然密碼長度和強度不斷升級,靜態密碼技術由于先天存在易被字典攻擊、易被監聽偷錄等缺陷,在低安全等級應用中可以作為一種主要身份認證技術,但在高安全等級應用中只能作為一種輔助手段。
鑒于靜態口令的種種缺陷,安全專家提出采用動態密碼來進行身份驗證。根據動態密碼中采用的“動態因子”不同,該技術可分為兩大類:同步認證技術和異步認證技術。同步認證技術中主要包括基于時間同步認證技術;異步認證技術主要包括挑戰/響應認證技術(事件響應)。同步認證技術最早取得突破,20世紀80年代,美國著名加密算法研究實驗室RSA研制成功了基于時間同步的動態密碼認證系統RSA SecurID,該系統通過時間同步方式,同一時間令牌認證服務器的認證系統每60秒變換一次動態口令,口令一次有效,它產生6位動態數字進行一次一密的方式認證[1]。
國內中國銀行、工商銀行早期曾發行過一種動態密碼口令牌,就是基于時間同步原理。由于同步認證技術對時間敏感,硬件和操作要求較高,異步認證技術后來居上。以手機動態驗證碼為例,用戶在登錄時點擊“發送手機驗證碼”,服務器以當前時間或者事件序號作為動態因子計算出驗證碼并發送至指定手機號,用戶收到后將驗證碼輸入,系統完成核驗后授權用戶登錄。整個驗證流程中,驗證碼一般5-30分鐘有效,用戶在規定時間內輸入就可以。此外,國內工商銀行早期曾發行過一種紙質動態密碼卡,用戶登錄網銀時,網銀生成二維坐標,用戶需刮開密碼卡對應區域輸入相應密碼,此方式也是異步認證技術。隨著移動互聯網時代的到來,動態口令牌、動態口令卡由于攜帶不便,已經逐漸被手機動態驗證碼所取代,賬號+手機驗證碼已經成為當前最重要的身份認證方式之一。
該認證方式使用戶在登錄當前網站或APP時無需注冊,使用第三方互聯網賬號(如騰訊、支付寶、新浪微博等)進行授權登錄,免去賬號注冊過程并完成身份認證。目前,OAuth、OpenID、SAML、FIDO等標準已成為該認證方式的事實標準。當前大多數電子商務、社交網站等都已經逐漸接受該認證模式,互聯認證登錄普遍存在。在該模式下網站及相關應用不需要對用戶身份進行管理,用戶身份管理及認證完全由第三方平臺進行。
第二代身份認證技術以PKI技術為代表,相關概念于20世紀80年代提出,其安全性遠高于一代身份認證技術。近十幾年來,各國投入巨資實施PKI的建設和研究,PKI理論研究和應用在非對稱密碼算法、雜湊算法、證書載體形式、輕量級身份認證協議和數據的組織記錄形式五個方面取得了巨大的進展。
該算法中用戶有兩個密鑰,一個公開密鑰,一個私有密鑰,從公開密鑰推導私有密鑰極其困難。非對稱加密算法完美解決了對稱加密算法的密鑰管理分發難題,在PKI架構和數字簽名中具有重要應用,但運算效率較低。美國在1978年首次提出基于大整數素因子分解的RSA算法,1985又提出了基于離散對數問題的ELGamal算法,其中RSA算法是目前應用較為廣泛[2]。RSA算法的強度與其算法密鑰長度有關,RSA1024已經在2012年被美國密碼學家攻破,目前最新版本為RSA4096。由于過長的RSA密鑰會導致運算效率大大下降,美國NIST和歐洲NESSIE的專家又提出了橢圓曲線和超橢圓曲線密碼ECC,該算法只需282bit的密鑰長度即可媲美RSA4096的加密強度,運算效率大大提高,是目前非對稱密碼技術研究的熱點。目前,我國正在大力推廣國產SM2橢圓密碼算法在關系到國計民生的重要應用系統中的應用。
雜湊算法又名哈希算法、摘要算法,它能夠將任意長度的消息壓縮成固定長度的摘要,能夠賦予每個消息唯一的“數字指紋”[3]。其專門解決信息的非法篡改問題,是PKI中數字簽名和數據完整性保護的基礎,研究進展迅速。雜湊算法與對稱/非對稱加密算法的區別是,后兩種算法是用于防止信息被竊取,而雜湊算法的目標是用于證明原文的完整性,也就是說用于防止信息被篡改。
雜湊算法的典型代表是美國NIST發布的SHA系列,1995年SHA-1正式發布,經過二十余年的發展,SHA-1算法逐漸成為互聯網最基礎的數字簽名算法。由于SHA家族算法本身的問題存在“碰撞”破解的可能性,SHA算法被攻破的時間僅依賴于所使用的計算能力,所以歐美密碼學家不斷調整改進SHA算法,既SHA-1后推出SHA-224、SHA-256、SHA-384和SHA-512。2017年2月23日,谷歌聯合荷蘭CWI機構給出了SHA-1碰撞實例,攻破了SHA-1算法。目前,我國正在大力推進國產SM3雜湊密碼算法對SHA系列算法的替代升級工作。
PKI證書應用的一種外在表現形式,近年來隨著應用環境的變化,證書載體形式日趨豐富。目前主流的證書載體分為文件證書、硬件介質數字證書和移動數字證書三大類。文件證書產生和應用最早,但安全性低,無法應對基于內存分析以恢復和調用用戶密鑰為目的的攻擊,目前只有少數電商和政務系統還在使用。為解決文件證書安全性低的問題,硬件介質數字證書逐漸興起,其用戶私鑰不可導出,具有高安全性和高可靠性特點,應用最為廣泛,如各類USB Key、藍牙Key、音頻Key、IC卡、eID卡等。隨著移動互聯網的快速發展,基于移動數字證書(手機盾)的電子簽名技術于2014年初出現,主要應用于移動端的電子簽名,基于密鑰分割和協作簽名技術,利用軟件方式實現安全等級較高的電子簽名功能,彌補了文件證書安全性低、硬件介質證書(藍牙Key、音頻Key等)便攜性差的問題,同時其也可以通過“掃碼簽名”等方式,兼顧PC端電子簽名應用場景。
FIDO線上快速身份驗證標準(以下簡稱FIDO標準)是由FIDO聯盟(Fast Identity Online Alliance)提出的一個開放的標準協議,旨在提供一個高安全性、跨平臺兼容性、極佳用戶體驗與用戶隱私保護的在線身份驗證技術架構[4]。FIDO聯盟于2012年7月成立,并于2015年推出并完善了1.0版本身份認證協議,提出了U2F與UAF兩種用戶在線身份驗證協議。其中U2F協議兼容現有密碼驗證體系,在用戶進行高安全屬性的在線操作時,其需提供一個符合U2F協議的驗證設備作為第二身份驗證因素,即可保證交易足夠安全。而UAF則充分地吸收了移動智能設備所具有的新技術,更加符合移動用戶的使用習慣。
在需要驗證身份時,智能設備利用生物識別技術(如指紋識別、面部識別、虹膜識別等)取得用戶授權,然后通過非對稱加密技術生成加密的認證數據供后臺服務器進行用戶身份驗證操作。整個過程可完全不需要密碼,真正意義上實現了“終結密碼”。根據UAF協議,用戶所有的個人生物數據與私有密鑰都只存儲在用戶設備中,無需經網絡傳送到網站服務器,而服務器只需存儲有用戶的公鑰即可完成用戶身份驗證。這樣就大大降低了用戶驗證信息暴露的風險。即使網站服務器被黑客攻擊,他們也得不到用戶驗證信息偽造交易,也消除了傳統密碼數據泄露后的連鎖式反應。
目前,谷歌公司已經開發出支持U2F身份認證的Security Key。該裝置配合Chrome瀏覽器實現網站身份的自動鑒別,當用戶登錄的網站是通過驗證時,用戶無需輸入密碼,只需根據瀏覽器提示按下確認即可,若網站未通過驗證,則該裝置不會運行。聯想旗下國民認證科技有限公司推出的基于FIDO框架的UAP統一身份認證平臺,整合指紋識別和虹膜識別等功能為中國銀行、民生銀行、京東錢包等提供身份認證服務。科技公司Egistec推出的基于FIDO框架的Yukey認證器,可以讓用戶通過指紋識別器及生物數據識別腕帶進行聯合身份認證。三星公司也在積極研發推出基于FIDO的身份認證解決方案,其安全身份認證框架和指紋讀取器均通過了FIDO認證[5]。微軟公司在Windows10中全面支持FIDO 2.0版本標準,支持此標準的設備可以具有豐富的第三方生物識別功能,如指紋識別、人臉識別、虹膜識別等,大大提升系統安全性和易用性[6]。
近年來,國內外對去中心化和分布式數據庫研究如火如荼,代表就是區塊鏈技術。其去中心化、開放性、自治性、不可篡改性和匿名性,決定了其未來會對金融和經濟帶來巨大的影響[7]。而區塊鏈的典型應用之一就是在線身份驗證,其相比傳統中心化的PKI電子認證方式,其優勢有三點。一是身份信息更難篡改,每個人一出生便會形成自己的數字身份信息,同時得到一個公鑰和一個私鑰,利用時間戳技術形成區塊鏈,在共識機制保證下,數據篡改極為困難。二是系統信息分布式存放,系統上的所有節點均可下載存放最新、最全的身份認證信息。從此以后,人們不必再隨時攜帶自己的身份證,只需要通過公鑰證明“我是我”,通過私鑰自由管理自己的身份信息。三是激勵機制的存在促使用戶積極維護整個區塊鏈,保證系統長期良性運作,系統穩定性更高、維護成本更低[8-11]。
目前,已經有部分區塊鏈身份認證和電子存證產品面世,如2017年區塊鏈企業ShoCard與航空服務商SITA合作開發了SITA Digital Traveler Identity App的身份認證應用。該應用融合了基于區塊鏈的數據和面部識別技術,致力于簡化航空公司乘客身份驗證流程,以及實現機場實時數據流。微軟宣布和Blockstack Labs、ConsenSys合作,推出基于區塊鏈技術的身份識別系統,實現人、產品、應用和服務的深度交互。IBM與法國國民互助信貸銀行合作完成了一個基于區塊鏈技術的身份認證系統,該系統采用超級賬本(Hyperledger)區塊鏈框架引導客戶向第三方(比如本地公共部門或零售商)提供身份證明。國內在線合同簽署企業法大大聯合阿里云郵箱推出了基于區塊鏈技術的郵箱存證產品、眾簽科技與中證司法鑒定中心合作推出了“存證云”司法鑒定平臺、北京合鏈共贏科技開發的文檔存證系統等,都運用區塊鏈技術對用戶身份和文件進行鑒別和防偽。
第三代身份認證技術在21世紀初移動互聯網高速發展的背景下興起,主要包括人體生物特征識別技術、第三方賬號授權技術、基于大數據的用戶行為分析技術、量子加密技術、輕量級加密算法。這些技術多針對以智能手機APP應用為代表的輕量級應用場景,發展較為迅速,展現出勃勃生機。
在當前的研究與應用領域中,生物特征識別主要關系到計算機視覺、圖像處理與模式識別、計算機聽覺、語音處理、多傳感器技術、虛擬現實、計算機圖形學、可視化技術、計算機輔助設計、智能機器人感知系統等其他相關的研究,雖然生物識別技術早在20世紀60年代開始研究,但直到近十幾年才廣泛應用。已被用于生物識別的生物特征有手形、指紋、面部、虹膜、視網膜、脈搏、耳廓等,行為特征有簽字、聲音、按鍵力度等[12]。在技術研究方面,當前研究熱點已經由單一生物特征轉向多生物特征融合。
國際上,國際標準化組織(ISO)和國際電工委員會(IEC)已經聯合公布了《信息技術—生物特征—多模態和其他多生物特征融合》(ISO/IECTR24722∶2007)標準,該標準不但包含了對多模態和多生物特征融合做法的描述和分析,它還研討了需求、可能的路徑和標準化來支持多生物特征識別系統,以提高其通用性和實用性。國內,由清華大學丁曉青教授組研制的TH-ID系統多模式生物特征(人臉、筆跡、簽字、虹膜)身份認證識別系統已通過教育部組織的專家鑒定。該系統能夠實現在復雜背景下的圖像和視頻人臉自動檢測、識別和認證,在人臉、筆跡、簽字、虹膜的識別認證技術上取得了重要進展,在整體上達到了國際領先水平。
在商業應用推廣方面,目前最為成熟的是指紋識別和面部識別。在指紋識別方面,北大高科等對指紋識別技術的研究開發國際先進水平,已推出多款產品。漢王科技公司在一對多指紋識別算法上取得重大進展,達到的性能指標中拒識率小于0.1%,誤識率小于0.0001%,居國際先進水平;2014年蘋果公司在iPhone5s上首次集成Touch ID指紋識別組件,目前已經升級為2.0版本,識別精度超過同類產品。在面部識別方面,2017年蘋果公司在iPhoneX上首次集成商用化Face ID面部識別組件,搭載環境光傳感器、距離感應器,還集成了紅外鏡頭、泛光感應元件(Flood Camera)和點陣投影器,多種配置共同搭建用戶3D 臉部模型。
在實際應用中,生物識別功能和FIDO技術結合較為緊密,主流千元級智能手機一般都搭載生物識別模塊(指紋識別和攝像頭),隨著智能手機處理器運算能力和生物識別模塊識別精度的進一步提高,生物識別技術的應用將更加廣泛。
該技術在2012年之后開始應用,主要應用場景是電商領域,其基本思想是:一個固定用戶的購物行為總是遵循一定的習慣,在購物站點上則表現為操作中存在的規律性。身份驗證正是通過對顧客的消費習慣、瀏覽習慣甚至在購物站點的操作習慣來判斷顧客是否為竊用者。該技術要求系統數據庫跟蹤記錄每個用戶的歷史行為,并按照一定的算法從中抽取規律,建立用戶行為模型,當用戶突然改變他們的行為習慣時,這種異常就會被檢測出來。因此,該技術也可以歸為網絡入侵檢測中的審計統計模型。
基于審計信息的攻擊檢測方法是在證據模型和跟蹤用戶行為的基礎上建立起來的。由審計系統實時的檢測用戶對系統的使用情況,根據系統內部保存的用戶行為概率統計模型進行檢測。當發現有可疑的行為發生時,保持跟蹤并監測、記錄該用戶的行為。系統要求根據每個用戶以前的歷史行為,生成每個用戶的歷史行為記錄庫,當用戶改變他們的行為習慣時,這種異常就會被檢測出來。
目前國外已有多個用戶行為分析產品商業化,如美國Heap、Trak公司的產品可以實時實現用戶全程操作行為記錄,一旦發現異常可以進行自動郵件提醒。Mouseflow公司的產品可以通過記錄用戶鼠標歷史軌跡進而對用戶操作進行分析。國內阿里巴巴和騰訊通過淘寶、天貓、QQ、微信等應用積累了大量用戶行為數據,并提取了上萬個行為維度,通過建立自學習的風險控制引擎(Risk Engine)實現對用戶異常行為(可疑登錄、轉賬)的質疑和阻止[13,14]。
量子加密技術重點解決的是密鑰分發問題。其基于量子力學開發,如果有人試圖攔截加密的內容,查看這個加密內容的行為將會改變內容。入侵者不但無法獲得加密的內容,而且授權人員會知道有人試圖獲取或篡改內容。目前主流發達國家都在進行量子加密前沿研究,英國、瑞士均已經實現基于BB84方案的30km距離的量子密鑰分發實驗。美國LosAlamos實驗室已經進行基于B92方案的48km量子密鑰傳送。
2016年8月,我國發射了首顆量子科學試驗衛星“墨子號”,得益于量子保密通信絕對安全性,量子通信不僅應用于百姓日常通信,也可用于水、電、煤氣等能源供給和民生網絡基礎設施的通信保障,還可應用于國防、金融、商業等領域,勢必對產業界和科技界產生巨大變革。
在輕量級加密算法研制方面,歐美等國正積極研制針對RFID訪問控制、電子護照身份識別的專用壓縮算法,重點解決在計算能力、存儲能力、能量密度等硬件極度受限情況下的傳統密碼算法應用難題。未來,隨著云計算和物聯網技術的廣泛應用,量子加密和輕量級加密算法在身份認證中的應用會逐漸展開[15,16]。
(1)隨著網絡空間安全形勢的日趨復雜,簡單的靜態口令身份認證方式已經不能滿足人們的生活、工作需要,人們急需適應當前移動互聯網應用形勢下的安全可靠易用的身份認證技術[17,18]。
(2)網絡可信身份認證技術的演進,除受技術發展本身的制約外,還受到一國國情、法律政策、民眾習慣等多種非技術因素影響。
(3)不同的身份認證技術要與應用場景相匹配,不合適的匹配輕則降低效率、造成不好的用戶體驗,重則導致業務安全風險和個人業務信息泄露。