王 茜 朱俊偉 張曉東
(上海市大數(shù)據(jù)中心應(yīng)用開發(fā)部 上海 200083)
現(xiàn)代電子政務(wù)不僅集成了各級(jí)政府內(nèi)各部門協(xié)同運(yùn)作的需求,且打造社會(huì)一體生態(tài)政務(wù)、智慧城市的需求也在不斷提升。對(duì)政務(wù)行業(yè)而言,電子材料的共享應(yīng)用,是電子政務(wù)中體量巨大、每日必行、緊扣民生的重要社會(huì)化服務(wù)場(chǎng)景之一。近年來(lái)許多學(xué)者在這一領(lǐng)域基于大數(shù)據(jù)、云計(jì)算方法展開了相關(guān)的研究,但在分布式數(shù)據(jù)訪問方法、安全互信、隱私保護(hù)等方面均有不足[1]。
區(qū)塊鏈技術(shù)作為一種綜合性技術(shù),其核心由對(duì)等式網(wǎng)絡(luò)、分布式存儲(chǔ)技術(shù)、密碼算法、共識(shí)機(jī)制、智能合約技術(shù)等組成。其去中心化、可追溯性、動(dòng)態(tài)擴(kuò)展性的特點(diǎn),很大幅度對(duì)政務(wù)材料共享中分布式存儲(chǔ)、操作可追溯、難以篡改、安全可信等問題進(jìn)行了改進(jìn),使其快速成為一劑解決數(shù)據(jù)資源共建、共享類應(yīng)用的“良方”,受到了各國(guó)政府的追捧,如愛沙尼亞的“E-Residency”、英國(guó)的養(yǎng)老金發(fā)放鏈、瑞士的數(shù)字身份證驗(yàn)證鏈、我國(guó)的海淀政務(wù)鏈等[2]。
但是,區(qū)塊鏈作為新興技術(shù),目前尚在快速發(fā)展階段,原有技術(shù)也被發(fā)現(xiàn)存在一些問題甚至漏洞;大量關(guān)鍵性問題仍然急需學(xué)者們加以研究和解決。同時(shí),大量以往方法研究聚焦于公有鏈,主要的應(yīng)用也集中在金融、虛擬貨幣領(lǐng)域,聯(lián)盟鏈的異軍突起也僅短短兩三年時(shí)間,針對(duì)結(jié)合政務(wù)實(shí)際需求和聯(lián)盟鏈特點(diǎn)的政務(wù)聯(lián)盟鏈的方法性研究更加鳳毛麟角。大量原有方法在政務(wù)聯(lián)盟鏈中需要進(jìn)行適當(dāng)調(diào)整和改造,否則無(wú)法直接采用:如虛擬幣中所必須的激勵(lì)機(jī)制,可被弱化甚至完全取締;而貼合政策法規(guī)的分權(quán)確權(quán)策略、符合政務(wù)聯(lián)盟鏈特色的訪問控制方法、保密材料、隱私文件安全傳輸方案等問題,成為政務(wù)聯(lián)盟鏈重點(diǎn)的研究方向。另一方面,電子材料本身存在多頭管理、權(quán)屬?gòu)?fù)雜、管理和擁有主體因政策或人為原因變化頻繁、材料泄密影響大導(dǎo)致注重?cái)?shù)據(jù)安全需求等各類問題。其權(quán)屬分割、安全可控共享方法、數(shù)據(jù)保密等一系列相關(guān)問題,一直是困擾業(yè)界多時(shí)的難點(diǎn)。這些問題與政務(wù)聯(lián)盟鏈的重點(diǎn)研究方向不謀而合,其能否順利解決,將很大程度制約電子材料共享復(fù)用的價(jià)值實(shí)現(xiàn)。
2021年底,中國(guó)通信院在2021版《區(qū)塊鏈白皮書》中把基于確權(quán)、加密技術(shù)打造的“可信執(zhí)行環(huán)境”和“流通控制技術(shù)”結(jié)合起來(lái),并總結(jié)提出了“可控分享”的理念,并認(rèn)為可控分享是推動(dòng)區(qū)塊鏈落地實(shí)施的重要保證[3]。基于該思想,本文將權(quán)限分割、訪問控制和數(shù)據(jù)安全保證作為“可控分享”的三個(gè)必備因素作為技術(shù)研究點(diǎn),并結(jié)合我國(guó)電子材料頒發(fā)、管理、傳遞、共享、復(fù)用、審計(jì)、隱私保護(hù)等全流程政策法規(guī)、應(yīng)用現(xiàn)狀和期望目標(biāo)的實(shí)際需求,對(duì)訪問主體做出了“四權(quán)分離”的權(quán)限分割,提出一種輔以IM-ABE方法進(jìn)行數(shù)據(jù)安全保證的基于屬性和事務(wù)相融合細(xì)粒度訪問控制模型,實(shí)現(xiàn)了以權(quán)限細(xì)粒度分割、訪問動(dòng)態(tài)響應(yīng)、數(shù)據(jù)安全可靠為特色的政務(wù)電子材料可控共享控制模型和落地應(yīng)用。
2008年,區(qū)塊鏈概念由中本聰在《比特幣:一種點(diǎn)對(duì)點(diǎn)式的電子現(xiàn)金系統(tǒng)》中首次提出,并將分布式網(wǎng)絡(luò)結(jié)構(gòu)、虛擬交易幣、加密傳輸、無(wú)須第三方支持的信任技術(shù)作為了區(qū)塊鏈的本質(zhì)特征[4]。2015年12月,Linux基金會(huì)為構(gòu)建一個(gè)面向企業(yè)應(yīng)用場(chǎng)景的開源分布式賬本技術(shù)平臺(tái),主導(dǎo)發(fā)起了超級(jí)賬本(Hyperleger)開源項(xiàng)目,其設(shè)置了僅能允許一定數(shù)量已備案成員接入的準(zhǔn)入機(jī)制以組建行業(yè)成員聯(lián)盟,故被稱為聯(lián)盟鏈(Consortium blockchain)[5]。聯(lián)盟鏈放棄了部分“去中心化”的程度,但較之公有鏈減少了需要交易驗(yàn)證的節(jié)點(diǎn),故大大突破了區(qū)塊鏈的速度瓶頸,提升了安全等級(jí),實(shí)現(xiàn)了對(duì)中本聰提出的公有區(qū)塊鏈理論的開創(chuàng)性拓展,故快速成為了多行業(yè)實(shí)現(xiàn)跨部門有限互通的新型技術(shù)方向。同時(shí),聯(lián)盟鏈技術(shù)與許多政府、企業(yè)“強(qiáng)安全、高效能、弱中心化管理” 的理念完美契合,其區(qū)別于公有鏈的特性幫助各組織部門實(shí)現(xiàn)了更接近現(xiàn)有政務(wù)體系的網(wǎng)絡(luò)組建方法、更快的數(shù)據(jù)處理效能、更靈活的節(jié)點(diǎn)權(quán)利設(shè)置體系,故被各國(guó)、各級(jí)政府爭(zhēng)相列為政務(wù)資源打通、政務(wù)流程再造、打造社會(huì)化政務(wù)生態(tài)的重點(diǎn)攻關(guān)技術(shù)[6]。
政務(wù)信息互通共享作為政務(wù)區(qū)塊鏈的首要任務(wù),近年來(lái)由于各國(guó)發(fā)展戰(zhàn)略的推動(dòng),相關(guān)研究也競(jìng)相展開。劉衛(wèi)鎧等[6]對(duì)比分析了愛沙尼亞“E-Residency”和國(guó)內(nèi)“海淀政務(wù)”鏈,在肯定政務(wù)聯(lián)盟鏈加強(qiáng)部門協(xié)作、實(shí)現(xiàn)政務(wù)協(xié)同治理、推進(jìn)全民信任體系建設(shè)重要作用的同時(shí),提出了中國(guó)應(yīng)盡快建立與E-Residency中起關(guān)鍵作用的無(wú)鑰簽名基礎(chǔ)架構(gòu)(Keyless Signatures’ Infrastructure,KSI)相類似的去中心化動(dòng)態(tài)身份認(rèn)證體系;余益民等[7]深入分析了當(dāng)前中國(guó)政府信息資源共享及公開的關(guān)鍵因素和運(yùn)行機(jī)制,重點(diǎn)給出了基于區(qū)塊鏈和AI文書處理技術(shù)的共享模型總體架構(gòu),有效解決了政務(wù)信息資源共享中對(duì)等管理、標(biāo)準(zhǔn)一致性的問題,但由于政務(wù)多元主體的復(fù)雜性,實(shí)施了非實(shí)時(shí)性的資源交互方法;Achkar等[8]提到了阿聯(lián)酋建立的政府與各電信服務(wù)商之間的聯(lián)盟鏈以共享公民健康數(shù)據(jù),且重點(diǎn)討論了其防止用戶有多個(gè)身份的鏈上授權(quán)保證方法和問責(zé)機(jī)制(Accountability);李懿等[9]結(jié)合函數(shù)加密技術(shù)和零知識(shí)證明技術(shù)實(shí)現(xiàn)可驗(yàn)證計(jì)算結(jié)果共享,提出了一種實(shí)現(xiàn)“數(shù)據(jù)可用不可見”的安全共享模型,實(shí)現(xiàn)了鏈上數(shù)據(jù)使用權(quán)和可見權(quán)剝離的應(yīng)用,非常適用于我國(guó)多層級(jí)下敏感政務(wù)數(shù)據(jù)處理。盡管如此,業(yè)界基于政務(wù)聯(lián)盟鏈的相關(guān)研究,較之針對(duì)金融、虛擬幣鏈的研究仍舊非常稀少,大部門研究或側(cè)重于管理方法、政策法規(guī)分析,或缺少詳細(xì)的方法架構(gòu)說(shuō)明。
授權(quán)(Authorization)一直是貫穿整個(gè)項(xiàng)目流程的必備模塊,是大數(shù)據(jù)時(shí)代資源存儲(chǔ)、流通、共享所必然面臨的核心科學(xué)問題,也是實(shí)現(xiàn)電子材料可控分享的先決條件。針對(duì)權(quán)限劃分,以往檔案文書類管理類研究中,已有權(quán)屬分離(也稱權(quán)用分離)的理念。基于此,區(qū)塊鏈初期的某些共享類應(yīng)用,簡(jiǎn)單地將上鏈主體分離為資源提供者和資源使用者,分別行使管理和使用的權(quán)力。但這種分割方法與鏈耦合度低,忽略了政務(wù)聯(lián)盟鏈中所必須的節(jié)點(diǎn)管理者、運(yùn)營(yíng)支撐者乃至跨鏈應(yīng)用中跨鏈平臺(tái)所發(fā)揮的作用[10]。
為便于鏈上運(yùn)營(yíng)實(shí)施,Yu等[11]提出了鏈上資源發(fā)布者(pulisher)的概念,由鏈上發(fā)布者掌控其發(fā)布資源的實(shí)際管理權(quán),提升了資源管理效能和避免了權(quán)限過(guò)度分散導(dǎo)致的安全漏洞;朱靜等[12]提到了資源所有權(quán)、控制權(quán)、使用權(quán)和被訪問資源涉及隱私的策略劃分方法,并將控制權(quán)賦予鏈上智能合約(Smart Contract,SC)以實(shí)現(xiàn)電子病歷的精準(zhǔn)化流轉(zhuǎn)與資源共享,提升了中心全局控制策略的有效性和精確性。
但是,上述所有研究仍不能滿足政務(wù)鏈中權(quán)屬規(guī)則的復(fù)雜需求和日益嚴(yán)格的公民個(gè)人隱私保護(hù)要求。由于現(xiàn)有政務(wù)鏈上授權(quán)案例的稀缺,本文參考文獻(xiàn)[12]的整體理念,并結(jié)合訪問控制方法,提出一種四權(quán)分離的權(quán)限分割方案,把各主體對(duì)客體的訪問權(quán)限劃分為定義權(quán)(Right of Definition,RD)、所有權(quán)(Ownership,OS)、控制權(quán)(Right of Control,RC)、使用權(quán)(Right to Use,RU),權(quán)限劃分說(shuō)明如表1所示。四權(quán)分離方案說(shuō)明如下:
表1 基于政務(wù)聯(lián)盟鏈的材料共享權(quán)限劃分說(shuō)明
1) RD依據(jù)政策要求歸屬于材料主管、頒發(fā)、代管部門,可對(duì)整體同類型材料的編碼屬性、隱私屬性、可使用主體屬性、允許操作類型屬性等進(jìn)行定義,但不涉及單個(gè)材料的個(gè)性化屬性定義和實(shí)際控制材料的合約運(yùn)營(yíng)方法定義。
2) OS歸屬于材料各自的所有人(主要包含自然人、法人)。根據(jù)法規(guī)要求,在共享復(fù)用操作前,獲取材料所有人的許可簽名。且所有人有權(quán)以輕量化節(jié)點(diǎn)個(gè)人錢包的方式針對(duì)部分材料屬性進(jìn)行個(gè)性化隱私設(shè)置。
3) RC統(tǒng)一歸屬聯(lián)盟鏈、各鏈下業(yè)務(wù)系統(tǒng)甚至存儲(chǔ)控制系統(tǒng),主要通過(guò)智能合約實(shí)施統(tǒng)一運(yùn)轉(zhuǎn),由共識(shí)機(jī)制、鏈上鏈下數(shù)據(jù)協(xié)同方法進(jìn)行保障,同時(shí)還承擔(dān)權(quán)限變更、沖突仲裁、環(huán)境變化捕捉響應(yīng)、跨鏈權(quán)限映射等責(zé)任。
4) RU歸屬于各節(jié)點(diǎn)連接的鏈下業(yè)務(wù)系統(tǒng)操作者、鏈上通過(guò)輕量化節(jié)點(diǎn)上鏈的自接入用戶,以及委托操作中被授權(quán)的被委托用戶等。同時(shí),所有者(Owner)擁有最大的自使用權(quán)限。
上述四權(quán)分離的權(quán)限分割方法最大程度兼顧各方權(quán)限要求,保障公民、企事業(yè)團(tuán)體的隱私權(quán)力,保證政務(wù)聯(lián)盟鏈的整體可控,便于鏈上權(quán)限的動(dòng)態(tài)變更調(diào)整,為后續(xù)的訪問控制打下了良好基礎(chǔ),是本文實(shí)現(xiàn)的第一子目標(biāo)。
目前大量訪問控制相關(guān)研究都首先圍繞“細(xì)粒度”的方向展開。究其原因,粒度過(guò)粗的AC策略設(shè)定,無(wú)法實(shí)現(xiàn)合理權(quán)限分割導(dǎo)致在訪問控制中無(wú)法實(shí)施精準(zhǔn)訪問,還極有可能導(dǎo)致過(guò)度授權(quán)、隱私泄露、漏洞攻擊等安全問題[13],最終影響“可控共享”的目標(biāo)實(shí)現(xiàn)。因此,多種訪問控制策略,都在細(xì)粒度上采用了不同實(shí)施方法:如對(duì)用戶作出預(yù)先結(jié)構(gòu)化分組的基于角色的訪問控制(Role-Based Access Control,RBAC),權(quán)限劃分主要依托于主體角色設(shè)置,細(xì)粒度程度不高,雖然方便與現(xiàn)有大量鏈下系統(tǒng)進(jìn)行角色匹配,但往往在多角色問題上易存在權(quán)限交叉導(dǎo)致的合約邏輯漏洞[14];以權(quán)限令牌為特色,在許多物聯(lián)網(wǎng)場(chǎng)景下更易推廣的基于權(quán)能的訪問控制(Capability-based Access Control,CapAC)是一種將權(quán)限寫入令牌或證書進(jìn)行加密傳輸?shù)姆椒?一個(gè)令牌即為一個(gè)一對(duì)一的操作,權(quán)限粒度大小往往與令牌對(duì)應(yīng)的操作細(xì)化程度有關(guān)[15];可根據(jù)時(shí)間和事件等環(huán)境變量觸發(fā)訪問的基于使用控制的訪問控制模型(Usage Control,UCON),具有高可變性(mutability),但其機(jī)制難以實(shí)現(xiàn)細(xì)粒度的權(quán)限劃分[16];基于信任度的訪問控制(Trust-based Access Control,TrustAC)僅依托信任等級(jí)、信任分值劃分群體,但權(quán)限粒度粗且劃分方法更適用于部分需要信用評(píng)價(jià)的公有鏈[17];同理,基于事務(wù)的訪問控制(Transaction-Based Access Control,TBAC)[18]也主要通過(guò)區(qū)分事務(wù)類別對(duì)訪問進(jìn)行粒度劃分??梢钥吹?后三者方法由于未采用對(duì)訪問控制實(shí)體進(jìn)行分割的方法,導(dǎo)致控制方法過(guò)于單一、細(xì)粒度化能力不足;前兩者方法僅針對(duì)實(shí)體進(jìn)行分類,故很難實(shí)現(xiàn)最小化粒度分割。
而較之上述方法,基于屬性的訪問控制(Attribute-Based Access Control,ABAC)[10,13],能基于主體、客體、事件、消息、環(huán)境進(jìn)行全實(shí)體的細(xì)粒度劃分。在最小化設(shè)置原則下,ABAC因其全包容的細(xì)粒度劃分能力和屬性組合能力,幾乎占據(jù)了現(xiàn)有訪問控制方法的半壁江山。其能通過(guò)設(shè)置各實(shí)體前置性或變更性的屬性,可實(shí)現(xiàn)“粗細(xì)粒度可控”的權(quán)限劃分[19],并可通過(guò)增加屬性類別的方式合并其他訪問控制策略的部分優(yōu)勢(shì)。杜瑞忠等[20]在比較了多個(gè)訪問控制方法后,提出了ABAC更適應(yīng)于對(duì)物聯(lián)網(wǎng)設(shè)備復(fù)雜權(quán)限的精細(xì)劃分,并增加了信任度屬性,在ABAC中添加了TrustAC度量方法;文獻(xiàn)[21]通過(guò)鏈上用戶組(Multiple groups)屬性轉(zhuǎn)化實(shí)現(xiàn)鏈上訪問控制方法與鏈下系統(tǒng)角色(Role)的加密對(duì)接。這些方法使得ABAC優(yōu)勢(shì)進(jìn)一步擴(kuò)大。
但是我們也看到,盲目過(guò)度的細(xì)粒度化用于存儲(chǔ)和性能均有一定局限性的區(qū)塊鏈上,必然會(huì)增加存儲(chǔ)、傳輸、加密的一系列負(fù)擔(dān),引起鏈上訪問效能的下降;同時(shí),現(xiàn)有ABAC方法屬性設(shè)置模式雖然加入了環(huán)境屬性以增加靈活性,但主要實(shí)體相關(guān)設(shè)置仍以前置性為主,導(dǎo)致其動(dòng)態(tài)性不足,與鏈結(jié)合不緊密,難以針對(duì)政務(wù)的“事務(wù)性”特性作出及時(shí)有效的反應(yīng)。這時(shí)加入事務(wù)的中間串聯(lián)作用勢(shì)在必行。
事務(wù)(業(yè)務(wù))是政務(wù)管理中一個(gè)較為特色的概念,在本文系統(tǒng)中用于觸發(fā)大量電子材料的共享,基于業(yè)務(wù),電子材料在大多數(shù)情況下,我們需要生成 “使用主體-事務(wù)中間體-材料客體群”的跳轉(zhuǎn)控制模型,以實(shí)現(xiàn)多客體的串聯(lián)訪問,減少合約資源消耗。TBACTBAC擁有基于事務(wù)的靈活觸發(fā)能力,與區(qū)塊鏈交易(事務(wù)) 具有天然的關(guān)聯(lián)性,擅長(zhǎng)于區(qū)塊鏈環(huán)境變化中的權(quán)限動(dòng)態(tài)調(diào)整、多資源的批量調(diào)動(dòng),與我們基于事務(wù)的業(yè)務(wù)觸發(fā)機(jī)制需求不謀而合[12]。同時(shí),基于事務(wù)運(yùn)行周期的客體訪問控制權(quán)限開啟和閉合約束,更是有效提升鏈上鏈下資源安全性的方法。在ABAC訪問方法與區(qū)塊鏈?zhǔn)聞?wù)職責(zé)分配的探索中,文獻(xiàn)[20]看到了“事務(wù)消息”的重要性,提出了用事務(wù)控制實(shí)體合約流程,用ABAC實(shí)施具體訪問的方法,但兩者并未融合,而僅是各司其職。如何真正將兩者融合實(shí)施,是本文所需要完成的第二個(gè)子目標(biāo)。
在政務(wù)共享應(yīng)用的實(shí)施中,安全問題是繼解決可控訪問方法后模型設(shè)計(jì)中需要重點(diǎn)考慮的問題,也是實(shí)現(xiàn)“可控”的關(guān)鍵方法之一。區(qū)塊鏈本身解決了公開透明和公正溯源問題,但也帶來(lái)了一些安全隱患。即使選用較之公有鏈擁有安全準(zhǔn)入機(jī)制的聯(lián)盟鏈,結(jié)合ABAC和TBAC的資源保護(hù)優(yōu)勢(shì),實(shí)施數(shù)據(jù)加密方法以保障數(shù)據(jù)安全,仍是區(qū)塊鏈所必備的核心技術(shù)和防備各類機(jī)密竊取和網(wǎng)絡(luò)攻擊[22]的必備模塊?;诿芪牟呗缘膶傩曰用?Ciphertext-policy Attribute-Based Encryption,CP-ABE)算法,將訪問策略嵌入到密文中,使得主體屬性必須滿足客體資源的訪問策略才能獲得訪問權(quán)限,產(chǎn)生以來(lái)一直具有強(qiáng)大的生命力,且與ABAC中屬性設(shè)定方法一脈相承,很快成為鏈上加密方法的主流[19]。文獻(xiàn)[10]提出了基于分布式屬性中心的多授權(quán)屬性加密方法,但權(quán)限授予未通過(guò)鏈合約實(shí)施,與鏈耦合度不高;文獻(xiàn)[19]提出了通過(guò)Interchain子鏈中寫入加密協(xié)議的方法實(shí)施消息加密、加密發(fā)布和加密撤銷,但較難分離加密策略合約和執(zhí)行合約;彭長(zhǎng)根等[23]提出了基于密鑰加密的密鑰樹來(lái)對(duì)用戶屬性組實(shí)現(xiàn)重加密算法,并能在較小開銷下實(shí)現(xiàn)基于屬性的屬性協(xié)同撤銷;Wang等[24]提出了將ABE方法嵌入進(jìn)事務(wù)具體執(zhí)行的方法,并應(yīng)盡量縮短加密暗文提升鏈傳輸速度,非常具有參考性;Xu等[25]提出了通過(guò)生成獨(dú)立的事務(wù)管理密鑰來(lái)發(fā)布事務(wù)的理念,且通過(guò)智能合約控制加密解密策略,但未過(guò)多提及加密方法;張曉東等[26]提出了一種可追責(zé)的基于格的CP-ABE區(qū)塊鏈數(shù)據(jù)共享方案,致力于解決ABAC靈活性不足的問題,但固化了規(guī)范交易(事務(wù))格式,無(wú)法適應(yīng)復(fù)雜的政務(wù)事務(wù)需求。如何實(shí)現(xiàn)數(shù)據(jù)安全是本文的第三子目標(biāo)。
基于上述研究,本文擬在劃分四權(quán)的基礎(chǔ)上,基于ABAC與TBAC的訪問控制方法,提出一種基于屬性與事務(wù)相融合的訪問控制 (Attribute and Transaction-based Interactive Access Control,ATI-AC)模型,在加密傳輸方法上采用了改進(jìn)基于屬性基加密(Improved Attribute-Based Encryption,IM-ABE),共同構(gòu)成了實(shí)現(xiàn)權(quán)屬分割、可控訪問、安全保證的政務(wù)聯(lián)盟鏈可控訪問控制模型。
圖1給出了本文訪問控制模型的ATI-AC部分。其中的ATI-AC訪問控制模型實(shí)體(Entity)包含以下五個(gè)部分:主體(Subject,S)、客體(Object,O)、事務(wù)(Transaction,Tr)、節(jié)點(diǎn)(Node,N)、鏈下系統(tǒng)(Off-chain System,Off-S)。除實(shí)體外還有兩個(gè)重要因素:屬性(Attribution,At);規(guī)則(Policy,P,部分文獻(xiàn)中也稱操作Operation)。
圖1 基于政務(wù)聯(lián)盟鏈的ATI-AC訪問控制模型
其中主體根據(jù)表1中的四權(quán)關(guān)系,材料客體(Object,O)對(duì)應(yīng)訪問主體分別為定義者(S_RD)、所有者(S_OS)、控制者(S_RC)、使用者(S_RU)。材料客體在這里包含鏈下材料資源本身(Object source,O_s)、鏈上索引(Object index,O_in)兩部分,且O_s(i)本體的Acc_P允許訪問屬性默認(rèn)全部置0。材料主要的控制者為政務(wù)聯(lián)盟鏈(GCB),輔助控制者為材料所在的各節(jié)點(diǎn),且分解為了一個(gè)主鏈兩個(gè)子鏈:材料索引主鏈(MI-Bchain)負(fù)責(zé)存儲(chǔ)所有材料客體的索引信息(包含材料所有主體Gid、材料本體加密哈希信息Hash(O_S)、材料加密地址信息add等內(nèi)容),一個(gè)確權(quán)控制子鏈(RC-Bchain)負(fù)責(zé)存儲(chǔ)所有確權(quán)與訪問控制規(guī)則合約,一個(gè)服務(wù)日志子鏈(SL-Bchain)負(fù)責(zé)根據(jù)既有規(guī)則進(jìn)行服務(wù)運(yùn)營(yíng)和日志記錄。該控制設(shè)計(jì)目的為方便分類各類合約進(jìn)行版本迭代和升級(jí),提升訪問控制模型的動(dòng)態(tài)靈活性。在初始化階段,控制者監(jiān)控所有流程,要求材料客體定義者開始對(duì)其擁有權(quán)限的客體屬性尤其是訪問權(quán)限屬性進(jìn)行定義,構(gòu)建RC_Bchain子鏈主體內(nèi)容,并調(diào)用加密方法對(duì)各主體進(jìn)行唯一性鏈上標(biāo)識(shí)和材料客體加密;在訪問階段,控制者根據(jù)使用者通過(guò)鏈下系統(tǒng)提請(qǐng)的事務(wù),實(shí)施相關(guān)客體的搜索并生成批量化二次跳轉(zhuǎn)訪問,并在獲取到定義者、所有者、自身控制者簽名的前提下,實(shí)施基于事務(wù)的批量雙層解密算法,允許使用者通過(guò)私鑰點(diǎn)對(duì)點(diǎn)獲取到非本節(jié)點(diǎn)關(guān)聯(lián)到的批量材料客體資源地址明文,獲取資源實(shí)施后續(xù)的鏈下業(yè)務(wù)。同時(shí),環(huán)境屬性的設(shè)置和變更在整個(gè)流程中用于配合主體合約的實(shí)施,用于靈活實(shí)施基于環(huán)境變量讀取、更新引起的條件判定,從而進(jìn)入錯(cuò)誤拋出或程序分支等。
基于ATI-AC的訪問控制模型主要包括方案初始化、訪問控制方法實(shí)施兩個(gè)階段。訪問控制初始化主要在于確權(quán)控制子鏈合約構(gòu)建。RC_Bchain子鏈主要構(gòu)建內(nèi)容包括:加密訪問主體唯一性標(biāo)識(shí)表(S.Gid)、屬性表(S.At)、事務(wù)可調(diào)用材料類目對(duì)應(yīng)表(OtoT_tl)、添加有序多重簽名(Sequential multi-signature)[27]的改進(jìn)的基于屬性加密(IM-ABE) 方案。RC_Bchain智能合約組成示意圖見圖2(a)。
圖2 確權(quán)控制子鏈智能合約組成和初始化定義示意圖
初始化過(guò)程簡(jiǎn)要實(shí)施步驟如下:
步驟1構(gòu)建RC_Bchain子鏈主體合約內(nèi)容,由各E_RD統(tǒng)一對(duì)各材料類型定義各主體{S}、各主體屬性{S.At};由Tr_RD定義OtoT_tl;根據(jù)上述合約內(nèi)容生成包含客體對(duì)應(yīng)各主體關(guān)系、EV環(huán)境變量控制、基于屬性的訪問策略P(A,p)的加密算法。上述RC_Bchain生成步驟和對(duì)應(yīng)實(shí)施者見圖2(b),其中{A,p}指權(quán)限規(guī)則。
步驟2全局參數(shù)生成。主體公私鑰。由RC_Bchain取代其他未使用智能合約文獻(xiàn)中的屬性中心[10-11],對(duì)各訪問主體進(jìn)行鏈上注冊(cè),算法輸出系統(tǒng)公共參數(shù)PP。
Setup(1λ)→(PP)
(1)
步驟3給每個(gè)主體S輸出Gid作為各主體合法的鏈上唯一加密標(biāo)示信息,并生成公私鑰對(duì)(USKGid,UPKGid)。即:
Setup_RC(PP)→(USKGid,UPKGid)
(2)
步驟4RC_Bchain根據(jù)各個(gè)主體提供的私鑰SSKsg和屬性集R={S.At}的ATT個(gè)屬性的集合,為其生成對(duì)應(yīng)的使用者屬性私鑰AKGid和轉(zhuǎn)化密鑰TAKGid。
KeyGen(S,PP,Gid,USKGid)→(AKGid,TAKGid)
(3)
步驟5對(duì)每個(gè)客體上鏈索引中的資源地址Oi.add和實(shí)體哈希值Hash(Oi)實(shí)施基于屬性的加密方法:
Menc(PP,M,P(A,p),{UPKGid})→CT
(4)
式中:M是材料明文;P(A,p)為訪問策略函數(shù)。策略函數(shù)由對(duì)照OtoT_tl表生成的事務(wù)跳轉(zhuǎn)訪問規(guī)則ptr和直接文件訪問策略po共同構(gòu)成,其中Atr、At為對(duì)應(yīng)策略矩陣,即:
P(A,p)=(Atr,OtoT_tl,ptr)∩(At,po)
(5)
訪問控制實(shí)施方法包含以下步驟:
步驟1使用者ru向GCB的SL-Bchain子鏈提出辦理事務(wù)tr申請(qǐng),需要所有人為os的相關(guān)材料(該算法暫考慮單一所有人下的相關(guān)材料)。
步驟2MI-Blokchain索引通過(guò)Find()函數(shù),搜索是否有符合要求的材料上鏈。函數(shù)返回事務(wù)tr下符合所有人是os的j個(gè)材料相關(guān)信息列表{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份材料需使用者自行進(jìn)行新增。
步驟3將{Os_os(j),tr,j}集合中的所有材料,按所有者S_os、定義者S_os、控制者S_os的公私鑰值作為參數(shù)代入文獻(xiàn)[27]中算法實(shí)施順序簽名,最后由主控制者SL-Bchain子鏈同步發(fā)起同一事務(wù)下的批量簽名驗(yàn)證算法:
(7)
保證每份材料獲得各材料權(quán)屬方簽名授權(quán)輸出函數(shù)V結(jié)果值isV為1,否則就拋出授權(quán)錯(cuò)誤。其中order(S(tr,j))=(S_os.Gid,S_rd.Gid,S_rc.Gid)為簽名先后順序,Ltr.j和σtr.j分別為所有簽名人的公鑰集合和每個(gè)材料的聚合簽名值。
步驟4對(duì)照{(diào)Os_os.Gid,j,tr}列表,由MI-Bchain讀取SC-Bchain內(nèi)合約方法,實(shí)施基于事務(wù)的批量雙層解密算法:
(8)
式中:MMj為中間一次解密結(jié)果。解密后獲得材料哈希值群所有鏈下的真實(shí)存儲(chǔ)地址{Oj.tdd},同時(shí)對(duì)照索引中解密出的材料哈希值進(jìn)行哈希核驗(yàn),驗(yàn)證完成后,將所有材料本體的{Acc_P(j)}允許訪問屬性均置1,允許訪問材料本體{O_sj}。
步驟5共享完成后,MI-Bchain將本次事務(wù)成功或失敗結(jié)果均進(jìn)行SL-Bchain的日志塊增加操作,并將O_s(j)的Acc_P環(huán)境參數(shù)重新置0。
該模型方法的優(yōu)勢(shì)特色為: 1) 通過(guò)ABAC與TBAC優(yōu)勢(shì)結(jié)合,并結(jié)合聯(lián)盟鏈優(yōu)勢(shì),實(shí)現(xiàn)了細(xì)粒度化智能合約控制下的ATI-AC方法;2) 增加了事務(wù)對(duì)應(yīng)的批量客體訪問方法,提升了訪問效能;3) 通過(guò)有序多重簽名方法,保障了各方權(quán)益;4) 使用基于屬性基的加密方法實(shí)現(xiàn)資源安全可控訪問,通過(guò)基于事務(wù)的資源開放閉合操作增強(qiáng)數(shù)據(jù)安全性;5) 主鏈、子鏈分離便于合約分類管理、問題排查和更新迭代。
加密算法具體執(zhí)行如下:
1) 全局參數(shù)生成。輸入安全參數(shù)1λ,根據(jù)雙線性映射定義e:G×G=GT,其中G和GT是 2 個(gè)階為素?cái)?shù)p的乘法循環(huán)群,G的隨機(jī)生成元為g;抗碰撞哈希函數(shù)H:{0,1}*→G;隨機(jī)選擇γ∈Zp(Zp為符合線性秘密共享方案LSSS[28]的域),輸出全局參數(shù)PP:
PP={g,gγ,G,GT,H}
(9)
2) 密鑰生成和屬性管理密鑰生成。因本文中所有實(shí)體角色,在不同tr中有互換可能,即同一用戶既有可能是使用者也有可能是擁有者或定義者,將所有實(shí)體無(wú)差別注冊(cè)到區(qū)塊鏈網(wǎng)絡(luò),生成每個(gè)實(shí)體id的鏈上唯一加密身份標(biāo)識(shí)S.Gid,即算法中的簡(jiǎn)單設(shè)置為Gid參數(shù),并生成該實(shí)體公私鑰:
(UPKGid,USKGid)=(gθGid,θGid|θ∈Zp)
(10)
我們讓負(fù)責(zé)屬性授權(quán)的RC-chain對(duì)R中每一個(gè)屬性at隨機(jī)取一個(gè)數(shù)α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,設(shè)其對(duì)應(yīng)R的屬性子集為ARGid。為每個(gè)at分別選擇1個(gè)隨機(jī)數(shù)μ∈Zp,加密每個(gè)屬性得到屬性參數(shù)Dat,聚合得到聚合屬性密文:
DCat,rat,Gid={h(x)μ·gβat(μ+Gid)}
(11)
式中:x∈ARGid。計(jì)算密文參數(shù)D1,na=gαathGid和D2,at=g2,生成與屬性相對(duì)應(yīng)的用戶屬性私鑰AKsg,S.gid和轉(zhuǎn)化密鑰TAKsg,S.gid:
AKat,Gid=(D1,at,D2,at,DCat,xgid)
(12)
轉(zhuǎn)化密鑰為:
TAKGid=(TAPKGid,TASKGid=μ)
(14)
4) 批量加密算法。運(yùn)行加密算法對(duì)前述數(shù)據(jù)或?qū)傩灾颠M(jìn)行加密,首先由S_rd(Oi)定義材料的訪問策略函數(shù)P(A,p),A為一個(gè)la×na的矩陣,la為屬性個(gè)數(shù)。
隨機(jī)選取密碼值sec∈Zp,生成隨機(jī)向量ω=(sec,v2,v3,…,vn)∈Zp,輸入明文M,生成的密文CT表述為:
CT=(C1,C2,C1,x,C2,x,C3,x)
(15)
5) 二次解密算法。第一步判斷屬性集合ARGid是否滿足訪問策略函數(shù)生成半解密密文MMj,如驗(yàn)證錯(cuò)誤拋出異常,其中Tw為構(gòu)造中間參數(shù);第二步,如策略結(jié)果驗(yàn)證正確,再輸入使用者私鑰,按式(7)實(shí)施解密如下:
(16)
循環(huán)執(zhí)行J次,完成基于tr的所有文件解密。二次解密設(shè)計(jì)終止了策略驗(yàn)證錯(cuò)誤導(dǎo)致的后續(xù)計(jì)算,且能進(jìn)一步分離合約,提升安全性。
本節(jié)評(píng)估部分?jǐn)M在訪問控制各方法性能比較、加密解密算法計(jì)算開銷比較、方法響應(yīng)時(shí)間三方面進(jìn)行。
首先,從細(xì)粒度分類能力、數(shù)據(jù)安全保護(hù)能力、動(dòng)態(tài)變更性、是否使用智能合約實(shí)施授權(quán)訪問、是否完全實(shí)現(xiàn)去中心化、是否能實(shí)現(xiàn)多客體串聯(lián)訪問等六個(gè)方面,對(duì)本文ATI-AC方法與ABAC、TBAC訪問控制方法進(jìn)行對(duì)比分析,可以看出本文設(shè)計(jì)的訪問控制方法設(shè)計(jì)上考慮到了大部分重要指標(biāo),在細(xì)粒度控制、隱私安全有較大優(yōu)勢(shì),且在智能合約設(shè)計(jì)上較有特色,實(shí)現(xiàn)了去中心化的訪問控制。性能對(duì)比分析結(jié)果如表2所示。
表2 基于區(qū)塊鏈的ATI-AC與ABAC、TBAC的性能對(duì)比分析
其次,對(duì)本文方法和其他相關(guān)文獻(xiàn)方法進(jìn)行計(jì)算開銷分析和比較,具體見表3,其中:雙線性對(duì)運(yùn)算計(jì)為W;指數(shù)運(yùn)算記為V;橢圓曲線標(biāo)量點(diǎn)乘運(yùn)算記為U;哈希運(yùn)算記為H;t表示屬性機(jī)構(gòu)個(gè)數(shù);s為與私鑰相關(guān)屬性數(shù);N表示加密密文所需屬性數(shù);l是策略矩陣A的行向量個(gè)數(shù)。由表3可知,相比已有方案,本文實(shí)現(xiàn)了較之文獻(xiàn)[10]更加安全、較之文獻(xiàn)[21]更加細(xì)粒度化的授權(quán)訪問,在加密和初始化部分優(yōu)于現(xiàn)有算法;僅解密部分因多重簽名驗(yàn)證導(dǎo)致開銷稍有增加,但通過(guò)事務(wù)串聯(lián)同一所有者多材料一定程度減少了所有者公私鑰讀取乃至批量簽名的開銷,整體不會(huì)過(guò)度提升訪問策略的冗余性。故本文較之已有方法整體開銷較小,可更快地實(shí)現(xiàn)加密材料共享。
表3 算法計(jì)算開銷與其他方法的比較
本文在充分研究政務(wù)聯(lián)盟鏈和電子材料共享的應(yīng)用需求基礎(chǔ)上,重點(diǎn)對(duì)不同權(quán)限主體權(quán)責(zé)劃分、訪問控制策略設(shè)計(jì)、加密方法實(shí)施等實(shí)現(xiàn)可控分享的三個(gè)重點(diǎn)問題展開研究,分別通過(guò)明確不同權(quán)限主體對(duì)材料客體的訪問權(quán)限劃分和有序多方簽名方法保障了各方權(quán)益;通過(guò)輔以基于改進(jìn)屬性基的加密方法的基于屬性與事務(wù)相結(jié)合的訪問控制方法和相關(guān)設(shè)計(jì),最終實(shí)現(xiàn)了基于政務(wù)聯(lián)盟鏈的電子材料可控訪問控制。算法評(píng)估表明,本文方法在細(xì)粒度化、動(dòng)態(tài)響應(yīng)能力、數(shù)據(jù)安全、中心化程度上較之現(xiàn)有方法非常有競(jìng)爭(zhēng)力,且算法計(jì)算開銷不高,可適用于中大型的材料共享應(yīng)用。下一步將繼續(xù)對(duì)訪問控制撤銷可控方法、權(quán)限繼承控制方法等問題展開后續(xù)研究。