一种用于dc互联的安全通信方法、装置及系统
技术领域
1.本申请涉及网络安全领域,特别涉及一种用于dc互联的安全通信方法、装置及系统。
背景技术:
2.当前企业为保证业务的可靠性和连续性,通常在多个地点部署承载同一业务的dc,并使多个地点的dc互联,当某个dc故障时,通过承载相同业务的其他dc来保证业务的正常运行。不同dc中的设备通常基于媒体访问控制安全(media access control security,macsec)技术通信,以保证通信安全。例如,防止dc外的设备对dc中的设备实施重放攻击。
3.在基于macsec技术的防重放攻击方案中,采用在报文中携带报文序号(packet number,pn)的方式对设备进行重放保护。以第一dc中的第一设备向第二dc中的第二设备发送报文为例。第一设备与第二设备建立邻居关系之后进行pn同步使第一设备和第二设备记录相同的pn。之后,第一设备每向第二设备发送一个报文,第一设备更新第一设备记录的pn,更新后的pn等于更新前的pn加1,第一设备向第二设备发送的报文中携带第一设备更新后的pn。第二设备每接收到一个报文,判断报文中携带的pn与第二设备记录的pn是否连续(例如报文中携带的pn是否等于第二设备记录的pn加1)。如果报文中携带的pn与第二设备记录的pn连续,第二设备确定该报文不是对第二设备实施重放攻击的报文,第二设备采用该报文中携带的pn更新第二设备记录的pn。如果报文中携带的pn与第二设备记录的pn不连续,第二设备确定该报文是对第二设备实施重放攻击的报文,第二设备丢弃该报文。
4.但是,在基于macsec技术的防重放攻击方案中,需要相互通信的两个设备记录的pn同步,且需要该两个设备之间通信的报文中携带的pn与该两个设备记录的pn连续,这使得基于macsec技术的防重放攻击方案仅能够适用于点对点的通信场景,难以适用于点对多点以及多点对点的通信场景。因此上述防重放攻击方案的应用场景受限,灵活性较差。
技术实现要素:
5.本申请提供了一种用于dc互联的安全通信方法、装置及系统。本申请的技术方案如下:
6.第一方面,提供了一种用于dc互联的安全通信方法,该方法包括:第一dc中的第一设备接收第二dc中的第二设备发送的第一报文,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种;第一设备根据攻击验证信息对第一报文进行重放攻击验证。其中,第一时间戳是第二设备发送第一报文的时间戳。
7.本申请提供的用于dc互联的安全通信方案,通过在不同dc中的设备交互的报文中携带时间戳和/或随机数的方式来对dc中的设备进行重放保护,适用于点对点、点对多点以及多点对点的通信场景,该安全通信方案的应用场景广泛,灵活性较高。
8.可选地,该方法还包括:当满足第一条件时,第一设备确定第一报文通过重放攻击验证。当不满足第一条件时,第一设备确定第一报文未通过重放攻击验证。
9.本申请提供的用于dc互联的安全通信方案,当第一设备确定第一报文通过重放攻击验证时,第一设备确定第一报文不是重放攻击报文(也即是第一报文不是用于对第一设备实施重放攻击的报文),第一设备可以对第一报文进行处理,当第一设备确定第一报文未通过重放攻击验证时,第一设备确定第一报文是重放攻击报文(也即是第一报文是用于对第一设备实施重放攻击的报文),第一设备丢弃第一报文而无需对第一报文进行处理。由此可以避免第一设备处理重放攻击报文对第一设备的性能消耗。
10.可选地,攻击验证信息包括第一时间戳,第一条件包括第二时间戳与第一时间戳之间的时间差小于或者等于第一阈值。其中,第一时间戳是第二设备发送第一报文的时间戳,第二时间戳是第一设备接收到第一报文的时间戳。
11.本申请提供的用于dc互联的安全通信方案,在第一报文携带的攻击验证信息包括第一时间戳的情况下,第一条件包括第二时间戳与第一时间戳之间的时间差小于或者等于第一阈值,这样第一设备可以根据第二时间戳与第一时间戳之间的时间差是否小于或者等于第一阈值对第一报文进行重放攻击验证。
12.可选地,攻击验证信息包括第一随机数,第一条件包括第一随机数与第一随机数列表满足匹配规则。
13.本申请提供的用于dc互联的安全通信方案,在第一报文携带的攻击验证信息包括第一随机数的情况下,第一条件包括第一随机数与第一随机数列表满足匹配规则,这样第一设备可以根据第一随机数与第一随机数列表是否满足匹配规则对第一报文进行重放攻击验证。
14.可选地,匹配规则包括第一随机数处于第一随机数列表(例如随机数列表a)中。
15.可选地,在匹配规则包括第一随机数处于第一随机数列表中的情况下,攻击验证信息还包括第一随机数列表的列表指示信息,列表指示信息用于确定第一随机数列表。例如,第一随机数列表的列表指示信息是第一随机数列表的标识,或者,第一随机数列表与第一dc对应,第一随机数列表的列表指示信息是第一dc的指示信息,例如是第一dc的标识等。
16.可选地,在匹配规则包括第一随机数处于第一随机数列表中的情况下,该方法还包括:第一设备从控制设备获取第一随机数列表。例如,第一设备在根据攻击验证信息对第一报文进行重放攻击验证之前,从控制设备获取第一随机数列表和第一随机数列表的列表指示信息。
17.本申请提供的用于dc互联的安全通信方案,第一设备通过从控制设备获取第一随机数列表,可以便于在第一报文携带的攻击验证信息包括第一随机数的情况下,第一设备判断第一随机数是否处于第一随机数列表中,实现对第一报文的重放攻击验证。
18.可选地,匹配规则包括第一随机数未处于第一随机数列表(例如随机数列表b)中。示例地,第一随机数列表是第一设备根据接收到的报文中携带的随机数构建的。
19.可选地,在匹配规则包括第一随机数未处于第一随机数列表中的情况下,该方法还包括:当第一报文不是重放攻击报文时,第一设备将第一随机数记录至第一随机数列表中。
20.本申请提供的用于dc互联的安全通信方案,在第一报文携带的攻击验证信息包括第一随机数,且匹配规则包括第一随机数未处于第一随机数列表中的情况下,当第一设备确定第一报文不是重放攻击报文时,第一设备将第一报文中携带的第一随机数记录至第一
随机数列表中,这样第一设备后续接收到携带第一随机数的报文时,可以将携带第一随机数的报文确定为重放攻击报文。
21.可选地,第一报文包括安全头,攻击验证信息位于安全头中。
22.可选地,安全头为业务安全头。
23.可选地,第一报文还包括用户数据报协议(user datagram protocol,udp)头,udp头中的目的端口号用于指示业务安全头。
24.可选地,第一设备与第一dc中的第三设备组成跨设备链路聚合组(multi
‑
chassis link aggregation group,mlag)。
25.可选地,第二设备与第二dc中的第四设备组成mlag。
26.第二方面,提供了一种用于dc互联的安全通信方法,该方法包括:第二dc中的第二设备向第一dc中的第一设备发送第一报文,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种;其中,攻击验证信息用于第一设备对第一报文进行重放攻击验证。第一时间戳是第二设备发送第一报文的时间戳。
27.本申请提供的用于dc互联的安全通信方案,通过在不同dc中的设备交互的报文中携带时间戳和/或随机数的方式来对dc中的设备进行重放保护,适用于点对点、点对多点以及多点对点的通信场景,该安全通信方案的应用场景广泛,灵活性较高。
28.可选地,攻击验证信息包括第一随机数,第一随机数包括在第一随机数列表(例如随机数列表a)中。例如,攻击验证信息包括的第一随机数是第二设备从第一随机数列表(例如随机数列表a)中确定的。
29.可选地,攻击验证信息还包括第一随机数列表的列表指示信息,列表指示信息用于确定第一随机数列表。例如,第一随机数列表的列表指示信息是第一随机数列表的标识,或者,第一随机数列表与第一dc对应,第一随机数列表的列表指示信息是第一dc的指示信息,例如是第一dc的标识等。
30.可选地,该方法还包括:第二设备从控制设备获取第一随机数列表。例如,第二设备在向第一设备发送第一报文之前,从控制设备获取第一随机数列表和第一随机数列表的列表指示信息。
31.本申请提供的用于dc互联的安全通信方案,第二设备通过从控制设备获取第一随机数列表,可以便于第二设备从第一随机数列表中确定第一随机数,并将第一随机数作为攻击验证信息添加在第一报文中,从而便于第一设备根据第一报文中携带的第一随机数对第一报文的重放攻击验证。
32.可选地,攻击验证信息包括第一随机数,第一随机数是第二设备生成的。
33.可选地,第一报文包括安全头,攻击验证信息位于安全头中。
34.可选地,安全头为业务安全头。
35.可选地,第一报文还包括udp头,udp头中的目的端口号用于指示业务安全头。
36.可选地,第一设备与第一dc中的第三设备组成mlag。
37.可选地,第二设备与第二dc中的第四设备组成mlag。
38.第三方面,提供了一种用于dc互联的安全通信装置,该安全通信装置包括用于执行如上述第一方面或第一方面的任一可选方式所提供的方法的各个模块。
39.第四方面,提供了一种用于dc互联的安全通信装置,该安全通信装置包括用于执
行如上述第二方面或第二方面的任一可选方式所提供的方法的各个模块。
40.上述第三方面或第四方面中的所述模块可以基于软件、硬件或软件和硬件的结合实现,且所述模块可以基于具体实现进行任意组合或分割。
41.第五方面,提供了一种安全通信装置,包括存储器和处理器;
42.存储器用于存储计算机程序;
43.处理器用于执行存储器中存储的计算机程序以使得该安全通信装置执行如上述第一方面或第一方面的任一可选方式所提供的方法,或者,执行如上述第二方面或第二方面的任一可选方式所提供的方法。
44.第六方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面或第一方面的任一可选方式所提供的方法,或者,实现如上述第二方面或第二方面的任一可选方式所提供的方法。
45.第七方面,提供了一种计算机程序产品,该计算机程序产品包括程序或代码,当该程序或代码在处理器上运行时,实现如上述第一方面或第一方面的任一可选方式所提供的方法,或者,实现如上述第二方面或第二方面的任一可选方式所提供的方法。
46.第八方面,提供了一种用于dc互联的安全通信系统,该系统包括:第一dc中的第一设备和第二dc中的第二设备,第一设备包括如上述第三方面所提供的用于dc互联的安全通信装置,第二设备包括上述第四方面所提供的用于dc互联的安全通信装置;或者,第一设备和第二设备中的至少一个包括如上述第五方面所提供的安全通信装置。
47.可选地,第一设备与第一dc中的第三设备组成mlag。
48.可选地,第二设备与第二dc中的第四设备组成mlag。
49.第九方面,提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述第一方面或第一方面的任一可选方式所提供的方法,或者,实现如上述第二方面或第二方面的任一可选方式所提供的方法。
50.本申请提供的技术方案带来的有益效果是:
51.本申请提供的用于dc互联的安全通信方法、装置及系统,第二dc中的第二设备向第一dc中的第一设备发送的第一报文中携带攻击验证信息,该攻击验证信息包括第一时间戳和第一随机数中的至少一种,第一设备接收到第一报文之后,根据第一报文中携带的攻击验证信息对第一报文进行重放攻击验证,如果第一报文通过重放攻击验证,第一设备对第一报文进行处理,如果第一报文未通过重放攻击验证,第一设备丢弃第一报文,从而实现对第一设备的重放保护,避免第一设备处理重放攻击报文对第一设备的性能消耗。本申请提供的技术方案通过在不同dc中的设备交互的报文中携带时间戳和/或随机数的方式来对dc中的设备进行重放保护,适用于点对点、点对多点以及多点对点的通信场景,有助于扩展安全通信方案的应用场景,提高该安全通信方案的灵活性。
附图说明
52.图1是本申请实施例提供的一种dci网络的示意图;
53.图2是本申请实施例提供的一种用于dc互联的安全通信方法的流程图;
54.图3是本申请实施例提供的一种第一报文的示意图;
55.图4是本申请实施例提供的另一种第一报文的示意图;
56.图5是本申请实施例涉及的一种macsec报文的示意图;
57.图6是本申请实施例提供的一种用于dc互联的安全通信方法的示意图;
58.图7是本申请实施例提供的一种用于dc互联的安全通信装置的结构示意图;
59.图8是本申请实施例提供的另一种用于dc互联的安全通信装置的结构示意图;
60.图9是本申请实施例提供的一种安全通信装置的结构示意图;
61.图10是本申请实施例提供的另一种安全通信装置的结构示意图。
具体实施方式
62.为使本申请的原理、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
63.当前企业为保证业务的可靠性和连续性,通常在多个地点部署承载同一业务的dc,并使多个地点的dc互联,当某个dc故障时,通过其他dc来保证业务的正常运行。例如,根据国家信息安全等级保护要求,在金融行业中逐渐应用“两地三中心”的dc解决方案,“两地三中心”是指在两个地点部署三个dc来承载同一业务,避免某个dc因电力故障、自然灾害等导致业务故障、数据损失等。其中,两地是指同城和异地,三中心是指生产中心、同城容灾中心和异地容灾中心。同城容灾中心与生产中心同城分布,异地容灾中心与生产中心异地分布,例如,异地容灾中心与生产中心位于不同城市。
64.承载同一业务的不同dc通过因特网(internet)或专网互联。为了保证dc之间通信的安全性,不同dc通常基于加密隧道或运营商专线通信。例如,不同dc中的设备基于macsec技术通信,以防止dc外的设备(例如因特网中的设备)对dc中的设备实施重放攻击(replay attack)。其中,因特网又称为互联网或公网;专网是指专用于特定dc互联的网络,例如,专用于dc1和dc2互联的网络可以称为专网,专网又称私网。其中,重放攻击是一种恶意或欺诈的,重复或延迟有效数据的网络攻击形式,攻击者利用网络监听或者其他方式盗取认证凭据,通过向网络设备(或主机)发送该网络设备已经接收过的报文,来对网络设备(或主机)实施重放攻击,消耗网络设备(或主机)的计算资源,干扰网络设备(或主机)对正常报文的接收以及处理。重放攻击可以由发起者或者拦截并重发报文的敌方进行。
65.macsec技术一种二层安全通信技术,macsec技术定义了基于电气和电子工程师协会(institute of electrical and electronics engineers,ieee)802局域网络的数据安全通信方法。macsec技术可以为用户提供安全的mac层数据发送和接收服务,这些服务包括用户数据加密(confidentiality)、数据帧完整性检查(data integrity)、数据源真实性校验(data origin authenticity)及点对点重放保护(replay protection)。
66.在基于macsec技术的防重放攻击方案中,通过在报文中携带pn的方式防止报文接收者受到重放攻击。但是,基于macsec技术的防重放攻击方案依赖于通信双方的pn同步,以及报文中携带的pn与通信双方记录的pn的连续,这使得基于macsec技术的防重放攻击方案仅能够适用于点对点的通信场景,无法适用于点对多点以及多点对点的通信场景。目前大部分dc的组网为mlag组网,在mlag组网下,经常需要进行点对多点以及多点对点的通信,基于macsec技术的防重放攻击方案无法在mlag组网下对dc中的设备进行重放保护。
67.有鉴于此,本申请实施例提供一种用于dc互联的安全通信方案,该安全通信方案中,不同dc中的设备通过在交互的报文中携带时间戳和/或随机数的方式来对dc中的设备
进行重放保护,该安全通信方案不仅适用于点对点的通信场景,更适用于点对多点以及多点对点的通信场景,可以适用于组网为mlag组网的dc,该安全通信方案的应用场景广泛,灵活性较高。下面对本申请的技术方案进行详细介绍。
68.在对本申请实施例提供的安全通信方案进行介绍之前,首先对mlag进行介绍。
69.mlag是一种实现跨设备链路聚合的机制,通过将一台设备(例如主机)与另外两台设备(例如网络设备)进行跨设备链路聚合,把链路的可靠性从单板级提高到设备级。属于同一mlag的两台设备是同一设备的双归接入设备,该两台设备共用相同的虚拟互联网协议(internet protocol,ip)地址,该两台设备之间建立对等链接(peer link),该两台设备之间通过peer link通信,peer link两端直连的接口称为peer link接口,该两台设备用于对接入该两台设备的该一台设备进行负载分担。以将主机1与leaf1设备和leaf2设备进行跨设备链路聚合为例。主机1双归接入至leaf1设备和leaf2设备,leaf1设备和leaf2设备组成mlag,leaf1设备和leaf2设备共用相同的虚拟ip地址,leaf1设备和leaf2设备之间建立peer link。leaf1设备和leaf2设备用于对主机1进行负载分担。
70.以上是关于mlag的介绍,下面介绍本申请实施例的应用场景。
71.本申请实施例的应用场景可以是由至少两个dc互联构成的数据中心互联(data center interconnection,dci)网络。其中,该至少两个dc用于承载同一业务。该至少两个dc中的每个dc中包括多个网络设备,该多个dc中的网络设备可以进行业务互访。当该多个dc中的一个dc故障时,可以通过其他dc保证业务的正常运行。作为一种示例,该至少两个dc包括生产中心和容灾中心,容灾中心包括同城容灾中心和/或异地容灾中心。
72.示例地,请参考图1,其示出了本申请实施例提供的一种dci网络的示意图。图1以dci网络包括dc1和dc2为例说明。如图1所示,dc1和dc2通过因特网/专网互联,dc1和dc2用于承载同一业务。dc1中包括网络设备101和网络设备102,dc2中包括网络设备201和网络设备202,当dc1故障时,可以通过dc2保证业务的正常运行。
73.其中,网络设备(例如网络设备101、网络设备102、网络设备201和网络设备202)可以是交换机、路由器(access router,ar)等设备。网络设备101、网络设备102、网络设备201和网络设备202可以是相同的设备,例如,网络设备101、网络设备102、网络设备201和网络设备202均是交换机;或者,网络设备101、网络设备102、网络设备201和网络设备202可以是不同的设备,例如,网络设备101、网络设备102、网络设备201和网络设备202中的一部分设备是ar,另一部分设备为交换机,本申请实施例对此不做限定。
74.在具体的实施方式中,dc1的组网和dc2的组网均为mlag组网。网络设备101和网络设备102组成一个mlag(例如mlag1),网络设备101和网络设备102共用相同的虚拟ip地址,网络设备101和网络设备102之间建立有peer link。网络设备201和网络设备202组成一个mlag(例如mlag2),网络设备201和网络设备202共用相同的虚拟ip地址,网络设备201和网络设备202之间建立有peer link。作为一种示例,网络设备101、网络设备102、网络设备201和网络设备202均是leaf设备。
75.在具体的实施方式中,dci网络中还包括控制设备(图1中未示出),控制设备用于对dci网络中的网络设备进行控制。其中,dci网络中的控制设备包括dc控制设备和/或网络控制设备。dc控制设备位于dc中,用于对dc中的网络设备进行控制,dc控制设备又称为域(domain)内控制设备。网络控制设备位于dc外,用于对dc进行控制,具体可以是对dc控制设
备进行控制。其中,网络控制设备可以通过dc控制设备对dc中的网络设备进行控制。作为一种示例,dc控制设备是软件定义网络(software defined network,sdn)控制器,网络控制设备是多域控制器(multi
‑
domain controller,mdc)。
76.需要指出的是,图1所示的dci网络仅用于举例,并非用于限制本申请实施例的技术方案,在具体实现过程中,dci网络还可能包括其他设备,dci网络中所包括的dc的数量可以大于2,dc中的网络设备的数量可以大于2,本申请实施例对此不做限定。
77.以上是对本申请应用场景的介绍,下面结合前述应用场景介绍本申请的方法实施例。
78.请参考图2,其示出了本申请实施例提供的一种用于dc互联的安全通信方法的流程图。该安全通信方法应用于包括第一dc和第二dc的dci网络中,本申请实施例以该安全通信方法用于第一dc中的第一设备与第二dc中的第二设备通信为例进行说明。在具体的实施方式中,第一dc中的第一设备与第一dc中的第三设备组成mlag,第二dc中的第二设备与第二dc中的第四设备组成mlag。示例地,在图2所示实施例中,第一dc是图1中的dc1,第二dc是图1中的dc2,第一设备是图1中的网络设备101,第三设备是图1中的网络设备102,第二设备是图1中的网络设备201,第四设备是图1中的网络设备202。参见图2,该安全通信方法包括:
79.s201.第二dc中的第二设备向第一dc中的第一设备发送第一报文,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种。
80.第二dc中的第二设备和第一dc中的第一设备通过传输报文进行通信,为了对第一设备进行重放保护,第二设备向第一设备发送的报文中携带攻击验证信息,同理,为了对第二设备进行重放保护,第一设备向第二设备发送的报文中也携带攻击验证信息。也即是,第二设备和第一设备通信的过程中,通过在报文中携带攻击验证信息对对方进行重放保护。
81.第一报文是第二设备向第一设备发送的任一报文,第一报文携带攻击验证信息,第一报文中的攻击验证信息用于第一设备对第一报文进行重放攻击验证,也即是第一报文中的攻击验证信息用于第一设备验证第一报文是否为对第一设备实施重放攻击的报文。
82.在本申请实施例中,第一报文中的攻击验证信息包括第一时间戳(timestamp)和第一随机数(random)中的至少一种,则第一报文中的攻击验证信息包括以下三种情况:
83.第一种情况:第一报文中的攻击验证信息包括第一时间戳。
84.在具体的实施方式中,第一时间戳是第二设备向第一设备发送第一报文的时间戳。
85.例如,第一时间戳是第一报文从第二设备的出接口发出时的时间戳,第一时间戳可以是第二设备的出接口的芯片添加在第一报文中的。
86.再例如,第一时间戳是第二设备中的处理器添加在第一报文中的,第二设备中的处理器在第一报文中添加第一时间戳之后,通过第二设备的出接口向第一设备发送第一报文。
87.第二种情况:第一报文中的攻击验证信息包括第一随机数。
88.在本申请实施例中,第一报文中的攻击验证信息所包括的第一随机数是第二设备在第一随机数列表(例如随机数列表a)中确定的,或者是第二设备生成的。因此第一报文中的攻击验证信息所包括的第一随机数可以包括两种可能的实现方式。下面在s201的第二种情况中分两种可能的实现方式对第一报文中的攻击验证信息所包括的第一随机数进行说
明。
89.实现方式一):第一报文中的攻击验证信息所包括的第一随机数是第二设备在第一随机数列表(例如随机数列表a)中确定的。第一报文中的攻击验证信息所包括的第一随机数包括在第一随机数列表(例如随机数列表a)中。
90.第二设备向第一设备发送第一报文之前,在第一随机数列表(例如随机数列表a)中确定第一随机数,并将从第一随机数列表(例如随机数列表a)中确定的第一随机数添加在第一报文中,使得第一报文中携带第一随机数。其中,第一随机数列表(例如随机数列表a)中包括至少一个随机数,第一随机数列表(例如随机数列表a)中的随机数可以按顺序排布,第二设备可以按顺序从第一随机数列表(例如随机数列表a)中确定第一随机数,或者,第二设备随机从第一随机数列表(例如随机数列表a)中确定第一随机数,本申请实施例对此不作限定。
91.在具体的实施方式中,第二设备维护有至少一个随机数列表,每个随机数列表与一个dc(第二dc或与第二dc互联的dc)对应,每个随机数列表对应一个列表指示信息,列表指示信息用于指示相应的随机数列表。第二设备根据第一随机数列表(例如随机数列表a)的列表指示信息,在第二设备维护的至少一个随机数列表中确定第一随机数列表(例如随机数列表a),然后在第一随机数列表(例如随机数列表a)中确定第一随机数。示例地,列表指示信息是随机数列表的标识(例如列表名称)或者随机数列表对应的dc的指示信息,dc的指示信息可以是dc标识、dc序号等。第一随机数列表(例如随机数列表a)与第一dc对应,第一随机数列表(例如随机数列表a)的指示信息是第一dc的指示信息,第二设备根据第一设备处于第一dc确定第一dc的指示信息,根据第一dc的指示信息在第二设备维护的至少一个随机数列表中确定第一随机数列表(例如随机数列表a)。
92.需要说明的是,本申请实施例以第二设备维护的每个随机数列表与一个dc对应为例说明,实际应用中,第二设备可以维护一个随机数列表(例如第一随机数列表a),该一个随机数列表(例如第一随机数列表a)与第二dc以及与第二dc互联的所有dc均对应,在这种情况下,第二设备直接从第二设备维护的该一个随机数列表(例如第一随机数列表a)中确定第一随机数,而无需执行根据第一随机数列表(例如随机数列表a)的列表指示信息确定第一随机数列表(例如随机数列表a)的过程,且第一报文中携带的攻击验证信息可以不包括第一随机数列表(例如随机数列表a)的列表指示信息,本申请实施例对此不作限定。
93.在本申请实施例中,第一随机数列表(例如随机数列表a)中的每个随机数对应一个老化时长,不同随机数对应的老化时长相等或不相等,第二设备首次使用第一随机数列表(例如随机数列表a)中的第一随机数时(例如第二设备首次在发往第一设备的报文中添加第一随机数时),对第一随机数列表(例如随机数列表a)中的第一随机数进行计时,在对第一随机数列表(例如随机数列表a)中的第一随机数的计时时长达到第一随机数对应的老化时长时,第二设备将第一随机数列表(例如随机数列表a)中的第一随机数设置为老化随机数(例如将第一随机数列表a中的第一随机数设置为无效随机数),后续第二设备发送的报文不再携带第一随机数列表(例如随机数列表a)中的第一随机数,并且第二设备在接收到携带第一随机数的报文时,确定该报文中携带的第一随机数无效,该报文为重放攻击报文。
94.需要说明的是,本申请实施例以第一随机数列表(例如随机数列表a)中的第一随
机数为例说明随机数对应的老化时长,实际应用中,第二设备维护的每个随机数列表中的每个随机数均可以对应有老化时长,各个随机数对应的老化时长的相关描述可以参考第一随机数对应的老化时长的相关描述,本申请实施例在此不再赘述。本申请实施例通过针对随机数设置老化时长,有助于提高通信的安全性,提高防重放攻击的效果。
95.在该实现方式一)中,第二设备维护的第一随机数列表(随机数列表a)是第二设备从dci网络中的控制设备获取的,第二设备向第一设备发送第一报文之前,第二设备从控制设备获取第一随机数列表(例如随机数列表a)。其中,第二设备从控制设备获取第一随机数列表(例如随机数列表a)可以包括:第二设备主动从控制设备获取第一随机数列表(例如随机数列表a),或者,第二设备接收控制设备推送的第一随机数列表(例如随机数列表a)。第二设备获取第一随机数列表(例如随机数列表a)之后,可以存储第一随机数列表(例如随机数列表a)。示例地,第二设备从控制设备获取第一随机数列表(例如随机数列表a)和第一随机数列表(例如随机数列表a)的列表指示信息,并存储第一随机数列表(例如随机数列表a)和第一随机数列表(例如随机数列表a)的列表指示信息。
96.其中,此处所述的控制设备是网络控制设备(例如mdc)或者第二dc中的dc控制设备(例如sdn控制器)。作为一种示例,第一随机数列表(例如随机数列表a)是mdc生成的,mdc生成第一随机数列表(例如随机数列表a)之后,通过restful接口将第一随机数列表(例如随机数列表a)发送给第二dc中的sdn控制器,第二dc中的sdn控制器将第一随机数列表(例如随机数列表a)透传给第二设备,使得第二设备能够获取到第一随机数列表(例如随机数列表a)。第二dc中的sdn控制器可以将第一随机数列表(例如随机数列表a)透传给第二dc中的所有网络设备或部分网络设备,本申请实施例对此不作限定。在具体的实施方式中,为了保证安全性,控制设备可以周期性或非周期性对第一随机数列表进行更新,并将更新后的第一随机数列表下发给各个dc中的设备。
97.基于该实现方式一),第一报文中的攻击验证信息还包括第一随机数列表(例如随机数列表a)的列表指示信息,以便于第一设备根据第一报文中的攻击验证信息所包括的第一随机数列表(例如随机数列表a)的列表指示信息确定第一随机数列表(例如随机数列表a),根据第一随机数列表(例如随机数列表a)和第一报文中的攻击验证信息所包括的第一随机数对第一报文进行重放攻击验证。
98.实现方式二):第一报文中的攻击验证信息所包括的第一随机数是第二设备生成的。
99.第二设备向第一设备发送第一报文之前,可以生成第一随机数,并将生成的第一随机数添加在第一报文中,使得第一报文中携带第一随机数。
100.第三种情况:第一报文中的攻击验证信息包括第一时间戳和第一随机数。
101.在该第三种情况中,第一时间戳的相关描述可以参考第一种情况,第一随机数是第二设备在第一随机数列表(例如随机数列表a)中确定的或者是第二设备生成的,第一随机数的相关描述可以参考第二种情况,本申请实施例在此不再赘述。
102.以上是关于攻击验证信息的内容的介绍,下面介绍攻击验证信息在第一报文中的位置。
103.在本申请实施例中,第一报文包括安全头,攻击验证信息位于第一报文的安全头中。该安全头为业务安全(servicesec)头或macsec头。示例地,第一报文是二层通信报文,
第一报文中的安全头是macsec头;或者,第一报文是三层通信报文,第一报文中的安全头是业务安全头。第一报文还可以包括用户数据报协议(user datagram protocol,udp)头,如果第一报文中的安全头为业务安全头,udp头中的目的端口号可以用于指示该业务安全头。
104.示例地,请参考图3,其示出了本申请实施例提供的一种第一报文的示意图。图3以第一报文中的安全头为业务安全头为例说明,第一报文中还包括udp头,udp头中包括目的端口号(图3中未示出udp头的具体内容),udp头中的目的端口号用于指示该业务安全头。第一报文中还包括加密内容、ip头、mac头、完整性校验值(integrity check value,icv)和循环冗余校验码(cyclic redundancy check,crc),加密内容中包括虚拟可扩展局域网(virtual extensible local area network,vxlan)头和负载,业务安全头位于vxlan头与udp头之间。本申请实施例主要介绍业务安全头的内容。如图3所示,第一报文的业务安全头中包括时间戳字段和随机数字段,攻击验证信息中所包括的第一时间戳位于时间戳字段中,攻击验证信息中所包括的第一随机数位于随机数字段中。业务安全头中还包括指示字段,在攻击验证信息包括第一随机数列表(例如随机数列表a)的列表指示信息的情况下,第一随机数列表(例如随机数列表a)的列表指示信息位于指示字段中。示例地,指示字段是场所(site)字段,第一随机数列表(例如随机数列表a)的列表指示信息是第一dc的序号。如图3所示,指示字段占位3个比特,指示字段支持高达8个dc互联场景下的安全通信;时间戳字段占位13个比特,时间戳字段能够支持毫秒级的时间戳误差;随机数字段占位32个比特,随机数字段能够支持长度较大的随机数。业务安全头中还包括标签控制信息(tag control information,tci)字段、协会编号(association number,an)字段、短长(short length,sl)字段、安全通道标识符(secure channel identifier,sci)字段以及2个比特的空闲字段(图3业务安全头中的两个数据0所在的字段)。
105.示例地,请参考图4,其示出了本申请实施例提供的另一种第一报文的示意图。图4以第一报文中的安全头为macsec头为例说明。第一报文中还包括加密内容、mac头、icv和crc,加密内容中包括ip头、udp头、vxlan头和负载,macsec头位于mac头与ip头之间。本申请实施例主要介绍macsec头的内容。如图4所示,第一报文的macsec头中包括时间戳字段和随机数字段,攻击验证信息中所包括的第一时间戳位于时间戳字段中,攻击验证信息中所包括的第一随机数位于随机数字段中。macsec头中还包括指示字段,在攻击验证信息包括第一随机数列表(例如随机数列表a)的列表指示信息的情况下,第一随机数列表(例如随机数列表a)的列表指示信息位于指示字段中。示例地,指示字段是site字段,第一随机数列表(例如随机数列表a)的列表指示信息是第一dc的序号。如图4所示,指示字段占位3个比特,指示字段支持高达8个dc互联场景下的安全通信;时间戳字段占位13个比特,时间戳字段能够支持毫秒级的时间戳误差;随机数字段占位16个比特。macsec头中还包括macsec类型字段、tci字段、an字段、sl字段、sci字段以及2个比特的空闲字段(图4所示的macsec头中的两个数据0所在的字段),其中,macsec类型字段中的值用于指示该macsec类型字段所在的报文头为macsec头。
106.本申请实施例提供的业务安全头和macsec头均是在目前macsec头的基础上进行改进得到的,为了便于理解本申请的业务安全头和macsec头,这里结合macsec报文结构对目前的macsec头进行介绍。示例地,请参考图5,其示出了本申请实施例提供的涉及的一种macsec报文的示意图。如图5所示,macsec报文中包括加密内容、mac头、macsec头、icv和
crc,加密内容中包括ip头、udp头、vxlan头和负载,macsec头位于mac头与ip头之间。macsec头中包括macsec类型字段、tci字段、an字段、sl字段、sci字段、pn字段以及2个比特的空闲字段,macsec类型字段中的值用于指示该macsec类型字段所在的报文头为macsec头,pn字段用于目前mac技术在报文中携带pn。
107.对比图4和图5可知,本申请实施例中,将目前的macsec头中的pn字段划分为用于携带列表指示信息的指示字段,用于携带时间戳的时间戳字段,以及用于携带随机数的随机数字段,使得本申请实施例可以基于时间戳和/或随机数来进行防重放攻击。对比图3和图5可知,本申请实施例中,将目前的macsec头从mac头与ip头之间调整至udp头与vxlan头之间,将macsec头中的macsec类型字段划分为用于携带列表指示信息的指示字段和用于携带时间戳的时间戳字段,并将macsec头中的pn字段调整为用于携带随机数的随机数字段,使得本申请实施例可以基于时间戳和/或随机数来进行防重放攻击。需要说明的是,将macsec头从mac头与ip头之间调整至udp头与vxlan头之间之后,可以无需使用macsec类型字段来指示该macsec头,而采用udp头中的目的端口号来指示该macsec头,这样就可以对macsec类型字段进行改进,从而将macsec类型字段划分为用于携带列表指示信息的指示字段和用于携带时间戳的时间戳字段(例如图3所示)。
108.需要说明的是,图3在介绍第一报文的业务安全头时,图4在介绍第一报文的macsec头时,均以第一报文中的攻击验证信息包括第一时间戳、第一随机数和第一随机数列表(例如随机数列表a)的列表指示信息为例说明。如前所述,第一报文中的攻击验证信息可以仅包括第一时间戳或第一随机数。对于这种情况,如果第一报文中的攻击验证信息仅包括第一时间戳,可以将第一报文中的随机数字段和指示字段中的值设置为空值,或者无需在第一报文中设置随机数字段和指示字段;如果第一报文中的攻击验证信息仅包括第一随机数,可以将第一报文中的时间戳字段和指示字段中的值设置为空值,或者无需在第一报文中设置时间戳字段和指示字段。在具体的实施方式中,如果第一报文中的第一随机数是第二设备生成的,第一报文中的攻击验证信息可以不包括第一随机数列表(例如随机数列表a)的列表指示信息,则无需在第一报文中设置用于携带第一随机数列表(例如随机数列表a)的列表指示信息的指示字段。此外,图3至图5所示的第一报文中,指示字段所占的比特位数,时间戳字段所占的比特位数,以及随机数字段所占的比特位数均可以根据需要调整,在图3至图5所示的第一报文中,负载又称为封装包(encap packet),icv用于第一报文的完整性校验,crc用于第一报文的查错校验,ip头中包括报文的源ip地址、目的ip地址等ip信息,mac头中包括第一报文的源mac地址、目的mac地址等mac信息,vxlan头中包括第一报文的vxlan信息,关于tci字段、an字段、sl字段和sci字段的具体用途可以参考macsec技术中的macsec头,本申请实施例在此不再赘述。
109.s202.第一dc中的第一设备接收第二dc中的第二设备发送的第一报文。
110.对应于第二dc中的第二设备向第一dc中的第一设备发送第一报文,第一dc中的第一设备接收第二dc中的第二设备发送的第一报文。根据s201可知,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种。
111.s203.第一dc中的第一设备根据第一报文携带的攻击验证信息对第一报文进行重放攻击验证。
112.第一设备接收到第一报文之后,根据第一报文携带的攻击验证信息对第一报文进
行重放攻击验证。也即是,第一设备根据第一报文携带的攻击验证信息,验证第一报文是否为对第一设备实施重放攻击的报文,或者说第一设备验证第一报文是否为重放攻击报文。示例地,第一设备可以先从第一报文中提取攻击验证信息,然后根据攻击验证信息对第一报文进行重放攻击验证。例如,第一设备从第一报文的安全头中提取攻击验证信息。
113.在具体的实施方式中,第一设备根据第一报文携带的攻击验证信息是否满足第一条件,来对第一报文进行重放攻击验证。当第一报文携带的攻击验证信息满足第一条件时,第一设备确定第一报文通过重放攻击验证,从而第一设备确定第一报文不是对第一设备实施重放攻击的报文(也即是第一报文不是重放攻击报文)。当第一报文携带的攻击验证信息不满足第一条件时,第一设备确定第一报文未通过重放攻击验证,从而第一设备确定第一报文是对第一设备实施重放攻击的报文(也即是第一报文是重放攻击报文)。
114.在本申请实施例中,第一报文中的攻击验证信息包括如s201中所述的三种情况,相应地,s203中的第一条件,以及,第一设备根据第一报文携带的攻击验证信息是否满足第一条件,来对第一报文进行重放攻击验证包括以下三种情况:
115.第一种情况:第一报文中的攻击验证信息包括第一时间戳,第一条件包括第二时间戳与第一时间戳之间的时间差小于或者等于第一阈值。第一设备根据第二时间戳与第一时间戳之间的时间差是否小于或等于第一阈值,对第一报文进行重放攻击验证。
116.在具体的实施方式中,第一时间戳是第二设备向第一设备发送第一报文的时间戳,第二时间戳是第一设备接收到第一报文的时间戳,第一设备和第二设备时钟同步。第一设备可以确定第二时间戳与第一时间戳的时间差,并判断第二时间戳与第一时间戳的时间差是否小于或等于第一阈值。如果第二时间戳与第一时间戳的时间差小于或等于第一阈值,第一设备确定第一报文携带的攻击验证信息满足第一条件,从而确定第一报文通过重放攻击验证。如果第二时间戳与第一时间戳的时间差大于第一阈值,第一设备确定第一报文携带的攻击验证信息不满足第一条件,从而确定第一报文未通过重放攻击验证。
117.其中,第一阈值根据两个设备之间传输报文的时长确定,例如第一阈值根据第一设备和第二设备之间传输报文的平均时长确定,本申请实施例对此不作限定。
118.第二种情况:第一报文中的攻击验证信息包括第一随机数,第一条件包括攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)满足匹配规则。第一设备根据第一报文中的攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)是否满足匹配规则,对第一报文进行重放攻击验证。
119.根据s201的描述可知,第一报文中的攻击验证信息所包括的第一随机数是第二设备在第一随机数列表(例如随机数列表a)中确定的,或者是第二设备生成的。根据第一报文中的攻击验证信息所包括的第一随机数的来源的不同,攻击验证信息所包括的第一随机数与第一随机数列表满足的匹配规则不同。下面在s203的第二种情况中,分两种可能的实现方式对攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)满足的匹配规则,以及第一设备根据攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)是否满足匹配规则,对第一报文进行重放攻击验证的过程进行介绍。其中,随机数列表a是前述s201中所述的第一随机数列表,随机数列表b可以是第一设备根据接收到的报文中携带的随机数构建的。
120.实现方式一):匹配规则包括攻击验证信息所包括的第一随机数处于第一随机数
列表(例如随机数列表a)中。第一设备根据攻击验证信息所包括的第一随机数是否处于第一随机数列表(例如随机数列表a)中,对第一报文进行重放攻击验证。
121.第一设备可以确定第一随机数列表(例如随机数列表a),将攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a)中的随机数进行比较,以确定攻击验证信息所包括的第一随机数是否处于第一随机数列表(例如随机数列表a)中。如果攻击验证信息所包括的第一随机数处于第一随机数列表(例如随机数列表a)中,第一设备确定第一报文携带的攻击验证信息满足第一条件,从而第一设备确定第一报文通过重放攻击验证。如果攻击验证信息所包括的第一随机数未处于第一随机数列表(例如随机数列表a)中,第一设备确定第一报文携带的攻击验证信息不满足第一条件,从而第一设备确定第一报文未通过重放攻击验证。
122.在具体的实施方式中,第一设备维护有至少一个随机数列表,每个随机数列表与一个dc(第一dc或与第一dc互联的dc)对应,每个随机数列表对应一个列表指示信息,列表指示信息用于指示相应的随机数列表。第一报文携带的攻击验证信息还包括第一随机数列表(例如随机数列表a)的列表指示信息,第一设备根据第一随机数列表(例如随机数列表a)的列表指示信息,在第一设备维护的至少一个随机数列表中确定第一随机数列表(例如随机数列表a),然后确定攻击验证信息所包括的第一随机数是否处于第一随机数列表(例如随机数列表a)中。示例地,随机数列表的列表指示信息是随机数列表的标识(例如列表名称)或者随机数列表对应的dc的指示信息,dc的指示信息可以是dc标识、dc序号等。第一随机数列表(例如随机数列表a)与第一dc对应,第一随机数列表(例如随机数列表a)的指示信息是第一dc的指示信息,第一设备根据根据第一dc的指示信息在第一设备维护的至少一个随机数列表中确定第一随机数列表(例如随机数列表a)。
123.需要说明的是,本申请实施例以第一设备维护的每个随机数列表与一个dc对应为例说明,实际应用中,第一设备可以维护一个随机数列表(例如第一随机数列表a),该一个随机数列表(例如第一随机数列表a)与第一dc以及与第一dc互联的所有dc均对应,在这种情况下,第一设备直接确定攻击验证信息所包括的第一随机数是否处于第一随机数列表(例如随机数列表a)中,而无需执行根据第一随机数列表(例如随机数列表a)的列表指示信息确定第一随机数列表的过程,且第一报文中携带的攻击验证信息可以不包括第一随机数列表(例如随机数列表a)的列表指示信息,本申请实施例对此不作限定。
124.在本申请实施例中,第一随机数列表(例如随机数列表a)中的每个随机数对应一个老化时长,不同随机数对应的老化时长相等或不相等,第一设备首次使用第一随机数列表(例如随机数列表a)中的第一随机数时(例如第一设备首次确定第一随机数处于第一随机数列表时),对第一随机数列表(例如随机数列表a)中的第一随机数进行计时,在对第一随机数列表(例如随机数列表a)中的第一随机数的计时时长达到第一随机数对应的老化时长时,第一设备将第一随机数列表(例如随机数列表a)中的第一随机数设置为老化随机数(例如将第一随机数列表a中的第一随机数设置为无效随机数),后续第一设备在接收到携带第一随机数的报文时,确定该报文中携带的第一随机数无效,并且确定该报文为重放攻击报文,以及第一设备发送报文时不再使用第一随机数列表(例如随机数列表a)中的第一随机数。
125.需要说明的是,本申请实施例以第一随机数列表(例如随机数列表a)中的第一随
机数为例说明随机数对应的老化时长,实际应用中,第一设备维护的每个随机数列表中的每个随机数均可以对应有老化时长,各个随机数对应的老化时长的相关描述可以参考第一随机数对应的老化时长的相关描述,本申请实施例在此不再赘述。本申请实施例通过针对随机数设置老化时长,有助于提高通信的安全性,提高防重放攻击的效果。
126.在该实现方式一)中,第一设备维护的第一随机数列表(随机数列表a)是第一设备从dci网络中的控制设备获取的,第一设备根据第一报文中携带的攻击验证信息对第一报文进行重放攻击验证之前,第一设备从控制设备获取第一随机数列表(例如随机数列表a)。其中,第一设备从控制设备获取第一随机数列表(例如随机数列表a)可以包括:第一设备主动从控制设备获取第一随机数列表(例如随机数列表a),或者,第一设备接收控制设备推送的第一随机数列表(例如随机数列表a)。第一设备获取第一随机数列表(例如随机数列表a)之后,可以存储第一随机数列表(例如随机数列表a)。示例地,第一设备从控制设备获取第一随机数列表(例如随机数列表a)和第一随机数列表(例如随机数列表a)的列表指示信息,并存储第一随机数列表(例如随机数列表a)和第一随机数列表(例如随机数列表a)的列表指示信息。
127.其中,此处所述的控制设备是网络控制设备(例如mdc)或者第一dc中的dc控制设备(例如sdn控制器)。作为一种示例,第一随机数列表(例如随机数列表a)是mdc生成的,mdc生成第一随机数列表(例如随机数列表a)之后,通过restful接口将第一随机数列表(例如随机数列表a)发送给第一dc中的sdn控制器,第一dc中的sdn控制器将第一随机数列表(例如随机数列表a)透传给第一设备,使得第一设备能够获取到第一随机数列表(例如随机数列表a)。第一dc中的sdn控制器可以将第一随机数列表(例如随机数列表a)透传给第一dc中的所有网络设备或部分网络设备,本申请实施例对此不作限定。在具体的实施方式中,为了保证安全性,控制设备可以周期性或非周期性对第一随机数列表进行更新,并将更新后的第一随机数列表下发给各个dc中的设备。
128.实现方式二):匹配规则包括攻击验证信息所包括的第一随机数未处于第一随机数列表(例如随机数列表b)中。第一设备根据攻击验证信息所包括的第一随机数是否处于第一随机数列表(例如随机数列表b)中,对第一报文进行重放攻击验证。
129.第一设备可以确定第一随机数列表(例如随机数列表b),将攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表b)中的随机数进行比较,以确定攻击验证信息所包括的第一随机数是否处于第一随机数列表(例如随机数列表b)中。如果攻击验证信息所包括的第一随机数未处于第一随机数列表(例如随机数列表b)中,第一设备确定第一报文携带的攻击验证信息满足第一条件,从而确定第一报文通过重放攻击验证。如果攻击验证信息所包括的第一随机数处于第一随机数列表(例如随机数列表b)中,第一设备确定第一报文携带的攻击验证信息不满足第一条件,从而确定第一报文未通过重放攻击验证。
130.在具体的实施方式中,第一设备对第一报文进行重放攻击验证之后,如果第一报文通过重放攻击验证,第一设备确定第一报文不是重放攻击报文,第一设备将第一随机数记录至第一随机数列表(例如随机数列表b)中,以便于第一设备后续接收到携带第一随机数的报文时,确定该报文是重放攻击报文。在本申请实施例中,第一随机数列表(例如随机数列表b)是第一设备根据接收到的报文中携带的随机数构建的,第一设备在首次接收到携
带随机数的报文时,构建第一随机数列表(例如随机数列表b),并将该报文携带的随机数记录至第一随机数列表(例如随机数列表b)中,后续第一设备每接收到一个携带随机数的报文,如果该报文中的随机数未处于第一随机数列表(例如随机数列表b)中,第一设备将该报文中携带的随机数记录至第一随机数列表(例如随机数列表b)中。
131.第三种情况:第一报文中的攻击验证信息包括第一时间戳和第一随机数,第一条件包括第一时间戳与第二时间戳之间的时间差小于或者等于第一阈值,且第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)满足匹配规则。第一设备根据第二时间戳与第一时间戳之间的时间差是否小于或等于第一阈值,以及第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)对否满足匹配规则,对第一报文进行重放攻击验证。
132.在具体的实施方式中,第一设备判断第二时间戳与第一时间戳的时间差是否小于或等于第一阈值。如果第二时间戳与第一时间戳的时间差小于或等于第一阈值,第一设备判断攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)是否满足匹配规则。如果攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)满足匹配规则,第一设备确定第一报文携带的攻击验证信息满足第一条件,从而第一设备确定第一报文通过重放攻击验证。如果第二时间戳与第一时间戳的时间差大于第一阈值,或者,第二时间戳与第一时间戳的时间差小于或等于第一阈值,但是攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)不满足匹配规则,第一设备确定第一报文携带的攻击验证信息不满足第一条件,从而第一设备确定第一报文未通过重放攻击验证。其中,第一设备判断攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)是否满足匹配规则的实现过程可以参考s203中的第二种情况中的两种实现方式,本申请实施例在此不再赘述。
133.需要说明的是,本申请实施例以第一设备首先判断第二时间戳与第一时间戳的时间差是否小于或等于第一阈值,然后判断攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)是否满足匹配规则为例说明,实际应用中,第一设备可以首先判断攻击验证信息所包括的第一随机数与第一随机数列表(例如随机数列表a或随机数列表b)是否满足匹配规则,然后判断第二时间戳与第一时间戳的时间差是否小于或等于第一阈值,本申请实施例不对攻击验证信息是否满足第一条件的判断顺序进行限定。
134.在具体的实施方式中,如果第一设备确定第一报文通过重放攻击验证,则第一设备确定第一报文不是对第一设备实施重放攻击的报文,第一设备可以对第一报文进行处理,例如第一设备解密第一报文中的加密内容。如果第一设备确定第一报文未通过重放攻击验证,则第一设备确定第一报文是对第一设备实施重放攻击的报文,第一设备丢弃第一报文,如此可以避免第一设备处理重放攻击报文对第一设备的性能损耗。
135.本申请实施例中,为了保证数据安全性,第一报文中的加密内容采用非对称密钥(asymmetric key)加密。非对称密钥包括非对称的加密密钥和解密密钥(也即是加密密钥和解密密钥不同),第一报文中的加密内容可以是第二设备采用与第一设备通信的非对称密钥中的加密密钥对明文内容加密得到的,第一设备可以确定与第二设备通信的非对称密钥中的解密密钥,采用该解密密钥解密第一报文中的加密内容。
136.在第一设备确定与第二设备通信的解密密钥之前,第一设备和第二设备可以进行
非对称密钥的同步,下面对第一设备和第二设备同步非对称密钥的过程进行介绍。
137.第一设备和第二设备根据密钥服务器优先级(key server priority),在第一设备和第二设备中确定密钥服务器(也即是确定第一设备和第二设备中的哪个设备的角色为密钥服务器),以第一设备的角色为密钥服务器为例。dci网络中的mdc向第一dc中的sdn控制器(例如sdn控制器1)和第二dc中的sdn控制器分别下发安全连接关联密钥(secure connectivity association key,cak)和安全连接关联密钥名称(secure connectivity association key name,ckn)等安全密钥参数。sdn控制器1从mdc接收到的安全密钥参数之后,将安全密钥参数透传给第一设备。sdn控制器2从mdc接收到的安全密钥参数之后,将安全密钥参数透传给第二设备。第一设备和第二设备分别根据接收到的安全密钥参数生成icv密钥(icv key,ick)和密钥加密密钥(key encrypting key,kek),第一设备和第二设备生成的ick相同,且第一设备和第二设备生成的kek相同。其中,kek为对称密钥(symmetric key),对称密钥包括对称的加密密钥和解密密钥(也即是加密密钥和解密密钥相同)。作为密钥服务器的第一设备还根据安全密钥参数生成安全关联密钥(secure association key,sak),sak即为非对称密钥。第一设备生成sak之后,根据kek对sak和ick进行加密得到加密后的密钥,加密后的密钥中包括sak和ick。第一设备将加密后的密钥发送给第二设备,第二设备采用第二设备生成的kek对加密后的密钥进行解密得到明文的sak和ick。第二设备根据第二设备生成的ick和解密得到的ick对解密得到的sak进行完整性校验,校验成功之后,第二设备存储sak,至此第一设备和第二设备完成sak(也即是非对称密钥)的同步。
138.本申请实施例以第一报文不是重放攻击报文时,第一设备对第一报文中的加密内容进行解密为例说明,第一设备对第一报文中的加密内容进行解密之后,可以应用解密内容。例如第一设备是网络设备,第一设备对第一报文中的加密内容进行解密之后,向主机发送解密内容,本申请实施例对此不作限定。
139.综上所述,本申请实施例提供的用于dc互联的安全通信方法,第二dc中的第二设备向第一dc中的第一设备发送的第一报文中携带攻击验证信息,该攻击验证信息包括第一时间戳和第一随机数中的至少一种,第一设备接收到第一报文之后,根据第一报文中携带的攻击验证信息对第一报文进行重放攻击验证,如果第一报文通过重放攻击验证,第一设备对第一报文进行处理,如果第一报文未通过重放攻击验证,第一设备丢弃第一报文,从而实现对第一设备的重放保护,避免第一设备处理重放攻击报文对第一设备的性能消耗。本申请实施例通过在不同dc中的设备交互的报文中携带时间戳和/或随机数的方式来对dc中的设备进行重放保护,不仅适用于点对点的通信场景,更适用于点对多点以及多点对点的通信场景,有助于扩展该安全通信方法的应用场景广泛,提高该安全通信方法的灵活性。本申请实施例提供的安全通信方法可以应用于dc之间跨因特网/专网的通信场景,有助于避免因特网/专网中的不法分子向dc中的设备发送重放攻击报文而对dc中的设备带来的性能损耗。
140.下面结合附图,以一个具体示例介绍本申请实施例提供的用于dc互联的安全通信方法。
141.请参考图6,其示出了本申请实施例提供的一种用于dc互联的安全通信方法的示意图。dc2中的网络设备201向dc1中的网络设备101发送的报文1被因特网/专网中的设备301非法截获,设备301通过向网络设备101发送报文1对网络设备101实施重放攻击。
142.本实施例以网络设备201向网络设备101发送的报文1携带的攻击验证信息包括第一时间戳1、第一随机数1和dc1的序号为例说明。则可以存在以下几种场景:
143.场景1:设备301截获报文1之后,未对报文1进行修改,直接向网络设备101发送报文1来对网络设备101实施重放攻击。网络设备101接收到报文1之后,确定网络设备101接收到报文1的第二时间戳2。在一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳1之间的时间差大于第一阈值,从而网络设备101确定接收到的报文1是重放攻击报文。或者,在另一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳1之间的时间差小于第一阈值,网络设备101根据报文1携带的dc1的序号确定第一随机数列表a,且网络设备101确定报文1中携带的第一随机数1处于第一随机数列表a中,但是第一随机数列表a中的第一随机数1为老化随机数,网络设备101确定接收到的报文1是重放攻击报文。或者,在再一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳1之间的时间差小于第一阈值,网络设备101根据报文1携带的dc1的序号确定第一随机数列表a,且网络设备101确定报文1携带的第一随机数1处于第一随机数列表a中,第一随机数列表a中的第一随机数1不是老化随机数,网络设备101确定接收到的报文1不是重放攻击报文。但是,由于设备301会不断的向网络设备101发送报文1来对网络设备101实施重放攻击,随着时间的推移,网络设备101确定网络设备101接收到报文1的第二时间戳2与报文1携带的第一时间戳1之间的时间差大于第一阈值,网络设备101确定接收到的报文1是重放攻击报文。
144.场景2:设备301截获报文1之后,将报文1中的第一时间戳1修改为第一时间戳3,设备301向网络设备101发送修改后的报文1。网络设备101接收到报文1之后,确定网络设备101接收到报文1的第二时间戳2。在一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差大于第一阈值,从而网络设备101确定接收到的报文1是重放攻击报文。或者,在另一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差小于第一阈值,网络设备101根据报文1携带的dc1的序号确定第一随机数列表a,且网络设备101确定报文1携带的第一随机数1处于第一随机数列表a中,但是第一随机数列表a中的第一随机数1为老化随机数,网络设备101确定接收到的报文1是重放攻击报文。或者,在再一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差小于第一阈值,网络设备101根据报文1携带的dc1的序号确定第一随机数列表a,且网络设备101确定报文1携带的第一随机数1处于第一随机数列表a中,第一随机数列表a中的第一随机数1不是老化随机数,网络设备101确定接收到的报文1不是重放攻击报文。
145.场景3:设备301截获报文1之后,将报文1中的第一随机数1修改为第一随机数2,设备301向网络设备101发送修改后的报文1。网络设备101接收到报文1之后,确定网络设备101接收到报文1的第二时间戳2。在一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差大于第一阈值,从而网络设备101确定接收到的报文1是重放攻击报文。或者,在另一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差小于第一阈值,网络设备101根据报文1携带的dc1的序号确定第一随机数列表a,网络设备101确定报文1中携带的第一随机数2未处于第一随机数列表a中,网络设备101确定接收到的报文1是重放攻击报文。
146.场景4:设备301截获报文1之后,将报文1中的第一时间戳1修改为第一时间戳3,将报文1中的第一随机数1修改为第一随机数2,设备301向网络设备101发送修改后的报文1。网络设备101接收到报文1之后,确定网络设备101接收到报文1的第二时间戳2。在一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差大于第一阈值,从而网络设备101确定接收到的报文1是重放攻击报文。或者,在另一种可能的情况中,网络设备101确定第二时间戳2与报文1携带的第一时间戳3之间的时间差小于第一阈值,网络设备101根据报文1携带的dc1的序号确定第一随机数列表a,且网络设备101确定报文1携带的第一随机数2未处于第一随机数列表a中,网络设备101确定接收到的报文1是重放攻击报文。
147.以上是对本申请实施例提供的用于dc互联的安全通信方法的介绍。下面介绍本申请的装置实施例,本申请的装置可以用于执行本申请的安全通信方法。对于本申请装置实施例中未披露的细节,请参照本申请的方法实施例。
148.请参考图7,其示出了本申请实施例提供的一种用于dc互联的安全通信装置700的结构示意图,安全通信装置700应用于第一dc中的第一设备,例如安全通信装置700是第一设备或者第一设备中的功能组件。参见图7,安全通信装置700可以包括但不限于:
149.接收模块710,用于接收第二dc中的第二设备发送的第一报文,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种。接收模块710的功能实现可以参考上述s202中的相关描述。
150.验证模块720,用于根据攻击验证信息对第一报文进行重放攻击验证。验证模块720的功能实现可以参考上述s203中的相关描述。
151.在具体的实施方式中,请继续参考图7,安全通信装置700还包括:确定模块730,用于当满足第一条件时,确定第一报文通过重放攻击验证。确定模块730的功能实现可以参考上述s203中的相关描述。
152.在具体的实施方式中,攻击验证信息包括第一时间戳,第一条件包括第二时间戳与第一时间戳之间的时间差小于或者等于第一阈值。
153.在具体的实施方式中,攻击验证信息包括第一随机数,第一条件包括第一随机数与第一随机数列表满足匹配规则。
154.在具体的实施方式中,匹配规则包括第一随机数处于第一随机数列表中。
155.在具体的实施方式中,在匹配规则包括第一随机数处于第一随机数列表中的情况下,攻击验证信息还包括第一随机数列表的列表指示信息,列表指示信息用于确定第一随机数列表。
156.在具体的实施方式中,请继续参考图7,在匹配规则包括第一随机数处于第一随机数列表中的情况下,安全通信装置700还包括:获取模块740,用于从控制设备获取第一随机数列表。获取模块740的功能实现可以参考上述s203中的相关描述。
157.在具体的实施方式中,匹配规则包括第一随机数未处于第一随机数列表中。
158.在具体的实施方式中,请继续参考图7,在匹配规则包括第一随机数处于第一随机数列表中的情况下,安全通信装置700还包括:记录模块750,用于当第一报文不是重放攻击报文时,将第一随机数记录至第一随机数列表中。记录模块750的功能实现可以参考上述s203中的相关描述。
159.在具体的实施方式中,第一报文包括安全头,攻击验证信息位于安全头中。
160.在具体的实施方式中,安全头为业务安全头。
161.在具体的实施方式中,第一报文还包括udp头,udp头中的目的端口号用于指示业务安全头。
162.在具体的实施方式中,第一设备与第一dc中的第三设备组成mlag。
163.在具体的实施方式中,第二设备与第二dc中的第四设备组成mlag。
164.综上所述,本申请实施例提供的用于dc互联的安全通信装置,第二dc中的第二设备向第一dc中的第一设备发送的第一报文中携带攻击验证信息,该攻击验证信息包括第一时间戳和第一随机数中的至少一种,第一设备接收到第一报文之后,根据第一报文中携带的攻击验证信息对第一报文进行重放攻击验证。本申请实施例通过在不同dc中的设备交互的报文中携带时间戳和/或随机数的方式来对dc中的设备进行重放保护,不仅适用于点对点的通信场景,更适用于点对多点以及多点对点的通信场景,有助于扩展该安全通信方案的应用场景,提高该安全通信方法的灵活性。
165.请参考图8,其示出了本申请实施例提供的另一种用于dc互联的安全通信装置800的结构示意图,安全通信装置800应用于第二dc中的第二设备,例如安全通信装置800是第二设备或者第二设备中的功能组件。参见图8,安全通信装置800可以包括但不限于:
166.发送模块810,用于向第一dc中的第一设备发送第一报文,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种;其中,攻击验证信息用于第一设备对第一报文进行重放攻击验证。发送模块810的功能实现可以参考上述s201中的相关描述。
167.在具体的实施方式中,攻击验证信息包括第一随机数,第一随机数包括在第一随机数列表中确定的。
168.在具体的实施方式中,攻击验证信息还包括第一随机数列表的列表指示信息,列表指示信息用于确定第一随机数列表。
169.在具体的实施方式中,请继续参考图8,安全通信装置800还包括:获取模块820,用于从控制设备获取第一随机数列表。
170.在具体的实施方式中,攻击验证信息包括第一随机数,第一随机数是第二设备生成的。
171.在具体的实施方式中,第一报文包括安全头,攻击验证信息位于安全头中。
172.在具体的实施方式中,安全头为业务安全头。
173.在具体的实施方式中,第一报文还包括udp头,udp头中的目的端口号用于指示业务安全头。
174.在具体的实施方式中,第一设备与第一dc中的第三设备组成mlag。
175.在具体的实施方式中,第二设备与第二dc中的第四设备组成mlag。
176.综上所述,本申请实施例提供的用于dc互联的安全通信装置,第二dc中的第二设备向第一dc中的第一设备发送的第一报文中携带攻击验证信息,该攻击验证信息包括第一时间戳和第一随机数中的至少一种,第一设备接收到第一报文之后,根据第一报文中携带的攻击验证信息对第一报文进行重放攻击验证。本申请实施例通过在不同dc中的设备交互的报文中携带时间戳和/或随机数的方式来对dc中的设备进行重放保护,不仅适用于点对
点的通信场景,更适用于点对多点以及多点对点的通信场景,有助于扩展该安全通信方案的应用场景,提高该安全通信方法的灵活性。
177.应理解的是,本申请实施例提供的用于dc互联的安全通信装置还可以采用专用集成电路(application
‑
specific integrated circuit,asic)或可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field
‑
programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现上述方法实施例提供的用于dc互联的安全通信方法,当通过软件实现上述方法实施例提供的用于dc互联的安全通信方法时,用于dc互联的安全通信装置中的各个模块也可以为软件模块。
178.请参考图9,其示出了本申请实施例提供的一种安全通信装置900的结构示意图,安全通信装置900可以为上述实施例中的第一设备或第二设备。如图9所示,安全通信装置900包括:主控板910、接口板930和接口板940。多个接口板的情况下可以包括交换网板(图9中未示出),交换网板用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。
179.主控板910用于完成系统管理、设备维护、协议处理等功能。接口板930和接口板940用于提供各种业务接口(例如,pos接口、ge接口、atm接口等),并实现报文转发。主控板910上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板910、接口板930以及接口板940之间通过系统总线与系统背板相连实现互通。接口板930上包括一个或多个处理器931。处理器931用于对接口板930进行控制管理并与主控板910上的中央处理器912进行通信。接口板930上的存储器932用于存储随机数列表,例如,前述实施例所述的第一随机数列表。如果安全通信装置900是前述第二设备,处理器931通过在第一随机数列表中确定第一随机数并将第一随机数添加至第一报文中,使得第一报文携带第一随机数,或者处理器931通过生成第一随机数并将第一随机数添加至第一报文中,使得第一报文携带第一随机数。如果安全通信装置900是前述第一设备,处理器931通过根据接收到的第一报文中携带的第一随机数和第一随机数列表的匹配规则,对第一报文进行重放攻击验证。如图9所示,主控板910可以包括存储器914,主控板910上的存储器914也可以用于存储随机数列表,本申请实施例对此不做限定。
180.接口板930包括一个或多个网络接口933用于接收以及发送报文,处理器931根据网络接口933接收到的报文携带的攻击验证信息对报文进行重放攻击验证。具体实现过程这里不再逐一赘述。所述处理器931的具体功能这里同样不再逐一赘述。
181.可以理解,如图9所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板940上的操作与所述接口板930的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图9中的接口板930中的处理器931和/或接口板940中的处理器941可以是专用硬件或芯片,如网络处理器或者专用集成电路来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述接口板930中的处理器931和/或接口板940中的处理器941也可以采用通用的处理器,如通用的中央处理器(central processing unit,cpu)来实现以上描述的功能。
182.此外,需要指出的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板
越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该网络设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
183.具体的实施例中,存储器932可以是只读存储器(read
‑
only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read
‑
only memory,eeprom)、只读光盘(compact disc read
‑
only memory,cd
‑
rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器932可以是独立存在,通过通信总线与处理器931相连接。存储器932也可以和处理器931集成在一起。
184.存储器932用于存储程序代码,并由处理器931来控制执行,以执行上述实施例所提供的用于dc互联的安全通信方法的部分或者全部步骤。处理器931用于执行存储器932中存储的程序代码。程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为上述图7或图8实施例中提供的功能模块。存储器914也可以用于存储程序代码,并由中央处理器912来控制执行,以执行上述实施例所提供的用于dc互联的安全通信方法的部分或者全部步骤。
185.具体实施例中,网络接口933,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
186.请参考图10,其示出了本申请实施例提供的另一种安全通信装置1000的结构示意图,安全通信装置1000可以为上述任一实施例中的第一设备或第二设备。参见图10,安全通信装置1000包括处理器1002、存储器1004、通信接口1006和总线1008,处理器1002、存储器1004和通信接口1006通过总线1008彼此通信连接。其中,图10所示的处理器1002、存储器1004和通信接口1006之间的连接方式仅仅是示例性的,在实现过程中,处理器1002、存储器1004和通信接口1006也可以采用除了总线1008之外的其他连接方式彼此通信连接。
187.其中,存储器1004可以用于存储计算机程序10042,计算机程序10042可以包括指令和数据。在本申请实施例中,存储器1004可以是各种类型的存储介质,例如ram、rom、非易失性ram(non
‑
volatile ram,nvram)、可编程rom(programmable rom,prom)、可擦除prom(erasable prom,eprom)、电可擦除prom(electrically erasable prom,eeprom)、闪存、光存储器和寄存器等。并且,该存储器1004可以包括硬盘和/或内存。
188.其中,处理器1002可以是通用处理器,通用处理器可以是通过读取并执行存储器(例如存储器1004)中存储的计算机程序(例如计算机程序10042)来执行特定步骤和/或操作的处理器,通用处理器在执行上述步骤和/或操作的过程中可能用到存储在存储器(例如存储器1004)中的数据。该存储的计算机程序例如可以被执行以实现前述验证模块720、确
定模块730、获取模块740、记录模块750以及获取模块820的相关功能。通用处理器可以是,例如但不限于cpu。此外,处理器1002也可以是专用处理器,专用处理器可以是专门设计的用于执行特定步骤和/或操作的处理器,专用处理器可以是,例如但不限于,数字信号处理器(digital signal processor,dsp)、asic和fpga等。此外,处理器1002还可以是多个处理器的组合,例如多核处理器。处理器1002可以包括至少一个电路,以执行上述实施例提供用于dc互联的安全通信方法的全部或部分步骤。
189.其中,通信接口1006可以包括输入/输出(input/output,i/o)接口、物理接口和逻辑接口等用于实现安全通信装置1000内部的器件互连的接口,以及用于实现安全通信装置1000与其他设备(例如网络设备)互连的接口。物理接口可以是千兆的以太接口(gigabit ethernet,ge),其可以用于实现安全通信装置1000与其他设备互连,逻辑接口是安全通信装置1000内部的接口,其可以用于实现安全通信装置1000内部的器件互连。容易理解,通信接口1006可以用于安全通信装置1000与其他设备通信,例如,通信接口1006用于安全通信装置1000与其他设备之间报文的发送和接收,通信接口1006可以实现前述接收模块710以及发送模块810的相关功能。此外,通信接口1006还可以包括收发器以进行报文的收发,该收发器同样可以实现前述接收模块710以及发送模块810的相关功能。
190.其中,总线1008可以是任何类型的,用于实现处理器1002、存储器1004和通信接口1006互连的通信总线,例如系统总线。
191.上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。
192.图10所示的安全通信装置1000仅仅是示例性的,在实现过程中,安全通信装置1000还可以包括其他组件,本文不再一一列举。图10所示的安全通信装置1000可以通过执行上述实施例提供的用于dc互联的安全通信方法的全部或部分步骤来在dc互联场景下进行安全通信。
193.本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,当该计算机程序被处理器执行时实现如上述方法实施例提供的用于dc互联的安全通信方法的全部或部分步骤。
194.本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序或代码,当该程序或代码在计算机上运行时,使得该计算机执行如上述方法实施例提供的用于dc互联的安全通信方法的全部或部分步骤。
195.本申请实施例提供了一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述方法实施例提供的用于dc互联的安全通信方法的全部或部分步骤。
196.本申请实施例提供了一种用于dc互联的安全通信系统,该系统包括:第一dc中的第一设备和第二dc中的第二设备,第一设备包括如上述图7所示的用于dc互联的安全通信装置700,第二设备包括如上述图8所示的用于dc互联的安全通信装置900;或者,第一设备和第二设备中的至少一个为如上述图9或图10所示的网络设备。
197.在具体的实施方式中,第一设备与第一dc中的第三设备组成mlag。
198.在具体的实施方式中,第二设备与第二dc中的第四设备组成mlag。
199.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
200.应当理解的是,本申请中的“至少一个”指一个或多个,“多个”指两个或两个以上。“至少两个”指两个或两个以上,在本申请中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b。本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述,在本申请中,采用了“第一”、“第二”、“第三”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”、“第三”等字样并不对数量和执行次序进行限定。
201.本申请实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行响应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
202.在本申请提供的相应实施例中,应该理解到,所揭露的装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
203.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络设备(例如终端设备)上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
204.以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种用于数据中心dc互联的安全通信方法,其特征在于,所述方法包括:第一dc中的第一设备接收第二dc中的第二设备发送的第一报文,所述第一报文携带攻击验证信息,所述攻击验证信息包括第一时间戳和第一随机数中的至少一种;所述第一设备根据所述攻击验证信息对所述第一报文进行重放攻击验证。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当满足第一条件时,所述第一设备确定所述第一报文通过所述重放攻击验证。3.根据权利要求2所述的方法,其特征在于,所述攻击验证信息包括所述第一时间戳,所述第一条件包括第二时间戳与所述第一时间戳之间的时间差小于或者等于第一阈值。4.根据权利要求2或3所述的方法,其特征在于,所述攻击验证信息包括所述第一随机数,所述第一条件包括所述第一随机数与第一随机数列表满足匹配规则。5.根据权利要求4所述的方法,其特征在于,所述匹配规则包括所述第一随机数处于所述第一随机数列表中。6.根据权利要求4或5所述的方法,其特征在于,所述攻击验证信息还包括所述第一随机数列表的列表指示信息,所述列表指示信息用于确定所述第一随机数列表。7.根据权利要求4至6任一项所述的方法,其特征在于,所述方法还包括:所述第一设备从控制设备获取所述第一随机数列表。8.根据权利要求4所述的方法,其特征在于,所述匹配规则包括所述第一随机数未处于所述第一随机数列表中。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:当所述第一报文不是重放攻击报文时,所述第一设备将所述第一随机数记录至所述第一随机数列表中。10.根据权利要求1至9任一项所述的方法,其特征在于,所述第一报文包括安全头,所述攻击验证信息位于所述安全头中。11.根据权利要求10所述的方法,其特征在于,所述安全头为业务安全头。12.根据权利要求11所述的方法,其特征在于,所述第一报文还包括用户数据报协议udp头,所述udp头中的目的端口号用于指示所述业务安全头。13.根据权利1至12任一项所述的方法,其特征在于,所述第一设备与所述第一dc中的第三设备组成跨设备链路聚合组mlag。14.根据权利1至13任一项所述的方法,其特征在于,所述第二设备与所述第二dc中的第四设备组成mlag。15.一种用于数据中心dc互联的安全通信方法,其特征在于,所述方法包括:第二dc中的第二设备向第一dc中的第一设备发送第一报文,所述第一报文携带攻击验证信息,所述攻击验证信息包括第一时间戳和第一随机数中的至少一种;其中,所述攻击验证信息用于所述第一设备对所述第一报文进行重放攻击验证。
16.根据权利要求15所述的方法,其特征在于,所述攻击验证信息包括所述第一随机数,所述第一随机数包括在第一随机数列表中。17.根据权利要求16所述的方法,其特征在于,所述攻击验证信息还包括所述第一随机数列表的列表指示信息,所述列表指示信息用于确定所述第一随机数列表。18.根据权利要求16或17所述的方法,其特征在于,所述方法还包括:所述第二设备从控制设备获取所述第一随机数列表。19.根据权利要求15所述的方法,其特征在于,所述攻击验证信息包括所述第一随机数,所述第一随机数是所述第二设备生成的。20.根据权利要求15至19任一项所述的方法,其特征在于,所述第一报文包括安全头,所述攻击验证信息位于所述安全头中。21.根据权利要求20所述的方法,其特征在于,所述安全头为业务安全头。22.根据权利要求21所述的方法,其特征在于,所述第一报文还包括用户数据报协议udp头,所述udp头中的目的端口号用于指示所述业务安全头。23.根据权利15至22任一项所述的方法,其特征在于,所述第一设备与所述第一dc中的第三设备组成跨设备链路聚合组mlag。24.根据权利15至23任一项所述的方法,其特征在于,所述第二设备与所述第二dc中的第四设备组成mlag。25.一种用于数据中心dc互联的安全通信装置,其特征在于,应用于第一dc中的第一设备,所述装置包括:接收模块,用于接收第二dc中的第二设备发送的第一报文,所述第一报文携带攻击验证信息,所述攻击验证信息包括第一时间戳和第一随机数中的至少一种;验证模块,用于根据所述攻击验证信息对所述第一报文进行重放攻击验证。26.根据权利要求25所述的装置,其特征在于,所述装置还包括:确定模块,用于当满足第一条件时,确定所述第一报文通过所述重放攻击验证。27.根据权利要求26所述的装置,其特征在于,所述攻击验证信息包括所述第一时间戳,所述第一条件包括第二时间戳与所述第一时间戳之间的时间差小于或者等于第一阈值。28.根据权利要求26或27所述的装置,其特征在于,所述攻击验证信息包括所述第一随机数,所述第一条件包括所述第一随机数与第一随机数列表满足匹配规则。29.根据权利要求28所述的装置,其特征在于,所述匹配规则包括所述第一随机数处于所述第一随机数列表中。30.根据权利要求28或29所述的装置,其特征在于,所述攻击验证信息还包括所述第一随机数列表的列表指示信息,所述列表指示信息用于确定所述第一随机数列表。31.根据权利要求28至30任一项所述的装置,其特征在于,所述装置还包括:
获取模块,用于从控制设备获取所述第一随机数列表。32.根据权利要求28所述的装置,其特征在于,所述匹配规则包括所述第一随机数未处于所述第一随机数列表中。33.根据权利要求32所述的装置,其特征在于,所述装置还包括:记录模块,用于当所述第一报文不是重放攻击报文时,将所述第一随机数记录至所述第一随机数列表中。34.根据权利要求25至33任一项所述的装置,其特征在于,所述第一报文包括安全头,所述攻击验证信息位于所述安全头中。35.根据权利要求34所述的装置,其特征在于,所述安全头为业务安全头。36.根据权利要求35所述的装置,其特征在于,所述第一报文还包括用户数据报协议udp头,所述udp头中的目的端口号用于指示所述业务安全头。37.根据权利25至36任一项所述的装置,其特征在于,所述第一设备与所述第一dc中的第三设备组成跨设备链路聚合组mlag。38.根据权利25至37任一项所述的装置,其特征在于,所述第二设备与所述第二dc中的第四设备组成mlag。39.一种用于数据中心dc互联的安全通信装置,其特征在于,应用于第二dc的第二设备,所述装置包括:发送模块,用于向第一dc中的第一设备发送第一报文,所述第一报文携带攻击验证信息,所述攻击验证信息包括第一时间戳和第一随机数中的至少一种;其中,所述攻击验证信息用于所述第一设备对所述第一报文进行重放攻击验证。40.根据权利要求39所述的装置,其特征在于,所述攻击验证信息包括所述第一随机数,所述第一随机数包括在第一随机数列表中。41.根据权利要求40所述的装置,其特征在于,所述攻击验证信息还包括所述第一随机数列表的列表指示信息,所述列表指示信息用于确定所述第一随机数列表。42.根据权利要求40或41所述的装置,其特征在于,所述装置还包括:获取模块,用于从控制设备获取所述第一随机数列表。43.根据权利要求39所述的装置,其特征在于,所述攻击验证信息包括所述第一随机数,所述第一随机数是所述第二设备生成的。44.根据权利要求39至43任一项所述的装置,其特征在于,所述第一报文包括安全头,所述攻击验证信息位于所述安全头中。45.根据权利要求44所述的装置,其特征在于,所述安全头为业务安全头。46.根据权利要求45所述的装置,其特征在于,所述第一报文还包括用户数据报协议udp头,所述udp头中的目的端口号用于指示所述业务安全头。47.根据权利39至46任一项所述的装置,其特征在于,
所述第一设备与所述第一dc中的第三设备组成跨设备链路聚合组mlag。48.根据权利39至47任一项所述的装置,其特征在于,所述第二设备与所述第二dc中的第四设备组成mlag。49.一种安全通信装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器中存储的计算机程序以使得所述安全通信装置执行如权利要求1至14任一项所述的方法,或者执行如权利要求15至24任一项所述的方法。50.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至14任一项所述的方法,或者实现如权利要求15至24任一项所述的方法。51.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序或代码,当所述程序或代码在处理器上运行时,实现如权利要求1至14任一项所述的方法,或者实现如权利要求15至24任一项所述的方法。52.一种用于数据中心dc互联的安全通信系统,其特征在于,所述系统包括:第一dc中的第一设备和第二dc中的第二设备,所述第一设备包括如权利要求25至38任一项所述的装置,所述第二设备包括如权利要求39至48任一项所述的装置;或者,所述第一设备和所述第二设备中的至少一个包括如权利要求49所述的装置。
技术总结
一种用于数据中心(data center,DC)互联的安全通信方法、装置及系统,属于网络安全领域。该方法包括:第一DC中的第一设备接收第二DC中的第二设备发送的第一报文,第一报文携带攻击验证信息,攻击验证信息包括第一时间戳和第一随机数中的至少一种;第一设备根据攻击验证信息对第一报文进行重放攻击验证。本申请通过在不同DC中的设备交互的报文中携带时间戳和/或随机数的方式来对DC中的设备进行重放保护,适用于点对点、点对多点以及多点对点的通信场景,该安全通信方法的应用场景广泛,灵活性较高。性较高。性较高。
技术研发人员:黄颂勋
受保护的技术使用者:华为技术有限公司
技术研发日:2021.02.26
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-12920.html