面向安全策略协同制定的区块链激励机制
2020-12-01梁佳兴胡俊
梁佳兴 胡俊
摘 要:根据安全策略的组成结构和性质,可采用多参与者协同制定策略的方式以降低工作成本,区块链可为协同制定提供支持。设计一种区块链方案,通过制定适用于安全策略协同制定的收益评估智能合约合理化分配策略方收益,以达到激励安全策略的协同制定目的。该方案有效保证了协同制定生态的可靠性与可信性,推动安全策略制定与共享。
关键词:安全策略;协同制定;收益评估;区块链
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. (责任编辑:杜能钢)