APP下载

区块链存储与加密技术在农业生态及环境监测中的应用

2021-12-05李强李维刚周淼刘娜蒋艺

四川农业与农机 2021年5期
关键词:监测数据加密环境监测

李强李维刚周淼刘娜蒋艺

1.四川省生态环境监测总站,四川成都

2.四川省农业农村厅信息中心,四川成都

当前世界各国已经开始大范围鼓励和支持区块链技术的发展和应用落地。瑞典农业科学家提出基于区块链技术与云计算相结合的新生态环境监测服务EM Chain区块链平台,把区块链同生态环境相结合,面向所有环境监测接口开放,创造让用户与用户、用户与环境监测对象直接对接结算的生态圈[1]。Gaetani等人设计并实现了基于区块链的云计算环境监测数据库系统,通过结合区块链技术,保证了环境监测数据的完整性,并且提高了效率[2]。Lwis等人利用区块链具有的独有分权性质,针对环境监测云端系统架构进行改良设计,提出了环境监测区块链重命名存储系统。杰克逊等人提出基于区块链技术的环境监测数据分布式采集以及可跟踪的可信云并同步环境采集变量相关数据同时分布到云中[3]。中国的周平等人提出了一种结合环境监测数据云共享方案的区块链模式,发挥区块链框架自身内置自治属性,利用区块链的分布式技术收集和存储技术,收集物联网监测数据用以服务于许多不同类型的应用,例如智慧城市、智慧农业、绿色工业和制造业等[4]。

省级大数据监测中心(云平台)一直以来负责采集环境生态数据,对生态覆盖进行了深入研究并加以分析。为满足对大数据监测中心存储的高要求,一些部门已经采用云存储和计算解决紧迫的存储和处理需求[5]。

然而,对于数据所有者和监管者而言,云平台收集的数据容易受到攻击者攻击,以获取和修改数据并取得控制权限。如何保障环境监测质量的真实、准确、可靠,让监测数据不敢、不能、不愿造假,需要构建一个全省的云(大数据中心)和链(区块链)相结合的智慧环境系统[6]。特别是环境监测进行垂直管理制度改革后,各市监测站为派驻机构,以云+区块链的混合共享方式,通过横向数据共享模式把同环境相关的不同部门、不同行业的数据进行入链扩充节点;利用纵向数据共享方案把贯穿省(市、县)环境监测部门所有的监测数据进行梯度排序后插入区块节点,并可以实时登陆主链查询。

当前,在我国农业生态及环境数据并行处理非结构化的存储模式下,区块链存储与加密技术可以直接应用于环境监测云存储架构。农业生态及环境监测因子的数据量大,利用映射监测采集数据的关键元数据是加载到农业生态及环境监测区块链系统,而不是直接存储在各自系统之中。当云存储中节点请求存储监测数据时,用户通过访问农业生态及环境监测区块链系统可以查出可行的存储节点位置并标记加密尚未存储的环境监测因子数据,然后再把监测数据放置到前一位置。其它节点的关键信息也可以作为监测元数据并把相关环境监测因子记录到区块中。

1 基于区块链实现农业生态及环境监测数据存储和保护方案

由于不能单独通过云来获取监测传感器数据的明文相关信息,所以需要一种高效、重新加密方案作为代理来满足用户要求,该方案允许监测数据仅对监测设备所有者以及整合区块链的智能合约协议开发者可见,并且确保监测平台将监测获取的数据安全地传输给用户。时至今日,许多企业和政府职能部门广泛采用云计算来进行数据存储和高性能计算,但是,云服务不能提供强有力的安全防御措施。本文提出了一种基于区块链的农业生态及环境监测数据存储和保护方案。该系统在加密后将物联网监测数据加入区块链并存储分布在云中,为了便于收集环境监测设备采集的空气质量、水质和土壤墒情等数据,系统终端将加密数据保存在云中,当用户对监测数据进行访问时,数据所有者委托云平台重新加密监测数据,只有授权的访问者才能解密相关数据[7]。

1.1 数据监测系统模型

用户访问角色层:授权访问者具有相同的访问数据类型,他们通过实时数据共享来交换数据,或者通过并行计算获得理想的数据结果。

数据采集监测层:数据监测层的授权用户通过共享模式来维护从环境监测设备中采集的数据,并分发到区块链上。利用链上的共识算法对相关数据进行采样处理后,通过数据监测节点将采样结果加入到区块链中[8]。对不同监测设备所采集的不同环境中的样本参数进行分析,完成对大气、水、噪声等环境因子的数据加密。

云存储:利用共享云服务来存储用户角色层的访问数据,统计访问节点的上传和下载、重加密代理次数,以及与块链的读写交互。

1.2 农业生态及环境监测设备所有者对监测数据的保存和加密方案

1.2.1 环境监测数据采集和保存

环境监测设备进行监测主要通过空气监测子站、水质监测子站和农业生态环境监测子站等。农业生态及环境监测子站通过在线监测环境数据仪器连接到网络并捕获和传输来采集数据。其中,云存储用于保存和检索数据库中监测仪器采集的环境数据因子以及加密因子。区块链是通过智能合约功能将采集的监测因子节点注册到区块链上并支撑云服务读取区块上的信息。注册后的节点可以持续为监测设备提供所需的密钥资料,以便将监测的空气监测因子、水质监测因子和土壤墒情等农业生态环境监测因子数据加密发送到云存储服务器提供者——省级监测部门。

以空气中SO2监测为例进行相关应用研究。首先,空气质量监测子站可借助区块链平台,利用网络信息安全技术,只有规定授权的访问节点以及提供所需密钥材料的访问节点才能读取区块以及执行智能合约应用,并对新产生的区块进行验证,这些授权节点包括环境监测设备所有人、省级环境质量监测数据发布平台和省级监测部门预警平台。其次,对于新生成的区块链节点来说需要通过分组来获得加密密钥材料,并继续验证新块的产生。再次,在每个SO2监测仪器部署前,需由省级监测部门认证节点的身份以及授权方式。授权通过后,监测系统通过区块分发密钥到每个设备。最后,SO2监测设备才可以在环境监测区块链上完成注册登记。空气中SO2监测仪器运行的各个阶段,如开始运行、空气中监测数据因子上传、产生机械故障、维护时间以及重新测试需要的时间等,这些信息都可以记录到区块链上。SO2监测仪器完成数据监测后,将待上传的监测数据因子包含监测数据量、监测时间段,以及监测传感器类型、监测数据内容等进行聚类并封装,然后对监测采集后数据进行数字签名。

1.2.2 用户请求访问监测数据

省市环境监测部门以及企业运营商作为第三方数据代理者请求访问,通常被定义为用户行动的数据请求代理,除要咨询环境监测数据的要求和访问监测数据内容,还要与产生的区块进行交互,而且在区块链上共享加密密钥。

当用户请求访问省级监测部门的一组农业环境监测数据并且通过智能合约协议时,在监测系统区块链上生成一个节点用户,为此,节点分配一个新的区块,节点用户可以在任意时间查询监测数据、农业环境监测因子等参数指标。同时,还可以由监测设备所有者授权给其他用户共享数据。由于节点用户无法完全信任云服务平台,因此,监测数据的加密和存储非常重要。监测区块链系统在不需要第三方数据代理商的信任下,通过节点用户参与模式以及分布式记账的方式来有效整合和共享监测数据。因此,每个节点用户所拥有的密钥数据必须在上传到云之前进行加密[10]。首先,在区块链的未知节点中生成密文,并在其中随机分布。其次,为保证农业环境监测数据的安全性,须利用存储密文位置信息分布来确定区块链正在运行和维护的节点,节点的密文信息只能是保存了私钥的授权用户才能正常解密。

2 云平台加密技术与智能合约的相关应用

2.1 利用云服务器存储加密监测数据

云服务器提供者(省级监测部门)需要对监测设备接收的监测数据进行完整性检查及认证,确定检测是否完成。如果环境检测数据是正确的,那么监测数据将会存储在服务器上,并在区块节点上记录有效地址信息,确保信息的安全有效。将需要保护的农业生态及环境监测数据通过NTRU算法进行加密,把Hash值保存在区块链中,防止监测关联数据被篡改,只有拥有密钥才能通过数据访问接口进行用户数据访问,从而保护用户隐私。由于Hash值可以防止数据篡改,并可作用于整个区块链,当农业环境加密数据需要多个用户来共享密钥进行解密,将密钥进行分发,并满足最少用户才能解密得到密文[11]。相关案例采用F、B模式分布的NTRU密钥算法,先将私钥分成F份,密钥结构为(FFL1,PL2,PKS)如果有访问用户想要对数据进行解密,那么至少需要多个访问用户一起来解密才能获取到受保护数据。这样,监测数据不仅可以被用户查询,而且也可以由数据所有者授权给其他节点用户进行数据共享。

2.2 利用签密代理多重加密技术以及智能合约实现云平台加密

签密代理多重加密是运行在云服务器端的一种加密软件,它负责对采集农业环境监测数据的用户身份进行验证以及完整性约束,并结合智能合约将监测数据存储在云服务器上,然后在区块中进行部署。根据用户提供的请求,签密代理软件首先会过滤监测数据,然后对监测数据进行解密和重新加密,最后查找云服务器上的临时位置并把多重加密的监测结果存储在其中。签密代理与区块链交互并以此来共享和获取代理重新加密所需的相关信息[12],这不仅可以实现基于区块链代理重加密方案的关键细节,而且重新结合了智能合约相关协议并提出可应用协议框架。

2.2.1 智能合约

智能合约是数字化的合约条款,可以被看作是一个能够独立执行的程序或协议。智能合约是区块链技术以及云存储发展到一定程度的产物,同时,也成为访问节点去中心化应用的关键。

2.2.2 智能合约在农业生态及环境监控中的应用

1)本文应用了两个智能合约。第一个智能合约整合了农业环境监控采集数据、数据请求和数据获取安全性等功能。当用户请求数据时,触发监控传感器运行,并动态实时创建下一个智能合约,产生检测环境实体标的共享地址。为保证环境监测参数获取的安全性,系统会使用标准函数修饰符自动更新,检查调用第一个智能合约函数的相关人员身份信息,而且仅允许他们进行监测采集样本调用。

2)物联网端监测设备。农业环境监测仪器通过管理数据监测因子(气体因子、水环境因子和土壤墒情因子)和区块链账户角色,利用监测终端在区块链上执行信息上传和过滤[13]。应用程序连接到监测数据采集终端,通过采集数据样本参数执行加密功能,利用签密代理重加密方案实现数据上载到云服务器。

3)用户端应用。根据所请求数据的用户选择选项,在运行时通过区块部署新的智能合约。

3 结语

本文提出了一种结合农业生态及环境监测数据云共享方案的区块链模式,这种共享方案发挥出了区块链框架自身内置自治属性,而且充分利用了区块链的分布式技术和存储技术,针对农业生态及环境监测云端系统架构进行了重构设计,利用监测终端采集环境因子的特征值,通过智能合约平台进行过滤,并将过滤后的监测数据执行代理重加密导入区块链。基于区块链的农业生态及环境监测采用多重加密的云服务与区块链交互,以获取和共享代理重新加密所需的监测数据信息,将农业生态及环境监测与云平台监管相结合,通过智能合约来实现去中心化的环境监管与维护。

本文还设计了农业生态及环境监测区块链存储系统以及密钥管理并提出了区块链的农业生态及环境监测数据存储和保护方案。这种方式不仅非常适合当地气象部门、水利部门以及农业部门频繁的进行大量的管理操作和策略调整,而且还可以利用区块链技术把当前农业生态及环境监测技术应用在生态环境建设和发展工作中。

猜你喜欢

监测数据加密环境监测
关于物联网技术在环境监测中的应用分析
基于广义logistic混沌系统的快速图像加密方法
关于如何做好水质环境监测的质量保证研究
保护数据按需创建多种加密磁盘
基于6LoWPAN的智能家居环境监测系统设计
环境监测市场化后存在问题分析
加密与解密
浅谈环境监测垂直管理的优势
环保验收监测异常数据的分析与处理探讨
北京经济社会发展月度监测数据(2008年11月)