CN120266112A - 选择用于关联到安全客户机的hsm - Google Patents
选择用于关联到安全客户机的hsm Download PDFInfo
- Publication number
- CN120266112A CN120266112A CN202380081441.6A CN202380081441A CN120266112A CN 120266112 A CN120266112 A CN 120266112A CN 202380081441 A CN202380081441 A CN 202380081441A CN 120266112 A CN120266112 A CN 120266112A
- Authority
- CN
- China
- Prior art keywords
- hsm
- secure client
- secret
- secure
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
公开了一种用于硬件安全模块与安全客户机的基于策略的关联的方法。该方法包括维护安全客户机和HSM之间的绑定。由此,绑定使得可信客户机能够仅向HSM发送非敏感请求。该方法进一步包括为安全客户机维护秘密和秘密名称的对,向绑定HSM提交查询以获得HSM配置数据,以及在确定所获得的HSM配置数据与对安全客户机可用的规则匹配时,其中,该规则将HSM关联到秘密名称,请求将来自秘密和秘密名称的对的秘密关联到绑定的HSM,从而触发可信固件允许安全客户机向绑定和关联HSM提交敏感密码请求。
Description
背景技术
技术领域
本发明一般涉及一种用于基于策略的保密计算环境的方法,尤其涉及一种用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的计算机实现的方法。本发明还涉及一种用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的相关安全系统,以及一种计算机程序产品。
相关技术
数据和通信信道的安全性仍然继续具有用于管理公司IT(信息技术)的最高优先级之一。这不仅由于政府法规(例如GDPR、EU通用数据保护法规)是必要的,而且由于公司的可靠性损失,其不能在所有时间可靠地保护客户数据-并且为了避免销售和利润的损失–在客户数据记录受损的情况下。另外,根据数据泄露的国家,可能需要支付罚款。结果是,数据保护和安全计算平台的提供不仅仅是软件问题,它还涉及硬件模块。这对于在微控制器、个人计算机、移动电话或家庭自动化设备中使用的大量市场CPU芯片来说可能还不是自然环境。然而,对于高度可信的企业级计算环境,诸如那些用于金融、保险或政府产业的环境,从技术角度来看,能够证明数据泄露具有非常高的被阻止的概率是必要的。这可能需要一些额外的高科技部件和支持过程。然而,数据安全方面的成功使额外的努力得到回报。
这些想法还可应用于受信任的和/或保密计算环境,其中虚拟机(也被表示为客户机)所使用的密钥或在管理程序上/中运行的软件容器实际上不能被管理程序或相关软件管理和配置程序访问。然而,在这样的计算环境中,也仍然有可能违反基本安全规则,例如通过管理程序暴露安全客户机映像的秘密密钥或使用秘密密钥。这在硬件安全模块(HSM)已经使用了相当一段时间的环境中也是可能的。
已经有一些公开内容适合在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的上下文。文献US2020/0076607A1描述了如何通过配置专用虚拟机来代表应用管理和维护序列,在虚拟计算机系统上安全地维护秘密。当应用请求访问秘密时,控制域与专用虚拟机组合,验证应用被授权进行请求并且应用在请求之前未被泄密。
另外,文献US2017/0310652A1描述了系统可以向第一实体发送数据以指示第一实体和公钥之间的关联。由此,公钥将被用于在第一实体和第二实体之间建立密码保护的通信会话,响应于验证关联的请求而接收数据,并且向第二实体传送数据有效的指示。该系统可以是由第一和第二实体部分实现的密码服务。
在这样的环境中的问题可以在使用附加密钥作为在管理程序的控制下的虚拟客户机系统的元数据的一部分的上下文中被标识。然而,如果附加密钥由虚拟客户机系统提供,则它将被虚拟客户机系统所知,其中它也可能像其它凭证一样被窃取。诸如OpenCryptoki或CCA(通用密码体系结构)的技术还不能很好地满足这种要求。
因此,需要提供一种虚拟机和硬件安全模块之间的安全绑定方法,使得虚拟机不具有关于实现这种绑定的底层配置的具体知识。
发明内容
根据本发明的一个方面,提供了一种用于在保密计算环境中硬件安全模块(HSM)与安全客户机的基于策略的关联的计算机实现的方法。该方法可以包括由可信固件维护安全客户机和HSM之间的绑定。由此,绑定使得安全客户机能能够仅向HSM发送非敏感请求。
该方法还可以包括由可信固件为安全客户机维护秘密和秘密名称的对,以及由安全客户机经由可信固件向绑定的HSM提交用于获得HSM配置数据的查询。
此外,在由安全客户机确定所获得的HSM配置数据与对安全客户机可用的策略规则匹配时,该方法可以包括由安全客户机向可信固件请求将来自该秘密和秘密名称的对的秘密与绑定的HSM相关联。由此,策略规则可将HSM配置数据与秘密名称相关联。结果,可信固件可以允许安全客户机向绑定和关联的HSM提交敏感的密码请求。
根据本发明的另一方面,可以提供一种用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的安全系统。该系统可以包括处理器和可操作地耦合到处理器的存储器,其中存储器存储软件程序代码,当由处理器执行时,该软件程序代码使得处理器能够使用可信固件来维护安全客户机和HSM之间的绑定,其中该绑定使得可信客户机能够仅向HSM发送非敏感请求,并且对于安全客户机使用可信固件来维护秘密和秘密名称的对。
处理器还可以被使能以由安全客户机经由可信固件向绑定的HSM提交查询,或者获得HSM配置数据,在由安全客户机确定所获得的HSM配置数据与对安全客户机可用的策略规则匹配时,处理器可以被使能以使用安全客户机向可信固件请求将来自秘密和秘密名称的对的密钥与绑定的HSM相关联。由此,策略规则可将HSM配置数据关联到秘密名称。
结果,可信固件可以允许安全客户机向绑定和关联的HSM提交敏感的密码请求。
所提出的用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的计算机实现的方法可以提供多个优点、技术效果、贡献和/或改进:
在安全客户机和HSM之间建立的链接基本上可以在两步过程中通过(a)在安全客户机和HSM之间建立绑定和(b)在同一HSM中的同一安全客户机之间建立关联来执行。由此,绑定可仅允许非敏感请求发送到HSM,使得请求或响应都不会被不受信任的组件破坏或访问。由此,附加关联可允许从安全客户机到HSM的敏感请求。这可以允许以三种方式保护保密计算环境:(i)防止HSM保护的秘密(例如,安全密钥)的暴露,(ii)防止由错误的客户机镜像使用HSM保护的秘密,以及(iii)由错误的客户机实例使用HSM保护的秘密。以相同的方式,用于建立该保护的秘密可以被保护以防止被暴露、被错误的客户机映像或客户机实例使用。因此,该秘密和秘密名称的对的秘密对于管理程序上的安全客户机来说可能永远是不可见的,因此不能从安全客户机那里窃取。只有可信固件才可以完全访问这些高度敏感的数据。
此外,基于策略的关联可以允许安全客户机在分配给安全客户机的多个HSM中选择一个特定HSM,以分配用于保护假定使用该特定HSM的特定工作负载/应用的HSM受保护密钥的秘密工具。
此外,基于策略的关联可允许安全客户机拒绝使用其配置未包括在策略中的HSM,从而避免使用属于攻击者的HSM的危险。
另外,可选但启用的功能当使用临时解除分配(然后重新分配)的HSM时,对从安全客户机解除分配的HSM解除绑定并解除关联会导致出现绑定错误,从而允许客户机识别临时重新分配并重新评估HSM的有效性,确保HSM在解除分配期间没有被交换或重新配置。
下面将描述本发明构思的另外的实施例-其适用于该方法以及该系统。
根据有利实施例,该方法还可以包括由可信固件拦截从安全客户机到HSM的用于生成HSM保护的密钥的每个请求,以及由可信固件强制所生成的HSM保护的密钥仅和与来自安全客户机的秘密相关联的HSM一起使用。即,HSM被绑定到安全客户机以确保安全客户机和HSM(或反之亦然)之间的安全通信信道是不够的,而且另外已经建立了安全客户机和HSM之间的关联以使HSM保护的密钥可由安全客户机排他地使用也是不够的。换句话说,在HSM应安全客户机的请求执行敏感的密码请求之前,两步过程–首先绑定,其次关联–必须被执行。为此,可信固件对从安全客户机到HSM的每个请求的拦截可以有助于使得HSM受保护的密钥可由配置有特定(关联)秘密的安全客户机使用。
根据该方法的许可实施例,HSM主密钥验证模式(MKVP)可以指示HSM的配置数据。即,特定HSM的所有设置和配置数据以及能力可以被编码,并因此可由请求安全客户机在主密钥验证模式中解释。由此,可以使安全客户机能够使用主密钥验证模式来与基于策略的规则进行比较,以针对其需求选择适当的HSM。
根据该方法的另一有利实施例,秘密和秘密名称的对可以被添加到可信固件可以为安全客户机维护的元数据。由此,这样的元数据可以由可信固件针对每个安全客户机实例单独地维护。
根据优选实施例,该方法还可以包括由安全客户机向可信固件请求由可信固件为安全客户机维护的秘密和秘密名称的对的秘密名称的列表。这可以通过用于安全客户机的对可信固件的调用接口或API(应用编程接口)来实现。
根据高级实施例,该方法还可包括由安全客户机经由可信固件向另一HSM提交新查询,以便在HSM的所获得的配置数据与策略规则不匹配的情况下获得其它配置数据。这样,安全客户机可以识别符合基于策略的规则的HSM,以便为安全客户机选择适当的HSM。即,可以建立分步重复过程以便识别用于安全客户机的要求的适合HSM。
根据有用和安全增强实施例,该方法还可以包括–在绑定到安全客户机的HSM的分配配置改变时–解除HSM到安全客户机的绑定,并且如果存在这样的关联,则还解除HSM与任何秘密的关联。由此,可以使得安全客户机使用HSM的能力变得不可能。即,可以建立安全客户机和HSM之间的绑定和关联的复位。换句话说,如果每个绑定的HSM的分配改变,其应该被解除绑定,即如果HSM与秘密相关联,则该关联也必须是“解除关联的”。并且,这必须自动地并且以原子方式发生,即,HSM用于HSM,并且安全客户机用于安全客户机,以便符合保密计算环境的规则。
根据该方法的另一感兴趣的实施例,可信固件可拒绝从安全客户机到未绑定到该安全客户机的HSM的所有请求–特别是敏感请求。因此,首先,在敏感请求可以从安全客户机被寻址到HSM之前,在关联可能发生之前,可能必须建立绑定。
根据该方法的另一个感兴趣的实施例,如果HSM被分配给安全客户机,则在安全客户机和HSM之间的绑定可以由可信固件在从安全客户机到可信固件的请求下建立,以绑定HSM。可以注意到,这种过程可能仅对那些对安全客户机可见的HSM是可能的。这也可以应用于分配配置。
根据该方法的安全增强实施例,秘密的明文值将不可由安全客户机访问。即由可信固件维护的秘密也不能从安全客户机处被窃取,因为它从不能访问它。
根据该方法的另一个有用的实施例,对绑定到安全客户机的HSM的任何请求仅当由安全客户机或代表所述安全客户机的可信固件发出时才被允许。因此,不允许其他安全客户机或任何其他实体通过任何旁路访问相关的HSM。因此,可以总是应用保密计算的管理规则。
根据该方法的附加实施例,从安全客户机到HSM的、可以包括HSM保护的密钥的,或者其响应–尤其对该请求的-包括HSM保护的密钥的的任何请求可以是敏感请求。这种分类可以确保总是可以保证在非敏感和敏感请求之间的清楚区分,以便遵守保密计算规则。
此外,实施例可以采取可从计算机可用或计算机可读介质访问的相关计算机程序产品的形式,所述计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合使用的程序代码。为了本说明书的目的,计算机可用或计算机可读介质可以是任何装置,其可以包含用于存储、传送、传播或传输程序的装置,该程序由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用。
附图说明
应当注意,本发明的实施例是参考不同的主题来描述的。特别地,一些实施例是参考方法类型权利要求来描述的,而其他实施例是参考装置类型权利要求来描述的。然而,本领域技术人员将从以上和以下描述中了解到,除非另外指出,除了属于一种类型的主题的特征的任何组合之外,与不同主题相关的特征之间的任何组合,特别是方法类型权利要求的特征与装置类型权利要求的特征之间的任何组合,也被认为是在本文件内公开的。。
本发明的上述定义的方面和其它方面从下文描述的实施例的示例中是显而易见的,并且参考实施例的示例进行解释,本发明不限于这些实施例的示例。
将仅通过示例并参考以下附图来描述本发明的优选实施例:
图1示出了用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的本发明的计算机实现的方法的实施例的流程图。
图2示出了具有多因素认证的线程潜力的实施例200的框图。
图3示出了所提出的方法的更实际细节的实施例300的框图,尤其是涉及的组件。
图4示出了HSM与安全客户机的关联的第一步骤的框图。
图5示出了HSM与安全客户机的关联的第二步骤的框图。
图6示出了HSM与安全客户机的关联的第三步骤的框图。
图7示出了用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的本发明安全系统的实施例的框图。
图8示出了包括根据图7的系统的计算系统的实施例。
具体实施方式
在本说明书的上下文中,可以使用以下技术惯例、术语和/或表达:
术语“硬件安全模块”(HSM)可以表示连接到或集成到计算机系统(例如服务器系统,这里例如是制造端服务器计算机)中的硬件元件。HSM被设计为防篡改的,并且保护秘密,即软件密钥,以防未授权的访问,甚至防止物理穿透和/或非调度的物理解堵。HSM可以紧密地连接到CPU,或者可以独立于CPU而操作。换句话说,HSM是保护和管理用于强认证的一个或多个数字密钥并提供密码处理的物理计算设备。这些模块传统上可以以插入卡或外部设备的形式出现,所述插入卡或外部设备可以直接附接到计算机或网络服务器。
术语“安全客户机”可以表示在安全计算环境中包括可执行程序代码的虚拟机或软件容器,该安全计算环境由可信执行环境保护,使得计算机系统的不可信组件不能观察运行的安全客户机的任何状态(存储器或寄存器)。它可以是例如也可以由第三方(例如软件公司)提供的一般客户机映像。典型的不可信组件是软件管理程序、硬件管理控制台和其它客户机。
术语“保密计算环境”可以表示其中具有用户接口组件的管理程序或任何系统管理软件,该用户接口组件不可以访问虚拟机的任何明文内容或其他状态的计算环境。
术语“绑定”或“将硬件安全模块绑定到安全客户机”可以表示在安全客户机和绑定的硬件安全模块之间已经建立了由可信固件保护和控制的链接。该绑定可以在安全客户机或可信固件与HSM之间建立安全通道,可以确保安全客户机与绑定的HSM之间的通信的完整性和保密性。然而,绑定可能只允许从绑定的安全客户机到HSM的非敏感的,即非加密的请求。相反,如果已经建立了安全客户机和HSM之间的附加关联,则从安全客户机到HSM的敏感密码请求可以仅由可信固件允许和控制。
术语“关联”或“将安全客户机关联到HSM”可以表示–除了安全客户机和HSM之间的绑定之外–在相同HSM中的相同安全客户机之间的第二关系–特别是两个成分之间的关联–可能已经建立。为此的技术基础可以是秘密和秘密名称以及由该方法描述的步骤序列。–另外,在安全客户机可以访问描述将与安全客户机相关联的HSM的要求或配置设置等的规则集合的意义上,安全客户机与相关HSM之间的关联可以是“基于策略的”。
术语“非敏感请求”可以表示经由可信固件从安全客户机到HSM的请求,其仅允许对HSM的非加密请求,例如,对配置数据的请求。相反,术语“敏感请求”或“敏感密码请求”可以表示对HSM的请求,其包括加密或解密命令。特别地,使用或返回HSM保护的密钥的请求可能是敏感的。
术语“可信固件”(可信FW或TFW)可以表示深深嵌入到计算(主机)系统的硬件中的组件,其可能不被任何其他用户控制的软件访问。可信固件可以具有预定义的和高度安全的应用编程接口,以便保护–在广义上–可信固件的运行。可信的FW应当更多地被看作计算机系统的深度集成组件,而不是服务组件。到/来自可信固件的通信信道通常是密码保护的。
术语“元数据”可以表示–在经典意义上,这里是关于数据的信息–本文中,特别是启动虚拟机所需的数据。在保密计算环境中,这种信息可以由可信固件使用以便启动安全虚拟机,例如可以包含安全客户机的映像的完整性度量或者解密安全客户机的映像所需的密钥。这些元数据可以例如包括所需的资源、所需的接口、所需的性能以及–在一些情况下–也是哪些安全措施是适当的。元数据的扩展–例如在所需的绑定信息方面–但是更具体地在秘密和秘密名称的对方面–要由可信固件使用的,表示所提出的概念的基础之一。
术语“秘密和秘密名称的对”可以表示秘密-潜在地用于安全客户机和HSM之间的关联–可以以一对一的方式与秘密名称(例如HSM的标识符)相关,以便建立安全客户机和HSM之间的关联的基础(即不是预先建立的绑定)。
术语“HSM配置数据”可以表示描述相关HSM的能力和设置的一组信息。这可以在表示为主密钥验证模式(MKVP)的数据集中编码。
术语“分配配置”可以表示系统组件或虚拟服务器的配置的一个方面,其可以定义虚拟服务器的组件被授予对诸如HSM的设备的可见性,并且可能被授予对该设备的基本访问。对于标准的客户机,可以检测指定的设备并由该客户机使用。对于安全客户机,分配的设备可以被安全客户机检测到,但是它必须被绑定(并且与秘密相关联)以被使用。
术语“管理程序”可以表示创建和运行虚拟机或软件容器的定义明确的计算机软件或固件类型。因此,多个虚拟机/软件容器可以并行执行,而没有交叉引用的任何风险。虚拟机的错误可能不会对另一虚拟机造成任何损害。每个虚拟机可以拥有定义的地址空间。
术语“策略”可以表示对通常存储在文件中的预期配置的描述。策略可以建立HSM规范和秘密之间的对应关系。该对应关系的定义本质上可以是间接的。例如,秘密可以由秘密名称来引用,而HSM规范可以由HSM属性来引用,HSM属性可以像包括主密钥验证模式的HSM配置数据那样被查询。
下面,将给出附图的详细描述。图中的所有说明都是示意性的。首先,给出了本发明的用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的计算机实现的方法的实施例的框图。然后,将描述进一步的实施例以及用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的安全系统的实施例。
图1示出了用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的计算机实现的方法100的优选实施例的流程图。安全客户机可以是在管理程序或软件容器上/中运行的虚拟机。该方法包括-由可信固件–维护102安全客户机和HSM之间的绑定。还应当注意,不存在绑定秘密;在所提出的概念中仅存在关联秘密。因此,绑定使得可信客户机能够向HSM仅发送非敏感请求。绑定秘密可以–作为示例–在安全客户机的运行时被安全客户机发送到可信固件,以用于在可信固件中的安全客户机的元数据的扩展。替换实现包括在安全客户机的启动期间的绑定设置。替换实现也是可能的。然而,应当在安全客户机到HSM的绑定和安全客户机到HSM的关联之间进行严格的区分。
方法100还包括为安全客户机维护104–由可信固件–秘密和秘密名称的对。这些可以源自安全客户机的原始元数据。该秘密名称可以是–如秘密ID–的字母数字序列,并且对于安全客户机而言将永远不能以明文或其他方式可见。
另外,方法100包括–由安全客户机经由可信固件-向绑定的HSM提交106用于获得HSM配置数据的查询。基于安全客户机和HSM之间的绑定,该查询是可能的,因为它是非敏感请求,例如,不涉及HSM保护的密钥。配置数据可以以例如主密钥验证模式(MKVP)的形式可用。
此外,一旦确定108–由安全客户机–所获得的HSM配置数据匹配安全客户机端可用的策略规则时,方法100还包括-由安全客户机向可信固件–请求110将来自该秘密和秘密名称的对的秘密关联到绑定的HSM,从而触发可信固件允许安全客户机端向绑定的和关联的HSM提交敏感的密码请求。作为其基础,策略规则将HSM配置数据与秘密名称相关联。
图2示出了即使在使用可信固件和/或安全模块时的安全威胁的框图200。所有组件优选地作为计算机系统202的一部分来执行。与计算机系统202非常紧密相关的是可信固件204,其不能被计算机系统的用户改变,并且在计算机系统202的生产期间被安装和启用。
另外,一个或多个硬件安全模块HSM-1 206a、HSM-i 206b可以是计算机系统202的组件。这里,例如,可以存储要用于保护HSM受保护密钥的HSM主密钥(示为黑色水平密钥),并且仅可以使用明确定义的和严格的访问过程来访问该HSM主密钥。
栈式体系结构的下一层由管理程序208表示,其使得能够执行安全(虚拟)客户机210、214、215,例如包括代码的可执行代码的虚拟机或软件容器。安全客户机210可以示例性地维护可以由HSM 206a、206b之一所管理的主密钥保护的安全密钥212。然而,在安全密钥212可能被暴露使得安全客机2 214可以有权访问该密钥的情况下,即通过窃取216该密钥,并且在绑定到特定HSM-1 206a的HSM也被窃取218的情况下,安全密钥212可能被安全客机2 214滥用,即用于错误的客机映像214(比较访问威胁222)。
如果安全客户机210知道绑定秘密218(因为在安全客户机210的启动期间可能已经向可信固件提供了这样的秘密),则即使第三因素220与关联秘密222一起也可能最终不停止这样的线程。然而,对这种潜在安全威胁的解决方案是从不向安全客户机泄露关联秘密,而是相反,让安全客户机通过秘密名称(即,HSM的标识符)来引用该秘密,如图3的上下文中所讨论的。
图3示出了所提出的方法的更实际细节的实施例300的框图。这里,计算机系统302包括可信固件306,其包括安全客户机元数据312。在计算机系统302上,管理程序304可操作以托管一个或多个安全客户机308。此外,HSM 316可用于计算机系统302和/或作为其一部分,其包括主密钥318以及例如以主密钥验证模式形式的配置数据320。安全客户机元数据312被链接到安全客户机308,并且安全客户机将使用HSM 316;这两个关系都由相关箭头指示。值得注意的还有作为安全客户机元数据312的一部分的秘密和相关秘密名称的对314,以及可由安全客户机308访问的策略310。
图4示出了HSM 316与安全客户机308的关联中的第一步骤的框图400。图3中已经使用的参考标号具有相同的标称值。在该第一步骤中,安全客户机(由两个箭头404指示)向可信固件306发送请求402,以在安全客户机308和HSM 316之间建立绑定406。该绑定只允许从安全客户机308到HSM 316的非敏感请求。
图5示出了HSM 316与安全客户机308的关联中的第二步骤的框图500。从安全客户机308到HSM 316的所允许的非敏感请求之一是对HSM 316的配置数据320的请求502。这以主密钥验证模式504的形式被返回到安全客户机308。所接收的主密钥验证模式504与规则集合的比较–即策略310–可以指示对于特定HSM 316满足规则,从而表示HSM 316的主密钥验证模式504与秘密名称之间的关系–这里的“abc”–得到满足。可信固件306在建立这种关系中是有帮助的,因为到HSM 316的所有请求都经由可信固件306路由并且被截取以确定是存在敏感请求还是非敏感请求。
图6示出了将HSM 316与安全客户机308相关联的第三(和最后)步骤的框图600。基于在先前步骤中接收到的主密钥验证模式504,并且基于此,请求或经由可信固件306将HSM316与安全客户机308相关联,最终基于秘密和秘密名称的对314的秘密来实现关联604。结果,HSM 316(i)被绑定到安全客户机308并且(ii)与之相关联,使得现在敏感请求–即加密请求–被允许发送到HSM 316。还应当注意,完全的秘密和秘密名称的对314在该过程的任何时候都不对安全客户机308可见。因此,满足了用于保密计算的所有条件。
总结如图4至图6的顺序所描述的处理步骤,可以说明:首先,安全客户机向可信固件请求将HSM绑定到安全客户机。由此,可信固件允许安全客户机没有HSM保护的密钥向HSM提交请求。其次,安全客户机向HSM提交查询以获得HSM配置数据,即主密钥验证模式。可选地,安全客户机可以从固件请求以返回在安全客户机元数据中的秘密名称。
接下来,安全客户机搜索策略以寻找由先前请求返回的秘密名称。由此,主密钥验证模式可以与秘密名称和策略相关联。对于与策略的主密钥验证模式相关联的秘密名称,安全客户机向可信固件请求将与秘密名称和元数据相关联的秘密与其配置数据被取回的HSM相关联。基于此,可信固件执行关联请求。最后,可信固件拦截任何生成HSM保护的密钥的请求,并强制HSM保护的密钥只能由与秘密相关联的HSM处理。
图7示出了用于在保密计算环境中硬件安全模块与安全客户机的基于策略的关联的安全系统700的实施例的框图。该系统包括处理器702和操作地耦合到处理器702的存储器704,其中存储器704存储软件程序代码,当由处理器702执行时,该软件程序代码使得处理器702能够使用可信固件706来维护安全客户机和HSM之间的绑定,其中该绑定使得可信客户机能够仅向HSM 316发送非敏感请求(比较前面的附图)。
处理器还能够使用作为维护单元的可信固件306(比较前面的附图)为安全客户机维护秘密和秘密名称的对,并且由安全客户机经由作为提交单元的可信固件306向绑定的HSM 316提交查询或获得HSM 708的配置数据。
此外,在安全客户机确定所获得的HSM 316的配置数据与对安全客户机可用的策略规则匹配时,其中策略规则将HSM 316的配置数据与秘密名称相关联,处理器被使能以由安全客户机向可信固件306请求将来自秘密和秘密名称的对的秘密与绑定的HSM 316相关联。由此,启用可信固件以允许安全客户机向绑定和关联的HSM 316提交敏感密码请求。
还应当提及,所有功能单元、模块和功能块–特别是处理器702、存储器704、可信固件306和HSM 316–可以以所选择的1:1方式彼此通信耦合以进行信号或消息交换。或者,功能单元、模块和功能块可以链接到系统内部总线系统706,用于选择性的信号或消息交换。
本公开的各个方面通过叙述性文本、流程图、计算机系统的框图和/或包括在计算机程序产品(CPP)实施例中的机器逻辑的框图来描述。关于任何流程图,取决于所涉及的技术,可以以与给定流程图中所示的顺序不同的顺序来执行操作。例如,再次根据所涉及的技术,在连续流程图方框中所示的两个操作可以以相反的顺序、作为单个集成步骤、同时地或者以在时间上至少部分重叠的方式来执行。
计算机程序产品实施例(CPP实施例或CPP)是在本公开中使用的术语,用于描述共同包括在一个或多个存储设备组中的一个或多个存储介质(也称为介质)的任何组,所述一个或多个存储设备组共同包括与用于执行在给定CPP权利要求中指定的计算机操作的指令和/或数据相对应的机器可读代码。存储设备是可以保留和存储由计算机处理器使用的指令的任何有形设备。非限制性地,计算机可读存储介质可以是电子存储介质、磁存储介质、光存储介质、电磁存储介质、半导体存储介质、机械存储介质或前述的任何合适的组合。包括这些介质的一些已知类型的存储设备包括磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备(诸如形成在盘的主表面中的穿孔卡片或凹坑/平台)或前述的任何合适的组合。计算机可读存储介质,如在本公开中使用的术语,不应被解释为以暂时性信号本身的形式存储,例如无线电波或其他自由传播的电磁波、通过波导传播的电磁波、通过光纤电缆的光脉冲、通过导线传送和/或其他传输介质的电信号。如本领域技术人员将理解的,数据通常在存储设备的正常操作期间的某些偶然时间点,诸如在访问、碎片整理或垃圾收集期间被移动,但是这不使存储设备为暂时性的,因为数据在其被存储时不是暂时性的。
图8示出了计算环境800,其包括用于执行在执行本发明的方法中涉及的至少一些计算机代码的环境的示例,本发明的方法例如用于在保密计算环境850中将硬件安全模块与安全客户机基于策略关联的计算机实现的方法。
除了框850之外,计算环境800包括例如计算机801、广域网(WAN)802、终端用户设备(EUD)803、远程服务器804、公共云805和私有云806。在该实施例中,计算机801包括处理器组810(包括处理电路820和高速缓存器821)、通信结构811、易失性存储器812、永久性存储装置813(包括如上所述的操作系统822和块850)、外围设备组814(包括用户接口(UI)、设备组823、存储装置824和物联网(IoT)传感器组825)以及网络模块815。远程服务器804包括远程数据库830。公共云805包括网关840、云协调模块841、主机物理机组842、虚拟机组843和容器组844。
计算机801可以采取台式计算机、膝上型计算机、平板计算机、智能电话、智能手表或其他可穿戴计算机、大型计算机、量子计算机或现在已知或将来开发的能够运行程序、访问网络或查询诸如远程数据库830之类的数据库的任何其他形式的计算机或移动设备的形式。如计算机技术领域所公知的,并且取决于该技术,计算机实现的方法的性能可以分布在多个计算机之间和/或多个位置之间。另一方面,在计算环境800的这一呈现中,详细讨论集中于单个计算机,尤其是计算机801,以保持该呈现尽可能简单。计算机801可以位于云中,即使在图8中没有在云中示出,另一方面,计算机801不需要在云中,除非在任何程度上可以肯定地指示。
处理器组810包括一个或多个现在已知或将来开发的任何类型的计算机处理器。处理电路820可以分布在多个封装上,例如多个协同的集成电路芯片。处理电路820可以实现多个处理器线程和/或多个处理器核。高速缓存器821是位于处理器芯片封装中的存储器,并且通常用于应当可用于由在处理器组810上运行的线程或核快速访问的数据或代码。高速缓冲存储器通常根据与处理电路的相对接近度而被组织成多个级。或者,处理器组的高速缓存中的一些或全部可位于“芯片外”。在一些计算环境中,处理器组810可以被设计用于与量子位一起工作并且执行量子计算。
计算机可读程序指令通常被加载到计算机801上,以使一系列操作步骤由计算机801的处理器组810执行,从而实现计算机实现的方法,使得如此执行的指令将实例化在流程图中指定的方法和/或包括在本文档中的计算机实现的方法的叙述性描述(统称为“本发明方法”)。这些计算机可读程序指令存储在各种类型的计算机可读存储介质中,例如高速缓存器821和下面讨论的其它存储介质。程序指令和相关数据由处理器组810访问,以控制和指导本发明方法的执行。在计算环境800中,在框850中,用于执行本发明的方法的指令中的至少一些可以被存储在永久性存储装置813中。
通信结构811是允许计算机801的各个组件彼此通信的信号传导路径。通常,该结构由开关和导电路径构成,诸如构成总线、桥接器、物理输入/输出端口等的开关和导电路径。可以使用其他类型的信号通信路径,例如光纤通信路径和/或无线通信路径。
易失性存储器812是现在已知的或将来开发的任何类型的易失性存储器。示例包括动态型随机存取存储器(RAM)或静态型RAM。通常,易失性存储器的特征在于随机存取,但这不是必需的,除非肯定地指出。在计算机801中,易失性存储器812位于单个封装中并且在计算机801的内部,但是,作为替换或补充,易失性存储器可分布在多个封装上和/或相对于计算机801位于外部。
永久性存储装置813是现在已知或将来开发的用于计算机的任何形式的非易失性存储。该存储器的非易失性意味着不管是否向计算机801和/或直接向永久存储器813供电,都保持所存储的数据。永久性存储装置813可以是只读存储器(ROM),但是通常永久性存储装置的至少一部分允许数据的写入、数据的删除和数据的重新写入。一些常见形式的持久存储包括磁盘和固态存储设备。操作系统822可以采取若干形式,诸如采用内核的各种已知的专有操作系统或开源便携式操作系统接口类型的操作系统。包括在框850中的代码通常包括执行本发明方法中涉及的至少一些计算机代码。
外围设备组814包括计算机801的外围装置组。外围设备与计算机801的其他组件之间的数据通信连接可以用各种方式来实现,诸如蓝牙连接、近场通信(NFC)连接、由电缆(诸如通用串行总线(USB)型电缆)构成的连接、插入型连接(例如,安全数字(SD)卡)、通过局域通信网络构成的连接、以及甚至通过诸如因特网等广域网构成的连接。在各种实施例中,UI设备组823可以包括诸如显示屏、扬声器、麦克风、可穿戴设备(诸如护目镜和智能手表)、键盘、鼠标、打印机、触摸板、游戏控制器和触觉设备之类的组件。存储装置824是外部存储器,例如外部硬盘驱动器,或者是可插入的存储器,例如SD卡。存储装置824可以是持久的和/或易失性的。在一些实施例中,存储824可以采取用于以量子位的形式存储数据的量子计算存储设备的形式。在计算机801需要具有大量存储的实施例中(例如,在计算机801本地存储和管理大型数据库的情况下),则该存储可以由被设计用于存储非常大量数据的外围存储设备提供,诸如由多个地理上分布的计算机共享的存储区域网络(SAN)。IoT传感器组825由可在物联网应用中使用的传感器构成。例如,一个传感器可以是温度计,而另一个传感器可以是运动检测器。
网络模块815是允许计算机801通过WAN 802与其它计算机通信的计算机软件、硬件和固件的集合。网络模块815可以包括诸如调制解调器或Wi-Fi信号收发器之类的硬件、用于对通信网络传输的数据进行分组化和/或解分组的软件、和/或用于通过因特网传送数据的web浏览器软件。在一些实施例中,网络模块815的网络控制功能和网络转发功能在同一物理硬件设备上执行。在其它实施例(例如,利用软件定义网络(SDN)的实施例)中,网络模块815的控制功能和转发功能在物理上分离的装置上执行,使得控制功能管理若干不同的网络硬件装置。用于执行本发明方法的计算机可读程序指令通常可以通过网络模块515中包括的网络适配卡或网络接口从外部计算机或外部存储设备下载到计算机501。
WAN 802是能够通过现在已知的或将来开发的用于传送计算机数据的任何技术在非本地距离上传送计算机数据的任何广域网(例如,因特网)。在一些实施例中,WAN可由局域网(LAN)替代和/或补充,LAN被设计为在位于本地区域中的设备之间传送数据,例如Wi-Fi网络。WAN和/或LAN通常包括计算机硬件,例如铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和边缘服务器。
终端用户设备(EUD)803是由终端用户(例如,操作计算机801的企业的客户)使用和控制的任何计算机系统,并且可以采取以上结合计算机801讨论的任何形式。EUD 803通常从计算机801的操作接收有用和有用的数据。例如,在计算机801被设计为向终端用户提供推荐的假设情况下,该推荐通常将通过WAN 802从计算机801的网络模块815被传送到EUD803。以此方式,EUD 803可以向终端用户显示或者以其他方式呈现推荐。在一些实施例中,EUD 803可以是客户端设备,诸如瘦客户端、重客户端、大型计算机、台式计算机等。
远程服务器804是向计算机801提供至少一些数据和/或功能的任何计算机系统。远程服务器804可以由操作计算机801的同一实体控制和使用。远程服务器804表示收集和存储由诸如计算机801等其它计算机使用的有用和有用的数据的机器。例如,在计算机801被设计和编程为基于历史数据提供推荐的假设情况下,则该历史数据可以从远程服务器804的远程数据库830提供给计算机801。
公共云805是可由多个实体使用的任何计算机系统,其提供计算机系统资源和/或其它计算机能力(特别是数据存储(云存储)和计算能力)的按需可用性,而无需用户的直接主动管理。云计算通常利用资源的共享来实现规模的一致性和经济性。公共云805的计算资源的直接和主动管理由云协调模块841的计算机硬件和/或软件执行。公共云805提供的计算资源通常由虚拟计算环境实现,该虚拟计算环境在构成主机物理机器组842的计算机的各种计算机上运行,该主机物理机器组是公共云805中和/或可用于该公共云的物理计算机的全域。虚拟计算环境(VCE)通常采取来自虚拟机组843的虚拟机和/或来自容器组844的容器的形式。应当理解,这些VCE可以作为镜像存储,并且可以作为镜像或在VCE的实例化之后在各种物理机器主机之间传送。云协调模块841管理映像的传送和存储,部署VCE的新的实例化,并且管理VCE部署的活动实例化。网关840是允许公共云805通过WAN 802通信的计算机软件、硬件和固件的集合。
现在将提供虚拟化计算环境(VCE)的一些进一步解释。VCE可以作为“镜像”存储。可以从该镜像实例化VCE的新的活动实例。两种常见类型的VCE是虚拟机和容器。容器是使用操作系统级虚拟化的VCE。这指的是操作系统特征,其中内核允许存在多个隔离的用户空间实例,称为容器。从在其中运行的程序的角度来看,这些隔离的用户空间实例通常表现为实际的计算机。在普通操作系统上运行的计算机程序可以利用该计算机的所有资源,诸如连接的设备、文件和文件夹、网络共享、CPU能力和可量化的硬件能力。然而,在容器内运行的程序只能使用容器的内容物和分配给容器的设备,这是被称为容器化的特征。
私有云806类似于公共云805,除了计算资源仅可由单个企业使用。虽然私有云806被描绘为与WAN 802通信,但在其他实施例中,私有云可以完全与因特网断开连接,并且仅可通过本地/私有网络访问。混合云是通常分别由不同厂商实现的不同类型(例如,私有、社区或公共云类型)的多个云的组合。多个云中的每一个保持为单独且离散的实体,但是较大的混合云架构通过标准化或专有技术绑定在一起,所述标准化或专有技术使得能够在多个组成云之间进行协调、管理和/或数据/应用可移植性。在该实施例中,公共云805和私有云806都是较大混合云的一部分。
还应当提及的是,用于保密计算环境中硬件安全模块与安全客户机的基于策略的关联的安全系统700可以是计算机801的操作子系统,并且可以被附接到计算机内部总线系统。
本文所用的术语仅是为了描述特定实施例的目的,而不是要限制本发明。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
在以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了本发明的描述,但是该描述不是穷举的或者将本发明限制为所公开的形式。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使本领域的其他普通技术人员能够理解本发明的具有各种修改的各种实施例,如适合于预期的特定使用。
总之,本发明的概念可以由以下条款概括:
1.一种用于在保密计算环境中硬件安全模块HSM与安全客户机的基于策略的关联的计算机实现的方法,所述方法包括:
-由可信固件维护安全客户机与HSM之间的绑定,其中,所述绑定使得所述可信客户机能够仅向所述HSM发送非敏感请求,
-由可信固件为安全客户机维护秘密和秘密名称的对,
-由所述安全客户机经由所述可信固件向所述绑定的HSM提交用于获得HSM配置数据的查询,
-在由所述安全客户机确定所述获得的HSM配置数据与对所述安全客户机可用的策略规则匹配时,其中,所述策略规则将所述HSM配置数据与秘密名称相关联,
-由所述安全客户机向所述可信固件请求将来自所述秘密和秘密名称的对的所述秘密与所述绑定的HSM相关联,从而触发所述可信固件允许所述安全客户机向所述绑定和关联的HSM提交敏感的加密请求。
2.根据条款1所述的方法,还包括:
-由所述可信固件拦截从所述安全客户机到HSM的用于生成HSM保护的密钥的每个请求,以及
-由所述可信固件强制所述生成的HSM保护的密钥仅和与来自所述安全客户机的所述秘密相关联的所述HSM一起使用。
3.根据条款1或2的方法,其中,HSM主密钥验证模式指示所述HSM的所述配置数据。
4.根据条款1至3中任一项所述的方法,其中,所述秘密和秘密名称的对被添加到所述可信固件为所述安全客户机维护的所述元数据。
5.根据条款1至4中任一项所述的方法,还包括:
-由所述安全客户机向所述可信固件请求由所述可信固件为所述安全客户机维护的所述秘密和秘密名称的对的秘密名称列表。
6.根据条款1至5中任一项所述的方法,还包括:
-如果所述HSM的所述获得的配置数据与所述策略规则不匹配,
-由所述安全客户机经由所述可信固件向另一个HSM提交用于获得其他配置数据的新查询。
7.根据条款1至6中任一项所述的方法,还包括:
-在绑定到安全客户机的所述HSM的分配配置改变时,
-解除所述HSM与所述安全客体的所述绑定,以及
-如果存在所述HSM与任何秘密的关联,则解除所述关联。
8.根据条款1至7中任一项所述的方法,其中,所述可信固件拒绝从安全客户机到未绑定到所述安全客户机的HSM的所有请求。
9.根据条款1至8中任一项所述的方法,其中,当所述HSM被分配给所述安全客户机时,根据所述安全客户机到所述可信固件的绑定所述HSM的请求,由所述可信固件建立所述安全客户机与所述HSM之间的所述绑定。
10.根据条款1至9中任一项所述的方法,其中,所述秘密的明文值不可由所述安全客户机访问。
11.根据条款1至10中任一项所述的方法,其中,对绑定到所述安全客户机的所述HSM的任何请求仅当由所述安全客户机或所述可信固件代表所述安全客户机发出时才被允许。
12.根据条款1至11中任一项所述的方法,其中,从安全客户机到所述HSM的包括HSM保护的密钥的任何请求是敏感请求,或者其响应包括HSM保护的密钥。
13.一种用于在保密计算环境中HSM与安全客户机的基于策略的关联的安全系统,所述安全系统包括
处理器和操作地耦合到所述处理器的存储器,其中,所述存储器存储软件程序代码,所述软件程序代码在由所述处理器执行时使得所述处理器能够:
-使用可信固件维护安全客户机与HSM之间的绑定,其中,所述绑定使得所述可信客户机能够仅向所述HSM发送非敏感请求,
-使用可信固件为安全客户机维护秘密和秘密名称的对,
-由所述安全客户机经由所述可信固件向所述绑定的HSM提交查询或获得HSM配置数据,
-在由所述安全客户机确定所述获得的HSM配置数据与所述安全客户机可用的策略规则匹配时,其中,所述策略规则将所述HSM配置数据与秘密名称相关联,
-由所述安全客户机向所述可信固件请求将来自所述秘密和秘密名称的对的所述秘密与所述绑定的HSM相关联,从而触发所述可信固件允许所述安全客户机向所述绑定和关联的HSM提交敏感的密码请求。
14.根据条款13所述的安全系统,其中,所述处理器还能够:
-使用所述可信固件拦截对HSM的用于生成HSM保护的密钥的每个请求,以及
-由所述可信固件强制所述生成的HSM保护的密钥仅和与来自所述安全客户机的所述秘密相关联的所述HSM一起使用。
15.根据条款13或14所述的安全系统,其中,HSM主密钥验证模式指示所述HSM的所述配置数据。
16.根据条款13至15中任一项所述的安全系统,其中,所述秘密和秘密名称的对被添加到所述可信固件为所述安全客户机维护的所述元数据。
17.根据条款13至16中任一项所述的安全系统,其中,所述处理器还能够:
-使用所述安全客户机向所述可信固件请求由所述可信固件为所述安全客户机维护的所述秘密和秘密名称的对的秘密名称的列表。
18.根据条款13至17中任一项所述的安全系统,其中,所述处理器还能够:
-如果所述HSM的所述获得的配置数据与所述策略规则不匹配,
-由所述安全客户机经由所述可信固件向另一个HSM提交用于获得其他配置数据的新查询。
19.根据条款13至18中任一项所述的安全系统,其中,所述处理器还能够:
-在绑定到安全客户机的所述HSM的分配配置改变时,
-解除所述HSM与所述安全客户机的所述绑定,以及
-如果存在所述HSM与任何秘密的关联,则解除所述关联。
20.根据条款13至19中任一项所述的安全系统,其中,所述处理器还能够:
使用所述可信固件拒绝从安全客户机到未绑定到所述安全客户机的HSM的所有请求。
21.根据条款13至20中任一项所述的安全系统,其中,当所述HSM被分配给所述安全客户机时,根据从所述安全客户机到所述可信固件的绑定所述HSM的请求,由所述可信固件建立所述安全客户机与所述HSM之间的所述绑定。
22.根据条款13至21中任一项所述的安全系统,其中,所述秘密的明文值不可由所述安全客户机访问。
23.根据条款13至22中任一项所述的安全系统,其中,对绑定到所述安全客户机的所述HSM的任何请求仅当由所述安全客户机或所述可信固件代表所述安全客户机发出时才被允许。
24.根据条款13至23中任一项所述的安全系统,其中,从安全客户机到所述HSM的包括HSM保护的密钥的任何请求是敏感请求,或者其响应包括HSM保护的密钥。
25.一种用于在保密计算环境中HSM与安全客户机的基于策略的关联的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由一个或多个计算系统或控制器执行以使所述一个或多个计算系统:
-使用可信固件维护安全客户机与HSM之间的绑定,其中,所述绑定使得所述可信客户机能够仅向所述HSM发送非敏感请求,
-使用可信固件为安全客户机维护秘密和秘密名称的对,
-由所述安全客户机经由所述可信固件向所述绑定的HSM提交查询或获得HSM配置数据,
-在由所述安全客户机确定所述获得的HSM配置数据与所述安全客户机可用的策略规则匹配时,其中,所述策略规则将所述HSM配置数据与秘密名称相关联,
-由所述安全客户机向所述可信固件请求将来自所述秘密和秘密名称的对的所述秘密与所述绑定的HSM相关联,从而触发所述可信固件允许所述安全客户机向所述绑定和关联的HSM提交敏感的密码请求。
Claims (25)
1.一种用于在保密计算环境中硬件安全模块HSM与安全客户机的基于策略的关联的计算机实现的方法,所述方法包括:
-由可信固件维护安全客户机与HSM之间的绑定,其中,所述绑定使得所述可信客户机能够仅向所述HSM发送非敏感请求,
-由可信固件为安全客户机维护秘密和秘密名称的对,
-由所述安全客户机经由所述可信固件向所述绑定的HSM提交用于获得HSM配置数据的查询,
-在由所述安全客户机确定所述获得的HSM配置数据与对所述安全客户机可用的策略规则匹配时,其中,所述策略规则将所述HSM配置数据与秘密名称相关联,
-由所述安全客户机向所述可信固件请求将来自所述秘密和秘密名称的对的所述秘密与所述绑定的HSM相关联,从而触发所述可信固件允许所述安全客户机向所述绑定和关联的HSM提交敏感的加密请求。
2.根据权利要求1所述的方法,还包括:
-由所述可信固件拦截从所述安全客户机到HSM的用于生成HSM保护的密钥的每个请求,以及
-由所述可信固件强制所述生成的HSM保护的密钥仅和与来自所述安全客户机的所述秘密相关联的所述HSM一起使用。
3.根据权利要求1或2的方法,其中,HSM主密钥验证模式指示所述HSM的所述配置数据。
4.根据权利要求1至3中任一项所述的方法,其中,所述秘密和秘密名称的对被添加到所述可信固件为所述安全客户机维护的所述元数据。
5.根据权利要求1至4中任一项所述的方法,还包括:
-由所述安全客户机向所述可信固件请求由所述可信固件为所述安全客户机维护的所述秘密和秘密名称的对的秘密名称列表。
6.根据权利要求1至5中任一项所述的方法,还包括:
-如果所述HSM的所述获得的配置数据与所述策略规则不匹配,
-由所述安全客户机经由所述可信固件向另一个HSM提交用于获得其他配置数据的新查询。
7.根据权利要求1至6中任一项所述的方法,还包括:
-在绑定到安全客户机的所述HSM的分配配置改变时,
-解除所述HSM与所述安全客体的所述绑定,以及
-如果存在所述HSM与任何秘密的关联,则解除所述关联。
8.根据权利要求1至7中任一项所述的方法,其中,所述可信固件拒绝从安全客户机到未绑定到所述安全客户机的HSM的所有请求。
9.根据权利要求1至8中任一项所述的方法,其中,当所述HSM被分配给所述安全客户机时,根据所述安全客户机到所述可信固件的绑定所述HSM的请求,由所述可信固件建立所述安全客户机与所述HSM之间的所述绑定。
10.根据权利要求1至9中任一项所述的方法,其中,所述秘密的明文值不可由所述安全客户机访问。
11.根据权利要求1至10中任一项所述的方法,其中,对绑定到所述安全客户机的所述HSM的任何请求仅当由所述安全客户机或代表所述安全客户机的所述可信固件发出时才被允许。
12.根据权利要求1至11中任一项所述的方法,其中,从安全客户机到所述HSM的包括HSM保护的密钥的任何请求是敏感请求,或者其响应包括HSM保护的密钥。
13.一种用于在保密计算环境中HSM与安全客户机的基于策略的关联的安全系统,所述安全系统包括
处理器和可操作地耦合到所述处理器的存储器,其中,所述存储器存储软件程序代码,所述软件程序代码在由所述处理器执行时使得所述处理器能够:
-使用可信固件维护安全客户机与HSM之间的绑定,其中,所述绑定使得所述可信客户机能够仅向所述HSM发送非敏感请求,
-使用可信固件为安全客户机维护秘密和秘密名称的对,
-由所述安全客户机经由所述可信固件向所述绑定的HSM提交查询或获得HSM配置数据,
-在由所述安全客户机确定所述获得的HSM配置数据与对所述安全客户机可用的策略规则匹配时,其中,所述策略规则将所述HSM配置数据与秘密名称相关联,
-由所述安全客户机向所述可信固件请求将来自所述秘密和秘密名称的对的所述秘密与所述绑定的HSM相关联,从而触发所述可信固件允许所述安全客户机向所述绑定和关联的HSM提交敏感的密码请求。
14.根据权利要求13所述的安全系统,其中,所述处理器还能够:
-使用所述可信固件拦截对HSM的用于生成HSM保护的密钥的每个请求,以及
-由所述可信固件强制所述生成的HSM保护的密钥仅和与来自所述安全客户机的所述秘密相关联的所述HSM一起使用。
15.根据权利要求13或14所述的安全系统,其中,HSM主密钥验证模式指示所述HSM的所述配置数据。
16.根据权利要求13至15中任一项所述的安全系统,其中,所述秘密和秘密名称的对被添加到所述可信固件为所述安全客户机维护的所述元数据。
17.根据权利要求13至16中任一项所述的安全系统,其中,所述处理器还能够:
-使用所述安全客户机向所述可信固件请求由所述可信固件为所述安全客户机维护的所述秘密和秘密名称的对的秘密名称的列表。
18.根据权利要求13至17中任一项所述的安全系统,其中,所述处理器还能够:
-如果所述HSM的所述获得的配置数据与所述策略规则不匹配,
-由所述安全客户机经由所述可信固件向另一个HSM提交用于获得其他配置数据的新查询。
19.根据权利要求13至18中任一项所述的安全系统,其中,所述处理器还能够:
-在绑定到安全客户机的所述HSM的分配配置改变时,
-解除所述HSM与所述安全客户机的所述绑定,以及
-如果存在所述HSM与任何秘密的关联,则解除所述关联。
20.根据权利要求13至19中任一项所述的安全系统,其中,所述处理器还能够:
使用所述可信固件拒绝从安全客户机到未绑定到所述安全客户机的HSM的所有请求。
21.根据权利要求13至20中任一项所述的安全系统,其中,当所述HSM被分配给所述安全客户机时,根据从所述安全客户机到所述可信固件的绑定所述HSM的请求,由所述可信固件建立所述安全客户机与所述HSM之间的所述绑定。
22.根据权利要求13至21中任一项所述的安全系统,其中,所述秘密的明文值不可由所述安全客户机访问。
23.根据权利要求13至22中任一项所述的安全系统,其中,对绑定到所述安全客户机的所述HSM的任何请求仅当由所述安全客户机或代表所述安全客户机的所述可信固件发出时才被允许。
24.根据权利要求13至23中任一项所述的安全系统,其中,从安全客户机到所述HSM的包括HSM保护的密钥的任何请求是敏感请求,或者其响应包括HSM保护的密钥。
25.一种用于在保密计算环境中HSM与安全客户机的基于策略的关联的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由一个或多个计算系统或控制器执行以使所述一个或多个计算系统:
-使用可信固件维护安全客户机与HSM之间的绑定,其中,所述绑定使得所述可信客户机能够仅向所述HSM发送非敏感请求,
-使用可信固件为安全客户机维护秘密和秘密名称的对,
-由所述安全客户机经由所述可信固件向所述绑定的HSM提交查询或获得HSM配置数据,
-在由所述安全客户机确定所述获得的HSM配置数据与所述安全客户机可用的策略规则匹配时,其中,所述策略规则将所述HSM配置数据与秘密名称相关联,
-由所述安全客户机向所述可信固件请求将来自所述秘密和秘密名称的对的所述秘密与所述绑定的HSM相关联,从而触发所述可信固件允许所述安全客户机向所述绑定和关联的HSM提交敏感的密码请求。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB2217880.0A GB2624867A (en) | 2022-11-29 | 2022-11-29 | Selecting an HSM for association to a secure guest |
| GB2217880.0 | 2022-11-29 | ||
| US18/159,376 US20240176913A1 (en) | 2022-11-29 | 2023-01-25 | Selecting an hsm for association to a secure guest |
| US18/159,376 | 2023-01-25 | ||
| PCT/EP2023/082277 WO2024115147A1 (en) | 2022-11-29 | 2023-11-17 | Selecting an hsm for association to a secure guest |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120266112A true CN120266112A (zh) | 2025-07-04 |
Family
ID=88920919
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202380081441.6A Pending CN120266112A (zh) | 2022-11-29 | 2023-11-17 | 选择用于关联到安全客户机的hsm |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4627462A1 (zh) |
| CN (1) | CN120266112A (zh) |
| WO (1) | WO2024115147A1 (zh) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8584229B2 (en) * | 2007-12-21 | 2013-11-12 | Intel Corporation | Methods and apparatus supporting access to physical and virtual trusted platform modules |
| US10461937B1 (en) | 2013-12-18 | 2019-10-29 | Amazon Technologies, Inc. | Hypervisor supported secrets compartment |
| US9705859B2 (en) | 2015-12-11 | 2017-07-11 | Amazon Technologies, Inc. | Key exchange through partially trusted third party |
| US11500988B2 (en) * | 2019-03-08 | 2022-11-15 | International Business Machines Corporation | Binding secure keys of secure guests to a hardware security module |
| US11533174B2 (en) * | 2020-01-29 | 2022-12-20 | International Business Machines Corporation | Binding secure objects of a security module to a secure guest |
-
2023
- 2023-11-17 CN CN202380081441.6A patent/CN120266112A/zh active Pending
- 2023-11-17 EP EP23810005.1A patent/EP4627462A1/en active Pending
- 2023-11-17 WO PCT/EP2023/082277 patent/WO2024115147A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024115147A1 (en) | 2024-06-06 |
| EP4627462A1 (en) | 2025-10-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7445358B2 (ja) | セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール | |
| WO2023241879A1 (en) | Protecting sensitive data dump information | |
| US20240267210A1 (en) | Preventing Password Cracking Based on Combined Server/Client Salted Passwords | |
| US12309270B2 (en) | Enabling a securing of cryptographic operations | |
| US11640249B2 (en) | Access verification on portable mass storage devices | |
| CN119908106A (zh) | 云环境中受管制的工作负载的基于经验的分派 | |
| US20240176913A1 (en) | Selecting an hsm for association to a secure guest | |
| CN120266112A (zh) | 选择用于关联到安全客户机的hsm | |
| US12271469B2 (en) | Extending secure guest metadata to bind the secure guest to a hardware security module | |
| US20240176634A1 (en) | Updating secure guest metadata of a specific guest instance | |
| US20250307434A1 (en) | Apparatus and methods for providing privileged access to software containers | |
| US12189776B2 (en) | Updating secure guest metadata of a specific guest instance | |
| US20250168168A1 (en) | Apparatus and method for providing revocation of user access in an active session | |
| CN120266110A (zh) | 扩展安全客户机元数据以绑定安全客户机到hsm | |
| US20240256245A1 (en) | Namespace scoped default storage classes | |
| WO2024115152A1 (en) | Updating secure guest metadata of a specific guest instance | |
| US20240072997A1 (en) | Protecting User Data During Virtual Machine Initialization | |
| US11902181B1 (en) | Action first permission management system in cloud computing | |
| US20250254147A1 (en) | Universal serial bus device with security check | |
| US20250039159A1 (en) | Encryption management to reduce over-encryption | |
| US20250307443A1 (en) | Granting resource access using integration of sensitivity data tags | |
| US20240267209A1 (en) | Preventing Password Cracking and Acceptance of Cracked Passwords | |
| US20240241964A1 (en) | Depicting a relative extent of vulnerability associated with a web application deployed on a domain | |
| WO2024115151A1 (en) | Updating secure guest metadata of a specific guest instance | |
| WO2024200302A1 (en) | Enabling a securing of cryptographic operations |
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 |