• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于聯(lián)盟鏈的分布式高效身份認證*

      2022-04-19 11:53:02郭少勇
      電子技術應用 2022年3期
      關鍵詞:共識身份廣播

      姚 影 ,顏 擁 ,郭少勇 ,熊 翱 ,張 旺

      (1.國網(wǎng)浙江省電力有限公司電力科學研究院,浙江 杭州 310014;2.北京郵電大學,北京 100876)

      0 引言

      傳統(tǒng)互聯(lián)網(wǎng)業(yè)務的身份認證技術主要以用戶名密碼為主[1],但隨著互聯(lián)網(wǎng)業(yè)務越來越多,不同的業(yè)務需要重復注冊不同的賬號,并且通常同一個用戶不同賬號之間的密碼存在關聯(lián)性,容易造成密碼泄露的風險[2]。同時,傳統(tǒng)認證系統(tǒng)是中心化[3]的,用戶隱私信息存放在企業(yè)系統(tǒng)中。但是身份認證信息存儲方式較為簡單,相關系統(tǒng)易受攻擊、用戶隱私身份信息泄露的隱患較大。并且傳統(tǒng)的中心化認證系統(tǒng)是業(yè)務系統(tǒng)的唯一認證接口,如果其遭受到有效攻擊,那么系統(tǒng)存在極大的崩潰風險[4],因此為了解決用戶隱私信息安全、維護業(yè)務系統(tǒng)的穩(wěn)定性,構(gòu)造分布式的身份認證系統(tǒng)是現(xiàn)在亟待解決的問題。

      區(qū)塊鏈技術[5]發(fā)展于比特幣中,具有分布式去中心化、數(shù)據(jù)可追溯、不可篡改的優(yōu)點。因為其分布式去中心化的特性,如果想要有效攻擊區(qū)塊鏈網(wǎng)絡的話,需要同時攻克其不同節(jié)點[6],因此其比中心化網(wǎng)絡更加穩(wěn)定可靠;區(qū)塊鏈的數(shù)據(jù)可追溯不可篡改[7]的特點,使得無人能夠修改區(qū)塊鏈上的數(shù)據(jù),因此區(qū)塊鏈網(wǎng)絡下的不同節(jié)點之間能夠相互信任彼此。區(qū)塊鏈的高穩(wěn)定性和信任傳遞的能力為身份認證技術提供了新的思路[8]。

      聯(lián)盟鏈作為區(qū)塊鏈的一種是由多個機構(gòu)共同參與管理的,與公有鏈訪問權(quán)限全公開不同的是,只有這些機構(gòu)擁有聯(lián)盟鏈的寫入與訪問權(quán)限[9]。由于聯(lián)盟鏈弱化了網(wǎng)絡復雜性,可以使用更松散的共識機制,因此共識效率比公有鏈高很多同時具有去中心化的優(yōu)勢[10],具有很大的實用價值。

      本文針對傳統(tǒng)身份認證所存在的重復認證、身份隱私不安全、單一系統(tǒng)易受攻擊等痛點,結(jié)合聯(lián)盟鏈的優(yōu)勢,構(gòu)建出一套基于聯(lián)盟鏈的身份認證方法。并為了提高系統(tǒng)的認證效率,改進了分布式身份認證方法中聯(lián)盟鏈的共識算法[11]。

      1 方案設計

      1.1 系統(tǒng)架構(gòu)設計

      為了解決傳統(tǒng)身份認證中存在的不同問題,本文利用區(qū)塊鏈技術構(gòu)建分布式身份認證方案[12]。基于區(qū)塊鏈的分布式身份認證架構(gòu)包括四個部分:可信授權(quán)中心、聯(lián)盟鏈網(wǎng)絡、業(yè)務系統(tǒng)和用戶,其結(jié)構(gòu)如圖1 所示。在本系統(tǒng)中,用戶通過提交自身身份信息至業(yè)務的身份認證系統(tǒng),由業(yè)務系統(tǒng)將用戶的身份信息加密上鏈,完成用戶身份的注冊;當用戶訪問業(yè)務系統(tǒng)時,業(yè)務系統(tǒng)從區(qū)塊鏈節(jié)點上獲取相應用戶注冊信息,與用戶認證信息進行對比驗證,完成用戶認證功能。

      圖1 基于聯(lián)盟鏈的分布式身份認證架構(gòu)

      分布式身份認證架構(gòu)各個部分的功能如下:

      (1)可信授權(quán)中心:負責為各業(yè)務系統(tǒng)和用戶頒發(fā)數(shù)字證書。

      (2)區(qū)塊鏈網(wǎng)絡:每個區(qū)塊鏈節(jié)點由區(qū)塊鏈中的一個企業(yè)維護,提供用戶實體身份信息上鏈和查詢等功能。

      (3)業(yè)務系統(tǒng):提供各類業(yè)務服務的不同應用系統(tǒng),并且對訪問系統(tǒng)的用戶進行注冊和認證功能。

      (4)用戶:訪問業(yè)務系統(tǒng)的人,身份認證系統(tǒng)的使用者。

      1.2 流程設計

      在本方案設計的認證系統(tǒng)中,用戶的注冊信息通過可信信道送到區(qū)塊鏈網(wǎng)絡中,并廣播共識到所有區(qū)塊鏈結(jié)點中,區(qū)塊鏈網(wǎng)絡中的任意服務節(jié)點均可獲取用戶的注冊身份,從而能夠?qū)崿F(xiàn)對用戶單點注冊多點認證的功能,省去了重復注冊用戶賬號密碼的麻煩。用戶認證信息包含以下幾種數(shù)據(jù),具體見表1。

      表1 身份信息數(shù)據(jù)說明

      1.2.1 注冊身份流程

      用戶注冊流程如下:

      (1)用戶U 在本地根據(jù)ECC 秘鑰生成算法生成自己的公私鑰對(UPK,USK),其中公鑰為UPK,私鑰為USK。

      (2)用戶U 在業(yè)務系統(tǒng)的注冊接口輸入自己的用戶身份UID、用戶認證信息UAI、公鑰UPK。

      (3)業(yè)務系統(tǒng)BS 接收到用戶發(fā)來的注冊信息(UID,UAI,UPK),核查UID 與UPK 是否和已有注冊用戶的身份或公鑰沖突,如果至少有其中一項沖突,則向用戶反饋注冊失敗信息,并返回第(1)步重新開始;若都不沖突,則向下進行。

      (4)業(yè)務系統(tǒng)BS 將用戶身份UID、用戶認證信息UAI進行hash 運算得到用戶的身份信息摘要IS,返回給用戶,并通知用戶注冊身份信息正確。

      (5)用戶U 收到身份信息摘要IS 后,用自己的私鑰USK 對身份信息摘要進行加密,生成數(shù)字簽名DS,發(fā)送給業(yè)務系統(tǒng)。

      (6)業(yè)務系統(tǒng)BS 收到用戶數(shù)字簽名DS 后,將其與用戶身份UID、用戶公鑰UPK 發(fā)送給區(qū)塊鏈節(jié)點s。

      (7)區(qū)塊鏈結(jié)點s 接收到業(yè)務系統(tǒng)發(fā)來的相關信息后,將信息打包共識到區(qū)塊鏈網(wǎng)絡,并由可信授權(quán)中心為用戶發(fā)布數(shù)字證書DC。

      (8)當區(qū)塊鏈網(wǎng)絡將注冊信息共識成功后,由業(yè)務系統(tǒng)BS 通知用戶U 注冊成功,并將數(shù)字證書DC 返回給用戶,由用戶保存。

      1.2.2 認證身份流程

      用戶認證流程如下:

      (1)用戶U 在業(yè)務系統(tǒng)認證接口輸入用戶身份UID、用戶認證信息UAI 與數(shù)字證書DC。

      (2)業(yè)務系統(tǒng)BS 接收到用戶發(fā)來的認證信息(UID,UAI,DC)后,將其廣播到聯(lián)盟鏈上的所有業(yè)務系統(tǒng)中,一起對其進行驗證。并由各系統(tǒng)對認證信息進行共識投票。

      (3)業(yè)務系統(tǒng)BS 根據(jù)用戶身份UID 到區(qū)塊鏈節(jié)點s上查找注冊時UID 對應的公鑰UPK′。并判斷鏈上用戶公鑰UPK′與數(shù)字證書DC 內(nèi)的用戶公鑰UPK 是否一致。若UPK≠UPK′,則說明用戶身份信息與注冊時綁定的用戶公鑰不一致,在認證共識中投反對票;若UPK=UPK′,則說明用戶身份信息與注冊時綁定的用戶公鑰一致,進行下一步驗證。

      (4)業(yè)務系統(tǒng)BS 根據(jù)用戶身份UID 進一步到區(qū)塊鏈節(jié)點處獲取注冊時UID 對應的用戶數(shù)字簽名DS。并用用戶數(shù)字證書DC 內(nèi)的用戶公鑰UPK 對數(shù)字簽名DS 進行解密,得到用戶身份對比身份信息摘要IS′。

      (5)業(yè)務系統(tǒng)BS 對用戶身份UID 與用戶認證信息UAI進行hash 計算,得到用戶認證身份信息摘要UIS。若IS≠IS′,則說明用戶輸入的認證信息UAI 不正確,認證失?。蝗鬒S=IS′,則說明用戶輸入的身份信息與注冊時無誤,驗證成功,在認證共識中投通過票。

      (6)聯(lián)盟鏈網(wǎng)絡根據(jù)最終的認證共識投票情況給出認證結(jié)果,業(yè)務系統(tǒng)BS 根據(jù)認證結(jié)果判斷是否為用戶提供服務。

      2 共識算法優(yōu)化

      為了使身份認證系統(tǒng)工作更加高效,提高其注冊、認證的吞吐量,本節(jié)對PBFT 算法[13]進行優(yōu)化,以滿足分布式身份認證對共識效率的要求。

      2.1 PBFT 算法改進思路

      節(jié)點數(shù)為N 的傳統(tǒng)PBFT 算法網(wǎng)絡,可以容錯f 個拜占庭節(jié)點,其中f=(N-1)/3。但是為了這個容錯能力,產(chǎn)生了很多無效的通信[14]。因為節(jié)點在收到2f+1 個正確的消息之后就可以進入下一階段,但是每個節(jié)點要向網(wǎng)絡中廣播大于3f 個消息[15]。無效的通信主要發(fā)生在準備階段的全網(wǎng)廣播。因此,改進的PBFT 算法引入動態(tài)權(quán)重機制,稱其為“動態(tài)實用拜占庭容錯算法(Dynamic Practical Byzantine Fault Tolerance,DPBFT)”,根據(jù)節(jié)點在共識過程中的表現(xiàn)情況來動態(tài)調(diào)整不同節(jié)點之間的權(quán)重值。每個共識節(jié)點維護一個權(quán)重向量表WT={w1,w2,…,wi,…,wN},其中權(quán)重p=n/N 反映出i 節(jié)點的動態(tài)通信性能和可信度。WT會隨著共識的進行而不斷更新,在每輪共識結(jié)束之后,每個共識節(jié)點會根據(jù)此次共識的投票和通信情況對自己維護的WT進行更新。共識期間選擇權(quán)重最大的那幾個節(jié)點來進行選擇性廣播。之后在共識流程的廣播階段,節(jié)點將在各自的廣播域內(nèi)進行投票消息廣播,并且廣播域?qū)㈦S著WT的更新而更新。引入一個動態(tài)參數(shù)p 來表示選擇性廣播域的大小,其中p=n/N。n 為選擇性廣播域中節(jié)點的個數(shù)。

      2.2 算法設計

      算法流程如圖2 所示。首先初始化共識節(jié)點的投票權(quán)重,開始進行一次正常的PBFT 投票流程。然后根據(jù)每次投票的結(jié)果,動態(tài)調(diào)整權(quán)重,構(gòu)建選擇性廣播域。改進的PBFT 算法與傳統(tǒng)的PBFT 算法流程大體相似,只是在一致性協(xié)議的廣播階段進行相應改進。這里對改進后的算法一致性協(xié)議階段進行主要功能描述:

      圖2 改進的PBFT 算法流程圖

      (1)PRE-PREPARE 階段:主節(jié)點接收客戶端發(fā)送的PRE-PREPARE 消息,并將消息廣播給參與共識的所有節(jié)點。

      (2)PREPARE 階段:從節(jié)點收到主節(jié)點發(fā)送的PREPREPARE 消息后生成PREPARE 消息,根據(jù)WT和p 值去定一個選擇性廣播域,將PREPARE 消息選擇性廣播給自己的共識域內(nèi)的節(jié)點。如果接收到超過2f+1 個正確的準備消息,則會進入COMMIT 階段。

      (3)COMMIT 階段:節(jié)點生成COMMIT 消息并廣播到共識域內(nèi)節(jié)點,其他節(jié)點驗證COMMIT 消息,驗證通過后,進行ADJUST 階段。

      (4)ADJUST 階段:根據(jù)共識結(jié)果給每個參與共識節(jié)點的情況進行打分。根據(jù)各個節(jié)點提交commit 的時間,為每個節(jié)點離散化0~100 分數(shù)。根據(jù)式(1):

      式中Qi為i 節(jié)點本輪共識的得分,ti為i 節(jié)點提交commit的時間,T 為第一個commit 發(fā)生到共識結(jié)束總耗時。第一個提交commit 的節(jié)點得分100 分,未參加commit 的節(jié)點得分為0。并根據(jù)式(2)動態(tài)調(diào)整每個節(jié)點權(quán)重。

      式中q 為上一狀態(tài)權(quán)重在新權(quán)重中所占比例,wi為上一狀態(tài)中i 節(jié)點權(quán)重值。

      3 安全性分析

      3.1 用戶身份信息安全性分析

      區(qū)塊鏈節(jié)點上只保存用戶認證信息的摘要,不保存用戶認證信息UAI 的明文信息,攻擊者即使攻破聯(lián)盟鏈網(wǎng)絡中的節(jié)點也無法獲取用戶對應的認證信息UAI。并且用戶公鑰由可信授權(quán)中心頒發(fā)數(shù)字證書,只有合法注冊的公鑰才能在業(yè)務系統(tǒng)上驗證。攻擊者很難同時獲取用戶的數(shù)字證書DC 和認證信息UAI 來偽造用戶身份。因此本系統(tǒng)可以有效保證用戶的身份信息安全。

      3.2 系統(tǒng)穩(wěn)定性分析

      用戶身份信息加密保存在區(qū)塊鏈節(jié)點,每個業(yè)務系統(tǒng)都可以通過訪問聯(lián)盟鏈網(wǎng)絡獲取用戶加密身份信息進行驗證。當某個業(yè)務認證系統(tǒng)癱瘓后,用戶可以選擇就近業(yè)務系統(tǒng)進行驗證。因此本系統(tǒng)可以實現(xiàn)單點注冊,多點認證,提升可用性的同時有效防止中心化業(yè)務認證系統(tǒng)的易崩潰,不穩(wěn)定的風險。

      4 性能分析

      基于GO 編程語言實現(xiàn)了一個多節(jié)點聯(lián)盟鏈實驗系統(tǒng),用以模擬在本設計方案中用戶注冊以及用戶行為上鏈共識過程。在該系統(tǒng)中對原PBFT 算法和本文提出的DPBFT 算法進行了性能測試。主要分析PBFT 與DPBFT在不同的p、q 值的選取上存在的性能差異。

      4.1 認證時延

      認證時延是指企業(yè)或授權(quán)中心向區(qū)塊鏈網(wǎng)絡發(fā)送上鏈信息到區(qū)塊鏈網(wǎng)絡完成共識的時間間隔。在不同節(jié)點數(shù)量的情況下,比較了PBFT 和DPBFT 算法的認證時延,同時引入影響廣播域大小的因子p 和分數(shù)調(diào)整的衰減因子q 來觀察其對認證時延的影響。每個數(shù)據(jù)都是重復測試20 次后取的平均值。實驗結(jié)果如圖3 所示,DPBFT 算法比PBFT 算法所產(chǎn)生的認證時延要小。當區(qū)塊鏈網(wǎng)絡節(jié)點數(shù)量和衰減因子q 確定時,p 的大小決定了節(jié)點選擇性廣播域的大小。從圖中可以看出,p 越小,交易時延越小,共識效率越高。但不可為了追求共識效率設置很小的p 值,因為當p 值小于2/3 時,節(jié)點不能接收到足夠的信息進入確認狀態(tài),導致全網(wǎng)不能共識。

      圖3 相同q 值不同p 值的DPBFT 算法與PBFT 算法的交易時延

      衰減因子q 對選擇性廣播域的大小沒有影響,因此其對共識效率也沒有影響。在無網(wǎng)絡波動的情況下,觀察了區(qū)塊鏈網(wǎng)絡節(jié)點數(shù)量和影響廣播域因子p 確定時,不同的衰減因子q 對網(wǎng)絡共識時間的影響,結(jié)果如圖4(a)所示。衰減因子q 越大,最近一次共識得分對整體分數(shù)的影響效果越大。因此,q 越大,網(wǎng)絡收斂到最佳廣播域的速度越快。但當存在網(wǎng)絡波動時,如圖4(b)所示,最近一次共識結(jié)果的得分不能象征整體網(wǎng)絡中節(jié)點的可依靠程度。因此,q 越大,節(jié)點得分調(diào)整幅度過大,導致一直沒法收斂到最佳狀態(tài),共識效率提升不高。所以,為了使共識效率達到最理想狀態(tài),應該根據(jù)網(wǎng)絡波動情況,選擇合適的q 值。

      圖4 相同p 值不同q 值的DPBFT 算法與PBFT 算法的共識時間

      4.2 認證吞吐量

      “吞吐量(Transaction Per Second,TPS)”指的是在單位時間內(nèi)完成的認證的數(shù)量。實驗中每秒向區(qū)塊鏈網(wǎng)絡發(fā)送100 條認證請求,記錄每秒能夠完成認證的數(shù)量,并在不同節(jié)點個數(shù)的情況下進行測試。圖5 所示為改進前后的PBFT 的吞吐量對比圖??梢钥闯?,在相同節(jié)點數(shù)量和相同衰減因子q 的情況下,改進的PBFT 算法比PBFT 算法吞吐量高,隨著網(wǎng)絡節(jié)點數(shù)量的增加,每種算法的吞吐量都會下降,因為共識階段需要廣播的消息變多了。同時,在相同節(jié)點數(shù)量的情況下,p 越小,選擇性廣播域越小,每一條消息的共識時間越短,因此吞吐量越高。

      圖5 DPBFT 算法與PBFT 算法的吞吐量比較

      5 結(jié)論

      針對傳統(tǒng)身份認證技術的弊端,提出了一種基于聯(lián)盟鏈的分布式身份認證方法。用戶在業(yè)務系統(tǒng)注冊身份之后,身份信息加密廣播共識到所有聯(lián)盟鏈節(jié)點,每個節(jié)點都可以對注冊的用戶進行認證,達成用戶單點注冊多點登錄的功能并有效防止了用戶身份隱私泄露的風險。用戶認證過程由全網(wǎng)共識投票,即使服務節(jié)點故障,也可依靠整個系統(tǒng)的分布式魯棒性來保證認證系統(tǒng)的正常工作,提高系統(tǒng)的抗攻擊能力。最后通過實驗表明,本方法比傳統(tǒng)聯(lián)盟鏈共識效率更快,吞吐量更高??筛鶕?jù)網(wǎng)絡情況調(diào)整p、q 值,達到效率最大化。

      猜你喜歡
      共識身份廣播
      共識 共進 共情 共學:讓“溝通之花”綻放
      論思想共識凝聚的文化向度
      STK及IGS廣播星歷在BDS仿真中的應用
      航天控制(2020年5期)2020-03-29 02:10:28
      商量出共識
      人大建設(2019年12期)2019-11-18 12:11:06
      廣播發(fā)射設備中平衡輸入與不平衡輸入的轉(zhuǎn)換
      電子制作(2018年10期)2018-08-04 03:24:48
      跟蹤導練(三)(5)
      他們的另一個身份,你知道嗎
      網(wǎng)絡在現(xiàn)代廣播中的應用
      互換身份
      別讓“PX共識”在爆炸中瓦解
      金沙县| 泾川县| 黔南| 青岛市| 资兴市| 邛崃市| 阿克苏市| 天峨县| 安福县| 岐山县| 卢龙县| 杭州市| 梅州市| 阳原县| 黄浦区| 偃师市| 金山区| 东乡| 黄陵县| 轮台县| 湖南省| 商都县| 共和县| 湖南省| 玉林市| 锡林浩特市| 凤冈县| 康乐县| 平泉县| 石狮市| 山东省| 彰武县| 岗巴县| 铁力市| 濉溪县| 延边| 西充县| 洛扎县| 康定县| 乳源| 北宁市|