蔣才平 亢 洋 李景華 郭小波 田 青
(公安部第一研究所 北京 100048)
(多維身份識別與可信認證技術國家工程研究中心 北京 100048)
(Jiang_caiping@126.com)
隱私計算技術起源于圖靈獎得主姚期智院士在1982年提出的“百萬富翁”問題,姚期智院士據此提出“安全多方計算”(secure multiparty computation, SMPC)概念,并于1986年提出基于混淆電路的安全多方計算解決方案,開啟了隱私計算研究的先河.隨著研究的廣泛和深入,除混淆電路外,秘密共享、同態加密、零知識證明等多種基礎安全保護技術也逐步用于隱私計算.2021年,中國信息通信研究院發布《隱私計算白皮書(2021年)》[1],對當前隱私計算的技術體系進行了總結,如圖1所示:

圖1 隱私計算技術體系
對于什么是隱私計算業界尚無統一定義.聯合國全球大數據工作組將隱私計算技術定義為在處理和分析數據的過程中,能保持數據的加密狀態、確保數據不會被計算方以及其他非授權方獲取的技術[2];中國信息通信研究院發布的《隱私計算白皮書(2021年)》將隱私計算定義為在保證數據提供方不泄露原始數據的前提下,對數據進行分析計算的一系列信息技術,保障數據在流通與融合過程中的“可用不可見”[1];《騰訊隱私計算白皮書2021》將隱私計算定義為一種由2個或多個參與方聯合計算的技術和系統,參與方在不泄露各自數據的前提下通過協作對其數據進行聯合機器學習和聯合分析[3].
目前隱私計算的應用主要集中在大數據領域.隱私計算不僅可以應用到大數據領域,在特定小數據和特定專業領域同樣可以發揮關鍵作用[4].本文探討隱私計算技術在網絡身份認證中的應用就屬于特定專業領域的小數據應用場景.
本文認為隱私計算是一種在有效保護敏感信息的前提下正確實現計算目標的計算范式.大數據也好,小數據也罷,凡能有效實現計算目標、又具備良好隱私保護效果的技術都應屬于隱私計算的范疇.本文使用現有基礎安全保護技術探討網絡身份認證中的隱私計算問題的同時,也嘗試探索實現隱私計算的新路徑和新方法.
身份認證有時也稱為身份鑒別、身份驗證或身份鑒權,本文以“身份認證”的表達為主.為保持與相關文獻的一致性,個別地方也會沿用“身份鑒別”的表達.對于身份認證,大致可以理解為認證方通過一定手段完成對被認證方(通常為系統的用戶)身份確認的過程.身份認證的核心目的在于,確認當前聲稱是某種身份的用戶確實是其所聲稱的用戶,即確保用戶真實身份與其所聲稱的身份一致.
常規意義上的身份認證呈現線下與線上2種場景模式.早期主要為線下身份認證,隨著信息系統和網絡技術的迅猛發展,當前主要指線上身份認證,也稱網絡身份認證,即客戶端與服務端之間通過網絡實施身份認證.網絡身份認證的認證對象(即被認證方)既可以是人,也可以是設備或物體,甚至是抽象、虛擬的事物(如進程、會話過程、數據等)[5].本文重點聚焦針對人的網絡身份認證,其基本原理和主要概念對于線下身份認證及其他網絡身份認證也大致適用.
2.2.1 網絡身份認證體系架構
僅從身份認證的概念出發很容易將網絡身份認證理解為僅限于認證方和被認證方之間的互動行為,如圖2所示.這種認知很容易忽視很多重要信息,對深入全面地正確理解身份認證形成障礙.

圖2 身份認證兩方體系架構
為實現可信認證用戶身份的目標,需要構建如圖3所示的網絡身份認證五方體系架構[6].其中,虛線代表實體間的邏輯連接關系,可以是直接通信,也可以是通過第三方間接通信.

圖3 網絡身份認證五方體系架構
完整的網絡身份認證體系通常包含用戶、身份簽發方、身份認證方、身份依賴方(即業務系統)和監督管理方5個相對獨立的相關方[7].其中,監督管理方是相關法律法規、政策制度、標準規范的制定者,也是實施指導、監督管理方的總稱,監管范圍覆蓋其他所有各方.通常將網絡身份認證體系劃分為身份簽發和身份認證2個環節,各方之間關聯關系及各環節相關流程如圖3所示.
網絡身份認證體系架構也稱為身份認證的基礎設施,意在突出強調體系架構之于身份認證的重要性和必要性.身份認證雖然發生在認證方和被認證方之間,但僅依賴這兩方無法實現正確、可靠、符合預期的身份認證結果,因為用戶、身份簽發方、身份認證方和身份依賴方之間存在復雜的依賴和信任關系.
2.2.2 網絡身份認證信任關系
網絡身份認證體系正常運轉需滿足以下信任假設:第一,身份依賴方無條件信任身份認證方所作出的認證斷言;第二,用戶、身份認證方和身份依賴方均高度信任身份簽發方,認為身份簽發方在身份簽發環節的相關操作是誠信、嚴謹和權威的,從而在身份認證環節認可身份簽發方確定的認證方法,依賴和使用身份簽發方在身份簽發環節采集和留存的相關數據;第三,通常所說的身份認證是身份認證方對用戶的單向認證,在認證成功前身份認證方和身份依賴方對用戶持懷疑態度,認證通過后轉化為信任.因用戶和身份認證方采取雙向認證模式的場景較少,這里不作重點討論.
從上述信任假設可以看出,整個體系中,身份簽發方和身份認證方不同程度承擔其他方的信任依賴,因此通常由具備較高權威性的機構承擔,最好具備主管部門的認可和授權并依規接受監督管理.
本文從隱私計算視角探討網絡身份認證系統中用戶核心敏感信息的保護問題.網絡身份認證系統中的用戶核心敏感信息主要指用戶賴以證明自身身份的關鍵數據,如口令、生物特征信息、密鑰等.身份簽發方通常具備較高的權威性、可信度和安全保障能力,適度留存必要的涉隱私數據和核心敏感信息的風險相對較低.與身份簽發方相比,身份依賴方和身份認證方的權威性、可信度和安全保障能力較低,如釣魚網站就屬于非法、惡意的身份依賴方和身份認證方.由此可見,身份認證環節存在的侵害隱私風險要高于身份簽發環節,關注和強化身份認證環節的隱私保護問題更為必要和迫切.
如表1所示,網絡身份認證中的隱私計算可劃分為2個等級:一是按照隱私計算思想和原則設計身份認證機制,在不分享和泄露用戶核心敏感信息的前提下實現身份認證計算目標,將此定義為基本型隱私計算身份認證機制;二是在實現基本型隱私計算身份認證機制的前提下,同時滿足不在身份簽發環節留存用戶身份認證核心敏感信息的要求,將此定義為增強型隱私計算身份認證機制.除此之外,無法在不分享和泄露用戶身份認證核心敏感信息前提下實現身份認證計算目標的情形,統一定義為非隱私計算身份認證機制.

表1 網絡身份認證中隱私計算分級方法
根據認證對象的不同,網絡身份認證可以采用多種不同的認證方法實現.以人為對象的網絡身份認證主要通過以下3種途徑實現:1)核實個人所知曉或掌握的知識(what you know),即通常所說的口令認證.這里主要指靜態口令認證,動態口令的認證邏輯相對復雜,本文不作重點討論.2)核實個人所擁有的特定物品(what you have).這里所說的特定物品可以是身份證、護照等傳統身份憑證,也可以是U盾和智能IC卡形態的智能密碼鑰匙等.3)核實個人生物特征(what you are).個人生物特征包括人臉、指紋、掌紋、聲紋、DNA、視網膜等.對于一般業務場景,只需1種認證手段即可較高可信度地確認對方身份,如單獨使用口令(常用于登錄網站)、人臉/指紋(常用于登錄電腦和門禁設備)、U盾(常用于網絡金融業務)等,這類認證稱為單因子認證.對于安全性要求較高的特殊應用領域,如涉及資金交易時還可能要求同時通過多種認證手段,如使用口令的同時刷臉或使用U盾,這類認證稱為多因子認證.
本文根據上述3種實現途徑,從基于智能密碼鑰匙的身份認證、基于靜態口令的身份認證和基于生物特征的身份認證3個方面,探討如何將隱私計算思想和技術應用于網絡身份認證.
3.1.1 基于智能密碼鑰匙的身份認證機制的隱私計算等級分析
智能密碼鑰匙的功能是安全存儲用戶私有密鑰和進行密碼運算,因此,基于智能密碼鑰匙的身份認證本質上就是基于密碼的身份認證[8].當前業界存在的基于密碼的身份認證機制種類和數量繁多,很難通過統一而簡單的方式闡述.國家標準GB/T 15843《信息技術 安全技術 實體鑒別》對20余種主流常用的基于密碼的身份認證機制進行了標準化.表2所列的6種鑒別/認證機制采用“挑戰-響應”認證方法,是常用和典型的認證方法且符合本文設定的認證場景,本文以此6種認證機制為例討論隱私計算分級.

表2 GB/T 15843中6種常用的基于密碼的身份認證機制
采用“挑戰-響應”認證方法的單向身份認證機制中,被認證方使用僅受其控制的認證密鑰對挑戰數實施正確的密碼運算,以表明其真實擁有該認證密鑰的控制權,從而向認證方間接證明其身份.單次傳遞鑒別與兩次傳遞鑒別的主要差別在于,前者約定以時間戳或特定序列號作為挑戰數,后者強調必須用認證方產生的隨機數充當挑戰數.
從隱私計算視角看,基于密碼的身份認證重點保護的核心敏感信息就是用來證明被認證方身份的認證密鑰.根據GB/T 15843,基于密碼的身份認證機制要求認證方與被認證方預先共享1個秘密認證密鑰,但未對密鑰產生和分發方式作出具體規定.為便于分析,本文作出如下合理假設:1)對稱密鑰均由身份簽發方產生,并通過安全方式分發給身份認證方和用戶;2)非對稱密鑰均由用戶產生,私鑰僅由用戶私密控制,公鑰提交給身份簽發方,再由身份簽發方發布/分發給身份認證方.
結合上述條件,根據2.3節進行分析不難發現,采用對稱加密算法、不涉及可信第三方的單次/兩次傳遞單向認證機制和采用密碼校驗函數的單次/兩次傳遞單向認證機制均需要在身份簽發環節留存身份認證核心敏感信息,且需要分享給身份認證方,顯然屬于非隱私計算身份認證機制;采用數字簽名技術、不涉及可信第三方的單次/兩次傳遞單向認證機制則屬于增強型隱私計算機制.具體如表3所示:

表3 6種常用基于密碼的身份認證機制的隱私計算分級
3.1.2 基于智能密碼鑰匙的身份認證機制的改進
對于“密鑰持有”的一般泛化理解是默認密鑰持有者擁有該密鑰的全部控制權,即可以使用該密鑰執行各種可能的運算和操作,這里稱之為“全權持有密鑰”.由3.1.1節可知,采用對稱加密算法和密碼校驗函數的身份認證機制中,身份認證方、被認證方與用戶共享秘密認證密鑰,成為秘密認證密鑰的共同持有者,“密鑰持有”即 “全權持有密鑰”的條件下,默認身份認證方、被認證方與用戶共同擁有該認證密鑰的控制權.現實場景中,“全權持有密鑰”并非普遍存在,通常僅限于密碼體系最頂層的密鑰管理者或管理機構,其他密鑰應用層雖然也持有和使用密碼設備,但實際都受到不同程度的限制.例如,很多人持有的智能芯片銀行卡、社保卡、U盾等均載有各自業務相關的密鑰,這些密鑰載體邏輯上歸持有者保管和控制,持有者原則上確實擁有相應密鑰的控制權,但他們很少關注密鑰的存在,更不用提對密鑰的管理和運算了.現實中密鑰持有者對密鑰的控制支配能力是受諸多規則和條件限制的,這里稱之為“限權持有密鑰”.
基于對“限權持有密鑰”的理解,針對特定系統可以制定“定制化限權持有密鑰”方案,以在達成計算目標的同時滿足隱私計算的要求.以采用對稱加密算法、不涉及可信第三方的兩次傳遞單向認證機制為例,通過對身份認證方持有的密碼設備及密鑰使用權限進行恰當的限制性設計,可以在滿足身份認證功能需求的同時,確保密鑰不被身份認證方用于除驗證被認證方身份之外的其他目的.該機制關鍵核心要點包括:1)認證基礎協議遵循GB/T 15843.2 6.2.2要求;2)身份認證使用的密鑰統一由身份簽發方生成和管理,其他參與方均信任身份簽發方的權威性;3)智能密碼鑰匙作為用戶認證密鑰存儲和計算載體,所承載的認證密鑰由身份簽發方在身份簽發環節寫入,僅對外開放和接受挑戰數請求、返回響應有關的接口和指令;4)身份認證方部署專用密碼硬件設備,密鑰必須在身份簽發方控制下導入,僅面向認證方提供挑戰生成和響應驗證功能,禁止任何直接或間接的加解密調用.
根據2.3節,上述改進后的采用對稱加密算法、不涉及可信第三方的兩次傳遞單向認證機制提升為基本型隱私計算身份認證機制.基于類似原理,采用對稱加密算法、不涉及可信第三方的單次傳遞單向認證機制,以及采用密碼校驗函數的單次/兩次傳遞單向認證機制,均可提升為基本型隱私計算身份認證機制.
3.2.1 基于靜態口令的身份認證機制的隱私計算等級分析
靜態口令存在易受字典攻擊、重放攻擊等弱點,但因其不依賴任何外部設備,簡單、便捷、易用,成為使用最早、應用最廣泛的身份認證手段.針對圖3所示的網絡身份認證五方體系架構,基于靜態口令的身份認證基本原理[12]如下:用戶在身份簽發環節預留口令或必要時通過身份簽發方更新口令,身份簽發方為每個用戶維護1組二元數據[用戶ID、口令認證數據],口令認證數據根據所采用的認證方案可以是口令本身,也可能是口令的某種特定映射;身份簽發方及時以安全方式把包含二元數據的用戶信息表同步給身份認證方;在身份認證環節,用戶通過出示用戶ID及口令證明自身身份,認證方通過核驗認證現時從用戶處獲取的口令認證數據與之前從身份簽發方獲得的口令認證數據是否匹配完成用戶身份認證.
主流基于靜態口令的身份認證方案有口令匹配認證、哈希值匹配認證和加密時間戳認證:1)口令匹配認證.口令認證數據為用戶口令明文,認證時用戶輸入口令提交認證方,認證方根據用戶ID在用戶信息表中查找預存的認證數據(口令明文),一致則認證成功,否則認證失敗.2)哈希值匹配認證.口令認證數據為用戶口令的哈希值,認證時用戶輸入口令,客戶端對口令作哈希變換并將哈希值提交認證方,認證方根據用戶ID在用戶信息表中查找預存的認證數據(口令哈希值),一致則認證成功,否則認證失敗.3)加密時間戳認證.口令認證數據為以用戶口令為種子生成的1個對稱密鑰,認證時用戶輸入口令,客戶端以相同規則生成對稱密鑰,并用該密鑰對當前時間戳加密,將密文提交認證方,認證方根據用戶ID在用戶信息表中查找預存的認證數據(以用戶口令為種子生成的對稱密鑰),以此密鑰解密接收到的密文,解密結果與當前時間誤差如果小于規定范圍,則認證成功,否則認證失敗.
從上述3種基于靜態口令的身份認證方案的認證過程和認證原理可知,口令明文、口令哈希值、以口令為種子生成的對稱密鑰在各自認證方案中屬于重點保護的敏感數據,直接關系認證安全.表4給出了3種基于靜態口令的身份認證方案及各環節涉及的敏感數據:

表4 基于靜態口令的不同身份認證方案及各環節涉及的敏感數據
根據2.3節,口令匹配認證、哈希值匹配認證和加密時間戳認證均需要在身份簽發環節留存身份認證核心敏感信息,且無法在不分享和泄露身份認證核心敏感信息前提下實現身份認證計算目標,顯然,這3類認證均可歸類為非隱私計算身份認證機制.
3.2.2 基于靜態口令的身份認證機制的改進
根據表3,基于數字簽名技術的單向認證可實現增強型隱私計算身份認證機制.這里對靜態口令進行適當處理,如以口令的哈希值為私鑰構造基于離散對數或橢圓曲線的公鑰密碼.設離散對數公鑰密碼基本根為g,口令為PW, 則私鑰sK=hash(PW),公鑰pK=gsK.設橢圓曲線公鑰密碼基點為G, 則私鑰sK=hash(PW),公鑰pK=sK·G.在此基礎上,基于GB/T 15843.3,可將基于靜態口令的身份認證機制轉化為采用數字簽名技術的單次/兩次傳遞單向認證機制.
靜態口令熵值偏低,易受字典攻擊,用其構造的私鑰在強度和安全性方面都無法與基于智能密碼鑰匙產生的密鑰相提并論.但可以看到,改進方案的用戶口令明文僅在輸入時出現在客戶端,未超出用戶自身控制的范圍/環境,留存給身份簽發方和身份認證方的認證數據均為基于離散對數或橢圓曲線產生的公鑰,可以確保實現身份認證的同時不泄露用戶口令及私鑰.顯然,改進后的基于靜態口令的身份認證機制已提升為增強型隱私計算身份認證機制.
3.3.1 基于生物特征的身份認證機制的隱私計算等級分析
生物特征識別技術是指利用人體本身特有的生理特征和(或)行為特征,采用模式識別和圖像處理的方法進行身份識別.常用于身份識別的生物特征包括指紋、人臉、聲紋、掌紋、DNA、視網膜等.針對圖3所示的網絡身份認證五方體系架構,基于生物特征的身份認證要點[13]如下:1)在身份簽發環節,用戶采集并預留生物特征標樣,身份簽發方為每個用戶維護1組二元數據[用戶ID、生物特征標樣],生物特征標樣可以是生物特征原始數據(標樣原圖),也可以是根據原始數據提取的特征模板(標樣模板);2)在認證數據同步環節,身份簽發方及時以安全方式把包含二元數據的用戶信息表同步給身份認證方;3)在身份認證環節,用戶出示用戶ID和現場采集的生物特征試樣數據以證明自身身份,認證方通過計算認證時采集的試樣數據(試樣原圖或試樣模板)與之前從身份簽發方獲得的標樣數據的相似度來判定用戶身份,如果相似度大于設定閾值,則認證成功,否則認證失敗.
根據2.3節,在基于生物特征的身份認證機制中,無論是標樣模板與試樣模板的比對,還是標樣原圖與試樣原圖的比對,均需要在身份簽發環節留存身份認證核心敏感信息,且無法在不分享和泄露身份認證核心敏感信息前提下實現身份認證計算目標,顯然,這種認證機制屬于非隱私計算身份認證機制.
3.3.2 基于生物特征的身份認證機制的改進
圖4為引入公鑰密碼加解密技術的基于生物特征的身份認證機制改進方案.方案將身份簽發方定義為可信參與方,由其產生和管理密鑰;身份認證方為非可信方,部署具備特定邏輯計算功能的身份認證密碼機,密碼機私鑰在身份簽發方控制下導入并僅限內部解密調用.標樣密文和試樣密文須在身份認證密碼機內先解密再特征比對,向認證服務器返回比對結果“是”或“否”.

圖4 基于公鑰密碼的生物特征身份認證改進方案
上述改進方案中,身份簽發方擁有密鑰管理控制權,因此對身份簽發方而言,標樣密文等同明文,是可見的;對身份認證方而言,標樣原圖/模板、試樣原圖/模板均以密文形式存在,且認證過程中不會暴露明文數據,顯然是不可見的.根據2.3節,上述改進方案屬于基本型隱私計算身份認證機制.
本文基于網絡身份認證五方體系架構模型,運用隱私計算的思想、方法和原則,探討了身份簽發和身份認證環節中用戶認證密鑰、靜態口令、生物特征信息等核心敏感信息的保護問題,并對不滿足隱私計算條件的認證機制提出了改進方案,對強化網絡身份認證系統的隱私保護具有一定的參考價值和意義.
本文對網絡身份認證中隱私計算技術的應用研究仍處于初級階段,諸多內容的討論并不深入和全面,主要局限在:1)本文討論主要針對圖3所示的網絡身份認證五方體系架構模型,并假設參與方都是獨立的主體.實際應用中的網絡身份認證并不一定采用理想的五方標準模型,多數情況下都以其變形衍生形態出現[14].2)真實網絡身份認證系統涉及的核心數據很多,目前應用普遍的動態口令認證本文未討論.3)隨著大數據、人工智能等技術的發展和進步,身份認證的手段和方法越來越豐富和完善[15],基于大數據的行為追溯、基于風控的風險預測、基于社會工程學的行為分析等逐步用作身份認證的輔助措施,本文均未涵蓋到.未來將在突破上述局限方面作出進一步的探索和嘗試.