专利名称:无线传感器网络中节点定位的方法、装置及传感器节点的制作方法
技术领域:
本发明涉及通信领域,尤其涉及一种无线传感器网络中节点定位的方法、装置及传感器节点。
背景技术:
无线传感器网络是由部署在监测区域内的大量微型、低成本、低功耗的传感器节点组成的无线网络,用以实现监测区域内敏感数据的采集、处理和传输。无线传感器网络在国防军事、环境监测、交通管理、工业应用、急救、灾难解救及病人监控等众多领域极具应用前景。在无线传感器网络中,确定节点或事件发生的位置对其监测活动至关重要。然而,无线传感器网络一般节点众多,分布区域广泛,部署方式随机,因此不可能预先知道所有节点的位置,所以无线传感器网络的节点定位问题就显得非常关键。现有的无线传感器定位技术大都假定所处的网络环境是安全可信的,忽略了定位过程中的安全问题。然而,传感器网络的开放性和无人看护性使节点的定位过程极易受到来自恶意节点或被俘获节点的攻击。攻击所产生的无效或错误的定位结果将可能导致严重后果,例如,产生错误甚至完全相反的监测结果、网络功能局部或整个瘫痪等。
发明内容
考虑到现有技术的上述缺陷,本发明的实施例提出一种无线传感器网络中节点定位的方法、装置及传感器节点,其能够防范外部攻击者冒充传感器节点的锚节点或者邻居节点而实施的定位欺骗攻击,从而提高了传感器节点定位的安全性和抗攻击能力。根据本发明的一种无线传感器网络中节点定位的方法,包括:接收一个目标节点的可见锚节点发送的第一消息,根据所述第一消息中的第一认证信息对目标节点的可见锚节点进行认证,并获得每一经认证可见锚节点的位置信息和来自所述每一经认证可见锚节点的接收信号的强度信息;接收所述目标节点的邻居节点发送的第二消息,根据所述第二消息中的第二认证信息对所述邻居节点进行认证,并获得来自每一经认证邻居节点的经认证可见锚节点的接收信号的强度信息;根据来自同一可见锚节点的接收信号的强度信息,比较所述目标节点与所述邻居节点距离该同一可见锚节点的远近,并确定所述目标节点的至少一个可能位置区域,其中,每一可能位置区域为所述目标节点位于其内部的、由所述目标节点的经认证可见锚节点中的任意四个作为顶点所组成的一个四面体;根据所述每一可能位置区域的重心,确定所述目标节点的位置。根据本发明的一种无线传感器网络中节点定位的装置,包括:第一处理模块,用于接收一个目标节点的可见锚节点发送的第一消息,根据所述第一消息中的第一认证信息对所述可见锚节点进行认证,并获得每一经认证可见锚节点的位置信息和来自所述每一经认证可见锚节点的接收信号的强度信息;第二处理模块,用于接收所述目标节点的邻居节点发送的第二消息,根据所述第二消息中的第二认证信息对所述邻居节点进行认证,并获得来自每一经认证邻居节点的经认证可见锚节点的接收信号的强度信息;第三处理模块,用于根据来自同一可见锚节点的接收信号强度信息,比较所述目标节点与所述邻居节点距离该同一可见锚节点的远近,并确定所述目标节点的至少一个可能位置区域,其中,每一可能位置区域为所述目标节点位于其内部的、由所述目标节点的经认证可见锚节点中的任意四个作为顶点所组成的一个四面体;第四处理模块,用于根据所述每一可能位置区域的重心,确定所述目标节点的位置。
本发明的目的、特点、特征和优点通过以下结合附图的详细描述将变得更加显而易见。其中:图1示出了根据本发明一个实施例的节点定位方法的流程示意图;以及图2示出了根据本发明一个实施例的节点定位装置的结构示意图。
具体实施例方式下面将结合附图详细描述本发明的各个实施例。本发明的实施例提供了一种无线传感器网络中的节点安全定位的方法。在本发明的实施例中,无线传感器网络包括多个节点,除了不知道位置的传感器节点即未知节点外,还部署了少数已知自身位置的锚节点,锚节点通常配备有高发射功率的无线收发器。示例性地,可以在锚节点上设置GPS (全球定位系统)定位器件来测得锚节点的位置,或通过将锚节点的位置信息预先存储在锚节点上来使锚节点已知其位置信息。锚节点向网络内的传感器节点广播信标消息,该信标消息可以包括锚节点的标识(ID)和锚节点的位置信息等。如果未知节点能够接收到来自某个锚节点的信标消息,则该锚节点为该未知节点的可听见的锚节点,简称可见锚节点。在本发明的实施例中,节点的标识是唯一的。示例性地,为了确保三维立体的通信范围,锚节点和传感器节点可以都装备全方位天线。将要进行位置估计的未知节点称为目标节点。在目标节点的通信半径R范围内的未知节点称为目标节点的邻居节点。具体地,假设一个无线传感器网络S= {s|l,2,...,m},其中m为大于2的正整数,目标节点s的真实坐标用三维坐标(xs,ys, zs)表示,通信半径是R,目标节点可以与位于其通信半径以内的传感器节点通信,则目标节点s(s e S)的邻居节点定义为:N(s) = {n e S| (xs_xn)2+(ys_yn)2+(zs_zn)2 < R2, η 关 s}。其中,一个目标节点的邻居节点可以有一个或多个。图1示出了根据本发明一个实施例的节点定位方法的流程示意图。如图1,本发明一个实施例的无线传感器网络中节点定位的方法,包括如下步骤:步骤S101,目标节点接收锚节点发送的第一消息,根据第一消息中的第一认证信息对自身的可见锚节点进行认证,并获得每一经认证的可见锚节点的位置信息和来自每一经认证的可见锚节点的接收信号强度信息。示例性地,该第一消息可以为信标消息,信标消息可以包括:锚节点的标识信息、锚节点的位置信息,以及第一认证信息。示例性地,可以使用哈希认证机制,如单向哈希链来进行锚节点的认证。具体地,可以利用上述信标消息中的第一认证信息来对信标消息的来源进行认证,如哈希认证。下面对如何利用哈希链来进行锚节点的认证进行示例性说明。该例中,待认证的每一个锚节点具有一个唯一的密钥PWi,该密钥可以使用抗冲突哈希函数H,例如MD5来进行掩码。由于抗冲突函数的抗冲突属性,对于攻击者而言,找到H(Pffi) = H(PWj),而Wi ^Wj在计算上是不可行的。可以使用下列方程来产生哈希序列:H°=PWi, Ht = HOT1),t = 1,...,T,其中T是一个较大的整数,而任何传感器节点都不知道H0的值。在每一个目标节点上都预先存储有第三认证信息,用于在接收到信标消息后根据第一认证信息对发送信标消息的锚节点进行哈希认证。示例性但不作为限制地,第三认证信息包括:锚节点的标识和该标识的锚节点所对应的哈希链结果,即哈希值。示例性地,可以在目标节点中维护一个表的数据结构,该表格包括两列数据,第一列是锚节点的标识,示例性地,该标识可以是一个字节,第二列是该标识的锚节点对应的哈希链结果,示例性地,该哈希链结果为16个字节。现在举例说明如何利用哈希值来认证锚节点的ID。锚节点Li的信标消息中包括用于进行认证的第一认证信息,示例性地,该第一认证信息包括OTt(PWi), 0,其中七为当前认证所需的哈希指数,第一次认证时,t = I。在目标节点第一次接收到某个可见锚节点Li的信标消息后,根据该可见锚节点的标识信息,确定与该标识信息相对应的哈希值Ht(Pffi丨并判断HOT1 (PWi))是否等于纪⑴^ i),如是,则该锚节点通过认证,否则,该锚节点未通过认证。在锚节点通过认证后,可进一步用IT1(PWi)将HT(PW' J替换掉,并将哈希指数t增加I。这样目标节点中存储了上一个哈希链结果HTf1(PWi),从而可以实现对来自相同的锚节点的信标消息只执行一次哈希计算。在信标消息中包含哈希指数,如果在通信过程中目标节点存储的上一个哈希链结果由于某些原因丢失了,例如目标节点未收到锚节点上一次发送的信标消息,该指数可以用于同步锚节点与目标节点的认证次数。此外,为了减少不同锚节点对应的哈希值所需的存储空间,对于时间/存储空间复杂度0(log2(n))的哈希链(即复杂度与以2为底的对数成正比),可以在目标节点中使用有效的存储或计算方法,以在需要的时候计 算出所需的哈希值,而无需预先将所有的哈希值存储在内。进一步地,为了保护定位信息以能够获得可靠的定位结果,避免定位信息泄露,可以将第一消息进行加密。目标节点接收到的第一消息,如信标消息可以是经过加密后的消息。由于传感器节点的计算功率和能量资源都受限制,示例性但不作为限制地,可以使用对称密钥加密解决方案来进行信标消息的加密,例如采用64比特的RC5对称密钥。具体地,在对信标消息加密时,可以在部署前预先在目标节点和锚节点上加载共享全球对称密钥Ktl。此外,每一个目标节点s与每一个锚节点Li共享一个配对密钥Kus,这个密钥也可以预先加载。由于配置的锚节点的数目相对小,目标节点侧所需要的存储空间在所允许的存储空间范围之内,假定锚节点的数目为L,则目标节点中总共要存储L个密钥,L为正整数。例如,在目标节点中可利用具有128K字节可编程闪存的Mica传感器来存储密钥。举例说明,当一个网络中具有200个锚节点,并使用64比特RC5对称密钥来加密时,一个目标节点共需要1.6K比特的存储空间来存储所有锚节点的配对密钥。由于目标节点的数目较多,假设目标节点的数目为N,N为正整数,则按常规的存储方式,锚节点将不得不存储N个密钥,这样对锚节点的存储空间要求较高。为了节省锚节点的存储空间,在本发明的实施例中,可以使用一个主密钥Ku来代替与每个目标节点相对应的配对密钥Kus,其中,配对密钥K'由主密钥Ku使用伪随机函数h和唯一的目标节点标识IDs来确定,具体由K'=h(Ku,IDs)导出。这样,在锚节点中只需存储主密钥Ku即可,在给定IDs的情况下,锚节点能够在需要的时候计算出其与某一目标节点的配对密钥,而无需存储任何配对密钥,从而减少了锚节点的存储空间需求。其中,目标节点标识IDs可以由目标节点发送给锚节点,或者预先存储在锚节点中。示例性地,锚节点发送的第一消息可以具有如下示例性的格式:Li =KXiJpZi) I I OTt(PWi)), t} K其中,(Xi, Yi, Zi)为锚节点Li的坐标,t为哈希指数,K表示对该第一消息进行加密的密钥,例如为与目标节点相对应的配对密钥K'。本领域的技术人员应当理解,第一消息的报文中还包括的锚节点标识信息在上述格式中并未体现,上述格式仅是示意性地,并不代表该消息仅包含格式中的部分。步骤S102,目标节点接收其邻居节点发送的第二消息,根据第二消息中的第二认证信息对邻居节点进行认证,并获得来自每一经认证邻居节点的经认证可见锚节点的接收
信号强度信息。示例性但不作为限制地,该步骤还可以包括获得每一经认证邻居节点的经认证可见锚节点的位置信息或标识信息。示例性地,第二消息还可以包括:邻居节点的标识信息;以及邻居节点的经认证可见锚节点的位置信息或标识信息。本领域的技术人员应当理解,在本发明的一些实施例中,第二消息还可以包括:来自邻居节点的每一经认证可见锚节点的接收信号强度信息。示例性地,该第二消息可以是交换消息,目标节点可以利用交换消息与其邻居节点进行自身的经认证可见锚节点的信息的交换,交换的信息可以包括:节点的标识信息,节点自身的经认证可见锚节点的位置信息或标识信息,节点中来自其每一经认证可见锚节点的接收信号强度信息。 与对锚节点的认证类似,可以利用哈希认证机制,如哈希链来认证邻居节点。在利用哈希链来认证邻居节点时,通过对所接收的由邻居节点发送的交换消息进行哈希认证来实现。具体地,可以利用上述第二认证信息来对第二消息,如交换消息的来源进行认证,如哈希认证。同上文所述的锚节点认证相似,预先在目标节点中存储邻居节点的标识信息和邻居节点所对应的哈希链结果。示例性地,邻居节点η的第二认证信息包括OTt (Pffn),t),其中,PWn为邻居节点η具有的唯一的密钥,t为当前认证所需的哈希指数,第一次认证时,t = I。示例性地,目标节点中可以包括第四认证信息,以在接收到交换消息后进行哈希认证。示例性但不作为限制地,第四认证信息包括:邻居节点的标识和该标识的邻居节点所对应的哈希链结果即哈希值。对邻居节点进行哈希认证的过程与上面所描述的对锚节点进行哈希认证的过程相似,在此不再赘述。进一步地,为了保护交换消息中的内容以保证可靠的定位结果,避免交换信息中的内容泄露,可以将第二消息加密。示例性但不作为限制地,可以采用与加密第一消息,如信标消息类似的加密方法来加密交换消息,在此不再赘述。此外,对于邻居节点众多的情况下,可以在目标节点中使用一个主密钥Kn来代替与每个邻居节点相对应的配对密钥Kns,其中,配对密钥Kns由主密钥Kn使用伪随机函数h'和邻居节点唯一的节点标识IDn来确定,具体由Kns = M (Kn, IDn)导出。这样,在目标节点中只需存储主密钥Kn即可,在给定IDn的情况下,目标节点能够在需要的时候计算出其与某一邻居节点的配对密钥,而无需存储任何配对密钥,从而减少了目标节点的存储空间需求。当然,当邻居节点数目不多时,也可以直接存储目标节点与邻居节点的配对密钥。示例性地,邻居节点\发送的第二消息的格式与锚节点发送的第一消息的格式相类似,也可以表示为:η: {(Xn, Yn, Zn) | | (H^t (Pffn)),t} κ其中,(Xi, Yi, Zi)为邻居节点Ni的坐标,j为哈希指数,K表示对该第二消息进行加密的密钥,例如为与目标节点相对应的配对密钥Kns。本领域的技术人员应当理解,第二消息的报文中还包括的邻居节点的标识信息在上述格式中并未体现,上述格式仅是示意性地,并不代表该消息仅包含格式中的部分。本领域的技术人员应当明白,在满足传感器节点的能量资源和存储资源约束的前提下,可以使用其它加密方法对第一消息和第二消息进行加密。步骤S103,目标节点根据来自同一可见锚节点的接收信号强度信息,比较其自身与邻居节点距离该同一可见锚节点的远近,并确定目标节点的至少一个可能位置区域,其中,每一可能位置区域为目标节点位于其内部的、由目标节点的经认证可见锚节点中的任意四个作为顶点所组成的一个四面体;步骤S104,目标节点根据每一可能位置区域的重心,确定自身的位置。例如,可以将目标节点的所有可能位置区域的重心坐标的平均值确定为目标节点的位置坐标。下面对步骤S103和S104的具体实现给出示例性说明。 本发明该实施例的定位方法的实施基于三维空间中的近似四面体内点定位方法(APIT-3D, Approximate Point-1n-Tetrahedron) 在节点不移动的假设前提下,本发明一个实施例的定位方法基于如下思想:如果目标节点判断自身位于某个由任意4个可见锚节点组成的四面体内部,则认为该四面体为该目标节点的一个可能位置区域(PLA,PossibleLocation Area) 0通过循环的选取由不同的可见锚节点作为顶点所组成的四面体进行测试,筛选出至少一个是PLA的四面体,可以不断缩小目标节点的周边区域,从而可以实现位置估计。
本发明的一个实施例中,基于在三维空间中、在给定的方向上无线信号的接收信号强度(RSS,Received Signal Strength)随着传播距离递减的思想,通过比较目标节点与邻居节点各自测量的来自同一个可见锚节点的接收信号强度,可以判断出目标节点与邻居节点各自距离该可见锚节点的远近。其中,在给定的传播方向上,传感器节点接收到来自某个可见锚节点的信号强度越弱,则说明该传感器节点距离该可见锚节点越远。在本发明的一个实施例中,可以通过在目标节点中预先设置可以测量接收信号强度的接收信号强度测量模块来获得可见锚节点的接收信号强度信息。示例性地,接收信号强度测量模块可以是内置的接收信号强度指示器电路。
在节点不移动的假设前提下,利用无线传感器网络节点密集分布的特点,在比较出一个目标节点s与其每一个邻居节点相对于二者的公共可见锚节点的远近后,当s的所有邻居节点中没有一个比S同时接近或远离一个选定四面体的四个顶点A,B, C,D时,则S认为自己位于四面体AB⑶的内部,否则,s认为自己位于四面体AB⑶的外部。由此来确定出目标节点是否位于某一四面体的内部,从而确定出目标节点的可能位置区域。其中,对于s的任意一个邻居节点η而言,若(An < As)&&(Bn < Bs)&&(Cn < Cs)&&(Dn < Ds)成立,则认为邻居节点η比s同时接近四面体AB⑶的所有四个顶点;若(An > As)&&(Bn >Bs)&&(Cn > Cs)&&(Dn > Ds)成立,则认为邻居节点η比s同时远离四面体AB⑶的所有四个顶点。An表示邻居节点η到顶点A的距离,As表示目标节点s到顶点A的距离,An < As表示邻居节点η比目标节点s距离顶点A更近。Bn、Bs、Cn、Cs、Dn和Ds的含义类似,分别表示邻居节点η或目标节点s到相应四面体顶点的距离,在此不再赘述。在本发明的实施例中,通过对目标节点所有的可见锚节点中的四个锚节点的不同组合进行测试,确定由四个可见锚节点作为顶点所构成的四面体是否为目标节点的可能位置区域,直到超过预先设定的最大组合数目或已经用尽了可见锚节点的所有组合,获得的所有可能位置区域形成可能位置区域集。然后,根据可能位置区域集中每一个可能位置区域的四个顶点的可见锚节点的位置信息确定出每一个可能位置区域的重心,并根据重心坐标确定目标节点的位置。下面举例说明如何确定目标节点的可能位置区域。该例中,示例性但不作为限制地,仅以四个经认证的可见锚节点A,B,C,和D为例。目标节点在接收到锚节点的信标消息后,进行认证,并将获得的经认证的可见锚节点A,B, C,和D的位置信息和来自锚节点A,B,C,和D中各锚节点的RSS信息存储在表I中。
权利要求
1.一种无线传感器网络中节点定位的方法,包括: 接收一个目标节点的可见锚节点发送的第一消息,根据所述第一消息中的第一认证信息对所述可见锚节点进行认证,并获得每一经认证可见锚节点的位置信息和来自所述每一经认证可见锚节点的接收信号的强度信息; 接收所述目标节点的邻居节点发送的第二消息,根据所述第二消息中的第二认证信息对所述邻居节点进行认证,并获得来自每一经认证邻居节点的经认证可见锚节点的接收信号的强度信息; 根据来自同一可见锚节点的接收信号的强度信息,比较所述目标节点与所述邻居节点距离该同一可见锚节点的远近,并确定所述目标节点的至少一个可能位置区域,其中,每一可能位置区域为所述目标节点位于其内部的、由所述目标节点的经认证可见锚节点中的任意四个作为顶点所组成的一个四面体; 根据所述每一可能位置区域的重心,确定所述目标节点的位置。
2.根据权利要求1所述的方法,其特征在于,所述第一消息包括: 所述可见锚节点的标 识信息;以及 所述可见锚节点的位置信息。
3.根据权利要求1所述的方法,其特征在于,所述第二消息包括: 所述邻居节点的标识信息;以及 所述邻居节点的经认证可见锚节点的位置信息或标识信息。
4.根据权利要求3所述的方法,其特征在于,所述第二消息还包括: 来自所述邻居节点的每一经认证可见锚节点的接收信号的强度信息。
5.根据权利要求1所述的方法,其特征在于,还包括: 根据所述第一认证信息对所述目标节点的可见锚节点进行哈希认证。
6.根据权利要求1所述的方法,其特征在于,还包括: 根据所述第二认证信息对所述邻居节点进行哈希认证。
7.根据权利要求1所述的方法,其特征在于,所述第一消息和/或所述第二消息进行了加密。
8.根据权利要求1所述的方法,其特征在于,还包括: 当所述目标节点的所有邻居节点中没有一个比所述目标节点同时接近或远离一个所述四面体的四个顶点时,确定所述目标节点位于所述四面体的内部。
9.根据权利要求1所述的方法,其特征在于,还包括: 将所述目标节点的所有可能位置区域的重心坐标的平均值确定为所述目标节点的位置坐标。
10.一种无线传感器网络中节点定位的装置,包括: 第一处理模块,用于接收一个目标节点的可见锚节点发送的第一消息,根据所述第一消息中的第一认证信息对所述可见锚节点进行认证,并获得每一经认证可见锚节点的位置信息和来自所述每一经认证可见锚节点的接收信号的强度信息; 第二处理模块,用于接收所述目标节点的邻居节点发送的第二消息,根据所述第二消息中的第二认证信息对所述邻居节点进行认证,并获得来自每一经认证邻居节点的经认证可见锚节点的接收信号的强度信息;第三处理模块,用于根据来自同一可见锚节点的接收信号强度信息,比较所述目标节点与所述邻居节点距离该同一可见锚节点的远近,并确定所述目标节点的至少一个可能位置区域,其中,每一可能位置区域为所述目标节点位于其内部的、由所述目标节点的经认证可见锚节点中的任意四个作为顶点所组成的一个四面体; 第四处理模块,用于根据所述每一可能位置区域的重心,确定所述目标节点的位置。
11.根据权利要求10所述的装置,其特征在于,还包括: 接收信号强度测量模块,用于测量来自所述每一经认证可见锚节点的接收信号的强度。
12.根据权利要求10所述的装置,其特征在于,所述第一消息包括: 所述可见锚节点的标识信息;以及 所述可见锚节点的位置信息。
13.根据权利 要求10所述的装置,其特征在于,所述第二消息包括: 所述邻居节点的标识信息;以及 所述邻居节点的经认证可见锚节点的位置信息或标识信息。
14.根据权利要求13所述的装置,其特征在于,所述第二消息还包括: 来自所述邻居节点的每一经认证可见锚节点的接收信号的强度信息。
15.根据权利要求10或12所述的装置,其特征在于,还包括: 存储模块,用于存储第三认证信息; 所述第一处理模块进一步用于根据所述第一认证信息和所述第三认证信息对所述可见锚节点进行哈希认证。
16.根据权利要求10或13所述的装置,其特征在于,还包括: 存储模块,用于存储第四认证信息; 所述第二处理模块进一步用于根据所述第二认证信息和所述第四认证信息对所述邻居节点进行哈希认证。
17.根据权利要求10所述的装置,其特征在于,所述第一消息和/或第二消息进行了加LU O
18.根据权利要求10所述的装置,其特征在于, 所述第三处理模块进一步用于当所述目标节点的所有邻居节点中没有一个比所述目标节点同时接近或远离一个所述四面体的四个顶点时,确定所述目标节点位于所述四面体的内部。
19.根据权利要求10所述的装置,其特征在于, 所述第四处理模块进一步用于将所述目标节点的所有可能位置区域的重心坐标的平均值确定为所述目标节点的位置坐标。
20.一种无线传感器网络中的传感器节点,包括如权利要求10至19任一所述的装置。
全文摘要
本发明涉及一种无线传感器网络中节点定位的方法、装置及传感器节点,该方法包括接收一个目标节点的可见锚节点发送的第一消息,根据第一消息中的第一认证信息对所述可见锚节点进行认证,并获得每一经认证可见锚节点的位置信息和来自每一经认证可见锚节点的接收信号的强度信息;接收所述目标节点的邻居节点发送的第二消息,根据第二消息中的第二认证信息对所述邻居节点进行认证,并获得来自每一经认证邻居节点的经认证可见锚节点的接收信号的强度信息;根据来自同一可见锚节点的接收信号的强度信息,确定所述目标节点的可能位置区域;根据每一可能位置区域的重心,确定所述目标节点的位置。利用本发明,可以提高节点定位的安全性和抗攻击能力。
文档编号H04W64/00GK103200568SQ20121000408
公开日2013年7月10日 申请日期2012年1月6日 优先权日2012年1月6日
发明者刘玉恒 申请人:西门子公司