发明内容
本发明提供一种报文处理方法及装置、***,用以解决现有的中继设备在站点和接入点之间转发报文时需要解密再加密的处理过程而导致的信道利用率降低的问题。
第一方面,本发明提供一种报文处理方法,应用于中继设备在第一节点和第二节点之间转发报文的场景,包括:
第一节点接收中继设备发送的第一报文,所述第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥进行了加密,所述第二附加认证数据是由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成的,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点;
所述第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,其中,所述第一附加认证数据与所述第二附加认证数据相同;
所述第一节点使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密。
基于第一方面,在第一种实施方式中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
基于第一方面或第一方面的第一种实施方式,在第二种实施方式中,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
基于第一方面、第一方面的第一或第二种实施方式,在第三种实施方式中,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。
基于第一方面、第一方面的第一、第二或第三种实施方式,在第四种实施方式中,所述第一节点为站点,第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
第二方面,本发明提供一种报文处理方法,应用于中继设备在第一节点和第二节点之间转发报文的场景,包括:
第二节点生成第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点;
所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,使用所述第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第二报文中的数据进行加密;
所述第二节点将所述加密后的第二报文发送给所述中继设备,以使所述中继设备接收到所述第二报文后向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,使得所述第一节点接收到所述第一报文后至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
基于第二方面,在第一种实施方式中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
基于第二方面或第二方面的第一种实施方式,在第二种实施方式中,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
基于第二方面、第二方面的第一或第二种实施方式,在第三种实施方式中,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。
基于第二方面、第二方面的第一、第二或第三种实施方式,在第四种实施方式中,所述第一节点为站点,第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
第三方面,本发明提供一种报文处理方法,应用于中继设备在第一节点和第二节点之间转发报文的场景,包括:
中继设备接收第二节点发送的第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是第一节点,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和第二节点之间的会话密钥进行了加密,所述第二附加认证数据由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成;
所述中继设备向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,以使所述第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,并使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
基于第三方面,在第一种实施方式中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
基于第三方面或第三方面的第一种实施方式,在第二种实施方式中,,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
基于第三方面、第三方面的第一或第二种实施方式,在第三种实施方式中,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。
基于第三方面、第三方面的第一、第二或第三种实施方式,在第四种实施方式中,所述第一节点为站点,第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
第四方面,本发明提供一种报文处理装置,位于第一节点侧,应用于中继设备在所述第一节点和第二节点之间转发报文的场景,包括:
接收模块,用于接收中继设备发送的第一报文,所述第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥进行了加密,所述第二附加认证数据是由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成的,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点;
解密模块,用于至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述另一第二节点,其中,所述使用所述第一规则生成的附加认证数据与所述使用所述第二规则生成的附加认证数据相同;使用所述第一附加认证数据、所述第一节点和所述另一第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
基于第四方面,在第一种实施方式中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
基于第四方面或第四方面的第一种实施方式,在第二种实施方式中,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
基于第四方面、第四方面的第一或第二种实施方式,在第三种实施方式中,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述另一节点使用所述中继设备和所述另一节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述节点发送所述第一报文。
基于第四方面、第四方面的第一、第二或第三种实施方式,在第四种实施方式中,所述第一节点为站点,所述第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
第五方面,本发明提供一种报文处理装置,位于第二节点侧,应用于中继设备在所述第二节点和第一节点之间转发报文的场景,包括:
报文生成模块,用于生成第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述节点、下一接收方是所述另一节点;
加密模块,用于至少根据所述第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,使用所述第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第二报文中的数据进行加密;
发送模块,用于将所述加密后的第二报文发送给所述中继设备,以使所述中继设备接收到所述第二报文后向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,使得所述第一节点接收到所述第一报文后至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
基于第五方面,在第一种实现方式中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
基于第五方面或第五方面的第一种实现方式,在第二种实现方式中,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
基于第五方面、第五方面的第一或第二种实现方式,在第三种实现方式中,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述节点使用所述中继设备和所述节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述另一节点发送所述第一报文。
基于第五方面、第五方面的第一、第二或第三种实现方式,在第四种实现方式中,所述第二节点为站点,所述第一节点为接入点;或,所述第二节点为接入点,所述第一节点为站点。
第六方面,本发明提供一种报文处理装置,位于中继设备侧,应用于中继设备在第一节点和第二节点之间转发报文的场景,包括:
接收模块,用于接收第二节点发送的第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是第一节点,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和第二节点之间的会话密钥进行了加密,所述第二附加认证数据由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成;
发送模块,用于向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,以使所述第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,并使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
基于第六方面,在第一种实现方式中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
基于第六方面或第六方面的第一种实现方式,在第二种实现方式中,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
基于第六方面、第六方面的第一或第二种实现方式,在第三种实现方式中,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。
基于第六方面、第六方面的第一、第二或第三种实现方式,在第四种实现方式中,所述第一节点为站点,第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
第七方面,本发明提供一种报文处理***,应用于中继设备在第一节点和第二节点之间转发报文的场景,包括:第一节点、第二节点、中继设备;
所述第一节点包括上述第四方面所述的报文处理装置;
所述第二节点包括上述第五方面所述的报文处理装置;
所述中继设备包括上述第六方面所述的报文处理装置。
本发明通过第一节点接收中继设备发送的第一报文,其中,第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用第二附加认证数据、第一节点和第二节点之间的会话密钥进行加密,所述第二附加认证数据由所述第二节点使用第二规则至少根据所述第二报文的报文头中的地址信息生成的;第一节点至少根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,第一节点根据第一规则生成的第一附加认证数据中各地址顺序与第二节点根据第二规则生成的第二附加认证数据中各地址顺序是相同的,进一步地,第一节点利用第一附加认证数据以及第一节点和第二节点之间的会话密钥解密第一报文中的数据。从而当中继设备接收到第二节点发送的第二报文时,不需要对第二报文先进行解密然后再加密后发送第一报文给第一节点,节省了中继设备处理报文的时间,提高了信道利用率,减小了中继设备的额外耗能。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在802.11标准中,STA(英文:Station,站点)是指支持802.11协议的设备,包括AP在内,AP在标准中被称为AP STA,不是AP的STA在标准中被称为non-AP STA。本发明中所述的站点STA指应用终端,也即non-AP STA,本发明中所述的接入点AP,可以是标准中的AP STA,本发明中所述的中继设备Relay,可以是标准中的Relay STA。
在IEEE802.11ah标准中,通常,采用计数器模式密码块链消息认证码协议(英文:Counter Mode with Cipher-block Chaining MessageAuthentication Code Protocol,简称CCMP)对报文中的数据进行加密。图1为本发明实施例应用的一种CCMP加密报文的帧格式示意图,报文头一般称为媒介访问控制帧头(英文:Media Access Control header,简称MACheader),如图1所示,MAC header和CCMP Header参与加密计算但本身不被加密;待发送报文中的数据Data和消息完整性码(英文:MessageIntegrity Code,简称MIC)被加密(英文:Encrypted),帧检验序列(英文:Frame Check Sequence,简称FCS)用于检查帧在传输过程中是否出错。本发明实施例可以应用的CCMP加密报文的帧格式不限于图1所示的帧格式。
在实际应用中,AP或者STA采用CCMP算法对待发送报文中的数据Data和消息完整性码MIC加密之前,需要使用待发送报文的MAC帧头中的地址信息生成附加认证数据(英文:Additional Authentication Data,简称AAD),图2为本发明实施例应用的一种MAC帧头的格式示意图,如图2所示,MAC帧头中包括多个地址信息,其中,地址信息中包括的各地址顺序为地址A1、地址A2、地址A3和地址A4,其中,A1是接收地址,即当前接收报文的节点地址,A2是发送地址,即当前发送报文的节点地址。当目的地址为接收地址时,MAC帧头中不需要写目的地址,当目的地址不是接收地址时,A3是目的地址,通常,目的地址为下一个接收报文的节点地址;当源地址是发送地址,MAC帧头中不需要写源地址,当源地址不是发送地址时,则A3或A4中需要写入源地址,通常,源地址为上一个发送报文的节点地址。本发明实施例可以应用的MAC帧头的格式不限于图2所示的格式。
由图2所示的MAC帧头结构可知,当报文每一次被Relay转发时,MAC帧头中的各地址的顺序必然改变,由于MAC帧头中的各地址顺序在报文转发过程中是改变的,根据MAC帧头中的各地址顺序生成的附加认证数据AAD也会改变,因此,Relay在接收到的报文之后,必须对接收到的报文中的加密数据进行解密,在MAC帧头中重新写入转发的地址信息,然后根据重新写入的地址信息生成附加认证数据,并利用该重新生成的附加认证数据对解密后的数据进行加密。从而增加了Relay的报文处理时间,降低信道利用率,增加Relay的额外耗能。
鉴于上述存在的问题,本发明实施例提供一种报文处理方法,应用于中继设备在第一节点和第二节点之间转发报文的场景,可以解决现有的中继设备在站点和接入点之间转发报文时需要解密再加密的处理过程而导致的信道利用率降低的问题。
需要说明的是,以下各实施例中,若第一节点是接入点AP时,则第二节点为站点STA,或者若第一节点是站点STA时,则第二节点是接入点AP。
图3为本发明一实施例提供的报文处理方法的流程示意图;应用于中继设备在第一节点和第二节点之间转发报文的场景,如图3所示,报文处理方法具体包括:
301、第一节点接收中继设备发送的第一报文,所述第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥进行了加密,所述第二附加认证数据是由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成的,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点。
具体实现时:图4为本发明实施例应用的报文处理***的一种架构示意图,如图4所示,假设接入点AP为第一节点,站点STA为第二节点,STA生成第二报文,其中,第二报文的报文头(如图2所示的MAC帧头)中的地址信息中的各地址顺序为:A1为Relay的地址,发送地址A2兼源地址为STA的地址,下一个接收方的地址A3为AP的地址。STA至少根据第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据AAD,之后,STA利用第二AAD以及STA和AP之间的会话密钥对第二报文中的数据进行加密,并将加密后的第二报文发送给Relay。
Relay接收到STA发送的第二报文之后,可以重新组装以得到第一报文,具体可以为:填充第一报文的报文头(MAC帧头)中的地址信息,即接收地址A1兼目的地址为AP的地址,发送地址A2为Relay的地址,源地址A3为STA的地址;将第二报文中的加密数据填充在第一报文中的Data部分中。所述第一报文也可以是在所述第二报文上进行简单的地址信息更新后得到的。本实施例中,Relay不需要对STA发送的第二报文进行解密处理,可以直接将第二报文中的加密数据填充在第一报文中的Data部分中,之后,Relay将第一报文发送给AP。
可选地,上述STA发送给Relay的第二报文中还可以包括中继消息认证信息,所述中继消息认证信息可以是由STA使用STA和Relay之间的消息认证密钥生成的,用以Relay接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向AP发送第二报文。
302、第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,其中,所述第一附加认证数据与所述第二附加认证数据相同。
需要说明的是,本发明实施例的应用场景是中继设备在第一节点和第二节点之间转发报文,因此,当AP接收到第一报文之后,需要根据第一报文的报文头中的地址信息,假设发送地址A2为Relay的地址,则可以确定该第一报文是Relay转发的;或者,当AP接收第一报文之后,假设第一报文的报文头中携带有Relay发送的标志位,例如标志位为1时,表示该第一报文是Relay发送的,0表示该第一报文不是Relay发送的,具体实现时,Relay发送的标志位可以利用MAC帧头的帧控制(英文:FrameControl,简称FC)中保留的比特(bit)位来标识。
由于报文每一次被Relay转发时,报文头中的各地址的顺序必然改变,因此,AP在接收到Relay发送的第一报文中的各地址顺序与STA在发送给Relay的第二报文中的各地址顺序是不同的。为了能够实现Relay不需要对STA发送的第二报文中的加密数据进行解密处理,并且AP能够将Relay发送的第一报文中包含的来自STA的第二报文中的加密数据进行解密,AP根据第一报文的报文头中的各地址信息使用第一规则生成的第一附加认证数据必须与STA根据第二报文的报文头中的各地址信息使用第二规则生成的第二附加认证数据是相同的。具体实现时:
若所述第一规则是第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,则所述第二规则是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得根据所述第二规则生成的第二附加认证数据中各地址顺序和根据第一规则生成的所述第一附加认证数据中各地址顺序相同;或
若所述第一规则是第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,则所述第二规则是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得根据所述第二规则生成的第二附加认证数据中各地址顺序和根据第一规则生成的所述第一附加认证数据中各地址顺序相同。
如图4所示,假设第二节点STA根据第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,该第二规则是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,则第一节点AP根据第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据时,该第一规则是第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,使得所述第二节点STA根据第二报文的报文头中的地址信息使用所述第二规则生成的第二附加认证数据中各地址顺序和第一节点AP根据第一报文的报文头中的地址信息使用所述第一规则生成的第一附加认证数据中各地址顺序相同。
具体实现时,例如,第一节点AP中可以预设有地址映射表,其中,地址映射表中设置有Relay发送的第一报文的报文头中的各地址在AP生成的AAD中的各地址字段的位置的映射关系;
其中,表1为本发明实施例预设的地址映射表,如表1所示,下行表示AP通过Relay向STA发送报文,上行表示STA通过Relay向AP发送报文;为了实现AP正确的解密Relay发送的第一报文中包含的来自STA的第二报文中的加密数据,AP生成的AAD中的各地址顺序需要与STA生成的AAD中的各地址顺序一致。表1:
需要说明的是,可选的,AP的AAD中可以有第四个地址字段,在表1中未具体示出有第四个地址字段时的内容。基于上述第一节点AP确定第一报文是Relay发送的基础上,AP获取第一报文的报文头中的地址信息,具体为:接收地址A1兼目的地址为AP的地址,发送地址A2为Relay的地址,源地址A3为STA的地址;查询表1所示的地址映射表,得到与上述获取的第一报文的报文头中各地址顺序对应的映射地址顺序,即第一报文的报文头中的接收地址A1(AP的地址)对应映射地址中的A3,第一报文的报文头中的发送地址A2(Relay的地址)对应映射地址中的A1,第一报文的报文头中的源地址A3(STA的地址)对应映射地址中的A2;
之后,AP根据第一报文的报文头中的地址信息使用的第一规则生成对应的附加认证数据时,具体可以为:AP根据第一报文的报文头中的各地址顺序对应的映射地址顺序,分别将各映射地址填入生成附加认证数据的MAC帧头中对应的A1、A2和A3的位置,也就是说,将Relay的地址填入A1位置,将STA的地址填入A2位置,将AP的地址填入A3位置,生成第一附加认证数据,第一附加认证数据中各地址顺序为Relay的地址、STA的地址、AP的地址。这种情况下,第一节点AP根据第一报文头中的地址信息使用第一规则生成对应的第一附加认证数据时,该第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文头中的各地址顺序不同,则,第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文头中的各地址顺序相同,由于第二报文头中的地址信息中的各地址顺序为:A1为Relay的地址,发送地址A2兼源地址为STA的地址,下一个接收节点的地址A3为AP的地址,则第二节点STA根据第二报文头中的地址信息使用第二规则生成对应的第二附加认证数据中各地址顺序为Relay的地址、STA的地址、AP的地址。从而AP生成的第一AAD中各地址顺序与STA生成的第二AAD中各地址顺序相同,进而可以实现AP正确的解密Relay发送的第一报文中包含的来自STA的第二报文中的加密数据。
需要说明的是,如图4所示,假设第二节点STA根据第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,该第二规则是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,则第一节点AP根据第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据时,该第一规则是第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,使得所述第二节点STA根据第二报文的报文头中的地址信息使用所述第二规则生成的第二附加认证数据中各地址顺序和第一节点AP根据第一报文的报文头中的地址信息使用所述第一规则生成的第一附加认证数据中各地址顺序相同。具体实现时,例如,第二节点STA中可以预设有地址映射表,其中,地址映射表中可以设置有Relay发送的第一报文的报文头中的各地址在第二节点STA生成的AAD中的各地址字段的位置的映射关系,映射原理不再赘述。
303、第一节点使用根据所述第一规则生成的第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密。
具体实现时,可以按照CCMP算法,第一节点使用第一附加认证数据、第一报文中的CCMP头中的包序号信息、以及第一节点和第二节点之间的会话密钥等进行一系列运算产生密钥链的第一密钥值,再将这个第一密钥值经过一个固定公式的计算生成第二密钥值,再将第二密钥值经过所述固定公式的计算生成第三密钥值,依此类推,这一系列的密钥值就是密钥链。密钥链中的每个密钥值可以都是128比特,每个密钥值依次与待解密数据中的128比特进行异或运算,就得到对应的明文数据,本领域技术人员可以理解的是,CCMP算法可以是现有技术,本发明对此不作限定。
需补充说明的是,附加认证数据中可以只包含地址信息,也可以还使用了报文头中的除了地址信息之外的其它信息,例如帧控制FC(FrameControl,帧控制)字段、服务质量控制QC(Quality of service Control,QoS控制)字段、序列控制SC(Sequence Control)字段,这些字段包含很多指示信息位,这些信息位有些在附加认证数据中保持与报文头中相同的值,有些则在附加认证数据中被设置为固定值。为了使得所述的第一节点和所述的第二节点对于它们之间传递的同一数据产生相同的附加认证数据,那些在Relay转发后会发生变化的信息位在生成的附加认证数据中可以被设为固定值,例如FC字段中有两个信息位是toDS和fromDS,分别表示这个报文是否发送给网络侧或来自网络侧,在Relay接收STA发送的报文时,这两个信息位的值可以是“10”,而Relay向AP发送报文时,这两个信息位的值可以是“11”,因此,无论是STA还是AP在产生附加认证数据时,都将在附加认证数据中的这两个信息位设为固定值,例如“11”。附加认证数据中这些信息位设为固定值并不表示特定含义,仅仅是为了STA和AP得到相同的附加认证数据。
还需补充说明的是,CCMP算法中还可以根据报文头中的A2地址生成现场值(英文:Nonce),将该现场值参与加密计算过程,因此,第一节点接收第一报文后需生成相同的现场值才能正确解密。如图4所示,Relay发送给AP的第一报文中的A2是与Relay接收的来自STA的第二报文中的A2是不同的,为了让AP与STA使用相同的现场值,例如在上行的情形下,需要AP根据表1所示的地址映射关系,确定Relay发送给AP的第一报文的报文头中地址A3与STA发送给Relay的第二报文中的A2是相同的,因此,AP可以根据第一报文头中地址A3来产生现场值,这样AP产生的现场值就和STA产生的现场值相同。
本发明实施例通过第一节点接收中继设备发送的第一报文,其中,第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用第二附加认证数据、第一节点和第二节点之间的会话密钥进行加密,所述第二附加认证数据由所述第二节点使用第二规则至少根据所述第二报文的报文头中的地址信息生成的;第一节点至少根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,第一节点根据第一规则生成的第一附加认证数据中各地址顺序与第二节点根据第二规则生成的第二附加认证数据中各地址顺序是相同的,进一步地,第一节点利用第一附加认证数据以及第一节点和第二节点之间的会话密钥解密第一报文中的数据。从而当中继设备接收到第二节点发送的第二报文时,不需要对第二报文先进行解密然后再加密后发送第一报文给第一节点,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
图5为本发明另一实施例提供的报文处理方法的流程示意图;应用于中继设备在第一节点和第二节点之间转发报文的场景,如图5所示,报文处理方法具体包括:
501、第二节点生成第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点。
具体实现时,如图4所示,假设第二节点为AP,第一节点为STA,当AP需要发送一个加密数据到STA时,AP可以生成第二报文,在第二报文的报文头中填入各地址信息,接收地址A1为Relay的地址,发送地址A2兼源地址为AP的地址,目的地址A3为STA的地址;将待发送的数据填入到第二报文的Data部分。
502、第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,使用所述第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第二报文中的数据进行加密;
具体实现时,AP在发送第二报文之前,AP需要生成第二附加认证数据,本实施例中,AP至少根据第二报文中的地址信息使用第二规则生成第二附加认证数据,其中,第二规则可以是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同;或第二规则也可以是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同。
之后,AP使用第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第二报文中的数据进行加密,具体实现时,可以按照CCMP算法,AP使用第二附加认证数据、第二报文中的CCMP头中的包序号信息、以及AP和STA之间的会话密钥等进行一系列运算产生密钥链的第一密钥值,再将这个第一密钥值经过一个固定公式的计算生成第二密钥值,再将第二密钥值经过所述固定公式的计算生成第三密钥值,依此类推,这一系列的密钥值就是密钥链。密钥链中的每个密钥值可以都是128比特,每个密钥值依次与待加密数据中的128比特进行异或运算,就可以得到对应的密文数据。
503、第二节点将所述加密后的第二报文发送给所述中继设备,以使所述中继设备接收到所述第二报文后向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,使得所述第一节点接收到所述第一报文后至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
本实施例中,如图4所示,当Relay接收到AP发送的第二报文之后,不需要对第二报文中的加密数据进行解密,Relay可以重新组装以得到第一报文,具体地可以为,将第二报文中的加密数据填充到第一报文的Data部分,将第一报文的报文头的地址信息填充为:接收地址A1兼目的地址为STA的地址,发送地址A2为Relay的地址,源地址A3为AP的地址。所述第一报文也可以是在所述第二报文上进行简单的地址信息更新后得到的。之后,Realy将第一报文发送给STA。
为了使得STA能够正确解密出第一报文中包含的来自AP的第二报文中的加密数据,STA根据第一报文中的地址信息使用第一规则生成的第一附加认证数据必须与AP根据第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据是相同的,可以包括,STA使用第一规则生成的第一附加认证数据中的各地址顺序必须与AP使用第二规则生成的第二附加认证数据中的各地址顺序相同。具体实现时可以为:
若AP使用的第二规则是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,则STA使用的第一规则是第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,使得STA根据使用所述第一规则生成的第一附加认证数据中各地址顺序和AP根据使用所述第二规则生成的第二附加认证数据中各地址顺序相同;或
若AP使用的第二规则是第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,则STA使用的第一规则是第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,使得STA使用所述第一规则生成的第一附加认证数据中各地址顺序和AP使用所述第二规则生成的第二附加认证数据中各地址顺序相同。
进一步地,在本发明的一个可选实施方式中,AP生成的第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由AP使用Relay和AP之间的消息认证密钥生成,以便Relay接收到AP发送的第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向STA发送第一报文。其中,上述中继消息认证信息可以是AP对所述第二报文的FCS字段使用所述消息认证密钥进行加密或哈希运算得到的。在具体实现时可以为:
例如图4所示,AP发送第二报文给Relay之前,可以与Relay协商一个中继消息认证密钥,该中继消息认证密钥用于对AP发送给Relay的第二报文进行简单的消息认证,通常,AP可以使用该AP与Relay之间协商好的中继消息认证密钥对待发送的第二报文中的FCS字段进行加密或哈希(hash)运算,将加密或哈希后的FCS作为中继消息认证信息代替原有的FCS字段,本实施例中,为了说明的方便,可以将哈希后的FCS称为中继认证字段R-Auth。Relay接收到AP发送的第二报文之后,使用所述中继消息认证密钥验证所述中继消息认证信息,验证第二报文中携带的中继认证字段R-Auth,具体验证方法可以是采用AP产生R-Auth相同的过程产生R-Auth’,然后比较R-Auth’和报文中的R-Auth,若两者相等,则验证成功,否则验证失败。Relay在验证R-Auth成功的基础上,将该第二报文中的加密数据组装到第一报文中并发送给STA;可选地,若Relay验证R-Auth不成功,Relay可以直接丢弃第二报文。
本发明实施例通过第二节点根据第二报文中的地址信息使用第二规则生成第二附加认证数据,利用第二附加认证数据、第一节点与第二节点之间的会话密钥对第二报文中的数据进行加密后,将第二报文发送给中继设备,使得中继设备不需要对第二报文中的加密数据进行解密,而是将第二报文中的加密数据直接携带在第一报文中发送给第一节点,以使第一节点根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,使用第一规则生成第一附加认证数据与使用第二规则生成第二附加认证数据是相同的,第一节点利用第一附加认证数据、第一节点和第二节点之间的会话密钥对第一报文中的加密数据进行解密。从而能够实现中继设备在转发加密报文的过程中不需要先解密后再加密的过程,节省了报文处理的时间,增加了信道利用率,减小了中继设备的额外耗能。
图6为本发明另一实施例提供的报文处理方法的流程示意图;应用于中继设备在第一节点和第二节点之间转发报文的场景,如图6所示,报文处理方法具体包括:
601、中继设备接收第二节点发送的第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是第一节点,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和第二节点之间的会话密钥进行了加密,所述第二附加认证数据由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成。
602、中继设备向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,以使所述第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,并使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
本实施例中,中继设备在接收到第二节点发送的第二报文之后,不需要将第二报文中的加密数据进行解密,可以直接将所述加密数据填充到第一报文的Data部分,将第一报文的报文头的地址信息填充为:接收地址A1兼目的地址为第一节点的地址,发送地址A2为中继设备的地址,源地址A3为第二节点的地址;之后,中继设备将第一报文发送给第一节点。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
其中,所述第一节点为站点,所述第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
进一步地,在本发明的一个实施方式中,所述中继设备接收第二节点发送的第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,以便所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。其中,上述中继消息认证信息由第二节点使用所述中继设备和所述第一节点之间的消息认证密钥生成,在具体实现时,可以是第二节点对所述第二报文的FCS字段使用所述消息认证密钥进行加密或哈希运算得到上述中继消息认证信息。具体可参考前述相关部分的描述,此处不再赘述。
本发明实施例的中继设备在接收到第二节点发送的第二报文时,不需要中继设备对第二报文中的加密数据先解密后加密的过程,可以直接将该加密数据重新组装到第一报文中,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
图7为本发明一实施例提供的报文处理装置的结构示意图;位于第一节点侧,应用于中继设备在第一节点和第二节点之间转发报文的场景,如图7所示,包括:
接收模块71,用于接收中继设备发送的第一报文,所述第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥进行了加密,所述第二附加认证数据是由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成的,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点;
解密模块72,用于至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述另一第二节点,其中,所述使用所述第一规则生成的附加认证数据与所述使用所述第二规则生成的附加认证数据相同;使用所述第一附加认证数据、所述第一节点和所述另一第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
进一步可选的,所述第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由所述另一节点使用所述中继设备和所述另一节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述节点发送所述第一报文。
其中,所述第一节点为站点,所述第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
本发明实施例通过第一节点接收中继设备发送的第一报文,其中,第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用第二附加认证数据、第一节点和第二节点之间的会话密钥进行加密,所述第二附加认证数据由所述第二节点使用第二规则至少根据所述第二报文的报文头中的地址信息生成的;第一节点至少根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,第一节点根据第一规则生成的第一附加认证数据中各地址顺序与第二节点根据第二规则生成的第二附加认证数据中各地址顺序是相同的,进一步地,第一节点利用第一附加认证数据以及第一节点和第二节点之间的会话密钥解密第一报文中的数据。从而当中继设备接收到第二节点发送的第二报文时,不需要对第二报文先进行解密然后再加密后发送第一报文给第一节点,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
图8为本发明另一实施例提供的报文处理装置的结构示意图;位于第二节点侧,应用于中继设备在所述第二节点和第一节点之间转发报文的场景,包括:
报文生成模块81,用于生成第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述节点、下一接收方是所述另一节点;
加密模块82,用于至少根据所述第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,使用所述第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第二报文中的数据进行加密;
发送模块83,用于将所述加密后的第二报文发送给所述中继设备,以使所述中继设备接收到所述第二报文后向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,使得所述第一节点接收到所述第一报文后至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
进一步可选的,所述第二报文中还包括中继消息认证信息,所述中继消息认证信息由所述节点使用所述中继设备和所述节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述另一节点发送所述第一报文。
其中,所述第二节点为站点,所述第一节点为接入点;或,所述第二节点为接入点,所述第一节点为站点。
本发明实施例通过第二节点根据第二报文中的地址信息使用第二规则生成第二附加认证数据,利用第二附加认证数据、第一节点与第二节点之间的会话密钥对第二报文中的数据进行加密后,将第二报文发送给中继设备,使得中继设备不需要对第二报文中的加密数据进行解密,而是将第二报文中的加密数据直接携带在第一报文中发送给第一节点,以使第一节点根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,使用第一规则生成第一附加认证数据与使用第二规则生成第二附加认证数据是相同的,第一节点利用第一附加认证数据、第一节点和第二节点之间的会话密钥对第一报文中的加密数据进行解密。从而能够实现中继设备在转发加密报文的过程中不需要先解密后再加密的过程,节省了报文处理的时间,增加了信道利用率,减小了中继设备的额外耗能。
图9为本发明另一实施例提供的报文处理装置的结构示意图;位于中继设备侧,应用于中继设备在所述第二节点和第一节点之间转发报文的场景,包括:
接收模块91,用于接收第二节点发送的第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是第一节点,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和第二节点之间的会话密钥进行了加密,所述第二附加认证数据由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成;
发送模块92,用于向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,以使所述第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,并使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
进一步可选的,所述第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。
其中,所述第一节点为站点,第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
本发明实施例的中继设备在接收到第二节点发送的第二报文时,不需要中继设备对第二报文中的加密数据先解密后加密的过程,可以直接将该加密数据重新组装到第一报文中,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
图10为本发明另一实施例提供的报文处理装置的结构示意图;位于第一节点侧,应用于中继设备在第一节点和第二节点之间转发报文的场景,本实施例的报文处理装置具体可以为接入点或者站点,如图10所示,第一节点包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线连接,存储器中保存有用于中继设备在第一节点和第二节点之间转发报文的场景时的报文处理方法的实现指令;进一步地,第一节点还包括通信接口,通过通信接口与其他网元设备(例如中继设备)通信。
当处理器调取存储器中的指令时,可以执行如下步骤:
接收中继设备发送的第一报文,所述第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥进行了加密,所述第二附加认证数据是由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成的,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是所述第一节点;
至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述另一第二节点,其中,所述使用所述第一规则生成的附加认证数据与所述使用所述第二规则生成的附加认证数据相同;使用所述第一附加认证数据、所述第一节点和所述另一第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
进一步可选的,所述第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由所述另一节点使用所述中继设备和所述另一节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述节点发送所述第一报文。
其中,所述第一节点为站点,所述第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点。
本发明实施例通过第一节点接收中继设备发送的第一报文,其中,第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用第二附加认证数据、第一节点和第二节点之间的会话密钥进行加密,所述第二附加认证数据由所述第二节点使用第二规则至少根据所述第二报文的报文头中的地址信息生成的;第一节点至少根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,第一节点根据第一规则生成的第一附加认证数据中各地址顺序与第二节点根据第二规则生成的第二附加认证数据中各地址顺序是相同的,进一步地,第一节点利用第一附加认证数据以及第一节点和第二节点之间的会话密钥解密第一报文中的数据。从而当中继设备接收到第二节点发送的第二报文时,不需要对第二报文先进行解密然后再加密后发送第一报文给第一节点,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
图11为本发明另一实施例提供的报文处理装置的结构示意图;位于第二节点侧,应用于中继设备在第一节点和第二节点之间转发报文的场景,具体可以为接入点AP或站点STA,如图11所示,第二节点包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线连接,存储器中保存有用于中继设备在第一节点和第二节点之间转发报文的场景时的报文处理方法的实现指令;进一步地,第二节点还包括通信接口,通过通信接口与其他网元设备(例如中继设备)通信。
当处理器调取存储器中的指令时,可以执行如下步骤:
生成第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述节点、下一接收方是所述另一节点;
至少根据所述第二报文的报文头中的地址信息使用第二规则生成第二附加认证数据,使用所述第二附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第二报文中的数据进行加密;
将所述加密后的第二报文发送给所述中继设备,以使所述中继设备接收到所述第二报文后向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,使得所述第一节点接收到所述第一报文后至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
进一步可选的,所述第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由所述节点使用所述中继设备和所述节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述另一节点发送所述第一报文。
其中,所述第二节点为站点,所述第一节点为接入点;或,所述第二节点为接入点,所述第一节点为站点。
本发明实施例通过第二节点根据第二报文中的地址信息使用第二规则生成第二附加认证数据,利用第二附加认证数据、第一节点与第二节点之间的会话密钥对第二报文中的数据进行加密后,将第二报文发送给中继设备,使得中继设备不需要对第二报文中的加密数据进行解密,而是将第二报文中的加密数据直接携带在第一报文中发送给第一节点,以使第一节点根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,使用第一规则生成第一附加认证数据与使用第二规则生成第二附加认证数据是相同的,第一节点利用第一附加认证数据、第一节点和第二节点之间的会话密钥对第一报文中的加密数据进行解密。从而能够实现中继设备在转发加密报文的过程中不需要先解密后再加密的过程,节省了报文处理的时间,增加了信道利用率,减小了中继设备的额外耗能。
图12为本发明另一实施例提供的报文处理装置的结构示意图;位于中继设备侧,应用于中继设备在第一节点和第二节点之间转发报文的场景,具体可以为Relay,如图12所示,中继设备包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线连接,存储器中保存有用于中继设备在第一节点和第二节点之间转发报文的场景时的报文处理方法的实现指令;进一步地,中继设备还包括通信接口,通过通信接口与其他网元设备(例如接入点或站点)通信。
当处理器调取存储器中的指令时,可以执行如下步骤:
接收第二节点发送的第二报文,所述第二报文的报文头中的地址信息指示所述第二报文的接收方是所述中继设备、发送方是所述第二节点、下一接收方是第一节点,所述第二报文中的数据使用了第二附加认证数据、所述第一节点和第二节点之间的会话密钥进行了加密,所述第二附加认证数据由所述第二节点至少根据所述第二报文的报文头中的地址信息使用第二规则生成;
向所述第一节点发送第一报文,所述第一报文中包含所述第二报文中的数据,所述第一报文的报文头中包含的地址信息指示所述第一报文的接收方是所述第一节点、发送方是所述中继设备、上一发送方是所述第二节点,以使所述第一节点至少根据所述第一报文的报文头中的地址信息使用第一规则生成第一附加认证数据,并使用所述第一附加认证数据、所述第一节点和所述第二节点之间的会话密钥对所述第一报文中的数据进行解密,其中,所述第一附加认证数据与所述第二附加认证数据相同。
其中,所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序相同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序不同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同;或
所述第一规则是所述第一附加认证数据中的各地址顺序与所述第一报文的报文头中的各地址顺序不同,所述第二规则是所述第二附加认证数据中的各地址顺序与所述第二报文的报文头中的各地址顺序相同,使得所述第二附加认证数据中各地址顺序和所述第一附加认证数据中各地址顺序相同。
进一步地,所述第二附加认证数据中的各地址顺序和所述第一附加认证数据中的各地址顺序相同。
进一步可选的,所述第二报文中还可以包括中继消息认证信息,所述中继消息认证信息由所述第二节点使用所述中继设备和所述第二节点之间的消息认证密钥生成,用以所述中继设备接收到所述第二报文之后,使用所述消息认证密钥验证所述中继消息认证信息,若验证通过则向所述第一节点发送所述第一报文。
其中,所述第一节点为站点,第二节点为接入点;或,所述第一节点为接入点,所述第二节点为站点
本发明实施例的中继设备在接收到第二节点发送的第二报文时,不需要中继设备对第二报文中的加密数据先解密后加密的过程,可以直接将该加密数据重新组装到第一报文中,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
图13为本发明另一实施例提供的报文处理***的一种结构示意图,应用于中继设备在第一节点和第二节点之间转发报文的场景,如图13所示,所述***具体包括:中继设备11、第一节点12和第二节点13;
其中,第一节点12包括上述图7或图10所示实施例提供的报文处理装置,详细内容参考图7或图10所示实施例提供的报文处理装置中的相关描述;
第二节点13包括上述图8或图11所示实施例提供的报文处理装置,详细内容参考图8或图11所示实施例提供的报文处理装置中的相关描述;
中继设备11为上述图9或图12所示实施例提供的报文处理装置,详细内容参考图9或图12所示实施例提供的报文处理装置中的相关描述;
在实际应用,若第一节点是接入点AP时,则第二节点为站点STA,或者若第一节点是站点STA时,则第二节点是接入点AP。
本发明实施例通过第一节点接收中继设备发送的第一报文,其中,第一报文中包括第二节点向所述中继设备发送的第二报文中的数据,所述第二报文中的数据使用第二附加认证数据、第一节点和第二节点之间的会话密钥进行加密,所述第二附加认证数据由所述第二节点使用第二规则至少根据所述第二报文的报文头中的地址信息生成的;第一节点至少根据第一报文中的地址信息使用第一规则生成第一附加认证数据,其中,第一节点根据第一规则生成的第一附加认证数据中各地址顺序与第二节点根据第二规则生成的第二附加认证数据中各地址顺序是相同的,进一步地,第一节点利用第一附加认证数据以及第一节点和第二节点之间的会话密钥解密第一报文中的数据。从而当中继设备接收到第二节点发送的第二报文时,不需要对第二报文先进行解密然后再加密后发送第一报文给第一节点,节省了中继设备处理报文的时间,增加了信道利用率,减小了中继设备的额外耗能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。