◆馬超宇
(遼寧大學 遼寧 110036)
認證技術是網絡安全[1]和隱私保護[2]中比較熱門的話題。傳統的認證方案更傾向于使用中心化的方式,但中心化意味著網絡安全風險。在現有的身份認證手段中,X.509 標準是數字證書的一般標準。該標準實現了數據的完整性、身份的確定性、不可否認性和防篡改性[3]。但現有的身份認證方案中,存在著效率和隱私泄露的問題?;诖?,本文在數字簽名的基礎上引入了CA 和RSA[4],并將身份認證和區塊鏈技術結合在一起,對數字簽名方案做了改進,提出一種基于環映射的去中心化[5]身份認證方案,該方案可以有效地提升認證的效率,并且降低了隱私泄露的風險。
定義1 環映射:將實際節點通過某種算法分布到虛擬的環空間上,以此來解決現實中的問題。
該方案的主要思想是將系統中的所有用戶節點映射到0~264-1 大小的環空間上,使這些節點成為環節點。身份認證將由當前環節點的下一環節點進行,即順時針方向。
當環中的節點出現異常時,可通過加入虛擬節點來解決異常節點無法正常進行認證的問題。為了使環能夠正常工作,假設第一個被映射到環上的節點不會存在異常情況,且虛擬節點只針對環中能夠正常進行認證的環節點設置。當異常環節點和環節點的數量滿足公式(1)時,需要加入虛擬節點:

其中,m表示環中未加入虛擬節點前的環節點總量;mc表示環中異常環節點的數量。此時,環中加入虛擬節點后的節點總數的計算公式如下所示:

其中,nnode表示環節點數量與虛擬節點數量的總和;n表示為每個有效環節點所分配的虛擬節點的數量,該值可根據環中異常環節點的數量進行調整,當異常環節點的數量滿足如下公式時,可將該值增大:

基于環映射的去中心化認證方案包括以下步驟:
(1)節點映射:設定用戶節點的編號為in,利用抗碰撞的單向散列函數SHA-256,生成用戶節點的散列值SHA-256(in),將其按照大小分布到環上,輸出環節點的映射空間Ln={SHA-256(in)},映射空間所對應的環節點和其行為之間沒有關聯性;
(2)生成發行方密鑰對:CA 隨機選擇兩個非常大質數p∈Ln和q∈Ln,Ln為映射空間。用以下公式分別計算N,L,E,D:

其中,p-1 和q-1 的最小公倍數為lcm(p-1,q-1),gcd(E,L)表示為E和L的最大公約數,mod 為取模運算。E和D可以使用偽隨機數生成器生成1 到L之間的候選數,然后判斷是否滿足條件。最終,CA 的公鑰IPK=(E,N),私鑰ISK=(D,N);
(3)生成用戶方密鑰對:環節點將自身身份信息提交到CA進行注冊,得到對應的密鑰對。對于環節點l,CA 隨機選擇兩個非常大的質數p’∈Ln和q’∈Ln,計算N’,L’,E’,D’,公式如下:

E’和D’同樣可以使用偽隨機數生成器生成1 到L之間的候選數,然后判斷是否滿足條件。最終,環節點的公鑰LPK=(E’,N’),私鑰LSK=(D’,N’);
(4)獲取公鑰簽名:CA 隨機選取整數值nnonce∈Ln,CA 利用自己的私鑰ISK=(D,N)對環節點的公鑰LPK=(E’,N’)進行加密生成簽名SL,計算公式如下:

(5)驗證公鑰簽名:環節點利用CA 的公鑰IPK=(E,N)對公鑰簽名SL進行解密驗證,將得到的結果nnonce’與nnonce進行比較,一致則驗證成功,環節點則將該公鑰簽名保存在本地。nnonce’的計算公式如下:

(6)初始化引用計數:根據環節點的映射空間Ln,初始化每個環節點的引用計數值為ncount,其公式如下:

(7)字段填充:環節點將填充字段pad 追加到消息m的末尾,得到填充后的消息mpad;
(8)計算散列值:環節點對填充后的消息mpad運行抗碰撞的單向散列函數SHA-256,生成該消息的散列值Hm,計算公式如下:

(9)生成原始簽名:環節點利用自己的私鑰LSK=(D’,N’)對填充消息的散列值Hm加密,生成原始簽名Sori,計算公式如下:

(10)生成目標簽名:環節點將填充后的消息mpad及其散列值Hm和公鑰簽名SL發送給順時針方向的下一有效環節點,該有效環節點利用當前環節點的公鑰簽名SL對原始簽名Sori進行解密,輸出目標簽名Sdes,計算公式如下:

(11)簽名驗證:有效環節點驗證原始簽名Sori和目標簽名Sdes是否一致,輸出驗證結果A。A=1 表示驗證成功,證書有效;A=0 表示驗證失敗,證書無效。
隨著用戶節點的數量不斷增多,傳統的認證方案的認證效率會遇瓶頸,而本文提出的認證方案的認證效率則保持高效恒定。這是因為傳統的認證方案是中心化的,用戶節點的數量增多會導致服務器的壓力增大,從而降低認證效率。而本文的方案則是基于去中心化的,即分布式的,效率并不會隨著用戶節點的數量的增多而下降,相反會保持一定的水平。同樣地,隱私泄露風險也會保持較低水平,而傳統的認證方案將始終保持較高水平。
本文提出的方案有效提升了認證效率和降低了隱私泄漏的風險。但本文仍有很多不足,在接下來的研究中,將不斷完善。