梁志勇,周显春
(1.三亚学院信息与智能工程学院,三亚 572022;2.三亚学院陈国良院士团队创新中心,三亚 572022;3.三亚学院容淳铭院士工作站,三亚 572022)
农产品冷链物流建设是我国农业产业化发展重要的组成部分,也是发展现代农业的有效途径。目前国内绝大多数农产品冷链数据存储方案依旧是传统的中心化管理模式,中心化数据库是企业私有的,核心关键数据存储于单一数据库节点中,对外公开程度有限,且容易出现差错或者有被篡改的风险。研究设计一种去中心化的农产品冷链数据存储方案,实现冷链数据安全有效存储,具有重要的意义。
本文针对现有农产品冷链数据在存储过程中的各种问题。①冷链数据难以被监管部门实时监管。②在新冠疫情背景下冷链环境中的中心化数据管理模式存在着认证难、维护成本高等信任危机问题,研究一种基于联盟链的可信计算技术,以此设计农产品冷链数据安全存储方案。该方案以区块链技术为底层,联盟链形式为技术选型,数据提供方作为可信节点,配合分布式身份标识技术进行货物主体识别,从而进行现有冷链数据接入,进行溯源信息上链,实现在不存在强信用主体或中间人的情况下的数据安全存储及管理。
联盟链是一种将区块链技术应用于企业的相对较新的方式。公有链向所有人都开放,而私有链通常只为一个企业提供服务,联盟链相对公有链来说有更多限制,通常为多个企业之间的共同协作提供服务。与公有链不同,联盟链是需要获得事先许可的,因此并不是所有拥有互联网连接的任何人都可以访问联盟区块链的。联盟链也可以描述为半去中心化的,对联盟链的控制权不授予单个实体,而是多个组织或个人,参加共识的节点是需要具有一定基础信任的。并且联盟链的共识算法比较灵活,可采用PBFT、Raft等算法来适应不同的商业特点。联盟链的共识参与者可能是网络上的一组预先批准的节点,而不是任何人都可以参与该过程。同时联盟链支持跨链技术,其上层应用具有极强的开放性及拓展性。
可信计算是一项由TCG(可信计算组)推动和开发的技术。可信的核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。可信和安全是相辅相成的,可信是安全的基础,了解可信才能更好地了解安全,才能为构建更稳固的安全体系固本强基。在可信计算中,通过信息加密等方式对存储的文件和数据进行管理,从而保证了信息存储的安全性。通过对系统组件进行可信度量是保障信息的基础,根据度量值对系统组件进行管理和检测,可有效管理信息运行的环境变化,从而保障运行环境的安全性;通过消息签名的方式对目的端进行验证,从而保障信息传输的安全性。
可信计算会在用户的软硬件上增加一个可信的模块,并在内部运行时进行检验,但是对于可信计算来说,其可以保证数据和代码是“可信”。但是依然建立在中心化的独立服务器中,只要权限够高,或者物理破坏,便会使得数据丢失或者被篡改。而联盟链具有的代码开源、智能合约、分布式清结算等功能特点,便可以进一步弥补这些不足,将可信网络的应用范围推上一个新高度。当可信计算运行在区块链上之后,将会带来新的特性。
1.3.1 分布式
在可信计算中建立的“容器”,①在权限层面对写入写出进行限制,简单来说,谁创建了服务器,那么创建者就拥有服务器的控制权。②在容器建立时便将其隔离,不再写入,但其也面临着被物理破坏丢失相关内容的可能性,比如实验室断电或者存储介质故障带来的不确定因素。而联盟链本身是区块链的一种,是去中心化运行的,没有人可以停止它、控制它,没人可以作弊,这就提供了非常好的中立环境。
1.3.2 交互留痕
当用户进行数据交互时,会将数据等相关信息上传至链上,完成数据确权。即使用户本身的通信或者交互是在双方的可信计算设备上点对点进行,但每一次的交互都会在区块链上留痕,做到数据透明可查询。
1.3.3 清结算透明
借助区块链,我们可以使得清结算的整个流程都变得透明,从而使得在可信算力或者数据交易中,原本依然需要在中心化服务器中进行的清结算服务,可以在链上进行,区块链将保证交易的安全,确保没有任何一方抵赖。
1.3.4 效率高
虽然可信计算能做到数据和协作方面的互信,但在实际应用中,商业合作和利益分配信任问题带来的效率下降非常明显,借助区块链技术,让支出、收益、分润透明结算,账本公开清晰可查,充分降本增效。
针对新冠疫情背景下农产品冷链数据所出现的信任危机,本文从如下4个方面研究并设计了一套在联盟链环境下利用可信计算技术在农产品冷链数据存储过程中的解决方案。
在农产品冷链物流数据存储过程中,冷链数据安全和可信上链存储是一切数据操作的基石。由于区块链是一个确定性的、封闭的系统环境,也是一个基于共识的网络,其共识机制及其确定性虚拟机的固有局限规定了智能合约只能被动接收链内的数据,既不能主动获取链外真实世界的数据,也不能自发调用外部网络API,但诸如农产品冷链、金融等大多数区块链场景都需要主动实时获取现实世界特别是互联网中的数据。同时智能合约的执行需要触发条件,当智能合约的触发条件是外部信息时(链外),就必须需要预言机来提供数据服务,通过预言机将现实世界的数据输入到区块链上,该过程称为可信数据上链,其工作流程图如图1所示。从图1中用户的智能合约向预言机智能合约发起数据请求,从而通过链下的API接口获得外部数据即农产品冷链数据,更确切的说是外部数据源将冷链数据发送给预言机智能合约,然后预言机智能合约将数据反馈给用户智能合约。
图1 基于预言机的可信数据上链工作流程
农产品冷链数据平台通过连接多方数据源,将多方数据的目录资源、权限规则和使用日志上链,实现跨主体的分布式数据安全共享与交换,并具备多方共识、安全可控、不可篡改、使用留痕等技术特性。利用严格的安全机制和权限控制机制,在基于预言机技术的可信数据上链的前提下,利用交换前置机技术实现数据安全交换,从而达到本项目中海南农产品冷链物流数据平台数据安全。交换前置机技术流程如图2所示。
图2 交换前置机技术流程
区块链可信多方安全计算是将可信执行环境和可信数据共享技术相结合,实现本项目中海南农产品冷链数据平台中各机构之间数据合作过程中的数据安全和隐私保护问题,针对一些特殊冷链物流信息实现数据可用不可见及阅后即焚的效果。
可信执行环境是硬件设备CPU上的一块区域。该区域的作用是给数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性。在农产品冷链数据管理平台中,该技术可与区块链技术相结合,实现基于区块链技术的可信多方安全计算,其流程如图3所示。
图3 可信多方安全计算流程
通过图3的流程图可以看到,存在数据需求方X,该需求方可为第三方数据监管方、商品终端客户或金融机构。该需求方提出请求,对农产品冷链数据进行验证或进行其他数据处理时,进行数据获取。由数据需求方X上传可信计算模型,该模型仅对单一需求生效。需求方X根据计算模型内容,向组织A、组织B、…、组织N请求数据A′、B′、…、N′。相关组织在验证该请求的真实性后同意该请求,并授权其计算模型访问相关数据接口,获取相应数据。此时冷链物流数据平台创建基于硬件的安全执行环境,加载可信计算模型,并通过授权接口调用相关数据,进行可信计算,最终向数据需求方X提供可信计算结果。
由于不同主体间对相同商品或货物在其系统内的检索标识是不同的,在多方数据上链、共享过程中对相关数据的关联会造成一定的困难。为了解决这一问题,引入分布式身份标识DID,可以通过对其DID的解析,解决相同商品或货物在不同主体间的识别问题,解决其在不同场景下的识别及使用问题。其信息保存于区块链网络中,可进行存储验证,确保其安全性。DID身份标识的流程如图4所示。
图4 DID身份标识的流程
本文在联盟链的基础上,充分利用了区块链去中心化、数据透明可追溯化、防篡改等优点,同时结合可信计算技术,研究并实现了农产品冷链数据安全有序存储的解决方案。该方案在去中心化的同时解决了新冠疫情背景下冷链物流中的信任危机,既可以有效保证冷链数据的隐私性,也能实现整个冷链数据存储的可追溯性,为农产品冷链数据存储过程中所存在的数据滥用、应用攻击、降低效能、删改数据等安全问题具有重要的理论和现实意义。