一种报文解析方法及设备与流程

文档序号:12908216阅读:177来源:国知局
一种报文解析方法及设备与流程

本发明涉及通信技术领域,尤其涉及一种报文解析方法及设备。



背景技术:

在多种命名空间共存的场景中,可以使用不同的名字空间去描述网络中的实体,如用网络对象的网络地址、应用中用户的id(identifier,标识符)等。在多种命名空间共存的系统中,需要对不同网络设备之间传递的携带有名字信息的报文进行解析,而完成跨名字空间的解析设备,比如路由器、网关等,很容易受到黑客攻击,例如,在ip网络中修改报文中的域段从而绕过防火墙的过滤,或者修改目的ip地址将报文转发到错误的地址。

目前,dns(domainnamesystem,域名系统)可作为解析设备,通过与请求解析设备间的安全的通信连接,实现通信安全。但是,该方法会增加dns被黑客攻击的概率,同样不能保证来源的可靠性和解析结果的完整性。



技术实现要素:

本发明实施例提供一种报文解析方法及设备,有助于保证来源的可靠性和解析结果的完整性,提高安全性。

第一方面,提供了一种报文解析方法,包括:

控制设备获取源名字、目的名字以及解析设备的设备标识,所述源名字用于标识源设备,所述目的名字用于标识目的设备,所述解析设备为所述源设备到所述目的设备的路径上被选择的受信任的设备;

所述控制设备根据所述源名字、所述目的名字以及所述解析设备的设备标识,获得第一密文,所述第一密文用于验证来自所述解析设备的报文的可靠性;

所述控制设备向所述源设备发送所述第一密文。

其中,所述控制设备可从所述源设备到所述目的设备之间的路径上的至少一个受信任的网络设备中,随机选择一个设备作为所述解析设备。由于解析设备是随机动态选择的,因此降低了被黑客攻击的可能性,并且确保解析是由指 定的受信任的设备完成。

其中,所述源名字可以是所述源设备的ip地址、所述源设备的mac地址,所述源设备的名字或者与所述源设备相关的url(uniformresourcelocator,统一资源定位符)。所述目的名字可以是所述目的设备的ip地址、所述目的设备的mac地址、所述目的设备的名字或者与所述目的设备相关的url。

可选地,所述控制设备根据所述源名字、所述目的名字以及所述解析设备的设备标识,获得第一密文包括:所述控制设备将所述解析设备的设备标识作为属性,采用基于属性的加密(attribute-based-encryption,abe)算法,对所述源名字和所述目的名字的组合进行加密,获得所述第一密文。

在一种可能的设计中,所述控制设备根据所述源名称、所述目的名称以及所述源设备的设备标识,获得第二密文;所述控制设备向所述源设备发送所述第二密文。

可选地,所述控制设备根据所述源名称、所述目的名称以及所述源设备的设备标识,获得第二密文包括:所述控制设备将所述源设备的设备标识作为属性,采用abe算法,对所述源名字和所述目的名字的组合进行加密,获得所述第二密文。

在另一种可能的设计中,所述控制设备向所述解析设备发送转换信息,所述转换信息可以指示对来自所述源设备的报文采用的解析方式,比如所述转换信息可以指示采用所述解析设备的设备标识对来自所述源设备的报文中的第一密文进行解析。所述源设备将携带有第一密文的报文发送至所述解析设备之后,所述解析设备可根据所述转换信息,使用所述解析设备的设备标识对所述第一密文进行解析。

在另一种可能的设计中,所述控制设备在选择了所述解析设备后,可向所述解析设备与所述目的设备间的路径上的设备(可包括所述解析设备和所述目的设备),发送所述解析设备的设备标识。所述解析设备与所述目的设备间的路径上设备(可包括所述解析设备和所述目的设备)可配置有所述解析设备的公钥。

在另一种可能的设计中,所述控制设备可在选择了所述解析设备后,将所述解析设备的名字发送给所述源设备。

在另一种可能的设计中,所述控制设备在选择了所述解析设备后,可向所 述源设备与所述解析设备间的路径上的设备(可包括所述源设备和所述解析设备),发送所述源设备的设备标识。所述源设备与所述解析设备间的路径上的设备(可包括所述源设备和所述解析设备)可配置有所述源设备的公钥。

在另一种可能的设计中,所述控制设备可向所述源设备和所述目的设备间的路径上的设备下发相应的验证策略。比如,所述控制设备可向所述源设备和所述解析设备间的路径上的设备下发第一验证策略。所述第一验证策略为验证来自所述源设备的报文的策略。所述控制设备可向所述解析设备和所述目的设备间的路径上的设备下发第二验证策略。所述第二验证策略为验证来自所述解析设备的报文的策略。

第二方面,提供了一种报文解析方法,包括:

源设备接收控制设备发送的第一密文,所述第一密文用于验证来自解析设备的报文的可靠性,所述解析设备为源设备和目的设备间的路径上被选择的受信任的设备;

所述源设备根据所述第一密文和第一报文,获得第二报文,所述第一报文为向所述目的设备发送的报文,所述第二报文包括所述第一密文和所述第一报文;

所述源设备向所述目的设备发送所述第二报文。

其中,所述第一密文与上述第一方面中的第一密文相同,在此不再赘述。

可选地,所述源设备可将所述第一密文添加至所述第二报文的报文头中。

在一种可能的设计中,所述源设备接收所述控制设备发送的第二密文,所述第二密文用于验证来自所述源设备的报文的可靠性;所述源设备根据所述第一密文和第一报文,获得第二报文包括:所述源设备根据所述第一密文、所述第二密文和所述第一报文,获得所述第二报文,所述第二报文包括所述第一密文、所述第二密文和所述第一报文。

其中,所述第二密文与上述第一方面中的第二密文相同,在此不再赘述。

可选地,所述源设备可将所述第二密文添加至所述第二报文的报文头中。

在另一种可能的设计中,所述源设备接收所述控制设备发送的所述解析设备的名字;所述源设备根据所述源名字和所述解析设备的名字,获得第一名字信息和第一加密结果,所述第一名字信息为所述源名字和所述解析设备的名字的组合,所述第一加密结果为所述源设备的私钥对第一身份验证码进行数字签 名后获得的结果,所述第一身份验证码与所述第一名字信息对应。

其中,所述源设备发送的第二报文可包括所述第一密文和所述第一报文,或者所述第二报文可包括所述第一密文、所述第一报文和所述第二密文,或者所述第二报文可包括所述第一密文、所述第一报文、所述第一名字信息和所述第一加密结果,或者所述第二报文可包括所述第一密文、所述第一报文、所述第二密文、所述第一名字信息和所述第一加密结果。

在另一种可能的设计中,所述源设备可根据所述第一密文、所述第一报文和所述验证信息,获得第二报文。具体地,所述源设备可将所述验证信息添加至所述第二报文中,比如将所述验证信息添加至所述第二报文的报文头中。

第三方面,提供了一种报文解析方法,包括:

解析设备接收源设备发送的第二报文,所述解析设备为源设备和目的设备间的路径上被选择的受信任的设备,所述第二报文包括第一密文和第一报文,所述第一报文为向所述目的设备发送的报文,所述第一密文用于验证来自所述解析设备的报文的可靠性;

所述解析设备根据所述解析设备的设备标识和所述第二报文,获得第三报文,所述第三报文包括所述第一报文、所述第一密文和验证信息,所述验证信息为根据所述解析设备的设备标识和所述第一密文生成的信息,所述验证信息用于验证来自所述解析设备的报文的可靠性;

所述解析设备向所述目的设备发送所述第三报文。

其中,所述第一密文与上述第一方面中的第一密文相同,在此不再赘述。

上述实现方式中的解析设备,采用解析设备的设备标识和第二报文,能够获得验证信息,以便接收到第三报文的设备能够根据验证信息和第一密文,验证报文在转发的过程中是否被篡改,提高了安全性,有助于实现来源的可靠性和解析结果的完整性。

在一种可能的设计中,所述解析设备根据所述解析设备的设备标识和所述第二报文,获得第三报文包括:所述解析设备用所述解析设备的设备标识对所述第一密文进行解密,获得第二名字信息,所述第二名字信息为所述源名字和目的名字的组合,所述目的名字用于标识所述目的设备;所述解析设备根据所述第二名字信息,获得所述验证信息,所述验证信息包括所述第二名字信息和/或第二加密结果,所述第二加密结果为所述解析设备的私钥对第二身份验证码 进行数字签名后的结果,所述第二身份验证码与所述第二名字信息对应;所述解析设备根据所述验证信息、所述第一报文和所述第一密文,获得所述第三报文。

其中,所述验证信息为所述第二名字信息,或者所述验证信息为所述第二加密结果,或者所述验证信息包括所述第二名字信息和所述第二加密结果。

可选地,若所述第二报文中包括上述第二方面中的第一名字信息和第一加密结果,且所述验证信息包括所述第二名字信息和所述第二加密结果,则所述解析设备获得所述第三报文的方法可以是:所述解析设备用所述第二名字信息替换所述第二报文中的第一名字信息,用所述第二加密结果替换所述第二报文中的第一加密结果,以获得所述第三报文。

在另一种可能的设计中,所述第二报文还包括第一名字信息和第一加密结果,所述第一名字信息为源名字和所述解析设备的名字的组合,所述源名字用于标识所述源设备,所述第一加密结果为所述源设备的私钥对第一身份验证码进行数字签名后获得的结果,所述第一身份验证码与所述第一名字信息对应,所述方法还包括:所述解析设备用所述源设备的公钥对所述第一加密结果进行解密,获得所述第一身份验证码;所述解析设备根据所述第一名字信息和所述第一身份验证码,确定所述第一身份验证码与所述第一名字信息匹配后,验证所述第二报文未被篡改。

其中,所述解析设备确定所述第一身份验证码与所述第一名字信息对应的方法为:所述解析设备对所述第一名字信息进行哈希计算,获得哈希值;所述解析设备在所述第一身份验证码与所述哈希值匹配后,确定所述第一身份验证码与所述第一名字信息对应。所述第一身份验证码与所述哈希值匹配可以是所述第一身份验证码与所述哈希值相同,也可以是所述第一身份验证码与所述哈希值的差值在阈值范围内。

在另一种可能的设计中,所述第二报文还包括第二密文,所述第二密文用于验证来自所述源设备的报文的可靠性,所述方法还包括:所述解析设备确定所述源设备的设备标识能够对所述第二密文进行解密后,验证所述第二报文未被篡改。

其中,上述所述解析设备验证来自所述源设备的第二报文是否被篡改的方法可属于上述第一方面中提及的第一验证策略。

可选地,所述解析设备可在验证来自所述源设备的第二报文未被篡改后,执行获得所述第三报文的流程。或者,所述解析设备可在验证来自所述源设备的第二报文未被篡改后,执行向所述目的设备发送所述第三报文的流程。这样,所述解析设备还可对来自源设备的第二报文进行验证,避免所述第二报文在传输过程中被篡改,有助于提高安全性,有助于保证来源的可靠性和解析的完整性。

可选地,所述源设备和所述解析设备间的路径上的设备,可采用与所述解析设备相同的方法,验证来自所述源设备的第二报文是否被篡改。所述源设备和所述解析设备间的路径上的设备可在确定来自所述源设备的第二报文未被篡改后,向路径上的下一跳转发所述第二报文,即沿所述路径向所述目的设备的方向发送所述第二报文。

第四方面,提供了一种报文解析方法,包括:目的设备接收解析设备发送的第二报文,所述解析设备为源设备和所述目的设备间的路径上被选择的受信任的设备,所述第二报文包括第一报文、第一密文和验证信息,所述第一报文为向所述目的设备发送的报文,所述第一密文用于验证来自所述解析设备的报文的可靠性,所述验证信息为根据所述解析设备的设备标识和所述第一密文生成的信息,所述验证信息用于验证来自所述解析设备的报文的可靠性;所述目的设备根据所述第一密文和所述验证信息,验证所述第二报文的可靠性。

其中,所述第一密文与上述第一方面中的第一密文相同,所述验证信息与上述第三方面中的验证信息相同,在此不再赘述。

在一种可能的设计中,所述验证信息包括加密结果和第一名字信息,所述加密结果为所述解析设备的私钥对身份验证码进行数字签名后的结果,所述身份验证码与所述第一名字信息对应,所述第一名字信息为源名字和目的名字的组合,所述源名字用于标识所述源设备,所述目的名字用于标识所述目的设备,所述目的设备根据所述第一密文和所述验证信息,验证所述第二报文的可靠性包括:所述目的设备利用所述解析设备的公钥对所述加密结果进行解密,获得所述身份验证码;所述目的设备确定所述身份验证码与所述第一名字信息匹配,则确定所述第二报文未经篡改。

其中,所述身份验证码与所述第一名字信息匹配的判断方法与上述第三方面中所述第一身份验证码与所述第一名字信息匹配的判断方法相同,在此不再 赘述。

在另一种可能的设计中,所述验证信息包括第一名字信息,所述第一名字信息为源名字和目的名字的组合,所述源名字用于标识所述源设备,所述目的名字用于标识所述目的设备,所述目的设备根据所述第一密文和所述验证信息,验证所述第二报文的可靠性包括:所述目的设备利用所述解析设备的设备标识解密所述第一密文,获得第二名字信息,所述第二名字信息为所述源名字和所述目的名字的组合;所述目的设备确定所述第一名字信息和所述第二名字信息相同后,确定所述第二报文未经篡改。

在另一种可能的设计中,所述验证信息包括加密结果,所述加密结果为所述解析设备的私钥对身份验证码进行数字签名后的结果,所述身份验证码与第一名字信息对应,所述第一名字信息为源名字和目的名字的组合,所述源名字用于标识所述源设备,所述目的名字用于标识所述目的设备,所述目的设备根据所述第一密文和所述验证信息,验证所述第二报文的可靠性包括:所述目的设备利用所述解析设备的设备标识解析所述第一密文,获得第二名字信息,所述第二名字信息为所述源名字和所述目的名字的组合;所述目的设备利用所述解析设备的公钥对所述加密结果进行解密,获得所述身份验证码;所述目的设备确定所述身份验证码与所述第二名字信息匹配,则确定所述第二报文未经篡改。

其中,所述身份验证码与所述第二名字信息匹配的判断方法与上述第三方面中所述第一身份验证码与所述第一名字信息匹配的判断方法相同,在此不再赘述。

第五方面,本申请的实施例提供一种控制设备,该控制设备用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。其中一种实现方式,具体地,所述控制设备包括用于执行上述第一方面或第一方面的任一可能的实现方式中的方法的单元。另一种实现方式,所述控制设备包括:处理器、存储器、通信端口和通信总线;所述处理器,所述存储器和所述通信端口通过所述通信总线通信;所述处理器用于执行上述第一方面或第一方面的任一可能的实现方式中的方法。

第六方面,本申请的实施例提供一种源设备,该源设备用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。其中一种实现方式,具体地, 所述源设备包括用于执行上述第二方面或第二方面的任一可能的实现方式中的方法的单元。另一种实现方式,所述源设备包括:处理器、存储器、通信端口和通信总线;所述处理器,所述存储器和所述通信端口通过所述通信总线通信;所述处理器用于执行上述第二方面或第二方面的任一可能的实现方式中的方法。

第七方面,本申请的实施例提供一种解析设备,该解析设备用于执行上述第三方面或第三方面的任一可能的实现方式中的方法。其中一种实现方式,具体地,所述解析设备包括用于执行上述第三方面或第三方面的任一可能的实现方式中的方法的单元。另一种实现方式,所述解析设备包括:处理器、存储器、通信端口和通信总线;所述处理器,所述存储器和所述通信端口通过所述通信总线通信;所述处理器用于执行上述第三方面或第三方面的任一可能的实现方式中的方法。

第八方面,本申请的实施例提供一种目的设备,该目的设备用于执行上述第四方面或第四方面的任一可能的实现方式中的方法。其中一种实现方式,具体地,所述目的设备包括用于执行上述第四方面或第四方面的任一可能的实现方式中的方法的单元。另一种实现方式,所述目的设备包括:处理器、存储器、通信端口和通信总线;所述处理器,所述存储器和所述通信端口通过所述通信总线通信;所述处理器用于执行上述第四方面或第四方面的任一可能的实现方式中的方法。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种报文解析系统的结构示意图

图2是本发明实施例提出的一种报文解析方法的流程图;

图3是本发明实施例提供的另一种报文解析系统的结构示意图

图4是本发明实施例提供的一种数据报文的结构示意图;

图5是本发明实施例提供的另一种数据报文的结构的示意图;

图6是本发明实施例提出的一种控制设备的结构示意图;

图7是本发明实施例提出的一种源设备的结构示意图;

图8是本发明实施例提出的一种解析设备的结构示意图;

图9是本发明实施例提出的一种目的设备的结构示意图;

图10是本发明实施例提供的一种装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,图1是本发明提供的一种报文解析系统的结构示意图。系统包括源设备和目的设备,多个网络设备以及控制设备,报文从源设备传递到目的设备需要经过多个网络设备的转发,其中,控制设备保存有源设备和目的设备以及多个网络设备中的每个设备的设备标识,在本发明实施例的实际场景中,报文转发需要跨越多个不同的网络协议,由于在边缘网关无法自动解析目的地址,因此最先需要将报文发送给控制设备进行处理,具体处理过程如下。

如图2所示,图2是本发明实施例提出的一种报文解析方法的流程图。如图所示,本发明实施例中的方法包括:

s201,控制设备获取源名字、目的名字以及解析设备的设备标识,所述源名字用于标识源设备,所述目的名字用于标识目的设备,所述解析设备为所述源设备到所述目的设备的路径上被选择的受信任的设备。

具体实现中,所述控制设备可以从所述源设备到所述目的设备之间的路径上的至少一个受信任的网络设备中,随机选择一个设备作为所述解析设备,然后获取源名字、目的名字以及解析设备的设备标识。由于解析设备是随机动态选择的,因此降低了被黑客攻击的可能性,并且确保解析是由指定的受信任的设备完成。其中,所述源名字可以是所述源设备的ip地址、所述源设备的mac地址,所述源设备的名字或者与所述源设备相关的url,所述目的名字可以是所述目的设备的ip地址、所述目的设备的mac地址、所述目的设备的名字或者与所述目的设备相关的url。

具体实现中,用户可以指定报文转发的目的地址,在边缘网关(下述源设备)无法自动解析目的地址时,控制设备确定报文从源设备转发到目标设备需要经过几次名字空间转换,在每次名字空间转换过程中根据一定的算法从源设备到目标设备之间的多个网络设备中随机选择出一个受信任的网络设备作为解析设备,其中,名字空间转换表示对报文进行加密和解析处理。

s202,所述控制设备根据所述源名字、所述目的名字以及所述解析设备的设备标识,获得第一密文,所述第一密文用于验证来自所述解析设备的报文的可靠性。

具体实现中,所述控制设备将所述解析设备的设备标识作为属性,采用基于属性的abe加密算法,对所述源名字和所述目的名字的组合进行加密,获得所述第一密文。

可选地,所述控制设备可以根据所述源名称、所述目的名称以及所述源设备的设备标识,获得第二密文;然后向所述源设备发送所述第二密文。进一步的,所述控制设备可以将所述源设备的设备标识作为属性,采用abe算法,对所述源名字和所述目的名字的组合进行加密,获得所述第二密文。

s203,所述控制设备向所述源设备发送所述第一密文。

可选的,所述控制设备可以向所述解析设备发送转换信息,所述转换信息可以指示对来自所述源设备的报文采用的解析方式,比如所述转换信息可以指示采用所述解析设备的设备标识对来自所述源设备的报文中的第一密文进行解析。所述源设备将携带有第一密文的报文发送至所述解析设备之后,所述解析设备可根据所述转换信息,使用所述解析设备的设备标识对所述第一密文进行解析。

可选地,所述控制设备可向所述解析设备与所述目的设备间的路径上的设备(可包括所述解析设备和所述目的设备),发送所述解析设备的设备标识。所述解析设备与所述目的设备间的路径上设备(可包括所述解析设备和所述目的设备)可配置有所述解析设备的公钥。

可选地,所述控制设备可将所述解析设备的名字发送给所述源设备;还可向所述源设备与所述解析设备间的路径上的设备(可包括所述源设备和所述解析设备),发送所述源设备的设备标识。所述源设备与所述解析设备间的路径上的设备(可包括所述源设备和所述解析设备)可配置有所述源设备的公钥。

可选地,所述控制设备可向所述源设备和所述目的设备间的路径上的设备下发相应的验证策略。比如,所述控制设备可向所述源设备和所述解析设备间的路径上的设备下发第一验证策略。所述第一验证策略为验证来自所述源设备的报文的策略。所述控制设备可向所述解析设备和所述目的设备间的路径上的设备下发第二验证策略。所述第二验证策略为验证来自所述解析设备的报文的策略。

s204,所述源设备根据所述第一密文和第一报文,获得第二报文,所述第二报文包括所述第一密文和所述第一报文。

具体实现中,所述源设备可将所述第一密文添加至所述第二报文的报文头中。

可选地,所述源设备可接收所述控制设备发送的第二密文,在接收到第二密文之后,根据所述第一密文、所述第二密文和所述第一报文,获得所述第二报文,所述第二报文包括所述第一密文、所述第二密文和所述第一报文。进一步的,可以将所述第二密文添加至所述第二报文的报文头中。

可选地,所述源设备可接收所述控制设备发送的所述解析设备的名字;所述源设备根据所述源名字和所述解析设备的名字,获得第一名字信息和第一加密结果,所述第一名字信息为所述源名字和所述解析设备的名字的组合,所述第一加密结果为所述源设备的私钥对第一身份验证码进行数字签名后获得的结果,所述第一身份验证码与所述第一名字信息对应,第一身份验证码可以为根据第一名字信息计算得到的哈希值。所述源设备可将所述第一加密结果和所述第一名字信息添加至所述第二报文。

其中,所述源设备可将所述第一名字信息和所述第一加密结果添加至所述第二报文的报文头。所述第一加密结果以及第一名字信息可在报文头明文显示。

s205,所述源设备向所述解析设备发送所述第二报文。

s206,所述解析设备根据所述解析设备的设备标识和所述第二报文,获得第三报文,所述第三报文包括所述第一报文、所述第一密文和验证信息,所述验证信息为根据所述解析设备的设备标识和所述第一密文生成的信息,所述验证信息用于验证来自所述解析设备的报文的可靠性。

具体实现中,可以采用解析设备的设备标识和第二报文,能够获得验证信息,进一步的,所述解析设备用所述解析设备的设备标识对所述第一密文进行 解密,获得第二名字信息,所述第二名字信息为所述源名字和目的名字的组合,所述目的名字用于标识所述目的设备;所述解析设备根据所述第二名字信息,获得所述验证信息,所述验证信息包括所述第二名字信息和/或第二加密结果,所述第二加密结果为所述解析设备的私钥对第二身份验证码进行数字签名后的结果,所述第二身份验证码与所述第二名字信息对应;所述解析设备根据所述验证信息、所述第一报文和所述第一密文,获得所述第三报文,以便接收到第三报文的设备能够根据验证信息和第一密文,验证报文在转发的过程中是否被篡改,提高了安全性,有助于实现来源的可靠性和解析结果的完整性。

其中,所述验证信息为所述第二名字信息,或者所述验证信息为所述第二加密结果,或者所述验证信息包括所述第二名字信息和所述第二加密结果。

可选地,若所述第二报文中包括上述第一名字信息和第一加密结果,且所述验证信息包括所述第二名字信息和所述第二加密结果,则所述解析设备获得所述第三报文的方法可以是:所述解析设备用所述第二名字信息替换所述第二报文中的第一名字信息,用所述第二加密结果替换所述第二报文中的第一加密结果,以获得所述第三报文。

s207,所述解析设备向所述目的设备发送所述第三报文。

s208,所述目的设备根据所述第一密文和所述验证信息,验证所述第三报文的可靠性。

具体实现中,所述验证信息包括第二加密结果和第二名字信息,所述第二加密结果为所述解析设备的私钥对第二身份验证码进行数字签名后的结果,所述第二身份验证码与所述第二名字信息对应,所述第二名字信息为源名字和目的名字的组合。所述目的设备利用所述解析设备的公钥对所述加密结果进行解密,获得所述第二身份验证码;所述目的设备确定所述第二身份验证码与所述第二名字信息匹配,则确定所述第三报文未经篡改。其中,所述第二身份验证码与所述第二名字信息匹配的判断方法与所述第一身份验证码与所述第一名字信息匹配的判断方法相同,在此不再赘述。

可选地,所述验证信息包括第二名字信息,所述第二名字信息为源名字和目的名字的组合,所述目的设备利用所述解析设备的设备标识解密所述第一密文,获得第三名字信息,所述第三名字信息为所述源名字和所述目的名字的组合;所述目的设备确定所述第三名字信息和所述第二名字信息相同后,确定所 述第三报文未经篡改,表明所述解析设备为受信任的设备。

可选地,所述验证信息包括第二加密结果,所述第二加密结果为所述解析设备的私钥对第二身份验证码进行数字签名后的结果,所述第二身份验证码与第二名字信息对应,所述第二名字信息为源名字和目的名字的组合,所述目的设备利用所述解析设备的设备标识解析所述第一密文,获得第二名字信息,所述第二名字信息为所述源名字和所述目的名字的组合;所述目的设备利用所述解析设备的公钥对所述第二加密结果进行解密,获得所述第二身份验证码;所述目的设备确定所述第二身份验证码与所述第二名字信息匹配,则确定所述第三报文未经篡改,即确定所述解析设备获得解析结果未被篡改。其中,所述第二身份验证码与所述第二名字信息匹配的判断方法与所述第一身份验证码与所述第一名字信息匹配的判断方法相同,在此不再赘述。

其中,所述解析设备与所述目的设备之间的网络设备可采用上述验证方法,即所述目的设备采用的验证第三报文的方法,对接收到的第三报文进行验证,以确定所述解析设备获得的第三报文在传输过程中未被篡改,且所述解析设备为受信任的设备。

s205之后,本发明实施例提供的方法还可包括:所述解析设备对来自所述源设备的第二报文进行验证。可选地,所述解析设备可在验证来自所述源设备的第二报文未被篡改后,执行获得所述第三报文的流程。或者,所述解析设备可在验证来自所述源设备的第二报文未被篡改后,执行向所述目的设备发送所述第三报文的流程。这样,所述解析设备还可对来自源设备的第二报文进行验证,避免所述第二报文在传输过程中被篡改,有助于提高安全性,有助于保证来源的可靠性和解析的完整性。

举例说明,所述解析设备对来自所述源设备的第二报文进行验证的方式有以下两种。

方式一

所述第二报文还包括第一名字信息和第一加密结果,所述第一名字信息为源名字和所述解析设备的名字的组合,所述第一加密结果为所述源设备的私钥对第一身份验证码进行数字签名后获得的结果,所述第一身份验证码与所述第一名字信息对应。具体的,所述解析设备用所述源设备的公钥对所述第一加密结果进行解密,获得所述第一身份验证码;所述解析设备根据所述第一名字信 息和所述第一身份验证码,确定所述第一身份验证码与所述第一名字信息匹配后,验证所述第二报文未被篡改。

其中,所述解析设备确定所述第一身份验证码与所述第一名字信息对应的方法为:所述解析设备对所述第一名字信息进行哈希计算,获得哈希值;所述解析设备在所述第一身份验证码与所述哈希值匹配后,确定所述第一身份验证码与所述第一名字信息对应。所述第一身份验证码与所述哈希值匹配可以是所述第一身份验证码与所述哈希值相同,也可以是所述第一身份验证码与所述哈希值的差值在阈值范围内。

方式二

所述第二报文还包括第二密文,解析设备还可以通过第二密文验证第二报文的可靠性。具体的,所述解析设备确定所述源设备的设备标识能够对所述第二密文进行解密后,验证所述第二报文未被篡改。

其中,上述所述解析设备验证来自所述源设备的第二报文是否被篡改的方法可属于上述提及的第一验证策略。

另外,所述源设备和所述解析设备间的路径上的设备,可采用与所述解析设备相同的方法,验证来自所述源设备的第二报文是否被篡改。所述源设备和所述解析设备间的路径上的设备可在确定来自所述源设备的第二报文未被篡改后,向路径上的下一跳转发所述第二报文,即沿所述路径向所述目的设备的方向发送所述第二报文。

如图3所示,报文从设备a(192.168.1.1)转发到设备g(192.168.1.11),设备a为源设备,设备g为目的设备,设备a和设备g之间包括多个中间设备,比如:设备b、设备c、设备d、设备e和设备f。控制设备从设备c、设备d、和设备e中随机选择一个受信任的设备,比如设备d,作为解析设备。所述控制设备使用设备d的设备标识作为属性,对设备a的名字(192.168.1.1)和设备g的名字(192.168.1.11)进行abe加密得到第一密文。所述控制设备将第一密文发送到设备a。

设备a接收到第一密文之后,将第一密文添加至第二报文的报文头中,因此第二报文包括第一密文和需要向设备g发送的第一报文,如图4所示,图4是第二报文的报文头。第二报文的报文头可以包括第一密文、第一加密结果和第一名字信息。第一名字信息为设备a的名字(192.168.1.1)和设备d (192.168.1.5)的名字的组合。第一加密结果为设备a的私钥对第一身份验证码进行数字签名后获得的结果。第一身份验证码为根据设备a的名字(192.168.1.1)和设备d的名字(192.168.1.5)计算得到的哈希值。其中,第一加密结果和第一名字信息是可选的参数。设备a向设备d发送第二报文。

设备d接收到第二报文之后,根据设备d的设备标识和第二报文,获得第三报文,如图5所示,图5是第三报文的报文头,第三报文的报文头包括第二名字信息、第二加密结果和第一密文。其中,所述第二名字信息为设备a(192.168.1.1)的名字和设备g的名字(192.168.1.11)的组合,第二加密结果为设备d的私钥对第二身份验证码进行数字签名后的结果,第二身份验证码为根据设备a的名字(192.168.1.1)和设备g的名字(192.168.1.11)计算得到的哈希值。

设备e、设备f、设备g均可以对来自设备d的第三报文进行验证。以设备e对所述第三报文文进行验证为例,设备e可以采用以下两种方式对所述第三报文进行验证。

方式一

设备e使用设备d的公钥,对第二加密结果进行解密,获得第二身份验证码,如果设备e确定第二身份验证码与第二名字信息匹配,则设备e确定第三报文未被篡改,设备d是受信任的解析设备。

方式二

设备e使用设备d的设备标识作为属性,对第一密文进行解密,获得第三名字信息,如果设备e确定第三名字信息与上述第二名字信息相同,则设备e确定第三报文未被篡改,设备d是受信任的解析设备。

需要说明的是,设备b、设备c以及设备d也需要对来自设备a的数据报文进行验证,保证设备a发出的第二报文未被其他设备篡改,且a同样是受信任的设备。

在本发明实施例中,首先控制设备获取源名字、目的名字以及解析设备的设备标识,根据所述源名字、所述目的名字以及所述解析设备的设备标识,获得第一密文,并向源设备发送所述第一密文;然后源设备接收到第一密文之后,根据所述第一密文和第一报文,获得第二报文,并向所述解析设备发送所述第二报文,其次解析设备接收到第二报文之后,根据所述解析设备的设备标识和 所述第二报文,获得第三报文,并向所述目的设备发送所述第三报文,最后目的设备根据所述第一密文和所述验证信息,验证所述第三报文的可靠性,从而保证来源的可靠性和解析结果的完整性,提高安全性。

请参考图6,图6是本发明实施例提供的一种控制设备的结构示意图。图6所示的控制设备可以采用图2对应的实施例中控制设备采用的方法,即图6所示的控制设备可以是图2对应的实施例中的控制设备。如图所示,本发明实施例中的控制设备包括:

获取模块601,用于获取源名字、目的名字以及解析设备的设备标识,所述源名字用于标识源设备,所述目的名字用于标识目的设备,所述解析设备为所述源设备到所述目的设备的路径上被选择的受信任的设备。

具体实现中,可以从所述源设备到所述目的设备之间的路径上的至少一个受信任的网络设备中,随机选择一个设备作为所述解析设备,然后获取源名字、目的名字以及解析设备的设备标识。由于解析设备是随机动态选择的,因此降低了被黑客攻击的可能性,并且确保解析是由指定的受信任的设备完成。其中,所述源名字可以是所述源设备的ip地址、所述源设备的mac地址,所述源设备的名字或者与所述源设备相关的url,所述目的名字可以是所述目的设备的ip地址、所述目的设备的mac地址、所述目的设备的名字或者与所述目的设备相关的url。

处理模块602,用于根据所述源名字、所述目的名字以及所述解析设备的设备标识,获得第一密文,所述第一密文用于验证来自所述解析设备的报文的可靠性。

具体实现中,可以将所述解析设备的设备标识作为属性,采用基于属性的abe加密算法,对所述源名字和所述目的名字的组合进行加密,获得所述第一密文。

可选地,处理模块602还可以根据所述源名称、所述目的名称以及所述源设备的设备标识,获得第二密文;然后向所述源设备发送所述第二密文。进一步的,可以将所述源设备的设备标识作为属性,采用abe算法,对所述源名字和所述目的名字的组合进行加密,获得所述第二密文。

发送模块603,用于向所述源设备发送所述第一密文。

可选的,发送模块603可以向所述解析设备发送转换信息,所述转换信息 可以指示对来自所述源设备的报文采用的解析方式,比如所述转换信息可以指示采用所述解析设备的设备标识对来自所述源设备的报文中的第一密文进行解析。所述源设备将携带有第一密文的报文发送至所述解析设备之后,所述解析设备可根据所述转换信息,使用所述解析设备的设备标识对所述第一密文进行解析。

可选地,发送模块603可向所述解析设备与所述目的设备间的路径上的设备(可包括所述解析设备和所述目的设备),发送所述解析设备的设备标识。所述解析设备与所述目的设备间的路径上设备(可包括所述解析设备和所述目的设备)可配置有所述解析设备的公钥。

可选地,发送模块603可将所述解析设备的名字发送给所述源设备;还可向所述源设备与所述解析设备间的路径上的设备(可包括所述源设备和所述解析设备),发送所述源设备的设备标识。所述源设备与所述解析设备间的路径上的设备(可包括所述源设备和所述解析设备)可配置有所述源设备的公钥。

可选地,发送模块603可向所述源设备和所述目的设备间的路径上的设备下发相应的验证策略。比如,所述控制设备可向所述源设备和所述解析设备间的路径上的设备下发第一验证策略。所述第一验证策略为验证来自所述源设备的报文的策略。所述控制设备可向所述解析设备和所述目的设备间的路径上的设备下发第二验证策略。所述第二验证策略为验证来自所述解析设备的报文的策略。

请参考图7,图7是本发明实施例提供的一种源设备的结构示意图。图7所示的源设备可以采用图2对应的实施例中源设备采用的方法,即图7所示的源设备可以是图2对应的实施例中的源设备。如图所示,本发明实施例中的源设备包括:

接收模块701,用于接收控制设备发送的第一密文,所述第一密文用于验证来自解析设备的报文的可靠性,所述解析设备为源设备和目的设备间的路径上被选择的受信任的设备。

具体实现中,控制设备首先获取源名字、目的名字以及解析设备的设备标识,所述源名字用于标识源设备,所述目的名字用于标识目的设备,所述解析设备为所述源设备到所述目的设备的路径上被选择的受信任的设备;然后根据所述源名字、所述目的名字以及所述解析设备的设备标识,获得第一密文,最 后向所述源设备发送所述第一密文。

处理模块702,用于根据所述第一密文和第一报文,获得第二报文,所述第一报文为向所述目的设备发送的报文,所述第二报文包括所述第一密文和所述第一报文。

具体实现中,所述源设备可将所述第一密文添加至所述第二报文的报文头中。

可选地,所述源设备可接收所述控制设备发送的第二密文,在接收到第二密文之后,根据所述第一密文、所述第二密文和所述第一报文,获得所述第二报文,所述第二报文包括所述第一密文、所述第二密文和所述第一报文。进一步的,可以将所述第二密文添加至所述第二报文的报文头中。

可选地,所述源设备可接收所述控制设备发送的所述解析设备的名字;所述源设备根据所述源名字和所述解析设备的名字,获得第一名字信息和第一加密结果,所述第一名字信息为所述源名字和所述解析设备的名字的组合,所述第一加密结果为所述源设备的私钥对第一身份验证码进行数字签名后获得的结果,所述第一身份验证码与所述第一名字信息对应,第一身份验证码可以为根据第一名字信息计算得到的哈希值。

发送模块703,用于向所述目的设备发送所述第二报文。

请参考图8,图8是本发明实施例提供的一种解析设备的结构示意图。图8所示的解析设备可以采用图2对应的实施例中解析设备采用的方法,即图8所示的解析设备可以是图2对应的实施例中的解析设备。如图所示,本发明实施例中的解析设备包括:

接收模块801,用于接收源设备发送的第二报文,所述解析设备为源设备和目的设备间的路径上被选择的受信任的设备,所述第二报文包括第一密文和第一报文,所述第一报文为向所述目的设备发送的报文,所述第一密文用于验证来自所述解析设备的报文的可靠性。

处理模块802,用于根据所述解析设备的设备标识和所述第二报文,获得第三报文,所述第三报文包括所述第一报文、所述第一密文和验证信息,所述验证信息为根据所述解析设备的设备标识和所述第一密文生成的信息,所述验证信息用于验证来自所述解析设备的报文的可靠性。

具体实现中,可以采用解析设备的设备标识和第二报文,能够获得验证信 息,进一步的,所述解析设备用所述解析设备的设备标识对所述第一密文进行解密,获得第二名字信息,所述第二名字信息为所述源名字和目的名字的组合,所述目的名字用于标识所述目的设备;所述解析设备根据所述第二名字信息,获得所述验证信息,所述验证信息包括所述第二名字信息和/或第二加密结果,所述第二加密结果为所述解析设备的私钥对第二身份验证码进行数字签名后的结果,所述第二身份验证码与所述第二名字信息对应;所述解析设备根据所述验证信息、所述第一报文和所述第一密文,获得所述第三报文,以便接收到第三报文的设备能够根据验证信息和第一密文,验证报文在转发的过程中是否被篡改,提高了安全性,有助于实现来源的可靠性和解析结果的完整性。

其中,所述验证信息为所述第二名字信息,或者所述验证信息为所述第二加密结果,或者所述验证信息包括所述第二名字信息和所述第二加密结果。

可选地,若所述第二报文中包括上述第一名字信息和第一加密结果,且所述验证信息包括所述第二名字信息和所述第二加密结果,则所述解析设备获得所述第三报文的方法可以是:所述解析设备用所述第二名字信息替换所述第二报文中的第一名字信息,用所述第二加密结果替换所述第二报文中的第一加密结果,以获得所述第三报文。

可选的,所述第二报文还包括第一名字信息和第一加密结果,所述第一名字信息为源名字和所述解析设备的名字的组合,所述第一加密结果为所述源设备的私钥对第一身份验证码进行数字签名后获得的结果,所述第一身份验证码与所述第一名字信息对应,解析设备可以对第二报文进行验证。具体的,所述解析设备用所述源设备的公钥对所述第一加密结果进行解密,获得所述第一身份验证码;所述解析设备根据所述第一名字信息和所述第一身份验证码,确定所述第一身份验证码与所述第一名字信息匹配后,验证所述第二报文未被篡改。

其中,所述解析设备确定所述第一身份验证码与所述第一名字信息对应的方法为:所述解析设备对所述第一名字信息进行哈希计算,获得哈希值;所述解析设备在所述第一身份验证码与所述哈希值匹配后,确定所述第一身份验证码与所述第一名字信息对应。所述第一身份验证码与所述哈希值匹配可以是所述第一身份验证码与所述哈希值相同,也可以是所述第一身份验证码与所述哈希值的差值在阈值范围内。

可选地,所述第二报文还包括第二密文,解析设备还可以通过第二密文验 证第二报文的可靠性。具体的,所述解析设备确定所述源设备的设备标识能够对所述第二密文进行解密后,验证所述第二报文未被篡改。

其中,上述所述解析设备验证来自所述源设备的第二报文是否被篡改的方法可属于上述提及的第一验证策略。

可选地,所述解析设备可在验证来自所述源设备的第二报文未被篡改后,执行获得所述第三报文的流程。或者,所述解析设备可在验证来自所述源设备的第二报文未被篡改后,执行向所述目的设备发送所述第三报文的流程。这样,所述解析设备还可对来自源设备的第二报文进行验证,避免所述第二报文在传输过程中被篡改,有助于提高安全性,有助于保证来源的可靠性和解析的完整性。

另外,所述源设备和所述解析设备间的路径上的设备,可采用与所述解析设备相同的方法,验证来自所述源设备的第二报文是否被篡改。所述源设备和所述解析设备间的路径上的设备可在确定来自所述源设备的第二报文未被篡改后,向路径上的下一跳转发所述第二报文,即沿所述路径向所述目的设备的方向发送所述第二报文。

发送模块803,用于向所述目的设备发送所述第三报文。

请参考图9,图9是本发明实施例提供的一种目的设备的结构示意图。图9所示的目的设备可以采用图2对应的实施例中目的设备采用的方法,即图9所示的目的设备可以是图2对应的实施例中的目的设备。如图所示,本发明实施例中的目的设备包括:

接收模块901,用于接收解析设备发送的第三报文,所述解析设备为源设备和所述目的设备间的路径上被选择的受信任的设备,所述第三报文包括第一报文、第一密文和验证信息,所述第一报文为向所述目的设备发送的报文,所述第一密文用于验证来自所述解析设备的报文的可靠性,所述验证信息为根据所述解析设备的设备标识和所述第一密文生成的信息,所述验证信息用于验证来自所述解析设备的报文的可靠性;

处理模块902,用于根据所述第一密文和所述验证信息,验证所述第三报文的可靠性。

具体实现中,所述验证信息包括第二加密结果和第二名字信息,所述第二加密结果为所述解析设备的私钥对第二身份验证码进行数字签名后的结果,所 述第二身份验证码与所述第二名字信息对应,所述第二名字信息为源名字和目的名字的组合。所述目的设备利用所述解析设备的公钥对所述加密结果进行解密,获得所述第二身份验证码;所述目的设备确定所述第二身份验证码与所述第二名字信息匹配,则确定所述第三报文未经篡改。其中,所述第二身份验证码与所述第二名字信息匹配的判断方法与上述所述第一身份验证码与所述第一名字信息匹配的判断方法相同,在此不再赘述。

可选地,所述验证信息包括第二名字信息,所述第二名字信息为源名字和目的名字的组合,所述目的设备利用所述解析设备的设备标识解密所述第一密文,获得第三名字信息,所述第三名字信息为所述源名字和所述目的名字的组合;所述目的设备确定所述第三名字信息和所述第二名字信息相同后,确定所述第三报文未经篡改。

可选地,所述验证信息包括第二加密结果,所述第二加密结果为所述解析设备的私钥对第二身份验证码进行数字签名后的结果,所述第二身份验证码与第二名字信息对应,所述第二名字信息为源名字和目的名字的组合,所述目的设备利用所述解析设备的设备标识解析所述第一密文,获得第二名字信息,所述第二名字信息为所述源名字和所述目的名字的组合;所述目的设备利用所述解析设备的公钥对所述第二加密结果进行解密,获得所述第二身份验证码;所述目的设备确定所述第二身份验证码与所述第二名字信息匹配,则确定所述第三报文未经篡改。其中,所述第二身份验证码与所述第二名字信息匹配的判断方法与上述所述第一身份验证码与所述第一名字信息匹配的判断方法相同,在此不再赘述。

请继续参考图10,图10是本发明提出的一种装置的结构示意图。如图所示,该装置可以包括:至少一个处理器1001,例如cpu,至少一个通信接口1002,至少一个存储器1003和至少一个通信总线1004。其中,通信总线1004用于实现这些组件之间的连接通信。其中,本发明实施例中装置的通信接口1002用于与其他节点设备进行信令或数据的通信。存储器1003可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1003可选的还可以是至少一个位于远离前述处理器1001的存储装置。

若图10的装置为控制设备,存储器1003中存储一组程序代码,且处理器 1001执行所述存储器1003中存储的程序,执行上述控制设备所执行的方法或实现上述控制设备所实现的功能。若图10的装置为源设备,存储器1003中存储一组程序代码,且处理器1001执行所述存储器1003中存储的程序,执行上述源设备所执行的方法或实现上述源设备所实现的功能。若图10的装置为解析设备,存储器1003中存储一组程序代码,且处理器1001执行所述存储器1003中存储的程序,执行上述解析设备所执行的方法或实现上述解析设备所实现的功能。若图10的装置为目的设备,存储器1003中存储一组程序代码,且处理器1001执行所述存储器1003中存储的程序,执行上述目的设备所执行的方法或实现上述目的设备所实现的功能。

本发明实施例中的源设备可以为用户采用的主机,或者用户接入网络所需的终端。本发明实施例中的源设备和目的设备是相对的。目的设备是第一报文需要到达的目标设备。源设备可以是生成第一报文的设备,或者是最初发送所述第一报文的设备。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1