王 茜 朱俊偉 張曉東
(上海市大數據中心應用開發部 上海 200083)
現代電子政務不僅集成了各級政府內各部門協同運作的需求,且打造社會一體生態政務、智慧城市的需求也在不斷提升。對政務行業而言,電子材料的共享應用,是電子政務中體量巨大、每日必行、緊扣民生的重要社會化服務場景之一。近年來許多學者在這一領域基于大數據、云計算方法展開了相關的研究,但在分布式數據訪問方法、安全互信、隱私保護等方面均有不足[1]。
區塊鏈技術作為一種綜合性技術,其核心由對等式網絡、分布式存儲技術、密碼算法、共識機制、智能合約技術等組成。其去中心化、可追溯性、動態擴展性的特點,很大幅度對政務材料共享中分布式存儲、操作可追溯、難以篡改、安全可信等問題進行了改進,使其快速成為一劑解決數據資源共建、共享類應用的“良方”,受到了各國政府的追捧,如愛沙尼亞的“E-Residency”、英國的養老金發放鏈、瑞士的數字身份證驗證鏈、我國的海淀政務鏈等[2]。
但是,區塊鏈作為新興技術,目前尚在快速發展階段,原有技術也被發現存在一些問題甚至漏洞;大量關鍵性問題仍然急需學者們加以研究和解決。同時,大量以往方法研究聚焦于公有鏈,主要的應用也集中在金融、虛擬貨幣領域,聯盟鏈的異軍突起也僅短短兩三年時間,針對結合政務實際需求和聯盟鏈特點的政務聯盟鏈的方法性研究更加鳳毛麟角。大量原有方法在政務聯盟鏈中需要進行適當調整和改造,否則無法直接采用:如虛擬幣中所必須的激勵機制,可被弱化甚至完全取締;而貼合政策法規的分權確權策略、符合政務聯盟鏈特色的訪問控制方法、保密材料、隱私文件安全傳輸方案等問題,成為政務聯盟鏈重點的研究方向。另一方面,電子材料本身存在多頭管理、權屬復雜、管理和擁有主體因政策或人為原因變化頻繁、材料泄密影響大導致注重數據安全需求等各類問題。其權屬分割、安全可控共享方法、數據保密等一系列相關問題,一直是困擾業界多時的難點。這些問題與政務聯盟鏈的重點研究方向不謀而合,其能否順利解決,將很大程度制約電子材料共享復用的價值實現。
2021年底,中國通信院在2021版《區塊鏈白皮書》中把基于確權、加密技術打造的“可信執行環境”和“流通控制技術”結合起來,并總結提出了“可控分享”的理念,并認為可控分享是推動區塊鏈落地實施的重要保證[3]?;谠撍枷?本文將權限分割、訪問控制和數據安全保證作為“可控分享”的三個必備因素作為技術研究點,并結合我國電子材料頒發、管理、傳遞、共享、復用、審計、隱私保護等全流程政策法規、應用現狀和期望目標的實際需求,對訪問主體做出了“四權分離”的權限分割,提出一種輔以IM-ABE方法進行數據安全保證的基于屬性和事務相融合細粒度訪問控制模型,實現了以權限細粒度分割、訪問動態響應、數據安全可靠為特色的政務電子材料可控共享控制模型和落地應用。
2008年,區塊鏈概念由中本聰在《比特幣:一種點對點式的電子現金系統》中首次提出,并將分布式網絡結構、虛擬交易幣、加密傳輸、無須第三方支持的信任技術作為了區塊鏈的本質特征[4]。2015年12月,Linux基金會為構建一個面向企業應用場景的開源分布式賬本技術平臺,主導發起了超級賬本(Hyperleger)開源項目,其設置了僅能允許一定數量已備案成員接入的準入機制以組建行業成員聯盟,故被稱為聯盟鏈(Consortium blockchain)[5]。聯盟鏈放棄了部分“去中心化”的程度,但較之公有鏈減少了需要交易驗證的節點,故大大突破了區塊鏈的速度瓶頸,提升了安全等級,實現了對中本聰提出的公有區塊鏈理論的開創性拓展,故快速成為了多行業實現跨部門有限互通的新型技術方向。同時,聯盟鏈技術與許多政府、企業“強安全、高效能、弱中心化管理” 的理念完美契合,其區別于公有鏈的特性幫助各組織部門實現了更接近現有政務體系的網絡組建方法、更快的數據處理效能、更靈活的節點權利設置體系,故被各國、各級政府爭相列為政務資源打通、政務流程再造、打造社會化政務生態的重點攻關技術[6]。
政務信息互通共享作為政務區塊鏈的首要任務,近年來由于各國發展戰略的推動,相關研究也競相展開。劉衛鎧等[6]對比分析了愛沙尼亞“E-Residency”和國內“海淀政務”鏈,在肯定政務聯盟鏈加強部門協作、實現政務協同治理、推進全民信任體系建設重要作用的同時,提出了中國應盡快建立與E-Residency中起關鍵作用的無鑰簽名基礎架構(Keyless Signatures’ Infrastructure,KSI)相類似的去中心化動態身份認證體系;余益民等[7]深入分析了當前中國政府信息資源共享及公開的關鍵因素和運行機制,重點給出了基于區塊鏈和AI文書處理技術的共享模型總體架構,有效解決了政務信息資源共享中對等管理、標準一致性的問題,但由于政務多元主體的復雜性,實施了非實時性的資源交互方法;Achkar等[8]提到了阿聯酋建立的政府與各電信服務商之間的聯盟鏈以共享公民健康數據,且重點討論了其防止用戶有多個身份的鏈上授權保證方法和問責機制(Accountability);李懿等[9]結合函數加密技術和零知識證明技術實現可驗證計算結果共享,提出了一種實現“數據可用不可見”的安全共享模型,實現了鏈上數據使用權和可見權剝離的應用,非常適用于我國多層級下敏感政務數據處理。盡管如此,業界基于政務聯盟鏈的相關研究,較之針對金融、虛擬幣鏈的研究仍舊非常稀少,大部門研究或側重于管理方法、政策法規分析,或缺少詳細的方法架構說明。
授權(Authorization)一直是貫穿整個項目流程的必備模塊,是大數據時代資源存儲、流通、共享所必然面臨的核心科學問題,也是實現電子材料可控分享的先決條件。針對權限劃分,以往檔案文書類管理類研究中,已有權屬分離(也稱權用分離)的理念?;诖?區塊鏈初期的某些共享類應用,簡單地將上鏈主體分離為資源提供者和資源使用者,分別行使管理和使用的權力。但這種分割方法與鏈耦合度低,忽略了政務聯盟鏈中所必須的節點管理者、運營支撐者乃至跨鏈應用中跨鏈平臺所發揮的作用[10]。
為便于鏈上運營實施,Yu等[11]提出了鏈上資源發布者(pulisher)的概念,由鏈上發布者掌控其發布資源的實際管理權,提升了資源管理效能和避免了權限過度分散導致的安全漏洞;朱靜等[12]提到了資源所有權、控制權、使用權和被訪問資源涉及隱私的策略劃分方法,并將控制權賦予鏈上智能合約(Smart Contract,SC)以實現電子病歷的精準化流轉與資源共享,提升了中心全局控制策略的有效性和精確性。
但是,上述所有研究仍不能滿足政務鏈中權屬規則的復雜需求和日益嚴格的公民個人隱私保護要求。由于現有政務鏈上授權案例的稀缺,本文參考文獻[12]的整體理念,并結合訪問控制方法,提出一種四權分離的權限分割方案,把各主體對客體的訪問權限劃分為定義權(Right of Definition,RD)、所有權(Ownership,OS)、控制權(Right of Control,RC)、使用權(Right to Use,RU),權限劃分說明如表1所示。四權分離方案說明如下:

表1 基于政務聯盟鏈的材料共享權限劃分說明
1) RD依據政策要求歸屬于材料主管、頒發、代管部門,可對整體同類型材料的編碼屬性、隱私屬性、可使用主體屬性、允許操作類型屬性等進行定義,但不涉及單個材料的個性化屬性定義和實際控制材料的合約運營方法定義。
2) OS歸屬于材料各自的所有人(主要包含自然人、法人)。根據法規要求,在共享復用操作前,獲取材料所有人的許可簽名。且所有人有權以輕量化節點個人錢包的方式針對部分材料屬性進行個性化隱私設置。
3) RC統一歸屬聯盟鏈、各鏈下業務系統甚至存儲控制系統,主要通過智能合約實施統一運轉,由共識機制、鏈上鏈下數據協同方法進行保障,同時還承擔權限變更、沖突仲裁、環境變化捕捉響應、跨鏈權限映射等責任。
4) RU歸屬于各節點連接的鏈下業務系統操作者、鏈上通過輕量化節點上鏈的自接入用戶,以及委托操作中被授權的被委托用戶等。同時,所有者(Owner)擁有最大的自使用權限。
上述四權分離的權限分割方法最大程度兼顧各方權限要求,保障公民、企事業團體的隱私權力,保證政務聯盟鏈的整體可控,便于鏈上權限的動態變更調整,為后續的訪問控制打下了良好基礎,是本文實現的第一子目標。
目前大量訪問控制相關研究都首先圍繞“細粒度”的方向展開。究其原因,粒度過粗的AC策略設定,無法實現合理權限分割導致在訪問控制中無法實施精準訪問,還極有可能導致過度授權、隱私泄露、漏洞攻擊等安全問題[13],最終影響“可控共享”的目標實現。因此,多種訪問控制策略,都在細粒度上采用了不同實施方法:如對用戶作出預先結構化分組的基于角色的訪問控制(Role-Based Access Control,RBAC),權限劃分主要依托于主體角色設置,細粒度程度不高,雖然方便與現有大量鏈下系統進行角色匹配,但往往在多角色問題上易存在權限交叉導致的合約邏輯漏洞[14];以權限令牌為特色,在許多物聯網場景下更易推廣的基于權能的訪問控制(Capability-based Access Control,CapAC)是一種將權限寫入令牌或證書進行加密傳輸的方法,一個令牌即為一個一對一的操作,權限粒度大小往往與令牌對應的操作細化程度有關[15];可根據時間和事件等環境變量觸發訪問的基于使用控制的訪問控制模型(Usage Control,UCON),具有高可變性(mutability),但其機制難以實現細粒度的權限劃分[16];基于信任度的訪問控制(Trust-based Access Control,TrustAC)僅依托信任等級、信任分值劃分群體,但權限粒度粗且劃分方法更適用于部分需要信用評價的公有鏈[17];同理,基于事務的訪問控制(Transaction-Based Access Control,TBAC)[18]也主要通過區分事務類別對訪問進行粒度劃分。可以看到,后三者方法由于未采用對訪問控制實體進行分割的方法,導致控制方法過于單一、細粒度化能力不足;前兩者方法僅針對實體進行分類,故很難實現最小化粒度分割。
而較之上述方法,基于屬性的訪問控制(Attribute-Based Access Control,ABAC)[10,13],能基于主體、客體、事件、消息、環境進行全實體的細粒度劃分。在最小化設置原則下,ABAC因其全包容的細粒度劃分能力和屬性組合能力,幾乎占據了現有訪問控制方法的半壁江山。其能通過設置各實體前置性或變更性的屬性,可實現“粗細粒度可控”的權限劃分[19],并可通過增加屬性類別的方式合并其他訪問控制策略的部分優勢。杜瑞忠等[20]在比較了多個訪問控制方法后,提出了ABAC更適應于對物聯網設備復雜權限的精細劃分,并增加了信任度屬性,在ABAC中添加了TrustAC度量方法;文獻[21]通過鏈上用戶組(Multiple groups)屬性轉化實現鏈上訪問控制方法與鏈下系統角色(Role)的加密對接。這些方法使得ABAC優勢進一步擴大。
但是我們也看到,盲目過度的細粒度化用于存儲和性能均有一定局限性的區塊鏈上,必然會增加存儲、傳輸、加密的一系列負擔,引起鏈上訪問效能的下降;同時,現有ABAC方法屬性設置模式雖然加入了環境屬性以增加靈活性,但主要實體相關設置仍以前置性為主,導致其動態性不足,與鏈結合不緊密,難以針對政務的“事務性”特性作出及時有效的反應。這時加入事務的中間串聯作用勢在必行。
事務(業務)是政務管理中一個較為特色的概念,在本文系統中用于觸發大量電子材料的共享,基于業務,電子材料在大多數情況下,我們需要生成 “使用主體-事務中間體-材料客體群”的跳轉控制模型,以實現多客體的串聯訪問,減少合約資源消耗。TBACTBAC擁有基于事務的靈活觸發能力,與區塊鏈交易(事務) 具有天然的關聯性,擅長于區塊鏈環境變化中的權限動態調整、多資源的批量調動,與我們基于事務的業務觸發機制需求不謀而合[12]。同時,基于事務運行周期的客體訪問控制權限開啟和閉合約束,更是有效提升鏈上鏈下資源安全性的方法。在ABAC訪問方法與區塊鏈事務職責分配的探索中,文獻[20]看到了“事務消息”的重要性,提出了用事務控制實體合約流程,用ABAC實施具體訪問的方法,但兩者并未融合,而僅是各司其職。如何真正將兩者融合實施,是本文所需要完成的第二個子目標。
在政務共享應用的實施中,安全問題是繼解決可控訪問方法后模型設計中需要重點考慮的問題,也是實現“可控”的關鍵方法之一。區塊鏈本身解決了公開透明和公正溯源問題,但也帶來了一些安全隱患。即使選用較之公有鏈擁有安全準入機制的聯盟鏈,結合ABAC和TBAC的資源保護優勢,實施數據加密方法以保障數據安全,仍是區塊鏈所必備的核心技術和防備各類機密竊取和網絡攻擊[22]的必備模塊?;诿芪牟呗缘膶傩曰用?Ciphertext-policy Attribute-Based Encryption,CP-ABE)算法,將訪問策略嵌入到密文中,使得主體屬性必須滿足客體資源的訪問策略才能獲得訪問權限,產生以來一直具有強大的生命力,且與ABAC中屬性設定方法一脈相承,很快成為鏈上加密方法的主流[19]。文獻[10]提出了基于分布式屬性中心的多授權屬性加密方法,但權限授予未通過鏈合約實施,與鏈耦合度不高;文獻[19]提出了通過Interchain子鏈中寫入加密協議的方法實施消息加密、加密發布和加密撤銷,但較難分離加密策略合約和執行合約;彭長根等[23]提出了基于密鑰加密的密鑰樹來對用戶屬性組實現重加密算法,并能在較小開銷下實現基于屬性的屬性協同撤銷;Wang等[24]提出了將ABE方法嵌入進事務具體執行的方法,并應盡量縮短加密暗文提升鏈傳輸速度,非常具有參考性;Xu等[25]提出了通過生成獨立的事務管理密鑰來發布事務的理念,且通過智能合約控制加密解密策略,但未過多提及加密方法;張曉東等[26]提出了一種可追責的基于格的CP-ABE區塊鏈數據共享方案,致力于解決ABAC靈活性不足的問題,但固化了規范交易(事務)格式,無法適應復雜的政務事務需求。如何實現數據安全是本文的第三子目標。
基于上述研究,本文擬在劃分四權的基礎上,基于ABAC與TBAC的訪問控制方法,提出一種基于屬性與事務相融合的訪問控制 (Attribute and Transaction-based Interactive Access Control,ATI-AC)模型,在加密傳輸方法上采用了改進基于屬性基加密(Improved Attribute-Based Encryption,IM-ABE),共同構成了實現權屬分割、可控訪問、安全保證的政務聯盟鏈可控訪問控制模型。
圖1給出了本文訪問控制模型的ATI-AC部分。其中的ATI-AC訪問控制模型實體(Entity)包含以下五個部分:主體(Subject,S)、客體(Object,O)、事務(Transaction,Tr)、節點(Node,N)、鏈下系統(Off-chain System,Off-S)。除實體外還有兩個重要因素:屬性(Attribution,At);規則(Policy,P,部分文獻中也稱操作Operation)。

圖1 基于政務聯盟鏈的ATI-AC訪問控制模型
其中主體根據表1中的四權關系,材料客體(Object,O)對應訪問主體分別為定義者(S_RD)、所有者(S_OS)、控制者(S_RC)、使用者(S_RU)。材料客體在這里包含鏈下材料資源本身(Object source,O_s)、鏈上索引(Object index,O_in)兩部分,且O_s(i)本體的Acc_P允許訪問屬性默認全部置0。材料主要的控制者為政務聯盟鏈(GCB),輔助控制者為材料所在的各節點,且分解為了一個主鏈兩個子鏈:材料索引主鏈(MI-Bchain)負責存儲所有材料客體的索引信息(包含材料所有主體Gid、材料本體加密哈希信息Hash(O_S)、材料加密地址信息add等內容),一個確權控制子鏈(RC-Bchain)負責存儲所有確權與訪問控制規則合約,一個服務日志子鏈(SL-Bchain)負責根據既有規則進行服務運營和日志記錄。該控制設計目的為方便分類各類合約進行版本迭代和升級,提升訪問控制模型的動態靈活性。在初始化階段,控制者監控所有流程,要求材料客體定義者開始對其擁有權限的客體屬性尤其是訪問權限屬性進行定義,構建RC_Bchain子鏈主體內容,并調用加密方法對各主體進行唯一性鏈上標識和材料客體加密;在訪問階段,控制者根據使用者通過鏈下系統提請的事務,實施相關客體的搜索并生成批量化二次跳轉訪問,并在獲取到定義者、所有者、自身控制者簽名的前提下,實施基于事務的批量雙層解密算法,允許使用者通過私鑰點對點獲取到非本節點關聯到的批量材料客體資源地址明文,獲取資源實施后續的鏈下業務。同時,環境屬性的設置和變更在整個流程中用于配合主體合約的實施,用于靈活實施基于環境變量讀取、更新引起的條件判定,從而進入錯誤拋出或程序分支等。
基于ATI-AC的訪問控制模型主要包括方案初始化、訪問控制方法實施兩個階段。訪問控制初始化主要在于確權控制子鏈合約構建。RC_Bchain子鏈主要構建內容包括:加密訪問主體唯一性標識表(S.Gid)、屬性表(S.At)、事務可調用材料類目對應表(OtoT_tl)、添加有序多重簽名(Sequential multi-signature)[27]的改進的基于屬性加密(IM-ABE) 方案。RC_Bchain智能合約組成示意圖見圖2(a)。

圖2 確權控制子鏈智能合約組成和初始化定義示意圖
初始化過程簡要實施步驟如下:
步驟1構建RC_Bchain子鏈主體合約內容,由各E_RD統一對各材料類型定義各主體{S}、各主體屬性{S.At};由Tr_RD定義OtoT_tl;根據上述合約內容生成包含客體對應各主體關系、EV環境變量控制、基于屬性的訪問策略P(A,p)的加密算法。上述RC_Bchain生成步驟和對應實施者見圖2(b),其中{A,p}指權限規則。
步驟2全局參數生成。主體公私鑰。由RC_Bchain取代其他未使用智能合約文獻中的屬性中心[10-11],對各訪問主體進行鏈上注冊,算法輸出系統公共參數PP。
Setup(1λ)→(PP)
(1)
步驟3給每個主體S輸出Gid作為各主體合法的鏈上唯一加密標示信息,并生成公私鑰對(USKGid,UPKGid)。即:
Setup_RC(PP)→(USKGid,UPKGid)
(2)
步驟4RC_Bchain根據各個主體提供的私鑰SSKsg和屬性集R={S.At}的ATT個屬性的集合,為其生成對應的使用者屬性私鑰AKGid和轉化密鑰TAKGid。
KeyGen(S,PP,Gid,USKGid)→(AKGid,TAKGid)
(3)
步驟5對每個客體上鏈索引中的資源地址Oi.add和實體哈希值Hash(Oi)實施基于屬性的加密方法:
Menc(PP,M,P(A,p),{UPKGid})→CT
(4)
式中:M是材料明文;P(A,p)為訪問策略函數。策略函數由對照OtoT_tl表生成的事務跳轉訪問規則ptr和直接文件訪問策略po共同構成,其中Atr、At為對應策略矩陣,即:
P(A,p)=(Atr,OtoT_tl,ptr)∩(At,po)
(5)
訪問控制實施方法包含以下步驟:
步驟1使用者ru向GCB的SL-Bchain子鏈提出辦理事務tr申請,需要所有人為os的相關材料(該算法暫考慮單一所有人下的相關材料)。
步驟2MI-Blokchain索引通過Find()函數,搜索是否有符合要求的材料上鏈。函數返回事務tr下符合所有人是os的j個材料相關信息列表{Os_os.Gid,j,tr},即:
Find(O_in(i),S_OS(i),tr,OtoT_tl)→
{Os_os(j),tr,j|1≤j≤i}
(6)
其他未返回列表的i-j份材料需使用者自行進行新增。
步驟3將{Os_os(j),tr,j}集合中的所有材料,按所有者S_os、定義者S_os、控制者S_os的公私鑰值作為參數代入文獻[27]中算法實施順序簽名,最后由主控制者SL-Bchain子鏈同步發起同一事務下的批量簽名驗證算法:
(7)
保證每份材料獲得各材料權屬方簽名授權輸出函數V結果值isV為1,否則就拋出授權錯誤。其中order(S(tr,j))=(S_os.Gid,S_rd.Gid,S_rc.Gid)為簽名先后順序,Ltr.j和σtr.j分別為所有簽名人的公鑰集合和每個材料的聚合簽名值。
步驟4對照{Os_os.Gid,j,tr}列表,由MI-Bchain讀取SC-Bchain內合約方法,實施基于事務的批量雙層解密算法:
(8)
式中:MMj為中間一次解密結果。解密后獲得材料哈希值群所有鏈下的真實存儲地址{Oj.tdd},同時對照索引中解密出的材料哈希值進行哈希核驗,驗證完成后,將所有材料本體的{Acc_P(j)}允許訪問屬性均置1,允許訪問材料本體{O_sj}。
步驟5共享完成后,MI-Bchain將本次事務成功或失敗結果均進行SL-Bchain的日志塊增加操作,并將O_s(j)的Acc_P環境參數重新置0。
該模型方法的優勢特色為: 1) 通過ABAC與TBAC優勢結合,并結合聯盟鏈優勢,實現了細粒度化智能合約控制下的ATI-AC方法;2) 增加了事務對應的批量客體訪問方法,提升了訪問效能;3) 通過有序多重簽名方法,保障了各方權益;4) 使用基于屬性基的加密方法實現資源安全可控訪問,通過基于事務的資源開放閉合操作增強數據安全性;5) 主鏈、子鏈分離便于合約分類管理、問題排查和更新迭代。
加密算法具體執行如下:
1) 全局參數生成。輸入安全參數1λ,根據雙線性映射定義e:G×G=GT,其中G和GT是 2 個階為素數p的乘法循環群,G的隨機生成元為g;抗碰撞哈希函數H:{0,1}*→G;隨機選擇γ∈Zp(Zp為符合線性秘密共享方案LSSS[28]的域),輸出全局參數PP:
PP={g,gγ,G,GT,H}
(9)
2) 密鑰生成和屬性管理密鑰生成。因本文中所有實體角色,在不同tr中有互換可能,即同一用戶既有可能是使用者也有可能是擁有者或定義者,將所有實體無差別注冊到區塊鏈網絡,生成每個實體id的鏈上唯一加密身份標識S.Gid,即算法中的簡單設置為Gid參數,并生成該實體公私鑰:
(UPKGid,USKGid)=(gθGid,θGid|θ∈Zp)
(10)
我們讓負責屬性授權的RC-chain對R中每一個屬性at隨機取一個數αat,βat∈Zp得到子鏈屬性控制私鑰:RC_SKat=(e(g,g)αat,gβat),子鏈屬性控制公鑰RC_PKat=(αat,βat),完成式(2),即:
SSKat,Gid={RC_SKat},SPKat,sg={RC_PKat};
3) 輸入使用者Gid,設其對應R的屬性子集為ARGid。為每個at分別選擇1個隨機數μ∈Zp,加密每個屬性得到屬性參數Dat,聚合得到聚合屬性密文:
DCat,rat,Gid={h(x)μ·gβat(μ+Gid)}
(11)
式中:x∈ARGid。計算密文參數D1,na=gαathGid和D2,at=g2,生成與屬性相對應的用戶屬性私鑰AKsg,S.gid和轉化密鑰TAKsg,S.gid:
AKat,Gid=(D1,at,D2,at,DCat,xgid)
(12)

轉化密鑰為:
TAKGid=(TAPKGid,TASKGid=μ)
(14)
4) 批量加密算法。運行加密算法對前述數據或屬性值進行加密,首先由S_rd(Oi)定義材料的訪問策略函數P(A,p),A為一個la×na的矩陣,la為屬性個數。
隨機選取密碼值sec∈Zp,生成隨機向量ω=(sec,v2,v3,…,vn)∈Zp,輸入明文M,生成的密文CT表述為:
CT=(C1,C2,C1,x,C2,x,C3,x)
(15)

5) 二次解密算法。第一步判斷屬性集合ARGid是否滿足訪問策略函數生成半解密密文MMj,如驗證錯誤拋出異常,其中Tw為構造中間參數;第二步,如策略結果驗證正確,再輸入使用者私鑰,按式(7)實施解密如下:
(16)
循環執行J次,完成基于tr的所有文件解密。二次解密設計終止了策略驗證錯誤導致的后續計算,且能進一步分離合約,提升安全性。
本節評估部分擬在訪問控制各方法性能比較、加密解密算法計算開銷比較、方法響應時間三方面進行。
首先,從細粒度分類能力、數據安全保護能力、動態變更性、是否使用智能合約實施授權訪問、是否完全實現去中心化、是否能實現多客體串聯訪問等六個方面,對本文ATI-AC方法與ABAC、TBAC訪問控制方法進行對比分析,可以看出本文設計的訪問控制方法設計上考慮到了大部分重要指標,在細粒度控制、隱私安全有較大優勢,且在智能合約設計上較有特色,實現了去中心化的訪問控制。性能對比分析結果如表2所示。

表2 基于區塊鏈的ATI-AC與ABAC、TBAC的性能對比分析
其次,對本文方法和其他相關文獻方法進行計算開銷分析和比較,具體見表3,其中:雙線性對運算計為W;指數運算記為V;橢圓曲線標量點乘運算記為U;哈希運算記為H;t表示屬性機構個數;s為與私鑰相關屬性數;N表示加密密文所需屬性數;l是策略矩陣A的行向量個數。由表3可知,相比已有方案,本文實現了較之文獻[10]更加安全、較之文獻[21]更加細粒度化的授權訪問,在加密和初始化部分優于現有算法;僅解密部分因多重簽名驗證導致開銷稍有增加,但通過事務串聯同一所有者多材料一定程度減少了所有者公私鑰讀取乃至批量簽名的開銷,整體不會過度提升訪問策略的冗余性。故本文較之已有方法整體開銷較小,可更快地實現加密材料共享。

表3 算法計算開銷與其他方法的比較
本文在充分研究政務聯盟鏈和電子材料共享的應用需求基礎上,重點對不同權限主體權責劃分、訪問控制策略設計、加密方法實施等實現可控分享的三個重點問題展開研究,分別通過明確不同權限主體對材料客體的訪問權限劃分和有序多方簽名方法保障了各方權益;通過輔以基于改進屬性基的加密方法的基于屬性與事務相結合的訪問控制方法和相關設計,最終實現了基于政務聯盟鏈的電子材料可控訪問控制。算法評估表明,本文方法在細粒度化、動態響應能力、數據安全、中心化程度上較之現有方法非常有競爭力,且算法計算開銷不高,可適用于中大型的材料共享應用。下一步將繼續對訪問控制撤銷可控方法、權限繼承控制方法等問題展開后續研究。