物联网安全技术物联网安全技术普通高等教育物联网工程类规划教材第六章第六章 物联网安全时间同步物联网安全时间同步6.1 物联网安全时间同步机制概述6.2 典型的物联网时间同步算法6.3 物联网时间同步面临的攻击6.4 时间同步安全服务方案6.1 物联网安全时间同步机制概述物联网安全时间同步机制概述时间同步物联网系统大多为一种分布式的网络,时间同步作为其中一个非常关键的组成部分,网络内部各节点只有保持时间上的同步,才能互相协作,完成相应的任务依赖时间同步协议的技术存在于物联网的各个应用中,例如:节点数据融合节点的定位时分多路复用节点状态切换6.1 物联网安全时间同步机制概述物联网安全时间同步机制概述节点数据融合数据融合算法需要融合节点利用数据采集的时间来处理采集到的信息节点的定位大多数节点定位算法需要测量节点定位消息收发的时间差,这通常对时间同步的要求比较高6.1 物联网安全时间同步机制概述物联网安全时间同步机制概述时分多路复用物联网系统中的时分多路复用技术,是通过为网内的每个节点分配时隙来使节点能够进行通信,这需要网络中所有节点保持一个较高的时间同步精度节点状态切换为了降低网络能耗开销,网络中节点的状态需要在空闲、活动和休眠之间相互切换,为了使网内节点不会因为休眠时间过长而丢包或因空闲时间太长而造成过多的能量消耗,网内节点需要保持一个统一的时间,来使得各节点的状态相对应。
第六章第六章 物联网安全时间同步物联网安全时间同步6.1 物联网安全时间同步机制概述6.1 典型的物联网时间同步算法6.3 物联网时间同步面临的攻击6.4 时间同步安全服务方案6.2.1 基于基于Receiver-Receiver同步算法同步算法参考广播同步协议(Reference Broadcast Synchronization, RBS) RBS是基于Receiver-Receiver同步算法的典型代表RBS时间同步机制采用第三方广播同步消息,使得两个接收节点能够抵消信道接入时间和发送时间 RBS机制通过消除发送时间和信道接入时间这两个主要误差源来提高时间同步的精度,该算法仍然无法消除接收时间所带来的不确定因素6.2.1 基于基于Receiver-Receiver同步算法同步算法RBS运行机制 第三方发送节点广播一个信标帧(beacon),通信范围中两个节点都能够接收到这个信标帧接收节点记录各自接收到信标帧的本地时间,然后交换它们各自记录的信标帧接收时间两个信标帧接收时间的差值为两个接收节点间的时间偏移,其中一个接收节点可根据该时间差值更改它的本地时间,从而使两个接收节点间达到时间同步。
6.2.2 基于基于Pair-Wise的双向同步算法的双向同步算法TPSN算法(Timing-Sync Protocol for Sensor Network) 双向时间同步算法中最典型和实用的代表是TPSN算法TPSN算法采用发送者与接收者之间双向发送同步消息的工作方式,并将该同步方式扩展至全网域 TPSN算法的实现分为2个阶段:层次发现阶段与同步阶段在层次发现阶段,网络将产生一个分层次的拓扑结构,并为每个节点赋予一个层次号在同步阶段,节点进行成对的报文交换6.2.2 基于基于Pair-Wise的双向同步算法的双向同步算法TPSN报文交互 发送方首先发送同步请求消息,接收方在接收到请求消息后记录接收时间戳,并给发送节点回复响应消息,发送方能够得到整个消息交互过程中的时间戳T1、T2、T3和T4,由此可以计算出节点间的传输延迟d和偏移量 ,然后节点调整自身的本地时钟到同步源时钟6.2.2 基于基于Pair-Wise的双向同步算法的双向同步算法 为了提高节点间时间同步的精度,采用TPSN协议的节点在MAC层消息发送到无线信道时,才给同步消息加上时间戳,消除了信道接入时间带来的时间同步误差。
相比RBS机制,TPSN机制考虑了传播时间和接收时间带来的不确定因素,利用双向同步消息交互计算平均延迟,提高了节点间时间同步的精度6.2.3基于基于Sender-Receiver 的单向的单向同步算法同步算法DMTS时间同步算法基于Sender-Receiver 的单向同步算法为单向的时间同步算法,典型代表主要有DMTS和FTSP协议在DMTS机制中,以其中的一个节点作为主(leader)同步节点广播同步消息,其它所有接收节点计算这个时间广播报文的时延,设置它的时间为接收到同步消息所携带的时间加上这个广播报文的传输时延,这样所有接收到广播报文的节点都与主同步节点进行时间同步6.2.3基于基于Sender-Receiver 的单向的单向同步算法同步算法DMTS同步过程 发送方在检测到信道空闲时,给同步报文加上时间戳t0,这样就消除了发送时间与访问时间造成的影响,在发送数据前,发送一小段前导码始字符,它的数据长度为n比特,发送单个比特所需的时间为t,则发送前导码起始字符的总时间为nt接收节点在接收完前导码起始字符之后,记录自己的时间 t1,在接受完数据之后,且在处理数据数据之前记录时间为 t2。
接收节点调整自己的时钟为t0 +nt+(t2-t1) :6.2.3基于基于Sender-Receiver 的单向的单向同步算法同步算法FTSP时间同步算法 FTSP算法使用分级单向广播方式实现同步,采用MAC层打时间戳和线性回归补偿时间漂移和偏移的方式提高同步精度,同步开销小、精度高、算法更简单 FTSP提供了多跳的时间同步算法,通过动态选举根节点,根节点作为全局时钟的基准,设它的级别为0然后根节点广播消息给它的邻居节点,并设它们的级别为1,依次类推,直至全网同步级别(i+1)的节点与级别为i的节点保持同步根节点通过周期性的广播同步消息来维持全网时间同步6.2.3基于基于Sender-Receiver 的单向的单向同步算法同步算法FTSP具体的同步过程如下: (1)在发送完SYNC字节后(SYNC字节类似于DMTS的起始字符),在时间同步消息上标记时间戳后发送出去通过数据长度和消息的发送速率可以获得消息的发送时间 (2)接收节点在接受完SYNC字节后记录时间,然后计算位偏移当接收完数据之后,通过位偏移和接收速率,得到接收数据的时间延迟。
(3)接收节点通过计算与发送节点的时间偏移量,来对接收节点进行时钟补偿接收节点并非通过直接的方式进行时间校正,而是通过收集多个接收节点与发送节点的时间对第六章第六章 物联网安全时间同步物联网安全时间同步6.1 物联网安全时间同步机制概述6.2 典型的物联网时间同步算法6.3 物联网时间同步面临的攻击6.4 时间同步安全服务方案6.3.1 外部攻击外部攻击外部攻击 外部攻击是指网络节点并没有被俘获,恶意攻击者通过无线信道开放的环境破坏时间同步过程中同步信息的交换,主要有以下几种形式:修改同步报文伪造同步报文重放报文攻击Pulse-Delay攻击6.3.1 外部攻击外部攻击修改同步报文 攻击者通过拦截同步报文并修改其值,破坏节点间时间同步伪造同步报文 在不对同步节点进行认证的网络中,攻击者直接伪造各种同步报文,以此干扰正常的时间同步6.3.1 外部攻击外部攻击重放报文攻击 攻击者重放保存的之前的同步报文,以此破坏时间同步Pulse-Delay攻击 主要针对Sender-Receiver类型的同步协议这种攻击方式并不修改同步报文,而是通过手段干扰节点对于相关数值的测量,Pulse-Delay攻击更加隐秘且难于被发现,目前时间同步受到的攻击多为延迟攻击。
6.3.2 内部攻击内部攻击内部攻击 内部攻击是指网络中节点被俘获,并用来对网络发起攻击 节点一旦被俘获,其密钥信息、加密算法均被恶意节点所破获,恶意节点可伪造自己为合法时钟源的身份,向依赖其同步的网络中的节点进行虚假信息的传递,从而导致后面的节点脱离网络第六章第六章 物联网安全时间同步物联网安全时间同步6.1 物联网安全时间同步机制概述6.2 典型的物联网时间同步算法6.3 物联网时间同步面临的攻击6.4 时间同步安全服务方案6.4 时间同步安全服务方案时间同步安全服务方案 下面介绍一种新的低功耗、适用于簇状网络结构的安全时间同步服务方案,其采用单向哈希函数认证的方法来阻止外部攻击,同时节点采用时间序列分析的方法拟合预测模型,生成检测模型来排除延迟攻击以较小的安全开销代价,达到保障网络完全、延长网络寿命的目的6.4.1 方案设计方案设计网络模型基站是可信的,提供唯一的时钟源,计算能力不受限,每个节点有自己的本地时钟,在网络初始化阶段,不存在恶意攻击节点网络节点的同步方法是逐级同步方法,节点采用周期性同步方法网络簇头周期性选举,在每一轮簇头选举后,网络节点均重新进行初始化,拓扑结构在下一轮簇头选举前,不再改变,可以接受新的节点加入网络,可以隔离被怀疑为受威胁的节点。
6.4.1 方案设计方案设计基站存有每个节点的单向密钥链,基站和节点、节点与邻居节点之间可以安全建立对密钥,建立方法不再讨论网络为分簇网络,方案采用经典分簇方法(如leach协议) 方案采用层簇式网络,中小型网络簇头与基站一跳可达,网络不需要分层;大规模网络簇头与基站一跳不可达,此时网络簇头需进行分层,每个节点资源、计算能力相同6.4.1 方案设计方案设计本地广播认证 安全时间同步方案使用轻量级的基于单向链的广播认证机制,散列函数算法一般计算量小,效率高 该机制有两个比较突出的优点:一是网络不需要紧耦合的时间同步,二是密钥的有效性与时隙无关节点密钥链用尽后,重新生成链表 单向散列链是由随机数Kn 和单向函数 f生成的散列值序列{K1,K2……Kn },序列中元素满足单向函数:6.4.1 方案设计方案设计数据过滤算法 通过节点计算的偏差的长期趋势作为近似值来得到敌方可能导致的误差上界,排除攻击者 节点利用线性预测技术(自回归滑动平均模型ARMA)对每轮时间偏差进行分析和预测,节点在完成本轮时间同步的同时,通过本轮与上轮的时间偏差估计出下轮可能的时间偏差,当接收到下轮同步信息时,首先进行数据过滤,再完成时间同步。
运用线性预测模型,如果选取参数得当,会起到计算量小、节省能耗的作用6.4.2 实施流程实施流程实施流程 本方案分成两个阶段: 网络初始化阶段和安全同步阶段网络初始化q步骤1:网络分簇q步骤2:节点确定父节点、层次q步骤3:节点进行对密钥、单向函数部署q步骤4:节点在同步初期完成模型建立,此过程放到上位机上完成,然后分发到节点6.4.2 实施流程实施流程安全同步过程q步骤5:通过广播认证和数据过滤排除攻击,完成时间同步(如右图所示);q步骤6:报警处理及模型更新;q步骤7:簇头的撤销6.4.3 方案分析方案分析安全性分析采用简单的单向链的本地认证算法 基于单向链的本地认证算法,在广播通信中,以较少的计算量和能耗达到了较高的安全性提出了基于时间序列的检测算法安全时间同步服务方案提出的检测算法一方面能够及时检测出接收到数据包的新鲜性,并及时报警保障网络的安全性6.4.3 方案分析方案分析性能分析计算存储开销本地认证,只需把该轮密钥值附加在同步报文后面,接收节点进行一次或者多次迭代运算,计算量较小;数据过滤算法,在每轮的同步过程中,只需进行一次线性运算,模型参数采用基站模拟下发的模式,节点只需存储模型参数,计算量较小,存储开销较小。
6.4.3 方案分析方案分析通信开销相比同步协议SGS算法,本方案的优点在于节点本身对历史时间差值处理,没有添加多余的交互信息,能够有效减少通信开销6.4.4 时间同步精度测试时间同步精度测试时间同步精度测试 同步精度测试流程 测试设备每产生一次触发信号,上位机会收到至少两条报文,协调器记录自己的接收时间,路由设备以及普通节点的接收时间,所有节点均与协调器的时间信息进行时间差计算6.4.4 时间同步精度测试时间同步精度测试测试结果节点时钟同步精度测试 可以看出,时钟同步精度稳定在73-76微妙之间,而添加检测代码之后,节点同步精度有波动,在75-78微秒波动,安全机制的加载并未对时间同步精度产生大的影响6.4.5 攻击测试攻击测试攻击测试攻击测试流程 为了测试安全时间同步服务方案性能,人为模拟伪造合法父节点身份攻击和延迟攻击,加入正常运行的网络,同时,测试节点同步情况6.4.5 攻击测试攻击测试测试结果节点抗攻击测试 伪造身份攻击对节点同步精度影响不大而延迟攻击,从攻击开始,在一定的时间范围内,同步误差开始偏大 算法检测到数据异常,造成了节点拒绝服务攻击,一直采用预测值同步,不同幅度的攻击对节点本身误差的上涨幅度影响不大,安全时间同步服务方案能够很好的检测到网络异常,上位机根据报警信息,可快速定位到受攻击路由节点。
6.4.6 安全开销分析安全开销分析安全开销分析网络节点计算消耗及存储消耗代码量增加比例数据存储量增加比例路由节点4.35%3.25%普通节点3.08%2.21%平均值3.71%2.73%本章小结本章小结 现有的安全时间同步算法几乎都采用了认证机制对同步消息进行认证,来防止外部攻击,更进一步的做法是采用阈值认证的措施,丢弃伪造的能够影响同步结果的时间消息; 对于内部攻击的防御机制依然是当前研究的热点,特别是在物联网的实际应用中,现有的安全时间同步算法将面临很大的挑战练习题练习题1. 时间同步在物联网中的应用有哪些?目前有哪些典型的物联网时间同步算法?2. 简述RBS时间同步算法的运行机制3. FTSP算法相比较于DMTS 而言有什么优点?4. 物联网时间同步所面临的外部攻击有哪些?5. 时间同步安全服务方案网络模型需要满足哪些条件?。