2. 中国启源工程设计研究院有限公司, 西安 710018
2. China Qiyuan Engineering Corporation, Xi’an 710018, China
农业是我国的支柱产业, 农产品质量安全事关国运民生, 与人民日常健康、生活水平、经济发展以及社会稳定密切相关. 传统供应链存在中心化、造假风险、企业信息孤岛、核心企业信用不能跨级传递、违约风险高等诸多痛点, 构建安全、稳定、可信赖、可追溯、可共享的农产品供应链系统成为我国农业信息化历程中重点关注的问题[1].
果品作为市场上最常见的农产品, 以其良好的口感、丰富的营养获得了大众的喜爱, 成为人们日常必备的水果. 针对果品质量安全, 果品质量溯源可以很好地为消费者提供一种有效途径, 获知果品从种植、采摘、运输、存储到销售整个环节中的具体操作信息, 从而很好地解决了果品质量安全问题. 信息共享是果品供应链管理的一个重要基础和前提, 在供应链企业间合作越来越密切的情况下, 企业间相互信赖是信息共享的基础, 而合作关系的密切程度又决定了信息共享的程度, 两者相互影响. 当供应链企业成为战略合作伙伴关系, 核心信息才可能在组织间有保留的交互共享[2].
区块链具有分布式、交易透明、难以篡改等特点, 且无须第三方背书, 这与果品质量溯源系统需要解决的分布式部署、审计机制、信任机制的需求不谋而合, 区块链技术与访问控制技术相结合成为当下的研究热点[3]. 智能合约作为区块链的核心技术之一, 被广泛应用到各行各业中[4]. 社会信用体系是市场经济体制中的重要体系, 社会信用问题归根结底是企业信用问题, 通过区块链技术可以有效地实现企业信用的信息共享[5].
针对供应链企业信息孤岛以及非法用户未经授权访问数据资源的问题, 本文通过对传统访问控制模型分析, 针对溯源系统需求, 在Hyperledger Fabric框架的基础上设计了基于智能合约和企业信用的访问控制模型. 该模型将传统基于角色的访问控制(role-based access control, RBAC)和基于属性的访问控制(attribute-based access control, ABAC)相结合, 以智能合约作为底层技术引入信用值作为跨域访问的参考属性, 用来解决信息孤岛问题保护数据安全.
1 相关研究访问控制作为一种重要的信息安全技术, 主要用于控制访问主体和客体之间的数据安全交互, 确保用户在合法权限内访问数据, 并禁止非授权用户的违规与越界操作. 传统的访问控制模型主要包括: 自主访问控制[6], 强制访问控制[7], 基于角色的访问控制[8], 基于属性的访问控制[9]以及基于任务的访问控制[10]等.
近些年, 随着区块链技术的广泛运用, 基于区块链的访问控制技术成为众多学者的研究热点. 目前基于区块链的访问控制方法主要分为两种: 基于交易的访问控制和基于智能合约的访问控制[3]. 葛纪红等人[11]针对能源互联网跨企业、跨部门之间信息共享可能存在的数据篡改、泄密等问题, 提出了一种基于区块链的能源数据访问控制方法, 该方法可以在保护用户隐私的同时实现能源数据的细粒度访问控制. 汪金苗等人[12]提出了一种基于属性基加密的区块链隐私保护与访问控制方法, 该方法采用权威节点轮值的方式, 有效解决了单一授权中心权限过大的问题.
1994年Nick Szabo将智能合约定义为“一组以数字形式指定的承诺, 包括各方履行这些承诺的协议”[13]. 智能合约是规范两个或多个参与方之间权利和义务的计算机程序. 针对信任第三方交易问题, 本文通过使用智能合约可以消除第三方进行交易达到节约资源的目的.
企业之间的信任关系是根据企业间长久交易的评价和表现建立的, 信任会根据交易行为、交易时间动态变化. 王伟等人[14]用贝叶斯的方法来评估节点的信任度, 通过成功或失败两种事件来描述结果, 但贝叶斯概率模型仅仅只是计算了此节点成功或失败的影响, 并不能体现每次交互中的细节原因. 为了精准、客观的表现供应链企业间信任关系动态变化且逐渐累加的特点, 牛景春等人[15]提出采用交易评价值、奖惩因子、交易次数、交易时刻和交易金额5个评价指标作为企业间信任度计算依据, 但上述评价指标并未考虑随着交易金额增大企业承担的风险也会随之增大等因素.
2 基于智能合约和企业信用的访问控制模型本文设计的基于智能合约和企业信用的访问控制模型(smart contract and enterprise credit base access control, SCECAC), 主要为安全有效的实现域内、域间的访问控制. 模型是一种基于区块链和智能合约的访问认证机制, 分层结构如图1所示, 主要由数据层、核心层和应用层组成, 其中组织内的管理员负责本组织内的授权和合约制定.
![]() |
图 1 SCECAC分层结构 |
2.1 企业信用计算方法
本文在文献[15]基础上, 通过引入风险因素[16]来体现交易金额与风险之间的关系. 以果园基地与加工企业为例, 在当前时刻
企业间信任度的计算公式如下:
$ T(p, q, {t_k}) = \max \left\{ {\min \left\{ \begin{gathered} (C(p, q, {t_k}) + R(p, q, {t_k})), 1 \\ \end{gathered} \right\}, 0} \right\} $ | (1) |
基础信任度计算公式如下:
$ \begin{split} C(p, q, {t}_{k})=&{\text{e}}^{-\frac{1}{\beta F(k)}}\frac{{\displaystyle \sum _{k=1}^{F(k)}\phi ({t}_{k}){E}_{k}(p, q, {t}_{k})}{P}_{k}(p, q, {t}_{k})}{{\displaystyle \sum _{k=1}^{F(k)}\phi ({t}_{k})}{P}_{k}(p, q, {t}_{k})}\\ &+\left(1-{{\text{e}}}^{-\frac{1}{\beta F(k)}}\right)\dfrac{{\displaystyle \sum _{k=1}^{F(k)}(1-D(p, q, {t}_{k}))}}{F(k)}\end{split} $ | (2) |
其中,
$ D(p, q, {t_k}) = 1 - \frac{1}{{{{\text{e}}^{mP(p, q, {t_k})}}}} $ | (3) |
其中, m为交易风险系数
$ {P_{{k}}}(p, q, {t_k}) = \frac{{{M_k}(p, q, {t_k})}}{{\displaystyle\sum\limits_{k = 1}^{F(k)} {{M_k}(p, q, {t_k})} }} $ | (4) |
其中,
$ \varphi ({t_k}) = {{{t_i}} \mathord{\left/ {\vphantom {{{t_i}} {\sum\limits_{i = 1}^k {{t_i}} }}} \right. } {\sum\limits_{i = 1}^k {{t_i}} }} $ | (5) |
奖惩部分计算公式如下:
$ R(p, q, {t_k}) = \frac{{\left( {\displaystyle\sum\limits_{k = 1}^{F(k)} \begin{gathered} ({E_k}(p, q, {t_k}) - \alpha ) \hfill \\ \varphi ({t_k}){{\rm{e}}^{ - \frac{1}{{\eta {{\rm M}_k}(p, q, {t_k})}}}}f(n) \hfill \\ \end{gathered} } \right)}}{{\displaystyle\sum\limits_{k = 1}^{F(k)} {\varphi ({t_k})} }} $ | (6) |
其中,
$ f(n) = \left\{ {\begin{array}{*{20}{l}} {\begin{array}{*{20}{l}} {{{\text{e}}^{ - \frac{1}{{\sqrt n }}}}}, \;{{E_k}(p, q, {t_k}) \gt \alpha } \end{array}} \\ {\begin{array}{*{20}{l}} {{{\text{e}}^{ - \frac{1}{n}}}}, \;{{E_k}(p, q, {t_k}) \lt \alpha } \end{array}} \\ {\begin{array}{*{20}{l}} 1, \; {{E_k}(p, q, {t_k}){\text{ = }}\alpha } \end{array}} \end{array}} \right. $ | (7) |
当
引用
企业信任度计算模型通过企业交易过程中交易金额、次数等因素, 并使用奖惩机制来计算企业信任度, 可以准确有效地判断企业是否守信, 维护供应链稳定.
2.2 基于智能合约和企业信用的访问控制模型工作流程SCECAC模型基于传统ABAC模型和RBAC模型, 针对“区块链+供应链”的场景, 以智能合约作为底层技术, 引入信用值作为跨域访问的参考属性, 实现企业内部不同角色访问相应数据的域内访问以及信任企业间信息互通的跨域访问控制过程. SCECAC总体流程如图2所示.
在整个访问控制过程中, 主体通过向策略执行点合约发送请求事务, 通过合约之间相互调用, 完成合约制定的策略, 返回请求结果.
3 实验结果与分析为了验证企业信用计算的有效性, 本文对信任度模型和贝叶斯概率评估模型从不同方面进行仿真实验, 具体如下.
实验1. 交易评价值对企业信用计算的影响
针对交易评价值对企业信用计算的影响(式(1))进行实验, 其中
![]() |
图 2 SCECAC访问流程 |
![]() |
表 1 不同时刻交易评价值对企业信用计算的影响 |
实验结果如图3所示, 从中可以看出运用贝叶斯模型进行两次实验的结果是完全一致的, 而本模型的两条结果曲线则是根据不同的评价值呈现不同结果, 由此可以看出在评价值属于同一判定范围的贝叶斯模型并不能做出准确判断, 这说明信任值计算模型可以较准确地计算交易评价值对信任值的产生的影响.
实验2. 交易金额对企业信用计算的影响
针对交易金额对企业信用计算的影响(式(1))进行实验, 其中
实验结果如图4所示, 第3、8、12、18次交易分别为相同评价值不同交易金额且两次评价值小于阈值, 两次评价值大于阈值. 从图中可以看出, 信任度模型可以很好地反映出交易金额在诚信交易和欺骗交易中对信任值的影响, 交易金额越大信任值变化越大. 同时贝叶斯模型在相同的实验条件下实验曲线没有变化, 并不能反映交易金额对信任值的影响. 说明信任值计算模型可以较准确地计算交易金额对信任值的产生的影响.
实验3. 交易次数对企业信用计算的影响
![]() |
图 3 模型准确性对比 |
![]() |
表 2 不同时刻交易金额对企业信用计算的影响 |
针对交易次数对企业信用计算的影响(式(1))进行实验, 分别取
实验结果如图5所示, 可以看出第5、6、10、12次交易评价值都等于1, 随着交易次数的增加, 相同交易评价值对应的信用度不断增加, 权重系数
![]() |
图 4 不同交易金额的信任值 |
![]() |
表 3 实验3中设置的不同时刻的交易评价值 |
![]() |
图 5 不同β值的信任值对比 |
实验4. 奖惩机制对企业信用计算的影响
针对奖惩机制对企业信用计算的影响(式(7))进行实验,
实验结果如图6所示, 可以看出, 第2–5次实验以及第10–13次实验评价值连续相等, 奖惩情况则会不断变化, 目的是为了减弱持续评价值对总体的影响, 也可以发现当评价值高于阈值时修正的幅度小于评价值低于阈值, 说明惩罚的力度明显大于奖励的力度. 说明信任值计算模型可以较准确地计算奖惩机制对信任值的产生的影响.
![]() |
表 4 实验4中设置的不同时刻的交易评价值 |
![]() |
图 6 奖惩值变化趋势图 |
实验5. 风险因素对企业信用计算的影响
针对风险因素对企业信用计算的影响(式(3))进行实验, 分别取
实验结果如图7所示, 可以看出当交易金额增大的时候风险也会变大, 且当
为了验证域内及跨域访问控制的有效性, 通过主体对同域内的客体、域A中主体对域B中的客体发起资源请求两种实验方式, 通过系统响应结果反映系统可用性. 实验结果证明了模型可以满足域内及跨域访问需求.
![]() |
表 5 不同时刻的交易金额 (万元) |
![]() |
图 7 奖惩值变化趋势图 |
4 结论
针对果品质量溯源场景下企业间信息孤岛问题, 本文结合区块链技术, 提出了一种基于智能合约和企业信用的访问控制模型. 该模型将传统ABAC模型和RBAC模型结合, 以智能合约为底层技术, 引入企业信用值作为跨域访问的参考属性, 利用主体属性与信用值作为决策依据实现域内与域间的访问控制. 最后, 通过实验验证了本文提出的访问控制模型的有效性.
[1] |
杨晨雪, 孙志国. 基于区块链技术的农产品供应链数据管理系统设计. 农业大数据学报, 2020, 2(2): 74-83. |
[2] |
李菁苗. 大数据背景下供应链组织之间信息协同共享机制研究. 商业经济, 2019(5): 5-6. |
[3] |
高振升, 曹利峰, 杜学绘. 基于区块链的访问控制技术研究进展. 网络与信息安全学报: 1–20. http://kns.cnki.net/kcms/detail/10.1366.TP.20210324.1201.008.html. [2021-04-27].
|
[4] |
向杰, 杨哲慜, 周顺帆, 杨珉. 一种基于运行时信息的以太坊智能合约防御技术. 计算机研究与发展, 2021, 58(04): 834-848. |
[5] |
赵齐晴, 刘标胜. 区块链助推我国企业信用体系优化研究. 商场现代化, 2021(04): 95-97. |
[6] |
Solworth JA, Sloan RH. A layered design of discretionary access controls with decidable safety properties. IEEE Symposium on Security and Privacy, Oakland: IEEE, 2004. 56–67.
|
[7] |
Win TY, Tianfield H, Mair Q. Virtualization Security Combining Mandatory Access Control and Virtual Machine Introspection. 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing. 2014. 1004–1009.
|
[8] |
Cui B, Lan Z, Bai X. Research on Role-based Access Control in IPv6 Smart Home. 2019 IEEE 9th International Conference on Electronics Information and Emergency Communication (ICEIEC). Beijing: IEEE, 2019. 205–208.
|
[9] |
Ed-Daibouni M, Lebbat A, Tallal S, et al. A formal specification approach of privacy-aware attribute based access control (Pa-ABAC) model for cloud computing. 2016 3rd International Conference on Systems of Collaboration (SysCo). Casablanca: IEEE, 2016. 1–5.
|
[10] |
邓集波, 洪帆. 基于任务的访问控制模型. 软件学报, 2003, 14(1): 76-82. |
[11] |
葛纪红, 沈韬. 基于区块链的能源数据访问控制方法. 计算机应用, 2021, 41(09): 2615–2622.
|
[12] |
汪金苗, 谢永恒, 王国威, 李易庭. 基于属性基加密的区块链隐私保护与访问控制方法. 信息网络安全, 2020, 20(09): 47-51. DOI:10.3969/j.issn.1671-1122.2020.09.010 |
[13] |
Kosba A, Miller A, Shi E, et al. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. Proceedings of 2016 IEEE Symposium on Security and Privacy. San Jose: IEEE, 2016. 839–858.
|
[14] |
王伟, 曾国荪. 一种基于Bayes信任模型的可信动态级调度算法. 中国科学(E辑: 信息科学), 2016(02): 839-858. Kosba A, Miller A, Shi E, et al. Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts//2016 IEEE Symposium on Security and Privacy (SP). San Jose, CA: IEEE, 2016(02): 839-858. |
[15] |
牛景春. 供应链企业信任评估与可信服务组合方法研究. 秦皇岛: 燕山大学, 2016.
|
[16] |
李道全. 电子商务信任管理模型与方法研究. 青岛: 山东科技大学, 2011.
|