CN116743410A - 一种通信方法,网络设备,终端和域名系统服务器 - Google Patents

一种通信方法,网络设备,终端和域名系统服务器 Download PDF

Info

Publication number
CN116743410A
CN116743410A CN202210210483.2A CN202210210483A CN116743410A CN 116743410 A CN116743410 A CN 116743410A CN 202210210483 A CN202210210483 A CN 202210210483A CN 116743410 A CN116743410 A CN 116743410A
Authority
CN
China
Prior art keywords
address
virtual
data packet
terminal
application server
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
Application number
CN202210210483.2A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210210483.2A priority Critical patent/CN116743410A/zh
Priority to PCT/CN2023/075817 priority patent/WO2023165324A1/zh
Publication of CN116743410A publication Critical patent/CN116743410A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2539Hiding addresses; Keeping addresses anonymous
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种通信方法包括:接收终端发送的上行数据包;当检测到上行数据包携带高防地址标识时,从上行数据包获取终端的IP地址和应用服务器的第一虚拟IP地址;获取密钥;根据密钥,上行数据包携带的终端的IP地址和第一虚拟IP地址生成待处理IP地址;当待处理IP地址不是应用服务器的IP地址时,确定上行数据包非法;当待处理IP地址为应用服务器的IP地址时,将上行数据包的目的IP地址从第一虚拟IP地址修改为应用服务器的IP地址,向应用服务器发送修改后的上行数据包。这样使得一个应用服务器对应很多虚拟IP地址,从而降低应用服务器的IP地址被网络攻击的风险。本申请还提供能够实现该通信方法的相关设备。

Description

一种通信方法,网络设备,终端和域名系统服务器
技术领域
本申请涉及通信领域,尤其涉及一种通信方法,网络设备,终端和域名系统服务器。
背景技术
在针对特定目标的网络攻击场景中,攻击者需要获取攻击目标的因特网协议(internet protocol,IP)地址,然后针对该地址展开攻击。IP地址跳变作为一种防御网络攻击的手段,能够改变IP地址,阻止攻击者对攻击目标的IP地址持续发动网络攻击。IP地址跳变包括真实IP地址跳变和虚拟IP地址跳变。
目前有一种虚拟IP地址跳变的方法大致如下:当终端想要访问应用服务器时,终端通过移动目标防御(mobile target defense,MTD)网关代理向域名系统(domain namesystem,DNS)服务器请求应用服务器的IP地址,DNS服务器将应用服务器的IP地址发送给MTD网关代理,MTD网关代理将报文中应用服务器的IP地址修改为虚拟IP地址,然后将虚拟IP地址发送给终端。终端获取虚拟IP地址后,根据虚拟IP地址向MTD网关代理发送数据报文,数据报文的目的IP地址为虚拟IP地址。MTD网关代理收到数据报文后,根据虚拟IP地址与应用服务器的IP地址的映射表,将数据报文的目的IP地址从虚拟IP地址修改为应用服务器的IP地址,然后将包含应用服务器的IP地址的数据报文发送给应用服务器。
当多个终端访问应用服务器时,在单个跳变周期内不同终端得到的虚拟IP地址相同。当虚拟IP地址被分享或倒卖后,容易导致网络攻击者利用多个肉鸡设备对应用服务器实施网络攻击。
发明内容
有鉴于此,本申请提供一种通信方法,能够针对每个应用服务器的IP地址产生多个虚拟IP地址,从而防止网络攻击者利用多个肉鸡设备使用相同虚拟IP地址发动网络攻击,提高网络安全性。本申请还提供能够实现上述通信方法的终端,网络设备和域名系统服务器等。
第一方面提供一种通信方法,该方法包括:接收终端发送的上行数据包;当检测到上行数据包携带高防地址标识时,从上行数据包获取终端的IP地址和应用服务器的第一虚拟IP地址;在获取密钥后,根据密钥,终端的IP地址和第一虚拟IP地址生成待处理IP地址;当待处理IP地址不是应用服务器的IP地址时,确定上行数据包非法;当待处理IP地址为应用服务器的IP地址时,将上行数据包的目的IP地址从第一虚拟IP地址修改为待处理IP地址,向应用服务器发送携带待处理IP地址的上行数据包。上行数据包携带应用服务器的第一虚拟IP地址和终端的IP地址,由于第一虚拟IP地址是根据密钥,终端的IP地址和应用服务器的IP地址生成的,因此一个应用服务器的IP地址对应很多虚拟IP地址,这样可以避免网络攻击者使用多个肉鸡设备向一个虚拟IP地址对应的应用服务器发动网络攻击的情况。
在一种可能的实现方式中,根据密钥,终端的IP地址和第一虚拟IP地址生成待处理IP地址包括:在上行数据包还包括第一地址生成序列的情况下,根据密钥,终端的IP地址,第一虚拟IP地址和第一地址生成序列生成待处理IP地址。由于第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长,因此根据第一地址生成序列可以可以验证第一虚拟IP地址是否合法,能够提高虚拟IP地址的安全性。
在另一种可能的实现方式中,上述方法还包括:接收应用服务器发送的下行数据包,当检测到下行数据包携带高防地址标识时,根据密钥,应用服务器的IP地址,终端的IP地址和第一地址生成序列生成第一虚拟IP地址;根据第一地址生成序列确定第一虚拟IP地址的地址结束时刻;当地址结束时刻大于验证时刻时,确定目标时间差等于地址结束时刻减去验证时刻;当目标时间差大于预设时长时,根据下行数据包和第一虚拟IP地址生成第一下行数据包,将第一下行数据包发送给终端。下行数据包携带应用服务器的IP地址,终端的IP地址,第一地址生成序列和高防地址标识。将应用服务器的IP地址转换为虚拟IP地址后,能够隐藏应用服务器的IP地址。当地址结束时刻小于验证时刻时,表明第一虚拟IP地址过期,可以丢弃下行数据包,或者根据下行数据包和第一虚拟IP地址生成第一下行数据包,将第一下行数据包发送给终端。
在另一种可能的实现方式中,当目标时间差小于或等于预设时长时,获取第二地址生成序列,根据密钥,应用服务器的IP地址,终端的IP地址和第二地址生成序列生成第二虚拟IP地址;根据下行数据包,第一虚拟IP地址,第二虚拟IP地址,第二地址生成序列和地址切换标识生成第二下行数据包,向终端发送第二下行数据包。其中,第二下行数据包携带第一虚拟IP地址,第二虚拟IP地址,第二地址生成序列和地址切换标识。第二地址生成序列包括第二虚拟IP地址的地址生成时刻和第二虚拟IP地址的地址生存时长。这样提供了一种利用下行数据包通知终端进行地址切换的方法。
在另一种可能的实现方式中,当目标时间差小于或等于预设时长时,获取第二地址生成序列,第二地址生成序列包括第二虚拟IP地址的地址生成时刻和第二虚拟IP地址的地址生存时长;根据密钥,应用服务器的IP地址,终端的IP地址和第二地址生成序列生成第二虚拟IP地址;向终端发送携带有第二虚拟IP地址和第二地址生成序列的地址切换通知;根据下行数据包和第一虚拟IP地址生成第一下行数据包,将第一下行数据包发送给终端。地址切换通知属于控制面消息,这样提供了另一种通知终端进行地址切换的方法。
在另一种可能的实现方式中,根据密钥,终端的IP地址,第一虚拟IP地址和第一地址生成序列生成待处理IP地址包括:使用密钥将第一虚拟IP地址的第二部分进行解密;将终端的IP地址的第二部分和解密结果进行第一次异或运算;将第一地址生成序列和第一次异或运算结果进行第二次异或运算;将第一虚拟IP地址的第一部分与第二次异或运算结果组成待处理IP地址。这样提供了一种可行的地址解密方法。
在另一种可能的实现方式中,在获取密钥之前,接收密钥管理服务器发送的应用服务器的IP地址以及与应用服务器的IP地址对应的密钥。该密钥与应用服务器的IP地址是一一对应的。当网络设备部署有该密钥之后,能够对使用该密钥生成的虚拟IP地址进行地址转换。
在另一种可能的实现方式中,在获取密钥之前,接收密钥管理服务器发送的终端的IP地址以及与终端的IP地址对应的密钥。该密钥与终端的IP地址是一一对应的。当网络设备部署有该密钥之后,能够对使用该密钥生成的虚拟IP地址进行地址转换。
在另一种可能的实现方式中,在获取密钥之前,接收密钥管理服务器发送的密钥。该密钥用于进行地址转换。在上述可能的实现方式中,密钥管理服务器可以周期性发送新的密钥,以提高虚拟地址的安全性。
第二方面提供一种通信方法,该方法包括:向域名系统服务器发送包括域名的地址请求消息后,接收域名系统服务器根据地址请求消息发送的响应消息,然后生成上行数据包,向网络设备发送上行数据包。上行数据包携带终端的IP地址,第一虚拟IP地址和高防地址标识。依此实施,发送上行数据时能够隐藏应用服务器的真实IP地址,从而提高通信安全性。
在一种可能的实现方式中,响应消息还包括第一地址生成序列,以及上行数据包还包括第一地址生成序列。第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长。虚拟IP地址的生成时刻可以是时间戳。由于虚拟IP地址的地址生成时刻和地址生存时长是唯一的,这样加密和解密虚拟IP地址能够降低假冒的可能性,具有良好的安全性。
在另一种可能的实现方式中,上述方法还包括:接收网络设备发送的第一下行数据包,第一下行数据包携带第一虚拟IP地址。当第一虚拟IP地址没有过期时,网络设备发送携带第一虚拟IP地址的下行数据包。
在另一种可能的实现方式中,上述方法还包括:接收网络设备发送的第二下行数据包,第二下行数据包携带第一虚拟IP地址,第二虚拟IP地址,第二地址生成序列和地址切换标识;根据地址切换标识生成携带有第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。第二地址生成序列包括第二虚拟IP地址的地址生成时刻和第二虚拟IP地址的地址生存时长。当第一虚拟IP地址即将过期时,网络设备可以向终端发送第二下行数据包,终端生成携带有第二虚拟IP地址,第二地址生成序列的上行数据包后,向网络设备发送该上行数据包。在各地址跳变时段使用不同的虚拟IP地址进行通信,由此进一步提高网络安全性。
在另一种可能的实现方式中,上述方法还包括:接收网络设备发送的第一下行数据包和地址切换通知后,根据地址切换通知生成携带有第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。第一下行数据包携带第一虚拟IP地址。地址切换通知包括第二虚拟IP地址和第二地址生成序列。当第一虚拟IP地址即将过期时,网络设备可以向终端发送第一下行数据包和地址切换通知,终端根据地址切换通知生成携带有第二虚拟IP地址和第二地址生成序列的上行数据包后,可以向网络设备发送该上行数据包。这样提供了另一种地址切换方法,在各地址跳变时段使用不同的虚拟IP地址进行通信,由此进一步提高网络安全性。
第三方面提供一种通信方法,该方法包括:接收终端发送的地址请求消息,当地址请求消息包括的域名为高防域名时,获取密钥和高防地址标识;然后根据密钥,终端的IP地址和应用服务器的IP地址生成第一虚拟IP地址;向终端发送响应消息。响应消息包括第一虚拟IP地址和高防地址标识。依此可以提供虚拟IP地址,用于在通信时隐藏应用服务器的真实IP地址,提高通信安全性。
在一种可能的实现方式中,根据密钥,终端的IP地址和应用服务器的IP地址生成第一虚拟IP地址包括:获取第一地址生成序列,根据密钥,终端的IP地址和应用服务器的IP地址和第一地址生成序列生成第一虚拟IP地址。第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长。这样提供了一种生成虚拟IP地址的方法。
在另一种可能的实现方式中,上述根据密钥,终端的IP地址和应用服务器的IP地址和第一地址生成序列生成第一虚拟IP地址包括:将终端的IP地址的第二部分与应用服务器的IP地址的第二部分进行第一次异或运算;将第一地址生成序列的与第一次异或运算结果进行第二次异或运算;使用密钥对第二次异或运算结果进行加密;将加密结果与应用服务器的IP地址的第一部分组成第一虚拟IP地址。这样提供了一种生成虚拟IP地址的方法。
第四方面提供一种网络设备,该网络设备具有实现第一方面中通信方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面提供一种终端,该终端具有实现第二方面中通信方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
第六方面提供一种域名系统服务器,该域名系统服务器有实现第三方面中通信方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第七方面提供一种网络设备,其包括处理器和存储器,所述存储器用于存储程序;所述处理器通过执行程序用于实现第一方面的方法。
第八方面提供一种终端,其包括处理器和存储器,所述存储器用于存储程序;所述处理器通过执行程序用于实现第二方面的方法。
第九方面提供一种域名系统服务器,其包括处理器和存储器,所述存储器用于存储程序;所述处理器通过执行程序用于实现第三方面的方法。
第十方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第十一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第十二方面提供了一种芯片系统,包括至少一个处理器,所述处理器和存储器耦合,所述存储器用于存储计算机程序或指令,所述处理器用于执行所述计算机程序或指令,以实现上述各方面的方法。
附图说明
图1为本申请的地址跳变场景的一个示意图;
图2为本申请实施例中通信方法的一个信令图;
图3为本申请实施例中通信方法的另一个信令图;
图4为本申请实施例中通信方法的另一个信令图;
图5A为本申请实施例中根据密钥,用户IP地址,应用服务器的IP地址和第一地址生成序列生成第一虚拟IP地址的一个示意图;
图5B为本申请实施例中根据密钥,第一虚拟IP地址,用户IP地址和第一地址生成序列生成应用服务器IP地址的一个示意图;
图6为本申请实施例中通信方法的另一个信令图;
图7为本申请实施例中通信方法的另一个信令图;
图8为本申请实施例中第一下行数据包的一个示意图;
图9为本申请实施例中第二下行数据包的一个示意图;
图10为本申请实施例中网络设备的一个结构图;
图11为本申请实施例中终端的一个结构图;
图12为本申请实施例中域名系统服务器的一个结构图;
图13为本申请实施例中网络设备的另一个结构图;
图14为本申请实施例中终端的另一个结构图;
图15为本申请实施例中域名系统服务器的另一个结构图。
具体实施方式
本申请的通信方法可以应用于IP网络系统。在一个示例中,IP网络系统包括终端10,网络设备20,域名系统服务器30,密钥管理服务器40和应用服务器50。上述设备进行数据传输的过程包括:
步骤S11、密钥管理服务器40向域名系统服务器30发送密钥。
步骤S12、密钥管理服务器40向网络设备20发送密钥。
密钥管理服务器40存储有密钥。密钥管理服务器40可以周期性地向域名系统服务器30和网络设备20发送密钥,域名系统服务器30和网络设备20收到密钥后,可以将密钥存储在本地。步骤S12可以在步骤S11之前执行,步骤S11和步骤S12也可以一并执行。
步骤S13、终端10向网络设备20发送地址请求。
当用户在终端10上输入域名后,终端10生成携带域名的地址请求,将地址请求发送给网络设备。
步骤S14、网络设备20将地址请求发送给域名系统服务器30。
域名系统服务器30收到地址请求后,根据地址请求携带的域名确定应用服务器50的虚拟IP地址和虚拟地址关联信息。应用服务器50的虚拟IP地址与密钥,终端10的IP地址和应用服务器50的IP地址相关。
该虚拟地址关联信息是指与应用服务器50的虚拟IP地址相关的信息。例如,高防地址标识,地址生成序列。地址生成序列包括虚拟IP地址的地址生成时刻和地址生存时长。高防地址标识也可以理解为虚拟地址标识。
步骤S15、域名系统服务器30将应用服务器50的虚拟IP地址和虚拟地址关联信息发送给网络设备20。
步骤S16、网络设备20将应用服务器50的虚拟IP地址和虚拟地址关联信息发送给终端10。
终端10获取应用服务器50的虚拟IP地址和虚拟地址关联信息后,生成包括应用服务器50的虚拟IP地址和虚拟地址关联信息的数据包。
步骤S17、终端10向网络设备20发送包括应用服务器50的虚拟IP地址和虚拟地址关联信息的数据包。
网络设备20收到数据包后,将数据包的目的地址进行地址跳变,使得数据包的目的地址从应用服务器50的虚拟IP地址转换为应用服务器50的IP地址。
步骤18、网络设备20向应用服务器50发送包括应用服务器50的IP地址和虚拟地址关联信息的数据包。
步骤19、应用服务器50向网络设备20发送包括应用服务器50的IP地址和虚拟地址关联信息的数据包。
步骤20、网络设备20向终端10发送包括应用服务器50的虚拟IP地址和虚拟地址关联信息的数据包。
网络设备可以将应用服务器50的虚拟IP地址和真实IP地址进行地址跳变,这样可以隐藏应用服务器的真实IP地址。由于应用服务器50的虚拟IP地址与密钥,终端10的IP地址和应用服务器50的IP地址相关,因此当m个终端同时访问应用服务器50时,应用服务器50对应的虚拟IP地址有m个,这样能够防止网络攻击者利用多个肉鸡设备对一个虚拟IP地址对应的应用服务器50发动网络攻击,因此可以提高网络安全性。m为正整数。
本申请中的地址跳变是一种移动目标防御技术(Moving Target Defense,MTD),即通过动态持续地改变攻击面(改变IP地址、网络端口、网络配置信息、软件等),使攻击者面对很大的不确定性,难以预测和探索,从而提高网络安全性。现有的虚拟IP地址跳变方法中,单个地址跳变周期内,一个应用服务器对应一个虚拟IP地址。当虚拟IP地址被公开或倒卖后,网络攻击者可以利用多个肉鸡设备对该虚拟IP地址发动网络攻击,例如分布式拒绝服务攻击(distributed denial of service,DDOS)。对于该问题,本申请提供一种通信方法能够对使得一个应用服务器可以对应多个虚拟IP地址,从而降低网络攻击者利用多个肉鸡设备对一个虚拟IP地址发动网络攻击的可能性。
下面对本申请的通信方法进行介绍,参阅图2,本申请提供的通信方法的一个实施例包括:
步骤201、终端向域名系统服务器发送地址请求消息。地址请求消息携带有域名。
步骤202、域名系统服务器判断地址请求消息携带的域名是否为高防域名,若是,则执行步骤204,若否,则执行步骤203。
步骤203、域名系统服务器将域名对应的IP地址发送给终端。
终端可以根据域名对应的IP地址访问域名对应的服务器。
步骤204、域名系统服务器获取密钥和高防地址标识。
获取密钥的方式有多种。
在一个可选实施例中,域名系统服务器从本地存储的密钥获取密钥。获取密钥之前,域名系统服务器周期性从密钥管理服务器接收密钥,然后保存在本地。在单个密钥周期内,域名系统服务器或网络设备都使用该密钥进行加密和解密。
在另一个可选实施例中,密钥管理服务器存储有终端的IP地址和密钥的映射关系。域名系统服务器周期性地接收密钥管理服务器发送的终端的IP地址和终端的IP地址对应的密钥。或者,域名系统服务器向密钥管理服务器发送携带有终端的IP地址的密钥请求,密钥管理服务器根据密钥请求携带的终端的IP地址获取密钥。这样每个终端的IP地址对应一个密钥。
在另一可选实施例中,密钥管理服务器存储有应用服务器的IP地址和密钥的映射关系。域名系统服务器周期性地接收密钥管理服务器发送的应用服务器的IP地址和应用服务器的IP地址对应的密钥。或者,域名系统服务器向密钥管理服务器发送携带有应用服务器的IP地址的密钥请求,密钥管理服务器根据密钥请求携带的应用服务器的IP地址获取密钥。这样每个应用服务器的IP地址对应一个密钥。
步骤205、域名系统服务器根据密钥,终端的IP地址和应用服务器的IP地址生成第一虚拟IP地址。
步骤206、域名系统服务器向终端发送包括第一虚拟IP地址和高防地址标识的响应消息。
步骤207、终端向网络设备发送上行数据包。
在终端接收响应消息后,可以生成上行数据包。上行数据包携带终端的IP地址,第一虚拟IP地址和高防地址标识。终端的IP地址为上行数据包的源IP地址,第一虚拟IP地址为上行数据包的目的IP地址。
步骤208、当检测到上行数据包携带高防地址标识时,从上行数据包获取终端的IP地址和应用服务器的第一虚拟IP地址。
接收终端发送的上行数据包之后,检测上行数据包是否包括高防地址标识。当检测到上行数据包携带高防地址标识时,表明上行数据包的目的IP地址为虚拟IP地址。从上行数据包获取终端的IP地址和应用服务器的第一虚拟IP地址。应理解,如果终端发送的数据包没有携带高防地址标识,那么表明该数据包的目的IP地址对应的服务器并不是高防服务器,直接根据该数据包的目的IP地址转发数据包。
步骤209、网络设备获取密钥。
步骤204中域名系统服务器获取的密钥和步骤209中网络设备获取的密钥是相同的。
在一个可选实施例中,网络设备从本地存储的密钥中获取密钥。需要说明的是,在网络设备获取密钥之前,密钥管理服务器可以周期性向网络设备发送密钥,网络设备收到密钥后,将密钥保存在本地。
在另一个可选实施例中,网络设备向密钥管理服务器发送获取密钥请求后,接收密钥管理服务器发送的终端IP地址以及与终端IP地址对应的密钥。
在另一个可选实施例中,网络设备向密钥管理服务器发送获取密钥请求后,接收密钥管理服务器发送的应用服务器的IP地址以及与应用服务器的IP地址对应的密钥。需要说明的是,网络设备和应用服务器处于同一个域,虚拟IP地址的前缀用于指向该域。网络中的转发设备(如路由器或交换机)能够根据虚拟IP地址的前缀将上行数据包发送给域的网络设备。
步骤210、网络设备根据密钥,终端的IP地址和第一虚拟IP地址生成待处理IP地址。
在一个可选实施例中,步骤210包括:使用密钥将第一虚拟IP地址的第二部分进行解密;将终端的IP地址的第二部分和解密结果进行异或运算;将第一虚拟IP地址的第一部分与异或运算结果组成待处理IP地址。本实施例中,应用服务器的IP地址的第一部分和第一虚拟IP地址的第一部分相同,应用服务器的IP地址的第二部分与第一虚拟IP地址的第二部分不同。本申请中,第一部分和第二部分可以根据实际情况从IP地址中截取,第一部分的长度和第二部分的长度也可以根据实际情况进行设置,本申请不作限定。解密算法和加密算法使用相同密钥。解密算法可以是但不限于国际数据加密算法(international dataencryption algorithm,IDEA)算法,数据加密标准(data encryption standard,DES)算法,三重DES算法等。
步骤211、网络设备判断待处理IP地址是否为应用服务器的IP地址,若是,则执行步骤213,若否,则执行步骤212。
当待处理IP地址为应用服务器的IP地址时,表明第一虚拟IP地址的第二部分是使用密钥对应用服务器的IP地址的第二部分加密得到的。当待处理IP地址不是应用服务器的IP地址时,表明第一虚拟IP地址的第二部分不是使用密钥对应用服务器的IP地址的第二部分加密得到的。
步骤212、网络设备确定上行数据包非法。
当上行数据包非法时,网络可以将上行数据包转发到流量清洗中心或蜜罐服务器,或者网络设备丢弃非法数据包。
步骤213、网络设备将上行数据包的目的IP地址从第一虚拟IP地址修改为应用服务器的IP地址。当待处理IP地址为应用服务器的IP地址时,表明该上行数据包合法,对该数据包的目的IP地址进行转换。
步骤214、网络设备向应用服务器发送修改后的上行数据包。修改后的上行数据包中,目的IP地址为应用服务器的IP地址。
本实施例中,由于第一虚拟IP地址与密钥,终端的IP地址和应用服务器的IP地址相关,当多个终端向同一个应用服务器发送上行数据包时,不同终端发送的上行数据包具有不同的虚拟IP地址,这样可以防止网络攻击者利用多个肉鸡设备和相同的虚拟IP地址对同一个应用服务器发动网络攻击。
本申请中,应用服务器可以向终端发送下行数据包,下行数据包可以是图2所示实施例中修改后的上行数据包的响应数据包,也可以是由应用服务器发起的消息,例如推送消息。
参阅图3,在一个可选实施例中,上述方法还包括:
步骤301、网络设备接收应用服务器发送的下行数据包。该下行数据包携带应用服务器的IP地址,终端的IP地址和高防地址标识。当网络设备检测到下行数据包携带高防地址标识时,执行步骤302。
步骤302、网络设备根据密钥,应用服务器的IP地址和终端的IP地址生成第一虚拟IP地址。
具体的,网络设备根据密钥对应用服务器的IP地址的第二部分进行加密;将终端的IP地址的第二部分和加密结果进行异或运算,将应用服务器的IP地址的第一部分与异或运算结果组成第一虚拟IP地址。由于不同的终端的IP地址的第二部分存在区别,因此根据不同终端的IP地址会产生不同的虚拟IP地址。使用密钥加密能够提高虚拟IP地址的安全性。
步骤303、网络设备将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址。
步骤304、网络设备将修改后的下行数据包发送给终端。
本实施例中,网络设备可以将下行数据包携带的真实IP地址转换为虚拟IP地址,这样可以隐藏应用服务器的真实IP地址,提高网络安全性。
以上实施例中,当密钥管理服务器周期性更改密钥时,利用密钥生成的虚拟IP地址也会改变,因此虚拟IP地址可以周期性更新,这样可以提高虚拟IP地址的安全性。除此之外,本申请还可以利用密钥和时间戳生成虚拟IP地址,这样可以进一步提高虚拟IP地址的安全性。参阅图4,本申请提供的通信方法的另一个实施例包括:
步骤401、终端向域名系统服务器发送地址请求消息。该地址请求消息携带有域名。
步骤402、域名系统服务器判断地址请求消息携带的域名是否为高防域名,若是,则执行步骤404,若否,则执行步骤403。
步骤403、域名系统服务器将域名对应的IP地址发送给终端。终端可以根据域名对应的IP地址访问域名对应的服务器。
步骤404、域名系统服务器获取密钥,第一地址生成序列和高防地址标识。
获取密钥的方式有多种。
在一个可选实施例中,域名系统服务器从本地存储的密钥中获取密钥。在获取密钥之前,域名系统服务器周期性从密钥管理服务器接收密钥,然后保存在本地。在单个密钥周期内,域名系统服务器或网络设备都使用该密钥进行加密和解密。在不同密钥周期下发的密钥不同,因此同一终端在不同密钥周期发送的数据包携带的虚拟IP地址也不同。
在另一个可选实施例中,密钥管理服务器存储有终端的IP地址和密钥的映射关系。域名系统服务器周期性地接收密钥管理服务器发送的终端的IP地址和终端的IP地址对应的密钥。或者,域名系统服务器向密钥管理服务器发送携带有终端的IP地址的密钥请求,密钥管理服务器根据密钥请求携带的终端的IP地址获取密钥。这样每个终端的IP地址具有一个密钥。
在另一可选实施例中,密钥管理服务器存储有应用服务器的IP地址和密钥的映射关系。域名系统服务器周期性地接收密钥管理服务器发送的应用服务器的IP地址和应用服务器的IP地址对应的密钥。或者,域名系统服务器向密钥管理服务器发送携带有应用服务器的IP地址的密钥请求,密钥管理服务器根据密钥请求携带的应用服务器的IP地址获取密钥。这样每个应用服务器具有一个密钥。
步骤405、域名系统服务器根据密钥,终端的IP地址和应用服务器的IP地址和第一地址生成序列生成第一虚拟IP地址。
需要说明的是,密钥,终端的IP地址和应用服务器的IP地址,地址生成序列和虚拟IP地址之间的关系可以用如下公式进行描述:
vIPij=Fkey(SrcIPi,DstIP,Seqj)
vIPij表示与第i个终端的IP地址和第j个地址生成序列相关的虚拟IP地址。SrcIPi为第i个终端的IP地址,Seqj为第j个地址生成序列。i和j均为正整数。DstIP表示应用服务器的IP地址。Fkey()表示与密钥key相关的加密函数,该函数用于表示IDEA算法,DES算法或三重DES算法。
步骤406、域名系统服务器向终端发送包括第一虚拟IP地址,第一地址生成序列和高防地址标识的响应消息。
步骤407、终端向网络设备发送上行数据包。
在终端接收响应消息后,可以生成上行数据包。上行数据包携带终端的IP地址,第一虚拟IP地址,第一地址生成序列和高防地址标识。终端的IP地址为上行数据包的源IP地址,第一虚拟IP地址为上行数据包的目的IP地址。
步骤408、当检测到上行数据包携带高防地址标识时,从上行数据包获取终端的IP地址,应用服务器的第一虚拟IP地址和第一地址生成序列。
接收终端发送的上行数据包之后,检测上行数据包是否包括高防地址标识。当检测到上行数据包携带高防地址标识时,表明上行数据包的目的IP地址为虚拟IP地址。从上行数据包获取终端的IP地址,应用服务器的第一虚拟IP地址和第一地址生成序列。应理解,如果终端发送的数据包没有携带高防地址标识,那么表明该数据包的目的IP地址对应的服务器并不是高防服务器,可以直接根据该数据包的目的IP地址转发数据包。
步骤409、网络设备获取密钥。步骤404中域名系统服务器获取的密钥和步骤409中网络设备获取的密钥是相同的。
在一个可选实施例中,网络设备从本地存储的密钥中获取密钥。需要说明的是,在网络设备获取密钥之前,密钥管理服务器可以周期性向网络设备发送密钥,网络设备收到密钥后,将密钥保存在本地。
在另一个可选实施例中,网络设备向密钥管理服务器发送获取密钥请求后,接收密钥管理服务器发送的终端的IP地址以及与终端的IP地址对应的密钥。
在另一个可选实施例中,网络设备向密钥管理服务器发送获取密钥请求后,接收密钥管理服务器发送的应用服务器的IP地址以及与应用服务器的IP地址对应的密钥。需要说明的是,网络设备和应用服务器处于同一个域,虚拟IP地址的前缀用于指向该域。网络中的转发设备(如路由器或交换机)能够根据虚拟IP地址的前缀将上行数据包发送给域的网络设备。
步骤410、网络设备根据密钥,终端的IP地址,第一虚拟IP地址和第一地址生成序列生成待处理IP地址。
密钥,终端的IP地址,第一虚拟IP地址,第一地址生成序列和待处理IP地址之间的关系可以用如下公式进行表示:
IP=Fkey(SrcIPi,vIPij,Seqj)。
IP表示待处理IP地址。vIPij表示与第i个终端的IP地址和第j个地址生成序列相关的虚拟IP地址。SrcIPi为第i个终端的IP地址,Seqj为第j个地址生成序列。Fkey()表示与密钥key相关的函数。
在一个可选实施例中,步骤410包括:使用密钥将第一虚拟IP地址的第二部分进行解密;将终端的IP地址的第二部分和解密结果进行第一次异或运算;将第一地址生成序列和第一次异或运算结果进行第二次异或运算;将第一虚拟IP地址的第一部分与第二次异或运算结果组成待处理IP地址。本实施例中,应用服务器的IP地址的第一部分和第一虚拟IP地址的第一部分相同,应用服务器的IP地址的第二部分与第一虚拟IP地址的第二部分不同。解密算法和加密算法使用相同密钥。解密算法可以是但不限于国际数据加密算法(international data encryption algorithm,IDEA)算法,数据加密标准(dataencryption standard,DES)算法,三重DES算法。
步骤411、网络设备判断待处理IP地址是否为应用服务器的IP地址,若是,则执行步骤413,若否,则执行步骤412。
当待处理IP地址为应用服务器的IP地址时,表明第一虚拟IP地址的第二部分是使用密钥对应用服务器的IP地址的第二部分加密得到的。当待处理IP地址不是应用服务器的IP地址时,表明第一虚拟IP地址的第二部分不是使用密钥对应用服务器的IP地址的第二部分加密得到的。
步骤412、网络设备确定上行数据包非法。
当待处理IP地址不是应用服务器的IP地址时,网络设备确定上行数据包非法,网络设备可以将上行数据包转发到流量清洗中心或蜜罐服务器,或者网络设备丢弃非法数据包。
步骤413、网络设备将上行数据包的目的IP地址从第一虚拟IP地址修改为应用服务器的IP地址。当待处理IP地址为应用服务器的IP地址时,表明该上行数据包合法,对该数据包的目的IP地址进行转换,地址转换也称为地址跳变。
步骤414、网络设备向应用服务器发送修改后的上行数据包。
修改后的上行数据包中,目的IP地址为应用服务器的IP地址。
本实施例中,由于第一虚拟IP地址与密钥,终端的IP地址和应用服务器的IP地址相关,当多个终端向同一个应用服务器发送上行数据包时,不同终端发送的上行数据包具有不同的虚拟IP地址,这样可以降低多个肉鸡设备使用相同的虚拟IP地址对同一个应用服务器发送网络攻击的可能性,由此可以进一步提高网络安全。
其次,由于虚拟IP地址与虚拟IP地址的地址生成时刻以及地址生存时长相关,因此能够提高虚拟IP地址的安全性。
再次,基于地址生成时刻和地址生存时间可以确定虚拟IP地址的生存时段。本申请基于虚拟IP地址的生存时段可以对虚拟IP地址进行时效性校验,判断虚拟IP地址是否过期。通过自动更换虚拟IP地址能够提高数据传输的安全性。
下面结合图5A对本申请中根据密钥,终端的IP地址,应用服务器的IP地址和第一地址生成序列生成虚拟IP地址的过程进行介绍。参阅图5A,在一个示例中,终端的IP地址包括终端IP地址的第一部分501和终端IP地址的第二部分502,终端IP地址的第一部分501和终端IP地址的第二部分502的长度均为64比特。应用服务器的IP地址包括应用服务器的IP地址的第一部分503和应用服务器的IP地址的第二部分504,应用服务器的IP地址的第一部分503和应用服务器的IP地址的第二部分504的长度均为64比特。
从终端IP地址的第二部分502,应用服务器的IP地址的第二部分504和第一地址生成序列505中选取两项进行第一次异或运算,然后将剩余项与第一次异或运算结果进行第二次异或运算。使用密钥506对第二次异或运算结果进行加密,得到第一虚拟IP地址的第二部分508。应用服务器的IP地址的第一部分503与第一虚拟IP地址的第一部分507相同,将第一虚拟IP地址的第一部分507与第一虚拟IP地址的第二部分508组成第一虚拟IP地址。
下面结合图5B对本申请中根据密钥,终端的IP地址,第一虚拟IP地址和第一地址生成序列生成应用服务器的IP地址的过程进行介绍。参阅图5B,在一个示例中,终端的IP地址包括终端IP地址的第一部分501和终端IP地址的第二部分502,终端IP地址的第一部分501和终端IP地址的第二部分502的长度均为64比特。应用服务器的IP地址包括应用服务器的IP地址的第一部分503和应用服务器的IP地址的第二部分504,应用服务器的IP地址的第一部分503和应用服务器的IP地址的第二部分504的长度均为64比特。
使用密钥506将第一虚拟IP地址的第二部分508进行解密。从解密结果,第一地址生成序列505和终端IP地址的第二部分502中选取两项进行第一次异或运算,将第一次异或运算结果与剩余项进行第二次异或运算,以得到应用服务器的IP地址的第二部分504。应用服务器的IP地址的第一部分503与第一虚拟IP地址的第一部分507相同,将应用服务器的IP地址的第一部分503与应用服务器的IP地址的第二部分504组成应用服务器的IP地址。
应理解,对于A,B和C三个二进制值,A⊕B⊕C=B⊕C⊕A=A⊕C⊕B。⊕为异或运算符。
需要说明的是,第一部分和第二部分可以根据实际情况从IP地址中截取,例如可以将第一部分和第二部分进行调换,即将第一部分参与加密和异或运算。第一部分的长度和第二部分的长度均不限于64比特,具体可以根据实际情况进行设置,本申请不作限定。
在步骤414之后,应用服务器可以响应修改后的上行数据包,向终端发送下行数据包。网络设备可以将下行数据携带的目的地址从应用服务器的IP地址修改为第一虚拟IP地址,这样可以隐藏应用服务器的真实IP地址。
参阅图6,在一个可选实施例中,上述方法还包括:
步骤601、网络设备接收应用服务器发送的下行数据包。下行数据包携带应用服务器的IP地址,终端的IP地址,第一地址生成序列和高防地址标识。网络设备检测到下行数据包携带高防地址标识时,执行步骤602。
步骤602、网络设备根据密钥,终端的IP地址,应用服务器的IP地址和第一地址生成序列生成第一虚拟IP地址。
具体的,网络设备根据密钥对应用服务器的IP地址的第二部分进行加密;将终端的IP地址的第二部分和加密结果进行异或运算,将应用服务器的IP地址的第一部分与异或运算结果组成第一虚拟IP地址。由于不同的终端的IP地址的第二部分存在区别,因此根据不同终端的IP地址会产生不同的虚拟IP地址。使用密钥加密能够提高虚拟IP地址的安全性。
步骤603、网络设备根据第一地址生成序列确定第一虚拟IP地址的地址结束时刻。
步骤604、当地址结束时刻大于验证时刻时,确定目标时间差等于地址结束时刻减去验证时刻。
当地址结束时刻大于验证时刻时,表明第一虚拟IP地址没有过期。当地址结束时刻小于验证时刻时,表明第一虚拟IP地址过期,可以执行步骤608或者丢弃下行数据包。
步骤605、网络设备判断目标时间差是否大于预设时长,若是,则执行步骤606,若否,则执行步骤608。
预设时长与终端与应用服务器之间的数据传输时长T相关,具体可以根据实际情况进行设置。
在一个示例中,预设时长等于2T。当验证时刻与地址结束时刻的时间差大于2T,表明下一次数据传输使用虚拟IP地址也不会超期,因此不需要更换虚拟IP地址。当验证时刻与地址结束时刻的时间差小于或等于2T,表明下一次数据传输使用该虚拟IP地址会超期,需要更换虚拟IP地址。这样能够提前更换虚拟IP地址,防止数据包的虚拟IP地址过期。
步骤606、网络设备根据下行数据包和第一虚拟IP地址生成第一下行数据包。
具体的,网络设备将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址,就得到第一下行数据包。下行数据包的源IP地址为应用服务器的IP地址,第一下行数据包的源IP地址为第一虚拟IP地址。
步骤607、网络设备将第一下行数据包发送给终端。
步骤608、网络设备获取第二地址生成序列。
步骤609、网络设备根据密钥,应用服务器的IP地址,终端的IP地址和第二地址生成序列生成第二虚拟IP地址。
步骤610、网络设备根据下行数据包,第一虚拟IP地址,第二虚拟IP地址和地址切换标识生成第二下行数据包。
具体的,网络设备将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址,再在下行数据包中添加第二虚拟IP地址,第二地址生成序列和地址切换标识,就得到第二下行数据包。下行数据包的源IP地址为应用服务器的IP地址,第二下行数据包的源IP地址为第一虚拟IP地址,而且第二下行数据包还携带第二虚拟IP地址的虚拟地址关联信息,例如第二地址生成序列和地址切换标识。第二地址生成序列包括第二虚拟IP地址的地址生成时刻和地址生存时长。地址切换标识用于更改上行数据包的目的IP地址。
步骤611、网络设备将第二下行数据包发送给终端。
终端收到第二下行数据包后,可以根据地址切换标识不生成携带第一虚拟IP地址和第一地址生成序列的上行数据包,而生成携带第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包,然后执行步骤612。
步骤612、终端向网络设备发送上行数据包。
网络设备收到该上行数据包并检测出高防地址标识后,执行步骤613。
步骤613、网络设备根据密钥,终端的IP地址,第二虚拟IP地址和第二地址生成序列生成应用服务器的IP地址。
步骤614、网络设备将上行数据包的目标地址从第二虚拟IP地址修改为应用服务器的IP地址。
步骤615、网络设备将修改后的上行数据包发送给应用服务器。
第一虚拟IP地址和第二虚拟IP地址表示两个时段的虚拟IP地址。当第二虚拟IP地址即将过期时,可以更换为其他虚拟IP地址,更换过程可参阅前文记载的相应内容。
本实施例中,应用服务器向网络设备发送下行数据包时,网络设备可以将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址,从而隐藏应用服务器的真实IP地址。
其次,由于第一虚拟IP地址与密钥,终端的IP地址,应用服务器的IP地址和地址生成序列都相关,因此一个应用服务器可以对应多个虚拟IP地址,这样可以降低现有的通信方法中由虚拟IP地址被分享或倒卖后,被大量肉鸡设备攻击的风险。
再次,网络设备可以根据虚拟IP地址的生存时长更换虚拟IP地址,这样可以提高虚拟IP地址的安全性。这种更换虚拟IP地址的方法不需要另外设置虚拟IP地址的管理设备对虚拟IP地址进行管理和维护,因此具有简单方便的优点。
另外,本申请可以提前更换虚拟IP地址,防止在数据传输过程中虚拟IP地址过期。这样可以保障数据流的连续性。
参阅图7,在另一个可选实施例中,上述通信方法还包括:
步骤701、网络设备接收应用服务器发送的下行数据包。下行数据包携带应用服务器的IP地址,终端的IP地址,第一地址生成序列和高防地址标识。网络设备检测到下行数据包携带高防地址标识时,执行步骤702。
步骤702、网络设备根据密钥,应用服务器的IP地址,终端的IP地址和第一地址生成序列生成第一虚拟IP地址。
具体的,网络设备根据密钥对应用服务器的IP地址的第二部分进行加密;将终端的IP地址的第二部分和加密结果进行异或运算,将应用服务器的IP地址的第一部分与异或运算结果组成第一虚拟IP地址。由于不同的终端的IP地址的第二部分存在区别,因此根据不同终端的IP地址会产生不同的虚拟IP地址。使用密钥加密能够提高虚拟IP地址的安全性。
步骤703、网络设备根据第一地址生成序列确定第一虚拟IP地址的地址结束时刻。
步骤704、当地址结束时刻大于验证时刻时,确定目标时间差等于地址结束时刻减去验证时刻。
当地址结束时刻大于验证时刻时,表明第一虚拟IP地址没有过期。当地址结束时刻小于验证时刻时,表明第一虚拟IP地址过期,可以执行步骤708或者丢弃下行数据包。
步骤705、网络设备判断目标时间差是否大于预设时长,若是,则执行步骤706,若否,则执行步骤708。
预设时长与终端与应用服务器之间的数据传输时长T相关,具体可以根据实际情况进行设置。
在一个示例中,预设时长等于2T。当验证时刻与地址结束时刻的时间差大于2T,表明下一次数据传输使用虚拟IP地址也不会超期,因此不需要更换虚拟IP地址。当验证时刻与地址结束时刻的时间差小于或等于2T,表明下一次数据传输使用该虚拟IP地址会超期,需要更换虚拟IP地址。
步骤706、网络设备根据下行数据包和第一虚拟IP地址生成第一下行数据包。
具体的,网络设备将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址,就得到第一下行数据包。下行数据包的源IP地址为应用服务器的IP地址,第一下行数据包的源IP地址为第一虚拟IP地址。
步骤707、网络设备将第一下行数据包发送给终端。
步骤708、网络设备获取第二地址生成序列。
步骤709、网络设备根据密钥,应用服务器的IP地址,终端的IP地址和第二地址生成序列生成第二虚拟IP地址。
步骤710、网络设备生成携带有第二虚拟IP地址和第二地址生成序列的地址切换通知。
步骤711、网络设备将地址切换通知发送给终端。
地址切换通知属于控制面消息。终端收到地址切换通知后,可以根据地址切换通知不生成携带第一虚拟IP地址和第一地址生成序列的上行数据包,而生成携带第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包,然后执行步骤714。这样能够提前更换虚拟IP地址,防止数据包的虚拟IP地址过期。
步骤712、网络设备根据下行数据包和第一虚拟IP地址生成第一下行数据包。
具体的,网络设备将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址,得到第一下行数据包。
步骤713、网络设备将第一下行数据包发送给终端。
需要说明的是,步骤712至步骤713是发送第一下行数据包的过程,步骤708至步骤711是发送地址切换通知的过程,两个过程是独立的,并无固定先后顺序。
步骤714、终端向网络设备发送上行数据包。
网络设备收到该上行数据包并检测出高防地址标识后,执行步骤715。
步骤715、网络设备根据密钥,终端的IP地址,第二虚拟IP地址和第二地址生成序列生成应用服务器的IP地址。
步骤716、网络设备将上行数据包的目标地址从第二虚拟IP地址修改为应用服务器的IP地址。
步骤717、网络设备将修改后的上行数据包发送给应用服务器。
本实施例中,应用服务器向网络设备发送下行数据包时,网络设备可以将下行数据包的源IP地址从应用服务器的IP地址修改为第一虚拟IP地址,从而隐藏应用服务器的真实IP地址。
其次,由于虚拟IP地址与密钥,终端的IP地址,应用服务器的IP地址和地址生成序列都相关,因此一个应用服务器可以对应多个虚拟IP地址,这样可以降低现有的通信方法中由虚拟IP地址被分享或倒卖后,被大量肉鸡设备攻击的风险。
再次,网络设备可以根据虚拟IP地址的生存时长更换虚拟IP地址,这样可以提高虚拟IP地址的安全性。这种更换虚拟IP地址的方法不需要另外设置虚拟IP地址的管理设备对虚拟IP地址进行管理和维护,因此具有简单方便的优点。
另外,本申请提供了一种通过控制面消息通知终端切换虚拟IP地址的方法,可以防止在通信过程中虚拟IP地址过期,使得方案实施更为灵活。
下面对本申请的第一下行数据包和第二下行数据包进行介绍。参阅图8,在一个示例中,第一下行数据包包括报文头81和有效载荷82,报文头81包括第一虚拟IP地址811,终端的IP地址812和第一虚拟地址的虚拟地址关联信息813。第一虚拟地址的虚拟地址关联信息813包括高防地址标识、地址生成序列长度、地址生成序列、地址切换字段和附加字段。
参阅图9,在一个示例中,第二下行数据包包括报文头91和有效载荷92,报文头91包括第一虚拟IP地址911,终端的IP地址912和第二虚拟地址的虚拟地址关联信息913。第二虚拟地址的虚拟地址关联信息913包括高防地址标识、地址生成序列长度、地址生成序列、地址切换标识和第二虚拟IP地址。
在本申请的一个示例中,type字段表示地址类型。type字段的值为1表示高防地址标识。type字段的值为0为非高防地址标识。
RDLENGTH字段的值表示地址生成序列长度,长度为2字节。
RDATA字段的值表示地址生成序列,长度为128字节。
FLAG字段表示地址切换字段,长度为1字节。FLAG字段的值为1表示地址切换标识。FLAG字段的值为0表示地址不切换。
Additional Record字段表示附加字段,长度为128字节。当FLAG字段的值为0时,Additional Record字段的值可以为NULL,表示无附加信息。当FLAG字段的值为1时,表示Additional Record字段的值为第二虚拟IP地址。
应理解,虚拟地址关联信息包括的内容和各字段的长度等不限于以上举例。
本申请还提供能够实施上述通信方法的设备。本申请的网络设备能够实现上述实施例中由网络设备执行的步骤。参阅图10,在一个实施例中,本申请的网络设备1000包括:
接收单元1001,用于接收终端发送的上行数据包;
处理单元1002,用于当检测到上行数据包携带高防地址标识时,从上行数据包获取终端的因特网协议IP地址和应用服务器的第一虚拟IP地址;获取密钥;根据密钥,终端的IP地址和第一虚拟IP地址生成待处理IP地址;当待处理IP地址不是应用服务器的IP地址时,确定上行数据包非法;当待处理IP地址为应用服务器的IP地址时,将上行数据包的目的IP地址从第一虚拟IP地址修改为应用服务器的IP地址;
发送单元1003,用于向应用服务器发送修改后的上行数据包。
在一个可选实施例中,上行数据包还包括第一地址生成序列,第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长;
处理单元1002具体用于根据密钥,终端的IP地址,第一虚拟IP地址和第一地址生成序列生成待处理IP地址。
在另一个可选实施例中,
接收单元1001,还用于接收应用服务器发送的下行数据包,下行数据包携带应用服务器的IP地址,终端的IP地址,第一地址生成序列和高防地址标识;
处理单元1002,还用于当检测到下行数据包携带高防地址标识时,根据应用服务器的IP地址,终端的IP地址和第一地址生成序列生成第一虚拟IP地址;根据地址生成时刻和地址生存时长确定地址结束时刻;当地址结束时刻大于验证时刻时,确定目标时间差等于地址结束时刻减去验证时刻;当目标时间差大于预设时长时,根据下行数据包和第一虚拟IP地址生成第一下行数据包;
发送单元1003还用于将第一下行数据包发送给终端。
在另一个可选实施例中,处理单元1002还用于当目标时间差小于或等于预设时长时,获取第二地址生成序列,第二地址生成序列包括第二虚拟IP地址的地址生成时刻和第二虚拟IP地址的地址生存时长;根据密钥,应用服务器的IP地址,终端的IP地址和第二地址生成序列生成第二虚拟IP地址;根据下行数据包,第一虚拟IP地址,第二虚拟IP地址和地址切换标识生成第二下行数据包,第二下行数据包携带第一虚拟IP地址,第二虚拟IP地址和地址切换标识,地址切换标识用于更改上行数据包的目的IP地址;
发送单元1003,还用于向终端发送第二下行数据包。
在另一个可选实施例中,
处理单元1002还用于获取第二地址生成序列,第二地址生成序列包括第二虚拟IP地址的地址生成时刻和第二虚拟IP地址的地址生存时长;根据密钥,应用服务器的IP地址,终端的IP地址和第二地址生成序列生成第二虚拟IP地址;
发送单元1003还用于向终端发送携带有第二虚拟IP地址和第二地址生成序列的地址切换通知,地址切换通知用于更改上行数据包的目的IP地址和地址生成序列;
处理单元1002还用于当目标时间差小于或等于预设时长时,根据下行数据包和第一虚拟IP地址生成第一下行数据包;
发送单元1003还用于将第一下行数据包发送给终端。
在另一个可选实施例中,处理单元1002具体用于使用密钥将第一虚拟IP地址的第二部分进行解密;将终端的IP地址的第二部分和解密结果进行第一次异或运算;将第一地址生成序列和第一次异或运算结果进行第二次异或运算;将第一虚拟IP地址的第一部分与第二次异或运算结果组成待处理IP地址。
在另一个可选实施例中,
接收单元1001还用于接收密钥管理服务器发送的应用服务器的IP地址以及与应用服务器的IP地址对应的密钥。
本申请的终端能够实现上述实施例中由终端执行的步骤。参阅图11,在一个实施例中,终端1100包括接收单元1101,处理单元1102和发送单元1103。
发送单元1103用于向域名系统服务器发送地址请求消息,地址请求消息包括域名;
接收单元1101用于接收域名系统服务器根据地址请求消息发送的响应消息,响应消息包括应用服务器的第一虚拟因特网协议IP地址和高防地址标识;
处理单元1102生成上行数据包,上行数据包携带终端的IP地址,第一虚拟IP地址和高防地址标识;
发送单元1103还用于向网络设备发送上行数据包。
在一个可选实施例中,响应消息还包括第一地址生成序列,以及上行数据包还包括第一地址生成序列,第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长。
在另一个可选实施例中,
接收单元1101还用于接收网络设备发送的第一下行数据包,第一下行数据包携带第一虚拟IP地址。
在另一个可选实施例中,
接收单元1101还用于接收网络设备发送的第二下行数据包,第二下行数据包携带第一虚拟IP地址,第二虚拟IP地址,第二地址生成序列和地址切换标识;
处理单元1102还用于根据地址切换标识生成携带有第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。
在另一个可选实施例中,
接收单元1101还用于接收网络设备发送的第一下行数据包和地址切换通知,第一下行数据包携带第一虚拟IP地址,地址切换通知包括第二虚拟IP地址和第二地址生成序列;
处理单元1102还用于根据地址切换通知生成携带有第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。
本申请的域名系统服务器能够实现上述实施例中由域名系统服务器执行的步骤。参阅图12,在一个实施例中,域名系统服务器1200包括:
接收单元1201,用于接收终端发送的地址请求消息,地址请求消息包括域名;
处理单元1202,用于当域名为高防域名时,获取密钥和高防地址标识;
处理单元1202,还用于根据密钥,终端的IP地址和应用服务器的IP地址生成第一虚拟IP地址;
发送单元1203,用于向终端发送响应消息,响应消息包括第一虚拟IP地址和高防地址标识。
在一个可选实施例中,
处理单元1202,具体用于获取第一地址生成序列,第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长;根据密钥,终端的IP地址和应用服务器的IP地址和第一地址生成序列生成第一虚拟IP地址。
在另一个可选实施例中,
处理单元1202具体用于将终端的IP地址的第二部分与应用服务器的IP地址的第二部分进行第一次异或运算;将第一地址生成序列的与第一次异或运算结果进行第二次异或运算;使用密钥对第二次异或运算结果进行加密;将加密结果与应用服务器的IP地址的第一部分组成第一虚拟IP地址。
下面从硬件角度对本申请的网络设备,终端和域名解析服务器进行介绍。参阅图13,在一个实施例中,本申请的网络设备1300包括处理器1301,内存1302和通信接口1303。处理器1301,内存1302和通信接口1303的数量可以是一个或多个。处理器1301和内存1302通过总线1304连接,处理器1301和通信接口1303通过总线1305连接。
在本申请实施例中,处理器1301可以是中央处理器(central processing unit,CPU),可以是其他特定集成电路(application specific integrated circuit,ASIC)。处理器1301还可以是是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
内存1302是网络设备1300的主存。通常采用动态随机存取存储器(DynamicRandom Access Memory,DRAM)作为内存1302。处理器1301能够通过内存控制器高速访问内存1302,对内存1302中的任意一个存储单元进行读操作和写操作。除了DRAM之外,内存1302还可以是其他随机存取存储器,例如静态随机存取存储器(Static Random AccessMemory,SRAM)等。另外,内存1302也可以是只读存储器(Read Only Memory,ROM)。而对于只读存储器,举例来说,可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。本实施例不对内存1302的数量和类型进行限定。此外,可对内存1302进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,存储器中存储的数据也不会丢失。具有保电功能的内存1302被称为非易失性存储器。
通信接口1303用于与其他设备进行通信。通信接口1303可以接收上行数据或发送下行数据。总线1304可以是但不限于双倍速率(double data rate,DDR)总线,总线1305可以是但不限于PCIe总线。
本实施例中,内存1302用于存储程序,处理器1301通过调用内存1302存储的程序可以执行上述实施例中由网络设备执行的步骤。
参阅图14,在另一个实施例中,本申请的终端1400包括处理器1401和内存1404。处理器1401通过DDR总线1403和内存1404相连。这里,不同的内存1404可能采用不同的数据总线与处理器1401通信,因此DDR总线1403也可以替换为其他类型的数据总线,本申请实施例不对总线类型进行限定。另外,终端1400还包括各种输入输出设备,处理器1401可以通过PCIe总线1405访问这些输入输出设备1407。
处理器(Processor)1401是计算设备1400的运算核心和控制核心。处理器1401可以包括一个或多个处理核(core)1402。处理器1401可以是一块超大规模的集成电路。在处理器1401中安装有操作系统和其他软件程序,从而处理器1401能够实现对内存1404及各种PCIe设备的访问。在本申请实施例中,处理器1401中的处理核1402例如可以是CPU,可以是ASIC。处理器1401还可以是是其他通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。实际应用中,终端1400也可以包括多个处理器。
内存控制器(Memory Controller)是终端1400内部控制内存1404并用于管理与规划从内存1404到处理核1402间的数据传输的总线电路控制器。通过内存控制器,内存1404与处理核1402之间可以交换数据。内存控制器可以是一个单独的芯片,并通过系统总线与处理核1402连接。本领域技术人员可以知道,内存控制器也可以被集成到处理器1401中,也可以被内置于北桥中,还可以是一块独立的内存控制器芯片,本申请实施例不对内存控制器的具体位置和存在形式进行限定。实际应用中,内存控制器可以控制必要的逻辑以将数据写入内存1404或从内存1404中读取数据。内存控制器1404可以是通用处理器、专用加速器、GPU、FPGA、嵌入式处理器等处理器系统中的内存控制器。
内存1404是终端1400的主存。内存1404通常用来存放操作系统中各种正在运行的软件、输入和输出数据以及与外存交换的信息等。为了提高处理器1401的访问速度,内存1404需要具备访问速度快的优点。在传统的计算机系统架构中,通常采用DRAM作为内存1404。处理器1401能够通过内存控制器高速访问内存1404,对内存1404中的任意一个存储单元进行读操作和写操作。除了DRAM之外,内存1404还可以是其他随机存取存储器,例如SRAM等。另外,内存1404也可以是ROM。而对于只读存储器,举例来说,可以是PROM、EPROM等。本实施例不对内存1404的数量和类型进行限定。此外,可对内存1404进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,存储器中存储的数据也不会丢失。具有保电功能的内存1404被称为非易失性存储器。
输入输出(input/ourput,I/O)设备1407是指可以进行数据传输的硬件,也可以理解为与I/O接口对接的设备。常见的I/O设备有网卡、打印机、键盘、鼠标等。所有的外存也可以作为I/O设备,如硬盘、软盘、光盘等。处理器1401可通过PCIe总线1405访问各个输入输出1407。需要说明的是,PCIe总线1405只是其中的一个示例,可以被替换为其他总线,例如统一(unified bus,UB)总线等。
基板管理控制器(Baseboard Management Controller,BMC)1406可以对设备进行固件升级,对设备的运行状态进行管理以及排除故障等。处理器1401可通过PCIe总线或者USB、I2C等总线访问基板管理控制器1406。基本管理控制器1406还可以和至少一个传感器相连。通过传感器获取终端的状态数据,其中状态数据包括:温度数据,电流数据、电压数据等等。在本申请中不对状态数据的类型做具体限制。基板管理控制器1406通过PCIe总线或者其他类型的总线和处理器1401通信,例如,将获取到的状态数据,传递给处理器1401进行处理。基板管理控制器1406也可以对内存1404中的程序代码进行维护,包括升级或恢复等等。基板管理控制器1406还可以对终端1400内的电源电路或时钟电路进行控制等。总之,基板管理控制器1406可以通过以上方式实现对终端1400的管理。然而,基板管理控制器1406只是一个可选设备。在一些实施方式中,处理器1401可以直接和传感器通信,从而对终端直接进行管理和维护。
本实施例中,内存1404用于存储程序。通过调用内存1404存储的程序,处理器1401用于执行上述实施例中由终端执行的步骤。
本申请提供一种域名系统服务器1500能够执行上述实施例中由域名系统服务器执行的步骤。图15是本申请实施例提供的一种域名系统服务器的结构示意图。参阅图15,该域名系统服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或多个中央处理器1522和存储器1532,一个或多个存储应用程序1542或数据1544的存储介质1530(例如一个或多个海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或多个模块,每个模块可以包括对域名系统服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在域名系统服务器1500上执行存储介质1530中的一系列指令操作。
域名系统服务器1500还可以包括一个或多个电源1526,一个或多个有线或无线网络接口1550,一个或多个输入输出接口1558,和/或,一个或多个操作系统1541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述方法实施例中的叙述,此处不再赘述。
本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例或可选实施例中的通信方法。
本申请还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如上述所示实施例或可选实施例中的通信方法。
本申请还提供一种芯片系统,该芯片系包括相互耦合的处理器和存储器。存储器用于存储的计算机程序或指令,该处理单元用于执行存储器存储的计算机程序或指令,以使设备执行上述实施例中由网络设备,终端或域名系统服务器执行的步骤。可选地,存储器为芯片内的存储器,如寄存器、缓存等,存储器还可以是站点内的位于芯片外部的存储器,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,专用集成电路(application specific integratedcircuit,ASIC)或一个或多个用于实现上述通信方法的集成电路。
另外需说明的是,以上所描述的装置实施例只是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

Claims (31)

1.一种通信方法,其特征在于,包括:
接收终端发送的上行数据包;
当检测到所述上行数据包携带高防地址标识时,从所述上行数据包获取所述终端的因特网协议IP地址和应用服务器的第一虚拟IP地址;
获取密钥;
根据所述密钥,所述上行数据包携带的终端的IP地址和所述第一虚拟IP地址生成待处理IP地址;
当所述待处理IP地址不是所述应用服务器的IP地址时,确定所述上行数据包非法;
当所述待处理IP地址为所述应用服务器的IP地址时,将所述上行数据包的目的IP地址从所述第一虚拟IP地址修改为所述应用服务器的IP地址,向所述应用服务器发送修改后的上行数据包。
2.根据权利要求1所述的方法,其特征在于,所述上行数据包还包括第一地址生成序列,所述第一地址生成序列包括所述第一虚拟IP地址的地址生成时刻和所述第一虚拟地址的地址生存时长;
所述根据所述密钥,所述终端的IP地址和所述第一虚拟IP地址生成待处理IP地址包括:
根据所述密钥,所述终端的IP地址,所述第一虚拟IP地址和所述第一地址生成序列生成待处理IP地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述应用服务器发送的下行数据包,所述下行数据包携带所述应用服务器的IP地址,所述终端的IP地址,所述第一地址生成序列和高防地址标识;
当检测到所述下行数据包携带高防地址标识时,根据所述密钥,所述应用服务器的IP地址,所述终端的IP地址和所述第一地址生成序列生成所述第一虚拟IP地址;
根据所述第一地址生成序列确定所述第一虚拟IP地址的地址结束时刻;
当所述地址结束时刻大于验证时刻时,确定目标时间差等于所述地址结束时刻减去所述验证时刻;
当所述目标时间差大于预设时长时,根据所述下行数据包和所述第一虚拟IP地址生成第一下行数据包,将第一下行数据包发送给所述终端。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述目标时间差小于或等于预设时长时,获取第二地址生成序列,所述第二地址生成序列包括第二虚拟IP地址的地址生成时刻和所述第二虚拟IP地址的地址生存时长;根据所述密钥,所述应用服务器的IP地址,所述终端的IP地址和第二地址生成序列生成第二虚拟IP地址;根据所述下行数据包,所述第一虚拟IP地址,所述第二虚拟IP地址,所述第二地址生成序列和地址切换标识生成第二下行数据包,向所述终端发送第二下行数据包。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述目标时间差小于或等于预设时长时,获取第二地址生成序列,所述第二地址生成序列包括第二虚拟IP地址的地址生成时刻和所述第二虚拟IP地址的地址生存时长;根据所述密钥,所述应用服务器的IP地址,所述终端的IP地址和第二地址生成序列生成第二虚拟IP地址;向终端发送携带有第二虚拟IP地址和第二地址生成序列的地址切换通知;
根据所述下行数据包和所述第一虚拟IP地址生成第一下行数据包,将第一下行数据包发送给所述终端。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述根据密钥,所述终端的IP地址,所述第一虚拟IP地址和第一地址生成序列生成待处理IP地址包括:
使用密钥将所述第一虚拟IP地址的第二部分进行解密;
将所述终端的IP地址的第二部分和解密结果进行第一次异或运算;
将所述第一地址生成序列和第一次异或运算结果进行第二次异或运算;
将所述第一虚拟IP地址的第一部分与第二次异或运算结果组成所述待处理IP地址。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述获取密钥之前,所述方法还包括:
接收密钥管理服务器发送的所述应用服务器的IP地址以及与所述应用服务器的IP地址对应的密钥。
8.一种通信方法,其特征在于,包括:
向域名系统服务器发送地址请求消息,所述地址请求消息包括域名;
接收所述域名系统服务器根据所述地址请求消息发送的响应消息,所述响应消息包括所述应用服务器的第一虚拟因特网协议IP地址和高防地址标识;
生成上行数据包,所述上行数据包携带有终端的IP地址,所述应用服务器的第一虚拟IP地址和高防地址标识;
向网络设备发送上行数据包。
9.根据权利要求8所述的方法,其特征在于,所述响应消息还包括第一地址生成序列,以及所述上行数据包还包括第一地址生成序列,所述第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
接收所述网络设备发送的第一下行数据包,所述第一下行数据包携带第一虚拟IP地址。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收所述网络设备发送的第二下行数据包,所述第二下行数据包携带第一虚拟IP地址,所述第二虚拟IP地址,第二地址生成序列和地址切换标识,所述第二地址生成序列包括第二虚拟IP地址的地址生成时刻和地址生存时长;
根据所述地址切换标识生成携带有所述第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收所述网络设备发送的第一下行数据包和地址切换通知,所述第一下行数据包携带第一虚拟IP地址,所述地址切换通知包括第二虚拟IP地址和第二地址生成序列;
根据所述地址切换通知生成携带有第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。
13.一种通信方法,其特征在于,包括:
接收终端发送的地址请求消息,所述地址请求消息包括域名;
当所述域名为高防域名时,获取密钥和高防地址标识;
根据所述密钥,所述终端的IP地址和所述应用服务器的IP地址生成第一虚拟因特网协议IP地址;
向终端发送响应消息,所述响应消息包括所述第一虚拟IP地址和所述高防地址标识。
14.根据权利要求13所述的方法,其特征在于,所述根据所述密钥,所述终端的IP地址和所述应用服务器的IP地址生成第一虚拟IP地址包括:
获取第一地址生成序列,所述第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长;
根据所述密钥,所述终端的IP地址和所述应用服务器的IP地址和所述第一地址生成序列生成第一虚拟IP地址。
15.根据权利要求14所述的方法,其特征在于,所述根据所述密钥,所述终端的IP地址和所述应用服务器的IP地址和所述第一地址生成序列生成第一虚拟IP地址包括:
将所述终端的IP地址的第二部分与所述应用服务器的IP地址的第二部分进行第一次异或运算;
将所述第一地址生成序列的与第一次异或运算结果进行第二次异或运算;
使用所述密钥对第二次异或运算结果进行加密;
将加密结果与所述应用服务器的IP地址的第一部分组成第一虚拟IP地址。
16.一种网络设备,其特征在于,包括:
接收单元,用于接收终端发送的上行数据包;
处理单元,用于当检测到所述上行数据包携带高防地址标识时,从所述上行数据包获取所述终端的因特网协议IP地址和应用服务器的第一虚拟IP地址;
所述处理单元,还用于获取密钥;
所述处理单元,还用于根据所述密钥,所述终端的IP地址和所述第一虚拟IP地址生成待处理IP地址;
所述处理单元,还用于当所述待处理IP地址不是所述应用服务器的IP地址时,确定所述上行数据包非法;当所述待处理IP地址为所述应用服务器的IP地址时,将所述上行数据包的目的IP地址从所述第一虚拟IP地址修改为所述应用服务器的IP地址;
发送单元,用于向所述应用服务器发送修改后的上行数据包。
17.根据权利要求16所述的网络设备,其特征在于,所述上行数据包还包括第一地址生成序列,所述第一地址生成序列包括所述第一虚拟IP地址的地址生成时刻和所述第一虚拟地址的地址生存时长;
所述处理单元具体用于根据所述密钥,所述终端的IP地址,所述第一虚拟IP地址和所述第一地址生成序列生成待处理IP地址。
18.根据权利要求17所述的网络设备,其特征在于,
所述接收单元,还用于接收所述应用服务器发送的下行数据包,所述下行数据包携带所述应用服务器的IP地址,所述终端的IP地址,所述第一地址生成序列和高防地址标识;
所述处理单元,还用于当检测到所述下行数据包携带高防地址标识时,根据所述应用服务器的IP地址,所述终端的IP地址和所述第一地址生成序列生成所述第一虚拟IP地址;
所述处理单元,还用于根据地址生成时刻和地址生存时长确定地址结束时刻;当所述地址结束时刻大于验证时刻时,确定目标时间差等于所述地址结束时刻减去所述验证时刻;
所述处理单元,还用于当所述目标时间差大于预设时长时,根据所述下行数据包和所述第一虚拟IP地址生成第一下行数据包;
所述发送单元还用于将所述第一下行数据包发送给所述终端。
19.根据权利要求18所述的网络设备,其特征在于,
所述处理单元,还用于当所述目标时间差小于或等于预设时长时,获取第二地址生成序列,所述第二地址生成序列包括所述第二虚拟IP地址的地址生成时刻和所述第二虚拟IP地址的地址生存时长;根据所述密钥,所述应用服务器的IP地址,所述终端的IP地址和所述第二地址生成序列生成第二虚拟IP地址;根据所述下行数据包,所述第一虚拟IP地址,所述第二虚拟IP地址和地址切换标识生成第二下行数据包;
所述发送单元,还用于向所述终端发送第二下行数据包。
20.根据权利要求18所述的网络设备,其特征在于,
所述处理单元,还用于当所述目标时间差小于或等于预设时长时,获取第二地址生成序列,所述第二地址生成序列包括第二虚拟IP地址的地址生成时刻和所述第二虚拟IP地址的地址生存时长;根据所述密钥,所述应用服务器的IP地址,所述终端的IP地址和第二地址生成序列生成第二虚拟IP地址;
所述发送单元,还用于向终端发送携带有第二虚拟IP地址和第二地址生成序列的地址切换通知;
所述处理单元,还用于根据所述下行数据包和所述第一虚拟IP地址生成第一下行数据包;
所述发送单元,还用于将第一下行数据包发送给所述终端。
21.根据权利要求17至20中任一项所述的网络设备,其特征在于,所述处理单元具体用于使用所述密钥将所述第一虚拟IP地址的第二部分进行解密;将所述终端的IP地址的第二部分和解密结果进行第一次异或运算;将所述第一地址生成序列和第一次异或运算结果进行第二次异或运算;将所述第一虚拟IP地址的第一部分与第二次异或运算结果组成所述待处理IP地址。
22.根据权利要求16至20中任一项所述的网络设备,其特征在于,
所述接收单元还用于接收密钥管理服务器发送的所述应用服务器的IP地址以及与所述应用服务器的IP地址对应的密钥。
23.一种终端,其特征在于,包括:
发送单元,用于向域名系统服务器发送地址请求消息,所述地址请求消息包括域名;
接收单元,用于接收所述域名系统服务器根据所述地址请求消息发送的响应消息,所述响应消息包括所述应用服务器的第一虚拟因特网协议IP地址和高防地址标识;
处理单元,用于生成上行数据包,所述上行数据包携带有终端的IP地址,所述应用服务器的第一虚拟IP地址和高防地址标识;
所述发送单元,还用于向网络设备发送上行数据包。
24.根据权利要求23所述的终端,其特征在于,所述响应消息还包括第一地址生成序列,以及所述上行数据包还包括第一地址生成序列,所述第一地址生成序列包括所述第一虚拟IP地址的地址生成时刻和所述第一虚拟地址的地址生存时长。
25.根据权利要求23或24所述的终端,其特征在于,
所述接收单元,还用于接收所述网络设备发送的第一下行数据包,所述第一下行数据包携带第一虚拟IP地址。
26.根据权利要求24所述的终端,其特征在于,
所述接收单元,还用于接收所述网络设备发送的第二下行数据包,所述第二下行数据包携带第一虚拟IP地址,所述第二虚拟IP地址,第二地址生成序列和地址切换标识;
所述处理单元,还用于根据所述地址切换标识生成携带有所述第二虚拟IP地址,和第二地址生成序列和高防地址标识的上行数据包。
27.根据权利要求24所述的终端,其特征在于,
所述接收单元,还用于接收所述网络设备发送的第一下行数据包和地址切换通知,所述第一下行数据包携带第一虚拟IP地址,所述地址切换通知包括第二虚拟IP地址和第二地址生成序列;
所述处理单元,还用于根据所述地址切换通知生成携带有第二虚拟IP地址,第二地址生成序列和高防地址标识的上行数据包。
28.一种域名系统服务器,其特征在于,包括:
接收单元,用于接收终端发送的地址请求消息,所述地址请求消息包括域名;
处理单元,用于当所述域名为高防域名时,获取密钥和高防地址标识;
所述处理单元,还用于根据所述密钥,所述终端的IP地址和所述应用服务器的因特网协议IP地址生成第一虚拟IP地址;
发送单元,用于向终端发送响应消息,所述响应消息包括所述第一虚拟IP地址和高防地址标识。
29.根据权利要求28所述的域名系统服务器,其特征在于,
所述处理单元,具体用于获取第一地址生成序列,所述第一地址生成序列包括第一虚拟IP地址的地址生成时刻和第一虚拟地址的地址生存时长;根据所述密钥,所述终端的IP地址和所述应用服务器的IP地址和所述第一地址生成序列生成第一虚拟IP地址。
30.根据权利要求29所述的域名系统服务器,其特征在于,
所述处理单元具体用于将所述终端的IP地址的第二部分与所述应用服务器的IP地址的第二部分进行第一次异或运算;将所述第一地址生成序列的与第一次异或运算结果进行第二次异或运算;使用所述密钥对第二次异或运算结果进行加密;将加密结果与所述应用服务器的IP地址的第一部分组成第一虚拟IP地址。
31.一种计算机可读存储介质,存储有指令,其特征在于,当其在计算机上运行时,使得计算执行权利要求1至15中任一项所述的方法。
CN202210210483.2A 2022-03-03 2022-03-03 一种通信方法,网络设备,终端和域名系统服务器 Pending CN116743410A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210210483.2A CN116743410A (zh) 2022-03-03 2022-03-03 一种通信方法,网络设备,终端和域名系统服务器
PCT/CN2023/075817 WO2023165324A1 (zh) 2022-03-03 2023-02-14 一种通信方法,网络设备,终端和域名系统服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210210483.2A CN116743410A (zh) 2022-03-03 2022-03-03 一种通信方法,网络设备,终端和域名系统服务器

Publications (1)

Publication Number Publication Date
CN116743410A true CN116743410A (zh) 2023-09-12

Family

ID=87882888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210210483.2A Pending CN116743410A (zh) 2022-03-03 2022-03-03 一种通信方法,网络设备,终端和域名系统服务器

Country Status (2)

Country Link
CN (1) CN116743410A (zh)
WO (1) WO2023165324A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105429957A (zh) * 2015-11-02 2016-03-23 芦斌 一种基于sdn构架下的ip地址跳变安全通信方法
US20170374088A1 (en) * 2016-06-22 2017-12-28 Sable Networks, Inc. Individually assigned server alias address for contacting a server
CN110611723B (zh) * 2018-06-15 2021-05-11 华为技术有限公司 一种服务资源的调度方法及装置
CN114124381B (zh) * 2021-11-30 2023-08-04 中国人民解放军国防科技大学 基于量子密钥分发的多方地址跳变图案生成方法及装置

Also Published As

Publication number Publication date
WO2023165324A1 (zh) 2023-09-07

Similar Documents

Publication Publication Date Title
US11075892B2 (en) Fully cloaked network communication model for remediation of traffic analysis based network attacks
Zhuang et al. Cashmere: Resilient anonymous routing
US9755826B2 (en) Quantum key distribution device, quantum key distribution system, and quantum key distribution method
US8948377B2 (en) Encryption device, encryption system, encryption method, and encryption program
CN112398651B (zh) 一种量子保密通信方法、装置、电子设备以及存储介质
US9614669B1 (en) Secure network communications using hardware security barriers
WO2019129201A1 (en) Session management for communications between a device and a dtls server
Seeber et al. Towards a trust computing architecture for RPL in cyber physical systems
US8788705B2 (en) Methods and apparatus for secure routing of data packets
US20170213054A1 (en) Secure transactions in a memory fabric
KR20160020866A (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
US8250127B2 (en) Harvesting entropy from trusted cryptographic sources
CN114938312B (zh) 一种数据传输方法和装置
CN106209401B (zh) 一种传输方法及装置
CN113973007B (zh) 基于广播加密和洋葱路由的时控性加密匿名查询方法和系统
CN114531239A (zh) 多加密密钥的数据传输方法及系统
CN110832806B (zh) 针对面向身份的网络的基于id的数据面安全
KR20200002599A (ko) 서버 장치, 클라이언트 장치 및 네트워크 주소 변이 기반 통신 방법
US11418354B2 (en) Authentication method, device, and system
CN105743863A (zh) 一种对报文进行处理的方法及装置
CN109450849B (zh) 一种基于区块链的云服务器组网方法
CN116743410A (zh) 一种通信方法,网络设备,终端和域名系统服务器
US10841221B2 (en) Stage one cache lookup for network node of mesh network
CN109587163B (zh) 一种dr模式下的防护方法和装置
CN109194558B (zh) 隧道报文认证转发方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication