CN110089070A - 用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术 - Google Patents

用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术 Download PDF

Info

Publication number
CN110089070A
CN110089070A CN201680091279.6A CN201680091279A CN110089070A CN 110089070 A CN110089070 A CN 110089070A CN 201680091279 A CN201680091279 A CN 201680091279A CN 110089070 A CN110089070 A CN 110089070A
Authority
CN
China
Prior art keywords
vnf
fingerprint
code key
logic
encryption
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.)
Granted
Application number
CN201680091279.6A
Other languages
English (en)
Other versions
CN110089070B (zh
Inventor
李微刚
D·Y·周
C·魏
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN110089070A publication Critical patent/CN110089070A/zh
Application granted granted Critical
Publication of CN110089070B publication Critical patent/CN110089070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

一种用于秘钥交换从而在网络功能虚拟化环境中建立安全连接的设备(800)。所述设备(800)在由相应虚拟机(160‑1到160‑N)执行的虚拟网络功能(VNF‑A,VNF‑B,VNF‑C)之间交换加密会话秘钥(410),从而经由网络连接建立安全连接,并且使用与支持所述相应虚拟机(160‑1到160‑N)的至少其中之一的处理器耦接的硬件安全模块(150)。所述硬件安全模块(150)通过使用用于所述虚拟网络功能(VNF‑A,VNF‑B,VNF‑C)的至少其中之一的虚拟网络功能指纹(210,220)有助于对所交换的加密会话秘钥(410)的加密和解密。

Description

用于秘钥交换以在网络功能虚拟化环境中建立安全连接的 技术
技术领域
本公开描述的示例总体上涉及用于数据的加密/解密而交换的秘钥以及对所交换秘钥的保护。
背景技术
近年来,一种被称为网络功能虚拟化(NFV)的相对较新技术正在迅速发展。在一些示例中,NFV基础设施对大型数据中心或电信供应商变得越来越重要,其将允许可能分解的和/或位于分散地理位置上的至少一些计算资源得到汇集。在NFV基础设施的一种示例性虚拟化环境当中,可以通过主机计算系统托管多个虚拟机(VM)。所述多个VM可以分别执行一个或多个虚拟网络功能(VNF)。由一个或多个VM执行的既定VNF可以履行以前采用专用硬件装置实施的功能(例如,防火墙、网络地址转换等)。
附图说明
图1示出了示例性系统。
图2示出了用于指纹加密的示例性方案。
图3示出了用于指纹解密的示例性方案。
图4示出了示例性过程。
图5示出了示例性第一逻辑流程。
图6示出了用于数据或分组加密的示例性方案。
图7示出了用于数据或分组解密的示例性方案。
图8示出了第一设备的示例性方框图。
图9示出了第二逻辑流程的示例。
图10示出了第一存储介质的示例。
图11示出了第二设备的示例性方框图。
图12示出了第三逻辑流程的示例。
图13示出了第二存储介质的示例。
图14示出了示例性计算平台。
图15示出了示例性硬件安全模块。
具体实施方式
在一种用于NFV基础设施的示例性虚拟化环境当中,由主机计算系统托管多个VM。所述多个VM可以分别执行一个或多个VNF。在一些示例中,由主机计算平台的操作系统(OS)实施的监视器(hypervisor)或虚拟机管理器(VMM)可以向VM分配内存或存储资源,从而使VM能够对这些内存或存储装置的所分配部分进行输入/输出(I/O)访问。
根据一些示例,可以在由同一或不同计算平台托管的VM执行的VNF之间建立安全连接(例如,传输层安全)。一种建立安全连接的方式可以包括用于经由所述安全连接发送/接收的数据或分组的加密/解密的会话秘钥的交换。一种常见的用于会话秘钥交换的方法可以基于使用诸如Rivest、Shamir和Adelman(RSA)或者Diffie Hellman(Dh)的非对称加密算法的公钥基础设施(PKI)。
以PKI为基础的VNF之间的安全连接的建立以及对诸如RSA或DH的非对称加密算法的使用可能存在问题。例如,使用诸如RSA或DH的非对称加密算法来建立安全连接可能是计算密集的,并且相对缓慢。与例如但不限于数据加密标准(DES)加密算法的对称加密算法相比,使用RSA算法的加密/解密可能大约比使用DES算法的加密/解密慢1000倍。因此,当VNF尝试经由这种类型的安全连接交换数据或分组时,这些计算密集的并且相对缓慢的非对称加密算法的使用可能造成显著的负面性能影响。而且,在会话秘钥交换之后,会话秘钥可以被按照明文形式存储到分配给执行建立了所述安全连接的所述VNF的相应VM的存储器当中。所述会话秘钥的明文形式可能带来安全风险,因为会话秘钥可能被黑客或者欺骗VNF拦截。正是相对于这些风险而言才需要本文描述的示例。
图1示出了示例性系统100。在一些示例中,如图1所示,系统100包括经由相应链路130和140与系统存储器120和硬件安全模块(HSM)150耦接的处理器110。根据一些示例,如图1所示,处理器110可以能够支持包括VM160-1到160-N在内的多个虚拟机(VM),其中,用于VM 160-1到160-N以及下文的系统的其他元件的“N”是指任何大于2的正整数。
在一些示例中,系统存储器120、处理器110和HSM 150可以是被布置为VFM基础设施的部分的物理元件,其中,所述VFM基础设施支持可以执行与VNF相关联的应用的虚拟元件,例如VM 160-1到160-N。例如,VM 160-1、VM 160-2和VM 160-N可以分别执行与图1中被示为VNF-A、VNF-B和VNF-C的相应VNF相关联的一个或多个应用。根据一些示例,VNF-A、VNF-B或VNF-C可以履行功能、任务或服务,其可以包括但不限于防火墙、域名服务(DNS)、高速缓存或网络地址转换(NAT)。
根据一些示例,包括但不限于用于输入/输出存储管理单元(IOMMU)或者单根输入/输出虚拟化(SR-IOV)的技术的技术可以被系统100的硬件元件用来支持由同一或不同计算平台托管的VNF之间的VNF到VNF通信。可以通过使用在系统100的硬件元件上执行的隔离虚拟功能(VF)来有助于这些VNF到VNF通信。每一隔离VF可以被直接分配给相应VM执行的既定VNF。在一些示例中,被布置为管理VM的监视器(未示出)可以直接为相应的VNF分配隔离VF。在一些示例中,如下文进一步所述,可以由HSM(例如,HSM 150)执行或支持的这些隔离VF来有助于安全的VNF到VNF通信和/或数据交换,从而有助于用于VNF到VNF通信和/或数据交换的安全连接的建立。
在一些示例中,可以在由相应的VM 160-1到VM 160-N执行的VNF A-C之间建立安全连接,或者可以在由单独计算平台托管的VM所执行的VNF之间建立安全连接。可以由相应的VF 161-1到VF 161-N有助于安全连接的这一建立。对于这些示例而言,VF 161-1到VF161-N可以由HSM 150(例如,HSM逻辑156)的逻辑和/或特征来执行或支持。VF 161-1到VF161-N可以被直接分配给相应的VNF-A、VNF-B和VNF-C,以作为支持用于安全VNF到VNF通信和/或数据交换的SR-IOV的轻量加密/解密功能。可以通过与VNF-A到VNF-C相关联的相应VF驱动器162-1到162-N来驱动/控制VF 161-1到VF 161-N,从而允许这些VNF与VF 161-1到VF161-N直接交互。
根据一些示例,HSM150处的VNF和VF之间的直接交互可以是通过包含在用于处理器110的集成I/O 112内的根复合体111进行的,所述集成I/O 112可以经由链路140与HSM150耦合。根据一些示例,根复合体111以及HSM的逻辑和/或特征可以利用根据2015年12月发布的高速外围部件互连(PCI)Express基本规范(“PCI Express规范”或“PCIe规范”)的3.1a版本的通信协议和接口使VF驱动器162-1到162-N能够经由链路140与VF 161-1到VF161-N直接交互。在VNF A-C被直接分配给相应的VF 161-1到VF 161-N之后,这一直接交互可以在这些VNFA-C和HSM 150之间建立直通连接,其可以不涉及诸如VMM或监视器的管理/控制软件。所述直接交互可以包括交换信息,以确定系统存储器120内的分配给执行VNF A-C的相应VM以用于如下文进一步所述对数据/分组进行加密/解密的物理存储器地址。
在一些示例中,如图1中所示,处理器110可以包括处理元件119。处理元件119可以包括一个或多个处理核。在一个示例中,VM 160-1到VM 160-N可以由单独的处理核支持或者可以由处理核的组合支持。处理器110还可以包括环形总线117,其被布置为有助于处理元件119、存储控制器118以及集成I/O 112的元件之间的通信,从而进一步支持由VM 160-1到160-N执行的VNF A-C。在一些示例中,存储控制器118可以经由链路130管理对系统存储器120的读或写请求,以支持由VM 160-1到160-N执行的VNF A-C。与此同时,集成I/O 112可以经由链路140有助于与HSM 150的通信,以支持由VM 160-1到160-N执行的VNF A-C。
根据一些示例,如图1中所示,除了上文提及的根复合体111之外,集成I/O 112还可以包括直接存储器访问(DMA)引擎114和输入/输出存储器管理单元(IOMMU)115。集成I/O112的这些元件可以经由集成I/O(IIO)总线116耦合。集成I/O 112的这些元件可以包括能够有助于与会话秘钥相关联的数据、网络分组或者数据的有效率的移动的逻辑和/或特征,所述数据可以针对由处理器110支持的VM所执行的VNF而被加密或解密。诸如VM 160-1到VM160-N的VM可以具有所分配的系统存储器120的部分或区域。一个这样的特征是保存在IOMMU 115中的查找表DMA再次映射表格109,其可以用于将VM/VNF使用的GPA转化为DMA引擎114所用的对系统存储器120的所分配存储区进行数据的DMA的主机物理地址(HPA)。对所分配存储区的既定DMA的数据可能与要受到加密或解密以便用于VNF的会话秘钥、网络分组/数据相关联。
在一些示例中,系统存储器120内包含的物理存储器的部分或区域可以被单独分配或指定给VM 160-1到VM 160-N。例如,如图1中所示,存储区122-1可以是分配给VM 160-1的物理存储器部分,存储区122-2可以被分配或指定给VM 160-2,存储区122-N可以被分配或指定给VM 160-3。如下文进一步所述,可以对所分配的系统存储器120的部分加以使用,以作为建立和保持VNF之间的安全连接的部分。作为所述使用的部分,系统存储器120可以被用来至少暂时地存储加密/密文会话秘钥、加密/密文数据/分组以及明文数据/分组。
根据一些示例,HSM的逻辑和特征(例如,HSM 150的HSM逻辑156)可以能够有助于由VM(例如,由第一计算平台托管的VM 160-1到160-N)执行的VNF之间的安全连接的建立和保持。此外,如下文进一步所述,由第二计算平台托管的另一HSM的与HSM逻辑156类似的HSM逻辑可以能够有助于由第一计算平台托管的VM所执行的VNF与第二计算平台托管的VM所执行的VNF之间的安全连接的建立和保持。如下文进一步所述,HSM可以安全地保持相同的或者公共的根秘钥,例如,通过不能被HSM外的任何软件访问的片上存储器对其进行存储/保护。所述相同的或者公共的根秘钥可以与来自同一组织的(一个或多个)计算平台所托管的HSM相关联,例如,所述同一组织可以是但不限于同一数据中心、同一服务提供商或者同一内联网。对于这些示例中的任一者而言,既定HSM的逻辑和/或特征可以是被设计为根据QuickAssist技术(QAT)、平台信任技术/可信平台模块(PTT/TPM)或者其他类型的安全相关技术操作的专用集成电路(ASIC)、现场可编程门阵列(FPGA)或芯片组的部分。这些ASIC、FPGA或芯片组可以被配置成支持由VM执行的VNF之间的安全连接的建立和保持的一种类型的密码加速器或卸载引擎。
在一些示例中,当既定VNF在VM处被首次启用或者经历启动时,HSM的逻辑和/或特征(例如,HSM 150的HSM逻辑156)可以能够建立既定VNF所特有的指纹。例如,HSM逻辑156可以响应于VM 160-1到VM 160-N处的相应的VNF-A、VNF-B和VNF-C的启动分别为这些VNF创建指纹A、指纹B和指纹C。一旦创建之后,这些指纹的未加密或明文版本就可以被存储/保护到HSM 150内,例如,通过不能被HSM 150之外的任何软件访问的片上存储器予以存储/保护。如下文进一步所述,建立VNF之间的安全连接的过程可以使用采用根秘钥加密的指纹,从而使VNF能够安全地交换会话秘钥。一旦建立了安全连接,就可以对所述会话秘钥进行加密,并且将其作为密文存储到分配给执行具有所建立的安全连接的VNF的相应VM的存储器(例如,用于由VM 160-1执行的VNF-A的存储区122-1)当中。当VNF请求对数据或数据分组进行加密或解密时,HSM逻辑156可以能够对加密/密文会话秘钥进行解密,之后使用原始或明文会话秘钥对经由所述安全连接发送或接收的数据或数据分组进行加密或解密。
根据一些示例,系统存储器120、处理器110和HSM 150可以被主机计算平台托管,所述主机计算平台可以包括但不限于服务器、服务器阵列或服务器农场、web服务器、网络服务器、互联网服务器、工作站、微型计算机、大型计算机、超级计算机、网络电器、web电器、分布式计算系统、多处理器系统、基于处理器的系统或其组合。
在一些示例中,处理器110可以包括各种市售处理器,包括但不限于:处理器;应用、嵌入式和安全处理器;处理器;IBM和Cell处理器;Core(2)Core i3、Core i5、Core i7、或Xeon处理器;以及类似处理器。
根据一些示例,系统存储器120可以由一个或多个存储器件或管芯(可以包括各种类型的易失性和/或非易失性存储器)构成。而且,HSM 150处的可以被布置为存储/保护根秘钥或指纹的片上存储器可以包括一个或多个存储器件或管芯。所述一个或多个存储器件或管芯可以包括各种类型的易失性和/或非易失性存储器。易失性存储器可以包括但不限于随机存取存储器(RAM)、动态RAM(D-RAM)、双数据率同步动态RAM(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管RAM(T-RAM)或者零电容器RAM(Z-RAM)。非易失性存储器可以包括但不限于非易失类型的存储器,例如,3D交叉点存储器,其可以是可字节寻址或可块寻址的。这些可字节或块寻址的非易失类型存储器可以包括但不限于使用硫属化物相变材料(例如,硫属化物玻璃)的存储器、多阈值电平NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、结合了记忆电阻器技术的磁阻随机存取存储器(MRAM)、自旋转移矩MRAM(STT-MRAM)或者上述选项中的任何选项的组合或者任何其他非易失性存储器类型。
图2示出了用于指纹加密的示例性方案200。在一些示例中,如图2中所示,方案200包括对明文指纹210进行加密,以生成加密指纹220。对于这些示例而言,可以针对直接分配给由HSM(例如,图1所示的HSM 150)支持的VF的每一VNF生成明文或原始指纹。例如,指纹A-C用于由相应的VM 160-1到VM 160-N执行的VNF A-C。每一独特指纹可以是由HSM的逻辑和/或特征(例如,HSM 150的HSM逻辑156)响应于相应VM执行的VNF的启动生成的。所述独特指纹可以具有明文指纹210的形式,并且如图2所示可以包括VNF标识(ID)212、随机#214和标签216。如示例性方案200中所示,明文指纹210可以是使用root_key 230加密的,以生成加密指纹220。如上文简要提及的并且如下文进一步所述,建立VNF之间的安全连接的过程可以使用加密指纹(例如,指纹220),从而使VNF能够安全地交换会话秘钥。
根据一些示例,VNF ID 212可以是任何种类的识别所述明文指纹210的生成所针对的VNF的信息。既定VNF ID可以是由VMM、监视器或者使用所述VNF的服务提供商分配的。示例性VNF ID可以与所述VNF可能正在执行的功能的类型有关,其可以包括但不限于防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。例如,第一VNF ID可以是分配给防火墙的标识编号、第二VNF ID可以是分配给虚拟路由器的标识编号,第三VNF ID可以是分配给网络地址转换的标识编号,第四VNF ID可以是分配给会话边界控制器的标识编号,第五VNF ID可以是分配给视频优化器的标识编号,第六VNF ID可以是分配给内容分发网络的标识编号。
在一些示例中,随机#214可以是HRM的逻辑和/或特征(例如,HRM 150的HRM逻辑156)生成的随机数,以作为明文指纹210的生成的部分。而且,明文指纹210的生成的部分可能涉及标签216的形成或生成。标签216可以是与消息认证码(MAC)算法相关联的值,所述值可以是通过采用root_key 230连同VNF ID 212和随机#214作为MAC算法的输入来生成标签216的值而形成或生成的。示例性方程1示出了标签216的MAC值的示例性生成。
(1)Tag=MAC(VNF ID||random#,root_key)
如下文进一步所述,可以在验证过程中使用标签216来验证在加密指纹220的生成、加密指纹220的传输以及后续的紧随加密指纹220的接收对加密指纹220所做的解密之后标签216是否受到了修改。而且,作为另一种形式的验证,VNF ID 212的明文版本可以被添加到加密指纹220上,从而向接收VNF验证发送VNF的真实性。
图3示出了用于指纹解密和验证的示例性方案300。在一些示例中,如图3中所示,方案300包括使用root_key 230对加密指纹220进行解密,从而得到明文指纹210。如图3中所示,可以将所得到的解密VNF ID 212与连同加密指纹220一起接收到的VNF ID 212的明文版本进行比较,以验证发送了所述加密指纹220的VNF的真实性。
根据一些示例,如图3中所示,方案300可以包括其他验证步骤,以验证明文指纹210内包含的标签216。对于这些示例而言,MAC 310可以包括使用MAC算法生成标签’312,其将产生标签126的重新生成版本。将root_key 230与VNF-C ID和随机#214结合使用以作为输入的MAC算法可以生成标签’312。可以将标签’312与标签216进行比较,以验证明文指纹210的真实性。如果标签’312与标签216不匹配,那么明文指纹210验证失败,并且使用明文指纹210建立安全连接的尝试可能被异常终止,并且/或者可以向发送VNF传送验证失败的消息。
图4示出了示例性过程400。在一些示例中,过程400可以用于启动秘钥交换过程,从而在单独计算平台托管的VNF之间建立安全连接。对于这些示例而言,图1所示的系统100的元件可以与过程400相关。系统100的这些元件可以包括但不限于与相应的VNF A-C的VF驱动器162-1到161-N通信的HSM 150的逻辑和/或特征,所述相应的VNF A-C由第一计算平台(未示出)托管的VM执行,所述VM由监视器401管理/控制。而且,如图4中所示,单独的计算平台托管的逻辑/特征(例如,HSM 450的逻辑和/或特征)与用于相应的VNF D-E的VF驱动器462-1和462-2通信,所述VNF D-E由第二计算平台(未示出)托管的VM执行,所述VM由监视器402管理/控制。此外,如图2-3中所示的示例性方案200和300也可以与过程400相关。然而,示例性过程400不限于使用图1所示的系统100的元件或者图2-3所示的示例性方案200或300的实施方式。
从过程4.1开始,VNF-C可以通过消息启动与VNF-D的安全连接,例如,所述消息可以是但不限于在安全套接字层(SSL)连接中使用的“客户端问候”消息。在一些示例中,所述安全连接可以被建立为使VNF-C能够与VNF-D安全地交换数据和/或分组。所述启动可以是通过经由在第一计算平台和第二计算平台之间保持的网络连接发送的客户端问候消息发生的。
进行至过程4.2,响应于所述客户端问候消息,VNF-D可以使用VF驱动器462-1通过与VF461-1的直通连接请求HSM 450提供加密指纹D。在一些示例中,如上所述,可以响应于VNF的启动生成独特指纹。指纹D可以是由HSM逻辑456响应于VNF-D的启动生成的,之后被以未加密或明文版本存储到HSM 450内(例如,存储到片上存储器上)。响应于所述请求,HSM逻辑456可以根据图2所示的使用共享根秘钥405的方案200对指纹D加密,之后将加密指纹D提供给VNF-D。
进行至过程4.3,VNF-D可以通过消息发送加密指纹D,例如,所述消息可以是但不限于SSL“服务器问候”消息。所述消息可以是通过在第一计算平台和第二计算平台之间保持的网络连接发送的。在一些示例中,所述加密指纹D还可以包括VNF-D的ID的附加明文版本,以供后面在认证VNF-D时使用。
进行至过程4.4,用于VNF-C的VF驱动器162-N可以通过使用与VF 161-N的直通连接向HSM 150发送加密指纹D连同所附加的VNF-D的ID的明文版本,并且请求HSM 150生成会话秘钥,以有助于安全连接的建立。
进行至过程4.5,根据一些示例,HSM 150的逻辑和/或特征(例如,HSM逻辑156)可以使用根秘钥405对加密指纹D解密,之后根据图3所示的方案300既识别VNF-D的真实性又识别解密指纹D的真实性。指纹D可以被存储或保存到HSM 150内(例如,片上存储器内)。之后,HSM逻辑156可以生成被用作会话秘钥410的随机数,之后通过示例性第一加密方案对会话秘钥410加密,所述第一加密方案包括使根秘钥405与现在保存在HSM 150处的明文指纹D进行XOR运算。示例不限于用以对会话秘钥410加密的示例性第一加密方案。可以设想采用其他加密方案对会话秘钥410加密。之后,通过使用VF驱动器162-N和VF161-N之间的直通连接将加密后的会话秘钥410提供给VNF-C。
进行至过程4.6,VNF-C可以将加密会话秘钥410提供给VNF-D。根据一些示例,由于会话秘钥410的加密的原因,可以防止骗子或坏人的拦截访问到明文会话秘钥。
进行至过程4.7,VNF-D可以接收加密会话秘钥410,并且可以使加密会话秘钥410被至少暂时地存储到分配给执行VNF-D的VM的存储器当中。在一些示例中,VNF-D可能需要对将发送至VNF-C的数据或分组进行加密。对于这些示例而言,VNF-D可以利用VF驱动器462-1和VF 461-1之间的直通连接使HSM 450的逻辑和/或特征访问所存储的加密会话秘钥410,以便用于对发送至VNF-C的数据或分组进行加密。
进行至过程4.8,HSM 450的逻辑和/或特征(例如,HSM逻辑456)可以使用示例性第一解密方案,其包括通过使根秘钥405与保存在HSM 450中的明文指纹D进行XOR运算而对所获得的加密会话秘钥410解密。示例不限于用以对加密会话秘钥410解密的示例性第一解密方案。可以设想其他解密方案对加密会话秘钥410解密。之后,可以采用会话秘钥410的明文版本对要发送至VNF-C的数据或分组加密。因而,保持了对会话秘钥410的保护,并且这建立了VNF-C和VNF-D之间的安全连接。之后,过程400可以结束。
根据一些示例,可以在由同一计算平台托管的VM所执行的VNF之间实施与过程400类似的过程。对于这些示例而言,可以通过在执行相应VNF的VM之间路由的内部网络连接建立安全连接。因而,示例不限于启动秘钥交换过程,之后在由单独计算平台托管的相应VM所执行的VNF之间建立安全连接。
图5示出了示例性逻辑流程500。在一些示例中,逻辑流程500可以由如图4所示的VM 162-N执行的VNF-C处以及VM 462-1执行的VNF-D处的逻辑和/或特征实施。对于这些示例而言,逻辑流程500从VNF-C和VNF-D的角度描绘了用于启动秘钥交换过程,从而在VNF-C和VNF-D之间建立安全连接的动作流程。如下文进一步所述,如果两个VNF支持使用HSM的秘钥交换过程,那么所述安全连接的启动和建立可以采取与图4所示并且如上文所述的过程400类似的方式。
从块502中开始,VNF-C的逻辑和/或特征可以启动或者开始与VNF-D的秘钥交换。在一些示例中,秘钥交换的启动可以包括向VNF-D发送消息,例如,SSL“客户端问候”消息。所述客户端问候消息可以包括VNF-C请求与VNF-D建立安全连接的指示。对于这些示例而言,可以通过在单独托管执行VNF-C和VNF-D的相应VM的第一和第二计算平台之间保持的网络连接发送所述客户端问候消息。
在块504中,VNF-D可以接收来自VNF-C的客户端问候消息,其指示VNF-C的与VNF-D建立安全连接的请求。
在判决块506中,如果VNF-C和VNF-D两者均支持使用HSM的秘钥交换过程(如上文在交换加密会话秘钥410时针对过程400所述),那么逻辑流程500从VNF-D的角度进行至块510,并且从VNF-C的角度进行至块512。在一些示例中,缺乏支持可以包括没有在相应的HSM150和HSM 450处将VNF-C或VNF-D直接分配给相应的VF 161-N和VF461-1。在一些示例中,没有直接分配可能是由于在托管执行VNF C-D的VM的任意计算平台处缺少HSM。否则,如果不支持利用HSM的秘钥交换过程,逻辑流程将进行至块508。
在块508中,可以完成VNF-C和VNF-D之间的正常秘钥交换过程。所述正常秘钥交换过程可以包括基于使用诸如RSA或DH的非对称加密算法的KPI的会话秘钥交换。根据一些示例,当VNF-C和VNF-D的任一者缺乏对HSM交换过程的支持时,所述正常秘钥交换可以从VNF-C和VNF-D两者的角度完成安全连接的建立。
在块510中,VNF-D处的逻辑和/或特征(例如,VF驱动器462-1)可以向HSM 450的逻辑和/或特征发送对指纹D进行加密的请求。HSM 450的逻辑和/或特征可以根据图2所示的方案200对指纹D加密,之后将加密后的指纹D提供给VNF-D。之后,VNF-D的逻辑和/或特征可以使加密指纹D被发送至VNF-C。
在块512中,VNF-C的逻辑和/或特征(例如,VF驱动器162-N)可以接收加密指纹D,并且将加密指纹D提供给HSM 150,并且请求HSM 150对指纹D解密并加以验证,并且一旦通过验证就生成会话秘钥。
在块514中,HSM 150的逻辑和/或特征(例如,HSM逻辑156)可以根据图3所示的方案300对指纹D进行验证,并且一旦通过验证可以生成会话秘钥,对会话秘钥加密并将加密会话秘钥提供给VNF-C。在一些示例中,可以通过VF 162-1提供加密会话秘钥。VF 162-1可以使加密会话秘钥被存储到分配给执行VNF-C的VM 160-N的存储器当中。例如,如图1所示的存储区122-N。
在块516中,VNF-C的逻辑和/或特征可以使加密会话秘钥被发送至VNF-D。在一些示例中,这一对加密会话秘钥的发送从VNF-C的角度完成了安全连接的建立。
在块518中,VNF-D的逻辑和/或特征可以接收加密会话秘钥,之后将加密会话秘钥提供给HSM 450。在一些示例中,可以将加密会话秘钥提供给HSM 450,以便用于对要发送至VNF-C的或者从VNF-C接收的数据/分组进行加密/解密。提供加密会话秘钥可以包括VNF-D首先使加密会话秘钥存储到分配给执行VNF-D的VM的存储器内。之后,VNF-D可以使用VF驱动器462-1与HSM 450处的VF 461-1协作,从而从所分配的存储器获得所述加密会话秘钥。
在块520处,HSM 450的逻辑和/或特征(例如,HSM 456)可以对所述加密会话秘钥解密,以便对数据/分组进行加密/解密。在一些示例中,如上文针对过程400所提及的,HSM456可以采用共享根秘钥和明文指纹D对加密会话秘钥解密。获得加密会话秘钥继而对其解密可以从VNF-D的角度完成安全连接的建立。
图6示出了用于数据或分组加密的示例性方案600。在一些示例中,如图6中所示,方案600可以由HSM处的逻辑和/或特征(例如,HSM 150的HSM逻辑156)实施。对于这些示例而言,数据或分组加密可以是响应于对要经由所建立的安全连接(例如,已经交换了会话秘钥410)发送至VNF-D的数据或分组予以加密的请求而进行的。所述请求可以是由VNF-C的逻辑和/或特征做出的。如前文所提及的,VNF-C由VM 160-N执行。而且,如先前所提及的,存储区122-N可以是分配给VM 160-N的存储器的部分。
在一些示例中,HSM逻辑156可以通过从存储区122-N获得加密/密文会话秘钥410而开始方案600,之后通过根秘钥405与明文指纹D的XOR执行对称解密,从而得到密文会话秘钥410。对于这些示例而言,可以由HSM逻辑156从存储区122-N获得明文数据/分组605。之后,可以通过使用明文会话秘钥410和对称密码算法的对称加密对明文数据/分组605进行加密,例如,所述对称密码算法可以是但不限于高级加密标准(AES)密码算法或数据加密标准(DES)密码算法。紧随加密之后,可以将加密/密文数据/分组605存储到存储区122-N内。之后,VNF-C可以使加密/密文数据/分组605发送至VNF-D。
图7示出了用于数据或分组解密的示例性方案700。在一些示例中,如图6中所示,方案700可以由HSM处的逻辑和/或特征(例如,HSM 450的HSM逻辑456)实施。对于这些示例而言,数据或分组加密可以是响应于对要经由所建立的安全连接(例如,已经交换了会话秘钥410)接收自VNF-C的加密数据或分组予以解密的请求而进行的。所述请求可以是由VNF-D的逻辑和/或特征做出的。与VNF-C类似,VNF-D可以由具有所分配的存储器的VM执行。存储区422-1可以表示分配给这一VM的存储器的部分。
在一些示例中,HSM逻辑456可以通过从存储区422-1获得加密/密文会话秘钥410而开始方案600,之后通过根秘钥405与明文指纹D的XOR执行对称解密,从而得到密文会话秘钥410。对于这些示例而言,可以由HSM逻辑456从存储区422-1获得加密/密文数据/分组605。之后,可以通过使用明文会话秘钥410以及由HSM 156用来对数据/分组605加密的同一对称密码算法的对称解密对加密/密文数据/分组605解密。在紧随解密之后,可以将明文数据/分组605存储到存储区422-1内,以供VNF-D的后续访问。
如方案600和700中所演示的,VNF无权访问会话秘钥410的明文版本。而且,通过使用图4所示的直通连接,可以在不使与加密/解密有关的分组处理暴露于每一托管计算平台处的诸如OS、VMM或监视器的软件的情况下执行这种类型的分组处理。
图8示出了设备800的示例性方框图。尽管图8所示的设备800具有处于某一拓扑结构下的有限数量的元件,但是应当认识到,设备800可以根据既定实施方式所需包括处于替代拓扑结构下的更多或更少的元件。
根据一些示例,设备800可以由电路820支持。对于这些示例而言,电路820可以处于计算系统的处理器(例如,图1所示的处理器110)处。所述处理器可以支持一个或多个可以单独执行相应的VNF的VM,例如,图1所示的执行VNF A-C的VM 160-1到VM 160-N。电路820可以被布置为执行一个或多个软件或固件实施的模块、部件或逻辑822-a(在这一语境下,模块、部件或逻辑可以互换使用)。值得注意的是,本文使用的“a”、“b”和“c”以及类似指示符意在作为表示任何正整数的变量。因而,例如,如果一种实施方式将a的值设为a=4,那么用于模块、部件或逻辑822-a的完整的一组软件或固件可以包括逻辑822-1、822-2、822-3或822-4。所介绍的示例在这一语境下不构成限制,通篇使用的不同变量可以表示相同或不同的整数值。而且,“逻辑”、“模块”或“部件”还可以包括存储在计算机可读介质内的软件/固件,而且尽管各种逻辑类型在图8中被示为分立的框,但是其并非将这些类型的逻辑限定为存储到特定的计算机可读介质部件(例如,单独存储器等)当中。
根据一些示例,电路820可以包括处理器、处理器电路或处理器电路系统。电路820可以被大致布置为执行一个或多个软件部件822-a。电路820可以是各种市售处理器,包括但不限于:处理器;应用、嵌入式和安全处理器; 处理器;IBM和Cell处理器; Core(2)Core i3、Core i5、Core i7、 或Xeon处理器;以及类似处理器。根据一些示例,电路820还可以包括专用集成电路(ASIC),并且至少一些逻辑822-a可以被实施为ASIC的硬件元件。根据一些示例,电路820还可以包括现场可编程门阵列(FPGA),并且至少一些逻辑822-a可以被实施为FPGA的硬件元件。
根据一些示例,设备800可以包括启动逻辑822-1。启动逻辑822-1可以由电路820执行,以启动由所述处理器支持的第一VM所执行的第一VNF与第二VM所执行的第二VNF之间的秘钥交换。对于这些示例而言,客户端问候消息805可以通过经由网络连接建立安全连接的请求的指示来指示第一VNF和第二VNF之间的秘钥交换的启动。
在一些示例中,设备800可以包括接收逻辑822-2。接收逻辑822-2可以由电路820执行,以接收来自第二VNF的加密指纹,所述加密指纹是通过使用根秘钥、所述指纹的包括第二VNF的标识的明文、随机生成数和MAC而加密的。对于这些示例而言,可以将所述加密指纹包含在从第二VNF发送的服务器问候消息810当中。
根据一些示例,设备800还可以包括提供逻辑822-3。提供逻辑822-3可以由电路820执行,从而将加密指纹提供给与处理器耦合的HSM,所述HSM将通过使用根秘钥对所述加密指纹解密,生成会话秘钥,通过使用解密指纹和根秘钥对会话秘钥加密,并将加密会话秘钥提供给第一VNF。对于这些示例而言,提供逻辑822-3可以通过使加密指纹被存储到系统存储器的部分当中的第一GPA处,继而将所述第一GPA发送至所述HSM处的虚拟功能来提供所述加密指纹,其中,所述系统存储器是托管被布置为支持所述第一VM的处理器的计算平台的系统存储器,所述存储器部分是分配给所述第一VM的存储器部分。所述虚拟功能被直接分配给所述第一VNF,并且能够基于所述直接分配访问分配给所述第一VM的存储器部分。根据一些示例,所述虚拟功能可以向所述处理器发送包括所述第一GPA的请求消息,以获得所述加密指纹。所述第一GPA可以被包含到(一个或多个)用于加密指纹的GPA830当中。而且,紧随指纹解密之后,可以将解密指纹保存到HSM处的片上存储器当中。
在一些示例中,设备800还可以包括发送逻辑822-4。发送逻辑822-4可以由电路820执行,从而将加密会话秘钥发送给第二VNF,以便第二VNF通过使用所述指纹的明文和根秘钥对所述加密会话秘钥解密,所述会话秘钥可供用于对将从第二VNF经由请求所述安全连接所针对的网络连接发送至第一VNF的数据加密。
根据一些示例,提供逻辑822-3可以使所述HSM提供给所述第一VNF的加密会话秘钥被存储到分配给第一VM的存储器部分当中的第二GPA处。接下来,接收逻辑822-2可以经由所述网络连接接收来自第二VNF的加密数据,所述加密数据是通过使用所述会话秘钥加密的。所述加密数据可以被包括到加密数据815内。之后,提供逻辑822-3可以使所述加密数据被存储到分配给第一VM的存储器部分当中的第三GPA处,并将第二GPA发送给所述直接分配虚拟功能,从而将加密会话秘钥提供给所述HSM,所述HSM将通过使用解密指纹和根秘钥对所述加密会话秘钥解密。所述第二GPA可以被包括到(一个或多个)用于加密会话秘钥的GPA840当中。之后,提供逻辑822-3可以将第三GPA发送至所述直接分配虚拟功能,从而将接收自第二VNF的加密数据提供给所述HSM。所述第三GPA可以被包括到(一个或多个)用于加密数据的GPA850当中。之后,所述HSM通过使用所述会话秘钥对加密数据解密,之后使解密或明文数据被存储到分配给第一VM的存储器部分当中的第四GPA处。所述第四GPA可以被包括到(一个或多个)用于解密数据的GPA 860当中。
设备800的各种部件以及实施设备800的装置或节点可以通过各种类型的通信媒介相互通信耦合,从而协同操作。所述协作可以涉及信息的单向或双向交换。例如,所述部件可以按照通过通信媒介传送的信号的形式传送信息。所述信息可以被实施为分配给各种信号线的信号。在这样的分配当中,每一消息为信号。然而,其他实施例可以替代性地使用数据消息。可以跨越各种连接发送这样的数据消息。示例性连接包括并行接口、串行接口和总线接口。
本文包含一组表示示例性方法的逻辑流程,所述示例性方法用于执行所公开的架构的各个新颖方面。尽管为了解释的简化起见,将本文所示的一个或多个方法图示并且描述为一系列动作,但是本领域的技术人员应当理解和认识到所述方法不受所述动作的顺序的限制。据此,一些动作可以按照不同于本文图示和描述的顺序的顺序发生,并且/或者与其他动作同时发生。例如,本领域的技术人员将理解并且认识到,所述方法可以被替代性地表示为一系列相关的状态或事件(例如,在状态图当中)。此外,对于一种新颖实施方式而言,可能并不需要所述方法中所例示的所有动作。
逻辑流程可以通过软件、固件和/或硬件实施。在软件和固件实施例中,逻辑流程可以通过存储在至少一个非暂态计算机可读介质或机器可读介质(例如,光学存储器、磁存储器和半导体存储器)上的计算机可执行指令来实施。在这一语境下,所述实施例不受限制。
图9示出了示例性逻辑流程900。逻辑流程900可以表示由本文描述的一个或多个逻辑、特征或装置(例如,设备900)执行的操作的一些或全部。更具体地讲,逻辑流程900可以至少由启动逻辑822-1、接收逻辑822-2、提供逻辑822-3或发送逻辑822-4实施。
根据一些示例,逻辑流程900在块902中可以在由第一VM执行的第一VNF处启动与由第二VM执行的第二VNF的秘钥交换。对于这些示例而言,启动逻辑822-1可以启动秘钥交换。
在一些示例中,逻辑流程900可以在块904中接收来自第二VNF的加密指纹,所述加密指纹是使用根秘钥、所述指纹的包括第二VNF的标识的明文、随机生成数和MAC值而加密的。对于这些示例而言,接收逻辑822-2可以接收加密指纹。
根据一些示例,逻辑流程900可以在块906中向与被布置为支持所述第一VM的处理器耦合的HSM提供加密指纹,所述HSM将通过使用根秘钥对所述加密指纹解密,生成会话秘钥,通过使用解密指纹和根秘钥对会话秘钥加密,并将加密会话秘钥提供给第一VNF。对于这些示例而言,提供逻辑822-3可以向所述HSM提供加密指纹。
在一些示例中,逻辑流程900可以在块908中向第二VNF发送加密会话秘钥,以便第二VNF通过使用所述指纹的明文和根秘钥对所述加密会话秘钥解密,所述会话秘钥用于对将从第二VNF经由网络连接发送至第一VNF的数据加密。对于这些示例而言,发送逻辑822-4使得加密会话秘钥被发送至第二VNF。
图10示出了示例性存储介质1000。如图10中所示,第一存储介质包括存储介质1000。存储介质1000可以包括制品。在一些示例中,存储介质1000可以包括任何非暂态计算机可读介质或机器可读介质,例如,光学存储器、磁存储器或半导体存储器。存储介质1000可以存储各种类型的计算机可读指令,例如,实现逻辑流程900的指令。计算机可读或者机器可读存储介质的示例可以包括任何能够存储电子数据的有形介质,包括易失性存储器或非易失性存储器、可拆卸或不可拆卸存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可以包括任何适当类型的代码,例如,源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码等。在这一语境下,所述示例不受限制。
图11示出了设备1100的示例性方框图。尽管图11所示的设备1100具有处于某一拓扑结构下的有限数量的元件,但是应当认识到,设备1100可以根据既定实施方式所需包括处于替代拓扑结构下的更多或更少的元件。
根据一些示例,设备1100可以由与处理器耦合的HSM处的电路1120支持,例如,所述HSM是图1所示的与处理器110耦合的HSM 150。电路1120可以被布置为执行一个或多个软件或固件实施的模块、部件或逻辑1122-a(在这一语境下,模块、部件或逻辑可以互换使用)。值得注意的是,本文使用的“a”、“b”和“c”以及类似指示符意在作为表示任何正整数的变量。因而,例如,如果一种实施方式将a的值设为a=5,那么用于模块、部件或逻辑1122-a的完整的一组软件或固件可以包括逻辑1122-1、1122-2、1122-3、1122-4或1122-5。所述示例在这一语境下不构成限制,通篇使用的不同变量可以表示相同或不同的整数值。而且,“逻辑”、“模块”或“部件”还可以包括存储在计算机可读介质内的软件/固件,而且尽管各种逻辑类型在图11中示出为分立的框,但是其并非将这些类型的逻辑限定为存储到特定的计算机可读介质部件(例如,单独存储器等)当中。
根据一些示例,电路1120可以包括处理器、处理器电路或处理器电路系统。电路1120可以被大致布置为执行一个或多个软件部件1122-a。电路1120可以是各种市售处理器中的任何处理器,其包括但不限于上文针对设备1100提及的处理器。而且,根据一些示例,电路1120还可以是ASIC,并且至少一些逻辑1122-a可以被实施为ASIC的硬件元件。根据一些示例,电路1120还可以包括FPGA,并且至少一些逻辑1122-a可以被实施为FPGA的硬件元件。
根据一些示例,设备1100可以包括指纹逻辑1122-1。指纹逻辑1122-1可以由电路1120执行,以生成用于由第一VM执行的第一VNF的指纹,所述第一VM由与所述HSM耦合的处理器支持。所述指纹可以包括第二VNF的标识、随机生成数和MAC值。对于这些示例而言,所述指纹可以是响应于由第一VM执行的第一VNF的初始启动生成的。
在一些示例中,设备1100可以包括请求逻辑1122-2。请求逻辑1122-2可以由电路1120执行,以接收对指纹加密并将加密指纹提供给第一VNF的请求。对于这些示例而言,所述请求可以被包括到请求1105当中。
根据一些示例,设备1100还可以包括加密逻辑1122-3。加密逻辑1122-3可以由电路1120执行,从而通过使用根秘钥对指纹加密,并将加密指纹提供给第一VNF。对于这些示例而言,加密逻辑将加密指纹提供给第一VNF可以包括所述加密逻辑使HSM处的虚拟功能将加密指纹存储到系统存储器的部分当中的第一GPA处。所述系统存储器可以是托管支持所述第一VM的处理器的计算平台的系统存储器。所述存储器的所述部分可以已经被分配给所述第一VM。所述虚拟功能已经被直接分配给所述第一VNF,并且可以能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送请求消息,所述请求消息包括所述加密指纹和所述第一GPA,从而使所述加密指纹被存储到系统存储器的所述部分当中。加密逻辑1122-3可以向第一VNF指示所述第一GPA,从而将所述加密指纹提供给所述第一VNF。所指示的第一GPA可以被包括到(一个或多个)用于加密指纹的GPA1110当中。
在一些示例中,设备1100还可以包括接收逻辑1122-4。接收逻辑1122-4可以由电路1120执行,以接收来自第一VNF的指示,所述指示表明,第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收作为与第二VM执行的第二VNF的秘钥交换的部分。
根据一些示例,设备1100还可以包括解密逻辑1122-5。解密逻辑1122-5可以由电路1120执行,从而获得加密会话秘钥,并通过使用所述指纹和根秘钥对加密会话秘钥解密。对于这些示例而言,所述会话秘钥(一旦解密)就可以用于对从第一VNF经由网络连接发送至第二VNF的数据加密。
在一些示例中,请求逻辑1122-2可以接收将通过使用所述会话秘钥对存储在分配给第一VM的存储器部分当中的第二GPA处的数据进行加密的指示。所述第二GPA可以被包括到(一个或多个)用于明文数据的GPA 1130当中。接收逻辑1122-2还可以接收来自第一VNF的指示,所述指示表明,加密会话秘钥已经被存储到了分配给第一VM的存储器部分当中的第三GPA处。所述第三GPA可以被包括到(一个或多个)用于加密会话秘钥的GPA 1115当中。对于这些示例而言,解密逻辑1122-5可以从第三GPA获得加密会话秘钥,并通过使用所述指纹和根秘钥对所述加密会话秘钥解密。加密逻辑1122-5可以获得存储在第二GPA处的数据,并通过使用会话秘钥对所述数据加密,并且使所述加密数据被存储到分配给第一VM的存储器部分当中的第四GPA处。之后,加密逻辑1122-5可以向所述第一VNF指示第四GPA,以供所述第一VNF访问所述加密数据。所述第四GPA可以被包括到(一个或多个)用于加密数据的GPA 1150当中。
设备1100的各种部件以及实施设备1100的装置可以通过各种类型的通信媒介相互通信耦合,从而协同操作。所述协作可以涉及信息的单向或双向交换。例如,所述部件可以按照通过通信媒介传送的信号的形式传送信息。所述信息可以被实施为分配给各种信号线的信号。在这样的分配当中,每一消息为信号。然而,其他实施例可以替代性地使用数据消息。可以跨越各种连接发送这样的数据消息。示例性连接包括并行接口、串行接口和总线接口。
图12示出了示例性逻辑流程1200。逻辑流程1200可以表示由本文描述的一个或多个逻辑、特征或装置(例如,设备1200)执行的操作的一些或全部。更具体地讲,逻辑流程1200可以至少由指纹逻辑1122-1、请求逻辑1022-2、加密逻辑1022-3、接收逻辑1022-4或者解密逻辑1122-5实施。
根据一些示例,逻辑流程1200在块1202处可以在与处理器耦合的HSM处生成用于由所述处理器支持的第一VM所执行的第一VNF的指纹,所述指纹包括第二VNF的标识、随机生成数和MAC值。对于这些示例而言,指纹逻辑1122-5可以生成所述指纹。
在一些示例中,逻辑流程1200在块1204中可以接收对所述指纹加密并将加密指纹提供给第一VNF的请求。对于这些示例而言,所述请求逻辑1122-2可以接收所述请求。
根据一些示例,逻辑流程1200在块1206处可以通过使用根秘钥对所述指纹加密,并将加密指纹提供给第一VNF。对于这些示例而言,加密逻辑1122-3可以对所述指纹加密。
在一些示例中,逻辑流程1200在块1208中可以接收来自第一VNF的指示,所述指示表明,第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收作为与第二VM执行的第二VNF的秘钥交换的部分。对于这些示例而言,接收逻辑1122-4可以接收所述指示。
根据一些示例,逻辑流程1200在块1210中可以获得加密会话秘钥,并通过使用所述指纹和根秘钥对所述加密会话秘钥解密,所述会话秘钥用于对将从第一VNF经由网络连接发送至第二VNF的数据加密。对于这些示例而言,解密逻辑1122-5可以获得加密会话秘钥并对其解密。之后,加密逻辑1122-3可以使用所述会话秘钥对发送至第二VNF的数据加密。
图13示出了示例性存储介质1300。如图13中所示,第一存储介质包括存储介质1300。存储介质1300可以包括制品。在一些示例中,存储介质1300可以包括任何非暂态计算机可读介质或机器可读介质,例如,光学存储器、磁存储器或半导体存储器。存储介质1300可以存储各种类型的计算机可读指令,例如,实现逻辑流程1300的指令。计算机可读或者机器可读存储介质的示例可以包括任何能够存储电子数据的有形介质,包括易失性存储器或非易失性存储器、可拆卸或不可拆卸存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。计算机可执行指令的示例可以包括任何适当类型的代码,例如,源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码等。在这一语境下,所述示例不受限制。
图14示出了示例性计算平台1400。在一些示例中,如图14中所示,计算平台1400可以包括处理部件1440、其他平台部件1450或通信接口1460。
根据一些示例,处理部件1440可以执行用于设备800和/或存储介质1000的处理操作或逻辑。处理部件1440可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括器件、逻辑器件、部件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、可编程逻辑器件(PLD)、数字信号处理器(DSP)、FPGA、存储单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、装置驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其组合。判断是否使用硬件元件和/或软件元件实施示例可以根据任何数量的因素而变化,例如,预期计算速率、功率水平、耐热性、处理周期预算、输入数据率、输出数据率、存储资源、数据总线速度以及其他设计或性能约束条件,如既定示例所需。
在一些示例中,其他平台部件1450可以包括公共计算元件、存储单元、芯片组、控制器、外设、接口、振荡器、定时器件、视频卡、音频卡、多媒体输入/输出(I/O)部件(例如,数字显示器)、电源等等。存储单元或存储装置的示例可以包括但不限于各种类型的计算机可读和机器可读存储介质,其可以具有一个或多个较高速度存储单元的形式,例如,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(例如,铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、诸如独立磁盘冗余阵列(RAID)驱动器的器件阵列、固态存储器件(例如,USB存储器)、固态驱动器(SSD)以及任何其他类型的适于存储信息的存储介质。
在一些示例中,通信接口1460可以包括支持通信接口的逻辑和/或特征。对于这些示例而言,通信接口1460可以包括一个或多个通信接口,它们根据各种通信协议或标准工作,从而经由直接或网络通信链路通信。直接通信可以是通过使用在一项或多项行业标准(包括子代和变体)当中描述的通信协议或标准(例如,与PCIe规范相关联的那些)而发生的。网络通信可以是通过使用通信协议或标准而发生的,例如,所述协议或标准可以是在电气和电子工程师协会(IEEE)颁布的一项或多项以太网标准当中描述的那些协议或标准。例如,IEEE颁布的一项此类以太网标准可以包括但不限于IEEE 802.3-2012,即2012年发布的基带冲突检测的载波侦听型多址接入(CSMA/CD)接入方法和物理层规范(下文称为“IEEE802.3规范”)。网络通信也可以是根据一个或多个OpenFlow规范(例如,OpenFlow硬件抽象API规范)而发生的。网络通信还可以是根据Infiniband Architecture(无线带宽架构)规范发生的。
计算平台1400可以被实施到服务器或客户端计算装置内。相应地,在计算平台1400的各种实施例中,可以包含或者省略本文描述的计算平台1400的功能和/或具体配置,具体取决于服务器或客户端计算装置的适当预期。
计算平台1400的部件和特征可以是使用分立电路、专用集成电路(ASIC)、逻辑门和/或单芯片架构的任何组合实施的。此外,计算平台1400的特征在适当情况下可以是使用微控制器、可编程逻辑阵列和/或微处理器或者前述选项的任何组合实施的。应当指出,硬件、固件和/或软件元件在本文中可以被统称为或者被单独称为“逻辑”或“电路”。
应当认识到,图14的方框图中所示的示例性计算平台1400可以表示很多潜在实施方式的一种功能描述性示例。相应地,在实施例中对附图中描绘的块功能的划分、省略或包含并不暗示用于实施这些功能的硬件部件、电路、软件和/或元件将一定被划分、省略或包含。
图15示出了示例性硬件安全模块(HSM)1500。在一些示例中,如图15中所示,HSM1500可以包括处理部件1540、其他平台部件或通信接口1560。根据一些示例,HSM 1500可以在与处理器耦合的HSM中实施,与如图1所示并且如上文所述的与处理器110耦接的HSM 150类似。
根据一些示例,处理部件1540可以执行用于设备1100和/或存储介质1300的处理操作或逻辑。处理部件1540可以包括各种硬件元件、软件元件或两者的组合。硬件元件的示例可以包括器件、逻辑器件、部件、处理器、微处理器、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、PLD、DSP、FPGA、存储单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、装置驱动器、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其组合。判断是否使用硬件元件和/或软件元件实施示例可以根据任何数量的因素而变化,例如,预期计算速率、功率水平、耐热性、处理周期预算、输入数据率、输出数据率、存储资源、数据总线速度以及其他设计或性能约束条件,如既定示例所需。
在一些示例中,其他平台部件1550可以包括公共计算元件,例如,一个或多个处理器、多核处理器、协处理器、存储单元、芯片组、控制器、外设、接口、振荡器、定时器件等。存储单元的示例可以包括但不限于各种类型的计算机可读和机器可读存储介质,其具有一种或多种较高速度的存储单元的形式,例如,ROM、RAM、DRAM、DDRAM、SDRAM、SRAM、PROM、T-RAM、Z-RAM、EPROM、EEPROM、可块寻址或者可字节寻址的非易失类型存储器(其可以包括但不限于使用硫属化物相变材料(例如,硫属化物玻璃)的存储器、多阈值电平NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、FeTRAM、结合了记忆电阻器技术的MRAM、STT-MRAM)或者任何其他类型的适于存储信息的存储介质。
在一些示例中,通信接口1560可以包括支持通信接口的逻辑和/或特征。对于这些示例而言,通信接口1560可以包括一个或多个通信接口,它们根据各种通信协议或标准工作,从而经由直接或网络通信链路通信。直接通信可以是通过使用在一项或多项行业标准(包括子代和变体)当中描述的通信协议或标准(例如,与PCIe规范相关联的那些)而发生的。
HSM 1500的部件和特征可以是使用分立电路、ASIC、逻辑门和/或单芯片架构的任何组合实施的。此外,HSM 1500的特征在适当情况下可以是使用微控制器、可编程逻辑阵列和/或微处理器或者前述选项的任何组合实施的。应当指出,硬件、固件和/或软件元件在本文中可以被统称为或者被单独称为“逻辑”或“电路”。
应当认识到,图15的方框图中所示的示例性HSM 1500可以表示很多潜在实施方式的一种功能描述性示例。相应地,在实施例中对附图中描绘的块功能的划分、省略或包含并不暗示用于实施这些功能的硬件部件、电路、软件和/或元件将一定被划分、省略或包含。
至少一个示例的一个或多个方面可以是通过存储在至少一个机器可读介质上的表示处理器内的各种逻辑的代表性指令实施的,所述指令在被机器、计算装置或系统读取时使得所述机器、计算装置或系统制作出执行本文描述的技术的逻辑。这样的被称为“IP核”的表示可以被存储到有形机器可读介质上,并且被供应给各种客户或者制造设施,继而被加载到实际制作逻辑或处理器的制作机器当中。
各种示例可以是使用硬件元件、软件元件或两者的组合实施的。在一些示例中,硬件元件可以包括器件、部件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、PLD、DSP、FPGA、存储单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。在一些示例中,软件元件可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其组合。判断是否使用硬件元件和/或软件元件实施示例可以根据任何数量的因素而变化,例如,预期计算速率、功率水平、耐热性、处理周期预算、输入数据率、输出数据率、存储资源、数据总线速度以及其他设计或性能约束条件,如既定实施方式所需。
一些示例可以包括制品或者至少一种计算机可读介质。计算机可读介质可以包括用以存储逻辑的非暂态存储介质。在一些示例中,所述非暂态存储介质可以包括一种或多种类型的能够存储电子数据的计算机可读存储介质,包括易失性存储器或非易失性存储器、可拆卸或不可拆卸存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。在一些示例中,所述逻辑可以包括各种软件元件,例如,软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其组合。
根据一些示例,计算机可读介质可以包括存储或保存指令的非暂态存储介质,所述指令在受到机器、计算装置或系统执行时,使得所述机器、计算装置或系统执行根据所描述的示例的方法和/或操作。所述指令可以包括任何适当类型的代码,例如,源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。所述指令可以是根据预定义计算机语言、方式或语法实施的,从而命令机器、计算装置或系统执行某项功能。所述指令可以是使用任何高级、低级、面向对象的、视觉、编译和/或解释编程语言实施的。
一些示例可以是采用表述“在一个示例中”或者“示例”连同其衍生形式来描述的。这些术语是指在至少一个示例中包含了联系所述示例描述的具体特征、功能或特性。在本说明书中的不同位置出现短语“在一个示例中”不一定都是指同一个示例。
一些示例可以是采用表述“耦合”和“连接”连同其衍生形式来描述的。未必意在使这些术语彼此同义。例如,使用术语“连接”和/或“耦合”的描述可以指示两个或更多元件相互直接物理或电接触。然而,词语“耦合”或者“与……耦合”也可以指两个或更多元件不相互直接接触,但是仍然相互协作或交互。
下面的示例涉及本文公开的技术的额外示例。
示例1。一种示例性设备可以包括位于计算系统的处理器处的电路。所述处理器可以被布置为支持第一VM,所述第一VM被布置为执行第一VNF。所述设备还可以包括由所述电路执行从而在所述第一VNF和由第二VM执行的第二VNF之间启动秘钥交换的启动逻辑。所述设备还可以包括由所述电路执行从而接收来自所述第二VNF的加密指纹的接收逻辑,所述加密指纹是通过使用根秘钥进行加密的。所述指纹的明文可以包括第二VNF的标识、随机生成数和MAC值。所述设备还可以包括由所述电路执行从而向与所述处理器耦合的硬件安全模块(HSM)提供所述加密指纹的提供逻辑,所述HSM将通过使用根秘钥对所述加密指纹进行解密,生成会话秘钥,通过使用所述解密指纹和根秘钥对所述会话秘钥进行加密,并将加密会话秘钥提供给所述第一VNF。所述设备还可以包括由所述电路执行以将所述加密会话秘钥发送至所述第二VNF的发送逻辑,以便于所述第二VNF通过使用所述指纹的明文和所述根秘钥对所述加密会话秘钥进行解密。所述会话秘钥可以用于对从所述第二VNF经由所述网络连接发送至所述第一VNF的数据进行加密。
示例2。根据示例1所述的设备,从所述第二VNF接收的加密指纹还可以包括所述第二VNF的第一明文标识。对于这些示例而言,所述HSM可以基于所述第二VNF的所述第一明文标识与包含在所述解密指纹当中的所述第二VNF的第二明文标识的比较来验证所述第二VNF的真实性。
示例3。根据示例1所述的设备,所述指纹的明文当中包含的MAC值可以基于MAC算法,所述MAC算法包括将所述根秘钥与所述第二VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。所述HSM可以基于所述MAC值与重新生成的MAC值的比较来验证所述解密指纹的真实性。所述重新生成的MAC值可以基于将所述根秘钥与所述第二VNF的解密标识和解密随机生成数结合使用,以作为所述MAC算法的输入,从而生成所述重新生成的MAC值。
示例4。根据示例1所述的设备,所述启动逻辑启动所述第一VNF和所述第二VNF之间的秘钥交换可以包括所述启动逻辑使第一消息经由所述网络连接发送至所述第二VNF。所述消息可以指示所述第一VNF请求经由所述网络连接与所述第二VNF的安全连接。
示例5。根据示例4所述的设备还可以包括所述接收逻辑经由所述网络连接接收来自所述第二VNF的第二消息以及所述加密指纹。对于这些示例而言,所述第一消息可以是客户端问候消息,所述第二消息可以是服务器问候消息。
示例6。根据示例1所述的设备,所述第一VNF或者所述第二VNF可以被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
示例7。根据示例6所述的设备,所述第二VNF的标识可以与所述功能类型相关联。
示例8。根据示例1所述的设备,所述提供逻辑将所述加密指纹提供给所述HSM可以包括所述提供逻辑使所述加密指纹被存储到系统存储器的部分当中的第一GPA处。所述系统存储器可以用于计算平台,所述计算平台托管被布置为支持所述第一VM的处理器,所述存储器部分被分配给所述第一VM。所述提供逻辑还可以将所述第一GPA发送至所述HSM处的虚拟功能。所述虚拟功能被直接分配给所述第一VNF,并且能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送包括所述第一GPA的请求消息,以获得所述加密指纹。对于这些示例而言,紧随指纹解密之后,可以将解密指纹保存到HSM处的片上存储器当中。
示例9。根据示例8所述的设备还可以包括所述提供逻辑使所述加密会话秘钥被存储到分配给所述第一VM的存储器部分当中的第二GPA处。对于这些示例而言,所述接收逻辑可以经由所述网络连接接收来自所述第二VNF的加密数据。所述加密数据可以是通过使用所述会话秘钥进行加密的。而且,所述提供逻辑可以使所述加密数据被存储到分配给第一VM的存储器部分当中的第三GPA处,并将所述第二GPA发送给所述直接分配的虚拟功能,从而将所述加密会话秘钥提供给所述HSM。所述HSM可以通过使用所述解密指纹和所述根秘钥对所述加密会话秘钥进行解密。所述提供逻辑可以将所述第三GPA发送至所述直接分配的虚拟功能,从而将接收自所述第二VNF的加密数据提供给所述HSM。所述HSM可以通过使用所述会话秘钥对所述加密数据进行解密。
示例10。根据示例1所述的设备还可以包括由所述第一VM执行的所述第一VNF可以由通过所述网络连接与第二计算平台耦合的第一计算平台托管。由所述第二VM执行的所述第二VNF可以由所述第二计算平台托管。
示例11。根据示例1所述的设备还可以包括由所述第一VM执行的所述第一VNF由计算平台托管,并且由所述第二VM执行的所述第二VNF同样由所述计算平台托管。对于这些示例而言,所述第一VM和所述第二VM可以通过所述网络连接耦合。
示例12。根据示例1所述的设备还可以包括作为AISC或FPGA的被配置成用于所述处理器的密码加速器的HSM。
示例13。一种示例性方法可以包括在第一VM执行的第一VNF处启动与第二VM执行的第二VNF的秘钥交换。所述方法还可以包括从所述第二VNF接收加密指纹。所述加密指纹可以是使用根秘钥进行加密的。所述指纹的明文可以包括第二VNF的标识、随机生成数和MAC值。所述方法还可以包括向与支持所述第一VM的处理器耦合的HSM提供所述加密指纹。所述HSM可以采用所述根秘钥对所述加密指纹进行解密,生成会话秘钥,使用解密指纹和所述根秘钥对所述会话秘钥进行加密,并且将加密会话秘钥提供给所述第一VNF。所述方法还可以包括将所述加密会话秘钥发送至所述第二VNF,以便于所述第二VNF使用所述指纹的明文和所述根秘钥对所述加密会话秘钥进行解密。所述会话秘钥可以用于对从所述第二VNF经由所述网络连接发送至所述第一VNF的数据进行加密。
示例14。根据示例13所述的方法,从所述第二VNF接收的加密指纹还可以包括所述第二VNF的第一明文标识。所述HSM可以基于所述第二VNF的所述第一明文标识与包含在所述解密指纹当中的所述第二VNF的第二明文标识的比较来验证所述第二VNF的真实性。
示例15。根据示例13所述的方法,所述指纹的明文当中包含的MAC值可以基于MAC算法,所述MAC算法包括将所述根秘钥与所述第二VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。所述HSM可以基于所述MAC值与重新生成的MAC值的比较来验证所述解密指纹的真实性。所述重新生成的MAC值可以基于将所述根秘钥与所述第二VNF的解密标识和解密随机生成数结合使用,以作为对所述MAC算法的输入,从而生成所述重新生成的MAC值。
示例16。根据示例13所述的方法,启动与所述第二VNF的秘钥交换可以包括经由所述网络连接向所述第二VNF发送第一消息。所述消息可以指示所述第一VNF请求经由所述网络连接与所述第二VNF的安全连接。
示例17。根据示例16所述的方法还可以包括经由所述网络连接接收来自所述第二VNF的第二消息以及所述加密指纹。对于这些示例而言,所述第一消息可以是客户端问候消息,所述第二消息可以是服务器问候消息。
示例18。根据示例13所述的方法还可以包括所述第一VNF或者所述第二VNF被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
示例19。根据示例18所述的方法,所述第二VNF的标识可以与所述功能类型相关联。
示例20。根据示例13所述的方法,将所述加密指纹提供给所述HSM可以包括使所述加密指纹被存储到系统存储器的部分当中的第一GPA处。所述系统存储器可以用于托管支持所述第一VM的处理器的计算平台。所述存储器部分可以被分配给所述第一VM。将所述加密指纹提供给所述HSM还可以将所述第一GPA发送至所述HSM处的虚拟功能。所述虚拟功能被直接分配给所述第一VNF,并且能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送包括所述第一GPA的请求消息,以获得所述加密指纹。对于这些示例而言,紧随指纹解密之后,将解密指纹保存到所述HSM处的片上存储器当中。
示例21。根据示例20所述的方法还可以包括使所述加密会话秘钥被存储到分配给所述第一VM的存储器部分当中的第二GPA处。所述方法还可以包括经由所述网络连接接收来自所述第二VNF的加密数据,所述加密数据是通过使用所述会话秘钥进行加密的。所述方法使所述加密数据被存储到分配给所述第一VM的存储器部分当中的第三GPA处。所述方法还可以包括将所述第二GPA发送给所述直接分配的虚拟功能,从而将所述加密会话秘钥提供给所述HSM。所述HSM可以使用所述解密指纹和所述根秘钥对所述加密会话秘钥进行解密。所述方法还可以包括将所述第三GPA发送至所述直接分配的虚拟功能,从而将接收自所述第二VNF的加密数据提供给所述HSM。所述HSM可以使用所述会话秘钥对所述加密数据进行解密。
示例22。根据示例13所述的方法还可以包括通过所述第一VM执行的第一VNF由通过所述网络连接与第二计算平台耦合的第一计算平台托管。通过所述第二VM执行的所述第二VNF可以由所述第二计算平台托管。
示例23。根据示例13所述的方法,由所述第一VM执行的所述第一VNF由计算平台托管,由所述第二VM执行的所述第二VNF同样可以由所述计算平台托管。对于这些示例而言,所述第一VM和所述第二VM可以通过所述网络连接耦合。
示例24。根据示例13所述的方法,所述HSM可以是被配置成用于所述处理器的密码加速器的ASIC或FPGA。
示例25。示例性的至少一种计算机可读介质可以包括多条指令,所述多条指令响应于被系统执行可以使得所述系统执行根据示例13到24中的任一项所述的方法。
示例26。一种示例性设备可以包括用于执行根据权利要求13到24中的任一项所述的方法的模块。
示例27。示例性的至少一种机器可读介质可以包括多条指令,所述多条指令响应于被系统执行而使得所述系统在第一VM执行的第一VNF处启动与第二VM执行的第二VNF的秘钥交换。所述指令还可以使所述系统从所述第二VNF接收加密指纹。所述加密指纹可以是使用根秘钥进行加密的。所述指纹的明文可以包括第二VNF的标识、随机生成数和MAC值。所述指令还可以使所述系统向与支持所述第一VM的处理器耦合的HSM提供所述加密指纹。所述HSM可以通过使用所述根秘钥对所述加密指纹进行解密,生成会话秘钥,通过使用解密指纹和根秘钥对所述会话秘钥进行加密,并且将加密会话秘钥提供给所述第一VNF。所述指令还可以使所述系统将所述加密会话秘钥发送至所述第二VNF,以便于所述第二VNF通过使用所述指纹的明文和所述根秘钥对所述加密会话秘钥进行解密。所述会话秘钥可以用于对从所述第二VNF经由所述网络连接发送至所述第一VNF的数据进行加密。
示例28。根据示例27所述的至少一种机器可读介质,从所述第二VNF接收的加密指纹还可以包括所述第二VNF的第一明文标识。所述HSM可以基于所述第二VNF的所述第一明文标识与包含在所述解密指纹当中的所述第二VNF的第二明文标识的比较来验证所述第二VNF的真实性。
示例30。根据示例27所述的至少一种机器可读介质,所述指纹的明文当中包含的MAC值可以基于MAC算法,所述MAC算法包括将所述根秘钥与所述第二VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。所述HSM可以基于所述MAC值与重新生成的MAC值的比较来验证所述解密指纹的真实性。所述重新生成的MAC值可以基于将所述根秘钥与所述第二VNF的解密标识和解密随机生成数结合使用,以作为对所述MAC算法的输入,从而生成所述重新生成的MAC值。
示例30。根据示例27所述的至少一种机器可读介质,所述指令使得所述系统在所述第一VNF和所述第二VNF之间启动秘钥交换可以包括所述系统将第一消息经由所述网络连接发送至所述第二VNF。所述消息可以指示所述第一VNF请求经由所述网络连接与所述第二VNF的安全连接。
示例31。根据示例30所述的至少一种机器可读介质,所述指令进一步使所述系统经由所述网络连接接收来自所述第二VNF的第二消息以及加密指纹。对于这些示例而言,所述第一消息可以是客户端问候消息,所述第二消息可以是服务器问候消息。
示例32。根据示例27所述的至少一种机器可读介质,所述第一VNF或者所述第二VNF可以被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
示例33。根据示例32所述的至少一种机器可读介质,所述第二VNF的标识可以与所述功能类型相关联。
示例34。根据示例27所述的至少一种机器可读介质,所述指令使得所述系统将所述加密指纹提供给所述HSM可以包括所述系统将所述加密指纹存储到系统存储器的部分当中的第一GPA处。所述系统存储器可以用于托管被布置为支持所述第一VM的处理器的计算平台。所述存储器部分可以被分配给所述第一VM。所示指令还可以使所述系统将所述第一GPA发送至所述HSM处的虚拟功能。所述虚拟功能被直接分配给所述第一VNF,并且能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送包括所述第一GPA的请求消息,以获得所述加密指纹。对于这些示例而言,紧随指纹解密之后,可以将解密指纹保存到HSM处的片上存储器当中。
示例35。根据示例34所述的至少一种机器可读介质,所述指令还可以使所述系统将所述加密会话秘钥存储到分配给所述第一VM的存储器部分当中的第二GPA处。所述指令还可以使所述系统经由所述网络连接接收来自所述第二VNF的加密数据,所述加密数据是通过使用所述会话秘钥进行加密的。所述指令还可以使所述系统将所述加密数据存储到分配给第一VM的存储器部分当中的第三GPA处,并将所述第二GPA发送给所述直接分配的虚拟功能,从而将所述加密会话秘钥提供给所述HSM。所述HSM可以通过使用所述解密指纹和所述根秘钥对所述加密会话秘钥进行解密。所述指令还可以使所述系统将所述第三GPA发送至所述直接分配的虚拟功能,从而将接收自所述第二VNF的加密数据提供至所述HSM,所述HSM将通过使用所述会话秘钥对所述加密数据进行解密。
示例36。根据示例27所述的至少一种机器可读介质,由所述第一VM执行的所述第一VNF由第一计算平台托管,所述第一计算平台通过所述网络连接与第二计算平台耦合。由所述第二VM执行的所述第二VNF可以由所述第二计算平台托管。
示例37。根据示例27所述的至少一种机器可读介质,由所述第一VM执行的所述第一VNF由计算平台托管,由所述第二VM执行的所述第二VNF同样可以由所述计算平台托管。对于这些示例而言,所述第一VM和所述第二VM可以通过所述网络连接耦合。
示例38。根据示例27所述的至少一种机器可读介质,所述HSM可以是被配置成用于所述处理器的密码加速器的ASIC或FPGA。
示例39。一种示例性设备可以包括位于与处理器耦合的HSM处的电路。所述设备还可以包括由所述电路执行从而生成用于第一VNF的指纹的指纹逻辑,所述第一VNF由所述处理器支持的第一VM执行。所述指纹可以包括第二VNF的标识、随机生成数和MAC值。所述设备还可以包括由所述电路执行从而接收对指纹进行加密并将加密指纹提供给所述第一VNF的请求的请求逻辑。所述设备还可以包括由所述电路执行从而通过使用所述根秘钥对指纹进行加密并将加密指纹提供给所述第一VNF的加密逻辑。所述设备还可以包括由所述电路执行从而接收来自所述第一VNF的指示的接收逻辑,所述指示表明所述第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收作为与所述第二VM执行的第二VNF的秘钥交换的部分。所述设备还可以包括由所述电路执行从而获得所述加密会话秘钥并通过使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密的解密逻辑,所述会话秘钥用于对将从所述第一VNF经由所述网络连接发送至所述第二VNF的数据进行加密。
示例40。根据示例39所述的设备,所述指纹当中包含的MAC值可以基于MAC算法,所述MAC算法包括将所述根秘钥与所述第一VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。
示例41。根据示例39所述的设备,所述第一VNF或者所述第二VNF可以被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
示例42。根据示例41所述的设备,所述第一VNF的标识可以与所述功能类型相关联。
示例43。根据示例39所述的设备,所述会话秘钥用于对数据进行加密包括所述加密逻辑使用所述会话秘钥连同对称密码算法对发送至所述第二VNF的数据进行加密。
示例44。根据示例39所述的设备,所述指纹逻辑可以将所述第一VNF的明文指纹保存到所述HSM处的片上存储器中。
示例45。根据示例39所述的设备,所述加密逻辑将加密指纹提供给第一VNF可以包括所述加密逻辑使HSM处的虚拟功能将加密指纹存储到系统存储器部分当中的第一GPA处。所述系统存储器可以用于托管支持所述第一VM的处理器的计算平台。所述存储器部分可以被分配给所述第一VM。所述虚拟功能可以被直接分配给所述第一VNF,并且能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送请求消息,所述请求消息包括所述加密指纹和所述第一GPA,从而使所述加密指纹被存储到系统存储器的所述部分当中。所述加密逻辑还可以向第一VNF指示所述第一GPA,从而将所述加密指纹提供给所述第一VNF。
示例46。根据示例45所述的设备还可以包括,所述请求逻辑接收将通过使用所述会话秘钥对存储在分配给第一VM的存储器部分当中的第二GPA处的数据进行加密的指示。所述接收逻辑可以接收来自第一VNF的指示,所述指示表明所述加密会话秘钥已经被存储到了分配给所述第一VM的存储器部分当中的第三GPA处。所述解密逻辑可以从第三GPA获得加密会话秘钥,并通过使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密。所述加密逻辑可以获得存储在所述第二GPA处的数据,并通过使用所述会话秘钥对所述数据进行加密,并且使所述加密数据被存储到分配给所述第一VM的存储器部分当中的第四GPA处。所述加密逻辑可以向所述第一VNF指示所述第四GPA,以供所述第一VNF访问所述加密数据。
示例47。根据示例39所述的设备,由所述第一VM执行的第一VNF可以由第一计算平台托管,所述第一计算平台通过所述网络连接与第二计算平台耦合。所述第二VNF可以由第二计算平台托管的第二VM执行。
示例48。根据示例39所述的设备,所述第一VM执行的所述第一VNF可以由计算平台托管,所述第二VM执行的所述第二VNF同样可以由所述计算平台托管。对于这些示例而言,所述第一VM和所述第二VM可以通过所述网络连接耦合。
示例49。根据示例39所述的设备,所述HSM可以是被配置成用于所述处理器的密码加速器的ASIC或FPGA。
示例50。一种示例性方法可以包括在与处理器耦合的HSM处生成用于第一VNF的指纹,所述第一VNF由所述处理器支持的第一VM执行。所述指纹可以包括第二VNF的标识、随机生成数和MAC值。所述方法还可以包括接收对指纹进行加密并将加密指纹提供给所述第一VNF的请求。所述方法还可以包括使用根秘钥对所述指纹进行加密并将加密指纹提供给所述第一VNF。所述方法还可以包括接收来自所述第一VNF的指示,所述指示表明所述第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收作为与所述第二VM执行的第二VNF的秘钥交换的部分。所述方法还可以包括获得加密会话秘钥,并使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密。用于对数据进行加密的会话秘钥可以经由网络连接从所述第一VNF发送至所述第二VNF。
示例51。根据示例50所述的方法,所述指纹当中包含的MAC值可以基于MAC算法,所述MAC算法包括将所述根秘钥与所述第一VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。
示例52。根据示例50所述的方法,包括所述第一VNF或者所述第二VNF被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
示例53。根据示例51所述的方法,所述第一VNF的标识可以与所述功能类型相关联。
示例54。根据示例50所述的方法,将所述会话秘钥用于对数据进行加密可以包括使用所述会话秘钥连同对称密码算法对发送至所述第二VNF的数据进行加密。
示例55。根据示例50所述的方法可以包括将所述第一VNF的明文指纹保存到所述HSM处的片上存储器中。
示例56。根据示例50所述的方法,将加密指纹提供给第一VNF可以包括所述使HSM处的虚拟功能将加密指纹存储系统存储器部分当中的第一GPA处。所述系统存储器可以用于托管支持所述第一VM的处理器的计算平台。所述存储器部分可以被分配给所述第一VM。所述虚拟功能可以被直接分配给所述第一VNF,并且可以能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送请求消息,所述请求消息包括所述加密指纹和所述第一GPA,从而使所述加密指纹被存储到系统存储器的所述部分当中。将加密指纹提供给所述第一VNF还可以包括向所述第一VNF指示所述第一GPA,从而将所述加密指纹提供给所述第一VNF。
示例57。根据示例56所述的方法还可以包括接收将使用所述会话秘钥对存储在分配给第一VM的存储器部分当中的第二GPA处的数据进行加密的指示。所述方法还可以包括接收来自第一VNF的指示,所述指示表明所述加密会话秘钥已经被存储到了分配给所述第一VM的存储器部分当中的第三GPA处。所述方法还可以包括从所述对三GPA获得加密会话秘钥,并使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密。所述方法还可以包括获得存储在所述第二GPA处的数据,并使用所述会话秘钥对所述数据进行加密。所述方法还可以包括使所述加密数据被存储到分配给所述第一VM的存储器部分当中的第四GPA处。所述方法还可以包括向所述第一VNF指示所述第四GPA,以供所述第一VNF访问所述加密数据。
示例58。根据示例50所述的方法,所述第一VNF可以由通过第一计算平台托管的第一VM执行,所述第一计算平台通过所述网络连接与第二计算平台耦合。所述第二VNF可以由通过第二计算平台托管的第二VM执行。
示例59。根据示例50所述的方法,由所述第一VM执行的所述第一VNF可以由所述计算平台托管。由所述第二VM执行的所述第二VNF同样可以由所述计算平台托管。对于这些示例而言,所述第一VM和所述第二VM可以通过所述网络连接耦合。
示例60。根据示例50所述的方法,所述HSM可以是被配置成用于所述处理器的密码加速器的ASIC或FPGA。
示例61。示例性的至少一种计算机可读介质可以包括多条指令,所述多条指令响应于被系统执行可以使得所述系统执行根据示例50到60中的任一项所述的方法。
示例62。一种设备可以包括用于执行根据权利要求50到60中的任一项所述的方法的模块。
示例63。至少一种机器可读介质包括多条指令,所述多条指令响应于被与处理器耦合的HSM处的系统执行可以使所述系统生成用于第一VNF的指纹,所述第一VNF由受到与所述HSM耦合的所述处理器支持的第一VM执行。所述指纹可以包括第二VNF的标识、随机生成数和MAC值。所述指令还可以使所述系统对指纹进行加密并将加密指纹提供给所述第一VNF。所述指令还可以使所述系统接收通过使用根秘钥对指纹进行加密并将加密指纹提供给所述第一VNF的请求。所述指令还可以使所述系统接收来自所述第一VNF的指示,所述指示表明所述第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收作为与所述第二VM执行的第二VNF的秘钥交换的部分。所述指令还可以使所述系统获得加密会话秘钥,并通过使用所述指纹和根秘钥对加密会话秘钥进行解密。所述会话秘钥可以用于对从所述第一VNF经由所述网络连接发送至所述第二VNF的数据进行加密。
示例64。根据示例63所述的至少一种机器可读介质,所述指纹当中包含的MAC值可以基于MAC算法,所述MAC算法包括将所述根秘钥与所述第一VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。
示例65。根据示例63所述的至少一种机器可读介质,所述第一VNF或者所述第二VNF可以被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
示例66。根据示例56所述的至少一种机器可读介质,所述第一VNF的标识可以与所述功能类型相关联。
示例67。根据权利要求63所述的至少一种机器可读介质,所述会话秘钥可以用于对数据进行加密包括所述指令使所述系统使用所述会话秘钥连同对称密码算法对发送至所述第二VNF的数据进行加密。
示例68。根据示例63所述的设备,所述指令还可以使所述系统将所述第一VNF的明文指纹保存到所述HSM处的片上存储器中。
示例69。根据示例63所述的至少一种机器可读介质,所述指令使得所述系统将所述加密指纹提供给所述第一VNF可以包括所述系统使所述HSM处的虚拟功能将所述加密指纹存储到系统存储器的部分当中的第一GPA处,所述系统存储器用于计算平台,所述计算平台托管支持所述第一VM的处理器。所述存储器部分可以被分配给所述第一VM。所述虚拟功能可以被直接分配给所述第一VNF,并且能够基于所述直接分配访问分配给所述第一VM的存储器部分。所述虚拟功能可以向所述处理器发送请求消息,所述请求消息包括所述加密指纹和所述第一GPA,从而使所述加密指纹被存储到系统存储器的所述部分当中。所述指令还可以使所述系统向第一VNF指示所述第一GPA,从而将所述加密指纹提供给所述第一VNF。
示例70。根据示例69所述的至少一种机器可读介质,所述指令可以进一步使所述系统接收将通过使用所述会话秘钥对存储在分配给第一VM的存储器部分当中的第二GPA处的数据进行加密的指示。所述指令还可以使所述系统接收来自第一VNF的指示,所述指示表明所述加密会话秘钥已经被存储到了分配给所述第一VM的存储器部分当中的第三GPA处。所述指令还可以使所述系统从所述第三GPA获得加密会话秘钥,并通过使用所述指纹和根秘钥对加密会话秘钥进行解密。
获得存储在所述第二GPA处的数据,并通过使用所述会话秘钥对所述数据进行加密,并且使所述加密数据被存储到分配给所述第一VM的存储器部分当中的第四GPA处。所述指令还可以使所述系统向所述第一VNF指示所述第四GPA,以供所述第一VNF访问所述加密数据。
示例71。根据示例63所述的至少一种机器可读介质,由所述第一VM执行的第一VNF可以由第一计算平台托管,所述第一计算平台通过所述网络连接与第二计算平台耦合。由所述第二VM执行的所述第二VNF可以由所述第二计算平台托管。
示例72。根据示例63所述的至少一种机器可读介质,由所述第一VM执行的所述第一VNF可以由计算平台托管,由所述第二VM执行的所述第二VNF同样可以由所述计算平台托管。对于这些示例而言,所述第一VM和所述第二VM可以通过所述网络连接耦合。
示例73。根据示例63所述的至少一种机器可读介质,所述HSM可以是被配置成用于所述处理器的密码加速器的ASIC或FPGA。
应当强调,本公开的摘要被提供为符合37C.F.R.Section 1.72(b),其要求摘要将允许读者快速确定技术公开的实质。提交所述摘要的前提是,不应将其用于解释或限制权利要求的范围和含义。此外,在上文的具体实施方式部分当中,可以看出,为了使本公开简洁流畅,将各种特征集中在了单一示例当中。不应将本公开的这一方法解释为反映这样的意图,即,所主张保护的示例需要比每一权利要求中明确陈述的更多的特征。相反,如下述权利要求所反映的,本发明的主题所依托的特征可以少于单个所公开示例的所有特征。因而,在此将下述权利要求结合到具体实施方式部分当中,其中,每一权利要求本身代表单独的示例。在所附权利要求中,术语“包括”和“其中”分别被用作相应术语“包含”和“在其中”的通俗的英语等价词。此外,词语“第一”、“第二”和“第三”等仅用作标签,而非意在对对象施加数字方面的要求。
尽管以特定于结构特征和/或方法操作的语言对本主题进行了描述,但应当理解,所附权利要求中限定的本主题并不一定限于所描述的特定特征或操作。相反,上文描述的具体特征和操作是作为实施权利要求的示例性形式公开的。

Claims (30)

1.一种设备,包括:
电路,所述电路位于计算系统的处理器处,所述处理器被布置为支持第一虚拟机(VM),所述第一虚拟机被布置为执行第一虚拟网络功能(VNF);
启动逻辑,所述启动逻辑由所述电路执行,以启动所述第一VNF和由第二VM执行的第二VNF之间的秘钥交换;
接收逻辑,所述接收逻辑由所述电路执行,以接收来自所述第二VNF的加密指纹,所述加密指纹是通过使用根秘钥、所述指纹的包括所述第二VNF的标识的明文、随机生成数和消息认证码(MAC)值进行加密的;
提供逻辑,所述提供逻辑由所述电路执行,以向与所述处理器耦合的硬件安全模块(HSM)提供所述加密指纹,所述HSM通过使用所述根秘钥对所述加密指纹进行解密,生成会话秘钥,通过使用经解密的指纹和所述根秘钥对所述会话秘钥进行加密,并且将经加密的会话秘钥提供给所述第一VNF;以及
发送逻辑,所述发送逻辑由所述电路执行,以将所述经加密的会话秘钥发送至所述第二VNF,以便于所述第二VNF使用所述指纹的明文和所述根秘钥对所述经加密的会话秘钥进行解密,所述会话秘钥用于对从所述第二VNF经由网络连接发送至所述第一VNF的数据进行加密。
2.根据权利要求1所述的设备,所述启动逻辑启动所述第一VNF和所述第二VNF之间的秘钥交换包括:所述启动逻辑使第一消息经由所述网络连接发送至所述第二VNF,所述消息指示所述第一VNF请求经由所述网络连接与所述第二VNF的安全连接。
3.根据权利要求2所述的设备,包括:
所述接收逻辑经由所述网络连接接收来自所述第二VNF的第二消息以及所述加密指纹;并且
所述第一消息是客户端问候消息并且所述第二消息是服务器问候消息。
4.根据权利要求1所述的设备,包括:所述第一VNF或者所述第二VNF被布置用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能,所述第二VNF的标识与所述功能的类型相关联。
5.根据权利要求1所述的设备,所述提供逻辑向所述HSM提供所述加密指纹包括:所述提供逻辑
使所述加密指纹存储到系统存储器的部分当中的第一客户物理地址(GPA)处,所述系统存储器用于计算平台,所述计算平台托管被布置为支持所述第一VM的处理器,存储器的所述部分被分配给所述第一VM;以及
将所述第一GPA发送至所述HSM处的虚拟功能,所述虚拟功能被直接分配给所述第一VNF,并且能够基于所述直接分配访问存储器的被分配给所述第一VM的所述部分,所述虚拟功能用于向所述处理器发送包括所述第一GPA的请求消息,以获得所述加密指纹,其中,在对所述指纹进行解密之后,经解密的指纹将被保存在所述HSM处的片上存储器中。
6.根据权利要求5所述的设备,还包括:
所述提供逻辑使所述经加密的会话秘钥被存储到存储器的被分配给所述第一VM的所述部分当中的第二GPA处;
所述接收逻辑经由所述网络连接接收来自所述第二VNF的加密数据,所述加密数据是通过使用所述会话秘钥进行加密的;
所述提供逻辑使所述加密数据被存储到存储器的被分配给所述第一VM的所述部分当中的第三GPA处,并将所述第二GPA发送给所述直接分配的虚拟功能,从而将所述经加密的会话秘钥提供给所述HSM,所述HSM通过使用所述经解密的指纹和所述根秘钥对所述经加密的会话秘钥进行解密;并且
所述提供逻辑将所述第三GPA发送至所述直接分配的虚拟功能,从而将接收自所述第二VNF的所述加密数据提供至所述HSM,所述HSM通过使用所述会话秘钥对所述加密数据进行解密。
7.根据权利要求1所述的设备,所述HSM包括被配置成用于所述处理器的密码加速器的专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
8.包括多条指令的至少一种机器可读介质,所述指令响应于被系统执行,使得所述系统:
在由第一虚拟机(VM)执行的第一虚拟网络功能(VNF)处启动与由第二VM执行的第二VNF的秘钥交换;
接收来自所述第二VNF的加密指纹,所述加密指纹是使用根秘钥、所述指纹的包括所述第二VNF的标识的明文、随机生成数和消息认证码(MAC)值而加密的;
将经加密的指纹提供给硬件安全模块(HSM),所述硬件安全模块(HSM)与被布置为支持所述第一VM的处理器耦合,所述HSM用于通过使用所述根秘钥对所述加密指纹进行解密,生成会话秘钥,通过使用经解密的指纹和所述根秘钥对所述会话秘钥进行加密,并将经加密的会话秘钥提供给所述第一VNF;以及
将所述经加密的会话秘钥发送至所述第二VNF,以使得所述第二VNF通过使用所述指纹的明文和所述根秘钥对所述经加密的会话秘钥进行解密,所述会话秘钥用于对从所述第二VNF经由网络连接发送至所述第一VNF的数据进行加密。
9.根据权利要求8所述的至少一种机器可读介质,包括:包含在所述指纹的明文当中的MAC值以MAC算法为基础,所述MAC算法包括将所述根秘钥与所述第二VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值,所述HSM基于所述MAC值与重新生成的MAC值的比较来验证经解密的指纹的真实性,所述重新生成的MAC值基于将所述根秘钥与所述第二VNF的解密标识和解密随机生成数结合使用,以作为所述MAC算法的输入,从而生成所述重新生成的MAC值。
10.根据权利要求8所述的至少一种机器可读介质,所述指令使得所述系统启动所述第一VNF和所述第二VNF之间的秘钥交换包括:
所述系统经由所述网络连接向所述第二VNF发送第一消息,所述消息指示所述第一VNF请求经由所述网络连接与所述第二VNF的安全连接;以及
经由所述网络连接接收来自所述第二VNF的第二消息以及所述加密指纹,其中,所述第一消息是客户端问候消息并且所述第二消息是服务器问候消息。
11.根据权利要求8所述的至少一种机器可读介质,包括:所述第一VNF或者所述第二VNF被布置用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能。
12.根据权利要求8所述的至少一种机器可读介质,所述指令使得所述系统将所述加密指纹提供给所述HSM包括:所述系统:
将所述加密指纹存储到系统存储器的部分当中的第一客户物理地址(GPA)处,所述系统存储器用于计算平台,所述计算平台托管被布置为支持所述第一VM的处理器,存储器的部分被分配给所述第一VM;以及
将所述第一GPA发送至所述HSM处的虚拟功能,所述虚拟功能被直接分配给所述第一VNF并且能够基于所述直接分配访问存储器的被分配给所述第一VM的部分,所述虚拟功能向所述处理器发送包括所述第一GPA的请求消息,以获得所述加密指纹,其中,在对所述指纹进行解密之后,经解密的指纹将被保存在所述HSM处的片上存储器中。
13.根据权利要求12所述的至少一种机器可读介质,所述指令进一步使所述系统:
将所述经加密的会话秘钥存储到存储器的被分配给所述第一VM的所述部分当中的第二GPA处;
经由所述网络连接接收来自所述第二VNF的加密数据,所述加密数据是通过使用所述会话秘钥进行加密的;
将所述加密数据存储到存储器的被分配给所述第一VM的所述部分当中的第三GPA处,并将所述第二GPA发送给所述直接分配的虚拟功能,从而将所加密的会话秘钥提供给所述HSM,所述HSM将通过使用所解密的指纹和所述根秘钥对所加密的会话秘钥进行解密;并且
将所述第三GPA发送至所述直接分配的虚拟功能,从而将接收自所述第二VNF的所述加密数据提供至所述HSM,所述HSM将通过使用所述会话秘钥对所述加密数据进行解密。
14.根据权利要求8所述的至少一种机器可读介质,包括:由所述第一VM执行的所述第一VNF由第一计算平台托管,所述第一计算平台通过所述网络连接与第二计算平台耦合,由所述第二VM执行的所述第二VNF由所述第二计算平台托管。
15.根据权利要求8所述的至少一种机器可读介质,包括:由所述第一VM执行的所述第一VNF由计算平台托管,并且由所述第二VM执行的所述第二VNF同样由所述计算平台托管,其中,所述第一VM和所述第二VM通过所述网络连接耦合。
16.一种设备,包括:
电路,所述电路位于与处理器耦合的硬件安全模块(HSM)处;
指纹逻辑,所述指纹逻辑由所述电路执行,以生成用于由所述处理器支持的第一虚拟机(VM)所执行的第一虚拟网络功能(VNF)的指纹,所述指纹包括所述第二VNF的标识、随机生成数和消息认证码(MAC)值;
请求逻辑,所述请求逻辑由所述电路执行,以接收对所述指纹进行加密并将经加密的指纹提供给所述第一VNF的请求;
加密逻辑,所述加密逻辑由所述电路执行,以通过使用所述根秘钥对所述指纹进行加密并将经加密的指纹提供给所述第一VNF;
接收逻辑,所述接收逻辑由所述电路执行,以接收来自所述第一VNF的指示,所述指示表明所述第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收是由所述第二VM执行的与第二VNF的秘钥交换的部分;以及
解密逻辑,所述解密逻辑由所述电路执行,以获得所述加密会话秘钥并通过使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密,所述会话秘钥用于对从所述第一VNF经由所述网络连接发送至所述第二VNF的数据进行加密。
17.根据权利要求16所述的设备,包括:所述指纹当中包含的MAC值基于MAC算法,所述MAC算法包括将所述根秘钥与所述第一VNF的标识和所述随机生成数结合使用,以作为输入来生成所述MAC值。
18.根据权利要求16所述的设备,包括:所述第一VNF或者所述第二VNF被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能,所述第一VNF的标识与所述功能的类型相关联。
19.根据权利要求16所述的设备,所述会话秘钥用于对数据进行加密包括所述加密逻辑使用所述会话秘钥连同对称密码算法对发送至所述第二VNF的数据进行加密。
20.根据权利要求16所述的设备,包括:所述指纹逻辑将用于所述第一VNF的明文指纹保存到所述HSM处的片上存储器中。
21.根据权利要求16所述的设备,所述加密逻辑将所述加密指纹提供给所述第一VNF包括:所述加密逻辑
使所述HSM处的虚拟功能将所述加密指纹存储到系统存储器的部分当中的第一客户物理地址(GPA)处,用于计算平台的所述系统存储器托管支持所述第一VM的处理器,存储器的所述部分被分配给所述第一VM,所述虚拟功能直接分配给所述第一VNF并且能够基于所述直接分配访问存储器的被分配给所述第一VM的所述部分,所述虚拟功能将向所述处理器发送包括所述加密指纹和所述第一GPA的请求消息,从而使所述加密指纹被存储到系统存储器的所述部分当中;
将所述第一GPA指示给所述第一VNF,以便将所述加密指纹提供给所述第一VNF。
22.根据权利要求21所述的设备,包括:
所述请求逻辑接收通过使用所述会话秘钥对存储在存储器的被分配给第一VM的部分当中的第二GPA处的数据进行加密的指示;
所述接收逻辑接收来自第一VNF的指示,所述指示表明,所述加密会话秘钥已经被存储到了存储器的被分配给所述第一VM的部分当中的第三GPA处;
所述解密逻辑从第三GPA获得所述加密会话秘钥,并通过使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密;
所述加密逻辑获得存储在所述第二GPA处的数据,并通过使用所述会话秘钥对所述数据进行加密,并且使所加密的数据被存储到存储器的被分配给所述第一VM的部分当中的第四GPA处;以及
所述加密逻辑向所述第一VNF指示所述第四GPA,以供所述第一VNF访问所加密的数据。
23.根据权利要求16所述的设备,所述HSM包括被配置成所述处理器的密码加速器的专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
24.一种方法,包括:
在与处理器耦合的硬件安全模块(HSM)处生成用于第一虚拟网络功能(VNF)的指纹,所述第一虚拟网络功能由所述处理器支持的第一虚拟机(VM)执行,所述指纹包括第二VNF的标识、随机生成数和消息认证码(MAC)值;
接收对所述指纹进行加密并将经加密的指纹提供给所述第一VNF的请求;
使用根秘钥对所述指纹进行加密并将经加密的指纹提供给所述第一VNF;
接收来自所述第一VNF的指示,所述指示表明所述第一VNF已经接收到加密会话秘钥,所述会话秘钥的接收作为第二VM执行的与第二VNF的秘钥交换的部分;以及
获得所述加密会话秘钥并通过使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密,所述会话秘钥用于对将从所述第一VNF经由所述网络连接发送至所述第二VNF的数据进行加密。
25.根据权利要求24所述的方法,包括:所述第一VNF或者所述第二VNF被布置为用于某种类型的功能,所述功能包括防火墙服务功能、虚拟路由器功能、网络地址转换功能、会话边界控制器功能、视频优化器功能或者内容分发网络功能,所述第一VNF的标识与所述功能的类型相关联。
26.根据权利要求24所述的方法,包括:使用所述会话秘钥对数据进行加密包括使用所述会话秘钥连同对称密码算法对发送至所述第二VNF的数据进行加密。
27.根据权利要求24所述的方法,将所述经加密的指纹提供给所述第一VNF包括:
使所述HSM处的虚拟功能将所述经加密的指纹存储到系统存储器的部分当中的第一客户物理地址(GPA)处,用于计算平台的所述系统存储器托管支持所述第一VM的所述处理器,存储器的所述部分被分配给所述第一VM,所述虚拟功能直接分配给所述第一VNF,并且能够基于所述直接分配访问存储器的被分配给所述第一VM的所述部分,所述虚拟功能向所述处理器发送包括所述经加密的指纹和所述第一GPA的请求消息,从而使所述经加密的指纹被存储到系统存储器的所述部分当中;
将所述第一GPA指示给所述第一VNF,以便将所述经加密的指纹提供给所述第一VNF。
28.根据权利要求27所述的方法,包括:
接收将使用所述会话秘钥对存储在存储器的被分配给第一VM的所述部分当中的第二GPA处的数据进行加密的指示;
接收来自第一VNF的指示,所述指示表明所述加密会话秘钥已经被存储到了存储器的被分配给所述第一VM的所述部分当中的第三GPA处;
从所述第三GPA获得所述加密会话秘钥,并使用所述指纹和所述根秘钥对所述加密会话秘钥进行解密;
获得存储在所述第二GPA处的数据,并使用所述会话秘钥对所述数据进行加密;
使所加密的数据被存储到存储器的被分配给所述第一VM的所述部分当中的第四GPA处;以及
向所述第一VNF指示所述第四GPA,以供所述第一VNF访问所加密的数据。
29.根据权利要求24所述的方法,包括:由所述第一VM执行的所述第一VNF由第一计算平台托管,所述第一计算平台通过所述网络连接与第二计算平台耦合,由所述第二VM执行的所述第二VNF由所述第二计算平台托管。
30.一种设备,包括用于执行根据权利要求24-29中的任一项所述的方法的模块。
CN201680091279.6A 2016-12-30 2016-12-30 用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术 Active CN110089070B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/113494 WO2018120017A1 (en) 2016-12-30 2016-12-30 Techniques for key exchange to establish secure connection in network function virtualization environment

Publications (2)

Publication Number Publication Date
CN110089070A true CN110089070A (zh) 2019-08-02
CN110089070B CN110089070B (zh) 2022-08-02

Family

ID=62706545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680091279.6A Active CN110089070B (zh) 2016-12-30 2016-12-30 用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术

Country Status (3)

Country Link
EP (1) EP3563513A1 (zh)
CN (1) CN110089070B (zh)
WO (1) WO2018120017A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966468A (zh) * 2020-08-28 2020-11-20 海光信息技术有限公司 用于直通设备的方法、系统、安全处理器和存储介质
CN112838923A (zh) * 2019-11-22 2021-05-25 百度(美国)有限责任公司 具有交换机的虚拟信道中加速器之间的密钥共享方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
CN111753318B (zh) * 2020-06-04 2024-04-26 上海蚂蚁创将信息技术有限公司 私有数据的多方安全计算方法、装置及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045210A (zh) * 2009-10-10 2011-05-04 中兴通讯股份有限公司 一种支持合法监听的端到端会话密钥协商方法和系统
US8566952B1 (en) * 2009-12-24 2013-10-22 Intuit Inc. System and method for encrypting data and providing controlled access to encrypted data with limited additional access
US8694781B1 (en) * 2012-03-30 2014-04-08 Emc Corporation Techniques for providing hardware security module operability
CN104185176A (zh) * 2014-08-28 2014-12-03 中国联合网络通信集团有限公司 一种物联网虚拟用户识别模块卡远程初始化方法及系统
US9338147B1 (en) * 2015-04-24 2016-05-10 Extrahop Networks, Inc. Secure communication secret sharing
US20160149877A1 (en) * 2014-06-05 2016-05-26 Cavium, Inc. Systems and methods for cloud-based web service security management basedon hardware security module
US20160261592A1 (en) * 2013-10-08 2016-09-08 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method and device for the secure authentication and execution of programs
US20160337847A1 (en) * 2015-05-13 2016-11-17 Adva Optical Networking Se Method and System for Facilitating Participation of an Intermediary Network Device in a Security Gateway Communication Between at least one Base Station and a Core Network Portion in a Cellular Communication Network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061790A (en) * 1996-11-20 2000-05-09 Starfish Software, Inc. Network computer system with remote user data encipher methodology
CN101789861A (zh) * 2009-01-22 2010-07-28 深圳市文鼎创数据科技有限公司 信息安全传输方法
WO2015013474A2 (en) * 2013-07-25 2015-01-29 Siemens Healthcare Diagnostics Inc. Anti-piracy protection for software

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045210A (zh) * 2009-10-10 2011-05-04 中兴通讯股份有限公司 一种支持合法监听的端到端会话密钥协商方法和系统
US8566952B1 (en) * 2009-12-24 2013-10-22 Intuit Inc. System and method for encrypting data and providing controlled access to encrypted data with limited additional access
US8694781B1 (en) * 2012-03-30 2014-04-08 Emc Corporation Techniques for providing hardware security module operability
US20160261592A1 (en) * 2013-10-08 2016-09-08 Commissariat A L'energie Atomique Et Aux Energies Alternatives Method and device for the secure authentication and execution of programs
US20160149877A1 (en) * 2014-06-05 2016-05-26 Cavium, Inc. Systems and methods for cloud-based web service security management basedon hardware security module
CN104185176A (zh) * 2014-08-28 2014-12-03 中国联合网络通信集团有限公司 一种物联网虚拟用户识别模块卡远程初始化方法及系统
US9338147B1 (en) * 2015-04-24 2016-05-10 Extrahop Networks, Inc. Secure communication secret sharing
US20160337847A1 (en) * 2015-05-13 2016-11-17 Adva Optical Networking Se Method and System for Facilitating Participation of an Intermediary Network Device in a Security Gateway Communication Between at least one Base Station and a Core Network Portion in a Cellular Communication Network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112838923A (zh) * 2019-11-22 2021-05-25 百度(美国)有限责任公司 具有交换机的虚拟信道中加速器之间的密钥共享方法
CN111966468A (zh) * 2020-08-28 2020-11-20 海光信息技术有限公司 用于直通设备的方法、系统、安全处理器和存储介质

Also Published As

Publication number Publication date
EP3563513A1 (en) 2019-11-06
WO2018120017A1 (en) 2018-07-05
CN110089070B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN111181720B (zh) 基于可信执行环境的业务处理方法及装置
JP7416775B2 (ja) 周辺デバイス
CN109831298B (zh) 区块链中安全更新密钥的方法及节点、存储介质
CN109936626B (zh) 区块链中实现隐私保护的方法、节点和存储介质
CN110020855B (zh) 区块链中实现隐私保护的方法、节点、存储介质
CN110032885B (zh) 区块链中实现隐私保护的方法、节点和存储介质
CN110032884B (zh) 区块链中实现隐私保护的方法及节点、存储介质
CN110020549B (zh) 区块链中实现隐私保护的方法、节点和存储介质
CN110008735B (zh) 区块链中实现合约调用的方法及节点、存储介质
CN110032876B (zh) 区块链中实现隐私保护的方法、节点和存储介质
CN110245942B (zh) 结合用户类型和判断条件的收据存储方法和节点
CN110020856B (zh) 区块链中实现混合交易的方法、节点和存储介质
CN110245947B (zh) 结合交易与用户类型的条件限制的收据存储方法和节点
CN110245944B (zh) 基于用户类型的收据存储方法和节点
CN110033266B (zh) 区块链中实现隐私保护的方法、节点和存储介质
CN110264192B (zh) 基于交易类型的收据存储方法和节点
CN110089070A (zh) 用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术
CN110264193B (zh) 结合用户类型与交易类型的收据存储方法和节点
US20210311643A1 (en) Memory encryption engine interface in compute express link (cxl) attached memory controllers
CN110008715B (zh) 区块链中实现隐私保护的方法及节点、存储介质
CN109560931A (zh) 一种基于无证书体系的设备远程升级方法
CN110263543B (zh) 基于代码标注的对象级收据存储方法和节点
US10691619B1 (en) Combined integrity protection, encryption and authentication
CN110245943B (zh) 基于判断条件的收据存储方法和节点
CN110059497B (zh) 区块链中实现隐私保护的方法、节点和存储介质

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