发明名称 一种基于时分复用访问协议的安全时间同步方法
摘要 一种基于时分复用访问协议的安全时间同步方法涉及Ad Hoc网络中MAC层基于时分复用协议的安全时间同步,主要用于解决Ad Hoc网络所遭受的时间同步攻击,Ad Hoc网络由于其自身的特殊性,存在很多安全方面的漏洞。本发明针对时间同步,在深入分析无线网络现有时间同步策略及存在的技术不足的基础之上,应用RBS理论提出基于邻居节点的全局安全时间同步方法。可以在实验规模不大的Ad Hoc网络中,成功检测网络的时间同步的安全漏洞,最终实现全网的安全时钟同步。
申请公布号 CN101656977A 申请公布日期 2010.02.24
申请号 CN200910032131.7 申请日期 2009.07.01
申请人 南京邮电大学 发明人 王汝传;唐静;黄海平;孙力娟;赵传信;祝世雄;王文胜;康荣保
分类号 H04W24/04(2009.01)I;H04W56/00(2009.01)I;H04W80/02(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W24/04(2009.01)I
代理机构 南京经纬专利商标代理有限公司 代理人 叶连生
主权项 1.一种基于时分复用访问协议的安全时间同步方法,其特征在于该方法包括以下步骤:一、排除恶意节点假设节点A有m个邻居节点,在A和每个邻居节点之间运行参考广播同步算法,即RBS算法;每次都利用不同的参考节点,这样得到时间偏移量,当m个时间偏移量都计算出以后,就可以检测出恶意节点;采用预估标准偏差检测方案,具体实施步骤如下:步骤1)假设集合δ={x<sub>1</sub>,x<sub>2</sub>,x<sub>3</sub>,…x<sub>n</sub>}是RBS算法得到的时间偏移量集合,x是集合的平均值,s表示集合中所有元素的标准差,令<maths num="0001"><![CDATA[<math><mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo></mrow><mi>s</mi></mfrac><mo>,</mo></mrow></math>]]></maths>其中i=1,...n.;步骤2)假设xj使得<maths num="0002"><![CDATA[<math><mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo></mrow><mi>s</mi></mfrac><mo>,</mo></mrow></math>]]></maths>i=1,...,n,取得最大值,即:<maths num="0003"><![CDATA[<math><mrow><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mi>max</mi><mo>{</mo><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo></mrow><mi>s</mi></mfrac><mo>}</mo><mo>;</mo></mrow></math>]]></maths>当Ti大于临界值λ时,判定x<sub>j</sub>是异常节点;步骤3)找出异常节点之后,把该节点从集合中排除,在新集合中继续执行前两个的步骤,找出下一个异常节点;二、检查同步错误,实现网络的安全同步步骤21)假设网络中需要同步的节点有k个,找到一个包含每个节点至少一次的一个信息环,步骤22)选取信息环中的一个节点作为环的起始点,由该节点发送一个消息m<sub>1</sub>,在整个信息环中传递,步骤23)每个节点接收到消息之后,记录当前的本地时间t<sub>i</sub>和它在环中次序i;如前所述,若一个节点在信息环中出现的次数不止一次,它会不止一次的收到消息m<sub>1</sub>,这种情况下,该节点可以随意选定其中一次的消息m<sub>1</sub>,步骤24)当起始节点收到消息m<sub>1</sub>之后,它发出另一个消息m<sub>2</sub>,通知信息环中的每一个节点m<sub>1</sub>消息的开始时间t<sub>s</sub>和结束时间t<sub>e</sub>,步骤25)对于信息环中的每一个节点,调整它的本地时间,执行步骤26),步骤26)若存在m,<maths num="0004"><![CDATA[<math><mrow><mi>m</mi><mo>+</mo><mn>1</mn><mo>&GreaterEqual;</mo><mfrac><mrow><msub><mi>t</mi><mi>e</mi></msub><mo>-</mo><msub><mi>t</mi><mi>s</mi></msub><mo>+</mo><mn>1</mn></mrow><mi>k</mi></mfrac><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><msub><mrow><mo>&GreaterEqual;</mo><mi>t</mi></mrow><mi>i</mi></msub><mo>&GreaterEqual;</mo><mfrac><mrow><msub><mi>t</mi><mi>e</mi></msub><mo>-</mo><msub><mi>t</mi><mi>s</mi></msub></mrow><mi>k</mi></mfrac><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>m</mi><mo>,</mo></mrow></math>]]></maths>则执行步骤27);否则转步骤28);步骤27)节点n<sub>i</sub>调整本地时间为t-t<sub>i</sub>+t<sub>s</sub>+m;步骤28)若存在m,<maths num="0005"><![CDATA[<math><mrow><mi>m</mi><mo>+</mo><mn>1</mn><mo>&GreaterEqual;</mo><mfrac><mrow><msub><mi>t</mi><mi>e</mi></msub><mo>-</mo><msub><mi>t</mi><mi>s</mi></msub><mo>+</mo><mn>1</mn></mrow><mi>k</mi></mfrac><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>m</mi><mo>&GreaterEqual;</mo><mfrac><mrow><msub><mi>t</mi><mi>e</mi></msub><mo>-</mo><msub><mi>t</mi><mi>s</mi></msub></mrow><mi>k</mi></mfrac><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>,</mo></mrow></math>]]></maths>则执行步骤29);步骤29)节点n<sub>i</sub>调整本地时间为t-t<sub>i</sub>+t<sub>s</sub>+m。每次都利用不同的参考节点,这样得到时间偏移量,当m个时间偏移量都计算出以后,就可以检测出恶意节点;采用预估标准偏差检测方案,具体实施步骤如下:步骤1)假设集合δ={x<sub>1</sub>,x<sub>2</sub>,x<sub>3</sub>,…x<sub>n</sub>}是RBS算法得到的时间偏移量集合,x是集合的平均值,s表示集合中所有元素的标准差,令<maths num="0006"><![CDATA[<math><mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo></mrow><mi>s</mi></mfrac><mo>,</mo></mrow></math>]]></maths>其中i=1,...n.;步骤2)假设x<sub>j</sub>使得<maths num="0007"><![CDATA[<math><mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo></mrow><mi>s</mi></mfrac><mo>,</mo></mrow></math>]]></maths>i=1,...,n,取得最大值,即:<maths num="0008"><![CDATA[<math><mrow><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mi>max</mi><mo>{</mo><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mo>|</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>|</mo></mrow><mi>s</mi></mfrac><mo>}</mo><mo>;</mo></mrow></math>]]></maths>当T<sub>i</sub>大于临界值λ时,判定x<sub>j</sub>是异常节点;步骤3)找出异常节点之后,把该节点从集合中排除,在新集合中继续执行前两个的步骤,找出下一个异常节点。
地址 210003江苏省南京市新模范马路66号