CN107567704B - 使用带内元数据的网络路径通过验证 - Google Patents

使用带内元数据的网络路径通过验证 Download PDF

Info

Publication number
CN107567704B
CN107567704B CN201680024347.7A CN201680024347A CN107567704B CN 107567704 B CN107567704 B CN 107567704B CN 201680024347 A CN201680024347 A CN 201680024347A CN 107567704 B CN107567704 B CN 107567704B
Authority
CN
China
Prior art keywords
packet
network
value
network nodes
rnd
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.)
Active
Application number
CN201680024347.7A
Other languages
English (en)
Other versions
CN107567704A (zh
Inventor
文卡塔·克丽媞娜·萨珊克·达拉
世维莎·赛布雷·班得瑞
安德烈·M·伊奥陈柯
艾瑞克·万柯克
弗兰克·布罗克纳斯
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN107567704A publication Critical patent/CN107567704A/zh
Application granted granted Critical
Publication of CN107567704B publication Critical patent/CN107567704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Abstract

提供了用于验证网络流量通过了网络中的多个网络节点的通过验证的系统和方法。获取关于网络中的网络节点处的分组的信息。信息可包括分组的带内元数据。从分组的带内元数据读取验证信息。根据从分组读取的验证信息并且基于与网络节点相关联的配置信息来生成经更新的验证信息。经更新的验证信息被写回到分组中的带内元数据。分组在网络中从网络节点被转发。

Description

使用带内元数据的网络路径通过验证
技术领域
本公开涉及验证分组已经通过了网络中的路径。
背景技术
服务链定义了一组服务或服务功能(例如,防火墙、深度分组检测、层2转发服务、层3转发服务等),以及它们在通过网络被转发时应用于选择性的分组的顺序(服务1->服务2)。这也被称为服务功能链(SFC),并且已经被诸如政府机关、组织、公司之类的机构广泛部署。这类机构的安全部门可能需要根据机构的安全策略来验证某一应用所处理的分组。例如,若分组流应该通过一系列的服务功能,则需要验证该流的所有分组确实通过了机构的策略所指定的服务链。在流的分组未被正确地处理的情况下,诸如域边缘设备之类的网络设备将被要求标识策略违反,并且采取与机构的策略相对应的相应动作(例如,丢弃或重定向分组、发送警报等)。
附图说明
图1是示出根据示例实施例的在其中可以采用所呈现的通过验证技术的路径验证的网络的示例的图示。
图2是根据示例实施例的作为本文呈现的通过验证技术的路径验证的部分在网络节点处执行的操作的高层流程图。
图3是描绘根据示例实施例的作为本文呈现的通过验证技术的路径验证的部分由控制器执行的操作的流程图。
图4是描绘根据示例实施例的作为本文呈现的通过验证技术的路径验证的部分由出口节点执行的操作的流程图。
图5是描绘根据一个示例实施例的在网络节点处执行的用于使用加密技术来生成验证信息的操作的流程图。
图6是描绘根据另一示例实施例的在网络节点处执行的用于使用秘密共享技术来生成验证信息的操作的流程图。
图7是示出根据示例实施例的流量流的示例以及通过验证技术的路径验证在服务链中的使用的图示。
图8示出了示出根据示例实施例的作为图7所描绘的过程的部分在服务功能处执行的操作的流程图。
图9示出了示出根据示例实施例的出口节点在验证通过服务链的所有服务功能的通过验证中的操作的流程图。
图10示出了根据示例实施例的控制器在配置服务链的每个服务功能以参与服务链的路径通过验证中的流程图。
图11是示出根据本公开的实施例的示例分组头部的图示。
图12是示出根据本公开的实施例的另一示例分组头部的图示。
图13A是示出根据本公开的实施例的示例分组头部的图示。
图13B是示出根据本公开的实施例的图11A的分组头部中的示例元数据字段的图示。
图13C是示出根据本公开的实施例的图11A的分组头部中的另一示例元数据字段的图示。
图14是示出根据本公开的实施例的又一示例分组头部的图示。
图15是根据示例实施例的控制器的框图。
图16是根据示例实施例的网络节点的框图。
图17是根据示例实施例的出口节点的框图。
具体实施方式
概述
在一个实施例中,提供了一种用于验证网络流量通过了网络中的多个网络节点的通过验证的方法。该方法可涉及获取关于网络中的网络节点处的分组的信息。信息可包括分组的带内元数据。从分组的带内元数据读取验证信息。根据从分组读取的验证信息并且基于与网络节点相关联的配置信息来生成经更新的验证信息。经更新的验证信息被写回到分组中的带内元数据。分组在网络中从网络节点被转发。
示例实施例
在网络环境中存在各种这样的情况,其中,能够验证某些网络流量通过了网络中的特定路径是重要的。这在本文被称为通过验证。可能存在与网络中的特定路径相关联的多个网络节点。这种情况的一个示例是服务功能链,但存在许多其它示例。目前,通常以间接方式来传递分组穿过特定服务链的验证,这是因为服务功能和网络转发在不同的信任域中被执行。在这些信任域之间定义物理切换点(即物理接口)。
然而,服务链的最新发展(例如,网络功能虚拟化(NFV)和现代服务链概念(使用诸如定位器/ID分离协议(LISP)、网络服务头部(NSH)之类的虚拟覆盖)等)模糊了不同的信任域之间的界线,这是因为切换点不再是被清楚地定义的物理接口,而是虚拟接口。由此,存在这样的一些情况,其中,不准许同一设备中的不同信任层的混合,因此,不能以其当前形式来使用NFV。
网络路径验证
根据一个实施例,提供了在分组经过网络节点时,基于分组的带内元数据来验证/证明分组已经经过了网络中的特定路径的总体系统和解决方案。存在该技术的许多应用,包括但不限于:验证分组穿过了服务功能链中的某些服务功能、验证分组经过了流量工程(TE)路线等。
首先参考图1,示出了包括多个网络节点的示例系统100。控制器102被连接到网络节点。控制器102可以是例如软件定义联网(SDN)控制器,并且可以经由参考标号112处所示的控制平面来与多个网络节点进行通信。多个网络节点包括入口节点120、网络节点130、132、134、以及出口节点140。该简化网络拓扑仅是示例,并且可能存在更多(或更少)的网络节点。期望验证分组已经经过了通过网络145中的网络节点130、132、以及134的路径。在网络145中可能有许多其它网络节点,分组通过这些其它网络节点可以在入口节点120和出口节点140之间行进,但为了简单起见,图1中未示出这些其它网络节点。
现在转到图2并且继续参考图1,图2示出了通过验证方法200的高层流程图,通过该通过验证方法200,验证分组通过了网络中的多个网络节点的路径。该方法由作为将验证流量已经经过的网络中的特定路径的部分的每个网络节点(例如,图4所示的网络节点130、132、以及134中的每一个)执行。在210处,在网络节点处接收分组,或在现代管道(pipeline)转发的情况下,在分组在网络节点处被完全接收之前获取关于分组的信息,其中,该信息包括分组的带内元数据。换言之,网络节点不必具有整个分组以便执行后续验证相关步骤。因此,无论是对于“存储和转发”网络节点操作还是现代管道转发,可以说在210处,获取关于网络节点处的分组的信息,该信息包括分组的带内元数据。在220处,网络节点从分组的带内元数据读取验证信息。在230处,网络节点根据从分组读取的验证信息并且基于与网络节点相关联的配置信息来生成经更新的验证信息。在240处,网络节点将经更新的验证信息写回分组中的带内元数据。在250处,网络节点将网络中的分组例如转发到要被验证的路径的多个网络节点中的下一网络节点。
同样,操作210-240由作为将验证流量经过的网络中的路径的部分的每个网络节点执行。仍参考图1,出口节点140可用作验证者节点。出口节点140接收多个网络节点(例如,网络节点130、132、以及134)的配置信息。在分组已经通过了网络节点134之后,它最终到达出口节点140。出口节点140接收分组,并且从分组读取被存储为带内元数据的经更新的验证信息。出口节点140然后基于从分组读取的经更新的验证信息和多个网络节点的配置信息来验证网络中的分组所采取的路径。
下面给出了许多另外的和更具体的实施例,其中,针对验证信息和配置信息解释了示例。在一个示例中,当分组通过多个节点进行时,累积地更新验证信息。带内元数据可包括唯一地标识分组的第一数字和由多个网络节点累积生成的第二数字。可以通过使用加密密钥来加密第三数字以生成加密结果,并且将加密结果与已经存储在带内元数据中的累积加密结果相组合来生成经更新的验证信息。
此外,在一个示例中,每个网络节点的配置信息包括秘密。可以根据Shamir秘密共享方案来创建和分发每个网络节点的秘密,并且验证者节点被配置为使用带内元数据来根据Shamir秘密共享方案验证分组通过了每个相应的网络节点。在另一示例中,秘密是唯一的加密密钥并且带内元分组括累积生成的加密结果。出口(验证者)节点140被配置为使用带内元数据来验证分组通过了网络中的路径。
图1所示的控制器102可以是软件定义联网(SDN)控制器,其被配置为生成多个网络节点中的每一个的配置信息,并且将配置信息发送到多个网络节点中的相应的网络节点以及出口(验证者)节点140。图3示出了由控制器102执行的方法260的流程图。在262处,控制器生成要被验证(即期望通过验证)的网络中的路径的信息。该信息可以标识流量必须经过的网络节点以验证流量行进了网络中的特定路径。在264处,控制器生成路径中的每个网络节点的配置信息,并且将配置信息发送到每个相应的网络节点。这使得每个网络节点能够使用配置信息来执行验证操作,以根据从接收到的分组的带内元数据读取的验证信息来生成经更新的验证信息,并且将经更新的验证信息写回到分组。下面描述了配置信息的示例。在266处,控制器向出口(验证者)节点发送路径的所有网络节点的配置信息,以使得出口节点能够执行路径验证,如下文更详细描述的。
图3示出了由出口节点140执行的方法270的流程图。在272处,出口节点存储要验证的路径中的每个网络节点的配置信息(从控制器102接收到的)。在274处,出口节点接收离开路径的最后一个网络节点的分组。在276处,出口节点从分组的带内元数据读取验证信息。在278处,出口节点基于从分组读取的验证信息和网络节点的配置(从控制器102接收到的)来验证分组已经穿过路径的每个网络节点。换言之,出口节点可以与其它已知信息一起评估分组的元数据,以验证分组是否已经通过了期望的网络路径。
用于验证流量经过网络中的路径的通过验证的示例是多样的。下面进一步详细描述的一个示例涉及验证分组经过了服务功能链的多个服务功能的路径。另一示例是验证分组经过了网络中的流量工程(TE)路线。
如下面进一步详细描述的,由网络节点读取和写入的分组的带内元数据可以是分组的扩展头部。入口节点120还可以在分组被引导至网络中之前生成或设置分组的带内元数据中的特定值存储,其中,分组可能最终经过网络中的特定路径的多个网络节点。
总之,根据一个实施例,提供了一种方法,包括:获取关于网络中的网络节点处的分组的信息,该信息包括分组的带内元数据;从分组的带内元数据读取验证信息;根据从分组读取的验证信息并且基于与网络节点相关联的配置信息来生成经更新的验证信息;将经更新的验证信息写回到分组中的带内元数据;以及来自网络节点的分组在网络中被转发。在网络中的多个网络节点的每一个处执行获取、读取、生成、写入、以及转发。该方法还可包括基于从分组读取的经更新的验证信息和多个网络节点中的每一个的配置信息来验证网络中的分组的路径通过验证。
类似地,提供了一种系统,包括:网络中的多个网络节点,每个网络节点被配置为:获得关于分组的信息,该信息包括分组的带内元数据;从分组的带内元数据读取验证信息;根据从分组读取的验证信息并且基于与网络节点相关联的配置信息来生成经更新的验证信息;将经更新的验证信息写回到分组的带内元数据;以及将分组转发到网络中。
用于网络路径通过验证的累积方案
加密方案
在一些实施例中,每个网络节点可具有加密密钥,并且可被配置为使用该加密密钥来生成特定分组的唯一值。例如,每个网络节点可以使用其加密密钥来对标识值进行操作,例如但不限于,以生成标识值的加密或散列。所生成的加密或散列以及标识值可变成服务验证信息。示例加密操作可包括但不限于:块密码加密(例如,高级加密标准(AES))、密钥散列消息认证码(HMAC)等。在一些实施例中,由于加密操作可能是计算密集型的,因此网络节点处的硬件可具有对加密操作的硬件支持。
在依赖于加密操作的一些实施例中,可以累积地生成该条验证信息。也就是说,路径中的第一节点可以生成初始版本的该条验证信息,并且路径中的每个后续节点可以对现有信息进行操作,以在该条信息上留下它们的通过验证。
在一个实施例中,例如,可以使用类似于计数器(CTR)模式中的AES的异或(XOR)运算的交换属性。在该实施例中,每个服务可具有它们自己的加密密钥k1、k2、k3、...、kn,并且出口节点(例如,验证者)可以知道所有这些加密密钥。例如,控制器(例如,图1所示的控制器102)可以生成加密密钥并且向每个网络节点分配一个加密密钥,并且出口节点可以通过安全信道从控制器102获得所有加密密钥。每个分组可被插入包括RND字段、SEQ字段、以及VERIFY字段的元数据字段。RND字段可包含在入口节点处生成的随机数。SEQ字段可包含在入口节点处生成的数字和/或时间戳。SEQ字段可用于防止重放攻击。VERIFY字段可以在入节点处被初始化为0。每次分组经过入口节点时,可以使用入口节点的加密密钥k1来对序列号进行加密以获得由Enc(SEQ,k1)表示的值,然后VERIFY字段可以由与RND进行XOR的VERIFY=Enc(SEQ,kl)来更新(如AES-CTR模式)。
当分组经过第二网络节点时,可以使用第二网络节点的加密密钥k2来对序列号进行加密以获得由Enc(SEQ,k2)表示的值,然后VERIFY字段可以通过将现有VERIFY字段与Enc(SEQ,k2)进行XOR(例如,VERIFY=VERIFY XOR Enc(SEQ,k2))来进行修改。可以通过VERIFY字段上的这种累积XOR运算来在每个网络节点上执行该过程直到路径中的最后一个网络节点(例如,第n个节点,n是大于1的整数),该最后一个网络节点具有使用加密密钥kn加密(即VERIFY=VERIFY XOR Enc(SEQ,kn))的序列号。由于出口节点被配置有所有加密密钥的信息,因此出口节点可以通过执行已经由每个网络节点分别执行的相同的加密操作来执行路径认证/验证,并且可以利用VERIFY字段上的所有加密结果来应用累积XOR,即VERIFY XOREnc(SEQ,kl)XOREnc(SEQ,k2)…XOR Enc(SEQ,kn)。出口节点处的路径认证/验证可能仅在所有网络节点给出它们在SEQ字段中的序列号的相应加密时才会产生RND。若验证失败,则分组可能被标记(并且被重定向或丢弃)。
尽管诸如加密或散列之类的加密操作可能是计算密集型的,但它们不依赖于顺序,因为XOR运算可以以任何顺序来应用并且仍生成相同的输出。此外,可以防止重放攻击,因为SEQ字段值可以至少部分地基于时间戳,使得可以容易地检测到重放攻击。此外,可以使用标准加密操作,例如但不限于,AES。此外,每分组有效载荷开销很小。例如,RND字段和SEQ字段一共可以是64位并且VERIFY字段可以是128位以符合AES标准。还可以使用RND、SEQ、以及VERIFY字段的其它位长度,例如,24位、32位、56位、256位,但总体开销仍然很小。在一些实施例中,基于XOR的验证可被称为嵌套加密。
图5示出了总结使用了上述技术的用于网络路径通过验证的加密方案280的高层流程图。图5所示的操作由多个网络节点中的每一个来执行。在282处,(网络中的路径的多个网络节点中的)网络节点获取关于分组的信息,信息(被完全接收地存储或被管道转发处理)。信息包括带内元数据,其包括用于至少第一值和第二值的一个或多个字段,该第一值基于在网络中的路径的多个网络节点中的初始网络节点处生成的数字和/或时间戳,并且该第二值在分组经过网络中的路径的多个网络节点时被累积地更新。在283处,从分组的带内元数据读取第一值和第二值。在284处,使用对于每个相应的网络节点来说是唯一的加密密钥来基于第一值生成加密结果。在285处,基于从分组读取的第二值以及加密结果生成经更新的第二值。在286处,将经更新的第二值写入分组的带内元数据。在287处,分组在网络中被转发。
因此,以一种形式,提供了一种系统,包括:与网络中的路径相关联的多个网络节点,每个网络节点被配置为:获取关于分组的信息,该信息包括带内元数据,其包括用于至少第一值和第二值的一个或多个字段,该第一值基于在网络中的路径的多个网络节点中的初始网络节点处生成的数字和/或时间戳,并且该第二值在分组经过网络中的路径的多个网络节点时被累积地更新;从分组的带内元数据读取第一值和第二值;使用对于每个相应的网络节点来说是唯一的加密密钥来基于第一值生成加密结果;基于从分组读取的第二值以及加密结果生成经更新的第二值;将经更新的第二值写入分组的带内元数据;以及在网络中转发分组。
如上所述,初始网络节点被配置为执行若干操作,包括:使用初始网络节点的加密密钥并且基于数字和/或时间戳来生成初始加密结果;基于初始加密结果生成初始第二值;将初始第二个值写入分组;以及在网络中转发分组。
出口节点被配置为接收和存储多个网络节点的加密密钥。当出口节点接收到分组时(在假定分组已经通过了多个网络节点中的每一个之后),出口节点从分组的带内元数据读取第一值和第二值。出口节点使用多个网络节点中的每一个的加密密钥来计算多个网络节点中的每一个的加密结果。出口节点基于针对多个网络节点中的每一个所计算的加密结果来计算累积验证值。出口节点然后将从分组读取的第二值与累积验证值进行比较,以使得当从分组读取的第二值与累积验证值相匹配时,分组被确定为已经经过了路径的多个网络节点,否则,分组被确定为未经过路径的多个网络节点。
每个网络节点可被配置为使用从分组读取的第二值和加密结果的异或运算来生成经更新的第二值。类似地,出口节点可被配置为使用针对多个网络节点中的每一个所计算的加密结果的异或运算来计算累积验证值。
共享秘密方案
在另一实施例中,可以使用秘密共享方法以使得每个网络节点可以具有一段秘密,并且每个网络节点使用其该段加密秘密来留下签名作分组中的验证信息的部分。例如,可以使用Shamir秘密共享方案(SSSS)。在该实施例中,单个(完整)秘密可以与特定多个或一组网络节点相关联,该特定多个或一组网络节点与针对其将验证流量已经通过的路径相关联。该单个秘密的不同份额或片段可以从SDN控制器被分发给多个网络节点。每个网络节点可以使用它们各自的份额来生成从分组特定信息导出的验证信息的片段/部分,或更新元数据中的累积值。具有对完整秘密的访问的出口(验证者)节点可以使用完整秘密来验证接收到的元数据的正确性。
在实现秘密共享方法的一个实施例中,可以使用相同次数的两个多项式POLY-1和POLY-2。POLY-1和POLY-2的系数可以是在零(包括零)和正质数P(不包括P)之间随机选择的整数,除了最高项的系数为1到P-1。第一多项式POLY-1可以是秘密,并且系数对于所有分组是常数。第二多项式POLY-2可以是公开的,并且其系数可以针对不同的分组来不同地选择。也就是说,POLY-1是秘密的并且不变的,并且POLY-2是公开的并且每分组唯一的。
多项式曲线的点可以由一对数字来定义:索引和多项式针对索引生成的值。POLY-1的点可被分发在服务中并且保密。针对每个分组,可以随机选择POLY-2。POLY-2的相应点可以由每个网络节点计算并且被添加到其相应的POLY-1的加密秘密。每个网络节点处的求和结果可被添加到元数据中的分组。出口(验证者)节点可以尝试根据所有网络节点生成的点来构建第三多项式POLY-3,并且确定是否POLY-3=POLY-1+POLY-2。除非存在足够数目的POLY-3的点,否则无法构建。因此,可以使用该方案来确保/验证分组行进通过了根据策略的网络节点的期望路径。若分组未行进通过网络节点的期望路径,则将不会生成足够的POLY-3的点以便验证者节点来构建曲线。因此,可以检测分组是否跳过了路径中的一个或多个网络节点。
安全保证基于需要至少两个点来定义直线、需要至少3个点来定义抛物线、需要至少4个点来定义三次曲线等的事实。也就是说,需要k+1个点来定义次数为k的多项式,其中,k是正整数。攻击者无法从(POLY-1+POLY-2)的点学习秘密,例如,POLY-1的点,因为运算以模P完成。这已经例如在Shamir秘密共享方案证明中被数学地证明。
在一个实施例中,待验证的路径在其中可能具有k个网络节点,并且可以选择k+1次的多项式。每个网络节点可以选择随机数RND-1。例如,POLY-1可被表示为POLY-1=RND-1+ax+bx2+cx3…+nxk+1,其中,RND-1、a、b、c、...、n为系数。使用Shamir秘密共享方案(SSSS)算法,可以生成阈值k+1个份额。可以针对每个网络节点生成一个(份额-索引,份额)对,并且可以针对出口节点(例如,验证者网络节点)生成单独的(份额-索引,份额)对。这些(份额-索引,份额)对可以是POLY-1的点并且保密,以使得每个网络节点仅知道其自己的(份额-索引,份额)对。除了其自己的(份额-索引,份额)对之外,出口节点可被提供(经由控制器102)整个秘密(例如,POLY-1)以便执行网络路径验证。
当新的分组需要开始其通过网络节点的路径的旅程时,可以创建新的随机数(RND-2)并且将其插入到源(例如,入口节点)的元数据中。因此,RND-2值可能根据分组而变化。假设POLY-2可被表示为POLY-2=RND-2+a1x+b1x2+c1x3…+n1xk+1。网络节点还可被配置有POLY-2的a1、b1、c1...n1系数。每次分组到达网络节点时,网络节点可以使用存储在分组的元数据中的RND-2、其份额-索引、以及所配设的POLY-2的系数来计算其相应的RND-2的份额。每个网络节点将其各自的RND-1和RND-2的份额相加以获得随机数RND-3的份额,其可以是多项式POLY-3的零次项的系数。该过程可以是简单地将POLY-1上的点添加到POLY-2上的另一点以获得POLY-3上的点。在每个服务处获得的RND-3的份额可被放入分组元数据,并且与分组一起被传送到路径中的下一网络节点。
在穿过路径的网络节点之后,分组到达出口节点,并且出口节点因此可以获得路径的所有网络节点从元数据生成的RND-3的所有份额。注意到,k个服务贡献于POLY-3的k个点,这不是足以构建POLY-3的点数。因此,出口节点还可以使用其POLY-2的(份额-索引,份额)对来生成POLY-2的另一个点,并且将该点与它自己POLY-1的对应点(例如,它自己的(份额-索引,份额)相加。出口节点因此可以组合所有这些RND-3的份额以确定RND-3的值。同时,出口节点还知道RND-1(例如,它知道POLY-1的全部秘密)和RND-2(例如,根据分组元数据),因此,出口节点可以根据所确定的RND-3的值是否是实际期望的值(即RND-3=RND-2+RND-1)来获得通过验证。
在一个实施例中,可以执行优化,其中,替代每个网络节点将其RND-3的份额放入分组的元数据,每个网络节点利用包含在元数据中的RND-3的累积份额值来对其RND-3的份额应用SSSS组合算法以生成经更新的累积份额值,并且仅将该累积份额值放入元数据。
使用秘密共享方法的一个示例流程可以以设置过程开始。在设置过程的开始处,可以选择质数P以使得所有后续操作可以以模P完成。然后,可以选择秘密,例如,可以例如由SDN控制器生成随机数“RND-1”。只有出口节点可以知道该随机数。然后,可以使用Shamir秘密共享方案来拆分秘密。沿着待验证的路径的所有网络节点可被配置有它们各自的秘密的唯一份额,其可被表示为(i,份额-i),其中,i是份额的索引。在一些实施例中,拉格朗日基多项式的零次项可被计算为对应于其索引的常数。该常数可被称为拉格朗日多项式常数(LPC)。在设置过程的最后步骤,可以选择POLY-2的系数a1、b1、c1…n1,并且所有网络节点可被配置有该组系数,其中,对于每个分组,仅RND-2是不同的并且稍后被分配给分组。在一个实施例中,为了优化每个分组的RND-2的秘密拆分,可以在设置过程期间使用这些系数和索引来计算索引i处的RND-2的多项式评估的部分,其可被称为份额2-i-过渡。
当分组进入网络路径(即分组通过入口节点)时,可以选择一个数字RND-2。数字RND-2可以是随机的但不必是随机的。例如,数字RND-2可以是时间戳、序列号、分组中的一些字段的散列、或任意或所有这些项的组合。一旦选择了数字RND-2,则它可被添加到分组的元数据字段以使得路径中的所有网络节点可以访问数字RND-2。因此,数字RND-2是根据分组的并且由所有服务共享。在实现累积份额值的实施例中,可以例如通过存储零(“0”)的初始累积份额值来初始化元数据中的字段。
当分组访问包括出口节点的每个网络节点时,可以针对相应的服务-i计算RND-2的份额。也就是说,可以计算POLY-2中的点。在实现优化份额2-i-过渡的实施例中,已经在设置过程中计算了该份额2-i-过渡,并且可以通过简单地将份额2-i-过渡添加到RND-2来获得RND-2的份额。RND-2的份额可以在服务处添加相应的RND-1的份额(份额-i)以获得新的RND-3的组合份额。可以从元数据中取回累积份额值并且进行更新以使得累积=累积+RND-3*LPC,其中,“累积”是累积份额值,RND-3是相应的服务处的RND-3的份额,以及LPC是相应的服务的拉格朗日基多项式的零次项。经更新的累积份额值可被放回到分组的元数据中以传送到路径中的下一网络节点。
若下一网络节点是出口节点,则经更新的累积份额值可以与RND-1+RND-2进行比较。当经更新的累积份额值与RND-1+RND-2相匹配时,这指示分组确实已经经过了路径中的所有网络节点并且可以在网络中被转发。然而,当经更新的累积份额值与RND-1+RND-2不匹配时,这指示分组尚未经过路径中的所有网络节点,并且分组可以被标记和相应地处理,例如,丢弃。
下面描述了用于验证具有两个网络节点(网络节点-1和网络节点-2)的路径的示例流程。在该示例中,数字53被选作质数P并且数字10被选作秘密RND-1。多项式POLY-1可以是10+3x+3x2,并且以(索引,份额索引)对格式的份额可被生成为(1,16)、(2,28)、(3,46)、(4,17)、(5,47)等。每个网络节点和出口节点可被分配相应的索引和份额值,例如,网络节点1被分配(2,28)、网络节点2被分配(4,17),并且出口节点被分配(5,47)。可以获得如下拉格朗日基多项式:
Figure BDA0001446829710000131
Figure BDA0001446829710000132
Figure BDA0001446829710000133
根据拉格朗日基多项式,网络节点-1、网络节点-2、以及出口节点的拉格朗日基多项式常数(LPC)分别是10/3、-5、以及8/3,因此:
LPC(网络节点-1)=(10/3)mod 53=21
LPC(网络节点-2)=(-5)mod 53=48
LPC(出口节点)=(8/3)mod 53=38
假设第二多项式POLY-2是RND-2+7x+10x2并且数字45可被选作RND-2。该分组的POLY-2可以是45+7x+10x2,并且以(索引,份额值)对格式的份额可以是(1,9)、(2,46)、(3,50)、(4,21)、(5,12)等。当分组进入路径时,入口节点可以将RND-2=45和累积份额值CUM=0存储为分组的元数据,并且将分组与元数据一起转发到第一网络节点,网络节点-1。在网络节点-1处,可以获得相应的POLY-2的份额为46,因为服务-2的份额索引是2。可以根据CUM=CUM+(((份额(RND-1)+份额(RND-2))*LPC)mod P来更新累积份额值CUM,其可以是CUM=0+((28+46)*21)mod 53=17。在网络节点-2处,可以获得相应的POLY-2的份额为21,因为网络节点-2的份额索引是4。可以根据CUM=CUM+(((份额(RND-1)+份额(RND-2))*LPC)mod P来更新累积份额值CUM,其可以是CUM=17+((17+21)*48)mod53=17+22=39。在出口节点处,可以获得相应的POLY-2的份额为12,因为出口节点的份额索引是5。可以根据CUM=CUM+(((份额(RND-1)+份额(RND-2))*LPC)mod P来更新累积份额值CUM,其可以是CUM=39+((47+12)*38)mod 53=39+16=55mod 53=2。出口节点还可以计算(RND-1+RND-2)mod 53,其是(10+45)mod 53=2。因此,由出口节点计算的累积份额值与通过将RND-1和RND-2相加获得的RND-3相匹配,从而,出口节点可以成功验证分组的确经过了网络节点-1和网络节点-2。
可以使用根据本公开的实施例来防止可能播放的路由的错误配置或欺骗,其中,可以使得流量绕过一些网络节点,例如,防火墙、负载平衡器、内容优化器等。另外的方面涉及验证某个应用的分组经过了网络中的特定路径。在不直接验证分组经过了某些网络节点的情况下,传统技术依赖于不断地验证网络的物理布局以及所有相关联的设备配置。相反,只要POLY-1的点被保密,则在实施例中,尝试绕过一些网络节点的攻击者将错过把POLY-1上的相应点添加到POLY-2上的对应点,因而出口节点不能构建POLY-3以交叉验证。此外,在分组进入和离开时观察CUM的值的攻击者不能构建POLY-1上的点。无法完成之前的CUM和之后的CUM的差分分析,因为操作以模质数P完成并且可能存在点的许多可能性。此外,跨分组的差分分析的威胁可能由于POLY-2的随机数RND-2而减轻。
应注意的是,在实践中,多项式的(一个或多个)次数可能大于网络节点的最大数目。此外,RND-2值可以是EPOCH+随机数(位的级联)。在一些实施例中,可以避免纯序列号,因为它可以是可预测的。此外,质数可能大于RND-2但不是非常大。此外,可以在模运算中完成所有操作,因此除法可以是反模数而不是常规除法。此外,实施例可能涉及POLY-1和POLY-2不相同。
现在参考图6,示出了描绘根据上述秘密共享技术的在多个网络节点的每一个处执行的方法290的操作的高层流程图。秘密与由多个网络节点定义的路径相关联。在292处,获取关于网络节点处的分组的信息,该信息在带内元数据中包括分组特定信息。在293处,从带内元数据读取分组特定信息。在294处,使用秘密的唯一份额并且基于分组特定信息来计算验证信息的部分。在295处,将验证信息的部分写入分组的带内元数据。在296处,分组在网络中被转发。
当分组到达具有访问(例如,已经被配置有)秘密的出口节点时,出口节点从分组的带内元数据读取由多个网络节点写入的验证信息的部分。出口节点然后使用秘密和从分组的带内元数据读取的验证信息的部分来验证分组经过(即通过)了路径的多个网络节点。
因此,提供了一种系统,包括:与网络中的路径相关联的多个网络节点以及与路径相关联的秘密,每个网络节点被配置为:获取关于分组的信息,该信息在分组的带内元数据中包括分组特定信息;从带内元数据读取分组特定信息;使用秘密的唯一份额并且基于分组特定信息来计算验证信息的部分;将验证信息的部分写入分组的带内元数据;以及在网络中转发分组。
如上所述,可以根据秘密共享方案来分发秘密的唯一份额。此外,每个秘密的唯一份额可包括第一多项式的一个或多个点。在这种情况下,多个网络节点中的每个网络节点被配置为通过执行下列操作来计算验证信息的部分:基于分组特定信息来计算第二多项式的点;将第二多项式的点与第一多项式的点相加以产生求和结果;以及将求和结果写入分组的带内元数据。出口节点被配置为通过尝试根据由多个网络节点生成的求和结果构建第三多项式来验证分组经过了多个网络节点,以使得若可以生成足够数目的第三多项式的点,则分组被确定为已经经过了多个网络节点,否则,分组被确定为未经过多个网络节点。
此外,对于k个多个网络节点,第一多项式可具有次数k+1并且是RND-1+ax+bx2+cx3…+nxk+1的形式,其中,RND-1是随机数并且a、b、c...n是第一多项式的其它系数,并且秘密的唯一份额可包括对应于第一多项式的点的(份额-索引,份额)对,并且验证者节点被提供有唯一(份额-索引,份额)对以及整个第一多项式。每个网络节点可被提供有第二多项式RND-2+a1x+b1x2+c1x3…+n1xk+1的系数a1、b1、c1...n1,并且其中,每个网络节点被配置为通过执行下列操作来计算验证信息的部分:基于从分组的带内元数据读取的RND-2和第二多项式的系数来计算RND-2的份额;并且将RND-2的份额和RND-1相加以产生第三多项式的RND-3的份额。每个网络节点根据从分组的带内元数据读取的RND-3的累积份额值生成经更新的RND-3的累积份额值,并且将经更新的RND-3的累积份额值写入分组的带内元数据。出口节点可被配置为通过执行下列操作来进行验证:从分组读取由多个网络节点生成的RND-3的所有份额和RND-2的所有份额;组合由多个网络节点生成的RND-3的所有份额以产生RND-3的求和值;计算第二多项式的RND-2的份额,并且将该份额与由多个网络节点生成的RND-2的所有份额相加以产生RND-2的求和值;确定RND-3的求和值是否等于RND-2的求和值加上在出口节点处已知的RND-1的值。
秘密大小
在上述方案中使用的数据的大小取决于特定协议实施例或部署可以承载的元数据的数量。例如,可能存在其中上述任一方案的协议只能承载32位的情况。作为一个示例,利用AES,加密密钥可以是128位,并且利用SSSS,秘密(RND-1)和RND-2可以是64位。上述累积值也可以是64位。对于上述加密方案,AES的输出可以是128位,因此若需要,累积值可被截断为64位。验证还可能涉及重新加密RND-2值并且一致地截断以避免故障。
秘密更新/刷新
秘密回收对于方案的总体安全是重要的。它有助于减轻重放攻击。若秘密未被回收,则对手/攻击者可以将来自较旧分组的累积值重新用于较新分组,并且绕过选择的某些网络节点。
此外,回收基于RND-2大小。若使用了加密方法,则回收不依赖于加密密钥大小,但回收密钥仍是有用的,因为可能用尽RND-2值中的熵。
例如,64位RND-2值将支持264个分组,这对应于大约2x1030千兆字节。在lGBps线上,这将需要24天。
在其中针对RND-2可以使用多于32位的情况下,网络节点可被预配置有多个RND-1。利用每个网络节点上额外的存储空间需求并且索引这些RND-1请求中的每一个,可以进一步推送回收请求。可以使用RND-2的确定性函数以便确定对RND-1的索引。例如,RND-2的最后一个字节可被转换为数字并且用于确定针对给定分组使用哪个RND-1份额。
秘密创建和分发
控制器(例如,服务器)持续地创建秘密并且持续地分发秘密。这将是在如图3所示的步骤264处例如和下面描述的图10的步骤434处执行的操作的部分。例如,当系统用尽随机值(针对第一多项式)时,必须创建新的第一多项式并且必须分发份额。类似地,在加密方案中,加密密钥可能变得耗尽。各种分发模式是可能的。在第一模式(还称为“推模式”)中,控制器以规律(例如,周期性)间隔分发密钥。在第二模式(还称为“拉模式”)中,控制器响应于来自网络节点的请求来分发密钥。例如,封装节点确定它已经耗尽了随机数,并且向控制器发送更新/刷新的请求。混合模式也是可能的。例如,封装节点“拉”新的秘密份额,并且这触发控制器向路径中的所有其它节点“推”秘密份额。
因此,根据实施例,提供了一种方法,包括:生成与通过网络中的多个网络节点的路径相关联的秘密,针对该路径将验证流量已经通过;以及将秘密分发给多个网络节点中的相应的网络节点,以使得每个网络节点能够在分组行进通过网络中的路径时基于由分组承载的带内元数据来生成分组的验证信息。以一种形式,该生成可涉及针对多个网络节点中的每一个生成新的秘密,并且该分发可涉及响应于来自多个网络节点中的一个网络节点的请求来将该新的秘密分发给多个网络节点中的相应的网络节点。以另一形式,该生成可涉及针对多个网络节点中的每一个定期地生成新的秘密,并且该分发可涉及将该新的秘密定期地分发给多个网络节点中的相应的网络节点。以一种形式,秘密可基于与多项式相关联的随机值,当多项式的随机值耗尽时,该生成可涉及生成新的多项式,并且该分发可涉及将与新的多项式相关联的随机值的唯一份额分发给多个网络节点中的相应的网络节点。以另一形式,响应于从多个网络节点中的一个网络节点接收到的请求来针对多个网络节点中的每一个生成新的秘密,并且该分发涉及将该新的秘密的唯一份额分发给多个网络节点中的相应的网络节点。秘密可以是多个网络节点中的每一个的唯一加密密钥以累积地生成验证信息。在这种情况下,当唯一加密密钥耗尽时,新的唯一加密密钥用于多个网络节点。
通过验证:服务链验证-网络路径验证的一个示例
现在参考回图1。服务链(也称为服务功能链(SFC))包括多个服务功能,通过这些服务功能分组将被引导用于将被应用于该分组的各种功能。服务链可包括进入点节点(也称为头端节点、入口接口、或入口节点)、服务功能的有序列表及其物理网络位置(表示为[服务功能,服务位置]元组)。可以对通过服务位置的链被转发的分组执行服务功能或服务。服务位置还可被称为网络节点或服务节点。在一些实施例中,服务位置可以是如互联网工程任务组(IETF)请求注解(RFC)7665中定义的服务功能转发器(SFF)。
服务链引用的各个服务功能可以根据冗余和水平服务缩放要求被部署在网络拓扑中的多个点。可以使用全球唯一服务链id来唯一地标识服务链和该服务链的一些列服务功能。网络节点(或服务节点)可以是诸如路由器、交换机、网关等之类的网络设备,并且网络节点可以是物理网络元件或虚拟网络元件。网络节点(或服务节点)可具有计算资源(例如,服务器刀片或其它计算设备),其被配置有适用的软件能力以对被引导至该网络节点的网络流量执行一个或多个服务。
服务链中的服务功能可包括任意类型的服务。服务的示例包括任意网络层中的服务,例如,层2交换、层3路由、以及层7防火墙、内容缓存、负载平衡器、或这些层上的其它服务。在一个实施例中,例如,可以使用服务功能链(SFC)验证来验证分组是否采用了它应该采用的路径,而不管沿服务链的服务的类型。
可以通过服务链转发分组。头端节点(或入口节点)可用作到服务链中的分组分类器接口(确定哪些流量流需要重新引导至服务链中以及哪些不用),其强加必要的服务头部(包含服务链id)和传输封装以将流量流引导至如在服务链结构中指定的适当的网络位置处的第一服务功能。
可以由如下服务链标识符(例如,服务链id)来标识服务链。
服务链idX=[入口节点],[服务功能1,服务位置22],[服务功能2,服务位置2],[服务功能3,服务位置57],[出口节点]。
服务链的结构强制在入口节点处被分类为属于服务链的流量在被发送出网络之前被转发到服务链中。
在一个实施例中,在云管理平台中的编排层,可以针对特定任务(例如,安全网络主机)定义服务策略。服务策略可能需要(除许多其它元素之外)特定L4-L7服务功能、服务度量、以及相关联的选择/附接标准(即租户、流量类别、流等)。这些服务和相关联的度量被发送到控制器102(图1)以供服务选择、图形创建和呈现。
网络中的活跃服务功能可以注册控制器102。注册可涉及控制器102接收多个网络节点中的所有活跃服务功能的通知,每个通知包括描述服务功能能力的信息。在服务功能注册之后,控制器102可以具有服务域内的所有可用服务功能及其位置(例如,网络位置、互联网协议/介质访问控制(IP/MAC)地址、以及(若需要)拓扑布置(例如,[数据中心1,机架l]))的视图。此外,网络节点可以发布其服务功能能力,例如,[服务功能1是应用防火墙并且可以处理500个会话]、[服务功能2是IP防火墙并且可以处理200000个会话]等。控制器102维护服务的目录以及包括这些服务的相关联的服务功能(服务可包括单个或多个服务功能),这些相关联的服务功能可以根据需要被实例化为具有类似的属性。该服务目录包括描述所有活跃服务功能的属性的数据,并且根据该数据,控制器102通过从所存储的数据选择必要的服务功能及其相关联的服务链的网络节点来生成服务链的信息。控制器102还标识服务链中的哪一个或多个服务功能是有状态的。例如,控制器102可以存储这样的信息,该信息指示它具有用于服务器负载平衡器的图像,并且该类型的负载平衡器需要y数量的中央处理器单元(CPU)和存储器来运行,并且能够以每秒n个分组的速率来进行安全套接层(SSL)卸载。
在服务链创建期间,控制器102选择所有必需的服务功能及其位置,并且创建服务路径图。服务路径图可以是例如根据RFC 7665的呈现服务路径。此时,除了可用服务功能的视图之外,服务基础设施还具有正向和反向(若需要)耦合的一系列服务路径以及相关联的分类标准(租户、流等)。控制器102生成服务头部并且生成服务链的分类标准,并且如下文进一步解释的,将服务头部和服务链的分类标准发送到一个或多个网络节点。
现在参考图7,其示出了通过网络中的服务链300的流量流的示例。服务链300可包括:入口节点302、参考标号304处的服务1的服务节点、参考标号306处的服务2的服务节点、参考标号308处的服务3的服务节点、以及出口节点310。服务1、服务2、以及服务3可以在服务域中,并且入口节点302和出口节点310可以在网络域中。入口节点302可以接收分组并且确定每个分组是否应该经过服务链300。若分组应该穿过服务链300的服务,则入口节点302可以将该分组标记为属于服务链并且将分组转发到服务1,该服务1可被配置为服务链300中的第一服务。服务1可以对分组执行第一服务并且沿着转发分组。若分组穿过服务链300中的每个服务,例如,如流314所示,则分组将经过服务1、服务2、以及服务3,并且每个服务将根据它们各自的服务来对分组进行操作。当分组到达出口节点310时,出口节点310可以对离开服务链的分组执行服务链验证,并且验证分组确实已经经过了服务链300中定义的所有服务。若分组确实经过了服务链300中的所有服务,则服务链验证过程可以返回成功,并且分组可以被继续转发,例如,在流314中。然而,若当分组到达出口节点310时,出口节点310对分组执行服务链验证过程但服务链验证过程失败,则该分组可被标记为未通过验证(通过验证)并且被丢弃,例如,在流程312中。
在各个实施例中,可以至少部分地基于添加到穿过服务链的分组的元数据来在出口节点处执行服务链验证/通过验证。分组可被分配诸如时间戳(例如,其进入服务链的时间)或随机数之类的标识值,以使得可以在经过服务链的所有分组中唯一地标识分组。当分组经过服务链中的服务节点时,除了其如服务链所指定的服务之外,服务节点还可以执行生成或修改一条验证信息的操作。经生产或修改的该条信息以及分组标识值可以作为元数据被添加到分组以用作服务验证信息。出口节点可以具有服务链中所有服务的所有秘密。当分组到达出口节点时,可以从分组提取服务验证信息,并且出口节点可以使用分组标识值和所有服务的秘密来生成或修改该条验证信息的副本,并且将其自己的版本与从分组提取的经生成或修改的该条验证信息进行比较,以验证分组确实经过了服务链中的所有服务。
参考图8,示出了流程图的示例,该流程图总体上描绘了根据本文描述的技术的由服务功能(例如,在服务节点处)执行的用于促进服务链通过验证的操作。还参考图1和图7来描述图8。在402处,可以在服务链的服务节点处接收服务功能的安全配置信息。例如,参考标号204处的服务1的服务节点可以接收服务1的安全配置信息。对于实现秘密共享方法的实施例,安全配置信息可以是秘密的份额,或对于实现加密操作的实施例,安全配置信息可以是加密密钥。在404处,可以接收将在服务节点处执行的验证操作的配置信息。配置信息可以指示是否可以计算POLY-3的份额,或是否可以在服务节点处执行使用加密密钥的加密操作。在406处,可以接收穿过服务链的分组,或更一般地,为了管道转发,获取关于分组的信息(这可能在整个分组到达服务节点之前发生)。在408处,可以使用秘密信息和从分组的带内元数据读取的信息来执行验证操作。在410处,可以将操作结果写回(保存)到分组中的带内元数据。例如,VERIFY值可被保存为元数据的部分用于加密操作,并且累计秘密份额值可被保存为元数据的部分用于秘密共享方法。在412处,分组可被转发到服务链中的下一服务功能。下一服务功能可以是服务链的常规服务功能,或者下一跳可以是出口节点。
参考图9,示出了流程图的示例,该流程图总体上描绘了根据本文描述的技术的出口节点可以执行的用于促进服务链验证的通过验证/证明过程420。在422处,可以存储服务链的每个相应的服务功能的服务验证(即上述安全配置)信息。如上所述,在使用秘密共享技术的实施例中,出口节点可以存储秘密(例如,包括RND-1和其它系数的POLY-1),并且在使用加密密钥的实施例中,出口节点可以存储服务链的所有服务的加密密钥。在424处,可以接收离开服务链的分组。如图7所示,分组需要通过出口节点作为离开服务链之前的最后一站。在426处,可以从分组提取服务验证信息。例如,在使用秘密共享的实施例中可以从分组提取RND-2和累积份额值,并且可以在使用基于加密密钥的加密操作的实施例中可以从分组提取RND、SEQ、以及VERIFY。在428处,可以使用所存储的服务验证(即安全配置)信息和从分组提取的服务验证信息来验证分组已经穿过了服务链的每个服务功能。例如,在使用秘密共享的实施例中,可以通过RND-1和RND-2的份额来获取RND-3,并且也使用RND-1+RND-2来进行验证;并且在使用加密操作的实施例中,可以使用相应的加密密钥来利用SEQ的加密对VERIFY字段应用XOR运算,并且可以利用RND来验证XOR运算结果。
参考图10,示出了流程图的示例,该流程图总体上描绘了根据本文描述的技术的控制器(例如,图1所示的控制器102)可以执行的用于促进服务链通过验证的操作。还参考图1和图7来描述图10。在432处,可以生成服务链的信息。例如,控制器102可以在网络节点处标识要被应用于服务链300的分组的服务功能,并且定义服务链以包括这些服务。在434处,每个服务功能可被配置有安全配置信息和将在服务功能处执行的验证操作。例如,在使用秘密共享的实施例中,POLY-1的份额可以由控制器生产并且被发送到服务功能,并且每个服务功能可被配置为使用它们各自的POLY-1的份额来计算RND-3的份额。在使用加密操作的实施例中,控制器可以生成加密密钥并且分发给服务功能。在436处,服务链的出口节点可被配置有所有服务功能的安全配置信息和将在出口节点处执行的服务链验证。例如,根据实施例实现秘密共享方法还是加密操作,控制器可以配置出口节点来执行相应的服务链验证。
服务链接可以使用NSH技术以及传统链接方法(例如,接口或VLAN拼接;通过一系列NAT设备(例如,防火墙)的流量转向)。本文呈现的路径通过验证技术适用于服务链的任意实现方式。
网络路径验证的其它使用
文中呈现的路径验证技术的其它示例使用包括:网络中的流量工程(TE)路线的路线验证、验证源路由方案(例如,通过分段路由与带内操作、管理和维护(OAM)元数据头部的组合)。
通常,这些路径验证技术对于任意基于策略的路由(PBR)方法都是有用的。
用于运载网络路径通过验证的带内元数据的传输机制
可以利用带内元数据的不同的传输机制来实现根据本公开的实施例。不管使用秘密共享方法还是加密密钥,包含验证信息的元数据可以在每个分组穿过网络中的路径时被添加到每个分组。分组中可用于运载元数据的空间可能因部署而不同。在其中网络节点针对服务节点执行代理功能的部署中,元数据的数量变得重要,因为代理节点在流量传输去往/来自服务节点时需要缓冲头部。在各个实施例中,元数据可以作为分组头部的部分来运载。例如,若网络服务头部用于服务链接,则元数据可以作为互联网协议版本6(IPv6)扩展头部或选项头部的部分、或作为新的NSH元数据(MD)类型1来运载。
参考图11,示出了包含用于服务链验证的元数据字段502的示例OAM IPv6扩展头部。元数据字段502还可被称为运载通过验证POT并且可包括第一字段504和第二字段506,其中,第一字段504可包含RND-2并且第二字段506可包含Shamir秘密共享方案(SSSS)累积值。尽管虽然第一字段904和第二字段906中的每一个被示出为64位,但该位长度仅仅是示例。在其它实施例中,RND-2字段和SSSS累积字段可具有不同的位长度,例如,32、56、72、128等。应注意的是,在示出头部信息的附图(例如,图11、12、13B、13C、以及14)中,字段可被拆分成两行,并且第二行是第一行的延续。例如,RND-2字段504包括第一行的RND-2和表示为RND-2(CONT)的连续第二行。类似地,SSSS累积字段506包括第一行的SSSS累积和表示为SSSS累积(CONT)的连续第二行。
参考图12,示出了示例OAM选项头部600,其总体上描述了元数据字段602可以如何由头部运载以用于服务链验证。选项头部600可包括:下一头部字段、头部扩展长度字段、以及如互联网工程任务组(IETF)请求注解(RFC)2460中定义的选项字段。例如,OAM选项头部600可以是逐跳扩展头部或如RFC2460所述的目的地扩展头部。
选项字段602可包括选项类型、选项数据长度、以及选项数据。选项数据可包括元数据字段604。元数据字段604可包括随机数字段606和累积值字段608。随机数字段606可包含RND-2,并且累积值字段608可包含Shamir秘密共享方案(SSSS)累积值。选项数据还可包括POT类型字段610,其可以指示包括POT数据。在一个实施例中,POT类型字段610可以是特定POT变体的8位标识符以指示包括POT数据。POT类型字段、保留字段、随机数字段606、以及累积值字段608的位长度仅仅是示例,并且在其它实施例中,这些字段可具有不同的位长度。
参考图13A,示出了示例分段路由扩展头部700,其总体上描绘了元数据字段702可以如何由头部运载以用于服务链验证。片段路由由IETF进行标准化。可以在IETF网站(例如,https://tools.ietf.org/html/draft-previdi-6man-segment-routing-header-07#section-5.2)上找到对片段路由扩展的描述。在一个实施例中,服务链验证数据可被编码为分段路由头部中的策略列表元素,并且可以使用新的策略类型来将服务链验证数据表示为策略列表元素。策略标志可以指示该数据在策略列表中的索引。图13A示出了指示在元素列表之后的第一个元素的类型的策略标志位4-6,其被标记为策略标志字段704并且包含0x04的值。服务链验证数据被编码为由参考标号702指示的可选策略列表[0]。新策略类型的值尚未被确定,并且为了说明目的,值0x04被用作新策略类型的值。应注意的是,POT数据不需要是策略列表中的第一策略,并且若POT数据是在策略列表[1]、策略列表[2]、或策略列表[3]处,则可以设置相应的策略标志位。
参考图13B,示出了分段路由扩展头部700的示例元数据字段710。示例元数据字段710可包括八位字节0和1处的分段访问标志字段712、八位字节2到8处的随机数字段714、以及八位字节9-15处的累积字段。分段访问标志字段可以指示是已经访问了分段(位被设置)还是尚未访问分段(位未被设置)。随机数字段可包含用于服务链验证的随机数值,例如,RND-2。累积字段可包含用于服务链验证的累积值,例如,SSSS累积值。
参考图13C,示出了分段路由扩展头部700的另一示例元数据字段720。如图13C所示,示例元数据字段720可包括八位字节0到7处的随机数字段722和八位字节8-15处的累积字段724。除了大小与它们在示例元数据字段710中的对应项不同之外,示例元数据字段720的随机数字段722和累积字段724可类似于它们在示例元数据字段710中的对应项,并且可以分别包含用于服务链验证的随机数值和累积值。
参考图14,示出了包含运载POT数据的元数据字段的示例NSH MD型1头部800。头部800可包括:TLV类别字段802、类型字段804、保留位字段806、长度字段808、以及元数据字段810。TLV类别字段802可以包含描述类型字段804的范围的信息。在一些情况下,TLV类别可以标识特定供应商,在其它情况下,TLV类别可以标识特定标准主体分配的类型。在一个实施例中,POT可以在特定供应商TLV类别(例如但不限于,具有值0x0009的供应商)中进行定义,并且被表示为供应商(0x0009)TLV类别。类型字段804可以包含指示由元数据字段810运载的信息的特定类型的类型信息。类型信息可以在给定TLV类别的范围内进行定义。在一些实施例中,值分配可以是TLV类别所有者的责任。例如,可以为服务链验证(SCV)的类型值选择临时值0x94。保留位字段806可以包含保留位,例如,可以存在三个保留位以供将来使用。在一个实施例中,保留位被设置为0x0。长度字段808可以包含可变元数据的长度,例如,以4字节词的形式。在图14所示的实施例中,长度是4。
元数据字段810可包括随机数字段812和累积数字段814。随机数字段812可包括每分组随机数,例如,64位RND-2。累积数字段814可包括在每个网络节点处更新的累积数,例如,通过处理每分组随机数字段和网络节点特定参数来在网络节点处更新的64位累积。
图11-14中的头部的各个实施例中的元数据字段使用随机字段和累积字段来说明验证信息可以如何被运载在分组头部中。验证信息还可被称为验证信息或POW数据。然而,元数据字段不限于仅包含随机字段和累积字段。例如,如上所述,在使用秘密共享方法的一些实施例中,每个网络节点可以将它们各自的POLY-3的份额放入元数据字段,而不是累积值。在这些实施例中,元数据字段可以包含RND-2,以及由沿路径的相应服务生成的POLY-3的相应份额的多个字段。此外,在使用基于加密密钥的加密操作的实施例中,元数据字段可以包含RND字段、SEQ字段、以及VERIFY字段。
可以如何运载元数据的其它示例包括根据现在已知或以后开发的各种隧道方案中的任一个的额外隧道头部,以及将元数据运载为“伪标签”,例如,在多协议标签交换(MPLS)转发中。通常,可以在现有或新的隧道/封装头部中运载通过验证/验证元数据。也就是说,可以创建新的隧道/封装头部来运载该类型的元数据,或可以重新利用隧道/封装头部中的现有字段来运载元数据。
因此,总之,提供了一种方法,包括:获取关于网络中的网络节点处的分组的信息,该信息包括带内元数据;从带内元数据读取验证信息;根据从分组读取的验证信息生成经更新的验证信息,该验证信息用于验证网络中的分组的路径;将经更新的验证信息写入分组的带内元数据;并且从网络中的网络节点转发分组。可以以各种方式运载带内元数据,例如:作为IPv6扩展头部中的选项;在目的地选项IPv6扩展头部中;逐跳IPv6扩展头部的选项;作为路由选项IPv6扩展头部的部分;作为用于分段路由的IPv6扩展头部;作为用于操作、管理和维护(OAM)的IPv6扩展;作为隧道头部、作为伪标签、或在网络服务头部的扩展头部中。验证信息可包括秘密共享方案的累积值。
以另一形式,提供了一种装置,包括:网络接口单元,其被配置为使得能够通过网络进行通信;耦合到网络接口单元的处理器,其中,该处理器被配置为:获取关于在网络接口单元处接收到的分组的信息,该信息包括带内元数据;从带内元数据中读取验证信息;根据从分组读取的验证信息生成经更新的验证信息,该验证信息用于验证网络中的分组的路径;将经更新的验证信息写入分组的带内元数据;并且使得分组经由网络接口单元在网络中被转发。
此外,提供了一种系统,包括:与网络中的路径相关联的多个网络节点,每个网络节点被配置为:获取关于在网络接口单元处接收到的分组的信息,该信息包括带内元数据;从带内元数据读取验证信息;根据从分组读取的验证信息生成经更新的验证信息,该验证信息用于验证网络中的分组的路径;将经更新的验证信息写入分组的带内元数据;并且从网络中的网络节点转发分组。
参与设备的框图
参考图15,示出了被配置为执行控制器(例如,图1所示的控制器102)的功能的设备的示例架构。控制器102可以采用例如可以生成本文描述的配置信息并且将信息分发给网络节点(和验证者节点)的服务器的形式,例如,网络管理系统。控制器102可包括:处理器910、一个或多个网络接口单元(例如,网络接口卡)920、存储器930、以及硬件逻辑940。驻留在存储器330中的是用于配置过程950的软件,其可包括定义和配置要验证的期望路径的多个网络节点并且如上所述生成和向路径的网络节点发送验证信息的操作。过程950还可以以使用硬件逻辑940的硬件来实现,或组合硬件和软件二者来实现。
处理器910例如是微处理器、微控制器、片上系统(SOC)、或其它固定或可编程逻辑。处理器910在本文中还被简称为处理器。存储器930可包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质设备、防篡改存储装置、光学存储介质设备、闪存设备、电、光学、或其它物理/有形存储器存储设备。存储器930可以是单独的或处理器910的部分。因此,通常,存储器930可包括编码有软件的一个或多个有形(例如,非暂态)计算机可读存储介质(例如,存储器设备),该软件包括计算机可执行指令,并且当软件被执行(由处理器910)时,可操作来执行本文中结合用于服务链的网络中的控制器102所描述的操作。为此,存储器930可以存储这样的软件指令,当由处理器910执行时,这些软件指令使得处理器910执行各种配置操作,包括如本文所述的定义网络路径以及利用配置信息来配置网络节点。例如,存储器930可以存储用于处理器910来执行上面结合图13和图10所描述的操作的指令。
网络接口920使得能够通过网络来与如图1所示的网络中的网络节点进行通信。因此,网络接口920可包括一个或多个通信网络接口卡,其具有被配置为接收/发送来自/去往网络的分组的端口。网络接口可包括有线和/或无线网络连接性。
处理器910的功能可以由编码有指令的处理器或计算机可读有形非暂态介质或编码在一个或多个电路中的逻辑(例如,诸如专用集成电路(ASIC)之类的嵌入式逻辑、数字信号处理器(DSP)指令、由处理器执行的软件等)来实现,其中,存储器930存储用于本文描述的计算或功能的数据(和/或存储被执行以实现本文描述的计算或功能的软件或处理器指令)。因此,可以利用固定逻辑或可编程逻辑(例如,由处理器或现场可编程门阵列(FPGA)执行的软件或计算机指令)来实现过程950的功能。
可以使用硬件逻辑940来实现某些功能(例如,诸如生成加密密钥之类的加密操作),以及在不涉及中央处理单元(CPU)(例如,处理器910)或与网络接口920之一相关联的单独处理器的情况下,例如在ASIC等级执行硬件编程。硬件逻辑940可被耦合到处理器910或可被实现为处理器910的部分。在一些实施例中,硬件逻辑940还可包括一个或多个专用集成电路,其包括缓冲器、队列、以及用于执行分组转发操作的其它控制逻辑。
应理解的是,在其它实施例中,控制器102可包括除了图15所示的那些之外的更少或更多的模块。在另一示例中,配置过程950可以是由ASIC处理的固件的形式,该ASIC可被集成在电路板中。替代地,配置过程950可以是包括在可编程逻辑器件(例如,现场可编程门阵列)中的一个或多个逻辑块的形式。此外,可以适配控制器102和/或可以提供附加结构以提供超出本文具体描述的替代或附加功能。在不脱离本文呈现的实施例的范围和精神的情况下,预想对关于图15所描述的结构的修改或添加以实现这些替代的或额外的功能。
现在转到图16,示出了网络节点1000(例如,图1所示的网络节点120、130、132、134、以及140中的任一个)的示例框图。网络节点1000包括:一个或多个处理器1010、存储器1020、总线1030、以及网络处理器单元1040。处理器1010可以是微处理器或微控制器。网络处理器单元1040可包括一个或多个ASIC并且可促进网络设备1000和其它网络节点以及控制器102之间的网络通信,并且可包括多个网络端口(未示出),从这些网络端口接收网络中的分组并且向这些网络端口将分组路由到网络中。处理器1010执行与存储在存储器1020中的软件相关联的指令。具体地,存储器1020存储用于服务功能逻辑1050的指令,当由处理器1010执行时,使得处理器1010执行一个或多个服务功能的操作。存储器1020还存储用于验证逻辑1060的指令,当被执行时,使得网络节点基于根据本文描述的操作从控制器接收到的配置(验证)信息1065来从带内元数据中读取验证信息、生成经更新的验证信息并且将经更新的验证信息写回带内元数据,并且本文描述了加密相关操作的更具体的实施例。应注意的是,在一些实施例中,验证逻辑1060可以以由ASIC处理的固件的形式来实现,该ASIC可被集成在电路板中。替代地,验证逻辑1060可以是包括在可编程逻辑器件(例如,现场可编程门阵列)中的一个或多个逻辑块的形式。具体地,如本文所述,网络设备400的一些组件可以提供对计算密集型加密操作的硬件支持。
存储器1020可包括ROM、RAM、磁盘存储介质设备、防篡改存储装置、光学存储介质设备、闪存设备、电、光学、或其它物理/有形存储器存储设备。通常,存储器1020可包括编码有软件的一个或多个有形(非暂态)计算机可读存储介质(例如,存储器设备),该软件包括计算机可执行指令,并且当软件被执行(由处理器1010)时,可操作来执行本文描述的操作。
参考图17,示出了被配置为用作诸如图1所示的出口节点140或图7所示的出口节点310之类的出口节点(例如,验证者)的网络节点的示例框图。参考标号1100处所示的验证者(出口)网络节点可包括处理器1110、一个或多个网络接口1120、存储器1130、以及硬件逻辑1140。驻留在存储器1130中的是用于路径验证过程1150的软件,该路径验证过程1150可包括上面描述的并且下面结合图4和图9进一步描述的的操作过程。此外,存储器1150存储从控制器接收到的,并且对应于控制器发送到要验证的路径中的每个单独网络节点的所有配置(验证)信息的配置信息1150。路径验证过程1150的一些或所有操作还可以以使用硬件逻辑1140的硬件(例如,ASIC或FPGA)来实现,或组合硬件和软件二者来实现。网络接口1120可以是可以在网络中发送和接收分组,从而使得耦合到网络设备1100的任意网络节点能够通过如图1所示的网络进行通信的网络端口。
本文描述的操作和逻辑可以以除了由处理器执行的软件之外的任意形式来实现。例如,在一个实施例中,操作和逻辑可以以由ASIC处理的固件的形式来实现,该ASIC可被集成到电路板中。在另一实施例中,操作和逻辑可以以包括在可编程逻辑器件(例如,现场可编程门阵列)中的一个或多个逻辑块的形式来实现。因此,如本文所述,本文中呈现的技术可被体现在例如方法、装置、以及计算机可读存储介质中。
本文描述的实施例可以使得能够验证某些网络流量已经行进经过了网络中的特定路径。一个示例是当机构部署服务链来检查应该穿过服务链的所有分组是否实际上穿过了该服务链。不再需要服务链的间接验证。此外,检查每个分组还可以揭示服务链接方法可以是基于流的,其中,仅流的第一分组穿过了整个服务检查,并且流的剩余分组遵循基于简化策略的快捷方式。
本公开的实施例提供了相对于任意传统方法的各种益处。例如,中间网络节点仅知道它们的秘密或秘密的份额。此外,该解决方案在实现服务的多个节点以及分组访问服务的顺序方面是灵活的。例如,服务可以由多个设备实现,例如,跨实现相同策略的若干个防火墙的负载平衡,并且实现相同服务的所有设备将使用相同的秘密份额或相同的秘密(在使用一组秘密的情况下)。路径验证将独立于分组经过的网络节点的顺序来工作。只要将实施的网络节点是路径的部分并且分组经过了这些网络节点,则验证将成功。
此外,只要针对RND-2使用每个分组的唯一随机数/时间戳,则本公开的实施例可以避免重放攻击。此外,由于验证者还具有秘密组合步骤的部分,因此节点不能被绕过。
本文呈现的实施例的另一方面是需要非常有限的配置,因为路径由单个秘密(在使用秘密共享的情况下)或一组秘密来描述。又一优势是它可能仅需要有限数量的元数据,例如,64位的累积密钥可能是足够的。
对于通过秘密共享来实现验证的实施例,存在其它有益特性:1)Shamir秘密共享是多项式数学并且比基于嵌套加密散列等的方法快得多;2)低复杂度:每个节点处的计算(具有一次预先计算的值)包括三个加法运算和一个乘法运算,验证者处的计算是减法,然后与SSEC进行比较以进行验证,并且操作可以通过使用基于Galois字段(GF字段或有限字段)的加法、乘法用于拆分和组合多项式来进一步优化;以及3)可以通过配置每个路径(例如,服务链)以唯一秘密(RND-1)来在出口处验证分组经过了哪个路径。
在一些实施例中,多个RND-1可被预先配置到网络节点中,并且每个分组可被配置为运载一条元数据信息以标识哪个RND-1份额应该用于该分组。在一个实施例中,可以使用RND-2的确定性函数来确定对RND-1的索引。例如,RND-2的最后一个字节可被转换为数字并且用于确定哪个RND-1份额应该用于分组。这些实施例可以延长RND-1的更新周期并且减少控制器上的工作量。
这些技术可以提供分组穿过了网络路径中的特定组的网络路径的坚实验证。此外,这些技术可以允许用户摆脱验证服务链适用于特定应用的传统方法,并且还可以使得任意机构能够利用NFV来建立其服务区。
以上描述旨在仅通过示例的方式。尽管这些技术在本文被示出和描述为被体现在一个或多个特定示例中,但并不意图被限制于所示的细节,因为可以在权利要求的范围或等同物的范围内做出各种修改和结构改变。

Claims (33)

1.一种用于验证网络分组通过了网络中的多个网络节点的通过验证的方法,包括:
获取关于网络中的网络节点处的分组的信息,所述信息包括所述分组的带内元数据,其中,所述带内元数据包括第一值和第二值,所述第一值唯一地标识所述分组并且所述第二值由所述多个网络节点累积地更新;
从所述分组的带内元数据读取验证信息;
根据从所述分组读取的所述验证信息并且基于与所述网络节点相关联的配置信息生成经更新的验证信息,其中,所述配置信息包括所述网络节点的秘密;
将所述经更新的验证信息写回到所述分组中的带内元数据;以及
从所述网络中的所述网络节点转发所述分组;
其中,所述秘密是加密密钥并且所述带内元数据包括第三值,其中,生成所述经更新的验证信息包括:
使用所述加密密钥来加密所述第三值以生成加密结果;以及
将所述加密结果与已经存储在所述带内元数据中的累积加密结果相组合。
2.如权利要求1所述的方法,其中,在所述网络中的多个网络节点中的每一个处执行获取、读取、生成、写入、以及转发。
3.如权利要求2所述的方法,还包括基于所述经更新的验证信息和所述多个网络节点中的每一个的配置信息来验证所述分组在所述网络中的路径通过验证。
4.如权利要求3所述的方法,其中,所述路径是包括多个服务功能的服务链。
5.如权利要求3所述的方法,其中,所述路径是用于流量工程的路线。
6.如权利要求3所述的方法,其中,所述验证信息在所述分组通过网络节点时被累积地更新。
7.如权利要求1所述的方法,其中,所述秘密是根据Shamir秘密共享方案被创建和分发的,并且所述验证在被配置为使用所述带内元数据来验证所述分组经过了所述网络中的路径的出口节点处被执行。
8.如权利要求1所述的方法,其中,所述带内元数据由所述分组的扩展头部或隧道头部运载。
9.如权利要求1所述的方法,还包括所述网络节点从服务器接收所述配置信息。
10.如权利要求1所述的方法,其中,所述验证信息包括用于验证所述网络中的分组的路径的信息。
11.如权利要求10所述的方法,其中,所述带内元数据以下列项的一项或多项来运载:IPv6扩展头部中的选项、目的地选项IPv6扩展头部、逐跳IPv6扩展头部的选项、路由选项IPv6扩展头部、用于分段路由的IPv6扩展头部、用于操作、管理和维护(OAM)的IPv6扩展、隧道头部、伪标签、以及网络服务头部的扩展头部。
12.一种用于验证网络分组通过了网络中的多个网络节点的通过验证的方法,包括:
生成与通过网络中的多个网络节点的路径相关联的秘密,针对所述路径将验证分组已经通过;以及
将所述秘密分发给所述多个网络节点中的相应的网络节点,以使得每个网络节点能够在分组行进通过所述网络中的路径时基于由所述分组运载的带内元数据来生成所述分组的经更新的验证信息,其中,所述带内元数据包括第一值和第二值,所述第一值唯一地标识所述分组并且所述第二值由所述多个网络节点累积地更新;
并且其中,所述秘密是加密密钥并且所述带内元数据包括第三值,其中,生成所述经更新的验证信息包括:
使用所述加密密钥来加密所述第三值以生成加密结果;以及
将所述加密结果与已经存储在所述带内元数据中的累积加密结果相组合。
13.如权利要求12所述的方法,其中,生成包括为所述多个网络节点中的每一个生成新的秘密,并且响应于来自所述多个网络节点中的一个网络节点的请求,将所述新的秘密分发给所述多个网络节点中的相应的网络节点。
14.如权利要求12所述的方法,其中,生成包括定期地为所述多个网络节点中的每一个生成新的秘密,并且分发包括定期地将所述新的秘密分发给所述多个网络节点中的相应的网络节点。
15.如权利要求14所述的方法,其中,所述秘密基于与多项式相关联的随机值,并且其中,生成包括在所述多项式的随机值被耗尽时生成新的多项式,并且分发包括将与所述新的多项式相关联的随机值的唯一份额分发给所述多个网络节点中的相应的网络节点。
16.如权利要求14所述的方法,其中,生成包括响应于从所述多个网络节点中的一个网络节点接收到的请求来为所述多个网络节点中的每一个生成新的秘密,并且分发包括将所述新的秘密的唯一份额分发给所述多个网络节点中的相应的网络节点。
17.如权利要求14所述的方法,其中,所述秘密是所述多个网络节点中的每一个的唯一加密密钥,用于累积地生成所述验证信息。
18.如权利要求17所述的方法,其中,生成包括在所述唯一加密密钥被耗尽时为所述多个网络节点生成新的唯一加密密钥。
19.一种用于验证网络分组通过了网络中的多个网络节点的通过验证的系统,包括:
与网络中的路径相关联的多个网络节点,除了初始网络节点和出口节点之外的每个网络节点被配置为:
获取关于分组的信息,所述信息包括带内元数据,所述带内元数据包括用于至少第一值和第二值的一个或多个字段,所述第一值基于在所述网络中的路径的所述多个网络节点中的所述初始网络节点处生成的数字和/或时间戳,并且所述第二值在所述分组经过所述网络中的路径的所述多个网络节点时被累积地更新;
从所述分组的带内元数据读取所述第一值和所述第二值;
使用对于每个相应的网络节点来说唯一的加密密钥来基于所述第一值生成加密结果;
基于从所述分组读取的所述第二值和所述加密结果来生成更新的第二值;
将所述经更新的第二值写入所述分组的带内元数据;以及
在所述网络中转发所述分组。
20.如权利要求19所述的系统,其中,所述初始网络节点被配置为:
使用所述初始网络节点的加密密钥并且基于所述数字和/或所述时间戳来生成初始加密结果;
基于所述初始加密结果来生成初始第二值;
将所述初始第二个值写入所述分组;以及
在所述网络中转发所述分组。
21.如权利要求20所述的系统,其中,所述出口节点被配置为:
接收和存储所述多个网络节点的加密密钥;
接收所述分组;
从所述分组的带内元数据读取所述第一值和所述第二值;
使用所述多个网络节点中的每一个的所述加密密钥来针对所述多个网络节点中的每一个计算加密结果;
基于针对所述多个网络节点中的每一个计算的所述加密结果来计算累积验证值;以及
将从所述分组读取的所述第二值与所述累积验证值进行比较,以使得当从所述分组读取的所述第二值与所述累积验证值相匹配时,所述分组被确定为已经经过了所述路径的多个网络节点,否则,所述分组被确定为未经过所述路径的多个网络节点。
22.如权利要求21所述的系统,其中,每个网络节点被配置为使用从所述分组读取的所述第二值和所述加密结果的异或运算来生成所述经更新的第二值,并且所述出口节点被配置为使用针对所述多个网络节点中的每一个所计算的所述加密结果的异或运算来计算所述累积验证值。
23.如权利要求21所述的系统,还包括服务器,所述服务器被配置为将每个唯一加密密钥分发给所述多个网络节点中的相应的一个网络节点和所述出口节点。
24.一种用于验证网络分组通过了网络中的多个网络节点的通过验证的系统,包括:
与网络中的路径相关联的多个网络节点以及与路径相关联的秘密,每个网络节点被配置为:
获取关于分组的信息,所述信息包括所述分组的带内元数据中的分组特定信息,其中,所述带内元数据包括第一值和第二值,所述第一值唯一地标识所述分组并且所述第二值由所述多个网络节点累积地更新;
从所述带内元数据读取所述分组特定信息;
使用所述秘密的唯一份额并且基于所述分组特定信息来计算验证信息的部分,其中,所述秘密的每个唯一份额包括第一多项式的一个或多个点;
将验证信息的所述部分写入所述分组的带内元数据;以及
在所述网络中转发所述分组;
其中,每个网络节点被配置为通过执行以下操作来计算验证信息的所述部分:
基于所述分组特定信息来计算第二多项式的点;
将所述第二多项式的点与所述第一多项式的点相加以产生求和结果;并且
将所述求和结果写入所述分组的带内元数据。
25.如权利要求24所述的系统,还包括出口节点,所述出口节点具有对所述秘密的访问并且被配置为:
接收所述分组;
从所述分组的带内元数据读取由所述多个网络节点写入的验证信息的所述部分;以及
使用所述秘密和从所述分组的带内元数据读取的验证信息的所述部分来验证所述分组经过了所述路径的多个网络节点。
26.如权利要求25所述的系统,其中,所述秘密的每个唯一份额根据秘密共享方案被分发。
27.如权利要求25所述的系统,其中,所述出口节点被配置为通过尝试根据由所述多个网络节点生成的所述求和结果构建第三多项式来验证所述分组经过了所述多个网络节点,以使得若可以生成足够数目的所述第三多项式的点,则所述分组被确定为已经经过了所述多个网络节点,否则,所述分组被确定为未经过所述多个网络节点。
28.如权利要求27所述的系统,其中,对于k个多个网络节点,所述第一多项式具有次数k+1并且是RND-1+ax+bx2+cx3…+nxk+1的形式,其中,RND-1是随机数并且a、b、c...n是所述第一多项式的其它系数,其中,所述秘密的唯一份额包括对应于所述第一多项式的点的(份额-索引,份额)对,并且验证者节点被提供有唯一(份额-索引,份额)对以及整个所述第一多项式。
29.如权利要求28所述的系统,其中,每个网络节点被提供有第二多项式RND-2+a1x+b1x2+c1x3…+n1xk+1的系数a1、b1、c1...n1,并且其中,每个网络节点被配置为通过执行以下操作来计算验证信息的所述部分:
基于从所述分组的带内元数据读取的RND-2和所述第二多项式的系数来计算RND-2的份额;并且
将RND-2的所述份额和RND-1相加以产生用于所述第三多项式的RND-3的份额。
30.如权利要求29所述的系统,其中,所述出口节点被配置为通过执行以下操作来进行验证:
从所述分组读取由所述多个网络节点生成的RND-3的所有份额和RND-2的所有份额;
组合由所述多个网络节点生成的RND-3的所有份额以产生RND-3的求和值;
计算所述第二多项式的RND-2的份额,并且将该份额与由所述多个网络节点生成的RND-2的所有份额相加以产生RND-2的求和值;以及
确定RND-3的所述求和值是否等于RND-2的所述求和值加上在所述出口节点处已知的RND-1的值。
31.如权利要求29所述的系统,其中,每个网络节点根据从所述分组的带内元数据读取的RND-3的累积份额值生成RND-3的经更新的累积份额值,并且将RND-3的所述经更新的累积份额值写入所述分组的带内元数据。
32.如权利要求29所述的系统,其中,所述秘密是RND-1,并且所述秘密的每个唯一份额使用Shamir秘密共享方案来进行拆分并且被表示为(i,份额-i),其中,i是对所述份额的索引,并且拉格朗日基多项式的零次项被计算为对应于所述索引的常数。
33.如权利要求29所述的系统,其中,所述第一多项式和所述第二多项式的所有数字和系数都是大于或等于零的整数,并且所有计算都以P为模,其中,P是正质数。
CN201680024347.7A 2015-04-27 2016-04-18 使用带内元数据的网络路径通过验证 Active CN107567704B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
IN1682/MUM/2015 2015-04-27
IN1682MU2015 2015-04-27
US14/992,109 2016-01-11
US14/992,112 US10187209B2 (en) 2015-04-27 2016-01-11 Cumulative schemes for network path proof of transit
US14/992,109 US10237068B2 (en) 2015-04-27 2016-01-11 Network path proof of transit using in-band metadata
US14/992,114 US10211987B2 (en) 2015-04-27 2016-01-11 Transport mechanism for carrying in-band metadata for network path proof of transit
US14/992,114 2016-01-11
US14/992,112 2016-01-11
PCT/US2016/028084 WO2016176070A1 (en) 2015-04-27 2016-04-18 Network path proof of transit using in-band metadata

Publications (2)

Publication Number Publication Date
CN107567704A CN107567704A (zh) 2018-01-09
CN107567704B true CN107567704B (zh) 2020-11-24

Family

ID=57148171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680024347.7A Active CN107567704B (zh) 2015-04-27 2016-04-18 使用带内元数据的网络路径通过验证

Country Status (4)

Country Link
US (3) US10211987B2 (zh)
EP (1) EP3289727B1 (zh)
CN (1) CN107567704B (zh)
WO (1) WO2016176070A1 (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9853898B1 (en) * 2015-04-29 2017-12-26 Juniper Networks, Inc. Dynamic service chain provisioning
US9973401B2 (en) * 2015-09-30 2018-05-15 Intel Corporation Service function path performance monitoring
US10084596B1 (en) * 2015-12-08 2018-09-25 EMC IP Holding Company LLC Proactivized threshold password-based secret sharing with flexible key rotation
US20170214627A1 (en) * 2016-01-21 2017-07-27 Futurewei Technologies, Inc. Distributed Load Balancing for Network Service Function Chaining
ES2716657T3 (es) * 2016-04-07 2019-06-13 Telefonica Sa Un método para asegurar el recorrido de paquetes de datos correcto a través de una trayectoria particular de una red
US11349881B2 (en) * 2016-08-05 2022-05-31 Alcatel Lucent Security-on-demand architecture
US10404548B2 (en) * 2016-08-29 2019-09-03 Cisco Technology, Inc. Control of network nodes in computer network systems
US10069597B2 (en) * 2016-09-07 2018-09-04 Western Digital Technologies, Inc. Aggregated metadata transfer at a data storage device
US10454828B2 (en) 2016-12-21 2019-10-22 Cisco Technology, Inc. Machine learning-derived entropy path graph from in-situ OAM (iOAM) data
EP3355519A1 (en) * 2017-01-30 2018-08-01 Thomson Licensing Method for managing services chaining at a network equipment, corresponding network equipment
CN108667777B (zh) * 2017-03-31 2021-02-05 华为技术有限公司 一种服务链生成方法及网络功能编排器nfvo
US10652024B2 (en) * 2017-04-05 2020-05-12 Ciena Corporation Digital signature systems and methods for network path trace
CN108737124B (zh) * 2017-04-13 2022-07-19 中兴通讯股份有限公司 一种信息通告方法及装置
CN108737269B (zh) * 2017-04-13 2021-11-26 中兴通讯股份有限公司 一种封装方法、装置和节点
CN108737128B (zh) * 2017-04-13 2022-10-28 中兴通讯股份有限公司 一种实现带内操作管理维护ioam的方法及装置
CN108933763B (zh) * 2017-05-25 2020-01-03 华为技术有限公司 一种数据报文发送方法、网络设备、控制设备及网络系统
US11343352B1 (en) * 2017-06-21 2022-05-24 Amazon Technologies, Inc. Customer-facing service for service coordination
US10601961B2 (en) * 2017-07-12 2020-03-24 Cisco Technology, Inc. Service function chain dynamic classification
US10588012B2 (en) 2017-07-28 2020-03-10 Cisco Technology, Inc. In-situ operations, administration and management proxy
US10903985B2 (en) 2017-08-25 2021-01-26 Keysight Technologies Singapore (Sales) Pte. Ltd. Monitoring encrypted network traffic flows in a virtual environment using dynamic session key acquisition techniques
US10992652B2 (en) 2017-08-25 2021-04-27 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for monitoring encrypted network traffic flows
US10778578B2 (en) * 2017-08-31 2020-09-15 Konica Minolta Laboratory U.S.A., Inc. Method and system having an application for IPv6 extension headers and destination options
US10582027B2 (en) 2017-11-04 2020-03-03 Cisco Technology, Inc. In-band metadata export and removal at intermediate nodes
CN108089987B (zh) * 2017-12-28 2021-04-27 天津芯海创科技有限公司 功能验证方法和装置
CN108200202B (zh) * 2018-02-06 2019-11-12 电子科技大学 一种应用于云雾计算网络的服务功能链安全部署方法
EP3528430B1 (en) * 2018-02-19 2023-05-10 Telefónica, S.A. Method and system for validating ordered proof of transit of traffic packets in a network
CN110224934B (zh) * 2018-03-01 2021-11-09 中兴通讯股份有限公司 一种利用统一sr标签栈进行报文处理的方法及装置
US10623278B2 (en) 2018-03-20 2020-04-14 Cisco Technology, Inc. Reactive mechanism for in-situ operation, administration, and maintenance traffic
US20190334701A1 (en) * 2018-04-25 2019-10-31 EMC IP Holding Company LLC Lightweight security for internet of things messaging
CN108664116B (zh) * 2018-04-27 2020-03-27 北京邮电大学 网络功能虚拟化的自适应省电方法、装置及cpu控制器
CN108429685B (zh) * 2018-04-28 2020-08-04 电子科技大学 一种基于分段路由技术的服务功能链寻路方法
CN110557329A (zh) * 2018-05-30 2019-12-10 中兴通讯股份有限公司 一种报文转发的方法、装置和节点
US10887209B2 (en) * 2018-06-04 2021-01-05 Cisco Technology, Inc. In-Situ OAM for multicast path, telemetry data collection and receive-only service function proof of transit
US10693777B2 (en) * 2018-06-26 2020-06-23 Cisco Technology, Inc. In-situ operations, administration, and maintenance (iOAM) for software defined architectures (SDAs)
WO2020011143A1 (en) * 2018-07-13 2020-01-16 Huawei Technologies Co., Ltd. Mpls extension headers for in-network services
CN109005175B (zh) * 2018-08-07 2020-12-25 腾讯科技(深圳)有限公司 网络防护方法、装置、服务器及存储介质
US10893030B2 (en) 2018-08-10 2021-01-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for implementing bandwidth limitations on specific application traffic at a proxy element
US10749710B2 (en) 2018-11-02 2020-08-18 Cisco Technology, Inc. Service offload or bypass initiated by a service function forwarder in a service function chaining network
US11012353B2 (en) 2018-11-02 2021-05-18 Cisco Technology, Inc. Using in-band operations data to signal packet processing departures in a network
US10972377B2 (en) * 2018-11-02 2021-04-06 Cisco Technology, Inc. Coordinated offloaded recording of in-situ operations, administration, and maintenance (IOAM) data to packets traversing network nodes
US10833975B2 (en) 2018-11-02 2020-11-10 Cisco Technology, Inc. Operations processing of multiple-protocol packets by packet switching devices in a network
US11082540B2 (en) 2018-11-05 2021-08-03 Cisco Technology, Inc. Network operations including protocol processing of a packet updating an operations data field of a different protocol
US11005756B2 (en) 2018-11-08 2021-05-11 Cisco Technology, Inc. Signaling among entities of a virtualized packet processing apparatus using in-band operations data included in packets being processed
US11082406B2 (en) * 2018-11-29 2021-08-03 Secret Double Octopus Ltd System and method for providing end-to-end security of data and metadata
US10904152B2 (en) 2018-12-17 2021-01-26 Cisco Technology, Inc. Hardware-friendly mechanisms for in-band OAM processing
US11909650B2 (en) 2019-02-22 2024-02-20 Juniper Networks, Inc. Internet protocol operations and management option
CN111614564A (zh) * 2019-02-22 2020-09-01 瞻博网络公司 互联网协议操作和管理选项
US10862857B2 (en) 2019-03-27 2020-12-08 Cisco Technology, Inc. System and method of using a global discovery service to enable routing of packets from a source container to a destination container
US11356361B2 (en) * 2019-04-04 2022-06-07 Cisco Technology, Inc. Systems and methods for steering traffic into SR-TE policies
CN109743340B (zh) * 2019-04-04 2019-07-30 华为技术有限公司 报文处理的方法和网络装置
US11343261B2 (en) 2019-04-05 2022-05-24 Cisco Technology, Inc. Technologies for proving packet transit through uncompromised nodes
US10972381B2 (en) 2019-04-23 2021-04-06 Cisco Technology, Inc. Network operations reactive to operations data included in seamless bidirectional forwarding detection (S-BFD) packets
US10805402B1 (en) 2019-08-13 2020-10-13 International Business Machines Corporation Automated location verification
US10694372B1 (en) 2019-09-06 2020-06-23 International Business Machines Corporation Independent agent-based location verification
CN114600434A (zh) * 2019-10-22 2022-06-07 华为技术有限公司 通过带内信令区分服务的系统和方法
US11563771B2 (en) 2019-11-25 2023-01-24 Cisco Technology, Inc. Network telemetry collection with packet metadata filtering
US11411857B2 (en) * 2019-11-25 2022-08-09 Cisco Technology, Inc. Multicast performance routing and policy control in software defined wide area networks
CN111181852B (zh) * 2019-12-30 2021-04-02 清华大学 一种发送方法、接收方法及其装置
US11792228B2 (en) * 2020-01-22 2023-10-17 Sophos Limited Systems and methods for network security
US11438152B2 (en) 2020-01-31 2022-09-06 Visa International Service Association Distributed symmetric encryption
US11190417B2 (en) * 2020-02-04 2021-11-30 Keysight Technologies, Inc. Methods, systems, and computer readable media for processing network flow metadata at a network packet broker
CN113395247B (zh) * 2020-03-11 2023-01-13 华为技术有限公司 一种防止对SRv6 HMAC校验进行重放攻击的方法和设备
CN111541696B (zh) * 2020-04-24 2021-10-01 清华大学 随机认证嵌入的快速源和路径验证方法
CN111541611B (zh) * 2020-04-24 2021-05-28 清华大学 基于认证分片可重组的动态路径验证方法
US11431487B2 (en) 2020-04-28 2022-08-30 Visa International Service Association Adaptive attack resistant distributed symmetric encryption
US11546315B2 (en) * 2020-05-28 2023-01-03 Hewlett Packard Enterprise Development Lp Authentication key-based DLL service
US11941413B2 (en) 2020-06-29 2024-03-26 Amazon Technologies, Inc. Managed control plane service
US11948005B2 (en) 2020-06-29 2024-04-02 Amazon Technologies, Inc. Managed integration of constituent services of multi-service applications
CN111901317B (zh) * 2020-07-15 2022-05-17 中盈优创资讯科技有限公司 一种访问控制策略处理方法、系统和设备
CN112291204B (zh) * 2020-10-12 2022-02-22 清华大学 访问请求的处理方法、装置及可读存储介质
CN112491580A (zh) * 2020-10-27 2021-03-12 烽火通信科技股份有限公司 一种路由通过判定及问题定位方法和装置
CN114499904A (zh) * 2020-11-11 2022-05-13 华为技术有限公司 一种报文处理方法及装置
CN115529268B (zh) * 2021-06-24 2024-01-19 瞻博网络公司 处理配置网络设备的指令
CN114079562B (zh) * 2021-11-18 2023-11-24 北京京航计算通讯研究所 基于门限秘密共享的软件定义网络数据安全传输方法
CN114866313B (zh) * 2022-04-29 2024-04-09 中移(杭州)信息技术有限公司 路径转发验证方法、系统、设备及存储介质
FR3141021A1 (fr) * 2022-10-14 2024-04-19 Orange Procédé de mise en œuvre d’un service d’une chaîne de services et dispositif électronique associé
FR3141020A1 (fr) * 2022-10-14 2024-04-19 Orange Procédé de mise en œuvre d’un service d’une chaîne de services et dispositif électronique associé
US11962473B1 (en) * 2022-10-20 2024-04-16 Cisco Technology, Inc. Virtual network function proof of transit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552784A (zh) * 2009-04-30 2009-10-07 浙江大学 一种Web服务链的联合身份认证方法
CN101772918A (zh) * 2007-08-03 2010-07-07 思科技术公司 服务链的操作、管理和维护(oam)
CN103918219A (zh) * 2011-11-06 2014-07-09 Nds有限公司 基于秘密共享的电子内容分发

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751221B1 (en) * 1996-10-04 2004-06-15 Kabushiki Kaisha Toshiba Data transmitting node and network inter-connection node suitable for home network environment
CA2331442C (en) 1998-05-22 2009-10-13 Certco Incorporated Robust efficient distributed rsa-key generation
CN101375284B (zh) * 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
US20080144836A1 (en) * 2006-12-13 2008-06-19 Barry Sanders Distributed encryption authentication methods and systems
IN2009DN07226A (zh) 2007-05-30 2015-07-24 Ericsson Telefon Ab L M
US20090080422A1 (en) * 2007-09-21 2009-03-26 Posdata Co., Ltd. Header-compression packet processing method, mobile station, base station, and control station in wireless communication system
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
CN102461094A (zh) 2009-05-08 2012-05-16 紫貂网络有限公司 控制数据通信会话的方法和装置
US8515059B2 (en) 2010-03-30 2013-08-20 Daniel W. Engels Cryptographic processor with dynamic update of encryption state
US8948376B2 (en) 2010-05-11 2015-02-03 Ca, Inc. Format-preserving encryption via rotating block encryption
US9154433B2 (en) * 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
WO2013067437A1 (en) * 2011-11-02 2013-05-10 Hoffman Michael Theodor Systems and methods for dynamic digital product synthesis, commerce, and distribution
US9213853B2 (en) 2011-12-20 2015-12-15 Nicolas LEOUTSARAKOS Password-less login
JP5839125B2 (ja) * 2012-07-23 2016-01-06 富士通株式会社 ノードおよび通信方法
KR101640210B1 (ko) 2013-01-16 2016-07-15 한국전자통신연구원 도메인 내 경로 설정 및 검증을 위한 패킷 처리장치 및 그 방법
US9058503B2 (en) 2013-05-10 2015-06-16 Successfactors, Inc. Systems and methods for secure storage on a mobile device
US9444675B2 (en) 2013-06-07 2016-09-13 Cisco Technology, Inc. Determining the operations performed along a service path/service chain
US9203765B2 (en) 2013-08-30 2015-12-01 Cisco Technology, Inc. Flow based network service insertion using a service chain identifier
US9917745B2 (en) 2013-09-27 2018-03-13 Futurewei Technologies, Inc. Validation of chained network services
US9942099B2 (en) 2013-11-13 2018-04-10 Futurewei Technologies, Inc. Methodology and apparatus for topology discovery and mapping of chained network services
US9825856B2 (en) * 2014-01-06 2017-11-21 Futurewei Technologies, Inc. Service function chaining in a packet network
KR20150094260A (ko) 2014-02-11 2015-08-19 한국전자통신연구원 소프트웨어 정의 네트워킹 환경에서 네트워크 서비스 체인의 정형 검증을 위한 검증 지원 장치 및 방법과, 그 검증 지원 장치를 구비한 정형 검증 장치
US10719828B2 (en) 2014-02-11 2020-07-21 Square, Inc. Homomorphic passcode encryption
US9699499B2 (en) * 2014-04-30 2017-07-04 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US9444685B2 (en) 2014-09-16 2016-09-13 Zscaler, Inc. Systems and methods for detecting and managing cloud configurations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101772918A (zh) * 2007-08-03 2010-07-07 思科技术公司 服务链的操作、管理和维护(oam)
CN101552784A (zh) * 2009-04-30 2009-10-07 浙江大学 一种Web服务链的联合身份认证方法
CN103918219A (zh) * 2011-11-06 2014-07-09 Nds有限公司 基于秘密共享的电子内容分发

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Problem Statement for Service Function Chaining;P.QUINN,ED ET AL;《IETF》;20150413;全文 *

Also Published As

Publication number Publication date
US10211987B2 (en) 2019-02-19
US20160315921A1 (en) 2016-10-27
US20160315850A1 (en) 2016-10-27
US10187209B2 (en) 2019-01-22
CN107567704A (zh) 2018-01-09
EP3289727B1 (en) 2020-03-18
WO2016176070A9 (en) 2017-01-05
US10237068B2 (en) 2019-03-19
WO2016176070A1 (en) 2016-11-03
EP3289727A1 (en) 2018-03-07
US20160315819A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
CN107567704B (zh) 使用带内元数据的网络路径通过验证
US11050724B2 (en) IaaS-aided access control for information centric networking with Internet-of-Things
US11804967B2 (en) Systems and methods for verifying a route taken by a communication
EP3254418B1 (en) Packet obfuscation and packet forwarding
EP3157225B1 (en) Encrypted ccnx
EP3171539B1 (en) Transparent encryption in a content centric network
JP2017506846A (ja) 公開鍵を基礎とするデジタル署名を使用してソースルーティングを保全するためのシステムおよび方法
US10439993B2 (en) Mapping system assisted key refreshing
EP3408966B1 (en) Method and system for interest encryption in a content centric network
CN107078898A (zh) 一种在多路径网络上建立安全私人互连的方法
KR20150134268A (ko) 네임드 데이터 네트워크에 대한 경계 속성 검증
CN110690961A (zh) 一种量子网络功能虚拟化方法与装置
CN112367163A (zh) 一种量子网络虚拟化方法与装置
Sengupta et al. Privacy-preserving network path validation
Tennekoon et al. Prototype implementation of fast and secure traceability service over public networks
US20150288690A1 (en) Two factor authentication of icr transport and payload for interchassis redundancy
EP3713185B1 (en) Authentication method, device, and system
Alzahrani et al. Key management in information centric networking
Eltaief Flex-CC: A flexible connected chains scheme for multicast source authentication in dynamic SDN environment
CN111970247B (zh) 匿名通信网络中对等环的混淆消息发送方法
Borges et al. PoT-PolKA: Let the Edge Control the Proof-of-Transit in Path-Aware Networks
CN113014382A (zh) 基于有序聚合数字签名的服务链完整性检测方法、装置及介质
CN117560168A (zh) 基于零信任的SRv6报文生成和传输方法

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
GR01 Patent grant
GR01 Patent grant