Nothing Special   »   [go: up one dir, main page]

CN103701700B - 一种通信网络中的节点发现方法及系统 - Google Patents

一种通信网络中的节点发现方法及系统 Download PDF

Info

Publication number
CN103701700B
CN103701700B CN201310723937.7A CN201310723937A CN103701700B CN 103701700 B CN103701700 B CN 103701700B CN 201310723937 A CN201310723937 A CN 201310723937A CN 103701700 B CN103701700 B CN 103701700B
Authority
CN
China
Prior art keywords
node
information
address
hop
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310723937.7A
Other languages
English (en)
Other versions
CN103701700A (zh
Inventor
李凤华
李晖
曹进
马建峰
张明星
耿魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Institute of Information Engineering of CAS
Original Assignee
Xidian University
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University, Institute of Information Engineering of CAS filed Critical Xidian University
Priority to CN201310723937.7A priority Critical patent/CN103701700B/zh
Publication of CN103701700A publication Critical patent/CN103701700A/zh
Application granted granted Critical
Publication of CN103701700B publication Critical patent/CN103701700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种通信网络中的节点发现方法及系统;方法包括:源节点发送发现请求报文至下一跳节点,所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;收到发现请求报文的节点向源节点返回本节点提交给源节点的验证信息;根据其中的地址信息判断本节点是否为目的节点,如果不是目的节点则将发现请求报文转发给本节点的下一跳节点;源节点当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各节点确定为可信节点。本发明能确保网络设备之间通信传输的安全性和可靠性,减少通信延迟。

Description

一种通信网络中的节点发现方法及系统
技术领域
本发明涉及通信领域,尤其涉及一种通信网络中的节点发现方法及系统。
背景技术
通信网络的出现,使得人与人之间可以更加快速地沟通,信息的交流更加顺畅。通信网络作为信息传递的一种主要载体,已经取得了前所未有的发展,在基础性和全局性地位日益突出的同时,也不断面临着日益多样化的安全威胁和越来越复杂的网络安全环境。由于互联网具有开放性、全球性、虚拟性、身份的不确定性、非中心化与平等性等特征,使得人们的某些需求得以满足,也正是由于互联网的这些特征,同时又产生了许多安全问题。特别是针对高速的、大型的、复杂多跳的通信网络来说,网络的安全性尤为重要。
互联网中,信息的传送是通过网中许多段的传输介质和设备(路由器,交换机,服务器,网关等等)从一端到达另一端。路径选择是通信网络设计和运行必须要考虑的因素之一。对于网络的运行来说,其路径选择就是找到一条从源端发出的信息经最小的代价传输到目的端。由于通信网络开放性的特点,使得数据包中信息的机密性在通信网络传输过程中无法得到有效保证。携带在数据包中的信息可能暴露给路径上的恶意节点,一方面通过暴力方式破解数据包中的信息,另一方面利用一些投降节点来获取网络中的信息。在获得这些网络的拓扑信息后,恶意节点就会相应地实施各种攻击。因此,对于信息的发送端来说,应找到一条可信的到达目的端的有效路径,确保信息传送过程中每一个节点都是可信的,从而保证信息不被非法节点所获取。
在通信网络中,现存最常用的节点发现过程为traceroute探测过程。这个过程利用增加TTL(存活时间)值来实现其功能。每当数据包经过一个路由器,其存活时间就会减1;当其存活时间是0时,设备便取消数据包,并传送一个ICMP(Internet Control Message Protocol,Internet控制报文协议)TTL数据包给原数据包的发出者。但是,这个过程并没有确保所查找到的路径上节点的真实性和可靠性,而且每次节点发现过程都需要重复发送多条数据包,因此大大耗费了网络开销。
IETF(互联网工程任务组)为了解决同一链路上不同节点之间的通信和地址自动配置问题,提出了一种邻居发现协议NDP。这个协议是IPv6协议的基本组成部分,但是必须建立在可信网络的基础上,在现实中存在着大量的安全威胁。随后,IETF提出了IPSec认证头和SEND(Secure NeighborDiscovery,安全邻居发现)协议来提高NDP的安全性。通过添加密码生成地址,RSA(一种公钥加密算法)签名,时间戳以及当前会话标签选项,并引入路由器的认证机制,安全邻居发现协议大大提高了邻居发现过程的安全性,但是这个协议仍然存在着大量的安全问题,如不能抵抗伪造NDP报文攻击。近年来,研究者也设计了多种针对adhoc(点对点)网络的路由发现协议,但是由于adhoc网络局部、小型、无线性等特点,并不适合于跨域、高速、大型的通信网络。
发明内容
本发明要解决的技术问题是如何确保网络设备之间通信传输的安全性和可靠性,减少通信延迟。
为了解决上述问题,本发明提供了一种通信网络中的节点发现方法,包括:
S101、源节点发送发现请求报文至下一跳节点,所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;
S102、收到所述发现请求报文的节点向所述源节点返回本节点提交给所述源节点的验证信息,包括:本节点的地址信息和数字证书,以及本节点针对源节点的挑战响应值;根据其中的所述地址信息判断本节点是否为目的节点,如果不是目的节点则将所述发现请求报文转发给本节点的下一跳节点;
S103、所述源节点当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各所述节点确定为可信节点。
可选地,一个节点针对源节点的挑战响应值为源节点和该节点之间的相关信息,与采用该节点的私钥对该相关信息生成的签名进行逻辑运算的结果;其中,源节点和该节点之间的相关信息包括:该节点的身份信息、源节点的身份信息、及所述源节点生成的挑战值;
所述源节点根据所收到的各节点提交的验证信息对各节点进行验证的步骤包括:
所述源节点分别验证各节点提交的验证信息中的地址信息及数字证书是否有效;分别通过各节点数字证书中携带的公钥验证该节点生成的挑战响应值里的签名是否有效。
可选地,所述将所述发现请求报文转发给本节点的下一跳节点的步骤包括:
保存所述发现请求报文中的上一跳节点的地址信息,然后删除所述发现请求报文中源节点以外的其它节点的附加信息,在所述发现请求报文中增加本节点的附加信息,最后发送给本节点的下一跳节点;所述附加信息包括:本节点的地址信息、身份信息及本节点生成的挑战值;
所述步骤S102中还包括:
当上一跳节点不为所述源节点时构造邻近发现响应报文发送给上一跳节点,其中携带本节点提交给上一跳节点的验证信息,包括:本节点的地址信息、数字证书以及本节点针对上一跳节点的挑战响应值;本节点针对上一跳节点的挑战响应值为上一跳节点和本节点之间的相关信息,与采用本节点的私钥对该相关信息所生成的签名进行逻辑运算的结果;其中,上一跳节点和本节点之间的相关信息包括:本节点的身份信息、上一跳节点的身份信息、及所述上一跳节点生成的挑战值。
可选地,所述的方法还包括:
收到所述邻近发现响应报文的节点验证其中下一跳节点的地址信息和数字证书是否有效,并通过该下一跳节点的数字证书中携带的公钥验证该下一跳节点生成的挑战响应值里的签名是否有效;如果均有效则保存该下一跳节点的地址信息。
可选地,所述步骤S103后还包括:
S104、各中间节点Ri分别进行以下步骤,所述中间节点为所述目的节点以外的收到所述发现请求报文的节点:
41、Ri将本节点的上一跳节点作为上行请求对象节点;如果本节点保存有下一跳节点的地址信息,则将该下一跳节点作为下行请求对象节点;将跳数值设为1;
42、Ri向所述上行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述上行请求对象节点的上一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
如果存在所述下行请求对象节点,则Ri向所述下行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述下行请求对象节点的下一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
43、所述上/下行请求对象节点收到所述Ri发送的请求上/下一跳节点地址信息的节点地址请求报文后,如果本节点有上/下一跳节点的地址信息,则构造节点验证请求报文返回给Ri,其中携带本节点的身份信息、数字证书、本节点生成的挑战值及所述本节点针对Ri的挑战响应值;
44、Ri收到所述上/下行请求对象节点的节点验证请求报文后,如果验证通过则发送节点验证响应报文给所述上/下行请求对象节点,其中携带Ri的数字证书及Ri针对所述上/下行请求对象节点的挑战响应值;
45、所述上/下行请求对象节点收到所述节点验证响应报文后,如果验证通过,则将本节点的上/下一跳节点的地址信息反馈给Ri
46、如果所收到的地址信息并不属于Ri要找的目标节点,则将Ri从所述上行请求对象节点所收到的地址信息对应的节点作为Ri的上行请求对象节点,将Ri从所述下行请求对象节点所收到的地址信息对应的节点作为Ri的下行请求对象节点,将所述跳数值加1,然后返回步骤42;如果收到的地址信息属于Ri要找的目标节点,则邻近节点发现过程结束。
本发明还提供了一种通信网络中的节点发现系统,包括:
多个节点,其中至少包括准备进行节点发现的源节点及目的节点;
各节点分别包括:
请求发送模块,用于当本节点作为源节点时,发送发现请求报文至下一跳节点,在所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;
请求响应模块,用于当收到所述发现请求报文后,向源节点返回本节点提交给所述源节点的验证信息,包括:本节点的地址信息和数字证书,以及本节点针对源节点的挑战响应值;
请求转发模块,用于当收到所述发现请求报文后,根据其中的地址信息判断本节点是否为目的节点;如果本节点是中间节点则将所述发现请求报文转发给本节点的下一跳节点;
验证模块,用于当本节点作为源节点时,当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各所述节点确定为可信节点。
可选地,一个节点针对源节点的挑战响应值为源节点和该节点之间的相关信息,与采用该节点的私钥对该相关信息生成的签名进行逻辑运算的结果;其中,源节点和该节点之间的相关信息包括:该节点的身份信息、源节点的身份信息、及所述源节点生成的挑战值;
所述验证模块根据所收到的各节点提交的验证信息对各节点进行验证是指:
所述验证模块分别验证各节点提交的验证信息中的地址信息及数字证书是否有效;分别通过各节点数字证书中携带的公钥验证该节点生成的挑战响应值里的签名是否有效。
可选地,所述请求转发模块将所述发现请求报文转发给本节点的下一跳节点是指:
所述请求转发模块保存所述发现请求报文中的上一跳的地址信息,然后删除所述发现请求报文中所述源节点以外的其它节点的附加信息,在所述发现请求报文中增加本节点的附加信息,最后发送给本节点的下一跳节点;所述附加信息包括:本节点的地址信息、身份信息及本节点生成的挑战值;
各节点中还包括:
邻近响应模块,用于当上一跳节点不为所述源节点时,构造邻近发现响应报文发送给上一跳节点,其中携带本节点提交给上一跳节点的验证信息,包括:本节点的地址信息、数字证书以及本节点针对上一跳节点的挑战响应值;本节点针对上一跳节点的挑战响应值为上一跳节点和本节点之间的相关信息,与采用本节点的私钥对该相关信息所生成的签名进行逻辑运算的结果;其中,上一跳节点和本节点之间的相关信息包括:本节点的身份信息、上一跳节点的身份信息、及所述上一跳节点生成的挑战值。
可选地,所述验证模块还用于当收到所述邻近发现响应报文后,验证其中下一跳节点的地址信息和数字证书是否有效,并通过该下一跳节点的数字证书中携带的公钥验证该下一跳节点生成的挑战响应值里的签名是否有效;如果均有效则保存该下一跳节点的地址信息。
可选地,各节点中还包括:
邻近节点发现模块,包括:
地址请求单元;
设置单元,用于当本节点收到所述发现请求报文且本节点不是所述目的节点时,将本节点的上一跳节点作为上行请求对象节点;如果本节点保存有下一跳节点的地址信息,则将该下一跳节点作为下行请求对象节点;将跳数值设为1,和所述上行、下行请求对象节点一起发送给所述地址请求单元;
所述地址请求单元用于向所述上行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述上行请求对象节点的上一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;如果存在下行请求对象节点,则向所述下行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述下行请求对象节点的下一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
验证请求单元,用于当收到节点Ra发送的请求上/下一跳节点地址信息的所述节点地址请求报文后,如果本节点保存有上/下一跳节点的地址信息,则构造节点验证请求报文返回给所述节点Ra,其中携带本节点的身份信息、数字证书、本节点生成的挑战值及所述本节点针对所述节点Ra的挑战响应值;
验证响应单元,用于当收到节点Rb返回的所述节点验证请求报文后,如果验证通过则发送节点验证响应报文给所述节点Rb,其中携带本节点的数字证书及本节点针对所述节点Rb的挑战响应值;
所述验证请求单元还用于当收到所述节点验证响应报文后,如果验证通过,则反馈本节点的上/下一跳节点的地址信息;
所述设置单元还用于当所收到的地址信息并不属于本节点要找的目标节点时,将本节点从所述上行请求对象节点所收到的地址信息对应的节点作为所述上行请求对象节点,将本节点从所述下行请求对象节点所收到的地址信息对应的节点作为所述下行请求对象节点,将所述跳数值加1,然后和所述上行请求对象节点、所述下行请求对象节点一起发送给所述地址请求单元;如果收到的地址信息属于本节点要找的目标节点,则邻近节点发现过程结束。
本发明的技术方案适用于通信网络中的可信节点发现,采用挑战-应答的方式,通过对路径上节点的真实性验证,确保发现的节点都是可信的,从而能够确保网络设备之间的通信传输是安全可靠的,而且流程简单,无需重复发送多条数据包,因此大大减少了通信延迟;本发明的优化方案适用于通信网络中的邻近节点发现,路径上的节点可通过存储相关邻近节点的IP地址查找到路径上其他节点的位置,并可实现路径上节点间的相互认证。本发明的技术方案由于流程简便且安全可靠,因此对于高速、大型、复杂多跳的通信网络也同样可以适用。
附图说明
图1为实施例一的节点发现方法的流程示意图;
图2为实施例一中可信节点发现方法的流程示意图;
图3为实施例一的邻近节点发现方法的流程示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一、一种通信网络中的节点发现方法,如图1所示,包括:
S101、源节点发送发现请求报文至下一跳节点,所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;
S102、收到所述发现请求报文的节点向所述源节点返回本节点提交给所述源节点的验证信息,包括:本节点的地址信息和数字证书,以及本节点针对源节点的挑战响应值;根据其中的所述地址信息判断本节点是否为目的节点,如果不是目的节点则将所述发现请求报文转发给本节点的下一跳节点;
S103、所述源节点当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各所述节点确定为可信节点。
本实施例中,将整个发现请求报文传递过程中经过的、除了所述源节点和目的节点以外的节点称为中间节点;步骤S101中,通常源节点的下一跳节点为第一个中间节点,但也不排除下一跳节点就是目的节点的情况。
本实施例中,所述中间节点可以但不限于通过非终端发现响应报文向所述源节点返回本节点提交给所述源节点的验证信息;所述目的节点可以但不限于通过节点发现结束响应报文向所述源节点返回本节点提交给所述源节点的验证信息。
本实施例中,所述地址信息可以但不限于为IP地址;收到所述发现请求报文的节点可以通过比较本节点的IP地址和所述目的节点的IP地址是否相同,来判断本节点是否为目的节点。
本实施例采用身份信息和数字证书以及非对称的挑战应答认证机制来确保节点发现过程中的安全性,所述源节点可以通过验证中间节点/目的节点的地址信息、数字证书、及挑战响应值是否有效,来判断发现过程中的各节点是否可信。
本实施例的一种实施方式中,一个节点针对源节点的挑战响应值可以但不限于为源节点和该节点之间的相关信息,与采用该节点的私钥对该相关信息生成的签名进行逻辑运算的结果;其中,源节点和该节点之间的相关信息包括:该节点的身份信息、源节点的身份信息、及所述源节点生成的挑战值。
本实施方式中,所述源节点根据所收到的各节点提交的验证信息对各节点进行验证的步骤具体可以包括:
所述源节点分别验证各节点提交的验证信息中的地址信息及数字证书是否有效;分别通过各节点数字证书中携带的公钥验证该节点生成的挑战响应值里的签名是否有效。
本实施方式中,所述节点的身份信息、数字证书及公私钥对可以但不限于是该节点向PKI(Public Key Infrastructure,公钥基础设施)申请的。
本实施方式进一步基于证书的PKI技术体系来确保节点发现过程中的安全性;所有的节点会在初始化时向PKI申请相关的数字证书和公私钥对,只有PKI认为是合法的用户才能申请到相关的数字证书和公私钥对。在可信节点发现过程中,路径上的所有节点(各中间节点及目的节点)都发送PKI分配给本节点的数字证书以及用PKI分配给本节点的私钥生成的签名到源节点,源节点通过验证证书和签名有效性来实现对节点身份的真实性验证。只有合法的用户的数字证书和生成的签名能够通过源节点的认证。
本实施例的一种实施方式中,所述将所述发现请求报文转发给本节点的下一跳节点的步骤具体可以包括:
保存所述发现请求报文中的上一跳节点的地址信息,然后删除所述发现请求报文中所述源节点以外的其它节点的附加信息,在所述发现请求报文中增加本节点的附加信息,最后发送给本节点的下一跳节点;所述附加信息包括:本节点的地址信息、身份信息及本节点生成的挑战值;
本实施方式中,为了与所述源节点发送的原始的发现请求报文相区别,可以将各中间节点转发的、增加了本节点附加信息的发现请求报文称为中转发现请求报文。
本实施方式中,除了直接从所述源节点收到发现请求报文的第一个中间节点之外,其余的中间节点都需要删除将发现请求报文转发给本节点的上一跳节点的附加信息。
本实施方式中,所述步骤S102中还可以包括:
当上一跳节点不为所述源节点时,构造邻近发现响应报文发送给上一跳节点,其中携带本节点提交给上一跳节点的验证信息,包括:本节点的地址信息、数字证书以及本节点针对上一跳节点的挑战响应值;本节点针对上一跳节点的挑战响应值可以但不限于为上一跳节点和本节点之间的相关信息,与采用本节点的私钥对该相关信息所生成的签名进行逻辑运算的结果;其中,上一跳节点和本节点之间的相关信息包括:本节点的身份信息、上一跳节点的身份信息、及所述上一跳节点生成的挑战值。
本实施方式中,所述方法还可以包括:
收到所述邻近发现响应报文的节点验证其中下一跳节点的地址信息和数字证书是否有效,并通过该下一跳节点的数字证书中携带的公钥验证该下一跳节点生成的挑战响应值里的签名是否有效;如果均有效则保存该下一跳节点的地址信息。
本实施方式中,只有经过验证的邻近节点的地址信息才会被中间节点存储起来用于邻近节点发现,进一步保障了节点发现过程的安全性。
下面用一个可信节点发现的具体例子进行说明;该例子中,假设PKI已经分别向各合法的中间节点下发了该节点的数字证书和公私钥对,所述地址信息为IP地址;由发送端到接收端的可信节点发现过程如图2所示,具体包括如下步骤:
步骤201,发起方S将携带有发起方的地址IP_S、所要查找的目的节点的IP地址IP_Rn、跳数值Hop、发起方的身份信息ID_S以及发起方随机选择的挑战值Random_S的源端节点发现请求报文发送至第一个中间节点R1,此时Hop为0。
步骤202,中间节点R1收到源端节点发现请求报文后,保存源端节点的IP地址IP_S,并进行如下操作:
2021、R1验证是否自身是发起方S所要查找的目的节点,R1对比自己的IP地址与源端节点发现请求报文中的目的节点的IP地址,如果相同则进行步骤205;如果并不相同,则R1在源端节点发现请求报文的基础上添加R1的附加信息;所述R1的附加信息包括:R1的IP地址IP_R1、R1的身份信息ID_R1和一个R1生成的挑战值Random_R1,并改变Hop为1,从而得到一个中转发现请求报文,将此中转发现请求报文发送至下一跳节点R2
2022、同时R1利用PKI给它颁发的私钥对S和R1之间的相关信息生成签名;所述S和R1之间的相关信息包括:S的身份信息ID_S、R1的身份信息ID_R1以及S生成的挑战值Random_S;将得到的签名与所述S和R1之间的相关信息构成R1针对S的挑战响应值:
TokenR1S=ID_R1||ID_S||Random_S||SignR1(ID_R1||ID_S||Random_S);
其中||表示预定的逻辑运算,SignX(M)表示利用X的私钥对消息M生成的签名,这里使用的签名算法可由PKI指派也可由各节点协商确定。然后R1构造一个非终端发现响应报文发送至发起方S,其中携带R1提交给S的验证信息,包括R1的IP地址IP_R1、R1的数字证书Cert_R1以及R1针对S的挑战响应值TokenR1S。
步骤2021和2022不分前后,也可以并行。
步骤203,中间节点R2收到中转发现请求报文后,保存上一跳节点R1的IP地址IP_R1,并进行如下操作:
2031、R2类似于步骤2021中R1的操作,首先判断自身是否是目的节点,如果是则进行步骤205;如果发现IP地址并不匹配,则R2将所收到的中转发现请求报文中R1的附加信息删除,添加R2的附加信息(相当于在源端节点发现请求报文的基础上添加R2的附加信息);所述R2的附加信息包括:R2的IP地址IP_R2、R2的身份信息ID_R2和一个R2生成的挑战值Random_R2,并将Hop设为2,从而得到一个新的中转发现请求报文,将此新的中转发现请求报文发送至下一跳节点R3
2032、R2类似于步骤2022中R1的操作,只是将R1提交给S的验证信息换成R2提交给S的验证信息,将S和R1之间的相关信息换成所述S和R2之间的相关信息;先生成R2针对S的挑战响应值TokenR2S=ID_R2||ID_S||Random_S||SignR2(ID_R2||ID_S||Random_S),并构造一个新的非终端发现响应报文发送至发起方S,其中携带R2提交给S的验证信息,包括R2的IP地址IP_R2、数字证书Cert_R2以及R2针对S的挑战响应值TokenR2S。
2033、R2利用PKI给它颁发的私钥对R1和R2之间的相关信息生成签名;所述R1和R2之间的相关信息包括R1的身份信息ID_R1、R2的身份信息ID_R2以及R1生成的挑战值Random_R1;将得到的签名与所述R1和R2之间的相关信息构成R2针对R1的挑战响应值:
TokenR2R1=ID_R2||ID_R1||Random_R1||SignR2(ID_R2||ID_R1||Random_R1);
R2构造一个邻近发现响应报文发送给上一跳节点R1,其中携带R2提交给R1的验证信息,包括IP_R2、Cert_R2以及R2针对R1的挑战响应值TokenR2R1
步骤203中,构造和发送中转发现请求报文、非终端发现响应报文和邻近发现响应报文的步骤不分先后且可以并行,步骤204中也是如此。
步骤204,后继的中间节点Ri(2<i≤n-1,其中n-1为所述节点发现请求报文从所述发起方S传递到目的节点所经历的中间节点的个数)收到中转发现请求报文和邻近发现响应报文后,保存收到的中转发现请求报文中的上一跳节点的IP地址,并进行如下操作:
2041、Ri类似于步骤2031中R2的操作,构造新的中转发现请求报文发送至下一跳节点Ri+1,这里只需将步骤2031中所有R2的附加信息替换为Ri的附加信息即可,也就是Ri删去所收到的中转发现请求报文中Ri-1的附加信息,添加Ri的附加信息,从而得到新的中转发现请求报文。
2042、Ri类似于步骤2032中R2的操作,构造非终端响应报文发送至S;这里只需将步骤2032中R2提交给S的验证信息替换为Ri提交给S的验证信息即可。
2043、Ri类似于步骤2033中R2的操作,构造新的邻近发现响应报文发送至上一跳节点Ri-1,这里只需将步骤2033中R1和R2之间的相关信息替换为Ri-1和Ri之间的相关信息(包括Ri-1的身份信息ID_Ri-1、Ri的身份信息ID_Ri以及Ri-1生成的挑战值Random_Ri-1)即可。
中间节点Ri(1≤i≤n-1)验证来自下一跳节点Ri+1(其中Rn-1的下一跳节点是目的节点Rn)的邻近发现响应报文中的数字证书Cert_Ri+1是否有效,并利用Ri+1的数字证书中的公钥验证Ri+1针对Ri的挑战响应值TokenRi+1Ri中的签名是否有效;如果都是有效的,则Ri存储来自下一跳的邻近发现响应报文中的Ri+1的IP地址IP_Ri+1,以备中间节点间的邻近节点发现。数字证书和签名中只要有一个无效,则Ri将不存储下一跳节点的IP地址。
步骤205,目的节点Rn收到上一跳节点Rn-1(Rn-1即最后一个中间节点)发送的中转发现请求报文后,保存上一跳节点的IP地址,并进行如下操作:
2051、目的节点Rn利用PKI给它颁发的私钥对S和Rn之间的相关信息生成签名;所述S和Rn之间的相关信息包括:S的身份信息ID_S、Rn的身份信息ID_Rn、以及S生成的挑战值Random_S,将得到的签名与所述S和Rn之间的相关信息构成Rn针对S的挑战响应值:
TokenRnS=ID_Rn||ID_S||Random_S||SignRn(ID_Rn||ID_S||Random_S);
Rn构造一个节点发现结束响应报文发送至发起方S,其中携带Rn的IP地址IP_Rn、数字证书Cert_Rn以及Rn针对S的挑战响应值TokenRnS,表明发现过程已结束。
2052、Rn类似于步骤2033中R2的操作,构造新的邻近发现响应报文发送至上一跳节点Rn-1,这里只需将R1和R2之间的相关信息替换为Rn-1和Rn之间的相关信息(包括Rn-1的身份信息ID_Rn-1、Rn的身份信息ID_Rn以及Rn-1生成的挑战值Random_Rn-1)即可。
步骤205中,构造节点发现结束响应报文和邻近发现响应报文的步骤不分先后且可以并行。
步骤206,发起方S验证来自所有中间节点的非终端发现响应报文、以及来自目的节点的节点发现结束响应报文中的数字证书是否有效,并分别利用各节点的数字证书中的公钥验证该节点针对S的挑战响应值中的签名是否有效;如果全部节点(中间节点及目的节点)的数字证书及签名均有效,则将所述全部节点确定为可信节点;只要有任何一个节点的数字证书或签名是无效的,则S将不信任所搜索的路径,并重新发起可信节点发现过程。
本实施例的一种实施方式中,所述步骤S103后还可以包括:
S104、各中间节点Ri分别进行以下步骤,所述中间节点为所述目的节点以外的收到所述发现请求报文的节点:
41、Ri将本节点的上一跳节点作为上行请求对象节点;如果本节点保存有下一跳节点的地址信息,则将该下一跳节点作为下行请求对象节点;将跳数值设为1;
42、Ri向所述上行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述上行请求对象节点的上一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
如果存在所述下行请求对象节点,则Ri向所述下行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述下行请求对象节点的下一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
43、所述上/下行请求对象节点收到所述Ri发送的请求上/下一跳节点地址信息的节点地址请求报文后,如果本节点有上/下一跳节点的地址信息,则构造节点验证请求报文返回给Ri,其中携带本节点的身份信息、数字证书、本节点生成的挑战值及所述本节点针对Ri的挑战响应值;
本步骤及后续步骤中,上行请求对象节点和下行请求对象节点的操作是各自独立的,Ri相对于上行请求对象节点和下行请求对象节点的操作也是各自独立的;各自独立意味着互不影响,且互不依赖——有可能都发生,也可能只发生上行/下行的部分。比如本步骤中,作为Ri的上行请求对象节点,只可能收到Ri发送的请求上一跳节点地址信息的节点地址请求报文,也只需要判断本节点是否有上一跳节点的地址信息;至于下行请求对象节点怎么做,是否做,甚至无论是否存在下行请求对象节点,都不会影响上行请求对象节点的操作。
44、Ri收到所述上/下行请求对象节点的节点验证请求报文后,如果验证通过则发送节点验证响应报文给所述上/下行请求对象节点,其中携带Ri的数字证书及Ri针对所述上/下行请求对象节点的挑战响应值;
45、所述上/下行请求对象节点收到所述节点验证响应报文后,如果验证通过,则将本节点的上/下一跳节点的地址信息反馈给Ri
46、如果所收到的地址信息并不属于Ri要找的目标节点,则将Ri从所述上行请求对象节点所收到的地址信息对应的节点作为Ri的上行请求对象节点,将Ri从所述下行请求对象节点所收到的地址信息对应的节点作为Ri的下行请求对象节点,将所述跳数值加1,然后返回步骤42;如果收到的地址信息属于Ri要找的目标节点,则邻近节点发现过程结束。
如果没收到上/下行请求对象节点返回的地址信息,则删除原有的上/下行请求对象节点,这样返回步骤42后只进行更新后的请求对象节点侧(上行或下行)的操作;如果上/下行请求对象节点都没返回地址信息,则邻近节点发现过程也可以结束。
本实施方式中,验证的步骤和前文类似,也是包括验证所收到的数字证书是否有效,以及根据该数字证书中的公钥验证所收到的挑战响应值中的签名是否有效,数字证书和签名都有效时验证通过;得到本节点针对通信对端节点的挑战响应值的过程也和前文类似,先利用本节点的私钥对通信对端节点和本节点之间的相关信息生成签名,将得到的签名和所述通信对端节点和本节点之间的相关信息进行逻辑运算,得到本节点针对通信对端节点的挑战响应值。具体可参见后文的例子。
本实施方式中,步骤S104为邻近节点发现的过程,也是采用基于PKI的非对称挑战应答认证机制设计的,中间节点通过向邻近节点发送节点地址请求报文去请求邻近节点的上一跳或下一跳节点的IP地址;然后中间节点和自己的邻近节点通过执行一个挑战应答机制来实现双方相互之间的真实性验证,只有合法的请求方才能获得相关节点的邻近节点的IP地址信息,也只有可信的被请求方提供的IP地址信息才能被请求方所接受,因此实现了邻近节点间的相互认证。
下面用一个邻近节点发现的具体例子进行说明;该例子中描述的是上一例子中可信节点发现完成后的过程,利用路径上的中间节点都已知本节点邻近中间节点的IP地址的特性,路径上的任何一个中间节点Ri可根据所存储的邻近节点的IP地址查找路径中上层或下层的中间节点,如图3所示,具体步骤如下:
步骤301:将中间节点Ri(2<i≤n)的上一跳节点Ri-1作为Ri的上行请求对象节点,如果Ri中保存了下一跳节点Ri+1的IP地址,则将Ri+1作为Ri的下行请求对象节点。将跳数值Hop设置为1。
步骤302:Ri根据所存的IP地址向本节点的上行请求对象节点发送节点地址请求报文,以请求该上行请求对象节点的上一跳节点的IP地址(比如上行请求对象节点为Ri-1时,请求的是Ri-2的IP地址),所述节点地址请求报文中携带所述Hop、请求信息ReqInfo、Ri身份信息ID_Ri以及Ri生成的挑战值Random_Ri;所述请求信息ReqInfo表明请求的是上行请求对象节点的上一跳节点的IP地址或下行请求对象节点的下一跳节点的IP地址。
步骤302’、如果存在下行请求对象节点,如图3中虚线所示,则Ri向本节点的下行请求对象节点也发送节点地址请求报文,请求该下行请求对象节点的下一跳节点的IP地址(比如下行请求对象节点为Ri+1时,请求的是Ri+2的IP地址),过程与向上一跳节点Ri-1请求Ri-1的上一跳节点Ri-2的IP地址的过程类似。
如果Ri只存有上一跳节点的IP地址而没有存下一跳节点的IP地址,则Ri只能向Ri-1请求它的上一跳节点Ri-2的IP地址。
下面的步骤303~305中以上行请求对象节点为Ri-1进行描述,如果上行请求对象节点为别的节点,用该节点替换这几个步骤中涉及的Ri-1即可:
步骤303:Ri-1收到所述节点地址请求报文后,进行如下操作:
(3.1)Ri-1利用PKI给它颁发的私钥对Ri和Ri-1之间的相关信息(包括Ri的身份信息ID_Ri、Ri-1的身份信息ID_Ri-1以及Ri生成的挑战值Random_Ri)生成签名,并将得到的签名与所述Ri和Ri-1之间的相关信息构成Ri-1针对Ri的挑战响应值TokenRi-1Ri=ID_Ri-1||ID_Ri||Random_Ri||SignRi-1(ID_Ri-1||ID_Ri||Random_Ri);
(3.2)然后Ri-1构造一个节点验证请求报文,将本节点的身份信息ID_Ri-1、生成的挑战值Random_Ri-1、数字证书Cert_Ri-1以及Ri-1针对Ri的挑战响应值TokenRi-1Ri返回给中间节点Ri
步骤303’、下行请求对象节点收到所述节点地址请求报文后的处理过程类似于上述步骤(3.1)和(3.2),如图3中虚线所示,只是将其中的上行请求对象节点替换成下行请求对象节点(比如将Ri-1替换为Ri+1)。
如果上/下行请求对象节点没有存上/下一跳节点的IP地址,则不处理所收到的节点地址请求报文。
步骤304:Ri收到来自Ri-1的节点验证请求报文后,验证其中Ri-1的数字证书是否有效,并利用Ri-1证书中的公钥验证Ri-1针对Ri的挑战响应值TokenRi-1Ri中的签名是否有效,只要数字证书和签名中有一个无效,则丢弃所述节点验证请求报文;如果数字证书和签名均有效,则验证通过,Ri利用PKI给它颁发的私钥对Ri-1和Ri之间的相关信息(包括Ri-1的身份信息ID_Ri-1、Ri的身份信息ID_Ri以及Ri-1生成的挑战值Random_Ri-1)生成签名,并将得到的签名与所述Ri-1和Ri之间的相关信息构成Ri针对Ri-1的挑战响应值:
TokenRiRi-1=ID_Ri||ID_Ri-1||Random_Ri-1||SignRi(ID_Ri||ID_Ri-1||Random_Ri-1),然后将携带有本节点的数字证书Cert_Ri和TokenRiRi-1的节点验证响应报文发送给邻近节点Ri-1
步骤304’、如果Ri收到的是来自下行请求对象节点的节点验证请求报文,过程类似于上述步骤304,如图3中虚线所示,只是将上行请求对象节点替换成下行请求对象节点。
步骤305:Ri-1收到所述节点验证响应报文后,验证Cert_Ri是否有效,并利用Cert_Ri中的公钥验证Ri针对Ri-1的挑战响应值TokenRiRi-1中的签名是否有效,如果数字证书和签名都是有效的,则验证通过,Ri-1将它的上一跳节点Ri-2的IP地址反馈给请求方Ri;数字证书和签名中只要有一个无效,则丢弃所述节点验证响应报文。
步骤305’、如果是下行请求对象节点收到所述节点验证响应报文,过程类似于上述步骤305,如图3中虚线所示,只是将上行请求对象节点替换成下行请求对象节点;如果数字证书和签名都是有效的,则验证通过,下行请求对象节点发送本节点的下一跳节点的IP地址给请求方Ri(比如下行请求对象节点为Ri+1时,发送Ri+2的IP地址)。
步骤306:如果所收到的IP地址并不是Ri想要找的目标节点,则将Ri从所述上行请求对象节点所收到的IP地址对应的节点作为新的Ri的上行请求对象节点,将Ri从所述下行请求对象节点所收到的IP地址对应的节点作为新的Ri的下行请求对象节点,将Hop加1,然后返回步骤302。如果收到的IP地址是Ri想要找的目标节点,则邻近节点发现过程结束。
实施例二,一种通信网络中的节点发现系统,包括:
多个节点,其中至少包括准备进行节点发现的源节点及目的节点;
各节点分别包括:
请求发送模块,用于当本节点作为源节点时,发送发现请求报文至下一跳节点,在所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;
请求响应模块,用于当收到所述发现请求报文后,向源节点返回本节点提交给所述源节点的验证信息,包括:本节点的地址信息和数字证书,以及本节点针对源节点的挑战响应值;
请求转发模块,用于当收到所述发现请求报文后,根据其中的地址信息判断本节点是否为目的节点;如果本节点是中间节点则将所述发现请求报文转发给本节点的下一跳节点;
验证模块,用于当本节点作为源节点时,当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各所述节点确定为可信节点。
本实施例的一种实施方式中,一个节点针对源节点的挑战响应值可以为源节点和该节点之间的相关信息,与采用该节点的私钥对该相关信息生成的签名进行逻辑运算的结果;其中,源节点和该节点之间的相关信息包括:该节点的身份信息、源节点的身份信息、及所述源节点生成的挑战值;
所述验证模块根据所收到的各节点提交的验证信息对各节点进行验证具体可以是指:
所述验证模块分别验证各节点提交的验证信息中的地址信息及数字证书是否有效;分别通过各节点数字证书中携带的公钥验证该节点生成的挑战响应值里的签名是否有效。
本实施例的一种实施方式中,所述请求转发模块将所述发现请求报文转发给本节点的下一跳节点具体可以是指:
所述请求转发模块保存所述发现请求报文中的上一跳节点的地址信息,然后删除所述发现请求报文中所述源节点以外的其它节点的附加信息,在所述发现请求报文中增加本节点的附加信息,最后发送给本节点的下一跳节点;所述附加信息包括:本节点的地址信息、身份信息及本节点生成的挑战值;
各节点中还可以包括:
邻近响应模块,用于当上一跳节点不为所述源节点时,构造邻近发现响应报文发送给上一跳节点,其中携带本节点提交给上一跳节点的验证信息,包括:本节点的地址信息、数字证书以及本节点针对上一跳节点的挑战响应值;本节点针对上一跳节点的挑战响应值为上一跳节点和本节点之间的相关信息,与采用本节点的私钥对该相关信息所生成的签名进行逻辑运算的结果;其中,上一跳节点和本节点之间的相关信息包括:本节点的身份信息、上一跳节点的身份信息、及所述上一跳节点生成的挑战值。
本实施方式中,所述验证模块还可以用于当收到所述邻近发现响应报文后,验证其中下一跳节点的地址信息和数字证书是否有效,并通过该下一跳节点的数字证书中携带的公钥验证该下一跳节点生成的挑战响应值里的签名是否有效;如果均有效则保存该下一跳节点的地址信息。
本实施方式中,各节点中还可以包括邻近节点发现模块,具体包括:
地址请求单元;
设置单元,用于当本节点收到所述发现请求报文且本节点不是所述目的节点时,将本节点的上一跳节点作为上行请求对象节点;如果本节点保存有下一跳节点的地址信息,则将该下一跳节点作为下行请求对象节点;将跳数值设为1,和所述上行、下行请求对象节点一起发送给所述地址请求单元;
所述地址请求单元用于向所述上行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述上行请求对象节点的上一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;如果存在下行请求对象节点,则向所述下行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述下行请求对象节点的下一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
验证请求单元,用于当收到节点Ra发送的请求上/下一跳节点地址信息的所述节点地址请求报文后,如果本节点保存有上/下一跳节点的地址信息,则构造节点验证请求报文返回给所述节点Ra,其中携带本节点的身份信息、数字证书、本节点生成的挑战值及所述本节点针对所述节点Ra的挑战响应值;
验证响应单元,用于当收到节点Rb返回的所述节点验证请求报文后,如果验证通过则发送节点验证响应报文给所述节点Rb,其中携带本节点的数字证书及本节点针对所述节点Rb的挑战响应值;
所述验证请求单元还用于当收到所述节点验证响应报文后,如果验证通过,则反馈本节点的上/下一跳节点的地址信息(如果收到的节点地址请求报文请求的是上一跳节点的地址信息,则反馈上一跳节点的地址信息;如果收到的节点地址请求报文请求的是下一跳节点的地址信息,则反馈下一跳节点的地址信息);
所述设置单元还用于当所收到的地址信息并不属于本节点要找的目标节点时,将本节点从所述上行请求对象节点所收到的地址信息对应的节点作为所述上行请求对象节点,将本节点从所述下行请求对象节点所收到的地址信息对应的节点作为所述下行请求对象节点,将所述跳数值加1,然后和所述上行请求对象节点、所述下行请求对象节点一起发送给所述地址请求单元;如果收到的地址信息属于本节点要找的目标节点,则邻近节点发现过程结束。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。

Claims (8)

1.一种通信网络中的节点发现方法,包括:
S101、源节点发送发现请求报文至下一跳节点,所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;
S102、收到所述发现请求报文的节点向所述源节点返回本节点提交给所述源节点的验证信息,包括:本节点的地址信息和数字证书,以及本节点针对源节点的挑战响应值;根据其中的所述地址信息判断本节点是否为目的节点,如果不是目的节点则保存所述发现请求报文中的上一跳节点的地址信息,然后删除所述发现请求报文中源节点以外的其它节点的附加信息,在所述发现请求报文中增加本节点的附加信息,最后发送给本节点的下一跳节点;所述附加信息包括:本节点的地址信息、身份信息及本节点生成的挑战值;
当上一跳节点不是所述源节点时,构造邻近发现响应报文发送给上一跳节点,其中携带本节点提交给上一跳节点的验证信息,包括:本节点的地址信息、数字证书以及本节点针对上一跳节点的挑战响应值;本节点针对上一跳节点的挑战响应值为上一跳节点和本节点之间的相关信息,与采用本节点的私钥对该相关信息所生成的签名进行逻辑运算的结果;其中,上一跳节点和本节点之间的相关信息包括:本节点的身份信息、上一跳节点的身份信息、及所述上一跳节点生成的挑战值;
S103、所述源节点当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各所述节点确定为可信节点。
2.如权利要求1所述的方法,其特征在于:
一个节点针对源节点的挑战响应值为源节点和该节点之间的相关信息,与采用该节点的私钥对该相关信息生成的签名进行逻辑运算的结果;其中,源节点和该节点之间的相关信息包括:该节点的身份信息、源节点的身份信息、及所述源节点生成的挑战值;
所述源节点根据所收到的各节点提交的验证信息对各节点进行验证的步骤包括:
所述源节点分别验证各节点提交的验证信息中的地址信息及数字证书是否有效;分别通过各节点数字证书中携带的公钥验证该节点生成的挑战响应值里的签名是否有效。
3.如权利要求1所述的方法,其特征在于,还包括:
收到所述邻近发现响应报文的节点验证其中下一跳节点的地址信息和数字证书是否有效,并通过该下一跳节点的数字证书中携带的公钥验证该下一跳节点生成的挑战响应值里的签名是否有效;如果均有效则保存该下一跳节点的地址信息。
4.如权利要求3所述的方法,其特征在于,所述S103后还包括:
S104、各中间节点Ri分别进行以下步骤,所述中间节点为所述目的节点以外的收到所述发现请求报文的节点:
41、Ri将本节点的上一跳节点作为上行请求对象节点;如果本节点保存有下一跳节点的地址信息,则将该下一跳节点作为下行请求对象节点;将跳数值设为1;
42、Ri向所述上行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述上行请求对象节点的上一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
如果存在所述下行请求对象节点,则Ri向所述下行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述下行请求对象节点的下一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
43、上/下行请求对象节点收到所述Ri发送的请求上/下一跳节点地址信息的节点地址请求报文后,如果本节点有上/下一跳节点的地址信息,则构造节点验证请求报文返回给Ri,其中携带本节点的身份信息、数字证书、本节点生成的挑战值及所述本节点针对Ri的挑战响应值;
44、Ri收到所述上/下行请求对象节点的节点验证请求报文后,如果验证通过则发送节点验证响应报文给所述上/下行请求对象节点,其中携带Ri的数字证书及Ri针对所述上/下行请求对象节点的挑战响应值;
45、所述上/下行请求对象节点收到所述节点验证响应报文后,如果验证通过,则将本节点的上/下一跳节点的地址信息反馈给Ri
46、如果所收到的地址信息并不属于Ri要找的目标节点,则将Ri从所述上行请求对象节点所收到的地址信息对应的节点作为Ri的上行请求对象节点,将Ri从所述下行请求对象节点所收到的地址信息对应的节点作为Ri的下行请求对象节点,将所述跳数值加1,然后返回步骤42;如果收到的地址信息属于Ri要找的目标节点,则邻近节点发现过程结束。
5.一种通信网络中的节点发现系统,包括:
多个节点,其中至少包括准备进行节点发现的源节点及目的节点;
其特征在于,各节点分别包括:
请求发送模块,用于当本节点作为源节点时,发送发现请求报文至下一跳节点,在所述发现请求报文中携带源节点的地址信息、源节点的身份信息、目的节点的地址信息及源节点生成的挑战值;
请求响应模块,用于当收到所述发现请求报文后,向源节点返回本节点提交给所述源节点的验证信息,包括:本节点的地址信息和数字证书,以及本节点针对源节点的挑战响应值;
请求转发模块,用于当收到所述发现请求报文后,根据其中的地址信息判断本节点是否为目的节点;如果本节点是中间节点则保存所述发现请求报文中的上一跳的地址信息,然后删除所述发现请求报文中所述源节点以外的其它节点的附加信息,在所述发现请求报文中增加本节点的附加信息,最后发送给本节点的下一跳节点;所述附加信息包括:本节点的地址信息、身份信息及本节点生成的挑战值;
验证模块,用于当本节点作为源节点时,当收到目的节点返回的验证信息后,根据所收到的各节点提交的验证信息对各节点进行验证;如果全部验证通过则将各所述节点确定为可信节点;
邻近响应模块,用于当上一跳节点不为所述源节点时,构造邻近发现响应报文发送给上一跳节点,其中携带本节点提交给上一跳节点的验证信息,包括:本节点的地址信息、数字证书以及本节点针对上一跳节点的挑战响应值;本节点针对上一跳节点的挑战响应值为上一跳节点和本节点之间的相关信息,与采用本节点的私钥对该相关信息所生成的签名进行逻辑运算的结果;其中,上一跳节点和本节点之间的相关信息包括:本节点的身份信息、上一跳节点的身份信息、及所述上一跳节点生成的挑战值。
6.如权利要求5所述的系统,其特征在于:
一个节点针对源节点的挑战响应值为源节点和该节点之间的相关信息,与采用该节点的私钥对该相关信息生成的签名进行逻辑运算的结果;其中,源节点和该节点之间的相关信息包括:该节点的身份信息、源节点的身份信息、及所述源节点生成的挑战值;
所述验证模块根据所收到的各节点提交的验证信息对各节点进行验证是指:
所述验证模块分别验证各节点提交的验证信息中的地址信息及数字证书是否有效;分别通过各节点数字证书中携带的公钥验证该节点生成的挑战响应值里的签名是否有效。
7.如权利要求5所述的系统,其特征在于:
所述验证模块还用于当收到所述邻近发现响应报文后,验证其中下一跳节点的地址信息和数字证书是否有效,并通过该下一跳节点的数字证书中携带的公钥验证该下一跳节点生成的挑战响应值里的签名是否有效;如果均有效则保存该下一跳节点的地址信息。
8.如权利要求7所述的系统,其特征在于,各节点中还包括:
邻近节点发现模块,包括:
地址请求单元;
设置单元,用于当本节点收到所述发现请求报文且本节点不是所述目的节点时,将本节点的上一跳节点作为上行请求对象节点;如果本节点保存有下一跳节点的地址信息,则将该下一跳节点作为下行请求对象节点;将跳数值设为1,和所述上行、下行请求对象节点一起发送给所述地址请求单元;
所述地址请求单元用于向所述上行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述上行请求对象节点的上一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;如果存在下行请求对象节点,则向所述下行请求对象节点发送节点地址请求报文,其中携带所述跳数值、对所述下行请求对象节点的下一跳节点的地址信息的请求、本节点的身份信息及本节点生成的挑战值;
验证请求单元,用于当收到节点Ra发送的请求上/下一跳节点地址信息的所述节点地址请求报文后,如果本节点保存有上/下一跳节点的地址信息,则构造节点验证请求报文返回给所述节点Ra,其中携带本节点的身份信息、数字证书、本节点生成的挑战值及所述本节点针对所述节点Ra的挑战响应值;
验证响应单元,用于当收到节点Rb返回的所述节点验证请求报文后,如果验证通过则发送节点验证响应报文给所述节点Rb,其中携带本节点的数字证书及本节点针对所述节点Rb的挑战响应值;
所述验证请求单元还用于当收到所述节点验证响应报文后,如果验证通过,则反馈本节点的上/下一跳节点的地址信息;
所述设置单元还用于当所收到的地址信息并不属于本节点要找的目标节点时,将本节点从所述上行请求对象节点所收到的地址信息对应的节点作为所述上行请求对象节点,将本节点从所述下行请求对象节点所收到的地址信息对应的节点作为所述下行请求对象节点,将所述跳数值加1,然后和所述上行请求对象节点、所述下行请求对象节点一起发送给所述地址请求单元;如果收到的地址信息属于本节点要找的目标节点,则邻近节点发现过程结束。
CN201310723937.7A 2013-12-24 2013-12-24 一种通信网络中的节点发现方法及系统 Active CN103701700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310723937.7A CN103701700B (zh) 2013-12-24 2013-12-24 一种通信网络中的节点发现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310723937.7A CN103701700B (zh) 2013-12-24 2013-12-24 一种通信网络中的节点发现方法及系统

Publications (2)

Publication Number Publication Date
CN103701700A CN103701700A (zh) 2014-04-02
CN103701700B true CN103701700B (zh) 2017-01-04

Family

ID=50363102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310723937.7A Active CN103701700B (zh) 2013-12-24 2013-12-24 一种通信网络中的节点发现方法及系统

Country Status (1)

Country Link
CN (1) CN103701700B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105282161B (zh) * 2015-10-23 2019-02-26 绵阳师范学院 IPv6网络中基于随机无状态地址分配策略的点对点匿名通信方法
CN105933399A (zh) * 2016-04-18 2016-09-07 乐视控股(北京)有限公司 基于sdn的内容分发网络的实现方法和系统
CN105933398A (zh) * 2016-04-18 2016-09-07 乐视控股(北京)有限公司 内容分发网络中的访问请求转发方法和系统
CN108075895B (zh) * 2016-11-15 2020-03-24 深圳银链科技有限公司 一种基于区块链的节点许可方法和系统
CN108337092B (zh) * 2017-01-17 2021-02-12 华为国际有限公司 用于在通信网络中执行集体认证的方法和系统
JP6665793B2 (ja) * 2017-01-17 2020-03-13 京セラドキュメントソリューションズ株式会社 アドホックネットワーク経路構築システム、ノード、センターノード及びアドホックネットワーク経路構築方法
CN106941492A (zh) * 2017-03-30 2017-07-11 南京瑞合新信息技术有限公司 多个云服务节点之间数据安全传输方法
CN108551678B (zh) * 2018-03-20 2021-11-12 深圳友讯达科技股份有限公司 节点双模感知方法及通信系统
CN109379740B (zh) * 2018-10-10 2022-03-04 北京智芯微电子科技有限公司 无线协作通信安全交互方法
CN109379283B (zh) * 2018-12-11 2021-04-23 浩云科技股份有限公司 基于物联网异构设备的自组网通信方法、装置及自组网
WO2020215269A1 (en) * 2019-04-25 2020-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for distributed ledger
CN110234154B (zh) * 2019-06-17 2021-11-30 广东工业大学 一种支持自组网的户外团队通讯系统
CN110430221A (zh) * 2019-08-30 2019-11-08 天津大学 一种基于邻居发现协议的ndp-esp网络安全方法
CN113507434B (zh) * 2021-05-28 2022-11-29 清华大学 一种通信网络中的数据安全传输方法、节点和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098318A (zh) * 2011-03-23 2011-06-15 电子科技大学 多跳网络的端到端匿名安全通信方法
CN102158864A (zh) * 2011-04-15 2011-08-17 北京航空航天大学 一种基于可靠性的移动Ad Hoc网络自适应安全路由方法
CN102325131A (zh) * 2011-07-20 2012-01-18 北京邮电大学 无线传感器网络节点双向身份认证方法
CN102404737A (zh) * 2011-12-29 2012-04-04 重庆邮电大学 基于动态探测的无线传感器网络安全路由的方法
CN102970679A (zh) * 2012-11-21 2013-03-13 联想中望系统服务有限公司 基于身份的安全签名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2034782A1 (en) * 2007-09-06 2009-03-11 Siemens Aktiengesellschaft A method for misbehaviour detection in secure wireless mesh networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098318A (zh) * 2011-03-23 2011-06-15 电子科技大学 多跳网络的端到端匿名安全通信方法
CN102158864A (zh) * 2011-04-15 2011-08-17 北京航空航天大学 一种基于可靠性的移动Ad Hoc网络自适应安全路由方法
CN102325131A (zh) * 2011-07-20 2012-01-18 北京邮电大学 无线传感器网络节点双向身份认证方法
CN102404737A (zh) * 2011-12-29 2012-04-04 重庆邮电大学 基于动态探测的无线传感器网络安全路由的方法
CN102970679A (zh) * 2012-11-21 2013-03-13 联想中望系统服务有限公司 基于身份的安全签名方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《一种双向认证Ad hoc安全路由协议的研究》;李之棠等;《小型微型计算机系统》;20050930;第26卷(第9期);第1507-1509页 *
《移动Ad Hoc网络安全按需路由协议》;刘巧平等;《现代电子技术》;20101231(第16期);第97-100页 *

Also Published As

Publication number Publication date
CN103701700A (zh) 2014-04-02

Similar Documents

Publication Publication Date Title
CN103701700B (zh) 一种通信网络中的节点发现方法及系统
EP2329621B1 (en) Key distribution to a set of routers
US11362837B2 (en) Generating trustable RPL messages having root-signed rank values
CN109698791B (zh) 一种基于动态路径的匿名接入方法
US11558194B2 (en) Secured protection of advertisement parameters in a zero trust low power and lossy network
WO2010054542A1 (zh) Cga公钥识别、cga公钥确定的方法、系统及装置
CN105871929A (zh) 一种无线传感器网络匿名通信方法
Wan et al. Anonymous user communication for privacy protection in wireless metropolitan mesh networks
Yang et al. I know if the journey changes: Flexible source and path validation
Wang et al. T-IP: A self-trustworthy and secure Internet protocol
CN104703174B (zh) 一种无线Mesh网络路由安全保护方法
CN102572822A (zh) 一种实现安全路由的方法和装置
CN101702727B (zh) 地址分离映射网络中DDoS防御方法
JP2004134855A (ja) パケット通信網における送信元認証方法
Elamathi et al. RETRACTED ARTICLE: Enhanced secure communication over inter-domain routing in heterogeneous wireless networks based on analysis of BGP anomalies using soft computing techniques
Fusenig et al. Acimn protocol: A protocol for anonymous communication in multi hop wireless networks.
Li et al. Enhancing the security of on-demand routing in ad hoc networks
WO2024001987A1 (zh) 一种生成验证规则的方法以及相关装置
CN111510427B (zh) 在i2p网络系统中缓解路径创建攻击的方法、计算机可读存储介质和i2p网络系统
CN103124257B (zh) 安全联盟管理方法及设备
Li et al. Secure access authentication for media independent information service
Othmen et al. Shortest and secure routing protocol for multi‐hop cellular networks (SSRP‐MCN)
Vetriselvi et al. Secure communication for multipath ad hoc network
Thangadorai et al. A Novel Process to Avoid Redundant Encryption and Decryption in Wi-Fi Mesh Network
Grinshpoun et al. Avoidance of misbehaving nodes in wireless mesh networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant