












摘 要:針對實現(xiàn)數(shù)據(jù)流通協(xié)同應用的問題,提出了一種基于輕量化區(qū)塊鏈的數(shù)據(jù)主權管控方法,包括構建可信數(shù)字身份、數(shù)據(jù)訪問安全、數(shù)據(jù)源頭可信的數(shù)據(jù)流通協(xié)同體系,以促進協(xié)同各方在跨層次、跨領域、跨系統(tǒng)、跨部門、跨業(yè)務的情境下進行安全共享。如在特殊領域的人員選拔等,通過實施基于輕量化數(shù)據(jù)區(qū)塊鏈技術的數(shù)據(jù)管控平臺,成功實現(xiàn)了用戶身份可信和數(shù)據(jù)權限控制等創(chuàng)新應用。關鍵步驟包括利用基于屬性加密(AttributeBased Encryption,ABE) 算法對用戶屬性進行加密,使符合屬性的用戶能夠進行解密,實現(xiàn)對數(shù)據(jù)的有選擇性披露。在解決數(shù)據(jù)安全共享的挑戰(zhàn)中發(fā)揮了關鍵作用。
關鍵詞:輕量化區(qū)塊鏈;數(shù)據(jù)共享;基于屬性加密
中圖分類號:TP309 文獻標志碼:A 開放科學(資源服務)標識碼(OSID):
文章編號:1003-3106(2024)04-0848-09
0 引言
由于共享經濟的普及和各行業(yè)數(shù)據(jù)協(xié)同程度的提高,參與各方在數(shù)據(jù)和數(shù)據(jù)驅動服務方面的合作日益增加,使得對數(shù)據(jù)安全性、協(xié)同效率以及行為管控粒度在敏感場景下的高要求已經超出了原有的簡單攻擊檢測和譴責違規(guī)者等傳統(tǒng)手段的滿足范圍[1-2]。在傳統(tǒng)的數(shù)據(jù)平臺中,為了讓數(shù)據(jù)在不同方之間流通,協(xié)作方(數(shù)據(jù)所有者或持有者)需要將數(shù)據(jù)傳輸?shù)絽⑴c的系統(tǒng),或者至少提供數(shù)據(jù)的副本。然而,數(shù)據(jù)是特殊的資產,具有“看過或復制即擁有”的特性。在數(shù)據(jù)交易或共享中介的情況下,他們可能會有條件地復制或保存所有經過的數(shù)據(jù),這可能會降低數(shù)據(jù)所有者提供數(shù)據(jù)的積極性,從而影響整個平臺的數(shù)據(jù)流通。此外,一旦數(shù)據(jù)所有者退出,就會失去對數(shù)據(jù)全生命周期的控制,意味著傳統(tǒng)的數(shù)據(jù)監(jiān)管手段存在不完善之處,可能會出現(xiàn)非法復制數(shù)據(jù)、無效數(shù)據(jù)導入和高昂的重復數(shù)據(jù)存儲等情況。
將原始數(shù)據(jù)轉化為有價值數(shù)據(jù)過程中的各方協(xié)同合作通常需要大量的數(shù)據(jù)傳輸、共享、交換和處理,這些過程中會伴隨著中間人攻擊、數(shù)據(jù)錯誤、數(shù)據(jù)不完整等安全挑戰(zhàn)。一方面,根據(jù)已有數(shù)據(jù)的不同敏感程度在傳輸前對其進行加密的手段來增強數(shù)據(jù)安全性,會引入較高的開銷處理成本,這也是常規(guī)信息系統(tǒng)的處理方式。另一方面,依賴于數(shù)據(jù)驅動的服務或進程通常無法從錯誤、有缺陷或碎片化的數(shù)據(jù)中獲取理想且可信的分析結果。無論采用何種保護機制,數(shù)據(jù)安全管理仍然面臨著重大挑戰(zhàn)。區(qū)塊鏈作為一種能夠根據(jù)不同的業(yè)務場景進行高度可塑的新型技術[3-4],可以解決若干傳統(tǒng)技術下的痛點,主要解決各方的不信任問題。數(shù)據(jù)價值最優(yōu)化的交換轉移過程通常涉及3 個層面:一是確保交易價值的唯一性;二是確立價值雙方的信任關系;三是確保雙方的承諾能夠完全依靠網絡的自治機制而自動執(zhí)行,無需可信第三方介入。區(qū)塊鏈技術的共識機制和智能合約能在一定程度上滿足上述條件,能夠實現(xiàn)價值轉移與價值交換的基本功能[5]。原始的數(shù)據(jù)文件通常存儲在Cloud Service Provider(CSP)中。
傳統(tǒng)區(qū)塊鏈往往存在高能耗、低擴展性和低吞吐量等缺陷,輕量化區(qū)塊鏈[6]是針對傳統(tǒng)區(qū)塊鏈技術的一種改進和優(yōu)化,旨在減少其資源消耗、提高系統(tǒng)效率并降低參與區(qū)塊鏈網絡的成本。在特殊領域基于輕量化區(qū)塊鏈進行數(shù)據(jù)協(xié)同的過程中,參與方可使用如腕表、手機等輕量級設備加入網絡,進而減少加入網絡的成本和復雜性,使更多參與者能夠輕松加入并參與區(qū)塊鏈網絡的運作,且通過設備采集數(shù)據(jù)后直接上鏈可以保證數(shù)據(jù)的源頭可信。在輕量化區(qū)塊鏈中,通過構建協(xié)同體系,確保在跨層次、跨領域、跨系統(tǒng)、跨部門和跨業(yè)務的情境下實現(xiàn)數(shù)據(jù)流通,結合本文設計的數(shù)據(jù)共享和訪問控制等方案,能夠進一步解決用戶身份可信性和數(shù)據(jù)權限控制等問題,對數(shù)據(jù)主權進行了有效的管理。
為保證數(shù)據(jù)存儲的可信,建立訪問控制體系以保障數(shù)據(jù)的選擇性共享,使用戶可以管理個人身份信息并建立用戶身份到用戶數(shù)據(jù)的映射,確保數(shù)據(jù)主權。本文針對用戶可信身份和用戶可能有多個身份的問題,使用分布式身份(Distributed Identity,DID)標識為用戶身份建立數(shù)字身份,保證數(shù)字身份的可信度,明確DID 標識的建立和更新流程,使用分布式存儲方式存放用戶數(shù)據(jù)文件,將文件標識存儲上鏈以引導數(shù)據(jù)請求方下載和還原數(shù)據(jù)文件。利用CP-ABE 算法對用戶屬性進行加密,使符合屬性的用戶進行解密操作,實現(xiàn)有選擇性的數(shù)據(jù)披露。通過這些措施的綜合應用,可以有效保證數(shù)據(jù)存儲的可信性,確保數(shù)據(jù)內容可信、數(shù)據(jù)行為可信、數(shù)據(jù)源頭可信。
1 關鍵技術
DID、數(shù)據(jù)訪問控制機制以及輕量化區(qū)塊鏈技術是實現(xiàn)基于輕量化區(qū)塊鏈的數(shù)據(jù)主權管控平臺的關鍵支柱。DID 技術能夠確保參與者的身份驗證和管理,保障數(shù)據(jù)主權的真實性和可信度。數(shù)據(jù)訪問控制機制則提供了對數(shù)據(jù)的細粒度控制,確保數(shù)據(jù)只被授權的實體所訪問。輕量化區(qū)塊鏈技術作為底層基礎設施,不僅提供了數(shù)據(jù)交換和存儲的安全性,還能有效降低能源和計算資源的消耗,從而使得整個數(shù)據(jù)主權管控平臺具備更高的可擴展性和效率。
一個可信的網絡系統(tǒng)的核心是保證用戶身份信息的安全性,而DID 信息技術則可以讓使用者獲得并管理自己的數(shù)字身份,就像個人將自己的姓名、護照和戶口本等紙質文件保存起來,只能在必要時才能使用,而不會有中介人(即使作為DID 信息技術提供者)了解或操控使用者的身份和資料。談及DID 的技術實現(xiàn),相較于傳統(tǒng)的DID 方案,本文提出的DID 數(shù)字身份系統(tǒng)基于區(qū)塊鏈信息技術,區(qū)塊鏈技術提供一個去中心化的、不可篡改的賬本,使得身份信息可以被安全地存儲和驗證。身份信息被分散存儲在區(qū)塊鏈網絡的多個節(jié)點上,替代原有的集中存儲在單一實體上,降低被攻擊或篡改的風險,具有可靠性、安全性和可移植性等優(yōu)勢,能夠有效地保護客戶的隱私,確保數(shù)據(jù)的真實性和可信度。
DID 與傳統(tǒng)地址的最大不同之處在于,DID 在計算過程中加入了一些特定的信息技術,比如加密算法、哈希算法等,這種運算方式可以用來控制DID產生的各個過程,比如加密算法可以確定使用者消息私鑰和公鑰的運算方式,而哈希算法則可以確定使用者消息被運算成哈希時所采用的運算方式。DID 的發(fā)展將為互聯(lián)網帶來巨大的變革,將成為一個基礎設施,能夠用來實現(xiàn)各種許可或認證活動,包括認證身份、許可交易等。現(xiàn)在,能夠透過輸入密碼、出示有效證件或者透過第三方公證來進行授權認證,而DID 的應用將會使這些操作都能夠在移動端用私鑰簽字實現(xiàn),將極大地改變我們的數(shù)字生活,擁有更加安全、便捷的數(shù)碼生活體驗。線上和線下的日常生活將會變得更加便捷。
DID 為用戶提供了一個唯一、可驗證、可控的數(shù)字身份,用戶可以在分布式網絡中創(chuàng)建和管理自己的DID。生成和更新DID 可以通過與區(qū)塊鏈集成、基于密碼學技術的身份驗證、多因素身份驗證等方式來實現(xiàn),以確保用戶身份的安全和可靠性。
區(qū)塊鏈方法的出現(xiàn),為DID 帶來了巨大的改變。它的無可篡改性和哈希加密功能,使得創(chuàng)建一個真正的、可信的、去中心化的身份系統(tǒng)成為可能。
1. 1 數(shù)據(jù)訪問控制機制
數(shù)據(jù)訪問控制機制是一種安全性措施,用于管理和監(jiān)控對數(shù)據(jù)的訪問權限,是信息安全領域的一部分,旨在確保只有授權的用戶或系統(tǒng)能夠訪問、修改或執(zhí)行與數(shù)據(jù)相關的操作。
文獻[7]對當前區(qū)塊鏈健康方面的應用和研發(fā)進行了深入的探討,總結出了一系列關于區(qū)塊鏈數(shù)據(jù)安全的研究方向,例如如何實現(xiàn)細粒度的訪問控制、身份可信性等區(qū)塊鏈相關的挑戰(zhàn)。文獻[8]利用區(qū)塊鏈現(xiàn)了醫(yī)療數(shù)據(jù)共享,而且滿足了安全認證階段的各種安全需求。Jaiman 等[9]通過建立基于區(qū)塊鏈的數(shù)據(jù)訪問模型,完成了數(shù)據(jù)與區(qū)塊鏈結點相互之間的雙方驗證,從而有效地規(guī)避了第三方數(shù)據(jù)可信性的風險,并且利用智能合約動態(tài)表示個人對健康數(shù)據(jù)的同意與否,從而更好地保護個人隱私。Yang 等[10]提出了一種名為BZDIMS 的選擇性共享模型,可以讓數(shù)據(jù)請求者有效地搜索和訪問數(shù)據(jù),并通過設計認證鏈的方式減少gas 開銷;“挑戰(zhàn)-響應”協(xié)議則允許用戶有選擇性地向服務提供商披露自己的屬性所有權,以保障用戶的行為隱私權,同時利用智能協(xié)議和零知識證明算法對區(qū)塊鏈中現(xiàn)有的身份模型進行改進,以提升用戶的安全性和可靠性。文獻[11]提出了一種新的節(jié)點分簇協(xié)議,旨在解決區(qū)塊鏈節(jié)點身份可信性問題。該協(xié)議將普通節(jié)點的身份認證操作轉移到公共區(qū)塊鏈上,以確保節(jié)點之間的身份關聯(lián)性。
2021 年,Wang 等[12]針對供應鏈的數(shù)據(jù)共享問題提出了一種數(shù)據(jù)交換模型———Hashgraph,利用智能合約和邊緣計算進行數(shù)據(jù)跟蹤,并對各方數(shù)據(jù)賦予權值,但會犧牲一定的網絡可信度。Bouras 等[13]利用區(qū)塊鏈構建物聯(lián)網的訪問控制系統(tǒng),基于Fabric 聯(lián)盟網絡設計了用戶身份模型和訪問控制方案,并引入許可鏈來解決可擴展性問題。Manogaran等[14]提出了一種工業(yè)物聯(lián)網下的區(qū)塊鏈數(shù)據(jù)共享模型BSDS,使用循環(huán)學習對入站采集進行分類,以識別數(shù)據(jù)傳播中的不良序列,在出站安全措施中,基于信譽和序列區(qū)分的區(qū)塊鏈信息進行端到端認證,其數(shù)據(jù)完整性和序列驗證由非挖礦區(qū)塊鏈終端執(zhí)行。文獻[15]提出了一個基于區(qū)塊鏈的分散身份管理系統(tǒng),用戶可以透明安全地識別和驗證自己。Damgard 等[16]提出一種新型的區(qū)塊鏈身份管理原則,運用代理重加密和零知識證明進行身份信息的加密和驗證,并設計了一種認證協(xié)議實現(xiàn)了身份信息的安全認證。
2022 年,Lee 等[17]提出一種醫(yī)療區(qū)塊鏈模型,通過設計新型的區(qū)塊結構和加密方案,并通過智能合約來保證數(shù)據(jù)的選擇性共享,設計了形式化驗證工具來驗證醫(yī)療數(shù)據(jù)有效性。Li 等[18]將區(qū)塊鏈與物聯(lián)網結合,構建了一個基于區(qū)塊鏈的隱私保護和獎勵私有數(shù)據(jù)共享方案———BPRPDS,利用可否認環(huán)簽名和邏輯電路實現(xiàn)了BPRPDS 的行為配置文件構建和攻擊抵抗,利用智能合約實現(xiàn)數(shù)據(jù)授權,確保多方共享的靈活訪問權限控制機制。Kumar等[19]將區(qū)塊鏈、智能合約和深度學習技術結合,設計了一種安全高效數(shù)據(jù)共享框架———PBDL,利用區(qū)塊鏈網絡來進行用戶信息注冊、使用零知識證明驗證,并使用基于智能合約的共識機制驗證通信實體,將堆疊稀疏變分自編碼器SSVAE 與雙向長短期記憶(SABiLSTM)相結合進行攻擊檢測。關于鏈上身份標識問題,Rathee 等[20]對基于區(qū)塊鏈身份管理系統(tǒng)IDM 進行了總結,闡述了IDM 的總體研究趨勢以及區(qū)塊鏈可以解決IDM 的哪些挑戰(zhàn),分析了IDM 的不同框架如何處理安全、完整性和隱私問題。Shuaib 等[21]對于區(qū)塊鏈上的用戶注冊問題分析了用戶主權身份(Self-Sovereign Identity,SSI)存在的問題,詳細研究了SSI 原則和現(xiàn)有SSI 解決方案的評估標準,提供了鏈上身份信息的一種研究方向。
1. 2 輕量化區(qū)塊鏈技術
區(qū)塊鏈技術作為數(shù)字化時代的關鍵技術之一,自2008 年興起并成為全社會關注的熱點技術并逐步成為數(shù)據(jù)安全領域的新選擇。區(qū)塊鏈技術的核心是分布式記賬和去信任的共識算法,其本質在于調整優(yōu)化數(shù)據(jù)生產關系從而形成參與多方互信、高效的協(xié)同工作模式。區(qū)塊鏈技術是一種革命性的技術,將哈希函數(shù)、Merkle 樹、密碼學等傳統(tǒng)技術與最新的分布式基礎架構相結合,實現(xiàn)了安全、可靠、可追溯的數(shù)字證明。區(qū)塊鏈技術與傳統(tǒng)的安全多方證明或零知識證明等算法有著本質的不同,它具有強大的技術兼容性,可以為數(shù)據(jù)的安全存儲和計算提供一種全新的解決方案。
然而,區(qū)塊鏈發(fā)展受到能源消耗高、運行效率低等問題的制約,在資源受限的環(huán)境中使用傳統(tǒng)區(qū)塊鏈技術面臨著巨大挑戰(zhàn)。輕量化區(qū)塊鏈技術是針對傳統(tǒng)區(qū)塊鏈的一些局限性和缺點而發(fā)展的一種改進方法[22],旨在提高效率、降低成本以及增強可擴展性,同時保持區(qū)塊鏈的核心優(yōu)勢。輕量化區(qū)塊鏈通常設計為更節(jié)能、更高效的系統(tǒng),降低了計算、存儲和能源方面的消耗,使得節(jié)點能夠以較低的資源投入參與到網絡中。因為區(qū)塊鏈賬本數(shù)據(jù)不可篡改,隨著時間推移,賬本數(shù)據(jù)持續(xù)增長,但存儲空間有限的節(jié)點將無法完整保存整個區(qū)塊鏈副本,將導致節(jié)點無法參與區(qū)塊鏈的維護,減弱了去中心化的程度。因此,輕量化區(qū)塊鏈采用數(shù)據(jù)壓縮、精簡化的交易結構或其他優(yōu)化策略,以提高數(shù)據(jù)處理速度和降低存儲成本[23]。鑒于輕量化區(qū)塊鏈在高效率、低能耗方面的特點,支持手機、腕表等輕量級設備應用,可實現(xiàn)更安全、去中心化的數(shù)據(jù)主權管控。基于屬性加密技術,云端存儲的數(shù)據(jù)可能包含大量敏感信息,如果沒有得到有效的安全保護,可能導致重大的安全事故[2]。因此,采取基于特定屬性的加密措施來確保數(shù)據(jù)安全是一種有效的方法。
如果采用傳統(tǒng)的公鑰加密算法,一個信息擁有者必須將一份明文文件加密,以便發(fā)送給N 個不同的使用者。為了實現(xiàn)這一目的,資料擁有者必須先保留N 個客戶的公鑰(不影響有公鑰證書的狀況),然后利用這N 個公鑰對這些明文文件進行加密處理,最終形成N 份不同的密文,再發(fā)送給N 個客戶。
通過基于屬性的加密,數(shù)據(jù)擁有者可以制定一條僅有N 個用戶可以訪問的策略,并將其中的公共參數(shù)pp 輸入到ABE 密碼計算中,從而實現(xiàn)一次性密碼,生成一個密文,然后將其分發(fā)給N 個不同的用戶,最后用戶可以分別解密這份密文。在“一對多”加解密環(huán)境中。基于屬性密碼的計算成本和存儲成本明顯低于公鑰加密,這一點可以從實際應用中得到證實。基于屬性加密分為密文策略屬性基加密[24](Ciphertext Policy Attribute-Based Encryption,CP-ABE)和密鑰策略屬性加密(Key PolicyAttribute-Based Encryption,KP-ABE)2 種。CP-ABE是將策略嵌入到密文中,屬性嵌入到密鑰中;KPABE 是將策略嵌入到密鑰中,屬性嵌入到密文中。
2 用戶身份認證方案設計
本文提出一種用戶分布式數(shù)字身份DID 生成方法,其優(yōu)勢在于區(qū)塊鏈技術可以有效地防止身份信息受到單個權力機關的操控,從而實現(xiàn)去中心化。基于分布式公鑰基礎設施(Decentralized Public KeyInfrastructure,DPKI),用戶身份并不由第三方控制,而是由其所有者控制,用戶能夠控制自身身份。雖然DID 有各種各樣的應用場景,但DID 本質上是一個地址。DID 是一種可信數(shù)據(jù)交換的技術,可以應用于各種不同的場景。與常規(guī)的比特幣和以太坊地址相比,DID 的基礎是一個私鑰,可以用來確定一個位置,從而實現(xiàn)數(shù)據(jù)的安全傳輸。在實際場景中,使用不同的私鑰來生成相同位置的可能性幾乎為零。
DID 技術創(chuàng)新的一個關鍵點是實現(xiàn)去中心化的標識管理。傳統(tǒng)身份管理通常依賴于中心化的身份提供者,而基于DID 的系統(tǒng)使個體能夠擁有并控制自己的身份,消除了單一控制點的需求。通過將身份信息存儲在區(qū)塊鏈上,可以提高身份信息的安全性,并實現(xiàn)更為透明和可追溯的身份驗證過程。
輕量化區(qū)塊鏈和基于DID 的數(shù)字認證技術共同致力于構建更安全、去中心化、用戶主導的數(shù)字身份系統(tǒng),從而推動數(shù)字身份管理的創(chuàng)新和發(fā)展。二者的結合有助于提高數(shù)字身份系統(tǒng)的安全性、可信度和用戶隱私保護水平。
輕量化區(qū)塊鏈技術提供了更可靠的數(shù)據(jù)存儲和共享方式,用戶可以更好地掌控其個人數(shù)據(jù),確保隱私得到保護。此外,由于區(qū)塊鏈的不可篡改性,數(shù)字身份認證數(shù)據(jù)無法被篡改或刪除,從而增強了系統(tǒng)的抗審查性,為用戶提供了更高水平的信任保障。輕量化區(qū)塊鏈技術也促進了不同系統(tǒng)之間的互操作性,使得基于DID 的數(shù)字認證技術可以在多個平臺上實現(xiàn)無縫集成,從而提高了用戶的便利性和體驗。
用戶的身份認證包括用戶注冊以及用戶信息更新。鏈式數(shù)據(jù)安全體系為每個使用者提供一個獨特的DID 身份,這個身份由三部分組成:DID 標志、DID 文件和可校驗憑證,以保證使用者的數(shù)據(jù)信息安全和隱私安全。每個DID 都必須擁有唯一的文檔,但可以通過多種方式獲得可靠的證明文件來確認其真實性。DID 標志是一種數(shù)字身份的唯一標識,符合W3C 規(guī)范,由三部分組成:固定前綴“DID:hpc”、分區(qū)標識“chain_id”和唯一號碼標識“account_address”。DID 文檔用于描述身份特征,與DID 標志保持一一對應關系,其中包含標識符id、賬戶公鑰publicKey 和賬戶狀態(tài)status,可以幫助用戶更好地識別和管理自己的身份信息。通過認證信息(au-thentication)、簽名(sign)和業(yè)務信息(service)等驗證消息,用戶可以根據(jù)具體的業(yè)務場景進行靈活適配,而DID 身份的驗證和簽署行為則基于賬戶公鑰,可校驗憑證則用于描述DID 身份對應的屬性。用戶需要與DID 進行交互時,首先向JWS 發(fā)送需要交互的DID 信息,具體的信息格式在數(shù)據(jù)交換服務(JWS)中進行定義,DID 文檔中業(yè)務信息模塊負責存儲元數(shù)據(jù)信息(MetaData)以及支持檢索的字段(SEARCH),MetaData 存儲了該數(shù)據(jù)全部的屬性集合,SEARCH 存儲了該數(shù)據(jù)支持檢索的屬性集合。JWS 的創(chuàng)建分為生成頭部、生成負載、簽名和加密4 個流程。元數(shù)據(jù)在區(qū)塊鏈上的記錄如圖1 所示。
2. 1 用戶信息注冊模塊
對用戶注冊認證流程進行描述,其中用戶的注冊只進行一次,認證在每次用戶登錄時執(zhí)行,該環(huán)節(jié)總體分為4 個階段:初始化、注冊、登錄和認證。
① 初始化:身份認證模塊選取階為q 的加法循環(huán)群G1 和乘法循環(huán)群G2 ,G1 是Zq 上橢圓曲線的一組點,g 是G1 的生成元,對映射e:G1 ×G1 →G2 ,滿足雙線性映射,選擇私鑰x∈Zq ,x 作為身份認證模塊的私鑰,哈希函數(shù)H(),公開參數(shù)PUB1:{G1 ,G2 ,g,P,q,H()}。
② 注冊:用戶Ui 發(fā)送自己的身份標識IDi 和密碼PWi 至身份認證模塊,同時身份認證模塊生成隨機字符串y,身份認證模塊計算如下:
Ni = H(PWi)⊕ H(x), (1)
式中:⊕代表異或運算。
身份認證模塊查詢IDi 判斷用戶Ui 是否已經進行注冊,若未注冊,則計算:
Mi = H(Ni ⊕ y)。(2)
身份認證模塊將PWi 和Mi 返回給Ui,該通信過程不公開。
③ 登錄:當用戶登錄時,必須傳送IDi 和PWi到身份認證模塊的緩沖比較區(qū)。在這個區(qū)域,系統(tǒng)會計算Mi 值并與之前存儲的Mi 值進行對比,如果不相等,則拒絕用戶登錄。如果相等,系統(tǒng)會計算下列值:
式中:t 為當前計算UIDi 的時間。計算完成后緩沖比較區(qū)將參數(shù)PUB2 = {UIDi、Bi、Ci、t}傳輸至身份認證模塊。
④ 認證:身份認證模塊設置認證時間間隔Δt,t′表示身份認證模塊收到PUB2 的時間,若t′-t>Δt,則認為用戶認證超時,系統(tǒng)拒絕登陸請求;若t′-t≤Δt,則計算H (PWi ),根據(jù)異或運算性質,應有H(PWi)= UIDi⊕H(Ni ⊕y⊕t),若等式不成立則拒絕用戶登錄,若等式成立,計算Bi,之后計算Ci =H(t⊕Ni⊕Bi⊕y),若等式依然成立,則系統(tǒng)接受用戶登錄,若不成立則拒絕用戶登錄。
CSP 包含了編碼模塊和加密模塊,用戶提交個人身份或權限信息,CSP 會為用戶返還一個JWS,注冊生成用戶DID 的功能通過智能合約來完成。JWS生成算法如算法1 所示。首先用戶利用自身身份信息(Info)進行加密生成摘要Dig = H(Info),CA 節(jié)點對新增用戶提供公私鑰對(PKU ,SKU ),用戶利用其公鑰對Info 進行加密生成En = EncryptPKCA(Info),之后利用私鑰對Dig 進行簽名生成Sig。用戶確定需要構建的JWS,其中使用的加密算法、數(shù)據(jù)類型以及密鑰類型經過Base64Url 編碼生成JWS 頭部,其他身份信息編碼生成JWS 負載,之后將編碼信息返回給用戶。
用戶將編碼結果發(fā)送給CA 節(jié)點,CA 節(jié)點核驗JWS 簽名,若合法則解碼JWS,并將結果發(fā)送至CSP,CA 節(jié)點利用私鑰解密得到Info,核驗Info 是否合法,若合法則為用戶生成DID 文檔,將JWS 頭部和負載添加到JWS 簽名,注冊消息上鏈存儲。用戶注冊DID 的合約算法如算法2 所示。
2. 2 用戶信息更新模塊
如果用戶需要修改密碼,將PWi 更改為PW*i ,用戶將PW*i 發(fā)送至身份認證模塊的緩沖比較區(qū),緩沖比較區(qū)計算N*i = H(PWi )⊕H(PW⊕i )⊕Ni,根據(jù)異或運算性質,H(x)= H(PWi )⊕Ni,得到N*i =H(PW*i )⊕ H (x),N*i 將替代Ni,用戶密碼從PWi更新至PW*i 。
用戶生成DID 后,如果身份信息發(fā)生變動需要修改,則會修改DID 空間中記錄的交易,但由于區(qū)塊鏈網絡的特性,鏈上數(shù)據(jù)不可改動,已生成的區(qū)塊也無法刪除,因此數(shù)據(jù)更新時需要用戶在原信息后添加一段失效指令,并映射到新的身份狀態(tài)上。圖2 為DID 更新示意。DID1 代表申請者原先的DID,UID 為用戶的身份標識,新的Info,用戶公私鑰對(PKU ,SKU )。
用戶需要更新DID 時,首先檢查要更新賬戶的DID 狀態(tài),若正常則將當前賬戶DID 的編碼加密添加到新的JWS 中,并發(fā)送新的JWS 和更新申請給CA 節(jié)點,CA 節(jié)點檢查更新申請,若申請合法則標識當前DID 狀態(tài)為不可用,并標識其他與當前DID關聯(lián)的賬本也不可用,之后在區(qū)塊鏈網絡廣播這一消息,建立原DID 到更新后DID 的映射,最后按照DID 注冊的流程注冊新的DID。用戶DID 更新如算法3 所示。
3 訪問控制方案設計
訪問控制方案是確保基于輕量化區(qū)塊鏈的數(shù)據(jù)主權管控平臺能夠有效保護數(shù)據(jù)、維護隱私并且符合法規(guī)要求,同時實現(xiàn)數(shù)據(jù)的合理流通和協(xié)同操作的關鍵組成部分。
本文基于CPABE 加密算法來構建數(shù)據(jù)的訪問控制,CPABE 機制允許在加密階段定義復雜的訪問策略,實現(xiàn)細粒度的數(shù)據(jù)訪問控制,使用戶的數(shù)據(jù)最終控制權在數(shù)據(jù)擁有者手里,而且在屬性基加密的環(huán)境下可設計非常靈活的密鑰管理方案,從而大大提高訪問控制的效率,確保整個加密體系的可靠性、靈活性和可擴展性。
輕量化區(qū)塊鏈技術的引入使得密鑰管理可以實現(xiàn)去中心化。用戶的加密密鑰可以存儲在區(qū)塊鏈上,而不需要依賴中心化的密鑰管理機構。這種去中心化的特性提高了密鑰的安全性和可靠性。區(qū)塊鏈技術使得用戶身份驗證可以更加透明和可追溯。用戶的身份信息、權限和密鑰可以被存儲在區(qū)塊鏈上,保證身份驗證的不可篡改性,增加了系統(tǒng)的透明性。作為對傳統(tǒng)區(qū)塊鏈技術的一種改進和優(yōu)化,輕量化區(qū)塊鏈技術在減少資源消耗、提高系統(tǒng)效率、降低參與區(qū)塊鏈網絡的成本方面具有顯著的優(yōu)勢。
傳統(tǒng)數(shù)據(jù)共享方案中參與方一般分為3 個實體:數(shù)據(jù)擁有方(Data Owner,DO)、數(shù)據(jù)使用方(DataUser,DU)以及可信的管理員。參與方均采用前文提到的用戶身份認證方案設計,保證其安全性。
整個訪問控制流程可分為初始化階段和數(shù)據(jù)共享階段。
(1)初始化階段
① DO 對文件加密采用對稱加密,隨機生成128位的秘密參數(shù)k1 、k2 ,計算對稱密鑰Ks = SHA256(k1-k2 ),利用密鑰Ks 加密自己要上傳的文件f,得到加密文件F,得到文件唯一標識信息FID(f),計算key = Hash(FID(f));
② DO 通過智能合約將k1 和FID(f)上傳至區(qū)塊鏈,設置訪問控制策略Acs 并打包存儲上鏈,實現(xiàn)數(shù)據(jù)訪問的追溯和審計,確保數(shù)據(jù)的使用歷史追的可追蹤;
③ 密鑰分發(fā)中心基于CP-ABE 算法進行初始化,生成安全系數(shù)λ、系統(tǒng)公鑰PK 以及系統(tǒng)主密鑰MK,并將PK 存于區(qū)塊鏈上。
(2)數(shù)據(jù)共享階段
此階段的主要目的是確保數(shù)據(jù)的安全性和訪問控制。訪問控制策略Acs 包含了對于數(shù)據(jù)訪問的限制條件,通過對Acs 和DUset 進行匹配,確保只有滿足訪問策略的用戶才能獲取數(shù)據(jù)的解密密鑰,防止未經授權的用戶獲取敏感數(shù)據(jù),實現(xiàn)對數(shù)據(jù)訪問的精細化控制,保障數(shù)據(jù)的安全性。
① DO 和DU 獲取由密鑰分發(fā)中心分發(fā)的系統(tǒng)PK。
② DO 利用CPABE 加密過程對PK、k2 、Acs 進行加密得到密文En,并將En 上傳至區(qū)塊鏈:
En = Encrypt(PK,k2 ,Acs )。(4)
③ DU 發(fā)送自己的屬性集合DUset 至密鑰生成中心。
④ 密鑰生成中心收到DUset 后基于CPABE 算法執(zhí)行密鑰生成函數(shù)來生成解密密鑰UK,并將UK上傳至區(qū)塊鏈:
KeyGen(MK,DUset)→ UK。(5)
⑤ DU 根據(jù)key 從鏈上得到FID(f),基于CPABE 算法執(zhí)行解密操作,若DUset 的相關屬性符合Acs,則獲得k2 :
Decrypt(PK,UK,En)→ k2 。(6)
⑥ DU 驗證SHA256(k1 k2 )是否等于Ks,若相等,則DU 根據(jù)FID(f)下載所有F 的文件碎片并進行重組,利用Ks 解密還原得到f。
數(shù)據(jù)共享模塊框架如圖3 所示。
利用加密、解密過程保護的是秘密參數(shù)k2 ,只要用戶可以成功恢復出k2 ,再根據(jù)區(qū)塊鏈上公開的k1 ,就可以計算出Ks,從而解密密文。
4 實驗分析
在本實驗中,使用搭載CentOS 7. 6 操作系統(tǒng)的臺式主機,處理器為Intel e74820 v4 @ 2. 20 GHz,64 GB 的運行內存和8 TB 的存儲磁盤。
本節(jié)針對DID 運行時的各模塊進行了性能評估,包括對DID 的創(chuàng)建、更新,分布式數(shù)據(jù)文件存儲的切分,訪問控制內容中CPABE 整體流程的時間、共識算法的分析以及構建數(shù)據(jù)處理容器、容器內執(zhí)行數(shù)據(jù)脫敏操作的開銷的分析。
對于DID 的創(chuàng)建、更新,分別在線程數(shù)為5、10和15 時測試交易并發(fā)數(shù)為100、500、1 000、2 000 和3 000 的TPS 和時延。
圖4 ~ 圖7 是DID 相關操作的TPS 和時延測試結果,隨著交易并發(fā)數(shù)和線程的增加,DID 創(chuàng)建和更新的TPS 都在增加,而DID 更新的TPS 都明顯高于DID 創(chuàng)建,且時延也明顯小于DID 創(chuàng)建,因為DID的創(chuàng)建需要生成DID 空間,其相關操作開銷較大。
DID 更新雖然需要在原有基礎上寫入新字段,但不需要額外創(chuàng)建DID 空間,且DID 更新操作需要寫入區(qū)塊鏈的相關字段也少于DID 創(chuàng)建。
對于訪問控制模塊中CPABE 算法的整體執(zhí)行時間,總處理時長包括系統(tǒng)初始化時間、密鑰生成及用戶提交屬性集合時間、數(shù)據(jù)加密時間、密文解密時間。測試基于本文數(shù)據(jù)共享及驗證模塊的各階段平均時延,設置用戶屬性數(shù)為2。
數(shù)據(jù)共享模塊各階段時延如圖8 所示,可以看出,密鑰初始化所花銷的時間最少,密鑰生成及用戶提交屬性集合所花費時間最多。
5 結束語
本文針對用戶數(shù)字身份和數(shù)據(jù)安全、可信共享做了研究,確定整體的鏈式數(shù)據(jù)安全體系模型。針對用戶的身份可信,以及用戶可能存在多重身份的問題,利用輕量化區(qū)塊鏈和DID 為用戶身份建立數(shù)字標識,確保數(shù)字身份的可信,明確DID 的建立和更新流程;利用CPABE 加密算法對用戶屬性加密,令符合屬性的用戶執(zhí)行解密操作,從而達到數(shù)據(jù)的選擇性披露。最后實驗證明本文方案具備可行性。
參考文獻
[1] NAKAMOTO S. Bitcoin:A PeertoPeer Electronic Cash System[EB / OL]. [2023 - 10 - 20]. https:∥ www. sec.gov / comments / s7-04-23 / s70423-290181-707862. pdf.
[2] 長鋏,韓鋒. 《區(qū)塊鏈:從數(shù)字貨幣到信用社會》[J]. 國企管理,2018(7):18.
[3] SHEN C X,ZHANG H G,WANG H M,et al. Research onTrusted Computing and Its Development [J ]. ScienceChina Information Sciences,2010,53(3):405-433.
[4] 中國人民銀行印發(fā)《金融科技(FinTech)發(fā)展規(guī)劃(2019—2021 年)》[R / OL]. (2019 - 08 - 12 )[2023 -12 - 22 ]. https:∥ www. gov. cn / xinwen / 2019 - 08 / 23 /content_5423691. htm.
[5] 中共中央. 國務院關于構建更加完善的要素市場化配置體制機制的意見. [R / OL]. [2023-12-25]. https:∥baijiahao. baidu. com / s?id = 1663492307485200819&wfr=spider&for = pc.
[6] 謝晴晴,董凡. 輕量級區(qū)塊鏈技術綜述[J]. 軟件學報,2023,34(1):33-49.
[7] DUBOVITSKAYA A,NOVOTNY P,XU Z G,et al. Applications of Blockchain Technology for Datasharing in Oncology:Results from a Systematic Literature Review[J].Oncology,2020,98(6):403-411.
[8] CHENG X,CHEN F L,XIE D,et al. Design of a SecureMedical Data Sharing Scheme Based on Blockchain[J].Journal of Medical Systems,2020,44(2):52.
[9] JAIMAN V,UROVI V. A Consent Model for BlockchainBased Health Data Sharing Platforms[J]. IEEE Access,2020,8:143734-143745.
[10] YANG X H,LI W J. A ZeroknowledgeproofbasedDigital Identity Management Scheme in Blockchain [J].Computers & Security,2020,99:102050.
[11] CUI Z Y,XUE F,ZHANG S Q,et al. A Hybrid Blockchainbased Identity Authentication Scheme for MultiWSN[J].IEEE Transactions on Services Computing,2020,13 (2):241-251.
[12] WANG Z Y,ZHENG Z Q,JIANG W,et al. Blockchainenabled Data Sharing in Supply Chains:Model,Operationalization,and Tutorial [J ]. Production and OperationsManagement,2021,30(7):1965-1985.
[13] BOURAS M A,LU Q H,DHELIM S,et al. A LightweightBlockchainbased IoT Identity Management Approach[J]. Future Internet,2021,13(2):24.
[14] MANOGARAN G,ALAZAB M,SHAKEEL P M,et al.Blockchain Assisted Secure Data Sharing Model forInternet of Things Based Smart Industries [J ]. IEEETransactions on Reliability,2021,71(1):348-358.
[15] JAVED I T,ALHARBI F,BELLAJ B,et al. HealthID:ABlockchainbased Decentralized Identity Management forRemote Healthcare[J]. Healthcare,2021,9(6):712.
[16] DAMGARD I,GANESH C,KHOSHAKHLAGH H,et al.Balancing Privacy and Accountability in BlockchainIdentity Management[C]∥Topics in CryptologyCTRSA2021:Cryptographers ’ Track at the RSA Conference2021. Online:Springer,2021:552-576.
[17] LEE J S,CHEW C J,LIU J Y,et al. Medical Blockchain:Data Sharing and Privacy Preserving of EHR Based onSmart Contract [J]. Journal of Information Security andApplications,2022,65(C):103117.
[18] LI T,WANG H Q,HE D B,et al. Blockchainbased Privacypreserving and Rewarding Pivate Data Sharing for IoT[J]. IEEE Internet of Things Journal,2022,9 (16 ):15138-15149.
[19] KUMAR R,KUMAR P,TRIPATHI R,et al. PermissionedBlockchain and Deep Learning for Secure and EfficientData Sharing in Industrial Healthcare Systems[J]. IEEETransactions on Industrial Informatics,2022,18 (11 ):8065-8073.
[20] RATHEE T,SINGH P. A Systematic Literature Mappingon Secure Identity Management Using Blockchain Technology[J]. Journal of King Saud UniversityComputer andInformation Sciences,2022,34(8):5782-5796.
[21] SHUAIB M,HASSAN N H,USMAN S,et al. Selfsovereign Identity Solution for Blockchainbased LandRegistry System:A Comparison [J]. Mobile InformationSystems,2022,2022:1-17.
[22] XIE Q Q,DONG F. Survey on Lightweight BlockchainTechnology. Journal of Software,2023,34(1):33-49.
[23] LIU Y Q,WANG K,LIN Y,et al. LightChain:ALightweight Blockchain System for Industrial Internet ofThings[J]. IEEE Transactions on Industrial Informatics,2019,15(6):3571-3581.
[24] LAI J Z,DENG R H,LI Y J. Fully Secure CipertextpolicyHiding CPABE [C ] ∥ Proceedings of the 7thInternational Conference on Information Security Practiceand Experience. Guangzhou:Springer,2011:24-39.
作者簡介
莊春華 女,(1979—),博士,高級工程師。主要研究方向:區(qū)塊鏈、大數(shù)據(jù)工程建設應用。
劉少杰 男,(1986—),碩士,工程師。主要研究方向:區(qū)塊鏈、大數(shù)據(jù)工程建設應用。
厲夢圓 女,(1991—),碩士,工程師。主要研究方向:區(qū)塊鏈、大數(shù)據(jù)工程建設應用。
夏 琦 女,(1979—),博士,教授,博士生導師。主要研究方向:區(qū)塊鏈理論與應用、網絡數(shù)據(jù)安全、大數(shù)據(jù)安全。