1.基于身份的无线传感器网络安全信任方法,其特征在于:首先给网络的每个节点加载一个信任管理结构,在信任管理结构基础上通过在节点间广播查询节点信息、接收查询响应信息、更新节点信誉并通过节点间基于身份的公钥密码加密与认证,建立信任通信网络,实现安全通信,所述信任管理结构由密钥管理模块、接收信誉模块、存储信誉模块、信誉计算模块、应用选择模块、路径管理模块、决策模块、信誉管理模块和监视模块构成,各模块的功能如下:
1)密钥管理模块 用作计算和存放源节点与目的节点和源节点与邻居节点的身份与对应的共享密钥;
2)接收信誉模块 接收邻居节点的信息,并根据信息的类型做出下一步的处理,如收到的是查询节点信息,则查询密钥管理模块,若具有被查询的节点则发送查询响应信息,否则丢弃该信息;如收到的是查询响应信息,则根据发送响应信息的节点身份发送查询该节点的信誉信息;如收到的是查询信誉信息,则查询存储信誉模块,若具有被查询节点的信誉则返回信誉响应信息,否则丢弃该信息;如收到的是信誉响应信息,则查询密钥管理模块并解密,正确则将信誉发送给信誉计算模块,将能量和可用时间信息发送给路径管理模块,否则丢弃该信息;如收到数据信息,则查询密钥管理模块解密,若解密结果正确则验证信息可靠性并将数据发送给需要的应用,否则丢弃;如收到的是确认信息,根据信息内容决定是更新信誉还是重新发送数据;
3)存储信誉模块 存储和更新每个邻居节点的信誉信息,并提供查询服务,所述信誉信息根据信誉计算模块计算结果,监视模块的报告和确认信息进行更新;
4)信誉计算模块 进行节点信誉的计算,节点查询存储信誉模块找出与邻居节点的信誉,结合邻居节点关于目的节点的信誉计算该目的节点的间接信誉,然后结合本节点对该目的节点的直接信誉计算该目的节点的新的信誉,并更新存储信誉模块;
5)应用选择模块 存储各种应用要求,为决策提供依据;
6)路径管理模块 存储通向目的节点的下一跳邻居节点身份、对应的能量、可用时间信息,首先接收到达目的节点所通过的所有下一跳邻居节点身份、能量和可用时间,然后查询存储信誉模块,用与信誉计算相同的方法计算节点的能量和可用时间,供决策模块参考;
7)决策模块 根据应用选择模块的应用要求、存储信誉模块的节点信誉及路径管理模块给出的可行路径来决定使用哪个节点作为下一跳节点;
8)信誉管理模块 接收来自监视模块的报告,并根据信息类型更新存储信誉模块和路径管理模块;
9)监视模块 监视节点的广播信息,判断广播信息与发送信息的一致性,传送报告给信誉管理模块。
2.根据权利要求1所述的基于身份的无线传感器网络安全信任方法,其特征在于:所述信誉计算模块计算节点A对节点B的信誉的算法步骤如下:
第一步,根据节点A对所有具有节点B信誉的节点i的信任总和,计算节点A对某个节点i的信任在总和中所占的比例,算式为 其中,i=
1,2,…,n,式中μAi表示节点A对节点i的信任,是XAi的均值,其中XAi表示节点A对节点i的直接信誉信息,服从高斯分布,μAi′表示节点A对节点i的信任在信任总和中所占的比例;
第二步,用第一步的计算结果计算节点A对节点B的间接信誉,算式为
XAB′=μA1′X1B+μA2′X2B+…+μAi′XiB+…+μAn′XnB
= N(μA1 ′ μ1B+μA2 ′ μ2B+…+μAi ′ μiB+…+μAn ′ μnB,
2 2 2 2 2 2 2 2
(μA1′)δ1B+(μA2′)δ2B+…+(μAi′)δiB+…+(μAn′)δnB) ; 式中XiB=N(μiB,
2
δiB)表示节点i对节点B的直接信誉信息,服从高斯分布,XAB′表示节点A对节点B的间
2
接信誉信息,服从高斯分布,δiB 表示直接信誉XiB的方差,N()表示高斯分布函数;
第三步,用第二步的计算结果计算节点A对节点B的新信誉,算式为XAB″=ωXAB+(1-ω)XAB′ω∈(0,1),ω表示节点对自身的信任程度,XAB表示节点A对节点B的当前直接信誉信息,XAB′表示节点A对节点B的间接信誉信息,XAB″表示节点A对节点B的新信誉信息,服从高斯分布。
3.根据权利要求2所述的基于身份的无线传感器网络安全信任方法,其特征在于:节点A的存储信誉模块和信誉计算模块对节点B的信誉更新算法如下:
第一步,节点A调用信誉算法计算A对B的新信誉XAB″,并用其直接覆盖原有信誉;
第二步,节点A根据监视模块的报告更新信誉:
1)预定时间内广播发送的信息,则信任增加t1;
2)如果没有广播,则第1次减小t2,第2次减小t3,第i次减小ti+1,以此类推,直至第n次将节点信誉置0;
3)广播篡改的信息,则即直接将节点信誉置0;
4)如果接收到正确的确认信息,则信任值增加t5,ti表示用户根据需要设定的数值,其中,i=1,2,…,n;否则,不改变信任值,只重新发送数据。
4.根据权利要求2所述的基于身份的无线传感器网络安全信任方法,其特征在于:根据决策模块、信誉计算模块和路径管理模块选取可信节点的算法如下:
第一步,调用信誉算法,计算所有下一跳节点的新信誉XAi″、剩余能量和可用时间;
第二步,根据应用的要求选择最适合的节点。
5.根据权利要求1所述的基于身份的无线传感器网络安全信任方法,其特征在于:建立信任网络的步骤如下:
第一步,节点初始化,使每个节点具有相同的信誉,所有节点都向周围的邻居节点广播自己的身份IDi,收到信息的节点知道自己邻居节点的身份且每个节点只知道其邻居节点的信息,不知道二跳以外的节点,节点用邻居节点的身份与自己的私钥计算共享密钥Kij存放在密钥管理模块中;从源节点S到目的节点D要经过n跳,路径为S→N1→N2→…→Ni→Ni+1→…→Nn-1→D,其中Ni为源节点S到目的节点D的路径上的第i跳节点,i=
1,2,…,n-1;
第二步,当源节点S要与目的节点D通信的时候,需向其周围的邻居节点广播查询节点信息IDS‖IDD,查询邻居节点的下一跳节点是否是目的节点D,其中,IDS是源节点的身份,IDD是目的节点身份;
第三步,收到查询节点信息的邻居节点调用接收信誉模块查询自己的密钥管理模块中是否具有目的节点D的身份,如邻居节点的下一跳不是目的节点D,则邻居节点N1向它的邻居节点N2接着广播查询节点信息 查询下一跳节点是否是目的节点D,其中, 是转发节点的身份;
第四步,如果节点N2的下一跳不是目的节点D,则重复第三步,直至节点Nn-1找到目的节点D,此时查询节点信息为 期间所有转发
节点都在消息前加上自己的身份,其中, 是所有转发
节点的身份;
第五步,如果邻居节点Nn-1的下一跳是目的节点D,则Nn-1广播一个查询响应信息 给Nn-2,其中, 是下一跳为目的节
点的节点身份, 是所有转发节点的身份,Nn-2广播此查
询响应信息给Nn-3,如此循环,直至源节点S的接收信誉模块收到此查询响应信息,在转发过程中,所有通过节点的路径管理模块都记录源节点、目的节点和此信息中的自己的邻居节点;
第六步,源节点S的路径管理模块随机选择一个查询响应信息中的节点N1作为下一跳节点,用密钥管理模块中与目的节点D的共享密钥KSD加密明文信息M,将数据消息 广播,其中, 是转发节点的身份,KSD(M,ε,H(M,ε))
是用源节点和目的节点的共享密钥KSD加密的明文M、时间戳ε和hash函数H(M,ε),其余节点的接收信誉模块判定数据消息中ID与自身不符则将消息丢弃,只有N1的路径管理模块被要求与源节点S随机选择一个适合的到目的节点的下一跳节点N2,并广播数据消息 然后源节点S的监视模块监督N1点的行为,信誉
管理模块调用信誉更新算法更新存储信誉模块和路径管理模块中节点N1的信息;
第 七 步,重 复 第 六 步,直至 节 点 D的 接 收 信 誉 模 块 收 到 数 据 消 息 后, 用 与
源节点S的共享密钥KSD解密,发送一个用与源节点共享密钥KSD加密的确认信息 给源节点S,其
中, 是所有通过节点的身份,KSD(m,ε,H(m,
ε))是使用密钥KSD对m,ε和H(m,ε)的加密结果,m是通信成功的标识;
第八步,通信中所有节点根据监视模块更新存储信誉模块和路径管理模块中邻居节点的信息,源节点S的存储信誉模块根据确认信息的内容更新节点N1的信誉;
第九步,如通信失败,则源节点S的决策模块选择另一个查询信息响应中信誉高的节点作为下一跳节点重复步骤第六至第八;
至此,在更新节点信誉的过程中动态建立起信任网络,信任网络中每个节点具有不同的信誉。
6.根据权利要求1或5所述的基于身份的无线传感器网络安全信任方法,其特征在于:
在信任网络上实现安全通信的步骤如下:
从源节点S到目的节点D,要经过n跳。路径为:
S→N1→N2→…→Ni→Ni+1→…→Nn-1→D
其中,Ni为源节点S到目的节点D的路径上的第i跳节点,i=1,2,…,n-1;
1)当源节点S要与目的节点D通信的时候,需向其周围的邻居节点广播查询节点信息IDS‖IDD,查询邻居节点的下一跳节点是否是目的节点D,其中,IDS是源节点的身份,IDD是目的节点身份;
2)收到查询节点信息的邻居节点调用接收信誉模块查询自己的密钥管理模块中是否具有目的节点D的身份,如邻居节点的下一跳不是目的节点D,则邻居节点N1向其邻居节点N2接着广播查询节点信息 查询下一跳节点是否是目的节点D,其中, 是转发节点的身份;
3)如果节点N2的下一跳不是目的节点D,则重复步骤2),直至节点Nn-1找到目的节点D,此时查询节点信息为 期间所有转发节点都
在消息前加上自己的身份,其中, 是所有转发节点的
身份;
4)如果有邻居节点Nn-1的下一跳是目的节点D,则Nn-1广播一个查询响应信息 给Nn-2,其中, 是下一跳为目的节
点的节点身份, 是所有转发节点的身份,Nn-2广播此查
询响应信息给Nn-3,如此循环,直至源节点S的接收信誉模块收到此查询响应信息,在转发过程中,所有通过的节点的路径管理模块都记录源节点、目的节点和此信息中的自己的邻居节点;
5)源节点S根据接收信誉模块收到的查询响应信息,广播查询查询响应信息中邻居节点N1的信誉信息 其中,i=1,2,…,n,IDS是查询节点身份, 是被查询节点身份, 是节点N1的信誉标志,ε是时间戳,所有收到查询信誉信息的节点都查询自己的存储信誉模块,然后,具有节点N1的信誉信息的节点返回用密钥管理模块中自己与源节点S的共享密钥加密的信誉响应信息 其中,i=1,2,…,
n,IDi是节点i的身份,IDS是源节点S的身份, 是用节点i和源节点S的共享密钥KiS加密的节点i对节点N1的信誉 和时间戳ε;
6)源节点S的信誉计算模块计算节点N1间接信誉和直接信誉,存储信誉模块更新节点N1的信誉信息;
7)重复步骤5)-6),源节点S的信誉计算模块计算所有查询响应信息中的邻居节点的信誉信息并更新;
8)源节点S的决策模块比较所有查询响应信息中的节点的信任值,根据应用选择模块的要求选择最适合的节点作为通向D的下一跳节点N1,用密钥管理模块中与D的共享密钥KSD加密明文信息M,将数据消息 广播,其中, 是转发
节点的身份,KSD(M,ε,H(M,ε))是用源和目的节点的共享密钥KSD加密的明文M、时间戳ε,hash函数H(M,ε),其余节点的接收信誉模块判断出ID与自身不符则将消息丢弃;
9)只有N1的路径管理模块被要求重复步骤5)-8),选择一个适合的到目的节点的下一跳节点N2,并广播数据消息 然后源节点S的监视
模块监督N1点的行为,信誉管理模块调用信誉更新算法,更新存储信誉模块和路径管理模块中节点N1的信息;
10)重 复 步 骤5)-9),直 到 目 的 节 点 D的 接 收 信 誉 模 块 收 到 消 息 后 用 与 源
节点S的共享密钥KSD解密,发送一个用与源节点S的共享密钥KSD加密的确认信息 给源节点S,其中,
是所有通过节点的身份,KSD(m,ε,H(m,ε))是
使用密钥KSD对m,ε和H(m,ε)的加密结果,m是通信成功的标识;
11)通信中所有节点根据监视模块更新存储信誉模块和路径管理模块中邻居节点的信誉信息,源节点S的存储信誉模块还根据确认信息的内容更新节点N1的信誉;
12)如通信失败,则源节点S重复步骤5)-8),源节点S的决策模块重新选择最适合的节点作为下一跳,如果还是选择节点N1,则重复上一次过程直到节点N1的信誉低于要求,选择其他节点,通信成功为止。
基于身份的无线传感器网络安全信任方法\n技术领域\n[0001] 本发明涉及无线传感器网络安全通信领域,无线传感器网络中信任的安全管理。\n具体是一种基于网络节点身份的公钥密码体制来建立网络信任体系的安全方法,实现在信任网络上安全通信。\n背景技术\n[0002] 在无线传感器网络中,要解决节点能量受限、易发生故障与易被攻击者物理捕获等引起的安全问题,单纯依靠密码学的途径是不足以解决问题的,在诸多解决通信安全的方法中,通过增加节点的信任机制,构建信任网络的方法来解决无线传感器网络的安全已经受到业内研究者的关注。\n[0003] 文献“传感器网络信任管理安全框架”(A Security Framework with Trust Management for Sensor Networks,Security and Privacy for Emerging Areas in Communication Networks),2005,pp.190-198,”公开了一种无线传感器网络信任管理框架。该方案的主要架构是:首先每个传感器节点都保存其邻居节点的信任值。当两个节点之间需要通信时,源节点通过自身的观察来得到目的节点的直接信任,并结合其余邻居节点对目的节点的间接信任来计算得到目的节点的新的信任值。再根据应用对信任值的具体要求决定是否进一步和目的节点通信。最后,结合上述的信任管理机制,设计无线传感器网络的安全框架,从而保证各种应用的安全实施。但是该安全框架也存在一些缺陷:首先,信任信息在节点中传输没有考虑消息的安全和认证,这就导致了攻击者可以伪装成一些高信任值节点来误导其余节点,或是篡改信任信息,从而导致即使有信任管理机制也无法彻底解决网络安全的问题。其次,未进行信任的初始化过程,这就导致了网络的可操作性差,不适合实际网络应用。最后,该安全框架本身在功能上存在缺陷和不足,未考虑传感器节点自身的特点对信任的影响和根据通信的情况再次更新的问题,这使得设计的框架结构不够完善。此外,没有提供多跳的操作和解决办法,难以满足较大规模自组织网络应用。\n发明内容\n[0004] 本发明要解决的技术问题是:克服现有技术在实现节点间信誉信息传输及信任管理中的上述问题,提供一个基于身份的无线传感器网络安全信任方法。节点间通过基于身份的公钥密码体制进行加密与认证以保护所传输的信誉信息,这样既保证了信誉信息的可靠性和可认证性,也降低了计算复杂性,适合用于能量受限的无线传感器网络。\n[0005] 本发明解决技术问题的方案是:基于身份公钥密码机制提供了一个基于身份的无线传感器网络安全信任方法,首先给网络的每个节点加载一个信任管理结构,在信任管理结构基础上通过在节点间广播查询节点信息、接收查询响应信息、更新节点信誉并通过节点间基于身份的公钥密码加密与认证,建立信任通信网络,实现信任通信,所述信任管理结构如图1所示,由密钥管理模块、接收信誉模块、存储信誉模块、信誉计算模块、应用选择模块、路径管理模块、决策模块、信誉管理模块和监视模块构成,各模块的功能如下:\n[0006] 1、密钥管理模块该模块用作计算和存放源节点与目的节点和源节点与邻居节点的身份与对应的共享密钥;\n[0007] 2、接收信誉模块该模块用于接收邻居节点传来的信息,并根据信息的类型做出下一步的处理:如收到的是查询节点信息,则查询密钥管理模块,若具有被查询的节点则发送查询响应信息,否则丢弃该信息;如收到的是查询响应信息,则根据发送响应信息的节点身份发送查询该节点的信誉信息;如收到的是查询信誉信息,则查询存储信誉模块,若具有被查询节点的信誉则返回信誉响应信息,否则丢弃该信息;如收到的是信誉响应信息,则查询密钥管理模块并解密,正确解密则将信誉发送给信誉计算模块,将能量和可用时间信息发送给路径管理模块,否则丢弃该信息;如收到数据信息,则查询密钥管理模块解密,若解密结果正确则验证信息可靠性并将数据发送给需要的应用,否则丢弃;如收到的是确认信息,根据信息内容决定是更新信誉还是重新发送数据;\n[0008] 3、存储信誉模块该模块用于存储和更新每个邻居节点的信誉信息,并提供查询服务。信誉信息根据信誉计算模块的结果,监视模块的报告和确认信息进行更新;\n[0009] 4、信誉计算模块该模块用于节点信誉的计算。节点查询存储信誉模块找出自身对邻居节点的信誉,结合邻居节点关于目的节点的信誉计算该目的节点的间接信誉,然后结合自身对该目的节点的直接信誉计算该目的节点的新的信誉,并更新存储信誉模块;\n[0010] 5、应用选择模块该模块存储各种应用的具体要求,为决策提供依据;\n[0011] 6、路径管理模块该模块存储通向目的节点的下一跳邻居节点身份、对应的能量、可用时间信息,首先接收到达目的节点所通过的所有下一跳邻居节点和其能量、可用时间,然后查询存储信誉模块,用与信誉计算相同的方法计算节点的能量和可用时间,记录到达目的节点所通过的下一跳邻居节点、对应能量、可用时间,供决策模块参考;\n[0012] 7、决策模块该模块根据应用管理模块的具体应用要求、存储信誉模块的节点信誉值、路径管理模块给出的可行路径来决定使用哪个节点作为下一跳节点;\n[0013] 8、信誉管理模块该模块接收来自监视模块的报告信息,并根据信息类型更新存储信誉模块和路径管理模块;如收到的报告内容是规定时间内未广播信息,累加器次数加1,并根据次数决定信誉减少数量;如收到的报告内容是广播篡改信息,直接将信誉置零,并给路径管理模块发送报告,置通过该节点的路径不可靠,如收到的报告内容是广播正确的信息,则信任增加t5,其中t5为根据用户需要设定的数值;\n[0014] 9、监视模块用于监视节点是否广播信息,判断广播信息是否与发送的一致,传送报告给信誉管理模块(报告内容包括正确发送、篡改和未发送等状态)。首先监视下一跳节点是否广播发送给它的数据信息,然后判断信息是否与发送的相同,并发送报告给信誉管理模块。\n[0015] 本发明用信誉计算模块计算节点A对节点B的信誉的算法步骤如下:\n[0016] 第一步,计算节点A对所有具有节点B信誉的节点i的信任总和,再计算节点A对某个节点i的信任在总和中所占的比例,算式为 其中,i\n=1,2,…,n,式中μAi表示节点A对节点i的信任,是XAi的均值,其中XAi表示节点A对节点i的直接信誉信息,服从高斯分布,μAi′表示节点A对节点i的信任在信任总和中所占的比例;\n[0017] 第二步,用第一步的计算结果计算节点A对节点B的间接信誉,算式为[0018] XAB′=μA1′X1B+μA2′X2B+…+μAi′XiB+…+μAn′XnB式中\n[0019] = N(μA1 ′ μ1B+μA2 ′ μ2B+…+μAi ′ μiB+…+μAn ′ μnB,\n2 2 2 2 2 2 2 2\n(μA1′)δ1B+(μA2′)δ2B+…+(μAi′)δiB+…+(μAn′)δnB)\n[0020] XiB=N(μiB,δiB2)表示节点i对节点B的直接信誉信息,服从高斯分布,XAB′表\n2\n示节点A对节点B的间接信誉信息,服从高斯分布,δiB 表示直接信誉XiB的方差,N()表示高斯分布函数;\n[0021] 第三步,用第二步的计算结果计算节点A对节点B的新信誉,算式为[0022] XAB″=ωXAB+(1-ω)XAB′ω∈(0,1),式中ω表示节点对自身的信任程度,XAB表示节点A对节点B的当前直接信誉信息,XAB′表示节点A对节点B的间接信誉信息,XAB″表示节点A对节点B的新信誉信息,服从高斯分布;\n[0023] 本发明用存储信誉模块和信誉计算模块计算节点A对节点B的信誉更新算法如下:\n[0024] 第一步,节点A调用信誉算法计算A对B的新信誉XAB″,并用其直接覆盖原有信誉;\n[0025] 第二步,节点A根据监视模块的报告更新信誉:\n[0026] 1)预定时间内广播发送的信息,则信任增加t1,\n[0027] 2)如果没有广播,则第1次减小t2,第2次减小t3,第i次减小ti+1,以此类推,直至第n次将节点信誉置0,\n[0028] 3)广播篡改的信息,即直接将节点信誉置0;\n[0029] 4)如果接收到正确的确认信息,则信任值增加t5,ti表示用户根据需要设定的数值,其中,i=1,2,…,n;否则,不改变信任值,只重新发送数据。\n[0030] 本发明根据决策模块、信誉计算模块和路径管理模块选取可信节点的算法如下:\n[0031] 第一步,调用信誉算法,计算所有下一跳节点的新信誉XAi″、剩余能量和可用时间,\n[0032] 第二步,根据应用的要求选择最适合的节点。\n[0033] 本发明在信任管理结构的基础上建立信任通信网络的步骤如下:\n[0034] 第一步,节点初始化,初始化后每个节点具有相同的信誉;所有节点都向周围的邻居节点广播自己的身份IDi,收到信息的节点知道自己邻居节点的身份,每个节点只知道邻居节点的信息,对于2跳以外的节点并不知情,节点用邻居节点的身份与自己的私钥计算共享密钥Kij存放在密钥管理模块中;设从源节点S到目的节点D要经过n跳,路径为S→N1→N2→…→Ni→Ni+1→…→Nn-1→D,其中Ni为源节点S到目的节点D的路径上的第i跳节点,i=1,2,…,n-1;\n[0035] 第二步,当源节点S要与目的节点D通信的时候,需向其周围的邻居节点广播查询节点信息IDS‖IDD,查询邻居节点的下一跳节点是否目的节点D,其中,IDS是源节点的身份,IDD是目的节点身份;\n[0036] 第三步,收到查询节点信息的邻居节点调用接收信誉模块查询自己的密钥管理模块中是否具有目的节点D的身份,如邻居节点的下一跳不是目的节点D,则邻居节点N1向它的邻居节点N2接着广播查询节点信息 查询下一跳节点是否是目的节点D,其中, 是转发节点的身份;\n[0037] 第四步,如果节点N2的下一跳不是目的节点D,则重复第三步,直至节点Nn-1找到目的节点D,此时查询节点信息为 期间所有转\n发节点都在消息前加上自己的身份,其中, 是所有转发节\n点的身份;\n[0038] 第五步,如果邻居节点Nn-1的下一跳是目的节点D,则Nn-1广播一个查询响应信息 给Nn-2,其中, 是下一跳为目的节\n点的节点身份, 是所有转发节点的身份,Nn-2广播此查询\n响应信息给Nn-3,如此循环,直至源节点S的接收信誉模块收到此查询响应信息,在转发过程中,所有通过的节点的路径管理模块都记录源节点、目的节点和此信息中自己的邻居节点;\n[0039] 第六步,源节点S的路径管理模块随机选择一个查询响应信息中的节点N1作为下一跳节点,用密钥管理模块中与目的节点D的共享密钥KSD加密明文信息M,将数据消息 广播,其中, 是转发节点的身份,KSD(M,ε,H(M,\nε))是用源节点和目的节点的共享密钥KSD加密的明文M、时间戳ε和hash函数H(M,ε),其余节点的接收信誉模块判定ID与自身不符则将消息丢弃,只有N1的路径管理模块被要求和S一样随机选择一个适合的到目的节点的下一跳节点N2,并广播数据消息然后源节点S的监视模块监督N1点的行为,信誉管\n理模块调用信誉更新算法更新存储信誉模块和路径管理模块中节点N1的信息;\n[0040] 第七步,重复第六步,直至节点D的接收信誉模块收到数据消息\n后, 用 与 源\n节点S的共享密钥KSD解密,发送一个用与源节点S的共享密钥KSD加密的确认信息 给 S,其 中,\n是所有通过节点的身份,KSD(m,ε,H(m,ε))是使\n用密钥KSD对m,ε和H(m,ε)的加密结果,m是通信成功的标识;\n[0041] 第八步,通信中所有节点根据监视模块更新存储信誉模块和路径管理模块中邻居节点的信息,源节点S的存储信誉模块根据确认信息的内容更新节点N1的信誉;\n[0042] 第九步,如通信失败,则源节点S的决策模块选择另一个查询信息响应中信誉高的节点作为下一跳节点并重复第六至第八步;\n[0043] 通过上述步骤,在通信的过程中动态建立起信任网络,信任网络中每个节点具有不同的信誉。\n[0044] 信任网络建立后,在信任网络上实现安全通信的步骤如下:\n[0045] 从源节点S到目的节点D,要经过n跳,路径为:\n[0046] S→N1→N2→…→Ni→Ni+1→…→Nn-1→D\n[0047] 其中,Ni为源节点S到目的节点D的路径上的第i跳节点,i=1,2,…,n-1;\n[0048] 1)当源节点S要与目的节点D通信的时候,需向其周围的邻居节点广播查询节点信息IDS‖IDD,查询邻居节点的下一跳节点是否是目的节点D,其中,IDS是源节点的身份,IDD是目的节点身份;\n[0049] 2)收到查询节点信息的邻居节点调用接收信誉模块查询自己的密钥管理模块中是否具有目的节点D的身份,如邻居节点的下一跳不是目的节点D,则邻居节点N1向其邻居节点N2接着广播查询节点信息 查询下一跳节点是否是目的节点D,其中,\n是转发节点的身份;\n[0050] 3)如果节点N2的下一跳不是目的节点D,则重复2),直至节点Nn-1找到目的节点D,此时查询节点信息为 期间所有转发节点都\n在消息前加上自己的身份,其中, 是所有转发节点的身\n份;\n[0051] 4)如果邻居节点Nn-1的下一跳是目的节点D,则Nn-1广播一个查询响应信息给Nn-2,其中, 是下一跳为目的节点\n的节点身份, 是所有转发节点的身份,Nn-2广播此查询响\n应信息给Nn-3,如此循环,直至源节点S的接收信誉模块收到此查询响应信息。在转发过程中,所有通过的节点的路径管理模块都记录源节点、目的节点和此信息中的自己的邻居节点;\n[0052] 5)源节点S根据接收信誉模块收到的查询响应信息,广播查询查询响应信息中邻居节点N1的信誉信息 其中,i=1,2,…,n,IDS是查询节点身份,\n是被查询节点身份, 是节点N1的信誉标志,ε是时间戳,所有收到查询信誉信息的节点都查询自己的存储信誉模块,然后,具有节点N1的信誉信息的节点返回用密钥管理模块中自己与源节点S的共享密钥加密的信誉响应信息 其中(i=1,2,…,\nn),IDi是节点i的身份,IDS是节点S的身份, 是用节点i和源节点S的共享密钥KiS加密的节点i对节点N1的信誉 和时间戳ε;\n[0053] 6)源节点S的信誉计算模块计算节点N1间接信誉和直接信誉,存储信誉模块更新节点N1的信誉信息;\n[0054] 7)重复步骤5)-6),源节点S的信誉计算模块计算所有查询响应信息中的邻居节点的信誉信息并更新;\n[0055] 8)源节点S的决策模块比较所有查询响应信息中的节点的信任值,根据应用选择模块的要求选择最适合的节点作为通向D的下一跳节点N1,用密钥管理模块中与D的共享密钥KSD加密明文信息M,将数据消息 广播,其中, 是转\n发节点的身份,KSD(M,ε,H(M,ε))是用源和目的节点的共享密钥KSD加密的明文M、时间戳ε,hash函数H(M,ε),其余节点的接收信誉模块判断出ID与自身不符则将消息丢弃;\n[0056] 9)只有N1的路径管理模块被要求重复步骤5)-8),选择一个适合的到目的节点的下一跳节点N2,并广播数据消息 然后源节点S的监\n视模块监督N1点的行为,信誉管理模块调用信誉更新算法,更新存储信誉模块和路径管理模块中节点N1的信息;\n[0057] 10)重 复步 骤5)-9),直到 目 的节 点D的 接收 信 誉模 块 收到 消 息后 用 与 源\n节点S的共享密钥KSD解密,发送一个用与源节点S共享密钥KSD加密的确认信息给源节点S,其中,\n是所有通过节点的身份,KSD(m,ε,H(m,ε))是使\n用密钥KSD对m,ε和H(m,ε)的加密结果,m是通信成功的标识;\n[0058] 11)通信中所有节点根据监视模块更新存储信誉模块和路径管理模块中邻居节点的信誉信息,源节点S的存储信誉模块还根据确认信息的内容更新节点N1的信誉;\n[0059] 12)如通信失败,则源节点S重复步骤5)-8),源节点S的决策模块重新选择最适合的节点作为下一跳,如果还是选择节点N1,则重复上一次过程直到节点N1的信誉低于要求,选择其他节点,通信成功为止。\n[0060] 本发明与现有技术相比较所具有的有益效果:\n[0061] 1)使用基于身份的无线传感器网络安全信任方法,给网络的每个节点加载一个信任管理结构,在信任管理结构基础上节点间通过基于身份的公钥密码体制进行加密与认证,因此,节点间不需要交换大量的信息和进行大量的计算,只需知道目的节点的身份即可安全地交换信誉信息,在能量受限的无线传感器网络中,实现节点间的加密和认证,从而保证信誉信息的可靠性和可认证性,降低无线传感器网络中信誉计算的复杂性,提高无线传感器网络信任体系通信的安全性;\n[0062] 2)解决了节点信任的初始化问题,使节点在建立网络初期具有相同的信誉,通过更新节点信誉建立信任通信网络,具有实际的可操作性;\n[0063] 3)本发明建立的信任管理结构和信任网络符合无线传感器网络的特点,具有实际可用性;通过发送查询节点信息、查询信誉信息、接收查询响应信息、信誉响应信息解决了源节点和目的节点距离多跳情况下在信任网络上通信的问题,使本发明可以满足较大规模自组织网络应用。\n附图说明\n[0064] 图1本发明的信任管理系统框架结构\n[0065] 图2本发明的无线传感器网络实例拓扑结构\n具体实施方式\n[0066] 图2给出了本发明的基于身份的无线传感器网络实例拓扑结构,结合图2的拓扑结构实施实例,描述建立一个信任体系构建的工作过程;\n[0067] 一、构建信任网络\n[0068] 所有节点都向周围的邻居节点广播自己的身份IDi,收到信息的节点就知道自己邻居节点的身份,并且用自己的私钥与邻居节点的身份计算共享密钥Kij存放在密钥管理模块中,节点只保存其一跳范围内的邻居节点的信誉;\n[0069] 第一步,当节点A试图与节点B通信时,先广播查询目的节点B的信息IDA‖IDB;\n[0070] 第二步,节点A的邻居节点C,D,E的下一跳节点是目的节点B,则节点C,D,E发送查询响应信息IDi‖IDA‖IDB给节点A;\n[0071] 第三步,节点A随机选择一个节点D作为下一跳节点,用与B的共享密钥KAB加密明文信息M,将消息IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε))广播,其余节点判断消息中的ID与自身身份不符则丢弃消息,只有节点D被要求广播消息IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε)),然后A监督D点的行为;\n[0072] 第四步,节点D收到加密的消息后,广播IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε))给B,同时节点A收到该信息可以验证是否与发送的相同,根据消息正确性节点A调用信誉更新算法更新节点D的信誉信息;\n[0073] 第五步,节点B收到消息IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε))后,用与节点A的共享密钥KAB解密,然后发送一个加密共享密钥KAB的确认信息IDD‖IDB‖IDA‖KBA(m,ε,H(m,ε))给节点A;\n[0074] 第六步,节点A根据监视模块和确认信息的内容更新D点的信誉;\n[0075] 第七步,如通信成功,则无下一步动作;如通信失败,则节点A选择另外一个信誉高的节点作为下一跳节点;\n[0076] 通过上述步骤,信誉体系在通信的过程中动态的建立起来,此时每个节点的信誉不再是相同的。\n[0077] 二、在信誉体系上实现安全通信\n[0078] 1)当节点A试图与节点B通信时,需向其周围的邻居节点广播查询下一跳节点是否是目的节点B的查询信息IDA‖IDB;\n[0079] 2)节点A的邻居节点C,D,E的下一跳节点是目的节点B,则节点C,D,E发送查询响应信息IDi‖IDA‖IDB给节点A;\n[0080] 3)节点A广播查询节点C的信誉信息IDA‖IDC‖XiC‖ε,然后,具有节点C的信誉信息的节点返回,用与节点A的共享密钥加密信誉查询响应信息IDi‖IDA‖KiA(XiC,ε);\n[0081] 4)节点A调用信誉计算模块计算节点C的间接信誉和直接信誉,更新节点C的信誉信息;\n[0082] 5)重复上述步骤3)-4),计算节点D和E的信誉信息并更新;\n[0083] 6)比较节点C,D,E的信任值,根据应用选择最适合的节点作为通向目的节点B的下一跳节点,例如是节点D,用与目的节点B的共享密钥KAB加密明文信息M,将消息IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε))广播,其余节点判断IDD与自身ID不符则丢弃消息,只有节点D被要求广播消息IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε)),然后节点A监督节点D的行为;\n[0084] 7)节点D收到加密的消息后,广播IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε))给目的节点B,同时节点A收到该信息可以验证是否与发送的相同,根据消息正确性节点A调用信誉更新算法更新节点D的信誉信息;\n[0085] 8)目的节点B收到消息IDD‖IDA‖IDB‖KAB(M,ε,H(M,ε))后用与A的共享密钥KAB解密,发送一个用与A的共享密钥KAB加密的确认信息IDD‖IDB‖IDA‖KBA(m,ε,H(m,ε))给A;\n[0086] 第九步,节点A根据确认信息的内容调用信誉更新算法再次更新节点D的信誉;\n[0087] 第十步,若通信失败,则节点A重复步骤一至五,重新选择最适合的节点作为下一跳,如果还是选择节点D,则重复上一次过程直到节点D的信誉低于要求,选择其他节点,通信成功为止。
法律信息
- 2018-07-27
未缴年费专利权终止
IPC(主分类): H04W 12/00
专利号: ZL 200910023254.4
申请日: 2009.07.08
授权公告日: 2012.02.08
- 2012-02-08
- 2010-02-03
- 2009-12-09
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-04-29
|
2008-12-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |