APP下载

基于区块链的水稻供应链溯源信息保护模型研究

2020-08-26于合龙陈邦越徐大明杨信廷孙传恒

农业机械学报 2020年8期
关键词:加密算法密文加密

于合龙 陈邦越 徐大明 杨信廷 孙传恒

(1.吉林农业大学信息技术学院, 长春 130118; 2.吉林省精准农业与大数据工程研究中心, 长春 130118;3.国家农业信息化工程技术研究中心, 北京 100097; 4.农产品质量安全追溯技术及应用国家工程实验室, 北京 100097)

0 引言

水稻是世界上最重要粮食作物之一,是全球农业经济的重要支柱[1]。近年来,食品安全问题频发,农药、化肥、生长调节剂、兽药等农用化学品滥用,工业废弃物排放增加,造成毒大米泛滥,严重危害了人民的身体健康[2]。构建水稻溯源系统可以追溯水稻来源,有效解决水稻质量安全问题[3]。目前,在对水稻供应链系统的研究上,大多通过射频识别[4]、二维码技术[5]、物联网[6]、无线传感网络[7]等建立溯源系统[8],对供应链上的信息进行追踪溯源。水稻全供应链具有生命周期长、环节复杂、信息多源异构等特点[9],而以上研究并不能完全解决供应链信息保护中存在的主要问题:供应链上下游主体处于一种复杂博弈关系中,各个节点间信息不对称,信任成本较高,影响整体效率;传统溯源体系应用中心化数据库,供应链各节点数据由企业自主管理,存在信息丢失和易被篡改的问题,产生纠纷时举证困难、责任难以明确[10]。

区块链技术具有不可篡改、分布式、去中心化、可追溯等特点[11],为解决传统农产品追溯体系存在的问题提供了可能[12]。近几年,国内外学者对区块链技术在供应链追溯领域的应用进行了探索研究[13-15],这些加快了区块链技术在农产品溯源领域的应用进展,解决了传统溯源数据保护过程中数据备份繁琐[16]、存储设备有安全风险和单节点易被黑客攻击[17]等问题。但是由于区块链的公开性,企业隐私数据容易暴露。在区块链网络中对溯源数据的隐私保护需要进行深入研究,目前的数据隐私保护方法往往是单节点数据保护,未能做到节点间共享数据。因此,研究全供应链多节点的供应链溯源信息保护意义重大。

本文通过对水稻全供应链流程进行分析,结合区块链技术构建水稻全供应链溯源信息保护模型,根据水稻供应链实际情况提出隐私数据保护设计方案,构建基于水稻全供应链的信息安全模型,设计水稻全供应链溯源信息保护原型系统,并结合实际案例对本方法的安全性能进行分析。

1 基于区块链的水稻全供应链信息保护模型

1.1 业务流程及关键信息分析

在整个水稻全供应链中,参与主体涉及到种植水稻农户、加工制造企业、分销商、销售商、消费者[18],因此水稻供应链信息多源异构,种类纷杂。但并非所有关键信息都与质量或安全有关,也不是所有数据都可以完全共享。在实际生产中,在进行逆向追溯的同时也要兼顾供应链上下游的两个主体间的协作、政府监管等问题,部分信息需要对其他环节共享,但又不希望被完全公开。为解决以上问题,保证供应链信息的隐私性,根据水稻全供应链实际情况和水稻生产过程中相关质量和安全标准,本研究把水稻供应链分成种植、仓储、加工、物流和销售等环节,并从以上环节中提取出关键信息并筛选分成完全共享公开数据和有限共享隐私数据,分类如表1所示。

表1 水稻全供应链关键信息分类Tab.1 Key information of rice whole supply chain

1.2 供应链追溯信息保护模型

传统溯源信息通常使用数据协同管理的方式实现追溯过程,各个企业数据独立在本地中心数据库中,所属企业一方面需要把供应链相邻企业之间的数据建立联系,另一方面负责数据管理。当生产流程进行到最后一个环节时对产品进行条形码或者二维码标识操作[19]。当扫描条形码或者二维码时,溯源信息通过各企业间数据的联系逆向追踪,由最后环节向前追溯,然后把溯源信息正向展示来实现产品溯源[20]。这种模式下主体之间存在信息壁垒,各个主体关注各自利益,存在因自身利益更改数据的情况[21]。

本研究针对水稻供应链特点,结合实际生产需求,以区块链技术和密码学原理为手段,建立水稻供应链信息保护模型,如图1所示。溯源数据由时间顺序从水稻的种植信息开始记录直到产品销售给消费者,使产品信息正向记录,逆向追溯,同时产品在流通的过程中一旦发现食品安全问题,可以通过溯源数据追踪流向、及时召回。信息保护模型整合供应链上企业所有数据,存储在区块链网络上,同时区块链网络会把当前数据的存储状态反馈到企业本地中心数据库。信息保护模型集成供应链各个企业生产运作的信息,一方面使得企业间数据无缝衔接,另一方面也保证了数据的可靠性、安全性和即时性。

图1 溯源系统数据保护模型Fig.1 Data security management model of tractability system

从数据流动的角度分为:数据采集、数据管理、数据存储和数据查询。数据采集部分由区块链网络中的企业节点负责,各个企业可以同时上传数据,共享同一账本,提高共享数据效率。数据管理部分是数据安全模型的核心,采集的数据上传后首先进行处理分类,由智能合约判定数据是完全共享公开数据还是有限共享隐私数据,随后两种数据分别进行不同的处理,最后上传至区块链网络中。数据存储分为本地数据库存储和区块链网络存储,在当前数据上传到区块链网络后,智能合约将返回当前数据存储的区块高度、交易哈希值等信息存储到当前节点本地数据库中形成映射关系,做到双重保障。数据查询主要服务于在供应链上的企业节点、监管平台和消费者,企业可以对区块链网络上的数据进行查询,同时也可以对本地数据库进行管理。

1.3 区块链追溯节点授权保护模型

在区块链网络中节点平等、数据公开,企业隐私数据无法得到保护。为保证数据不可篡改性,企业数据必须上传到区块链网络,而企业隐私数据需要进行加密后才能上链,对加密后数据进行分享授权则成为关键信息保护的重点。为解决上述加密数据部分节点可读的问题,本文提出一种基于节点授权的解决方法,把企业隐私数据进行加密处理,使经过授权的节点可以看到相关信息,未授权的节点不能读取其他节点数据,对企业隐私数据进行保护,如图2所示。

图2 区块链追溯节点授权保护模型Fig.2 Block chain node protection model

节点授权是通过编写智能合约实现对区块中的数据进行合理授权。当企业节点有隐私数据需要上传至区块链系统时,首先需要调用智能合约对隐私数据进行校验,通过校验后把隐私数据转换成固定的格式,利用AES加密算法中密码分组链接模式(CBC)对经过转换的隐私数据进行加密,所需密钥(Key)则由智能合约随机生成,加密后密文上传到区块链网络中,再广播到其他节点。由于对称加密算法的加密过程和解密过程使用的是同一个密钥,所以隐私数据的安全性就不仅取决于加密算法的本身强度,更取决于密钥(Key)是否被安全保管。

为了保证密钥(Key)的安全性,本研究采用椭圆曲线算法(ECC)对Key进行加密,加密的公钥(Public Key,Pb)就是授权查看节点的公钥,把授权查看节点的公钥和加密过后Key1组成键值对,存放在智能合约世界状态(World state)中并写入区块链。当授权节点需要查看区块链上的隐私数据时,使用当前节点私钥(Private Key,Pv)对区块链上Key1进行解密得到原始Key值,使用Key值对隐私数据解密并查看隐私数据。当部分隐私数据需要对多个节点进行查看授权,只需多次调用智能合约,并不会影响已授权的节点查看隐私数据。

2 水稻供应链信息保护算法与性能分析

2.1 区块链追溯信息保护算法

区块链节点授权加密算法首先生成随机密钥(Key)和初始化向量(Initialization vector,IV)作为CBC模式加密算法需要的参量,然后对明文块进行切分,把第一个明文块与初始化向量IV做异或操作,再用密钥加密,得到密文块,再把得到的密文块作为下一个明文块的加密向量[22]。依次类推,就可以得到很多段密文块,最后把密文块拼接起来就能得到最终的密文[23]。表2举例给出了追溯隐私数据加密详细信息,包括具体实现的追溯信息明文、随机密钥、追溯信息密文及区块高度等。

表2 追溯隐私数据加密详细信息Tab.2 Privacy traceability data encryption details

2.2 性能与安全性分析

本文将所提出的节点授权加密方法在4台阿里云服务器搭建的环境中进行测试,实验使用服务器的配置为16 GB运行内存、4核心处理器、1 Mb/s带宽。Hyperledger Fabric联盟网络包括8个节点,使用的数据库是支持富查询的CouchDB,在实验环境中测试系统最高达到了200 TPS。

2.2.1系统效率分析

为了对比加密数据和公开数据的上传与查询的效率,本文对两种方法进行了测试。在实验过程中,相同情况下执行相同操作,操作所需时间都会在一定区间上下浮动,为了保证数据的客观性,对每组数据各执行10次,计算出其平均值作为最终值。通过上述方法对实验进行测试,对实验结果进行相关性分析,图3a是加密数据和公开数据在相同时间内可以上传数据的数量。图3b是加密数据和公开数据的查询时间,由对比分析可以看出,相比原来未采用数据隐私保护的系统,交易性能并没有明显下降。

图3 两种数据上传查询对比Fig.3 Comparison of two types of data upload query

2.2.2安全性分析

溯源隐私加密数据存储在区块链网络上,加密数据被未授权的节点读取的方式有两种:直接暴力破解密文,由密文直接翻译成明文获取数据;或者破解Key1获取Key,由Key对加密数据解密获取明文数据。因此,本研究提出的节点授权加密方法安全性来源于AES加密算法的安全性和密钥的安全性。

对于AES加密算法的安全性来说,扩散性和相关性是两个重要标准,测试方法通过计算密文改变率P来衡量。其中P=M/N,M为密文改变位数,N为密文总数。对AES加密算法的扩散性进行测试,控制明文不变,当密钥改变一位时所引起密文的改变率如图4a所示;对AES加密算法的相关性进行测试,当密钥不变明文改变一个字符时所引起密文的改变率如图4b所示。经AES加密算法的扩散性测试密文改变率平均值为0.838,相关性测试密文改变率平均值为0.524,证明了算法的高混淆性[24]。

破解Key1需要破解ECC加密算法,ECC加密算法的原理是基于椭圆曲线上离散对数计算问题[25],即使用对于ECC算法最有效的攻击方法——Pollard Rho方法去破译和攻击,它的求解难度是指数级的[26]。因此理论上利用本文方法实现加密数据存储在区块链网络上是安全可靠的,未授权节点无法查看企业隐私数据。

图4 加密算法安全性测试结果Fig.4 Security test of encryption algorithm

3 水稻全供应链信息保护溯源系统应用

3.1 系统架构

基于区块链的水稻可追溯系统的目的是实时监测和追踪水稻生产到销售过程中各环节产生的数据,并且可以对大规模数据进行处理,为了实现数据信息的分布式储存,需要通过分化各部分功能实现对系统整体控制。如图5所示系统的总体框架构成分为 4 层:应用层、接口层、服务层、存储层。

应用层主要以Web浏览器的方式为用户提供数据管理窗口,并根据不同用户的职能分配权限,对数据库的操作权限按照层次严格划分,保证信息的独立性和安全性。

接口层保证供应链企业与区块链网络进行数据交互,可以为企业员工和系统提供接口进行数据库访问以及提交水稻溯源信息,同时为手机终端进行查询时提供数据。

服务层作用是对溯源系统中的数据进行分析聚合,包括各级用户登录信息的交互、系统数据的维护、数据分类等,之后调用接口把数据填入到后台数据库中,确保数据的高速处理。

存储层分为链上存储和链下存储,企业在链下由本地数据库保存当前企业的数据,同时企业也作为一个节点在链上存储信息。链上的数据保证了企业数据不会被恶意篡改,链下数据库对企业数据进行备份方便企业管理。

3.2 应用案例分析

为保证供应链流程完整,开发了由基地管理系统、种植系统、加工系统、监管系统等部分组成的水稻区块链溯源系统。系统在吉林省某水稻企业集团进行了应用,该企业主要从事水稻种植、生产和销售,拥有大米生产的完整供应链环节,企业在水稻的生产、收购、仓储、加工、运输、销售等流程信息记录相对完备,但是数据独立存储在当前环节,数据存储松散,企业各环节节点隐私数据存在信息壁垒,不能有效共享,并不能构成完整的溯源信息链,应用本研究开发的水稻全供应链信息保护系统对其进行了优化。该企业在生产时使用基于区块链溯源系统,所生产出的产品包装上拥有唯一的溯源二维码,如图6a 所示,使用手机扫描产品包装上的二维码,手机端会显示当前产品从种植到销售的全部流程,如图6b所示,同时也会展示当前追溯信息在区块链网络中的存储状态,如图6c所示。当消费者使用网页端输入区块高度或者交易哈希值可以快速查询到产品在区块链网络上存证的信息。利用区块链网络的不可篡改特性保证消费者查看到溯源数据的真实性。图6d为生产企业订单信息经过加密后,经授权的销售商查看加密订单信息数据,生产企业通过溯源系统把订单信息共享给供应链下游的销售商,使得两节点信息统一。加密后的密文如图6e所示,同时也是未经授权的种植节点查看隐私数据的状态。

4 结论

(1)应用密码学原理设计了节点授权加密法,并以此构建了基于区块链技术面向水稻全供应链的信息保护模型,区块链上存储的隐私数据是加密后的密文,从而达到保护企业隐私数据的目的。本方法从实际情况考虑,未改变区块链的特性,兼顾了企业隐私数据需要加密保护和供应链溯源数据需要公开监管两方面的问题。

(2)对本文提出的信息保护方法进行了效率分析和安全性测试分析,表明节点授权加密法是安全可靠的,系统交易性能并未明显下降。最后,结合具体的应用案例进行了验证,结果表明,基于区块链的溯源系统可以为数据共享提供不借助第三方平台即可保证隐私数据的安全性,解决了区块链系统中各节点企业独立、数据信息形成孤岛的问题,保障供应链上的数据能够快速交互,建立全新的供应链信息管理方式,提高水稻供应链上下游企业的协作效率,实现资源的有效整合和效益的最大化。

猜你喜欢

加密算法密文加密
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
支持多跳的多策略属性基全同态短密文加密方案
保护数据按需创建多种加密磁盘
电力安全防护加密装置
基于整数矩阵乘法的图像加密算法
加密与解密
教育云平台的敏感信息保护技术研究