物联网感知层安全课前回顾物联网安全概述网络信息安全基础——密码技术基本原理后续三章内容,围绕物联网感知层、传输层、应用层的安全问题,讨论其安全解决方案。本次课内容3物联网感知层安全3.1物联网感知层安全概述3.2RFID安全3.3传感器网络安全物联网应该具备三个特征:1全面感知,及利用RFID、传感器、条形码(二维码)、GPS(北斗卫星导航)定位装置等随时随地获取物体的信息;2可靠传递,通过各种网络与互联网的融合,将物体的信息实时准确的传递出去;3智能处理,利用云计算等各种智能计算技术,对海量数据和信息进行分析和处理,对物体实施智能化控制。因此物联网的体系结构有三个层次:底层是用来感知(识别、定位)的感知层,中间是数据传输的网络层,上面是应用层。物联网基本特征3.1感知层安全概述13.2RFID安全2录目3.1感知层安全概述感知层作为物联网的信息来源,主要实现感知功能,包括识别物体和采集信息。具体功能是行为态势、环境状况和物质属性等动态/静态的信息进行大规模、分布式的获取及状况辨识。物联网感知层在整个物联网体系中处于最底层,是实现物与物相连的基础,犹如伸向外部世界的人类远程神经末梢。随着物联网的飞速发展,越来越多的感知层技术考试涌现,感知的广度和深度也在不断扩大和延伸。感知层的安全地位物联网是以感知为核心的物物互联的综合信息系统,感知层作为物联网的基础,负责感知、收集外部信息,是整个物联网的信息源。因此感知层数据信息的安全保障将是整个物联网信息安全的基础。感知层的任务是全面感知外界信息。与传统的无线网络相比,由于传感层具有资源受限、拓扑动态变化、网络环境复杂、以数据为中心以及与应用联系密切等特点,使其更容易受到威胁和攻击。因此物联网感知层遇到的安全为包括以下四个方面:感知层的安全威胁感知层的安全威胁①末端节点安全威胁。原因有如下几点:一是末端节点自身防护能力有限,容易遭受拒绝服务攻击;二是节点可能处于恶劣环境、无人值守的地方;三是节点随机动态布放,上层网络难以获得节点的位置信息和拓扑信息。②传输威胁物联网需要防止任何有机密信息交换的通信被窃听,储存在节点上的关键数据未经授权也应该禁止访问。传输信息主要面临的威胁有中断、拦截、篡改和伪造。感知层的安全威胁③拒绝服务。④路由攻击。路由攻击有两种攻击手段。其一是通过伪造合法的但具有错误路由信息的路由控制包,在合法节点上产生错误的路由表项,从而增大网络传输开销,破坏合法路由数据,或将大量的流量导向其他节点以快速消耗节点能量。还有一种攻击手段是伪造具有非法包头字段的包,这种攻击通常和其他攻击合并使用。4.2.1RFID安全威胁14.2.2RFID安全技术24.2.3RFID安全密码协议34.2.4轻量级密码算法4录目4.2RFID安全RFID安全威胁主动攻击包括:1获得的射频标签实体,通过物理手段在实验室环境中去除芯片封装,使用微探针获取敏感信号,从而进行射频标签重构的复杂攻击;2通过软件,利用微处理器的通用接口,通过扫描射频标签和响应读写器的探寻,寻求安全协议和加密算法存在的漏洞,进而删除射频标签内容或篡改可重写射频标签内容;3通过干扰广播、阻塞信道或其他手段,构建异常的应用环境,使合法处理器发生故障,进而拒绝服务攻击等。被动攻击主要包括:1通过采用窃听技术,分析微处理器正常工作过程中产生的各种电磁特征,来获得射频标签和读写器之间或其他RFID通信设备之间的通信数据;2通过读写器等窃听设备,跟踪商品流通动态RFID标签安全技术访问控制标签认证消息加密RFID安全技术RFID安全密码协议RFID系统中的电子标签内存储了两个标签ID,metaID与真实标签ID,metaID与真实ID一一对应,由hash函数计算标签的密钥key而来,即metaID=hash(key),后台应用系统中的数据库也对应存储了标签的(metaID、真实ID、key)。当阅读器向标签发送认证请求时,标签先用metaID代替真实ID发送给阅读器,然后标签进入锁定状态,当阅读器收到metaID后发送给后台应用系统,后台应用系统查找相应的key和真实ID最后返还给标签,标签将接收到key值进行hash函数取值,然后与自身存储的meta值是否一致。如果一致标签就将真实ID发送给阅读器开始认证,如果不一致认证失败。1)当电子标签进入阅读器的识别范围内阅读器向其发送query消息请求认证。2)电子标签接收到阅读器的请求命令后,将metaID代替真实的标签ID发送给阅读器,metaID是hash函数映射标签密钥key得来,metaID=hash(key),跟真实ID对应存储在标签中。3)当阅读器收到metaID后通过计算机网络传输给后台应用系统。4)因为后台应用系统的数据库存储了合法标签的ID、metaID、key,metaID也是由hash(key)得来。当后台应用系统收到阅读器传输过来的metaID,查询数据库有没有与之对应的标签ID和key,如果有就将对应的标签ID和key发给阅读器,如果没有就发送认证失败的消息给阅读器。1.Hash-Lock协议5)阅读器收到后台应用系统发送过来的标签ID与key后,自己保留标签ID然后将key发送给电子标签。6)电子标签收到阅读器发送过来的key后利用hash函数进行运算该值,hash(key),对比是否与自身存储的metaID值相同,如果相同就将标签ID发送给阅读器,如果不同就认证失败。7)阅读器收到标签发送过来的ID与后台应用系统传输过来的ID进行对比,相同则认证成功,否则认证失败。通过对Hash-Lock协议过程的分析,不难看出该协议没有实现对标签ID和metaID的动态刷新,并且标签ID是以明文的形式进行发送传输,还是不能防止假冒攻击和重放攻击以及跟踪攻击,以及此协议在数据库中搜索的复杂度是成O(n)线性增长的,还需要0(n)次的加密操作,在大规模RFID系统中应用不理想,所以Hash-Lock并没有达到预想的安全效果,但是提供了一种很好的安全思想。1.Hash-Lock协议由于Hash-Lock协议的缺陷导致其没有达到预想的安全目标,所以Weiss等人对Hash-Lock协议进行了改进,提出了基于随机数的询问-应答方式。电子标签内存储了标签ID与一个随机数产生程序,电子标签接到阅读器的认证请求后将(hash(IDi||R),R)一起发给阅读器,R由随机数程序生成。在收到电子标签发送过来的数据后阅读器请求获得数据库所有的标签IDj(1=j=n),阅读器计算是否有一个IDj满足hash(IDj||R)=hash(IDi||R),如果有将IDj发给电子标签,电子标签收到IDj与自身存储的IDi进行对比做出判断。1)当电子标签进入阅读器的识别范围内阅读器向其发送query消息请求认证。2)电子标签接收到阅读器的信息后将,利用随机数程序产生一个随机数R,然后利用hash函数对(R||IDi)进行映射求值,IDi是标签自身存储的标识,得到hash(R||IDi),然后标签将(R,hash(R||IDi))整体发送给阅读器。3)阅读器向后台应用系统数据库发送获得存储的所有标签IDj的请求。4)后台应用系统接收到阅读器的请求后将数据库中存储的所有标签ID(allIDj)都传输给阅读器。5)此时阅读器收到的数据有电子标签发送过来的(R,hash(R||IDi))与后台应用系统传输过来的(allIDj),阅读器进行运算求值是否能在((allIDj))中找到一个IDj满足hash(R||IDj)=hash(R||IDi),若有则将IDj发送给电子标签,没有则认证失败。6)电子标签收到阅读器发送过来的IDj是否满足与自身存储的IDi相等,若相等则认证成功,否则认证失败。2.随机化的Hash-Lock协议从上述认证过程中我们可以看到想比于Hash-Lock协议有所改进,但是标签IDi与IDj仍然是以明文的方式传输,依然不能预防重放攻击和记录跟踪,当攻击者获取标签的ID后还能进行假冒攻击,在数据库中搜索的复杂度是呈O(n)线性增长的,也需要0(n)次的加密操作,在大规模RFID系统中应用不理想,所以随机化的Hash-Lock协议也没有达到预想的安全效果,但是促使RFID的安全协议越来越趋于成熟。2.随机化的Hash-Lock协议由于以上两种协议的不安全性,okubo等人又提出了基于密钥共享的询问一应答安全协议-Hash链协议,该协议具有完美的前向安全性。与上两个协议不同的是该协议通过两个hash函数H与G来实现,H的作用是更新密钥和产生秘密值链,G用来产生响应。每次认证时,标签会自动更新密钥;并且电子标签和后台应用系统预想共享一个初始密钥kt,1。图第j次认证图以及详细的步骤:1)当电子标签进入阅读器的识别范围内阅读器向其发送query消息请求认证。2)电子标签利用H函数加密密钥kt,j(即H(kt,j))发送给阅读器,同时更新当前的密码值kt,j+1=H(kt,j)。3)阅读器收到电子标签发送来的H(kt,1)继而转发给后台应用系统。4)后台应用系统查找数据库搜存储的所有标签,计算是否有某个标签的IDt使得H(kt,1)=G(Hj-1(kt,1)),若有,认证通过,并把IDt发送给电子标签。否则认证失败。3.Hash链协议从上述分析可以看到每一次标签认证时,都要对标签的ID进行更新,增加了安全性,但是这样也增加了协议的计算量,成本也相应的增加。同时Hash链协议是一个单向认证协议,还是不能避免重放和假冒的攻击。例如攻击者截获H(kt,1)后就可以进行重放攻击。所以Hash链协议也不算一个完美的安全协议。3.Hash链协议4.基于Hash的ID变化协议Hash的ID变化协议的原理跟Hash链协议有相似的地方,每次认证时RFID系统利用随机数生成程序生成一个随机数R对电子标签ID进行动态的更新,并且对TID(最后一次回话号)和LST(最后一次成功的回话号)的信息进行更新,该协议可以抗重放攻击。1)当电子标签进入阅读器的识别范围内阅读器向其发送query消息请求认证。2)电子标签收到阅读器的请求后,将当前的回话号加1,并标签ID和TID*ID分别求hash值,得到H(ID),H(TID*ID),然后标签将H(ID),H(TID*ID)、△TID三者同时发送给阅读器;其中H(ID)作用是帮助后台应用系统还原出对应电子标签的ID,而△TID的作用是还原出TID,进而计算出H(TID*ID)。3)阅读器接到电子标签发送过来的H(ID),H(TID*ID)、△TID,继而发送给后台应用系统。4)后台应用系统接到阅读器发送来的H(ID),H(TID*ID)、△TID,还原出ID与TID*ID跟自己数据库存储的电子标签信息进行对比,如果有效,产生一个秘密的随机数R,然后将(R,H(R*TID*ID))发送给阅读器,并且后台应用系统将电子标签的ID更新为ID⊕R存储起来,并且对TID和LST也进行刷新。5)阅读器将收到的(R,H(R*TID*ID))发送给电子标签,电子标签收到后对数据进行验证,如果有效则认证成功,并对标签ID和LST进行刷新,否则失败。通过以上步骤的分析可以看的该协议有一个弊端就是后台应用系统更新标签ID、LST与标签更新的时间不同步,后台应用系统更新是在第4步,而标签的跟新是在第五步,而此刻后台应用系统已经更新完毕,此刻如果攻击者在第5部进行数据阻塞或者干扰,导致电子标签收不到(R,H(R*TID*ID)),就会造成后台存储标签数据与电子标签数据不同步,导致下次认证的失败,所以该协议不适用于分布式RFID系统环境。4.基于Hash的ID变化协议5.分布式RFID询问-应答认证协议该协议是Rhee等人基于分布式数据库环境提出的询问-应答的双向认证RFID系统协议。1)当电子标签进入阅读器的识别范围内阅读器向其发送query消息以及阅读器产生的秘密随机数RR,请求认证。2)电子标签接到阅读器发送过来的请求后,生成一个随机数RT,并且计算出H(ID||RR||R