APP下载

农产品供应链的物联网安全

2017-07-21苗玉霞

江苏农业科学 2017年10期

苗玉霞

摘要:物联网的应用可以明显提高水果等农产品供应链的时间效率,但容易受到黑客的恶意攻击,导致供应链被破坏,所以农产品供应链的各个环节应当具有隐私保护与抵御攻击的能力。提出一种物联网中隐私保护的安全数据聚合协议。首先,将物联网中各成员节点的数据分为若干的属性,使用Paillier同态加密算法对各属性数据进行加密;然后,中心节点sink对成员节点的每个属性分别进行聚合与关联处理;此外,设计了异常聚合属性的检测算法以抵御恶意攻击行为。仿真试验与对比分析的结果表明,本协议在保证安全性与隐私性的前提下,具有较低的计算、通信成本。

关键词:农产品供应链;物联网安全;同态加密算法;数据聚合协议;隐私保护

中图分类号: S126文献标志码: A

文章编号:1002-1302(2017)10-0188-05

工业4.0中将物联网的应用场景进行了深入的扩展,而物联网在供应链管理中的应用是一个重要的场景。随着物联网技术的日益成熟,已有许多研究人员采用物联网技术解决供应链管理的问题,并获得了较好的效果。颜波等开发出基于射频识别和产品电子代码物联网的管理平台,对水产品流通过程进行全程追溯[1];肖亮实现了对物流资源的有效采集,进而增强了对社会物流资源的整合利用和优化配置[2]。此类研究并未合理地考虑物联网设备的处理能力限制以及物联网的可扩展性需求,而物联网中的节点难以对采集的高频大数据进行直接地路由与处理[3]。此外,供应链涉及企业与政府大量的隐私信息,所以供应链的安全性是另一个重要问题。

物联网中传感器或射频识别(简称RFID)采集了大量的细节数据,而用户一般仅查询一定条件的数据,如果将满足条件的所有细节数据发送至sink节点,再统一计算,则节点间会产生极大的流量[4]。为了降低通信带宽与普通节点的计算成本,学者提出了数据聚合与关联的概念,网内节点对不同数据源的数据进行提前综合处理,通过聚合、关联分析分别过滤冗余数据,关联相似数据,由此降低数据的规模。Ren等针对无线传感器网络(WSN)设计了一种数据聚合协议,假设传感器节点采集的数据满足属性-值的格式,通过对属性的聚合处理将冗余的信息过滤,该研究提出了较多的假设,且并未考虑协议的安全性[5]。Zhang等考虑WSN的安全性,对采集的数据作加密处理,传感器的计算与存储能力可负担这2个算法,但广义的物联网设备(例如RFID标签、阅读器等)难以負担传感器协议的计算与通信开销[6-7]。与WSN相比,物联网中的感知节点数量庞大且种类繁多,并且其计算与通信能力更为有限(如RFID系统),所以基于WSN的数据聚合协议无法直接应用于物联网[8]。

物联网隐私保护方法主要分为3类:(1)匿名化方法[9],主要通过模糊化敏感信息来保护隐私;(2)加密方法[10],主要保护数据隐私;(3)路由协议法[11],主要保护位置隐私。曾萍等提出一种基于同态加密与中国剩余定理(HECRT)的密钥管理方案[12];胡向东等提出基于SM4密码算法的智能家居物联网安全系统[13];Xin提出一种混合的加密算法[14]。

供应链应用场景对物联网的可扩展能力、隐私保护能力、对大数据的处理能力均具有极高的要求,因此本研究设计了物联网聚合协议PAP(paillier based aggregation protocol),并采用加密方法保护物联网的隐私性与安全性。Singh等详细地分析并证明了Paillier同态加密系统对小数据量的计算速度具有明显的优势,本研究受此启发,在聚合协议中采用Paillier加密方法对数据进行加密,以期实现物联网的隐私保护[15-16]。

1Paillier同态加密系统

1.1Paillier加解密程序

Paillier加密系统的主要步骤如下:

(1)秘钥生成:假设k为秘密参数。选择k比特的质数p与q,计算n=p×q,并决定Carmichael函数λ(n)=lcm(p-1,q-1),假设BαZ*n2表示nα阶的元素集合,BαZ*n2是集合Bα之间的并集,其中α=1,…,λ,g∈B。公钥(n,g)与私钥(p,q)检查是否满足等式gcd{L[gλ(modn2)],n}=1,其中函数L(.)定义为L(u)=[SX(]u-1u[SX)],如果满足,则为正确秘钥;否则为错误秘钥。

(2)加密[ε(m)]:假设加密消息m

(3)解密[D(c)]:首先验证c

1.2数字签名方案

Paillier系统的数字签名方案有2步:签名生成与签名验证。

(1)签名生成[S(m)]:假设h:N→{0,1}*Z*n2为1个hash函数,则消息m

(2)签名验证[V(m)]:为了验证签名,消息m的(s1,s2)需验证等式:h(m)=gs1sn2(modn2)。

2物联网聚合协议模型

2.1物联网模型

假设网络为2层网络(分簇),其中包含1个中心节点S(sink):负责聚集与分析聚合的数据。每个簇中包含2种节点(簇头与普通节点):将簇头表示为Mj,负责从普通节点 Gji∈Mj 聚集数据,j表示簇号。本协议中所有的实体及其功能如下描述:

sink节点(S):聚集所有的数据进行分析。S广播查询并接收Gji个节点的响应,然后获得聚合的Gji个属性数据,最后对聚合的结果作关联处理。

簇头(Mj):网络分为若干个簇(j为簇号)。簇头Mj接收查询Q并转发至簇Gji的其他节点,然后接收普通节点的响应,将响应聚合处理并将结果返回S。

普通节点Gji:普通节点接收簇头Mj的查询,生成响应并发送至簇头Mj,假设Gji预知S的公钥KS。

2.2信任模型

[JP3]考虑S是1个受信任方,Gji与Mj为部分受信任,Gji为诚实但好奇模型,即Gji可严格执行查询协议,但可能被攻击者攻破。

2.3攻击模型

主要考虑以下3种攻击:

窃听:节点拦截通信以获得其他节点的属性。

合谋攻击:Mj个节点可能合谋搜索Gji个节点的属性。

污染攻击:Mj合成1个响应欺骗S。Mj可能修改查询来请求Gji个属性,并对响应进行修改。

2.4应用场景的假设

对应用场景作以下假设:[HJ1.75mm]

弹性通信机制:参与节点均实现了传输控制机制,使信道具有弹性。

节点资源:假设S有足够的计算资源解密并处理接收的响应。Mj与Gji则为资源受限型,假设Gji个节点均具有1个伪随机数的产生器。

2层的网络:使用分簇算法将网络分为2层。

2.5协议的目标

PAP中大量的节点须要通过sink节点共享信息,并保证安全性。PAP协议的目标有如下4点:(1)隐私保护,Gji个节点将请求的数据传递至S,并保持匿名性,S是唯一可访问所有数据的节点;(2)抗合谋攻击,节点Mj与Gji可能为共谋关系,但其他节点的数据必须保持不可访问状态;(3)聚合的可验证性,每个Mj聚合数据,S验证聚合的数据,S的验证过程中检测是否存在恶意Mj污染了聚合的数据;(4)聚合的关联处理,S在获得聚合结果的同时,还须获得属性值之间的关联关系。

3协议描述

PAP为请求-响应的工作模型(图1)。PAP主要有5步:(1)如果sink节点S需要从节点Gji获得信息,则向簇内发[CM(25]送1个签名的请求SKS(Q),簇首Mj直接向簇内节点转发

请求;(2)各Gji生成响应Rji并采用Paillier加密系统加密响应εKS(Rji);(3)该响应经过Mj聚合处理后发送至S;(4)Mj收集其簇内成员的所有响应,然后利用Paillier的同態性质生成聚合的响应Rj[TX-];(5)最终将Rj[TX-]发送至S,S聚合所有簇头的响应,解密各响应并获得聚合所需数据。

在协议中,Mj可能进行假冒攻击,例如:注入1个合成的响应来欺骗S。为了解决该问题,各节点Gji为每个响应设置1个递增的随机数,S基于该随机数可判断是否有Mj污染了聚合的结果,具体的异常检测算法如“3.6”节所述。

考虑S是农产品工业园区的紧急管理系统,分为不同的仓库(图2)。为了简化分析,仅考虑2个仓库,S定义了2种水果(苹果、香蕉)与3个水果库存时间的区间([1,3]、[4,6]、[7,9]d),第1个查询(Q1)查询每箱水果的品种与存放时间,第2个查询(Q2)查询香蕉的采摘时间(d)。

3.2协议初始化阶段

协议开始阶段,各节点Gji从S收到公钥KS;然后,节点Gji生成唯一的随机数rji(为了最小化冲突,该数可能大于节点的数量),将该数加密并发送至S。

3.3查询广播

S向各簇头Mj广播查询Q,查询S感兴趣的节点Gji的属性集合。查询Q定义为Q=SkS({A,I,l}),集合A={a1,…,an}包含当前请求的所有属性ai,集合I={I1,…,In}包含每个属性值的区间,l表示属性所需的比特数量。

3.4建立响应

各节点Gji验证接收查询的签名Rji,然后生成响应。如果获得属性值,则设置该节点Gji的Pi=1;否则设Pi=0。

总属性的数量Np计算为属性ai所有间隔Ii的可行组合数量,即:Np=∏[DD(]i[DD)]|Ii|。

节点Gji将其随机数rji插入Rji,响应Rji的最终结构:Rji={P1‖…‖PNP‖rji},“‖”表示级联运算。

假设响应中属性的顺序为预设值,如果属性a1与a2分别有3、2个值,则属性P1为a1与a2的第1个值,P2则由a1的第1个值与a2的第2个值组成,P3由a1的第2个值与a2的第1个值组成。Gji使用Paillier加密系统将响应Rji加密εKS(Rji)=Rji[TX-],然后将Rji[TX-]发送至Mj。Rji的长度是1个关键因素,其长度IR依赖每个属性Pi的长度与rji的最大比特数量lr,该长度应当可防止冲突,所以每个属性必须足够长,因此每个属性必须是l比特长度。lR的计算方法如下所示:

3.4.1响应实例

考虑图2实例中的Q1,共包含6个属性分组(例如香蕉、苹果各有[1,3]、[4,6]、[7,9] d的库存时间),可得:{[1,3],苹果}→P1=1;{[4,6],苹果}→P2=1;{[7,9],苹果}→P3=1;{[1,3],香蕉}→P4=1;{[4,6],香蕉}→P5=1;{[7,9],香蕉}→P6=1。

假设节点G11为苹果,库存时间是5 d,则该节点属于P2,考虑lr=7,则生成的随机数表示为r11=2310=00101112,由此建立的响应为R11={000‖001‖000‖000‖000‖000‖0010111}。

3.4.2防止窃听

基于查询的值,1个给定的节点Gji可能并未产生响应,考虑图2实例,节点G22可能是香蕉,则须要强制发送1个响应。在该情况下剩余的簇节点会学习该水果种类,所以防止窃听十分关键。

如上文所述,本研究假设节点为诚实的,它们无法发送虚假的响应,然而,Gji节点可建立1个空响应来防止窃听。

3.5处理响应

Mj接收簇内成员的Rji[TX-],簇头将各加密响应相乘以聚合所有信息,响应Rj[TX-]则表示为Rj[TX-]∏[DD(]i[DD)]Rji[TX-]。根据Paillier加密系统的同态特点,Rji的乘法运算等价于Rji的加法。

Mj将Rj[TX-]与Nr值级联运算,Nr表示相乘的Rji[TX-]数量;然后将Rj[TX-]发送至S,S将所有Rj[TX-]相乘以获得聚合的数据;最终,使用kS解密。

3.6具有匿名性的异常检测算法

该算法检测恶意的Mj,主要流程如下:

步骤(1):每个Gji生成1个随机数rji,加密后发送至Mj,由此防止rji与Gji连接,该值应满足rji

[JZ(]lr=[log2(Lr+NQ)][log2(|G|)]。[JZ)][JY](3)

步骤(2):生成响应。

步骤(3):S解密相乘的响应后,验证最终的级联值Nr是否为所有响应的总和。该处理等价于计算Gji个节点组合的微积分|G|,然后选择其中的Nr个组合:

[JZ(][JB((]|G|[KG*2]Nr[JB))]=[SX(]|G|!Nr!(|G|-Nr)![SX)]。[JZ)][JY](4)

S计算rji+1个节点之和,并检查是否满足∑[DD(]i,j[DD)](rji+1),∑[DD(]i,j[DD)](rji+1) 等价于:

[JZ(]D(∏[DD(]j[DD)]Rj[TX-])=D(∏[DD(]j[DD)]ε(Rj))=∑[DD(]j[DD)]Rj。[JZ)][JY](5)

最终S更新所有的rji值,为后续查询作准备。

根据图3-a实例的Q1,S保存所有的rji值:18、6、3、22、16、7,S计算所有rji的和:

[JZ]∑[DD(]1≤i≤3,1≤j≤2[DD)](rji)=18+6+3+22+16+7=72。

最终S更新rji值,并将每个值加1。

[FK(W29][TPMYX3.tif]

[FL(2K2]步骤(4):假设S发送第2个查询,重复上述步骤,Gji将rji加1。

根据图3-b实例的Q2,假设G11、G21、G23为香蕉,G31与G22须保持匿名性,则S验证响应是否正确所需的操作次数:

[JZ][JB((]65[JB))]=[SX(]6!5!(6-5)![SX)]=6。

须计算以下所有的可能组合:r11+1+r13+1+r21+1+r22+1+r23+1=19+4+23+17+8=71,由此说明所有Mj的行为均为正常,最终S更新rji。

4试验结果与安全性分析

4.1本协议的安全性分析

图4是本研究加密算法的安全性示意,(1)可看出本算法可防止窃听;(2)因为仅S持有秘钥,所以可防止合谋攻击(本算法基于非对称加密);(3)因为在响应中引入了随机数,S可基于接收的随机数之和,识别出恶意攻击。

4.2计算时间试验

为了测试本算法的实际运行成本,基于智能设备与PC进行仿真试验。采用小米手机仿真Gji,手机的型号为小米4,3 GB RAM,MSM8974AC处理器,S则在Ubuntu10.04服务器上实现,4 GB RAM,Intel酷睿i3 4160处理器。

Paillier系统中参数k设为256(即|n|=512),请求的属性值设为定值,将网络大小设为|G|={28,216,232,264},|A|设为2~10, |Ii|设为定值3。测量并统计协议中每个阶段的

计算时间(图5)。可以看出不同网络规模下均在0.5 s时间内即可查询6个属性。将含有216个节点的网络视为大规模网络,请求7个属性的情况下,加密1个响应的计算时间低于1 s。对于请求9个属性的情况,|G|28、216、232、264的加密时间分别为1.6、2.6、5.2、10.3 s。综合所有结果可以看出,本协议对于大规模网络(216个节点)的计算时间为可接受范围,在农产品供应链的应用场景中,一般查询的属性数量较小(3~4个),所以本协议可在1 s之内完成属性的聚合,并保持安全性。

4.3与其他协议的计算、通信成本比較

HAD[17]是近期安全性、隐私性较为全面的一种协议,将本协议与HAD比较,HAD中各Gji、Mj共享1个秘钥,Mj、S共享另1个秘钥,而在本算法中加密与聚合处理仅使用1个秘钥对(公钥/秘钥)。

独立分析2种协议不同阶段的隐私性:(1)协议初始化阶段,本协议与HAD相似,HAD中节点保护Mj、S的隐私,在椭圆曲线的上下文中进行加密;本协议中通过sink节点将公钥KS发送至各Gji。该阶段2种协议的计算成本接近。(2)聚合阶段:HAD须计算Hilbert曲线点与求和,然后将结果发送到Mj,而本协议中S发送1个查询,每个Gji根据Mj产生响应,并将结果发送给S。此外,本协议在聚合验证中仅须要维护1个秘钥对,无须传递消息,而HAD须要传递消息与 Hilbert 曲线点的计算,所以本算法的计算成本高于HAD协议。表2所示是本协议与HAD的计算成本与通信成本比较,可直观地看出本算法具有明显的成本优势。

4.4与其他协议的安全性比较

将本协议与Kim等进行安全性与隐私性比较(表3),可看出本协议同时具有匿名性、隐私性、抗合谋攻击、聚合过程可验证、关联型聚合,而其他算法均无法全部满足,其中HAD仅不满足关联聚合的特征,可满足所有的安全性,但由前文论述可知,HAD算法的计算、通信成本高于本算法[17-20]。

5结论

供应链对安全性、通信成本、计算成本的要求均极高,已有的物联网协议仅能满足其中部分性质。本协议设计了轻量级数据聚合协议算法,降低了数据的通信成本与普通节点的计算成本,通过同态加密与异常聚合检测算法实现了协议的匿名性与安全性。详细的分析结果显示,本协议在保证高度安全性与隐私性的前提下,具有较低的计算与通信成本,可满足供应链的实时性、安全性需求。

参考文献:

[1]颜波,石平,黄广文. 基于RFID和EPC物联网的水产品供应链可追溯平台开发[J]. 农业工程学报,2013,29(15):172-183.

[2]肖亮. 基于物联网技术的物流园区供应链集成管理平台构建[J]. 电信科学,2011,27(4):54-60.

[3]錢志鸿,王义君. 面向物联网的无线传感器网络综述[J]. 电子与信息学报,2013,35(1):215-227.

[4]李睿,林亚平,李晋国. 两层传感器网络中一种高效的加密数据条件聚合协议研究[J]. 通信学报,2012,33(12):58-68.

[5]Ren F Y,Zhang J,Wu Y W,et al.Attribute-aware data aggregation using potential-based dynamic routing in wireless sensor networks[J]. IEEE Transactions on Parallel and Distributed Systems,2013,24(5):881-892.

[6]Zhang X Y,Dong L,Peng H,et al. Achieving efficient and secure range query in two-tiered wireless sensor networks[C]//Quality of Service. New York:IEEE,2014:380-388.

[7]Kumar M,Verma S,Lata K. Secure data aggregation in wireless sensor networks using homomorphic encryption[J]. International Journal of Electronics,2014,102(4):690-702.

[8]钱萍,吴蒙. 物联网隐私保护研究与方法综述[J]. 计算机应用研究,2013,30(1):13-20.

[9]周彦伟,杨波. 物联网移动节点直接匿名漫游认证协议[J]. 软件学报,2015,26(9):2436-2450.

[10]董晓蕾. 物联网隐私保护研究进展[J]. 计算机研究与发展,2015,52(10):2341-2352.

[11]沙乐天,何利文,傅建明,等. 物联网环境下的敏感信息保护方法[J]. 四川大学学报(工程科学版),2016,48(1):132-138.

[12]曾萍,张历,杨亚涛,等. 一种基于HECRT的物联网密钥管理方案[J]. 计算机工程,2014,40(8):27-32.

[13]胡向东,韩恺敏,许宏如. 智能家居物联网的安全性设计与验证[J]. 重庆邮电大学学报(自然科学版),2014,26(2):171-176.

[14]Xin M. A mixed encryption algorithm used in internet of things security transmission system[C]. International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery. New York:IEEE,2015:62-65.

[15]Singh V K, Dutta M. Analyzing cryptographic algorithms for secure cloud network[J]. International Journal of Advanced Studies in Computers,Science and Engineering,2014,3(6):1.

[16]刘培鹤,孟一诺,涂津尘,等. 应用于物联网的Paillier同态信息检索方案设计[J]. 北京电子科技学院学报,2012,20(4):98-103.

[17]Kim Y K,Lee H,Yoon M,et al. Hilbert-curve based data aggregation scheme to enforce data privacy and data integrity for wireless sensor networks[J]. International Journal of Distributed Sensor Networks,2013(4):131.

[18]Li H G,Li K Q,Qu W Y,et al. Secure and energy-efficient data aggregation with malicious aggregator identification in wireless sensor networks[J]. Future Generation Computer Systems,2014,37(37):108-116.

[19]Ren F Y,Zhang J,Wu Y,et al. Attribute-aware data aggregation using potential-based dynamic routing in wireless sensor networks[J]. IEEE Transactions on Parallel and Distributed Systems,2013,24(5):881-892.

[20]He D,Kumar N,Lee J H. Privacy-preserving data aggregation scheme against internal attackers in smart grids[J]. Wireless Networks,2015,22(2):1-12.

[FQ)]