?

面向文化資源可信共享的多因子身份認證方案

2023-11-19 06:52王苗苗芮蘭蘭徐思雅
通信學報 2023年10期
關鍵詞:多因子賬本分布式

王苗苗,芮蘭蘭,徐思雅

(北京郵電大學網絡與交換技術國家重點實驗室,北京 100876)

0 引言

隨著中華民族的不斷發展,中國文化越來越豐富多彩,文化資源數據日益龐大。根據現行的團體標準[1],文化資源數據是指對人類文化中傳承下來并可以傳播利用的文化進行數字化采集后,所得到的用于識別和展現文化的圖像、文字、聲音、動畫、影片、三維全景、三維模型等數據。為保障共享文化資源的安全性,接入方的可信身份認證成為首要解決的問題。

計算機技術的發展日新月異,市場主體變得多元化,越來越多的市場主體構建了系統,其認證方式多種多樣,有基于密碼的認證、基于個人身份識別碼(PIN,personal identification number)的認證、基于證書的認證等。這些認證信息均存儲在各系統的服務器中,構成了認證信息孤島,無法有效進行統一接入認證和信息流通[2]。在弱信任環境下,多元市場主體存量系統接入文化資源數據共享體系成本高,不同市場主體的安全等級不同,主體用戶可信度差異大,文化資源數據共享體系難以對不同市場主體不同用戶的身份進行安全可信管理,現有的身份認證方案無法基于異構身份進行統一身份認證。另外,對于新接入文化資源數據共享體系的用戶,缺乏能夠兼容存量系統用戶身份的統一身份認證算法。

傳統的單因子認證存在較高風險,惡意節點可以通過離線字典攻擊獲取用戶密碼等,容易造成數據泄露和身份冒充[3]。近年來,為了加強認證的安全性,有些系統采用了雙因子認證方案,例如,銀行柜員登錄柜面系統時需要輸入密碼和指紋進行雙重驗證以確保銀行資產的安全性。在歐盟,一些國家的數據保護部門已經建議使用多因子身份認證,作為遵守歐盟數據保護指令中“采取適當的技術和組織措施來保護個人數據”義務的一種手段[4]。身份認證因子可以分為三類:基于記憶的,如口令、安全問題等;基于持有物的,如數字證書、U 盾等;基于生物特征的,如指紋、聲紋等。攻擊者很難破壞所有認證因素,聚合多種認證因子驗證接入者的身份,能夠大幅提高身份認證的安全性和可靠性。身份認證方案的演變如圖1 所示。

圖1 身份認證方案的演變

目前,有些學者研究了基于多因子的身份認證方案。文獻[5]研究了基于屬性的多授權中心身份認證方案,采用基于屬性的加密算法可以抵抗t-1個授權中心的合謀攻擊,但該方案采用昂貴的雙線性配對運算進行身份認證,降低了認證效率。文獻[6]提出了一種用于車聯網的輕量級多因子身份認證方案,采用物理不可克隆函數和一次性動態偽身份的組合作為身份驗證因素實現身份認證,但該方案需采用防篡改設備,增加了認證成本。文獻[7]提出了一種基于多因子認證的數據備份方案,通過組合存儲在用戶智能卡和筆記本電腦中的分段密鑰重建密鑰進行身份認證,也能通過密碼和生物識別技術找回密鑰,但該認證方案需要2 種額外的設備配合,成本較高。文獻[8]設計了基于混沌映射的多因子認證密鑰協商協議,通過擴展混沌映射算法和動態身份實現用戶認證的匿名性,但該方案采用額外的移動存儲設備,并且僅能通過密碼和生物特征進行認證,成本較高且靈活性差?;诙嘁蜃拥纳矸菡J證方案的研究對于提高接入者身份的安全性具有重要意義。然而,上述多因子認證方案均依賴可信第三方或智能設備等,存在數據集中泄露或智能設備被盜導致身份冒用的風險。并且,對于文化資源可信交互場景,如何復用存量系統的多因子認證信息進行統一接入認證還缺少具體方案。

區塊鏈是一種分布式賬本技術,具有去中心化、數據防篡改和交易可追溯等特點,適合解決信任問題[9]。采用分布式賬本存儲加密身份因子信息能夠避免數據集中泄露和智能設備身份冒用的風險,同時,能降低采用智能設備產生的額外成本??紤]到不同存量系統的認證方式不同和單因子認證安全性差的問題,本文設計了基于區塊鏈的多因子身份認證方案,利用分布式賬本的分布性和不可篡改性存儲多因子身份信息,解決存量系統多因子身份數據孤島問題,保證身份信息的分布式可用性,結合輕量級的異或運算和非對稱加密算法,聚合多因子身份信息認證文化資源系統接入方的身份,能夠提升文化資源可信共享的安全性和效率。

本文主要的貢獻如下。

1) 提出基于區塊鏈的多因子認證架構,該架構能夠兼容存量系統的多因子認證信息,降低存量系統的接入成本。分布式賬本的不可篡改性和分布性能夠保障多因子身份信息的真實性和可用性,為文化資源可信共享提供異構數字身份認證基礎。

2) 設計輕量級的多因子身份認證方案,利用非對稱加密算法和異或運算聚合多因子身份信息實現快速的身份認證,不局限于某一個或幾個特定的身份因子,提高了身份認證的靈活性、安全性和效率。

3) 對所提方案進行BAN 邏輯安全分析和仿真實驗,結果表明該方案具有良好的安全性和較高的認證效率。

1 預備知識

1.1 區塊鏈

2008 年,Nakamoto[10]提出了點到點(P2P,peer-to-peer)網絡解決方案,即區塊鏈技術。區塊鏈是一種分布式賬本技術,用于轉移所有權、保存交易記錄、跟蹤資產等,通過共識算法確保各類交易的透明度、信任度和安全性[11]。智能合約是一種執行合約條款的計算機交易協議,它是區塊鏈2.0的代表性技術,允許無第三方的可信交易,交易可追溯且不可逆。區塊鏈分為公有鏈、私有鏈和聯盟鏈,公有鏈是指任何個人或組織都能發送交易或參與交易共識的區塊鏈;私有鏈是指其寫入權利由個人或組織獨享的區塊鏈,具有更快的交易速度和更高的隱私性;聯盟鏈是介于公有鏈和私有鏈之間的一種區塊鏈,針對某些特定成員,區塊的生成由預選節點共同決定。

區塊鏈已廣泛用于眾多領域,可提供更高的安全保障[12]。

1.2 模糊提取器

2004 年,Dodis、Reyzin 和Smith[13]首次提出了模糊提取器(FE,fuzzy extractor),用于提取隨機源中均勻分布的隨機字符串。模糊提取器能夠將有噪聲的隨機源轉化成均勻隨機的字符串,并且精確再生,這使其可以應用于人類生物特征提取中。人類的生物特征包括指紋、聲紋、虹膜、人臉等,每次讀取的生物特征會有一些偏差,通過模糊提取器還原生物特征,能夠將生物特征用于身份認證。

模糊提取器包括生成算法Gen 和再生算法Rep,可表示為FE=(Gen,Rep),如圖2 所示。Gen輸入生物特征的一次采樣字符串w,輸出一個字符串R和一個幫助字符串P。Rep 輸入生物特征的另一次采樣字符串w' 和Gen 的幫助字符串P,輸出一個字符串R' 。FE 的正確性要求是如果兩次采樣w和w'的距離足夠近,那么R=R',安全性要求是如果生物特征有足夠多的熵,那么R是均勻隨機的。

圖2 模糊提取器

2 系統概況

2.1 系統模型

當用戶需要訪問文化資源服務時,必須先進行身份認證?;趨^塊鏈的多因子身份認證架構如圖3所示,主要由四部分組成,分別為注冊中心(RA,registration authority)服務器、區塊鏈、存量系統和用戶。

圖3 基于區塊鏈的多因子身份認證架構

1) RA 服務器。RA 服務器作為認證系統的核心角色,是完全可信的,負責系統初始化、用戶身份注冊、用戶身份認證等功能。RA 服務器僅負責身份認證相關的計算工作,不存儲用戶的密鑰和身份信息。

2) 區塊鏈。該方案采用聯盟區塊鏈,由文化資源數據中心、監管機構等權威機構節點維護。分布式賬本用來存儲系統參數、用戶分布式身份標識(DID,distributed identifier)、用戶公鑰和用戶多因子身份信息的哈希值等,這些信息不會暴露用戶的隱私。分布式賬本的不可篡改性能夠保證身份信息的真實性,其分布性也提高了身份信息的可用性。

3) 存量系統。存量系統是指多元市場主體已構建的系統,它們擁有自己的用戶,在認證系統初始化時可以將存量系統中的用戶身份信息導入分布式賬本,以方便存量系統用戶訪問文化資源服務。

4) 用戶。用戶是指需要訪問文化資源服務的實體,分為存量系統用戶和普通用戶。經過系統初始化后,存量系統用戶可以直接使用原有的身份信息進行身份認證,普通用戶在身份認證前需要先進行身份注冊。用戶客戶端程序具有身份注冊和生成可驗證憑證(VP,verifiable presentation)功能。注冊身份信息并通過身份認證的用戶才能訪問文化資源服務。

2.2 數據模型

多因子身份數據模型是實現多因子身份認證的基礎,利用身份管理智能合約在鏈上聚合異構數字身份,構建具有兼容性的身份統一管理模型,能夠降低認證系統改造遷移的建設成本[14]。身份數據模型如圖4 所示,其中,DID 是用戶信息的身份標識,由標識(如“did”)、組織(如“bupt”)、標識字符串(如“2020010123”)組成,該身份標識具有全球唯一性。公鑰為用戶的公鑰信息,身份信息表示用戶的多種身份因子,如口令、指紋、證書等。為兼容存量系統的多種身份因子信息,并確保身份因子的機密性,以JSON(JavaScript object notation)格式存儲身份因子的類型及其哈希值。身份數據模型以DID 為賬本ID,公鑰和身份信息為賬本值,通過智能合約發布到分布式賬本中。

圖4 身份數據模型

2.3 威脅模型

考慮到所提方案的安全性,本文使用了著名的Dolev Yao 對手模型[15],威脅模型描述如下,本文將在第4 節對其進行分析。

1) 對手可以在網絡中重復傳輸與身份驗證相關的數據。

2) 對手可以竊取與身份驗證相關的數據。

3) 對手可以篡改與身份驗證相關的數據。

2.4 設計目標

面向文化資源可信共享需求,身份認證方案應該滿足以下設計目標。

1) 身份認證方案應兼容存量系統,復用已有的身份因子信息,降低存量系統用戶接入成本。

2) 身份認證方案應實現多因子認證,避免單因子認證造成的數據泄露和身份冒用,提高身份認證的安全性。

3) 身份認證方案應具備靈活性,不局限于某一個或幾個特定的身份認證因子。

4) 身份認證方案應能夠抵御常見的攻擊,具備較高的安全性。

5) 身份認證方案應具備高效性,通過輕量級的計算開銷和通信開銷提高身份認證效率。

3 多因子身份認證方案

多因子身份認證方案共分為5 個階段,分別為系統初始化、身份注冊、身份認證、身份因子更新、身份因子撤銷,方案涉及的符號如表1 所示。

表1 方案涉及的符號

3.1 系統初始化

在身份注冊和身份認證之前需要先進行系統初始化,初始化工作由RA 服務器負責。方案中的加解密操作采用RSA 算法,首先,RA 服務器任意選擇2 個不同的大素數p和q,計算得到n=pq,φ(n)=(p-1)(q-1),選擇一個大整數e滿足gcd(e,φ(n))=1。然后,計算解密密鑰d,滿足demodφ(n)=1,確定 RA 服務器的私鑰為SKRA={n,d},公鑰為PKRA={n,e}。接下來,選擇安全的哈希函數H0:{0,1}*。最后,將公開初始化參數 Params={{n,e},H0}發布到分布式賬本,SKRA由RA 服務器保存在本地,模糊提取器由RA服務器參照文獻[16]實現。

系統參數初始化之后還需要將存量系統中的身份認證信息同步到分布式賬本,以復用存量多因子認證信息。多因子身份認證平臺僅對存量系統做出整體要求,存量系統中用戶的選擇由存量系統決定,可以是申請訪問文化資源平臺的用戶,也可以是信譽值高且申請訪問文化資源平臺的用戶。根據存量系統的安全等級的不同,多因子身份認證平臺要求其同步不同種類和數量的身份因子信息,例如,在初始化時,安全等級高的存量系統僅需同步用戶的一種基于記憶的身份因子和一種基于生物特征的身份因子到分布式賬本中,而安全等級低的存量系統同步用戶的一種基于記憶的身份因子、一種基于生物特征的身份因子和一種基于持有物的身份因子到分布式賬本中。存量系統首先構建用戶DID,并將數據庫中用戶的身份信息和公鑰以文件的形式安全地發送給RA 服務器。RA 服務器收到用戶批量身份數據信息后,首先,將生物特征信息采用模糊提取器提取生物特征,保存用戶DID 和幫助字符串P的關聯信息,并對全部身份信息進行哈希運算,構建身份數據模型;最后,將其發布到分布式賬本,完成存量系統用戶身份信息的初始化。

3.2 身份注冊

對于一般用戶來說,身份認證之前需要進行身份注冊,注冊算法如下。

1) 用戶構建DID,并在本地生成公私鑰對PKU和SKU,查詢RA 服務器公鑰,使用其對自己的公鑰進行簽名得到σk=sign(PKU,PKRA),接著,向RA服務器發送身份注冊請求register: {DID,σk,info}。

2) RA 服務器收到注冊請求后,首先查詢分布式賬本以確保該DID 未進行身份注冊,并使用自己的私鑰解密得到用戶公鑰 PKU=verify(σk,SKRA);隨后,生成隨機數N,使用用戶公鑰簽名隨機數得到σN=sign(N,PKU),根據DID 的組織類型判斷其需要錄入的身份因素種類和最小數量,然后將σN和多因子身份認證需求返回給用戶。

3) 用戶使用自己的私鑰驗證收到的σN得到N=verify(σN,SKU),并使用自己的私鑰對N進行簽名得到σN=sign(N,SKU),獲取當前的時間戳TS,使用自己的私鑰對時間戳簽名得到σT=sign(TS,SKU)。然后,根據需求錄入多個身份認證因子 {f1,f2,…},使用私鑰對多個身份因子簽名得到σ1=sign(f1,SKU),σ2=sign(f2,SKU)。最后,將多個簽名值 {DID,σN,σT,σ1,σ2,…} 發送給RA 服務器。

4) RA 服務器收到簽名后使用用戶的公鑰分別對其進行驗證得到N'、TS'、f1、f2。首先,比較N'與之前自己生成的N是否相等,若相等,則獲取當前的時間戳TS,計算并判斷TS-TS'≤ΔT是否成立,若成立,則說明該身份信息在有效時間內。然后,查驗身份信息是否滿足要求。若滿足要求,則通過模糊提取器對用戶的生物信息進行特征提取作為該身份因子的特征,并保存用戶DID 與幫助字符串P的關聯信息,計算全部身份因子的哈希值,將 {DID,PKU,H0(f1),H0(f2),…} 發布到分布式賬本中,將結果返回給用戶。

3.3 身份認證

用戶訪問文化資源服務時需要先通過身份認證。身份認證流程如圖5 所示,算法如下。

1) 用戶首先向RA 服務器發送自己的DIDU并請求身份認證。

2) RA 服務器驗證用戶DIDU存在后從分布式賬本查詢用戶的公鑰、身份信息和哈希函數H0,根據DIDU的組織類型確定其需要認證的身份因子種類和數量,并生成隨機混淆值S,使用自己的私鑰對其簽名,再使用用戶公鑰對簽名值加密得到σS=sign(sign(S,SKRA),PKU),并將身份認證因子要求和σS返回給用戶。

3) 用戶收到上述參數后,首先從分布式賬本查詢RA 服務器的公鑰和哈希函數H0,先使用自己的私鑰解密σS,再使用RA 服務器的公鑰對其驗證,得到混淆值S=verify(verify(σS,SKU),PKRA)。然后,獲取當前時間戳TS,并計算時間戳簽名σT=sign(TS,SKU)。接著,錄入身份信息,如f1、f2,計算 VP={DIDU,f=(f1||f2) ⊕H0(S),σT}。最后,將VP 發送給RA 服務器進行身份認證。

4) RA 服務器收到VP 后,首先使用用戶的公鑰驗證時間戳簽名得到TS'=verify(σT,PKU),并獲取當前時間戳TS,判斷TS-TS'≤ΔT,若成立,則說明認證信息在有效時間內。然后,通過異或運算得到身份信息 (f1||f2)=f⊕H0(S),若f1、f2中存在生物信息,則RA 服務器從本地數據庫中查詢其幫助字符串PU,通過模糊提取器的再生算法和PU重新生成生物特征,并計算H0(f1)、H0(f2),與查詢到的分布式賬本中身份信息哈希值進行比較,若相等且符合認證因子要求,則身份認證通過,允許用戶訪問文化資源服務。

在身份認證過程中,RA 服務器根據用戶DID 的組織類型給出用戶需要驗證的身份因子種類和數量,而不限定于某幾個特定的身份因子,例如,一種基于記憶的身份因子和2 種基于生物特征的身份因子。用戶可以選擇密碼或安全問題等基于記憶的身份因子,再選擇錄入2 個基于生物特征的身份信息,如指紋、人臉、虹膜等。這種認證方式相較于基于智能卡等特定身份因子認證具有一定的靈活性。

3.4 身份因子更新

用戶的某個身份因子泄露后可以對其進行更新,以用戶更新身份因子f1為例,更新算法如下。

1) 用戶首先錄入已有的身份因子f1和更新后的身份因子f1'。然后,使用RA 服務器的公鑰對2 個身份因子加密,再使用自己的私鑰對其簽名得到σf=sign(sign(f1||f1',PKRA),SKU)。接著,獲取當前的時間戳TS,并計算σT=sign(TS,SKU)。最后,向RA 服務器發送身份因子更新請求 update:{DIDU,σf,σT}。

2) RA 服務器收到請求后,首先驗證DIDU存在并獲取其公鑰。然后,獲取當前時間戳TS,并使用其公鑰和自己的私鑰對收到的簽名進行驗證,得到 (f1||f1')=verify(verify(σf,PKU),SKRA),使用用戶的公鑰驗證簽名得到TS'=verify(σT,PKU)。判斷TS-TS'≤ΔT是否成立,若成立,則說明更新請求在有效時間內。若f1中為生物信息,則RA 服務器從本地數據庫中查詢其幫助字符串PU1,通過模糊提取器的再生算法和PU1重新生成生物特征,并計算H0(f1),將其與分布式賬本中的H0(f1)進行比較,若相等,則將分布式賬本中H0(f1)的信息更新為H0(),并將更新結果返回給用戶。

3.5 身份因子撤銷

用戶決定不再使用某個身份因子后可以對其進行撤銷,以用戶撤銷身份因子f1為例,撤銷算法如下。

1) 用戶首先錄入身份因子f1。然后,使用RA服務器的公鑰對身份因子加密,使用自己的私鑰對其簽名得到σf=sign(sign(f1,PKRA),SKU)。接著,獲取當前的時間戳TS,并計算σT=sign(TS,SKU)。最后,向RA 服務器發送身份因子撤銷請求revoke:{DIDU,σf,σT}。

2) RA 服務器收到請求后,首先驗證DIDU存在并獲取其公鑰。接著,獲取當前時間戳TS,使用其公鑰和自己的私鑰對收到的簽名進行驗證,得到f1=verify(verify(σf,PKU),SKRA),使用用戶的公鑰驗證簽名得到TS'=verify(σT,PKU)。計算并判斷TS-TS'≤ΔT是否成立,若成立,則說明撤銷請求在有效時間內。若f1為生物信息,則RA 服務器從本地數據庫中查詢其幫助字符串PU1,通過模糊提取器的再生算法和PU1重新生成生物特征f1,計算H0(f1),將其與分布式賬本中的H0(f1)進行比較,若相等,則將撤銷分布式賬本中H0(f1)的信息,并將撤銷結果返回給用戶。

4 安全分析

4.1 BAN 邏輯安全分析

BAN 邏輯是Burrows、Abadi 和Needham[17]在1989 年提出的一種基于信念的模態邏輯,通常用于分析協議是否能夠達到預期目標。BAN 邏輯中使用的符號如表2 所示,邏輯規則如表3 所示。以用戶U需要驗證身份信息f1、f2為例,本節使用BAN邏輯對所提身份認證方案進行安全分析。

表3 BAN 邏輯規則

表4 方案計算開銷

1) 安全目標。所提身份認證方案能夠認證身份信息f1、f2是用戶的有效身份信息,因此,安全目標為

2) 理想化。所提身份認證方案主要包括用戶和RA 服務器進行信息交互、用戶和RA 服務器分別向分布式賬本查詢信息。消息的理想化為

3) 假設。用戶和RA 服務器分別擁有自己的私鑰,且無法被他人獲取。鑒于分布式賬本的不可篡改性,本文認為用戶和RA 服務器從分布式賬本中查詢到的信息都是可靠的,即根據消息I2 和I4,有假設A3、A4、A13 和A14。根據所提身份認證方案做出如下假設。

4) 分析?;谏鲜隼硐牖图僭O,對所提身份認證方案分析如下。

從假設A5、A6、A7,可以得到消息I3。

從推演D9 可以看出,安全目標已經實現,完成了RA 服務器對用戶U的多因子身份驗證。

4.2 非正式安全分析

本節從重放攻擊、竊聽攻擊、偽裝攻擊和分布式拒絕服務(DDoS,distributed denial of service)攻擊4 個方面對第2 節提出的威脅模型進行非正式的安全分析。

1) 重放攻擊。重放攻擊是指對手向目的方發送重復包以欺騙系統。這是第一個威脅模型假設,對手向RA 服務器發送重復的VP,意圖通過該VP 進行身份認證以非法訪問文化資源服務。在本文認證方案中,用戶生成VP 時,首先獲取當前時間戳,并使用自己的私鑰對其簽名。RA 服務器收到VP后,先驗證用戶的簽名,并將收到的時間戳與當前的時間戳進行對比,若發現其無法通過驗證或已過期,則拒絕通過該VP 進行身份認證,因此,重放攻擊失敗。

2) 竊聽攻擊。竊聽攻擊是指對手企圖在網絡交互中竊取隱私信息。這是第二個威脅模型假設,對手竊聽用戶和RA 服務器之間的交互信息。在本文認證方案中,用戶和RA 服務器進行了3 次交互,分別為DIDU、σS和VP,這些信息均為非隱私信息或者需要用戶私鑰解密才能獲取的有效信息,且無法從中推斷用戶隱私信息。因此,本文認證方案能夠抵抗竊聽攻擊。

3) 偽裝攻擊。偽裝攻擊是指對手以虛假的身份獲取目標系統的訪問權限。這是第三個威脅模型假設,對手采用虛假的VP 向RA 服務器進行身份認證。在本文認證方案中,對手沒有用戶的私鑰,無法對簽名σS進行驗證從而獲取混淆值S,同時,也無法偽造用戶對當前時間戳TS 的簽名,進而無法生成可用的VP。因此,本文認證方案能夠抵抗偽裝攻擊。

4) DDoS 攻擊。DDoS 是指多個攻擊者同時攻擊一個或多個目標,或者一個攻擊者控制多臺機器同時攻擊受害者[18-19]。區塊鏈具有分布式的特點,節點保存區塊鏈的完整賬本。當少于三分之一的節點無法工作時,分布式賬本的使用不會受到影響,RA 服務器仍然可以訪問賬本中的信息進行身份認證。當被攻擊的節點恢復正常時,它可以從其他正常節點檢索整個賬本的信息,并再次成為具有認證功能的正常節點。因此,所提身份認證方案能夠抵抗DDoS 攻擊。

5 仿真實驗與分析

5.1 仿真環境

仿真程序部署在Ubuntu 18.04(64 位)虛擬系統上,其物理機的配置為Intel? Core? i5-10400 CPU@2.90 GHz 處理器和16 GB RAM。

5.2 性能分析

為了分析所提方案的性能,本節從身份注冊、身份認證、身份因子更新和身份因子撤銷4 個方面分析其計算開銷。每個模塊均涉及用戶端和RA 服務器端的計算,分析結果如表 4 所示,其中TA≈ 0.003 ms、Th≈ 0.000 3 ms、TB≈ 0.92 ms分別表示非對稱加解密運算、哈希運算和生物特征提取算法的運行時間,p為身份因子的個數,q為基于生物特征的身份因子的個數。根據實際的多因子認證場景分析,通常p取值為2 或3,q取值為0、1、2 或3,本文中p取值為2.5,q取值為1。認證方案計算時延如圖6所示,各模塊的計算時延均在1~1.2 ms,性能較好。

圖6 認證方案計算時延

5.3 區塊鏈仿真分析

本文采用Hyperledger Fabric 區塊鏈平臺構建異構數字身份模型,在上述仿真環境中搭建了Fabric 2.3 系統,通過智能合約實現數字身份的發布和查詢等功能。為全面測試多因子身份認證的效率,本文設置了2 種不同的虛擬機配置,配置1 采用2 核CPU、4 GB 內存,配置2 采用4 核CPU、8 GB 內存,數字身份信息查詢時延如圖7 所示。同一配置下,不同并發數的數字身份信息查詢時延區別較小,而配置2環境下的查詢時延明顯低于配置1環境下的查詢時延,約為2 ms??梢?,提高區塊鏈環境配置可以提升數字身份信息的查詢效率。本文的仿真實驗受到實驗環境的限制,在實際的應用中,可以搭建環境配置較高的區塊鏈平臺以滿足身份認證性能要求。

圖7 數字身份信息查詢時延

5.4 安全仿真分析

本文采用AVISPA 工具進行安全仿真,在上述物理機中部署了SPAN1.6 程序。AVISPA 是用于建立安全協議模型和分析安全協議的工具,融合了4 種不同的分析終端:OFMC、ATSE、SATMC 和TA4SP,采用HLPSL(high level protocol specification language)建立安全協議的分析模型,可以通過協議模擬、入侵者模擬和攻擊模擬來檢測安全協議是否達到預期的安全目標[20]。

本文將所提多因子身份認證方案轉換為由HLPSL 建立的分析模型。由于該方案中涉及異或操作,因此,本文采用支持異或操作的OFMC 終端和ATSE 終端進行安全仿真分析,結果如圖8 和圖9所示。安全仿真分析結果表明,所提多因子身份認證方案是安全的。

圖8 基于OFMC 終端的AVISPA 安全仿真分析結果

圖9 基于ATSE 終端的AVISPA 安全仿真分析結果

5.5 方案對比分析

為全面分析方案性能,本節從計算時延、通信開銷和安全性等方面將所提方案與已有多因子認證方案IoMT 方案[21]、LMAAS-IoT 方案[22]、SELAMAT方案[23]、AV5G 方案[24]、IoD 方案[25]進行對比分析。

身份認證算法的計算時延和通信開銷對認證效率具有重大影響,本節將所提方案和上述多因子認證方案進行對比分析,結果如表5 所示。其中,Tecc、Tpuf、Tbp、TS分別表示橢圓曲線標量點乘運算、物理不可克隆算法、雙線性配對運算和對稱加解密運算的運行時間,在上述實驗環境下,Tecc≈ 0.003 ms,Tpuf≈ 0.12 ms,Tbp≈ 4.2 ms,TS≈ 0.016 ms。不同方案的認證計算時延和通信開銷對比如圖10 和圖11所示。在計算時延方面,所提方案與IoMT 方案、LMAAS-IoT 方案、AV5G 方案、IoD 方案的計算時延均為1 ms 左右,明顯低于SELAMAT 方案。在通信開銷方面,所提方案認證過程中涉及的通信信息為2 次DID、2 個簽名和一個身份信息,共512 bit,小于其他幾種方案。綜合來說,所提方案在計算開銷和通信開銷方面具有優勢。

表5 計算時延和通信開銷對比分析

圖10 認證方案計算時延對比

圖11 認證方案通信開銷對比

安全性是身份認證系統中最基本的需求,本節將所提方案與上述多因子身份認證方案進行了安全性對比分析。表6 給出了幾種常見的安全性對比分析結果,前5 種方案均基于哈希運算和智能卡等用戶設備實現,認證信息加密后存儲在智能設備中,一旦設備丟失將無法實現身份認證,而所提方案基于區塊鏈技術實現,存儲身份因子的分布式賬本具有分布性使其能夠抵御分布式拒絕服務攻擊。前5 種方案均將全部身份因子聯合加密后寫入智能設備,身份認證時必須輸入全部的身份因子,并且部分方案未能實現身份的更新或撤銷。而所提方案的身份因子獨立存儲在分布式賬本中,可以靈活地根據文化資源共享系統接入者的所在組織選擇其中的某幾種身份因子進行認證。綜合來說,所提方案安全性更強。

表6 安全性對比分析

6 結束語

本文提出了面向文化資源可信共享的多因子身份認證方案。該方案能夠兼容存量系統中的多種身份因子,解決了多元市場主體存量系統接入成本高的問題。并且該方案基于分布式賬本構建異構數字身份數據模型,為多因子身份認證方案提供基礎身份數據。多因子認證算法包括系統初始化、身份注冊、身份認證、身份因子更新和身份因子撤銷,利用非對稱加密算法和異或運算實現了快速多因子身份認證,提高了多因子身份認證的靈活性,避免了單因子認證的安全風險。安全分析和仿真結果表明,該方案具有較高的安全性和認證效率。

另外,該方案不僅適用于文化資源可信共享場景,還能擴展應用于智能醫療、工業物聯網等領域,實現基于多因子的身份認證,提升敏感信息可信共享的安全性和效率。

猜你喜歡
多因子賬本分布式
基于BP神經網絡的多因子洪水分類研究
基于打分法的多因子量化選股策略研究
數說:重慶70年“賬本”展示
丟失的紅色賬本
大樹爺爺的賬本
丟失的紅色賬本
分布式光伏熱錢洶涌
分布式光伏:爆發還是徘徊
基于多因子的ZigBee安全認證機制
基于DDS的分布式三維協同仿真研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合