发明名称 可抵御攻击的分布式传感网络的信任评估方法
摘要 本发明公开一种可抵御攻击的分布式传感网络的信任评估方法。它包括密钥建立和信任评估两个阶段。在密钥建立阶段,为每个节点建立三种类型的密钥:个体密钥、配对密钥以及全局密钥。在信任评估阶段,首先以节点小区为单位,中心节点观察其邻节点的包转发数量、节点离开时间和传输率等行为,对其邻节点的这三种行为建立直接信任值、历史信任值和综合信任值,然后对相应邻节点建立总信任值;在节点小区内的信任值相对稳定之后,中心节点选择信任值最高的多个邻节点,然后为这些邻节点建立共享的多播密钥,之后请求这些邻节点对节点小区外的节点的各种行为信任值进行推荐,对节点小区外的各节点建立总信任值。
申请公布号 CN102638795A 申请公布日期 2012.08.15
申请号 CN201210121379.2 申请日期 2012.04.23
申请人 浙江大学 发明人 陈纯;卜佳俊;何道敬;张平新;张学锋
分类号 H04W12/04(2009.01)I;H04W24/08(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W12/04(2009.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 陈昱彤
主权项 1.一种可抵御攻击的分布式传感网络的信任评估方法,其特征是:(1)在分布式传感网络的节点部署前,包括:为每个节点分别随机选择一个个体密钥,并将各个体密钥安装在相应的节点和基站上,以对基站与相应的节点之间的通信信息进行加密和解密;为每个节点与其每个邻节点分别组成的每个节点对分别随机选择一个配对密钥,并将各配对密钥安装在相应的节点对上,以对各节点对的两个节点之间的通信信息进行加密和解密,其中,各节点与其邻节点的距离在一跳通信范围内;为所有节点随机选择一个共享的全局密钥,并将该全局密钥安装在所有节点和基站上,以用于对基站向所有节点广播的消息进行加密和解密;(2)在分布式传感网络的节点部署后,包括:每个节点小区的中心节点持续侦听其邻节点的包转发数量、节点离开时间和传输率,其中,节点离开时间是中心节点最后一次侦听到其邻节点的消息的时间到当前时间的时间间隔;根据单位时间单元内各邻节点的包转发数量,利用公式(1)分别计算相应的邻节点包转发数量的直接信任值:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>T</mi><mi>AB</mi><mi>f</mi></msubsup><mo>=</mo><msub><mi>log</mi><mn>2</mn></msub><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mfrac><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>+</mo><mn>2</mn></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(1)中,<img file="FDA0000156353260000012.GIF" wi="78" he="77" />表示中心节点A对其邻节点B的包转发数量的直接信任值;N表示单位时间单元内,中心节点A要求其邻节点B转发的数据包的数量;k表示单位时间单元内,邻节点B实际转发的数据包的数量;根据单位时间单元内各邻节点的节点离开时间,利用公式(2)分别计算相应的邻节点的节点离开时间的直接信任值:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>T</mi><mi>AB</mi><mi>l</mi></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>2</mn><mo>-</mo><msup><mi>a</mi><msub><mi>t</mi><mi>l</mi></msub></msup></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mi>l</mi></msub><mo>&lt;</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mi>l</mi></msub><mo>&GreaterEqual;</mo><mi>&delta;</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(2)中,<img file="FDA0000156353260000021.GIF" wi="80" he="66" />表示中心节点A对其邻节点B的节点离开时间的直接信任值;t<sub>l</sub>为邻节点B的节点离开时间;δ为邻节点B的离开时间阈值,δ为周期性广播的HELLO消息周期的整数倍,且δ>0;a>1,a<sup>δ</sup>=2;根据单位时间单元内各邻节点的传输率,利用公式(3)分别计算相应的邻节点的传输率的直接信任值:<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>T</mi><mi>AB</mi><mi>t</mi></msubsup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>&lambda;</mi><mo>&times;</mo><msub><mi>log</mi><mi>b</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mfrac><msub><mi>t</mi><mi>r</mi></msub><msub><mi>&theta;</mi><mn>1</mn></msub></mfrac><mo>)</mo></mrow></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mi>r</mi></msub><mo>&lt;</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>&le;</mo><msub><mi>t</mi><mi>r</mi></msub><mo>&le;</mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msup><mi>c</mi><mfrac><mrow><msub><mi>t</mi><mi>r</mi></msub><mo>-</mo><msub><mi>&theta;</mi><mn>2</mn></msub></mrow><msub><mi>&theta;</mi><mn>2</mn></msub></mfrac></msup></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mi>r</mi></msub><mo>></mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(3)中,<img file="FDA0000156353260000023.GIF" wi="80" he="63" />表示中心节点A对其邻节点B的传输率的直接信任值;t<sub>r</sub>为邻节点B的传输率;θ<sub>1</sub>表示传感网络设定的邻节点B的数据传输率的下限,θ<sub>2</sub>表示传感网络设定的邻节点B的数据传输率的上限;b和c是可变参数,且b>1;0<c<1;λ是将直接信任值<img file="FDA0000156353260000024.GIF" wi="80" he="64" />保持在[0,1]之内的缩放因子,且λ×log<sub>b</sub> 2=1;将每个单位时间单元内各中心节点对其邻节点的包转发数量、节点离开时间和传输率的直接信任值分别存储在相应的中心节点中,且每个中心节点至多保留最后m个单位时间单元的其对邻节点的的包转发数量、节点离开时间和传输率的直接信任值的存储记录;利用中心节点所保留的其对邻节点的的包转发数量、节点离开时间和传输率的直接信任值的存储记录,并利用公式(4)分别计算各中心节点对其各邻节点的包转发数量、节点离开时间和传输率的历史信任值:<maths num="0004"><![CDATA[<math><mrow><msup><mi>T</mi><mi>h</mi></msup><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>B</mi><mo>,</mo><mi>act</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>&beta;</mi><mi>j</mi></msub><mo>&times;</mo><msubsup><mi>T</mi><mi>j</mi><mi>y</mi></msubsup><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>B</mi><mo>,</mo><mi>act</mi><mo>)</mo></mrow></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>&beta;</mi><mi>j</mi></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(4)中,T<sup>h</sup>(A:B,act)表示中心节点A对其邻节点B的历史信任值,act表示包转发数量、节点离开时间和传输率中的一种行为,<img file="FDA0000156353260000026.GIF" wi="320" he="79" />表示中心节点A对其邻节点B的act的第j条直接信任值记录,β<sub>j</sub>表示<img file="FDA0000156353260000027.GIF" wi="320" he="79" />的衰老因子,且0<β<sub>j</sub><1;根据中心节点对其各邻节点的包转发数量、节点离开时间和传输率建立的直接信任值和历史信任值,利用公式(6)分别计算中心节点对其各邻节点的包转发数量、节点离开时间和传输率的综合信任值:T(A:B,act)=η×T<sup>y</sup>(A:B,act)+γ×T<sup>h</sup>(A:B,act)  (6)式(6)中,T(A:B,act)表示中心节点A对其邻节点B的行为act的综合信任值,T<sup>y</sup>(A:B,act)表示节点A对其邻节点B的行为act的直接信任值,T<sup>h</sup>(A:B,act)表示中心节点A对其邻节点B的行为act的历史信任值,η表示直接信任值的权重因子,γ分表示历史信任值的权重因子,且0<η<1,0<γ<1,η+γ=1;根据中心节点对其各邻节点的包转发数量、节点离开时间和传输率的综合信任值,利用公式(7)计算中心节点对其邻节点的各行为的总信任值:<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>T</mi><mi>AB</mi><mi>total</mi></msubsup><mo>=</mo><mi>f</mi><mrow><mo>(</mo><mi>T</mi><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>B</mi><mo>,</mo><msub><mi>act</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>T</mi><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>B</mi><mo>,</mo><msub><mi>act</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(7)中,<img file="FDA0000156353260000032.GIF" wi="138" he="65" />表示中心节点A对其邻节点B的各行为的总信任值,T(A:B,act<sub>j</sub>)表示中心节点A对其邻节点B的第j个行为act<sub>j</sub>的综合信任值,p表示邻节点B的行为的总数量,且1≤j≤p,f表示独立于应用场景的函数;待所有节点小区内的信任评估过程执行的总时间达到预设的执行时间阈值,为每个节点小区的中心节点选择总信任值最大的s个邻节点建立集合Ω;各中心节点为集合Ω中的节点随机选择一个共享的多播密钥,并分别使用中心节点与集合Ω中的各节点之间的相应的配对密钥将所述多播密钥分别分发给集合Ω中的各节点,以使用所述多播密钥对中心节点与集合Ω中的各节点之间的通信信息进行加密和解密;中心节点请求集合Ω中的节点推荐该被请求节点对中心节点的非邻节点的包转发数量、节点离开时间和传输率的综合信任值,其中,中心节点的非邻节点是集合Ω中的被请求节点的邻节点;然后,利用公式(9)分别计算中心节点对其非邻节点的包转发数量、节点离开时间和传输率的推荐信任值:<maths num="0006"><![CDATA[<math><mrow><msup><mi>T</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>C</mi><mo>,</mo><mi>act</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>T</mi><mi>AB</mi><mi>total</mi></msubsup><mo>&times;</mo><mi>T</mi><mrow><mo>(</mo><mi>B</mi><mo>:</mo><mi>C</mi><mo>,</mo><mi>act</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(9)中,A代表中心节点,B代表中心节点A的邻节点,C代表中心节点A的非邻节点且节点C是节点B的邻节点;T<sup>r</sup>(A:C,act)表示中心节点A对其非邻节点C的行为act的推荐信任值,<img file="FDA0000156353260000042.GIF" wi="138" he="65" />表示中心节点A对其邻节点B的总信任值,T(B:C,act)表示是节点B对其邻节点C的act的综合信任值;利用公式(10)计算中心节点A对其非邻节点C的关于act的综合推荐信任值:<maths num="0007"><![CDATA[<math><mrow><msup><mi>T</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>C</mi><mo>,</mo><mi>act</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>&omega;</mi><mi>i</mi></msub><mo>&times;</mo><mrow><mo>(</mo><msubsup><mi>T</mi><mrow><mi>A</mi><msub><mi>B</mi><mi>i</mi></msub></mrow><mi>total</mi></msubsup><mo>&times;</mo><mi>T</mi><mrow><mo>(</mo><msub><mi>B</mi><mi>i</mi></msub><mo>:</mo><mi>C</mi><mo>,</mo><mi>act</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(10)中,B<sub>i</sub>表示在集合Ω中作为节点C的邻节点的节点,其中,i∈{1,...,n},n表示在集合Ω中作为节点C的邻节点的节点总数量;<img file="FDA0000156353260000044.GIF" wi="138" he="74" />表示中心节点A对其邻节点B<sub>i</sub>的总信任值,T(B<sub>i</sub>:C,act)表示节点B<sub>i</sub>对其邻节点C的综合信任值,<img file="FDA0000156353260000045.GIF" wi="362" he="141" />根据中心节点对其各非邻节点的包转发数量、节点离开时间和传输率的综合推荐信任值,利用公式(11)计算中心节点对其非邻节点的各行为的总信任值:<maths num="0008"><![CDATA[<math><mrow><msubsup><mi>T</mi><mi>AC</mi><mi>total</mi></msubsup><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>T</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>C</mi><mo>,</mo><mi>ac</mi><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msup><mi>T</mi><mi>r</mi></msup><mrow><mo>(</mo><mi>A</mi><mo>:</mo><mi>C</mi><mo>,</mo><mi>ac</mi><msub><mi>t</mi><mi>p</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(11)中,<img file="FDA0000156353260000047.GIF" wi="138" he="66" />表示中心节点A对其非邻节点C的各行为的总信任值,T<sup>r</sup>(A:C,act<sub>j</sub>)表示中心节点A对其非邻节点C的第j个行为act<sub>j</sub>的综合推荐信任值,p表示非邻节点C的行为的总数量,且1≤j≤p,f表示独立于应用场景的函数。
地址 310027 浙江省杭州市西湖区浙大路38号