博客 > 跨鏈自主身份管理及訪問控制模型
瀏覽量:2132次評論:0次
作者:銳成網(wǎng)絡(luò)整理時間:2024-08-05 17:52:53
摘 要:針對跨鏈身份管理機(jī)制過度依賴中繼系統(tǒng)和缺乏訪問控制支持的局限性,設(shè)計了基于非中心化的閾值簽名、非中心化身份和可驗證證書的用戶自主跨鏈身份管理方案,其中各應(yīng)用鏈管理鏈內(nèi)用戶的跨鏈身份,中繼鏈只需管理各應(yīng)用鏈的跨鏈身份。用戶的跨鏈操作交易由源鏈和中繼鏈基于閾值簽名機(jī)制進(jìn)行驗證,自帶驗證信息和用戶的可驗證跨鏈身份標(biāo)識憑證,目的鏈執(zhí)行訪問控制策略。用戶可以針對不同場景申請多個不同的跨鏈身份標(biāo)識及其憑證并自主控制使用,也能擴(kuò)展身份標(biāo)識憑證表達(dá)更多的用戶屬性,用戶選擇性披露屬性,而跨鏈系統(tǒng)實現(xiàn)更為細(xì)粒度的訪問控制。
內(nèi)容目錄:
1 背景知識
1.1 非中心化 BLS(t,n) 閾值簽名
1.2 非中心化身份標(biāo)識 DID
2 系統(tǒng)模型
2.1 中繼鏈(ReChain)
2.2 應(yīng)用鏈(AppChain)
2.3 跨鏈網(wǎng)關(guān)
3 方 案
3.1 跨鏈身份注冊
3.2 跨鏈訪問請求
3.3 跨鏈訪問響應(yīng)
3.4 用戶跨鏈權(quán)限撤銷
4 分 析
4.1 自主跨鏈身份管理
4.2 跨鏈交易驗證
4.3 跨鏈訪問控制
5 結(jié) 語
隨著區(qū)塊鏈應(yīng)用的不斷普及和深入,鏈與鏈之間的互聯(lián)互通成為必要,跨鏈技術(shù)應(yīng)運而生??珂溂夹g(shù)的目的是實現(xiàn)跨鏈互操作性,跨鏈互操作主要包括不同區(qū)塊鏈之間的跨鏈數(shù)據(jù)訪問與跨鏈數(shù)據(jù)傳遞(數(shù)據(jù)互通)、跨鏈資產(chǎn)互換與轉(zhuǎn)移(價值互通)和跨鏈智能合約調(diào)用(功能互通)。
跨鏈技術(shù)需要解決的難點問題主要為跨鏈交易原子性問題、跨鏈交易驗證問題和跨鏈交易資產(chǎn)管理問題 ??珂溄灰椎脑有允侵府?dāng)一個完整的跨鏈交易包含的不同區(qū)塊鏈系統(tǒng)中的若干個子交易都成功時,跨鏈交易成功,否則交易失敗,避免鏈間資產(chǎn)轉(zhuǎn)移和兌換的過程中出現(xiàn)雙重支付和資產(chǎn)憑空丟失。跨鏈交易驗證是指一個區(qū)塊鏈可以對另一個區(qū)塊鏈上的交易及其狀態(tài)進(jìn)行驗證??珂溄灰踪Y產(chǎn)管理保證跨鏈交易中不同區(qū)塊鏈的資產(chǎn)變化的完全同步性,以確??珂溄灰走^程中兩個區(qū)塊鏈的資產(chǎn)總量保持不變。而有效管理跨鏈交易賬戶,實現(xiàn)跨鏈認(rèn)證和訪問控制,確保跨鏈交易的隱私性和穩(wěn)定性是解決這些問題的根本。
目前,主要的跨鏈技術(shù)有公證人機(jī)制、哈希鎖定、側(cè)鏈、中繼和分布式私鑰控制等。公證人機(jī)制通過引入可信第三方作為中介進(jìn)行跨鏈的數(shù)據(jù)收集、交易確認(rèn)和驗證,但存在公證節(jié)點信用問題、過度中心化和效率問題 。側(cè)鏈?zhǔn)且粋€獨立于主鏈的區(qū)塊鏈系統(tǒng),跨鏈交易通過側(cè)鏈與主鏈雙向錨定[7]實現(xiàn)。雙向錨定模式有類似于公證人機(jī)制的托管模式、類似于工作量證明的簡單支付驗證(Simplified Payment Verification,SPV)模式、混合模式等。中繼機(jī)制是公證人機(jī)制和側(cè)鏈機(jī)制的有效融合和延伸,該機(jī)制通過構(gòu)造一個第三方公有鏈,基于跨鏈消息傳遞協(xié)議實現(xiàn)跨鏈數(shù)據(jù)的傳輸,以及追蹤各個區(qū)塊鏈的狀態(tài),然而中繼鏈模式的擴(kuò)展性、效率和安全性需要進(jìn)一步改善。哈希鎖定于 2013 年在bitcointalk 上被提出,被成功應(yīng)用于比特幣的閃電網(wǎng)絡(luò)中。哈希鎖定巧妙地使用時間鎖和哈希鎖,讓交易雙方先利用智能合約鎖定資產(chǎn),如果都在規(guī)定的時間內(nèi)輸入正確哈希值的原值,即可完成交易,否則交易失效,從而保證了交易的原子性。哈希鎖定的優(yōu)點是交易參與方無須彼此信任,安全性較高,但哈希鎖定只能實現(xiàn)跨鏈資產(chǎn)的交換,不能實現(xiàn)跨鏈資產(chǎn)的轉(zhuǎn)移。分布式私鑰控制基于分布式密鑰生成技術(shù)和門限密鑰共享技術(shù),將原鏈數(shù)字資產(chǎn)映射到新的中間鏈上,并將資產(chǎn)私鑰份額共享給多個節(jié)點,實現(xiàn)多節(jié)點控制資產(chǎn)的使用權(quán),并通過鎖定和解鎖兩種操作進(jìn)行跨鏈資產(chǎn)交換和價值轉(zhuǎn)移。目前的跨鏈技術(shù)主要依賴可信第三方托管或者中繼群體實現(xiàn)信任傳遞,在擴(kuò)展性、效率和安全性方面存在短板。另外,現(xiàn)有跨鏈技術(shù)側(cè)重于交易和資產(chǎn)驗證,沒有統(tǒng)一的身份管理和認(rèn)證機(jī)制作為信任基礎(chǔ),缺乏對跨鏈用戶身份的認(rèn)證及跨鏈訪問的控制,這難以滿足聯(lián)盟鏈跨鏈場景的需求。
目前,每一個聯(lián)盟鏈一般都有自己獨立的身份管理系統(tǒng),依賴于傳統(tǒng)的中心化的 CA 機(jī)制,跨鏈系統(tǒng)難以直接實現(xiàn)統(tǒng)一的身份管理和認(rèn)證,跨鏈互操作過程的認(rèn)證和訪問控制較為困難,復(fù)雜度高。如何實現(xiàn)可信的跨鏈互操作及聯(lián)盟鏈環(huán)境下的訪問控制是當(dāng)前跨鏈技術(shù)必須解決的問題。徐鶴語等人[8]提出了一種基于群簽名的聯(lián)盟鏈跨鏈交易背書策略,實現(xiàn)了可控匿名身份隱私保護(hù)。該策略由中繼鏈管理節(jié)點作為群管理員,由中繼鏈管理員完成群的創(chuàng)建,生成群公鑰、群管理員私鑰和一系列的群成員私鑰,并向所有群成員公開群公鑰、保密群管理員私鑰和成員私鑰,并以群簽名代替數(shù)字證書認(rèn)證身份的合法性,最終實現(xiàn)了匿名的身份認(rèn)證。王姝爽等人提出了應(yīng)用符合 W3C DID 規(guī)范的分布式身份標(biāo)識跨鏈系統(tǒng)中的所有用戶,并將該身份標(biāo)識作為公鑰代替第三方頒發(fā)的數(shù)字證書,然后利用基于身份的密碼技術(shù)(Identity-Based Cryptograph,IBC)實現(xiàn)跨鏈身份認(rèn)證。但是,由于整個跨鏈網(wǎng)絡(luò)中的數(shù)字身份都存儲于中繼鏈的賬本中,由中繼鏈執(zhí)行所有用戶的認(rèn)證,會使得整個跨鏈系統(tǒng)的認(rèn)證有中心化的趨勢,并且隨著跨鏈系統(tǒng)規(guī)模的增大,中繼鏈的認(rèn)證會成為整個系統(tǒng)的性能瓶頸。另外,該方案只考慮了跨鏈交易的匿名安全性,沒有考慮跨鏈交易驗證和訪問控制問題。王灑灑等人 [10]提出了一種基于零知識證明的面向跨鏈系統(tǒng)的用戶身份標(biāo)識認(rèn)證模型,其中中繼鏈負(fù)責(zé)接入跨鏈系統(tǒng)中的用戶的統(tǒng)一身份憑證的分發(fā)和維護(hù),零知識證明用于跨鏈身份標(biāo)識驗證,實現(xiàn)身份隱私。但是,該模型沒有考慮跨鏈交易驗證,中繼鏈對所有用戶身份進(jìn)行分發(fā)和維護(hù),并且零知識證明協(xié)議耗費較高,增加了系統(tǒng)的復(fù)雜性,最終影響跨鏈系統(tǒng)的吞吐量。Wang 等人提出了一種結(jié)合分布式身份標(biāo)識(Decentralized Identifier,DID)與可驗證證書(Verifiable Credentials,VC)的可信跨鏈資產(chǎn)轉(zhuǎn)移方法,實現(xiàn)了跨鏈資產(chǎn)交換證書的規(guī)范化,以及跨鏈過程中身份的可控共享和相互認(rèn)證。同樣地,中繼鏈保存所有用戶的身份信息文檔??珂湹馁Y產(chǎn)轉(zhuǎn)移由可驗證憑證實現(xiàn),由源鏈和中繼鏈的智能合約相繼生成,實現(xiàn)信任的傳遞。然而,該方法對智能合約過度依賴,使得智能合約的安全性直接影響跨鏈互操作的安全性。
針對已有的跨鏈身份管理機(jī)制過度依賴中繼系統(tǒng)管理所有用戶身份信息的局限性,本文設(shè)計基于非中心化閾值簽名、DID 和 VC 的非中心化跨鏈身份管理方案,其中各個應(yīng)用聯(lián)盟鏈和中繼鏈各自運行與自身共識機(jī)制對應(yīng)的非中心化閾值簽名機(jī)制,各個應(yīng)用鏈管理自己鏈內(nèi)用戶的跨鏈身份,中繼鏈只需管理各應(yīng)用鏈的跨鏈身份。用戶的跨鏈操作交易由源鏈和中繼鏈相繼驗證,到達(dá)目的鏈的跨鏈操作交易自帶驗證信息和用戶的可驗證跨鏈身份標(biāo)識憑證,且目的鏈可以根據(jù)用戶身份執(zhí)行訪問控制策略。另外,用戶自己控制其可驗證跨鏈身份標(biāo)識及其憑證的使用。針對不同場景,用戶可以申請多個不同的跨鏈身份標(biāo)識及憑證,實現(xiàn)自主的跨鏈身份管理。而且,通過擴(kuò)展用戶的可驗證跨鏈身份標(biāo)識憑證表達(dá)更多的用戶屬性,用戶可以選擇性披露自己的身份屬性,保護(hù)自己的身份隱私,同時跨鏈系統(tǒng)實現(xiàn)更為細(xì)粒度的訪問控制。
1 背景知識
1.1非中心化 BLS(t,n) 閾值簽名
非中心化 BLS(t,n) 閾值簽名是非中心化 (t,n) 閾值可驗證秘密共享和 BLS 簽名技術(shù)的綜合。非中心 可 驗 證 秘 密 共 享(Decentralized Verifiable Secret Sharing,DVSS)算法由 Pedersen[12] 提出,允許 n 個參與者在不依賴任何可信中心的情況下共同生成一個密鑰,每個參與者獲取一個密鑰的共享份額并且可以驗證共享是否正確,能夠抵抗不誠實的參與者不遵從協(xié)議規(guī)范,且只有不小于閾值 t 的參與者可以恢復(fù)共享的密鑰。BLS(t,n) 閾值簽名的私鑰 SK 和簽名驗證公鑰 PK 由 n 個參與者利用 DVSS 共同產(chǎn)生,每一個簽名者獲取一個簽名私鑰的份額,簽名驗證的公鑰可以從公開的信息中獲取。簽名過程中,每一個參與者利用其私鑰份額對同一個消息進(jìn)行簽名,得到參與者各自的簽名份額,不少于閾值 t 的正確的簽名份額能夠聚合成一個完整的簽名,不同的 t 個簽名份額聚合成的最終簽名都是相同的。利用簽名公鑰 PK 可以對最終的簽名進(jìn)行驗證。非中心化 BLS(t,n) 閾值簽名包括以下 6 個算法。
(1)PP ← Setup(λ):根據(jù)輸入的安全參數(shù) λ,系統(tǒng)輸出兩個具有素數(shù)階 p 的雙線性乘法群 G 和群G的生成元為g,一個雙線性映射
和一個將任意消息 M ∈ {0,1}* 映射到 G 的哈希函數(shù)H。至此,輸出的公共參數(shù)為
(2)根據(jù)公共參數(shù) PP,n 個參與者
運行以下的 DVSS 算法,輸出簽名私鑰 SK 的份額、公鑰份額和公鑰 PK,具體算法步驟如下:
①選擇一個t-1 次隨機(jī)多項式
其 中,
廣播多項式常系數(shù)的承諾
p(k=0,1,…,t-1)。
②計算共享
并發(fā)送給參與者
自己安全保存
③判斷等式
是否成立,對
發(fā)送的
進(jìn)行驗證。如果等式成立,則證明
發(fā)送的共享是有效的,否則
要求重新廣播新的共享值直到驗證成功為止。
④在成功驗證所有來自其他參與者的共享之后,計算簽名私鑰 SK 的共享份額為
對應(yīng)的簽名公鑰 PK 的份額為
簽名私鑰
任何的參與者都不知道這個私鑰,不少于閾值 t 的參與者的私鑰份額通過拉格朗日插值公式可以恢復(fù)簽名私鑰,具體為:
對應(yīng)的公鑰為:
私鑰共享份額對應(yīng)的公鑰為:
(3)利用私鑰份額
參與者
運行此算法對消息 M ∈ {0,1}* 產(chǎn)生簽名份額
(4)驗證者運行此算法,利用私鑰份額對應(yīng)的公鑰份額
對簽名份額
進(jìn)行驗證,如果
則表示驗證成功,輸出 1,否則,輸出 0。
(5)驗證者運行此算法,通過拉格朗日插值公式將 t 個有效的簽名份額
聚合為最終的簽名 σ,此簽名對應(yīng)的簽名私鑰為 SK,驗證公鑰為 PK。(6){0/1} ← BLSVer(σ,M,PK):驗證者運行此算法,利用公鑰 PK 對消息 M 的簽名 σ 進(jìn)行驗證,如果等式e(σ,M)=e(H(M),PK) 成立,則簽名驗證成功,輸出 1,否則,輸出 0。
1.2 非中心化身份標(biāo)識 DID
DID是 W3C 的推薦標(biāo)準(zhǔn),是一種基于密碼的可驗證數(shù)字身份標(biāo)識,其對應(yīng)一對公私鑰對和一個 DID 文檔。DID 標(biāo)識符和文檔是公開的,DID 文檔包含公鑰和身份所有者希望披露的一些其他信息。DID 所有者通過控制關(guān)聯(lián)的私鑰來控制 DID。因此,身份完全在持有者的控制下,不依賴于任何中心化機(jī)構(gòu)。區(qū)塊鏈?zhǔn)抢硐氲膶崿F(xiàn) DID 的非中心化基礎(chǔ)設(shè)施,DID 文檔存儲在區(qū)塊鏈上,使得所有實體可以利用文檔中公開的信息驗證用戶身份,無須依賴第三方身份供應(yīng)商。
因為每個 DID 都關(guān)聯(lián)一對或多對公鑰對,任何擁有 DID 的人都應(yīng)該能夠利用數(shù)字發(fā)布和簽署可驗證的憑證(Verifiable Credentials,VC),所以在區(qū)塊鏈上查找發(fā)布者的公鑰就能夠驗證聲明。VC也是 W3C 的一個標(biāo)準(zhǔn),而一個可驗證的憑證包括一組關(guān)于持有者屬性的聲明和元數(shù)據(jù)。由于有發(fā)布者的簽名,VC 是防篡改且可驗證的。
2 系統(tǒng)模型
如圖 1 所示,系統(tǒng)中包括多個聯(lián)盟應(yīng)用鏈,其通過中繼鏈互聯(lián)實現(xiàn)跨鏈互操作。本文考慮跨鏈賬本數(shù)據(jù)互訪場景。
圖 1 系統(tǒng)模型
2.1 中繼鏈(ReChain)
中繼鏈負(fù)責(zé)不同應(yīng)用鏈的跨鏈身份管理及跨鏈交易驗證、轉(zhuǎn)發(fā)和監(jiān)管,其中跨鏈注冊合約負(fù)責(zé)應(yīng)用鏈注冊。應(yīng)用鏈在中繼鏈注冊之后接入跨鏈網(wǎng)絡(luò),中繼鏈不管理應(yīng)用鏈中所有用戶的身份,避免中心化和資產(chǎn)丟失風(fēng)險??珂溦J(rèn)證合約負(fù)責(zé)跨鏈交易驗證,跨鏈請求和響應(yīng)交易都需要中繼鏈驗證其有效性??珂溄灰子涗浽谥欣^鏈上,跨鏈審計合約負(fù)責(zé)跨鏈交易的審計和監(jiān)管。
2.2 應(yīng)用鏈(AppChain)
各個聯(lián)盟應(yīng)用鏈由一組共識節(jié)點負(fù)責(zé)管理和維護(hù),負(fù)責(zé)聯(lián)盟鏈內(nèi)所有用戶的跨鏈注冊和身份管理,在此基礎(chǔ)上和跨鏈網(wǎng)絡(luò)中的其他應(yīng)用鏈進(jìn)行跨鏈互操作。應(yīng)用鏈的跨鏈注冊合約負(fù)責(zé)用戶和應(yīng)用鏈注冊到跨鏈系統(tǒng)。應(yīng)用鏈的跨鏈訪問合約和跨鏈網(wǎng)關(guān)交互,實現(xiàn)跨鏈訪問操作。各應(yīng)用鏈有自己的訪問控制機(jī)制,跨鏈互操作需要進(jìn)行身份驗證并滿足訪問控制策略,由跨鏈訪問控制合約執(zhí)行跨鏈訪問控制。
2.3 跨鏈網(wǎng)關(guān)
跨鏈網(wǎng)關(guān)位于應(yīng)用鏈和中繼鏈之間,持續(xù)監(jiān)聽?wèi)?yīng)用鏈與中繼鏈之間的跨鏈請求或響應(yīng)并進(jìn)行轉(zhuǎn)發(fā)。
3 方 案
如圖 1 所示,跨鏈數(shù)據(jù)訪問過程分為跨鏈身份注冊、跨鏈訪問請求和跨鏈訪問響應(yīng) 3 個階段。
3.1 跨鏈身份注冊
3.1.1 中繼鏈身份初始化
為了給應(yīng)用鏈之間的跨鏈操作提供驗證憑證,中繼鏈的共識節(jié)點運行非中心化 BL(t,n) 閾值簽名的 Setup 算法設(shè)置系統(tǒng)公共參數(shù),然后運行算法KeyShare 生成中繼鏈系統(tǒng)的公私鑰對及各共識節(jié)點的私鑰份額和對應(yīng)的公鑰份額。閾值簽名的閾值 t 的設(shè)定與共識算法一致,比如對于實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)算法,閾值 t 不低于共識節(jié)點數(shù)量的 2/3。
中繼鏈設(shè)置其在跨鏈系統(tǒng)中的跨鏈身份標(biāo)識跨鏈身份標(biāo)識的格式可以遵從 W3C 的DID 規(guī)范,具體形式為(DID: 方法字段 : 標(biāo)識字段),其中:固定字段 DID 表示遵從的具體規(guī)范或標(biāo)準(zhǔn),方法字段指所遵從規(guī)范或標(biāo)準(zhǔn)中的具體的方法名稱,標(biāo)識字段在特定方法下唯一標(biāo)識一個實體。中繼鏈的跨鏈身份標(biāo)識
被定義為:
式中:
是跨鏈系統(tǒng)的名稱,
是中繼鏈在整個跨鏈系統(tǒng)中唯一的標(biāo)識。
3.1.2 應(yīng)用鏈注冊
應(yīng)用鏈注冊過程中,應(yīng)用鏈的共識節(jié)點協(xié)同生成跨鏈公私鑰對,將公鑰提交給中繼鏈申請注冊,中繼鏈為應(yīng)用鏈生成跨鏈身份標(biāo)識及其憑證。應(yīng)用鏈注冊可以分為應(yīng)用鏈操作和中繼鏈操作兩部分,如圖 2 所示。圖 2 應(yīng)用鏈跨鏈身份注冊過程
(1)應(yīng)用鏈的操作①應(yīng)用鏈的共識節(jié)點利用非中心化
閾值簽名的 Setup 算法設(shè)置系統(tǒng)公共參數(shù),然后運行算法 KeyShare 生成中繼鏈系統(tǒng)的公私鑰對
及各共識節(jié)點的私鑰份額和對應(yīng)的公鑰份額。閾值
的設(shè)置與應(yīng)用鏈共識算法一致。②應(yīng)用鏈的跨鏈注冊合約生成應(yīng)用鏈跨鏈注冊請求交易
并在應(yīng)用鏈內(nèi)進(jìn)行廣播。該交易包括應(yīng)用鏈
的公鑰
應(yīng)用鏈的名稱
及中繼鏈的跨鏈身份標(biāo)識
等信息。③應(yīng)用鏈的共識節(jié)點運行 BLS 閾值簽名中的SigShareGen 算法對跨鏈注冊請求交易
進(jìn)行簽名,得到簽名份額并廣播。④跨鏈注冊合約對收集到的每一個簽名份額都運行 SigShareVer 算法進(jìn)行驗證,如果得到 t 個驗證成功的簽名份額,則生成合法的簽名份額集合,表示為:
式中:Signer List 給出生成簽名的共識節(jié)點的信息,特別是簽名私鑰份額對應(yīng)的公鑰份額列表,用于驗證簽名份額。此時,也表明應(yīng)用鏈對跨鏈注冊請求交易 CRTran 達(dá)成共識。⑤跨鏈注冊合約通過網(wǎng)關(guān)向中繼鏈提交跨鏈注冊請求
申 請 接入跨鏈系統(tǒng)。
(2)中繼鏈的操作①中繼鏈的跨鏈注冊合約收到跨鏈注冊請求之 后, 運 行 BLS閾值簽名的 SigShareComb 算法聚合簽名份額集合
中 的 簽 名, 得 到 完整簽名 σ,然后運行 BLSVer 算法,用應(yīng)用鏈的公鑰
驗證簽名,如果驗證成功,則執(zhí)行后續(xù)操作。②跨鏈注冊合約為該應(yīng)用鏈
生成跨鏈身份標(biāo)識
其被定義為:
式中:
為中繼鏈的名稱,
為應(yīng)用鏈在中繼系統(tǒng)中唯一的標(biāo)識。③跨鏈注冊合約在中繼鏈內(nèi)廣播可驗證跨鏈身份標(biāo)識憑證生成交易
交易中包含憑證的唯一編號 Number(由中繼鏈統(tǒng)一管理)、應(yīng)用鏈的公鑰
應(yīng)用鏈的跨鏈身份標(biāo)識
發(fā)布和到期日等信息。中繼鏈的共識節(jié)點驗證交易并應(yīng)用 BLS 閾值簽名的SigShareGen 算法對可驗證跨鏈身份標(biāo)識憑證生成交易
進(jìn)行簽名,得到簽名份額并廣播。④跨鏈注冊合約對收集到的每一個簽名份額都運行 SigShareVer 算法進(jìn)行驗證,如果得到 t 個驗證成功的簽名份額,則生成合法的簽名份額集合,表示為:
式中:Signer List 為生成簽名的中繼鏈共識節(jié)點的信息,特別是簽名私鑰份額對應(yīng)的公鑰份額列表,用于驗證簽名份額。此時,也表明中繼鏈對可驗證跨鏈身份標(biāo)識憑證生成交易
達(dá)成共識。⑤跨鏈注冊合約為應(yīng)用鏈
的跨鏈身份標(biāo)識
生成對應(yīng)的憑證
被定義為:
憑證
將應(yīng)用鏈
的跨鏈身份標(biāo)識
和公鑰
進(jìn)行綁定,任何一方能夠利用憑證中的簽名對憑證的真實性和合法性進(jìn)行驗證。因此,應(yīng)用鏈
可以用憑證
在跨鏈網(wǎng)絡(luò)中驗證自己的身份。⑥跨鏈注冊合約將應(yīng)用鏈
的跨鏈身份標(biāo)識
及憑證
通過跨鏈網(wǎng)關(guān)返回給應(yīng)用鏈的跨鏈注冊合約,并將跨鏈身份標(biāo)識憑證存儲在中繼鏈中用于身份驗證及跨鏈互操作的審計和監(jiān)管。
3.1.3 用戶注冊
用戶跨鏈身份注冊過程在用戶所屬的應(yīng)用鏈內(nèi)完成,由應(yīng)用鏈的跨鏈注冊合約和共識節(jié)點負(fù)責(zé)鏈內(nèi)用戶的注冊。由用戶本地生成公私鑰對,利用公鑰在鏈內(nèi)請求注冊分布式跨鏈身份標(biāo)識及其憑證。具體注冊過程如圖 3 所示。圖 3 用戶跨鏈身份注冊過程
①應(yīng)用鏈用戶本地生成一對公私鑰對
作為跨鏈密鑰,產(chǎn)生跨鏈注冊請求交易
廣播到本地應(yīng)用鏈
該交易包括用戶
的公鑰
和中繼鏈的跨鏈身份標(biāo)識
等信息,表示用戶想要加入的跨鏈系統(tǒng)。
②應(yīng)用鏈的共識節(jié)點驗證交易,然后運行 BLS閾值簽名中的 SigShareGen 算法對跨鏈注冊請求交易進(jìn)行簽名,得到簽名份額并在應(yīng)用鏈內(nèi)廣播。
③應(yīng)用鏈的跨鏈注冊合約對收集到的每一個簽名份額都運行 SigShareVer 算法進(jìn)行驗證,如果得到個驗證成功的簽名份額,則運行 BLS 閾值簽名的 SigShareComb 算法聚合簽名份額,得到完整簽名 σ,然后用應(yīng)用鏈的公鑰
驗證簽名,如果驗證成功,則表明應(yīng)用鏈對用戶的跨鏈注冊請求交易
達(dá)成共識。
④應(yīng)用鏈的跨鏈注冊合約為用戶生成跨鏈身份標(biāo)識
其被定義為:
式中:
為用戶在應(yīng)用鏈中唯一的標(biāo)識。
⑤應(yīng)用鏈的跨鏈注冊合約在應(yīng)用鏈內(nèi)廣播可驗證跨鏈身份標(biāo)識憑證生成交易交易中包含憑證的唯一編號 Number(由應(yīng)用鏈統(tǒng)一管理)、用戶的公鑰
用戶的跨鏈身份標(biāo)識
發(fā)布和到期日等信息。
⑥應(yīng)用鏈的共識節(jié)點驗證交易并應(yīng)用 BLS 閾值簽名的 SigShareGen 算法對可驗證跨鏈身份標(biāo)識憑證生成交易進(jìn)行簽名,得到簽名份額并廣播。
⑦跨鏈注冊合約對收集到的每一個簽名份額都運行 SigShareVer 算法進(jìn)行驗證,如果得到個驗證成功的簽名份額,則生成合法的簽名份額集合,表示為:
⑧跨鏈注冊合約為用戶的跨鏈身份標(biāo)識
生成對應(yīng)的憑證
被定義為:
憑證
將用戶
的跨鏈身份標(biāo)識
和用戶的公鑰
進(jìn)行綁定,任何一方都能夠利用憑證中的簽名對憑證的真實性和合法性進(jìn)行驗證。用戶
可以用憑證
在跨鏈網(wǎng)絡(luò)中驗證自己的身份。
⑨鏈內(nèi)所有用戶的跨鏈身份憑證都被打包進(jìn)區(qū)塊,存儲在應(yīng)用鏈中,用于身份驗證及跨鏈互操作的審計和監(jiān)管。
3.2 跨鏈訪問請求
用戶的跨鏈訪問由本地應(yīng)用鏈驗證之后發(fā)送給中繼鏈進(jìn)行驗證,最后訪問請求、交易及其驗證信息一起發(fā)送給目的鏈,由目的鏈的跨鏈訪問合約根據(jù)訪問控制策略和訪問請求中的用戶跨鏈身份標(biāo)識判定用戶是否具有訪問權(quán)限,請求過程如圖 4 所示。
圖 4 跨鏈數(shù)據(jù)訪問過程
①應(yīng)用鏈中的用戶
向應(yīng)用鏈的跨鏈訪問合約發(fā)送跨鏈數(shù)據(jù)訪問請求
其 中
表示訪問目的鏈,ObData 描述要訪問的目的鏈中的數(shù)據(jù),
是用戶
的跨鏈身份標(biāo)識憑證,
為用戶
用自己的跨鏈私鑰
對請求的簽名。
②應(yīng)用鏈的跨鏈訪問合約首先驗證用戶的跨鏈身份標(biāo)識憑證具體的驗證方法是運 行 BLS 閾 值 簽 名 的 SigShareVer 算法驗證憑證的
中的每一個簽名份額,驗證成功后運行 SigShareComb 算法聚合所有的簽名份額得到完整簽名,然后運行 BLSVer 算法用應(yīng)用鏈的跨鏈公鑰
驗證該簽名,如果驗證成功,則用憑證
中用戶的跨鏈公鑰
驗證簽名
在簽名都驗證成功后,執(zhí)行后續(xù)操作。
③應(yīng)用鏈的跨鏈訪問合約在應(yīng)用鏈內(nèi)廣播一個跨鏈數(shù)據(jù)訪問交易交易中包含用戶的跨鏈訪問請求
④應(yīng)用鏈的共識節(jié)點運行 BLS 閾值簽名中的SigShareGen 算法對跨鏈數(shù)據(jù)訪問交易進(jìn)行簽名,得到簽名份額并在應(yīng)用鏈內(nèi)廣播。
⑤應(yīng)用鏈的跨鏈訪問合約對收集到的每一個簽名份額都運行 SigShareVer 算法進(jìn)行驗證,如果得到個驗證成功的簽名份額,則生成合法的簽名份額集合,表示為:
這表明應(yīng)用鏈對跨鏈數(shù)據(jù)訪問交易
達(dá)成共識。
⑥應(yīng)用鏈的跨鏈訪問合約將跨鏈數(shù)據(jù)訪問交易 CDCTranUserj及其合法的簽名份額集合一起通過跨鏈網(wǎng)關(guān)發(fā)送給中繼鏈ReChain 的跨鏈認(rèn)證合約。
⑦中繼鏈的跨鏈認(rèn)證合約運行 SigShareVer 算法對中的每一個簽名份額進(jìn)行驗證, 如 果 都 成 功, 則 運 行 SigShareComb 算法聚合所有的簽名份額得到完整簽名
然 后, 運行 BLSVer 算法用應(yīng)用鏈的跨鏈公鑰
驗證該簽名,如果驗證成功,則在中繼鏈廣播跨鏈數(shù)據(jù)訪問驗證交易
交易中包括
和完整簽名
⑧中繼鏈共識節(jié)點驗證驗證成功則利用自己的私鑰份額和算法 SigShareGen生成簽名份額并廣播。
⑨中繼鏈的跨鏈認(rèn)證合約驗證每一個簽名份額,如果有 t 個簽名份額驗證成功,則生成合法的簽名份額集合,表示為:然后,將
一起通過跨鏈網(wǎng)關(guān)發(fā)送給目的鏈
3.3 跨鏈訪問響應(yīng)
目 的 鏈的跨鏈訪問合約驗證
中的每一個簽名,然后聚合生成中繼鏈的完整簽名,用中繼鏈的跨鏈公鑰
進(jìn)行驗證。驗證成功后,從
中提取用戶
的跨鏈身份標(biāo)識憑證
根據(jù)用戶的身份標(biāo)識
及其內(nèi)置的訪問控制策略,確定用戶的訪問請求是否允許,如果允許,則通過中繼鏈返回用戶要求的數(shù)據(jù)。中繼鏈記錄并存儲本次跨鏈數(shù)據(jù)訪問過程。
3.4 用戶跨鏈權(quán)限撤銷
在每一個應(yīng)用鏈內(nèi),各自維護(hù)一個撤銷列表,記錄被撤銷的跨鏈身份標(biāo)識憑證。當(dāng)用戶的跨鏈訪問權(quán)限被撤銷時,則將
中的唯一編號 Number 發(fā)布到撤銷列表。當(dāng)應(yīng)用鏈的跨鏈訪問合約驗證用戶的訪問請求時,首先需要查找撤銷列表,驗證用戶的跨鏈身份標(biāo)識憑證是否被撤銷,已被撤銷的用戶不能進(jìn)行跨鏈訪問或操作。
4 分 析
4.1 自主跨鏈身份管理
系統(tǒng)中所有用戶的身份都由用戶自主管理。首先由用戶自己生成公私鑰對,其次申請跨鏈身份標(biāo)識及其憑證??珂溕矸輼?biāo)識憑證將公鑰和跨鏈身份標(biāo)識進(jìn)行綁定,具有與區(qū)塊鏈共識機(jī)制一致的閾值簽名算法產(chǎn)生的簽名,使得憑證是自帶驗證功能的,不需要依賴其他方提供驗證。為了達(dá)到不同的目的,一個用戶可以生成不同的公私鑰對,然后申請不同的身份標(biāo)識及其憑證。在不同的場景下,用戶可以選擇不同的跨鏈身份憑證進(jìn)行身份驗證。另外,由于跨鏈身份標(biāo)識憑證自帶驗證功能,使得中繼鏈不需要管理跨鏈網(wǎng)絡(luò)中所有用戶的身份,只需要存儲接入跨鏈系統(tǒng)的應(yīng)用鏈的跨鏈身份標(biāo)識憑證,并結(jié)合用戶的跨鏈身份標(biāo)識憑證和應(yīng)用鏈的跨鏈身份標(biāo)識憑證進(jìn)行信任傳遞。因此,本系統(tǒng)是輕量級的。
4.2 跨鏈交易驗證
本方案基于 BLS 閾值簽名執(zhí)行跨鏈交易驗證。BLS 閾值簽名的閾值設(shè)定與區(qū)塊鏈的共識機(jī)制一致,簽名密鑰在共識節(jié)點之間共享。本方案中所有閾值簽名的驗證包括兩個階段:(1)對每一個閾值簽名份額進(jìn)行驗證,確認(rèn)單個共識節(jié)點簽名的正確性;(2)聚合簽名份額得到完整簽名,然后對完整簽名進(jìn)行驗證,確認(rèn)正確簽名的共識節(jié)點數(shù)達(dá)到閾值,且滿足共識算法的要求。因此,閾值簽名的驗證成功預(yù)示一個區(qū)塊鏈的共識節(jié)點對交易達(dá)成共識,該交易被記錄入?yún)^(qū)塊,存儲在區(qū)塊鏈上。應(yīng)用鏈發(fā)送給中繼鏈,然后中繼鏈轉(zhuǎn)發(fā)給目的鏈的交易都帶有兩個鏈的共識節(jié)點對交易的簽名份額列表,所有驗證方都可以對閾值簽名進(jìn)行兩階段驗證?;谂c共識算法一致的閾值簽名的信任傳遞,使得該方案不必像公證人機(jī)制依靠受信任的第三方公證人來完成對鏈間交易信息的驗證,也不必像“區(qū)塊頭 +SPV”模式花費代價同步保存外鏈系統(tǒng)的區(qū)塊頭信息,來對交易信息進(jìn)行驗證。
4.3 跨鏈訪問控制
由于跨鏈數(shù)據(jù)訪問交易中包含請求用戶的跨鏈身份標(biāo)識及其憑證,用戶的身份標(biāo)識信息包括用戶所在的應(yīng)用鏈和跨鏈系統(tǒng),目的鏈可以根據(jù)用戶的身份執(zhí)行訪問控制策略。
另外,本方案將跨鏈身份標(biāo)識及憑證機(jī)制進(jìn)一步擴(kuò)展為表示跨鏈身份屬性及其憑證,更為細(xì)致地表達(dá)用戶的多種身份屬性,從而實現(xiàn)更為細(xì)粒度的訪問控制。
5 結(jié) 語
本文設(shè)計了一個用于區(qū)塊鏈跨鏈網(wǎng)絡(luò)的用戶自我主權(quán)身份管理模型,相比已有研究依賴中繼鏈管理和驗證所有用戶的身份,本方案由用戶自己管理其跨鏈身份,實現(xiàn)輕量級的非中心化跨鏈身份管理、驗證及訪問控制?;诖松矸莨芾砟P透鲬?yīng)用鏈能本地驗證用戶身份,執(zhí)行訪問控制策略,實現(xiàn)跨鏈訪問控制。此外,身份標(biāo)識模型的進(jìn)一步擴(kuò)展能實現(xiàn)細(xì)粒度跨鏈訪問控制。
引用格式:馬曉旭 , 李亞榮 , 肖銀 , 等 . 跨鏈自主身份管理及訪問控制模型 [J]. 通信技術(shù) ,2024,57(3):275-284.
作者簡介 >>>
馬曉旭,男,博士,高級工程師,主要研究方向為區(qū)塊鏈、數(shù)據(jù)安全;
李亞榮,女,碩士,工程師,主要研究方向為區(qū)塊鏈、數(shù)據(jù)安全;
肖 銀,男,學(xué)士,工程師,主要研究方向為區(qū)塊鏈、數(shù)據(jù)安全、網(wǎng)絡(luò)靶場;
雷 靂,男,碩士研究生,工程師,主要研究方向為區(qū)塊鏈、數(shù)據(jù)安全;
肖 敏,女,博士,教授,主要研究方向為現(xiàn)代密碼學(xué)理論與應(yīng)用、車聯(lián)網(wǎng)安全、量子密碼;
唐 飛,男,博士,教授,主要研究方向為密碼學(xué)、區(qū)塊鏈、隱私計算。
選自《通信技術(shù)》2024年第3期(為便于排版,已省去原文參考文獻(xiàn))
重要聲明:本文來自信息安全與通信保密雜志社,經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有,不代表銳成觀點,轉(zhuǎn)載的目的在于傳遞更多知識和信息。
相關(guān)文章推薦
2025-04-22 15:15:30
2025-04-21 15:20:03
2025-04-02 16:28:39
2025-03-27 15:01:53
2025-03-26 15:37:04
熱門工具
標(biāo)簽選擇
閱讀排行
我的評論
還未登錄?點擊登錄