面向区块链溯源应用的可信数据采集机制
2020-09-26曹婷婷丁毅张经伦李洁王晨硕
曹婷婷 丁毅 张经伦 李洁 王晨硕
摘 要:提高物联网设备采集数据的安全性和真实性,是区块链溯源应用面临的重要问题。文章设计并实现了一种物联网终端数据安全可信的采集、记录方法。该方法设计多采集设备减少数据缺失风险,使用认证和加密方法来保障安全传输,利用采集设备和IOT网关完成数据的筛选,对异常设备统计并进行警告。同时,通过移动均值计算完成误差约减的功能,减少不稳定设備造成的数据偏差、数据错误、数据冗余等问题。另外,该机制还包含基于序号的同步策略,保证数据的正确传输顺序。最后系统通过实验,验证该机制的可行性。
关键词:物联网设备;数据采集;数据过滤;数据处理
中图分类号: TP391 文献标识码:A
Abstract: Improving the authenticity and security of data collected by Internet of Things devices is an important problem in the application of blockchain traceability. This paper designed and implemented a safe and reliable method to collect and record data from the Internet of Things terminals. This method utilizes multi-device collection to reduce the risk of data missing, employs certification and encryption technologies to ensure secure transmission, uses collected equipment and IOT gateway to select data, calculates and gives warnings for the abnormal equipment. Data deviation, data errors, data redundancy and other problems caused by unstable equipment are reduced through the moving average method at the same time. In addition, the mechanism also includes a synchronization policy based on sequence numbers to ensure the correct data transmission Finally, the feasibility of the mechanism was verified through experiments.
Key words: IOT device; data acquisition; data filtering; data processing
1 引言
近年来食品安全、假冒伪劣产品等事件频发,严重损害消费者的利益,得到了各利益群体与政府的高度关注,2015年《中华人民共和国食品安全法》的相关文件指出:将建立全程可追溯的食品安全体系写入法律[1],促进对溯源的需求,溯源可以实现产品从原料到成品、以及成品到原料的双向可追溯功能。目前,通过建立中心化的溯源系统来存储产品全过程的数据信息,来监督食品的安全,保证消费者权益。因此,涌现了大量食品安全溯源系统,如“国家食品安全追溯平台[2]”“药品溯源系统”(码上放心[3])等,可以满足用户充分了解产品信息动态的需求。但这些数据存储在中心化的机构,存在数据中心易被攻击、数据易篡改的问题。
一个新的发展趋势是溯源系统与区块链技术相结合,以保护数据不被篡改。但只能保证链上的数据不被篡改,数据可信,无法保证上传至区块链前的信息真实可信,而物联网与溯源系统的结合可以实现数据采集的自动化,以减少人工操作带来的误操作和人为篡改,从源头增加数据的可信度,但由于物联网设备具有可移动性、资源受限、受环境影响大、易受攻击等特性,因此,使用物联网设备自动采集只是减少溯源数据造假的概率,数据可信问题依然存在。如何提高物联网设备采集的数据可用性、物联网设备采集数据上传至区块链存储系统这一环节的操作真实性、安全性,是区块链与物联网结合的重要问题。
因此,本文提出一种面向溯源应用的可信数据采集机制,从而提高数据的可用性和可信度,加强溯源的实际效果和应用价值。
区块链数据库具备区块链典型特征,即由去中心化的多个分布式节点组成,所有节点共同来存储数据,对数据的操作需要通过共识机制得到确认后实现。同时,区块链数据库兼具传统数据库高吞吐量、低延迟的特点。BigchainDB[4]是一套典型的区块链数据库系统,本文以区块链数据库作为实验基础展开相关研究。
2 相关工作
2.1传统溯源应用
食品安全一直受到社会的广泛关注,为了提高对食品的监督,目前针对溯源系统的研究也较为丰富,邱荣洲等人[5]设计了一套基于溯源技术的蔬菜基地管理系统,实现了蔬菜基地企业内部的溯源,消费者通过该系统溯源蔬菜相关信息。姜爽等人[6]构建了一种第三方溯源平台,通过第三方平台对生产相关的数据进行监测,产品采用二维码技术来记录信息的流通过程,以此向用户提供溯源数据。王雅君等人[7]为实现对海产食品质量信息的全程追溯,建立了基于关键节点的过程跟踪与产品质量追溯模型,但多采用人工的方式录入以及将关键节点的数据整理后存储于集中式的数据库。由文献[5~7]得出,现有的溯源系统多采用集中式的数据库来存储溯源信息,存在中心机构易被攻击、信息泄露、数据易被篡改等问题,所以很难保证溯源信息的可信、可靠。
2.2 区块链溯源应用
区块链技术不可篡改、可追溯、去中心化的特性使其成为解决现有溯源系统的重要技术手段、应用场景以及研究热点。2018年,阿里巴巴和普华永道[8]将应用区块链等新技术共同打造透明、可追溯的跨境食品供应链,搭建更为安全的食品市场。零售巨头沃尔玛[9]利用IBM基于超级账本架构的区块链解决方案,成功地完成两个区块链试点,实现对中国猪肉和美洲芒果的安全溯源。另外,Badzar[10]旨在通过探索区块链技术在物流中的应用潜力,重点是提高供应商和消费者的信息透明度,实现对商品的可信溯源。Kumar[11]提出将区块链技术用于大米的农产品溯源中,来跟踪查询大米整个流程的所有状态,以此来验证大米的质量。可见区块链技术难篡改、可追溯、透明性的特点可提高商品的存储安全和可信溯源。
2.3 基于区块链及物联网溯源应用
随着物联网技术的发展,区块链与物联网技术结合的溯源方式应用广泛,文献[12~14]分别提出的Waltonchain[12]、溯源链[13]、优物链[14],都是基于区块链与物联网的项目,主要应用集中在对食品生鲜以及医疗药品领域,但物联网技术与区块链的结合仍面临一些挑战,文献[15~16]针对物联网技术与区块链展开分析,物联网设备的数量急剧增多,且设备终端越来越智能化,但同时也带来了数据可靠性的挑战。另外Makhdoom等人[17]实现了一个基于物联网供应链监测系统的测试案例,该场景下用户可自定义产品配送温度阈值,运输中超过阈值会产生报警信息。其中采集的温度数据会被上传至区块链存储,保证信息真实、可追溯,但该过程中存在由于物联网设备不稳定且易受攻击造成的数据丢失、异常而导致数据失真的问题。综上,如何提高物联网设备采集数据的真实性、安全性,是物联网溯源系统需要解决的重要问题。
3 可信溯源数据采集机制
3.1 系统架构
为了提高溯源信息的真实性、安全性,满足用户溯源的实际应用需求,减少物联网采集设备不稳定且易受攻击造成的影响,本文设计了一套面向溯源应用的可信数据采集机制。
系统架构如图1所示,分为物联网设备采集模块、通信模块、IOT(Internet of Things, 物联网)网关模块以及数据存储模块。
(1)物联网采集设备:主要功能是实现数据的定制采集,采集模块主要由传感器采集,并可进行一定处理,然后发送至网关模块。
(2)IOT网关:又分为通信模块和网关模块。通信模块主要负责实现采集模块与IOT网关的通信功能,可通过WiFi方式完成连接。网关模块主要作用:一是对数据进行处理,IOT网关作为边缘计算的重要形式,可以承担数据处理的功能;二是作为客户端,与区块链数据库节点连接,实现数据的上传。
(3)数据存储系统:主要负责数据的存储,其存储平台是区块链数据库。将IOT网关模块处理后的数据存储在区块链数据库中。前端主要完成数据的采集,中间为数据的处理与传输,底层是数据的存储,层级模块相互依赖,共同作用,完成溯源功能。
3.2 数据采集、处理、存储流程
本文提出的溯源可信数据采集机制主要包含数据采集、数据处理以及数据存储三部分操作。下面以肉猪溯源为例对该机制的运行流程进行描述(并未包括同步策略部分),如图2所示。
本文使用区块链数据库BigchainDB来存储数据。区块链数据库中包含资产数据和附加数据两部分。资产数据包括溯源对象的基本信息,比如将溯源对象肉猪的编号对应一个资产ID,该信息具有不可更改性和唯一性。
附加数据是资产数据的属性信息,可以通过资产的创建(Create)、转让(Transfer)方法,进行属性的增加和修改。另外,附加数据还包括采集的环境数据,比如肉猪所在环境的温度、湿度和CO2等。
本研究利用该机制对该溯源对象肉猪的附加信息进行采集、处理、存储,具体步骤为:
(1)数据采集
由于采集设备具有移动性,易受外界的攻击,为了保证采集数据的安全性,本文首先要对采集设备的身份进行认证。具体为:IOT网关生成一对公私钥,根据IP列表,将公钥发出,终端接收到公钥信息后,使用该公钥将其IP、标识信息以及对称加密密钥(安全数据传输,见下文)加密,再发送给IOT网关,IOT网关收到之后使用私钥解密,并将IP及标识信息与网关存有的认证信息核对,如果一致,则身份认证通过。IOT网关给终端发送认证成功信息,终端就可以继续后续采集传输工作了。如果终端未收到认证成功信息,则处于等待状态,间隔一定时间后继续给IOT网关发送认证信息。为了加强采集设备身份安全性,可定期验证采集设备身份。
另外,采集设备的不稳定性可能会造成数据缺失、数据异常,为了降低这种风险,这里使用多个设备同时采集养殖场肉猪所在环境的温度、湿度、CO2等信息,如图2中①所示。采集设备还可以对数据进行一定的处理,设置温度范围值。假定设置肉猪的运输环境温度值范围为15℃-45℃,进行数据分类发现异常数据。如图2中②所示,若采集肉猪的环境温度在该范围内,输出该温度值,如果不在该范围内,则输出Fail,采集设备将结果数据发送给IOT网关。
为了提高采集设备传输的安全性,本文采用加密方式进行传输,如图3所示,对称加密速度快,适用于对实时性要求高的场景,但其安全風险大。因此,本文采用对称与非对称加密相结合的方式,既保证采集数据的实时性,同时保证数据安全。首先采集设备利用对称加密算法(比如DES)对数据进行加密,然后将加密后的数据通过安全传输通道发送给IOT网关,同时采集设备利用非对称加密算法(比如RSA),使用IOT网关的公钥(伴随着成功认证信息获取)对采集设备的对称加密密钥进行非对称加密,并通过安全传输通道发送给IOT网关,IOT网关则利用对应的私钥进行解密获取密钥并保存,这样此密钥就可以对传输的采集数据进行解密,获取数据。
图5对比均值和移动均值两种减少数据误差方法,其中标识为Fail值的数据按照0处理。黑色圆点线代表了温度的平均值,随机波动性可能使结果产生偏差,如采集温度值的第41次、第82次、第369次、第443次等明显出现了较大的波动性,在第443次的温度值达到了24.6℃。而通过移动平均计算可平滑整个温度值的趋势,如图5中黑色线所示。
上述实验的分析结果表明,使用多个设备共同采集数据,减少了数据缺失风险,并使用树莓派网关进行数据处理,可以降低由于采集设备的不稳定造成数据偏差、数据错误、数据冗余等问题,有效提高上链数据的真实性和质量。
5 结束语
物联网设备数据采集与区块链存储相结合进行溯源应用是当前的重要发展方向。
本文针对物联网设备的不稳定特性,设计并实现了一种物联网终端数据安全可信采集、记录方法,以求减少数据缺失、数据误差、传输安全与次序等方面对采集数据质量的影响,为实现区块链产品溯源提供了一套可行的数据采集方案。
基金项目:
1.国家重点研发计划(项目编号:2018YFB1402703);
2.北京市教育委员会科技计划一般项目(项目编号:KM201910037003);
3.北京市社会科学基金研究基地项目(项目编号:18JDGLB026);
4.智能物流系统北京市重点实验室(项目编号:BZ0211);
5.北京物资学院2019年度“实培计划”项目资助。
参考文献
[1] 国务院.中华人民共和国食品安全法.[EB/OL].http://www.gov.cn/zhengce/2015-04/25/content_2853643.htm.2015-05-24/2020-02-15.
[2] 中國物品编码中心.国家食品安全追溯平台. [EB/OL].http://www.chinatrace.org/.2020-01-03/2020-05-22.
[3] 阿里健康.码上放心.[EB/OL].http://www.mashangfangxin.com/,2015-04-01/.2020-04-26.
[4] BigchainDB团队.BigchainDB WhitePaper.[EB/OL].https://www.bigchaindb.com/whitepaper,2018-05/2020-03-12.
[5] 邱荣洲, 池美香, 陈宏等. 基于溯源技术的蔬菜基地管理系统开发与应用[J]. 中国农业科技导报,2017,(04):57-64.
[6] 姜爽, 韩贵清, 司震宇等. 第三方稻米溯源平台设计与实现[J]. 农业工程学报,2017,327(24):223-229.
[7] 王雅君, 张浩, 时君丽等. 基于过程的海产食品质量信息可追溯系统[J]. 农业工程学报, 2015(14):272-279.
[8] 海外网.阿里巴巴与普华永道等战略合作推动跨境食品可溯源.[EB/OL].http://m.haiwainet.cn/middle/352345/2017/0324/content_30816830_1.html,2017-03-24/2020-05-12.
[9] Kamath R. Food traceability on blockchain: Walmarts pork and mango pilots with IBM[J]. The Journal of the British Blockchain Association,2018,1(1):3712.
[10] Badzar A. Blockchain for securing sustainable transport contracts and supply chain transparency-an explorative study of blockchain technology in logistics[D]. Lund: Lund University,2016.
[11] Kumar M V, Iyengar N C S. A framework for Blockchain technology in rice supply chain management[J]. Adv. Sci. Technol. Lett,2017,146:125-130.
[12] 沃尔顿基金会.Waltonchain白皮书.[V2.0].[EB/OL].https://www.waltonchain.org/templets/default/doc/Waltonchainwhitepaper_CN_20180525.pdf,2018-05-25/2020-04-26.
[13] Traceability Chain Foundation LTD.Traceability Chain 白皮书.[EB/OL].http://dl.tacblock.com/Traceability_Chain_Whitepaper.pdf,2018-09/2020-04-26.
[14] 优物链团队.UCOT优物链.[EB/OL].https://www.ucot.world/,2018-02-13/2020-05-22.
[15] Khan M A, Salah K. IoT security: Review, blockchain solutions, and open challenges[J]. Future Generation Computer Systems,2018,82:395-411.
[16] Reyna A, Martín C, Chen J, et al. On blockchain and its integration with IoT. Challenges and opportunities[J]. Future Generation Computer Systems,2018,88:173-190.
[17] Makhdoom I, Abolhasan M, Abbas H, et al. Blockchain's adoption in IoT: The challenges, and a way forward[J]. Journal of network and computer applications,2019,125(JAN.):251-279.