梁佳興 胡俊



摘 要:根據安全策略的組成結構和性質,可采用多參與者協同制定策略的方式以降低工作成本,區塊鏈可為協同制定提供支持。設計一種區塊鏈方案,通過制定適用于安全策略協同制定的收益評估智能合約合理化分配策略方收益,以達到激勵安全策略的協同制定目的。該方案有效保證了協同制定生態的可靠性與可信性,推動安全策略制定與共享。
關鍵詞:安全策略;協同制定;收益評估;區塊鏈
DOI:10. 11907/rjdk. 201127
中圖分類號:TP309文獻標識碼:A 文章編號:1672-7800(2020)010-0223-05
Abstract:According to the composition structure and nature of the security policy, the policy can be formulated in a collaborative manner with multiple participants to reduce work costs. Blockchain can provide support for trusted transaction models for collaborative development of security policies.This article designs a blockchain solution that rationalizes the distribution of policy producer benefits by formulating a revenue assessment smart contract suitable for collaborative development of security policies to achieve the purpose of motivating the collaborative development of security policies. This solution effectively guarantees the reliability and credibility of collaborative development ecology, and plays a role in promoting the formulation and sharing of security policies.
Key Words: security policy;collaborative formulation;profit evaluation;blockchain
0 引言
隨著信息時代的高速發展,信息系統和計算機網絡在為人們生活帶來極大便利的同時也帶來了安全問題。現代信息系統通過多種安全機制及恰當的安全策略為系統提供安全保障,通過安全策略規則對所有信息和程序內容進行管理、使用、保護和分配,其在信息安全和可信計算環境中扮演著重要的角色[1]。
安全策略需要根據需求場景制定,且需要十分嚴格的測試驗證,制定成本很高。由于安全策略本身具有繼承性、可重復性以及模塊化特點,因此安全策略制定可通過多方協同的方式進行,以降低安全策略制定成本。但多方協同制定安全策略需要一個合理的收益分配策略,否則會導致部分策略制定者投入產出嚴重不匹配、策略定制生態被破壞等問題。
區塊鏈適用于建立這種多方參與的分配機制,因此本文提出面向安全策略協同制定的區塊鏈激勵機制,利用區塊鏈保證安全策略數據難以被篡改的特性,設計一種適用于安全策略協同制定模式下的收益分配智能合約,用于保證各參與方獲得與自身投入相匹配的收益值,起到推動策略共享與合作的作用。
1 相關研究現狀
1.1 安全策略制定研究現狀
安全策略的制定一般和系統環境和安全需求有密切關系,對一個信息系統而言,其安全策略一般需要定制實現。如文獻[2]提出了安全路由器平臺的策略實現;文獻[3]研究了大規模VPN環境下的網絡安全策略配置方案;文獻[4]提出一種基于語義的Web服務安全策略表達與匹配方法,通過構造一個通用的安全本體,給出Web服務語義安全策略的定義方法和匹配算法;文獻[5]提出基于SDN的物聯網設備間訪問控制機制,實現了細粒度訪問,將主體、客體以及受訪問數據資源按照規則動作關聯產生決策策略,在策略決策點網關處設置細粒度訪問控制策略。
雖然整個信息系統的策略需要定制,但策略的組成部分往往可以復用。如Linux環境下常用的操作系統安全策略SELinux[6-7]、AppArmor[8],雖然其原理不同,但均可由發行商或社區提供多種系統和應用安全策略模板組成安全策略基礎,再由安全管理員基于這些模板通過修改配置來實現。這是一種自發的策略協同制定,但目前各種策略模板主要由系統發行商和社區完成并以免費方式發放,其配置針對性不強,也缺少維護,信息系統的策略配置者還需要投入較大精力自行完成策略的制定。
1.2 區塊鏈研究現狀
區塊鏈是一種不可篡改和不可偽造的去中心化分布式賬本[9],利用密碼學技術、時間戳和共識算法保障各節點數據庫中信息一致性[10]。區塊由一個包含元數據的區塊頭和一組具體數據記錄組成,數據記錄主要在區塊頭中的Merkle樹根,其葉子節點為數據記錄,非葉子節點是其對應子節點串聯字符串的哈希值,因此數據記錄的改變會在樹根值上體現,能輕易驗證數據是否被惡意篡改過[11]。
目前區塊鏈研究主要分布在應用和技術兩部分。KONSTANTINOS CHRISTIDIS[12]設想將區塊鏈與物聯網結合,以促進服務和資源的共享;Zhi等[13]提出一種基于區塊鏈技術的分布式對等網絡架構,用于解決集中式網絡在靈活性、效率、可用性和安全性方面存在的問題;Zyskind等[14]設計了一個協議將區塊鏈轉變為自動訪問控制管理器,無需信任第三方;Luu等[15-16]研究了加密貨幣等開放分布式網絡中運行基于以太坊的智能合約安全性;Weber[17]使用區塊鏈解決協同流程執行中信任的基本問題;Zhang[18]設計了一個數據饋送系統,以保證智能合約從區塊鏈外部得到的數據的可靠性;Zhang等[18]設計了基于區塊鏈的供應鏈原型系統,保存整個供應鏈各主體的數據,使系統安全可信,便于溯源。
2 區塊鏈收益分配機制
本節首先描述了安全策略協同制定模式,基于該模式存在的問題構建了一種適用于協同制定的收益評估模型,該模型根據安全策略的組合和繼承方式逐層對收益進行分配。其次以該模型為基礎對存儲在區塊鏈的安全策略數據結構進行設計,利用智能合約加以實現。
2.1 安全策略協同制定模式
安全策略通常是一條或多條子策略的集合,共同形成安全策略組。由于安全策略是對照相應系統定制的,在不同系統環境下針對不同問題,安全策略也有所不同,因此對安全策略的描述可通過系統—策略二元組[S,P]表示,其中[S]代表系統描述,[P]代表策略。[P]通常以可復用策略為基礎,經過配置修改后組合而成,而可復用策略再詳細劃分為面向系統和面向應用的策略兩種類型,因此一個具備應用場景的信息系統安全策略[P]由三部分組成,本文將策略組成抽象為三元組[P=B,A,E]進行描述,其中[B]表示基礎策略,代表某一基礎信息系統上自身默認配置的一系列資源對應的安全策略,一個信息系統的成熟安全策略方案中只有一個基礎策略,而這個基礎策略可由多個基礎策略組合得到;[A]表示應用策略集合,代表系統中一系列新添加或修改的應用對應的安全策略集合,應用策略集合[A]可表示為[A=A0,A1,……,An],[A0]到[An]則表示策略集合A中所包含的n個不同的應用子策略;[E]表示配置策略,代表在基礎系統和應用基礎上進行的特殊配置,一般是專為該信息系統所使用場景定制的策略。
基礎策略和應用策略由于其基礎性及通用性,所以應用范圍非常廣泛,通過對不同基礎策略和應用策略的修改,可適應性地將策略調整為適用于不同應用場景的共性策略。但這兩類策略的制定、驗證安全性等過程都需要經過嚴格把控,流程十分繁瑣,定制成本極大,因此通用型策略開發很少,協同制定模式難以推廣。采用該模式進行定制,如果缺乏合理的收益分配機制,將可能對新策略制定者自身的收益造成損失。因此,如果構建策略協同制定的良好生態,則需要一個良好的激勵機制,鼓勵在該環境中制定通用型策略與成果共享,以及保障策略定制者自身收益。基于此,本文提出一種收益評估模型用來保證各方收益,起到激勵生態良好發展的作用。
2.2 收益評估模型
2.2.1 收益評估原則
針對上文協同制定問題提出幾點收益評估原則,以保證該模型的合理性與激勵性。
(1)以貢獻量作為影響依據,對產生收益的安全策略各參與方利益合理分配。
(2)鼓勵基礎策略和應用策略制定,基礎策略和應用策略具備通用性和繼承性,當這兩類安全策略的應用場景增加時,保證這兩類策略的生產者總收益持久性增加,能夠鼓勵安全策略制定基礎性工作成果共享,同時為其他生產者降低安全策略定制成本。
(3)激勵安全策略生產者直接使用通用型安全策略,保證生產者收益比重。設定當通用型安全策略應用場景增加時,每個場景的收入比例降低,變相降低通用型安全策略使用成本。
2.2.2 收益評估模型詳細設計
設安全策略[m=B,A,E],該次收益值為[FA],對該策略涉及到的各生產者進行收益評估。為減少各生產者對各自收益產生質疑,生產者的收益評估參考Nash談判模型[19]。
當策略[m]生成后,假設該策略相關生產者共有[n]個,生產者理想的收益分配方案為[R+=r1+,r2+..rn+],不理想收益分配方案為[R-=r1-,r2-..rn-],最終收益分配比例為[F=f1,f2....fn],建立Nash談判模型為:
[fi-ri-]表示生產者最終收益分配比例與破裂點的差值,[ωi]表示各生產者的收益因子,可由多方因素共同決定,滿足[i=1nωi=1]。約束條件[i=1nfi=1]表示收益在所有生產者中完全分配,[fi≥ri-]保證可正常進行收益分配。
通過建立拉格朗日乘數法,得到Nash模型下各生產者的收益分配比例解為:
通過該解可知,各生產者收益分配比例[fi]的結果與收益因子[ωi]和最不理想收益分配比例[ri-]有關,[ri-]參數已知,因此確定收益因子[ωi]即可確定[fi]的結果。以各生產者貢獻量和滿意度為影響因素計算如下:
(1)生產者貢獻量([ci])度量方法。在一個具體的安全策略方案中,安全策略的編寫形式規范化,形成若干條規則,即可分別對基礎策略、應用策略和配置策略的貢獻量進行定量。設定各方的貢獻量比例為:
(2)生產者滿意度([mi])度量方法。[ri+-fi]為最理想比例和生產者最終收益分配比例的差值,[ri+-ri-]是生產者最理想收益分配比例和最不理想收益分配比例的差值,在本收益評估模型中,這兩個參數與生產者滿意度高度相關,因此設生產者滿意度[mi]度量方法為:
歸一化后得到各生產者滿意度為:
根據式(3)和式(5)得到生產者貢獻量和滿意度量化結果,收益因子受兩個元素共同作用,即[ωi=G(ci,mi)],本文定義收益因子[ωi]表達式為:
由此得到各生產者收益結果表達式為:
其中,為調動安全策略生產者直接應用通用型安全策略的積極性,應適當降低通用型安全策略收益,本模型使用通用型策略的收益隨使用次數增加而降低的方式,即針對通用型策略再次調整收益比。因此設定收益結果表達式為:
[fvi]表示通用型策略生產者收益,[fvn]表示配置策略生產者收益,[ki(ki≥1)]表示第[i]個子策略的當前收益次數。[fce0 2.3 區塊鏈安全策略數據存儲方案 針對上節設計的收益評估模型,需要制定適用于該模型的安全策略數據存儲方案,方便收益分配智能合約的設計并進行收益分發。 安全策略數據記錄表包括策略碼、策略功能、策略類型、策略存儲地址、策略生產者地址、貢獻量比例、策略繼承關系等,其結構如表1所示。安全策略詳細數據由于數據量大,不適合全部存儲在區塊鏈中,因此僅存儲部分概要信息,并將策略詳細信息所在的實際地址存儲在區塊鏈中,在訪問策略數據時可通過地址查看。策略碼由安全策略經過SHA-256哈希運算獲得。策略生產者地址用來存儲該安全策略生產者的賬戶地址,該地址是用戶的錢包地址,在區塊鏈中使用數字貨幣代替收益值,數字貨幣交易方式是利用兩個賬戶地址進行價值轉移。基于智能合約實現收益分配機制,需要知道安全策略的組成結構,并且知道子策略的詳細信息,才能將數字貨幣發放到正確的地址中,因此需要附加該策略關聯信息,這里用子策略碼組記錄。 在安全策略收益分配過程中需要知道每個策略的使用次數,因此在區塊鏈中還需保存策略碼與使用次數對應的關系,并在每次收益分配完成后對使用次數進行更新。安全策略使用次數記錄表結構如表2所示,其中policy_tx表示該策略數據記錄所在的區塊地址,可用于快速查詢該安全策略詳細存儲數據。 2.4 收益分配智能合約 智能合約是在區塊鏈中用程序編寫的一段合約,在滿足預定條件時能夠強制執行合約條款,執行產生的結果上鏈后不許更改。利用智能合約能夠實現安全策略收益的自動分配,當滿足合約執行條件時,利用區塊鏈平臺中的數字貨幣作為資產,基于收益評估模型,將代幣資產發放到各參與者賬戶地址中,收益分配算法流程如下: 下面以圖1的安全策略組成結構為例說明該合約收益分配過程。策略[m]由[m=B,A,E]三元組表示,[B]表示基礎策略,[A]表示應用策略,[E]表示配置策略。基礎策略[B]可表示為[B=B1,B2,r],其含義為基礎策略[B]是通過組合并修改其他策略生產者產生的策略[B1]和策略[B2],并新增策略[r]共同組成新的基礎策略[B]。同理應用策略[A]可表示為[A=A1,A2,r],表示為新的應用策略由[A1],[A2]及[r]共同組成。策略[E]表示根據實際需求進行定制的配置策略。以上各策略由不同的策略生產者生成。當新策略[m]使用者對該策略交易付款時,該策略產生收益,首先對策略[B]、[A]和[E]應用收益評估模型,確定每部分收益,然后以遞歸的形式完成收益分配,策略[B]的生產者需要與策略[B1]和策略[B2]的生產者進行收益分配,同理策略[A]的生產者也將與策略[A1]和[A2]的生產者進行收益分配,最終確保當一個策略集合產生收益時所有策略生產者都可按照一定的規則獲得收益。 3 區塊鏈組成架構與功能組件 基于區塊鏈的安全策略協同制定激勵機制主要包含安全策略生產者、使用者和安全策略數據共享平臺3部分,如圖2所示。安全策略生產者指能夠對某些環境或應用進行安全策略制定的成員,按照安全策略類型可將生產者分為基礎策略制定者、應用策略制定者和安全策略制定者,制定者表示專門對特定信息系統進行安全策略制定的生產者,即需要在安全策略定制中對配置策略進行完善。安全策略使用者指對安全策略數據有需求的個人、團隊等。 安全策略生產者通過數據共享平臺發布安全策略數據,作為平臺信息流的起點。安全策略使用者和生產者可以檢索數據、查看策略信息、數據來源、策略關聯關系和發布安全策略訂閱需求,最終在共享平臺上進行數據可信、透明、無法抵賴的共享交互。通過區塊鏈挖礦機制維持策略共享生態圈的良好運轉。其他生產者可以根據共享平臺中的策略數據構建新的安全策略并發布在平臺上以共享策略方案。當策略使用者對一個安全策略方案交易支付時,該策略產生一筆收益,觸發事件執行收益分配智能合約,該合約根據策略數據實現收益發放,將代幣分配到各生產者賬戶地址中。 本方案使用以太坊作為區塊鏈平臺,以太坊具備開發區塊鏈平臺的所有條件,能夠在區塊鏈中通過智能合約實現應用程序的開發和使用,并且利用以太坊代幣作為資產,實現安全策略的收益分配,符合策略共享平臺的功能要求,因此安全策略協同制定激勵機制基于以太坊平臺實現。在該機制模型的基礎上對其架構進行分層,主要由展示層、服務層、智能合約層和區塊鏈層4部分組成,如圖3所示。 安全策略數據共享平臺主要包括用戶模塊、數據管理模塊和收益分配模塊,如圖4所示。 (1)用戶模塊。該模塊為安全策略數據共享平臺的基礎性模塊,主要實現用戶的注冊和登錄功能,用戶信息包括用戶地址、用戶名、以太坊賬戶主地址等,當用戶登錄時需要自己的私鑰作為密碼。錢包模塊數據代表該用戶的代幣資產,用于安全策略收益保存和發放。 (2)數據管理模塊。該模塊主要實現安全策略數據相關操作,包括將特定格式的數據上傳到區塊鏈,以及根據策略碼查詢數據功能。 (3)收益分配模塊。該模塊用于實現安全策略收益分配機制,即根據評估結果對安全策略收益進行分發,發放到各安全策略生產方的錢包中。 4 結語 本文通過設計一種安全策略協同制定的區塊鏈激勵機制,用以促進協同制定思想推廣,激勵通用型安全策略制定和成果共享。首先提出一個適用于安全策略協同制定環境下的收益評估模型,基于該模型定義區塊鏈存儲結構與智能合約,最后設計區塊鏈方案的組成架構與功能組件。本研究具有一定的應用價值,后續可使用可信計算技術[20]保證安全策略的可信性,為安全策略協同制定模式的實現提供可靠的信任環境。 參考文獻: [1] 羅萬伯,羅霄嵐,陳煒,等. 多域環境的安全策略管理框架研究[J]. 四川大學學報(工程科學版),2006,32(2):114-117. [2] JO S,KIM K. A study of security policy enforcement using priority[C]. Busan:International Joint Conference. IEEE, 2006. [3] SHAN R,LI S,WANG M,et al. Network security policy for large-scale VPN[C]. Beijing:International Conference on Communication Technology,2003. [4] HE Z,WU L,HONG Z,et al. Semantic security policy for web service. [C]. Chengdu:IEEE International Symposium on Parallel & Distributed Processing with Applications,2009. [5] 聶自闖. 基于SDN的IoT設備細粒度訪問控制研究與實現[D]. 重慶:重慶郵電大學,2019. [6] 張柱,王余旺,王麗. SELinux中安全策略的實施[J]. 黑龍江科技信息,2007,6(16):67-73. [7] 肖永康,紀翠玲,謝寶恂,等. SELinux的安全機制和安全模型[J]. 計算機應用,2009,29(S1):66-68. [8] 王雷. 高安全級別操作系統安全標記機制的設計與實現[D].? 北京:北京工業大學,2013. [9] 袁勇,王飛躍. 區塊鏈技術發展現狀與展望[J]. 自動化學報,2016,42(4):481-494. [10] 王化群,吳濤. 區塊鏈中的密碼學技術[J]. 南京郵電大學學報(自然科學版),2017,37(6):61-67. [11] 蔡曉晴,鄧堯,張亮,等. 區塊鏈原理及其核心技術[EB/OL].? http://kns.cnki.net/kcms/detail/11.1826.tp.20191118.1126.002.html. [12] CHRISTIDIS K .? Blockchains and smart contracts for the internet of things[J].? IEEE Access, 2016,15(4):2292-2303. [13] ZHI L,VATANKHAH B A,HUANG G Q. Toward a blockchain cloud manufacturing system as a peer to peer distributed network platform[J]. Robotics and Computer-Integrated Manufacturing, 2018,17(54):133-144. [14] ZYSKIND G,NATHAN O,ALEX. Decentralizing privacy: using blockchain to protect personal data[C]. 2015 IEEE Security and Privacy Workshops (SPW).? IEEE Computer Society, 2015:180-184. [15] KOSBA A,MILLER A,SHI E,et al. Hawk: the blockchain model of cryptography and privacy-preserving smart contracts[C]. San Jose:2016 IEEE Symposium on Security and Privacy,2016. [16] LUU L,CHU D H,OLICKEL H, et al. Making smart contracts smarter[C]. ACM SIGSAC Conference on Computer & Communications Security,2016:1305-1342. [17] WEBER I,XU X,R?GIS RIVERET,et al. Untrusted business process monitoring and execution using blockchain[M]. San Jose:Springer International Publishing,2016. [18] ZHANG F,CECCHETTI E,CROMAN K,et al. Town crier: an authenticated data feed for smart contracts[C]. ACM Conference on Computer & Communications Security,2016:270-282. [19] 武敏霞. 基于NASH談判模型的PPP項目收益分配研究[J]. 工程經濟,2016,26(8):78-80. [20] 沈昌祥,張煥國,王懷民,等. 可信計算的研究與發展[J]. 中國科學(信息科學),2010,40(2):139-166. (責任編輯:杜能鋼)