CN113225298A - 一种报文验证方法及装置 - Google Patents
一种报文验证方法及装置 Download PDFInfo
- Publication number
- CN113225298A CN113225298A CN202010072410.2A CN202010072410A CN113225298A CN 113225298 A CN113225298 A CN 113225298A CN 202010072410 A CN202010072410 A CN 202010072410A CN 113225298 A CN113225298 A CN 113225298A
- Authority
- CN
- China
- Prior art keywords
- key
- message
- account name
- packet
- address
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种报文验证方法及装置,实现防御DDoS攻击的目的。其中,所述方法包括:网络设备接收来自第一设备的第一报文,所述第一报文包括应用程序的账户名和第二密钥;所述网络设备获取所述应用程序的第一密钥;所述网络设备对所述应用程序的账户名和所述应用程序的第一密钥进行加密,得到第三密钥;若所述第三密钥和所述第二密钥匹配,所述网络设备向第二设备发送所述第一报文。
Description
技术领域
本申请涉及通信领域,特别是涉及一种报文验证方法及装置。
背景技术
当前互联网通信是在互联网协议(Internet Protocol,IP)通信的基础上发展起来的。IP通信的基本特征是以IP地址为通信两端的标识建立有连接或无连接的会话。IP地址标识两重含义,一重含义是标识通信者的身份,通过IP地址可以识别通信用户;另外一重含义是标识通信者的位置,通过该位置来传输报文。
IP通信是一种明文通信机制,为了保证通信的私密性,国际互联网工程任务组(The Internet Engineering Task Force,IETF)在IP通信的基础上又发展了系列的安全通信机制,例如互联网协议安全(Internet Protocol Security,IPsec)协议,该IPsec协议是为保证在互联网上传送数据的安全保密性能的框架协议。通过因特网密钥交换(internet key exchange,IKE)安全联盟(security association,SA)的协商和IPsec SA的协商,可以得到通信密钥,该通信密钥用于对通信两端的报文进行加密,从而保证报文的安全性。
但是,这种方式并不能减少接收端遭受分布式拒绝服务(Distributed Denial ofService,DDoS)攻击的风险。
发明内容
本申请实施例提供了一种报文验证方法及装置,实现防御DDoS攻击的目的。
第一方面,本申请实施例提供了一种报文验证方法,该方法可以应用于第一设备,第一设备可以例如为终端设备或服务器等。所述方法包括如下步骤:第一设备获取应用程序的账户名和第一密钥。可选的,所述第一密钥可以根据对所述应用程序的标识加密得到。为了防止第一密钥被窃取,第一设备可以通过带外的方式获取第一密钥。所述第一设备对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥。所述第一设备发送第一报文,所述第一报文可以为互联网协议第六版IPv6报文。所述第一报文包括所述应用程序的账户名和所述第二密钥。应用程序的账户名和第二密钥可以用于网络设备对第一报文的合法性进行验证,如果第一报文不合法,则网络设备可以丢弃第一报文,以减少接收端遭受DDoS攻击。
可选的,第一设备对应用程序的账户名和第一密钥进行加密的加密算法可以与接收端,即第二设备进行协商,以使加密算法是通信双方都认可的加密算法。具体的,所述第一设备可以向第二设备发送第二报文,所述第二报文包括第一标识集合,所述第一标识集合包括一个或多个所述第一设备支持的加密算法的标识。所述第一设备接收来自所述第二设备的第三报文,所述第三报文包括第二标识集合,所述第二标识集合包括所述第二设备从所述一个或多个加密算法中选择的加密算法的标识。所述第一设备根据所述选择的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
可选的,第一设备与第二设备进行加密算法协商的报文的内容也可以进行加密。具体的,所述第二报文还包括所述应用程序的账户名和第三密钥。所述方法还包括:所述第一设备对所述应用程序的账户名和所述第一密钥进行加密,得到所述第三密钥。通过对应用程序的账户名和第一密钥进行加密,实现对第一密钥的保护,防止第一密钥的泄露。
可选的,所述第二报文包括第四密钥。所述方法还包括:所述第一设备对所述应用程序的账户名、所述第一密钥和所述第一标识集合进行加密,得到所述第四密钥。通过对第一密钥和第一标识集合进行加密,实现对第一密钥和第一标识集合的保护,防止第一密钥和第一标识集合的泄露。
可选的,所述第一标识集合携带在所述第二报文的目的选项Destination Option字段中。
可选的,当第二设备选出的加密算法的标识有多个的情况下,所述第一报文还可以包括目标加密算法的标识,所述目标加密算法的标识属于所述第二标识集合,以使对第一报文进行验证的网络设备知晓采用哪种加密算法对第二密钥进行验证。
可选的,所述第一报文包括扩展头,所述扩展头包括所述应用程序的账户名和所述第二密钥。例如,应用程序的账户名和所述第二密钥可以存储在所述第一报文的目的选项Destination Option扩展头和/或逐跳选项Hop-by-Hop Option扩展头中。所述第一报文的扩展头可以包括类型-长度-值TLV字段,所述TLV字段包括所述应用程序的账户名和所述第二密钥。
为了提高解密难度,可选的,所述第一设备对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥包括:所述第一设备对所述应用程序的账户名、所述第一密钥和其他信息进行加密,得到第二密钥,所述其他信息至少包括以下其中一项:所述第一报文的源IP地址、所述第一报文的目的IP地址、所述第一报文的长度和所述第一报文的传输控制协议TCP序列号等。
第二方面,本申请实施例提供了一种报文验证方法,该方法可以应用于网络设备中,该网络设备例如为交换机、路由器等。所述方法包括如下步骤:网络设备接收来自第一设备的第一报文,第一报文可以为IPv6报文。所述第一报文包括应用程序的账户名和第二密钥。并且,所述网络设备获取所述应用程序的第一密钥。所述网络设备对所述应用程序的账户名和所述应用程序的第一密钥进行加密,得到第三密钥。若所述第三密钥和所述第二密钥匹配,则认为所述第一报文为合法报文,所述网络设备可以向第二设备发送所述第一报文;若第三密钥和第二密钥不匹配,则认为第一报文为非法报文,网络设备可以将该第一报文丢弃,从而实现对非法报文的拦截,避免非法报文对第二设备产生DDoS攻击。
可选的,所述第一报文还包括加密算法的标识。那么,所述网络设备可以根据与所述加密算法的标识对应的加密算法对所述应用程序的账户名和所述第一密钥进行加密,以得到第三密钥,实现对第一报文的验证。
为了增加第一报文中第二密钥的破解难度,第二密钥可以根据应用程序的账户名、所述第一密钥和其他信息加密得到,所述其他信息至少包括以下其中一项:所述第一报文的源IP地址、所述第一报文的目的IP地址、所述第一报文的长度和所述第一报文的传输控制协议TCP序列号。那么相适应的,所述网络设备可以对所述应用程序的账户名、所述第一密钥和其他信息进行加密,得到第三密钥。
可选的,所述网络设备可以通过如下步骤获取所述应用程序的第一密钥:所述网络设备获取第四密钥。可选的第四密钥可以是由第二设备发送的,根据对所述应用程序的标识加密得到。所述网络设备对所述应用程序的账户名和所述第四密钥进行加密,得到所述第一密钥。
第三方面,本申请实施例提供了一种报文验证装置,所述装置应用于第一设备,所述装置包括:处理单元和发送单元。其中,处理单元,用于获取应用程序的账户名和第一密钥,对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥;发送单元,用于发送第一报文,所述第一报文包括所述应用程序的账户名和所述第二密钥。
可选的,所述发送单元,还用于向第二设备发送第二报文,所述第二报文包括第一标识集合,所述第一标识集合包括一个或多个所述第一设备支持的加密算法的标识;
所述装置还包括:接收单元,用于接收来自所述第二设备的第三报文,所述第三报文包括第二标识集合,所述第二标识集合包括所述第二设备从所述一个或多个加密算法中选择的加密算法的标识;
所述对所述应用程序的账户名和所述第一密钥进行加密包括:根据所述选择的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
可选的,所述第二报文还包括所述应用程序的账户名和第三密钥;
所述处理单元,还用于对所述应用程序的账户名和所述第一密钥进行加密,得到所述第三密钥。
可选的,所述第二报文包括第四密钥;
所述处理单元,还用于对所述应用程序的账户名、所述第一密钥和所述第一标识集合进行加密,得到所述第四密钥。
可选的,所述第一标识集合携带在所述第二报文的目的选项Destination Option字段中。
可选的,所述第一报文还包括目标加密算法的标识,所述目标加密算法的标识属于所述第二标识集合。
可选的,所述对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥包括:对所述应用程序的账户名、所述第一密钥和其他信息进行加密,得到第二密钥,所述其他信息至少包括以下其中一项:所述第一报文的源IP地址、所述第一报文的目的IP地址、所述第一报文的长度和所述第一报文的传输控制协议TCP序列号。
可选的,所述第一密钥根据对所述应用程序的标识加密得到。
可选的,所述第一报文为互联网协议第六版IPv6报文。
第四方面,本申请实施例提供了一种报文验证装置,所述装置应用于网络设备,所述装置包括:接收单元、处理单元和发送单元。其中,所述接收单元,用于接收来自第一设备的第一报文,所述第一报文包括应用程序的账户名和第二密钥;所述处理单元,用于获取所述应用程序的第一密钥,对所述应用程序的账户名和所述应用程序的第一密钥进行加密,得到第三密钥;所述发送单元,用于若所述第三密钥和所述第二密钥匹配,向第二设备发送所述第一报文。
可选的,所述第一报文还包括加密算法的标识;
所述对所述应用程序的账户名和所述第一密钥进行加密包括:根据与所述加密算法的标识对应的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
可选的,所述对所述应用程序的账户名和所述第一密钥进行加密,得到第三密钥包括:对所述应用程序的账户名、所述第一密钥和其他信息进行加密,得到第三密钥,所述其他信息至少包括以下其中一项:所述第一报文的源IP地址、所述第一报文的目的IP地址、所述第一报文的长度和所述第一报文的传输控制协议TCP序列号。
可选的,所述获取所述应用程序的第一密钥包括:获取第四密钥,对所述应用程序的账户名和所述第四密钥进行加密,得到所述第一密钥。
可选的,所述第四密钥根据对所述应用程序的标识加密得到。
在上述第一方面至第四方面的实施例中,可选的,所述第一报文包括扩展头,所述扩展头包括所述应用程序的账户名和所述第二密钥。
可选的,所述第一报文的扩展头包括类型-长度-值TLV字段,所述TLV字段包括所述应用程序的账户名和所述第二密钥。
可选的,所述第一报文的扩展头包括所述第一报文的目的选项DestinationOption扩展头和/或逐跳选项Hop-by-Hop Option扩展头
可选的,所述第一报文为互联网协议第六版IPv6报文。
第五方面,本申请实施例提供了一种报文验证方法,所述方法可以应用于网络设备。所述方法可以包括如下步骤:网络设备接收第一设备的第一请求报文。所述第一请求报文可以为互联网协议第六版IPv6报文。所述网络设备在所述第一请求报文中携带第一密钥,得到第二请求报文。所述网络设备向第二设备发送第二请求报文。所述网络设备接收所述第二设备根据所述第二请求报文发送的第一应答报文,所述第一应答报文包括第二密钥。若所述第二密钥与所述第一密钥匹配,说明第一应答报文为合法报文,所述网络设备可以向所述第一设备发送所述第一应答报文;如果第二密钥和第一密钥不匹配,说明第一应答报文为非法报文,网络设备可以丢弃该第一应答报文,避免非法报文对第一设备造成DDoS攻击。
可选的,所述第二请求报文还包括指示信息,所述指示信息用于指示所述第二设备在所述第一应答报文中携带所述第二密钥。这样,第二设备可以根据该指示信息在第一应答报文中携带第二密钥,第二密钥用于对第一应答报文进行验证。
为了增加第一密钥的破解复杂度,所述方法还包括:所述网络设备对所述第一请求报文的源IP地址和所述第一请求报文的目的IP地址中的至少一个以及第三密钥进行加密,得到所述第一密钥。可选的,第三密钥来自第一设备。
可选的,若所述第一密钥携带在所述第二请求报文的源IP地址字段中,那么所述方法还包括:所述网络设备获取所述第一请求报文中源IP地址字段中的源IP地址,所述网络设备将所述源IP地址字段中的后N比特替换为所述第一密钥,并存储所述第一密钥和所述源IP地址之间的对应关系,N为正整数。这样,在所述网络设备向所述第一设备发送所述第一应答报文之前,所述网络设备可以根据第一应答报文中目的IP地址字段的前128-N比特和所述对应关系得到所述目的IP地址,所述目的IP地址字段的后N比特为所述第一密钥。然后,所述网络设备将所述第一密钥替换为所述目的IP地址的后N比特,得到第二应答报文。最后,所述网络设备向所述第一设备发送所述第二应答报文。也就是说,网络设备可以向第一设备发送不带第一密钥的第二应答报文,以减少第一设备的工作量。
第六方面,本申请实施例提供了一种报文验证装置,所述装置应用于网络设备,所述装置包括:接收单元、处理单元和发送单元。其中,所述接收单元,用于接收第一设备的第一请求报文;所述处理单元,用于在所述第一请求报文中携带第一密钥,得到第二请求报文;发送单元,用于向第二设备发送第二请求报文;所述接收单元,还用于接收所述第二设备根据所述第二请求报文发送的第一应答报文,所述第一应答报文包括第二密钥;所述发送单元,还用于若所述第二密钥与所述第一密钥匹配,向所述第一设备发送所述第一应答报文。
可选的,所述第二请求报文还包括指示信息,所述指示信息用于指示所述第二设备在所述第一应答报文中携带所述第二密钥。
可选的,所述处理单元,还用于对所述第一请求报文的源IP地址和所述第一请求报文的目的IP地址中的至少一个以及第三密钥进行加密,得到所述第一密钥。
可选的,所述接收单元,还用于接收来自所述第一设备的所述第三密钥。
可选的,所述第一密钥携带在所述第二请求报文的源IP地址字段中;
所述处理单元,还用于获取所述第一请求报文中源IP地址字段中的源IP地址,将所述源IP地址字段中的后N比特替换为所述第一密钥,并存储所述第一密钥和所述源IP地址之间的对应关系,N为正整数。
可选的,所述向所述第一设备发送所述第一应答报文包括:根据第一应答报文中目的IP地址字段的前128-N比特和所述对应关系得到所述目的IP地址,所述目的IP地址字段的后N比特为所述第一密钥;将所述第一密钥替换为所述目的IP地址的后N比特,得到第二应答报文;向所述第一设备发送所述第二应答报文。
在第五方面和第六方面的实施例中,可选的,所述第一密钥携带在所述第二请求报文的扩展头中。
可选的,所述扩展头包括目的选项Destination Option扩展头或逐跳选项Hop-by-Hop Option扩展头。
可选的,所述第一请求报文为互联网协议第六版IPv6报文。
第七方面,本申请实施例还提供了一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得计算机执行上述报文验证方法。
附图说明
图1为本申请实施例提供的报文验证系统100的结构示意图;
图2为本申请实施例提供的报文验证方法的流程图;
图3为本申请实施例提供的新扩展头的格式示意图;
图4为本申请实施例提供的另外一种报文验证方法的流程图;
图5为本申请实施例提供的报文验证装置500的结构框图;
图6为本申请实施例提供的报文验证装置600的结构框图;
图7为本申请实施例提供的报文验证装置700的结构框图;
图8为本申请实施例提供的设备的结构示意。
具体实施方式
DDoS攻击是指攻击设备向被攻击设备发送大量的无用报文,导致被攻击设备发生拥塞,无法处理正常的报文的现象。通过IPsec协议进行加密的报文只能保证该报文的安全性,并不能防止报文的接收端遭受攻击设备的攻击,所以IPsec协议无法帮助接收端抵御DDoS攻击。
为了解决上述技术问题,本申请实施例提供了一种报文验证方法及装置,以防御DDoS攻击。
为方便理解,首先对本申请实施例的应用场景进行介绍。
参见图1,该图为本申请实施例提供的报文验证系统100的结构示意图。
在图1中,报文验证系统100包括设备101、网络设备102、网络设备103和设备104。设备101与网络设备102通信连接,网络设备102与网络设备103通信连接,网络设备103与设备104通信连接。“通信连接”是指可通信。
其中,设备101和设备104例如可以例如为终端设备、服务器、虚拟机等。
终端设备又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、终端等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功允许的手持式设备、车载设备等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
网络设备102和网络设备103例如为路由器(router)、交换机(switch)等。图1的网络设备可以有一个或多个,图1仅示例性地给出了2个网络设备102和103。
参见图2,该图为本申请实施例提供了一种报文验证方法的流程图。
下面结合图1和图2介绍本申请实施例提供的报文验证方法,该方法包括如下步骤:
S101:设备101获取应用APP的标识,并对APP的标识进行加密,得到密钥P Key。
在本申请实施例中,设备101可以例如为服务器,其中配置有APP服务端(server)。APP的标识用于标识该APP对应的APP server。设备101可以根据APP的标识生成密钥P Key。例如,设备101可以对APP的标识进行哈希(hash),得到的哈希值为P Key。
为了提高密钥P Key的安全性,在一些实施例中,设备101可以根据APP的标识和时间戳生成密钥P Key。其中,时间戳是动态变化的,所以根据APP的标识和时间戳生成的密钥P Key也是动态变化的。
S102:设备101获取APP的账户名,并对APP的账户名和密钥P Key进行加密,得到密钥T Key。
在本申请实施例,APP的账户名用于注册和登录APP。设备101可以获取APP的账户名,并对APP的账户名和密钥P Key进行加密,例如对APP的账户名和密钥P Key进行哈希,得到密钥T Key。
可以理解的是,上述密钥P Key和密钥T Key的获取方法并不构成对本申请技术方案的限定,本领域技术人员可以根据具体情况自行设计。
S103:设备101向网络设备102发送密钥P Key。
S104:设备101向设备104发送密钥T Key。
在本申请实施例中,设备104例如可以为终端设备,其中安装有APP客户端(client)。为了防止密钥T Key被窃取,设备101可以通过带外(outbound)的方式向设备104发送密钥T Key。例如,设备101通过短信或邮件的方式发送密钥T Key。
S105:设备104向网络设备103发送报文M1,报文M1中包括第一标识集合,该第一标识集合包括一个或多个设备104支持的加密算法的标识。
在一些实施例中,所述该第一标识集合不包括设备104不支持的加密算法的标识。
在本申请实施例中,设备104可以支持一种或多种加密算法,加密算法可以是例如哈希消息认证码(Hash-based Message Authentication Code,HMAC)SHA1、HMAC-SHA256、HMAC-信息摘要算法5(Message Digest Algorithm,MD5)等。设备104和设备101之间可以协商采取哪种加密算法对APP client和APP server之间的报文进行加密。所以,设备104可以通过报文M1告诉设备101自己支持的加密算法的标识,即第一标识集合,以便设备101从中选择。
在本申请实施例中,报文M1可以例如为设备104与设备101建立连接的握手报文。例如,如果该报文M1为传输控制协议(Transmission Control Protocol,TCP)报文,那该报文M1可以为用于握手的TCP请求报文。
可选地,所述报文M1可以是互联网协议第六版(Internet Protocol version 6,IPv6)报文或用户数据报协议(User Datagram Protocol,UDP)报文。
可选地,若报文M1是IPv6报文,第一标识集合可以携带在报文M1的扩展头中,例如目的选项(Destination Options)字段中。具体的,第一标识集合携带在扩展头的类型-长度-值(type-length-value,TLV)字段中。
可选的,设备104还可以与设备101协商加密算法的参数。所以,报文M1除了可以携带有第一标识集合以外,还可以携带有第一标识集合对应的加密算法的可选参数,该可选参数可以供设备101进行选择。例如,若设备104支持的加密算法包括HMAC-SHA256,那么相应的加密算法的可选参数可以包括源IP地址、目的IP地址、负荷(payload)长度、TCP序列号等。加密算法的可选参数也可以携带在报文M1的扩展头中,具体携带在扩展头的TLV字段中。
可选的,为了提高报文的安全性,设备104还可以对应用程序的账户名和密钥TKey进行加密,得到密钥AUTH1,并在报文M1携带应用程序的账户名和密钥AUTH1。在歇一歇实施例中,若报文M1是IPv6报文,应用程序的账户名和密钥AUTH1可以携带在报文M1的扩展头中,具体携带在扩展头的TLV字段中。本申请不对如何对应用程序的账户名和密钥T Key进行加密进行限定,本领域技术人员可以根据实际情况自行设计。例如,设备104对应用程序的账户名和密钥T Key进行哈希,得到密钥AUTH1。
作为其中一种可能的实现方式,第一标识集合、应用程序的账户名和密钥AUTH1可以以明文的方式携带在报文M1中。
作为另外一种可能的实现方式,设备104可以对应用程序的账户名和密钥AUTH1进行加密,以提高报文传输的安全性。
例如,设备104可以采用公共密钥基础设施(Public Key Infrastructure,PKI)证书的私钥对应用程序的账户名进行签名,得到签名1。设备104还可以采用该证书的私钥对密钥AUTH1进行签名,得到签名2。所以,报文M1中携带签名1、签名2和第一标识集合。可选的,报文M1中还可以携带该证书的相关信息,例如签名算法的标识、发证机关等。其中,证书可以例如为X.509等。
作为第三种可能的实现方式,设备104可以对第一标识集合、应用程序的账户名以及密钥AUTH1进行加密,以提高报文传输的安全性。
例如,设备104和设备101可以预先通过Diffie-Hellman(简称DH)算法进行密码协商,然后设备104可以利用协商好的密码对第一标识集合、应用程序的账户名以及密钥AUTH1进行加密,得到密钥SK1,并在报文M1中携带密钥SK1。
S106:网络设备103向网络设备102发送报文M1。
S107:网络设备102向设备101发送报文M1。
在本申请实施例中,如果报文M1中包括应用程序的账户名和密钥AUTH1,那么,网络设备102可以对报文M1中的应用程序的账户名和来自设备101的密钥P Key进行加密,得到密钥T Key’,然后网络设备102可以对应用程序的账户名和密钥T Key’进行加密,得到密钥AUTH1’。如果密钥AUTH1’和密钥AUTH1匹配,那么说明报文M1为合法报文,网络设备102可以将报文M1发送给设备101;如果不匹配,则说明报文M1不合法,网络设备102可以丢弃报文M1。
当应用程序的账户名和密钥AUTH1被加密,则网络设备102可以先对应用程序的账户名和密钥AUTH1进行解密,再进行上述验证步骤。
例如,当报文M1包括上述签名1和签名2时,网络设备102可以利用证书的公钥对签名1进行解密,得到应用程序的账户名,并且,网络设备102利用证书的公钥对签名2进行解密,得到密钥AUTH2。然后,网络设备102利用应用程序的账户名和密钥AUTH1对报文M1进行验证。
再例如,当报文M1包括密钥SK1时,网络设备102可以利用预先从设备104获取得到的密码对密钥SK1进行解密,得到第一标识集合、应用程序的账户名以及密钥AUTH1,然后,网络设备102利用应用程序的账户名和密钥AUTH1对报文M1进行验证。
可选的,网络设备102在发送报文M1之前,可以将报文M1中的密钥AUTH1删除,然后再发送给设备101。当然,也可以不删除,本申请不做具体限定。
S108:设备101接收报文M1,根据第一标识集合确定第二标识集合,第二标识集合包括至少一个标识,第二标识集合的至少一个标识为设备101从第一标识集合对应的加密算法中选择得到的加密算法的标识。
在本申请实施例中,设备101可以从第一标识集合对应的加密算法中选择自己支持的一个或多个加密算法,并将对应的标识,即第二标识集合,通过网络设备102发送给设备104。
S109:设备101向网络设备102发送报文M2,报文M2中携带有第二标识集合。
在本申请实施例中,报文M2可以例如为设备104与设备101建立连接的握手报文。例如,如果报文M1为传输控制协议(Transmission Control Protocol,TCP)报文,那该报文M2可以为用于握手的TCP应答报文。
若报文M1为IPv6报文,那么报文M2也为IPv6报文。若报文M1为UDP报文,那么报文M2也为UDP报文。
在一些实施例中,若报文M1是IPv6报文,第二标识集合可以携带在报文M2的扩展头中,例如Destination Options字段中。具体的,第二标识集合携带在扩展头的TLV字段中。
可选的,若报文M1除了携带第一标识集合以外,还携带有第一标识集合对应的加密算法的可选参数,设备101还可以对该可选参数进行选择。例如,若加密算法的可选参数包括源IP地址、目的IP地址、负荷(payload)长度和TCP序列号等,那么设备101选择的参数可以包括源IP地址和目的IP地址。设备101选择的参数可以携带在报文M2中,具体携带在报文M2的扩展头中。
S110:网络设备102向网络设备103发送报文M2。
S111:网络设备103向设备104发送报文M2。
在本申请实施例中,当设备104接收到报文M2之后,可以从报文M2中获取第二标识集合。若报文M2中还包括设备101选择的加密算法的参数,则设备104还可以从报文M2中获取第二标识集合对应的加密算法的参数。
S112:设备104根据第二标识集合对应的加密算法对APP账户名和密钥T Key进行加密,得到密钥SIG。
在本申请实施例中,如果第二标识集合中的标识为1个时,那么设备104可以根据该标识对应的加密算法对APP账户名和密钥T Key进行加密,得到密钥SIG;如果第二标识集合中的标识为多个,那么设备104可以从第二标识集合中确定一个标识(例如随机确定),根据该确定的标识对应的加密算法对APP账户名和密钥T Key进行加密,得到密钥SIG。
可选的,为了增加密钥SIG的复杂度,使的密钥SIG难以被破解,密钥SIG可以不仅根据APP账户名和密钥T Key得到,还可以根据其他信息得到,例如报文M3的源IP地址、报文M3的目的IP地址、报文M3的长度和报文M3的传输控制协议TCP序列号等其中的一个或多个。
S113:设备104向网络设备103发送报文M3,报文M3携带有APP账户名和密钥SIG。
在一些实施例中,若报文M3是IPv6报文,在本申请实施例中,APP账户名和密钥SIG可以携带在报文M3的扩展头中,具体可以携带在扩展头的TLV字段中。其中,扩展头可以是新的扩展头,也可以是已有的扩展头,例如Destination Option扩展头或逐跳选项(Hop-by-Hop Option)扩展头。
在本申请实施例中,报文M3中还可以包括得到密钥SIG的加密算法的标识,可选的,还可以包括该加密算法的参数。该加密算法的参数可以是设备101与设备104经过协商的参数。其中,加密算法的标识和加密算法的参数也可以携带在报文M3的新扩展头或已有的扩展头。
参见图3,该图为新扩展头的格式示意图。在图3中,该新扩展头可以包括互联网协议第六版(Internet Protocol version 6,IPv6)头(header)字段、SIG扩展头(SIG EXT)字段、TCP字段、Next字段、扩展头长度(HDR EXT LEN)字段、名字选项(Name Option)字段、SIG字段和SIG信息(Information)字段。其中,IPv6 header字段的值指示该扩展头属于IPv6header;SIG EXT字段的值指示该扩展头为携带SIG的扩展头;TCP字段携带TCP序列号;Next字段的值为TCP,表示符合TCP协议;HDR EXT LEN字段的值为扩展头的长度;SIG字段的值为密钥SIG;SIG信息字段的值为加密算法的标识和参数。
S114:网络设备103向网络设备102发送报文M3。
可选的,所述报文M3可以是IPv6报文。
S115:网络设备102接收报文M3,对APP账户名和预先获取的密钥P Key进行加密,得到密钥T Key”’,然后APP账户名和密钥T Key”’得到密钥SIG’。
S116:网络设备102确认密钥SIG’和密钥SIG是否匹配,若匹配,则执行S117;若不匹配,则丢弃报文M3。
在本申请实施例中,当网络设备102确认密钥SIG’和密钥SIG匹配,那么说明报文M3为合法报文,可以将该报文M3转发给设备101;如果网络设备102确认密钥SIG’和密钥SIG不匹配,那么说明报文M3为不合法报文,可以丢弃报文M3。
S117:网络设备102向设备101发送报文M3。
在本申请实施例中,网络设备102通过对报文M3中携带的密钥SIG进行验证,若验证通过,则说明该报文为合法报文,可以转发给设备101;若验证不通过,则说明该报文为不合法报文,可能是攻击者用来攻击设备101的报文,所以不将该报文转发给101,实现了为设备101抵御DDoS攻击的目的。
此外,设备101和设备104预先对加密算法进行协商,提高网络设备对报文验证结果的准确性。
可以理解的是,图2所示的实施例的流程步骤只是一个示例,并不对本申请的技术方案进行限定,本领域技术人员还可以根据实际情况自行设计。例如,设备101可以向网络设备102发送应用程序的账户名与密钥T Key的对应关系,这样,网络设备102在接收到报文M3之后,可以根据该应用程序的账户名和对应关系找到对应的密钥T Key,然后对应用程序的账户名和密钥T Key进行加密,得到密钥SIG”。网络设备102可以确定密钥SIG”和密钥SIG是否匹配,如果匹配,则说明报文M3为合法报文,可以转发给设备101。
参见图4,该图为本申请实施例提供的另外一种报文验证方法的流程图。
下面结合图1和图4介绍本申请实施例提供的报文验证方法,该方法包括如下步骤:
S201:设备101向网络设备102发送请求报文Q1。
在本申请实施例中,设备101中可以安装有应用程序的server。请求报文Q1例如为域名系统(Domain Name System,DNS)请求,该请求中可以包括统一资源定位符(uniformresource locator,URL),用于获取URL对应的IP地址。再例如,请求报文Q1还可以为查询请求,用于查询与应用程序相关的内容。当然,上述例子并不是对请求报文Q1的限定,本领域技术人员可以根据实际情况自行确定。
可选的,请求报文Q1可以是IPv6报文。
S202:网络设备102生成请求报文Q2,请求报文Q2包括请求报文Q1和密钥code。
在本申请实施例中,密钥code可以例如根据请求报文Q1的源IP地址、目的IP地址中的至少一个以及密钥P进行加密得到,密钥P可以是周期性变化的,例如为周期性变化的随机数。密钥P可以来自网络设备102,也可以网络设备102自己生成。加密算法可以例如为对称加密算法,也可以为单向加密算法,例如哈希算法。当然,该加密方式并不构成对本申请技术方案的限定,本领域技术人员可以根据实际情况自行设计。
在本申请实施例中,密钥code可以携带在请求报文Q2的扩展头中或源IP地址字段中。其中,扩展头例如为Destination Option扩展头或Hop-by-Hop Option扩展头等。
如果密钥code携带在请求报文Q2的源IP地址字段中,那么可以具体携带在源IP地址字段的后N比特,N为大于或等于1的整数。即,网络设备102可以将源IP地址字段的后N比特替换为密钥code,并且保存源IP地址与密钥code的对应关系。源IP地址与密钥code的对应关系也就是设备101的IP地址与密钥code的对应关系。
此外,请求报文Q2还可以包括指示信息,该指示信息用于指示设备104在请求报文Q2的应答报文R1中携带密钥code。在本申请实施例中,该指示信息也可以携带在请求报文Q2的扩展头中或源IP地址字段中。
S203:网络设备102向网络设备103发送请求报文Q2。
S204:网络设备103向设备104发送请求报文Q2。
S205:设备104接收请求报文Q2。
S206:设备104向网络设备103发送请求报文Q2的应答报文R1,应答报文R1中携带密钥code’。
在本申请实施例中,设备104例如可以为反射器、服务器等设备。设备104用于对请求报文Q2进行应答。例如,当请求报文Q2为DNS请求时,设备104可以根据该请求中携带的URL查找该URL对应的IP地址,并将该IP地址携带在应答报文R1中发送出去。当请求报文Q2为查询报文时,设备104可以根据查询请求查找对应的内容,并发送出去。
S207:网络设备103向网络设备102发送应答报文R1。
S208:网络设备102接收应答报文R1,确定密钥code’与密钥code是否匹配,如果匹配,则执行S209;如果不匹配,则丢弃该应答报文R1。
在本申请实施例中,当密钥code’与密钥code匹配,则说明应答报文R1为合法报文,可以进行后续步骤;当密钥code’与密钥code不匹配,则说明应答报文R1不为合法报文,可以被丢弃。
S209:网络设备102删除应答报文R1中的密钥code’,得到应答报文R2。
在本申请实施例中,当密钥code携带在请求报文Q2的源IP地址字段中,那么应答报文R1中目的IP地址字段的值与请求报文Q2的源IP地址字段的值相同,网络设备102可以根据应答报文R1目的IP地址字段的前128-N比特和对应关系得到目的IP地址。即网络设备102查找对应关系中前128-N比特与该应答报文R1目的IP地址字段的前128-N比特相同的IP地址,该IP地址也就是目的IP地址,即设备101的IP地址。然后,网络设备102将密钥code’替换为该目的IP地址的后N比特,得到应答报文R2。即,应答报文R2的目的IP地址字段的值为设备101的IP地址。
S210:网络设备102向设备101发送应答报文R2。
本申请实施例通过比对请求报文Q2的密钥code和应答报文R1的密钥code’,以对应答报文R1进行验证,实现了帮助设备101抵御DDoS攻击的目的。
相应的,参见图5,本申请实施例提供了一种报文验证装置500,所述装置500应用于第一设备,执行图2所示实施例中设备104的功能。所述装置500包括:处理单元501和发送单元502。
其中,处理单元501,用于获取应用程序的账户名和第一密钥,对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥;
发送单元502,用于发送第一报文,所述第一报文包括所述应用程序的账户名和所述第二密钥。
关于报文验证装置500的具体介绍请参见图2所示实施例中的设备104,此处不再赘述。
参见图6,本申请实施例提供了一种报文验证装置600,所述装置600应用于网络设备,执行图2所示实施例中网络设备102的功能。所述装置600包括:接收单元601、处理单元602和发送单元603。
其中,所述接收单元601,用于接收来自第一设备的第一报文,所述第一报文包括应用程序的账户名和第二密钥;
所述处理单元602,用于获取所述应用程序的第一密钥,对所述应用程序的账户名和所述应用程序的第一密钥进行加密,得到第三密钥;
所述发送单元603,用于若所述第三密钥和所述第二密钥匹配,向第二设备发送所述第一报文。
关于报文验证装置600的具体介绍请参见图2所示实施例中的网络设备102,此处不再赘述。
参见图7,本申请实施例提供了一种报文验证装置700,所述装置700应用于网络设备,执行图4所述实施例的网络设备102的功能。所述装置700包括:接收单元701、处理单元702和发送单元703。
其中,所述接收单元701,用于接收第一设备的第一请求报文;
所述处理单元702,用于在所述第一请求报文中携带第一密钥,得到第二请求报文;
发送单元703,用于向第二设备发送第二请求报文;所述接收单元,还用于接收所述第二设备根据所述第二请求报文发送的第一应答报文,所述第一应答报文包括第二密钥;所述发送单元,还用于若所述第二密钥与所述第一密钥匹配,向所述第一设备发送所述第一应答报文。
关于报文验证装置700的具体介绍请参见图4所示实施例中的网络设备102,此处不再赘述。
需要说明的是,前述与报文验证装置500对应的设备、报文验证装置600对应的设备和报文验证装置700对应的设备,其硬件结构可以采用如图8所示的结构。图8为本申请实施例提供的一种报文验证设备的结构示意图。
请参阅图8所示,设备800包括:处理器810、通信接口820和存储器830。其中设备800中的处理器810的数量可以一个或多个,图8中以一个处理器为例。本申请实施例中,处理器810、通信接口820和存储器830可通过总线系统或其它方式连接,其中,图8中以通过总线系统840连接为例。
处理器810可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器810还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器830可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器830也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器830还可以包括上述种类的存储器的组合。
可选地,存储器830存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器810可以读取存储器830中的程序,实现本申请实施例提供的业务流量调整方法。
总线系统840可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统840可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供了一种报文验证系统,包括第一设备和网络设备,其中第一设备执行图2所示实施例中设备104的步骤,网络设备执行图2所示实施例中网络设备102的步骤。
本申请实施例还提供了一种报文验证系统,包括第一设备、网络设备和第二设备,其中第一设备执行图2所示实施例中设备104的步骤,网络设备执行图2所示实施例中网络设备102的步骤。
本申请实施例还提供了一种报文验证系统,包括第一设备和第二设备中的至少一个以及网络设备,其中,网络设备执行图4所示实施例中网络设备102的步骤。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述报文验证方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中认为“A和/或B”包含单独A,单独B,和A+B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (43)
1.一种报文验证方法,其特征在于,所述方法包括:
第一设备获取应用程序的账户名和第一密钥;
所述第一设备对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥;
所述第一设备发送第一报文,所述第一报文包括所述应用程序的账户名和所述第二密钥。
2.根据权利要求1所述的方法,其特征在于,所述第一设备对所述应用程序的账户名和所述第一密钥进行加密包括:
所述第一设备向第二设备发送第二报文,所述第二报文包括第一标识集合,所述第一标识集合包括一个或多个所述第一设备支持的加密算法的标识;
所述第一设备接收来自所述第二设备的第三报文,所述第三报文包括第二标识集合,所述第二标识集合包括所述第二设备从所述一个或多个加密算法中选择的加密算法的标识;
所述第一设备根据所述选择的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
3.根据权利要求2所述的方法,其特征在于,所述第二报文还包括所述应用程序的账户名和第三密钥;
所述方法还包括:
所述第一设备对所述应用程序的账户名和所述第一密钥进行加密,得到所述第三密钥。
4.根据权利要求2所述的方法,其特征在于,所述第二报文包括第一标识集合具体为:所述第二报文包括第四密钥;
所述方法还包括:
所述第一设备对所述应用程序的账户名、所述第一密钥和所述第一标识集合进行加密,得到所述第四密钥。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述第一标识集合携带在所述第二报文的目的选项Destination Option字段中。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述第一报文还包括目标加密算法的标识,所述目标加密算法的标识属于所述第二标识集合。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一报文包括扩展头,所述扩展头包括所述应用程序的账户名和所述第二密钥。
8.根据权利要求7所述的方法,其特征在于,所述第一报文的扩展头包括类型-长度-值TLV字段,所述TLV字段包括所述应用程序的账户名和所述第二密钥。
9.根据权利要求7或8所述的方法,其特征在于,所述第一报文的扩展头包括所述第一报文的目的选项Destination Option扩展头和/或逐跳选项Hop-by-Hop Option扩展头。
10.根据权利要求1所述的方法,其特征在于,所述第一设备对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥包括:
所述第一设备对所述应用程序的账户名、所述第一密钥和其他信息进行加密,得到第二密钥,所述其他信息至少包括以下其中一项:所述第一报文的源IP地址、所述第一报文的目的IP地址、所述第一报文的长度和所述第一报文的传输控制协议TCP序列号。
11.根据权利要求1所述的方法,其特征在于,所述第一密钥根据对所述应用程序的标识加密得到。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述第一报文为互联网协议第六版IPv6报文。
13.一种报文验证方法,其特征在于,所述方法包括:
网络设备接收来自第一设备的第一报文,所述第一报文包括应用程序的账户名和第二密钥;
所述网络设备获取所述应用程序的第一密钥;
所述网络设备对所述应用程序的账户名和所述应用程序的第一密钥进行加密,得到第三密钥;
若所述第三密钥和所述第二密钥匹配,所述网络设备向第二设备发送所述第一报文。
14.根据权利要求13所述的方法,其特征在于,所述第一报文还包括加密算法的标识;
所述网络设备对所述应用程序的账户名和所述第一密钥进行加密包括:
所述网络设备根据与所述加密算法的标识对应的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
15.根据权利要求13所述的方法,其特征在于,所述网络设备对所述应用程序的账户名和所述第一密钥进行加密,得到第三密钥包括:
所述网络设备对所述应用程序的账户名、所述第一密钥和其他信息进行加密,得到第三密钥,所述其他信息至少包括以下其中一项:所述第一报文的源IP地址、所述第一报文的目的IP地址、所述第一报文的长度和所述第一报文的传输控制协议TCP序列号。
16.根据权利要求13-15任一项所述的方法,其特征在于,所述第一报文包括扩展头,所述扩展头包括所述应用程序的账户名和所述第二密钥。
17.根据权利要求16所述的方法,其特征在于,所述第一报文的扩展头包括类型-长度-值TLV字段,所述TLV字段包括所述应用程序的账户名和所述第二密钥。
18.根据权利要求16或17所述的方法,其特征在于,所述第一报文的扩展头包括所述第一报文的目的选项Destination Option扩展头和/或逐跳选项Hop-by-Hop Option扩展头。
19.根据权利要求13所述的方法,其特征在于,所述网络设备获取所述应用程序的第一密钥包括:
所述网络设备获取第四密钥;
所述网络设备对所述应用程序的账户名和所述第四密钥进行加密,得到所述第一密钥。
20.根据权利要求19所述的方法,其特征在于,所述第四密钥根据对所述应用程序的标识加密得到。
21.根据权利要求13-20任一项所述的方法,其特征在于,所述第一报文为互联网协议第六版IPv6报文。
22.一种报文验证方法,其特征在于,所述方法包括:
网络设备接收第一设备的第一请求报文;
所述网络设备在所述第一请求报文中携带第一密钥,得到第二请求报文;
所述网络设备向第二设备发送第二请求报文;
所述网络设备接收所述第二设备根据所述第二请求报文发送的第一应答报文,所述第一应答报文包括第二密钥;
若所述第二密钥与所述第一密钥匹配,所述网络设备向所述第一设备发送所述第一应答报文。
23.根据权利要求22所述的方法,其特征在于,所述第二请求报文还包括指示信息,所述指示信息用于指示所述第二设备在所述第一应答报文中携带所述第二密钥。
24.根据权利要求22所述的方法,其特征在于,所述方法还包括:
所述网络设备对所述第一请求报文的源IP地址和所述第一请求报文的目的IP地址中的至少一个以及第三密钥进行加密,得到所述第一密钥。
25.根据权利要求24所述的方法,其特征在于,所述方法还包括:
所述网络设备接收来自所述第一设备的所述第三密钥。
26.根据权利要求22所述的方法,其特征在于,所述第一密钥携带在所述第二请求报文的扩展头中。
27.根据权利要求26所述的方法,其特征在于,所述扩展头包括目的选项DestinationOption扩展头或逐跳选项Hop-by-Hop Option扩展头。
28.根据权利要求22所述的方法,其特征在于,所述第一密钥携带在所述第二请求报文的源IP地址字段中;
所述方法还包括:
所述网络设备获取所述第一请求报文中源IP地址字段中的源IP地址;
所述网络设备将所述源IP地址字段中的后N比特替换为所述第一密钥,并存储所述第一密钥和所述源IP地址之间的对应关系,N为正整数。
29.根据权利要求28所述的方法,其特征在于,所述网络设备向所述第一设备发送所述第一应答报文包括:
所述网络设备根据第一应答报文中目的IP地址字段的前128-N比特和所述对应关系得到所述目的IP地址,所述目的IP地址字段的后N比特为所述第一密钥;
所述网络设备将所述第一密钥替换为所述目的IP地址的后N比特,得到第二应答报文;
所述网络设备向所述第一设备发送所述第二应答报文。
30.根据权利要求22-29任一项所述的方法,其特征在于,所述第一请求报文为互联网协议第六版IPv6报文。
31.一种报文验证装置,其特征在于,所述装置应用于第一设备,所述装置包括:
处理单元,用于获取应用程序的账户名和第一密钥,对所述应用程序的账户名和所述第一密钥进行加密,得到第二密钥;
发送单元,用于发送第一报文,所述第一报文包括所述应用程序的账户名和所述第二密钥。
32.根据权利要求31所述的装置,其特征在于,
所述发送单元,还用于向第二设备发送第二报文,所述第二报文包括第一标识集合,所述第一标识集合包括一个或多个所述第一设备支持的加密算法的标识;
所述装置还包括:
接收单元,用于接收来自所述第二设备的第三报文,所述第三报文包括第二标识集合,所述第二标识集合包括所述第二设备从所述一个或多个加密算法中选择的加密算法的标识;
所述对所述应用程序的账户名和所述第一密钥进行加密包括:
根据所述选择的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
33.根据权利要求32所述的装置,其特征在于,所述第二报文还包括所述应用程序的账户名和第三密钥;
所述处理单元,还用于对所述应用程序的账户名和所述第一密钥进行加密,得到所述第三密钥。
34.根据权利要求32所述的装置,其特征在于,所述第二报文包括第一标识集合具体为:所述第二报文包括第四密钥;
所述处理单元,还用于对所述应用程序的账户名、所述第一密钥和所述第一标识集合进行加密,得到所述第四密钥。
35.一种报文验证装置,其特征在于,所述装置应用于网络设备,所述装置包括:
接收单元,用于接收来自第一设备的第一报文,所述第一报文包括应用程序的账户名和第二密钥;
处理单元,用于获取所述应用程序的第一密钥,对所述应用程序的账户名和所述应用程序的第一密钥进行加密,得到第三密钥;
发送单元,用于若所述第三密钥和所述第二密钥匹配,向第二设备发送所述第一报文。
36.根据权利要求35所述的装置,其特征在于,所述第一报文还包括加密算法的标识;
所述对所述应用程序的账户名和所述第一密钥进行加密包括:
根据与所述加密算法的标识对应的加密算法对所述应用程序的账户名和所述第一密钥进行加密。
37.根据权利要求35所述的装置,其特征在于,所述获取所述应用程序的第一密钥包括:
获取第四密钥,对所述应用程序的账户名和所述第四密钥进行加密,得到所述第一密钥。
38.一种报文验证装置,其特征在于,所述装置应用于网络设备,所述装置包括:
接收单元,用于接收第一设备的第一请求报文;
处理单元,用于在所述第一请求报文中携带第一密钥,得到第二请求报文;
发送单元,用于向第二设备发送第二请求报文;
所述接收单元,还用于接收所述第二设备根据所述第二请求报文发送的第一应答报文,所述第一应答报文包括第二密钥;
所述发送单元,还用于若所述第二密钥与所述第一密钥匹配,向所述第一设备发送所述第一应答报文。
39.根据权利要求38所述的装置,其特征在于,所述第二请求报文还包括指示信息,所述指示信息用于指示所述第二设备在所述第一应答报文中携带所述第二密钥。
40.根据权利要求38所述的装置,其特征在于,
所述处理单元,还用于对所述第一请求报文的源IP地址和所述第一请求报文的目的IP地址中的至少一个以及第三密钥进行加密,得到所述第一密钥。
41.根据权利要求38所述的装置,其特征在于,所述第一密钥携带在所述第二请求报文的源IP地址字段中;
所述处理单元,还用于获取所述第一请求报文中源IP地址字段中的源IP地址,将所述源IP地址字段中的后N比特替换为所述第一密钥,并存储所述第一密钥和所述源IP地址之间的对应关系,N为正整数。
42.根据权利要求41所述的装置,其特征在于,所述向所述第一设备发送所述第一应答报文包括:
根据所述第一应答报文中目的IP地址字段的前128-N比特和所述对应关系得到所述目的IP地址,所述目的IP地址字段的后N比特为所述第一密钥;
将所述第一密钥替换为所述目的IP地址的后N比特,得到第二应答报文;
向所述第一设备发送所述第二应答报文。
43.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-30任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072410.2A CN113225298A (zh) | 2020-01-21 | 2020-01-21 | 一种报文验证方法及装置 |
PCT/CN2020/118874 WO2021147369A1 (zh) | 2020-01-21 | 2020-09-29 | 一种报文验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072410.2A CN113225298A (zh) | 2020-01-21 | 2020-01-21 | 一种报文验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113225298A true CN113225298A (zh) | 2021-08-06 |
Family
ID=76991918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072410.2A Pending CN113225298A (zh) | 2020-01-21 | 2020-01-21 | 一种报文验证方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113225298A (zh) |
WO (1) | WO2021147369A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366579A (zh) * | 2023-06-01 | 2023-06-30 | 惠州迈腾伟业科技发展有限公司 | 一种网络交换机交互的方法以及网络交换机 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099762B2 (en) * | 2003-12-02 | 2012-01-17 | Integic Technologies Llc | Secure digital content trading systems and methods |
WO2013036946A1 (en) * | 2011-09-09 | 2013-03-14 | Stoneware, Inc. | Method and apparatus for key sharing over remote desktop protocol |
CN107770171B (zh) * | 2017-10-18 | 2020-01-24 | 厦门集微科技有限公司 | 服务器反爬虫的验证方法及系统 |
CN109068321B (zh) * | 2018-07-19 | 2021-07-02 | 飞天诚信科技股份有限公司 | 协商会话密钥的方法、系统、移动终端及智能家居设备 |
CN108965309B (zh) * | 2018-07-27 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 一种数据传输处理方法、装置、系统及设备 |
-
2020
- 2020-01-21 CN CN202010072410.2A patent/CN113225298A/zh active Pending
- 2020-09-29 WO PCT/CN2020/118874 patent/WO2021147369A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366579A (zh) * | 2023-06-01 | 2023-06-30 | 惠州迈腾伟业科技发展有限公司 | 一种网络交换机交互的方法以及网络交换机 |
CN116366579B (zh) * | 2023-06-01 | 2023-08-11 | 惠州迈腾伟业科技发展有限公司 | 一种网络交换机交互的方法以及网络交换机 |
Also Published As
Publication number | Publication date |
---|---|
WO2021147369A1 (zh) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110190955B (zh) | 基于安全套接层协议认证的信息处理方法及装置 | |
US8418242B2 (en) | Method, system, and device for negotiating SA on IPv6 network | |
US8281127B2 (en) | Method for digital identity authentication | |
US20160365982A1 (en) | System and method for secure end-to-end messaging system | |
Vanhoef et al. | Practical verification of WPA-TKIP vulnerabilities | |
Zhou | Further analysis of the Internet key exchange protocol | |
Petullo et al. | MinimaLT: minimal-latency networking through better security | |
Rabiah et al. | A lightweight authentication and key exchange protocol for IoT | |
CN110191052B (zh) | 一种跨协议网络传输方法及系统 | |
EP3442195B1 (en) | Reliable and secure parsing of packets | |
CN114938312B (zh) | 一种数据传输方法和装置 | |
US8510831B2 (en) | System and method for protecting network resources from denial of service attacks | |
CN110832806B (zh) | 针对面向身份的网络的基于id的数据面安全 | |
CN112839062B (zh) | 夹杂鉴权信号的端口隐藏方法和装置、设备 | |
Abdo et al. | EC-AKA2 a revolutionary AKA protocol | |
WO2021147369A1 (zh) | 一种报文验证方法及装置 | |
KR101979157B1 (ko) | 넌어드레스 네트워크 장비 및 이를 이용한 통신 보안 시스템 | |
Shojaie et al. | Enhancing EAP-TLS authentication protocol for IEEE 802.11 i | |
Mohamed et al. | Extending hybrid approach to secure Trivial File Transfer Protocol in M2M communication: a comparative analysis | |
Thuc et al. | A Sofware Solution for Defending Against Man-in-the-Middle Attacks on Wlan | |
CN116647415B (zh) | 一种终端双向认证方法、装置及跨网跨域数据交换系统 | |
Mohamed et al. | A Pre-shared Diffie-Hellman Key Exchange Scheme for a Secure TFTP Protocol | |
CN105681364A (zh) | 一种基于增强绑定的IPv6移动终端抗攻击方法 | |
Patalbansi | Secure Authentication and Security System for Mobile Devices in Mobile Cloud Computing | |
CN115766172A (zh) | 基于dpu和国密的报文转发方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |