CN116244679A - 云密钥访问机制 - Google Patents
云密钥访问机制 Download PDFInfo
- Publication number
- CN116244679A CN116244679A CN202211389517.5A CN202211389517A CN116244679A CN 116244679 A CN116244679 A CN 116244679A CN 202211389517 A CN202211389517 A CN 202211389517A CN 116244679 A CN116244679 A CN 116244679A
- Authority
- CN
- China
- Prior art keywords
- request
- encryption keys
- access
- keystore
- application
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/32—Cryptographic 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
- H04L9/321—Cryptographic 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 involving a third party or a trusted authority
- H04L9/3213—Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种装置,包括:一个或多个处理器,其用于:接收来自应用程序的第一请求以访问来自云密钥库的一个或多个加密密钥,向云密钥库发送该第一请求,从云密钥库接收加密密钥,提供对应用程序的一个或多个加密密钥的访问,并将一个或多个加密密钥存储在受信任的执行环境中。
Description
技术领域
本发明涉及云密钥访问机制。
背景技术
应用程序越来越多地使用云托管密钥管理(或密钥库服务)在云中存储加密密钥。密钥库服务从本地输出应用程序中卸载密钥管理,在本地输出应用程序中应用程序通常需要使用密钥库服务来启动新的会话。这有两个主要缺点。首先,密钥的实时传输(尽管以加密格式)构成了攻击面。其次,如果每次应用程序需要密钥时都必须从远程服务检索,这也存在延迟的影响。
发明内容
本发明提供了一种装置,包括:一个或多个处理器,用于:接收来自应用程序的第一请求以访问来自云密钥库的一个或多个加密密钥,向云密钥库发送所述第一请求,从云密钥库接收加密密钥,提供对应用程序的所述一个或多个加密密钥的访问,以及将一个或多个加密密钥存储在受信任的执行环境中。
附图说明
为了详细理解上述特征的方式,可以参考实施例进行更详细的描述,如上文简要概述,其中一些实施例在附图中进行了说明。然而,应注意的是,附图仅示出了典型实施例,因此不应视为对其范围的限制,因为本公开可能允许其他同等有效的实施例。
图1示出计算设备的一个实施例。
图2示出平台的实施例。
图3示出平台的另一个实施例。
图4示出传统的密钥访问模型。
图5示出平台的另一个实施例。
图6是示出密钥供应过程的一个实施例的流程图。
图7是示出密钥访问过程的一个实施例的流程图。
图8是一种示例性的电子计算设备的示意图。
具体实施方式
在以下描述中,阐述了许多具体细节,以提供更透彻的理解。然而,对于本领域技术人员来说,显而易见的是,可以在没有这些特定细节中的一个或多个的情况下实施实施例。在其他情况下,为了避免混淆实施例,未描述公知特征。
在实施例中,提供了一种机制,通过将密钥访问请求重定向到本地平台受信任的执行环境(TEE),从远程密钥库服务访问加密密钥。
提及“一个实施例”、“一个实例”、“示例性实施例”和“各种实施例”等,表明如此描述的实施例可以包括特定特征、结构或特征,但并非每个实施例都必须包括特定特征(features)、结构(structures)或特性(characteristics)。此外,一些实施例可以具有针对其他实施例描述的某些、全部或没有特征。在以下描述和权利要求中,可以使用术语“耦合”及其派生词。“耦合”用于表示两个或多个元件相互合作或相互作用,但它们之间可能有或可能没有中间的物理或电子组件。如权利要求书中所使用的,除非另有说明,使用顺序形容词“第一”、“第二”、“第三”等来描述共同的元素,只是指示所提及的类似元素的不同实例,并不旨在暗示所述的元素必须按照给定的顺序,无论是在时间上、空间上、排名上,还是以任何其它方式。
图1示出计算设备100的一个实施例。根据一个实施例,计算设备100包括托管集成电路(“IC”)的计算机平台,诸如芯片上的系统(“SoC”或“SOC”),在单个芯片上集成计算设备100的各种硬件和/或软件组件。如图所示,在一个实施例中,计算设备100可以包括任何数量和类型的硬件和/或软件组件,诸如(但不限于)图形处理单元114(“GPU”或简称为“图形处理器”)、图形驱动器116(也称为“GPU驱动器”、“图形驱动器逻辑”、“驱动器逻辑”、用户模式驱动器(UMD)、UMD、用户模式驱动器框架(UMDF)、UMDF,或简称为“驱动器”)、中央处理单元112(“CPU”或简称为“应用程序处理器”)、存储器108、网络设备、驱动器等,以及输入/输出(I/O)源104,诸如触摸屏、触摸面板、触摸板、虚拟或常规键盘、虚拟或常规鼠标、端口、连接器等。计算设备100可以包括作为计算设备100的硬件和/或物理资源与用户之间接口的操作系统(OS)106。
应当理解,对于某些实施方式,可能优选配备比上述示例更少或更多的系统。因此,计算设备100的配置可能因实现方式而异,这取决于许多因素,诸如价格约束、性能要求、技术改进或其它情况。
实施例可以实现为如下中的任何一个或组合:使用主板互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储器设备存储并由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。术语“逻辑”、“模块”、“组件”、“引擎”和“机制”可以包括软件或硬件和/或它们的组合,诸如固件。
实施例可以使用一个或多个存储器芯片、控制器、CPU(中央处理器)、使用主板互连的微芯片或集成电路、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)来实现。例如,术语“逻辑”可包括软件或硬件和/或软件和硬件的组合。
图2示出平台200的一个实施例,包括类似于上面讨论的计算设备100的SOC 210。如图2中所示,平台200包括经由CPU 112与一个或多个软件组件260通信耦合的SOC 210。在进一步的实施例中,平台200还可以经由云网络210耦合到计算设备270。在本实施例中,计算设备270包括经由软件260提供对SOC 210的访问的云代理。
此外,SOC 210包括经由系统结构205耦合的其它计算设备组件(例如存储器108)。在一个实施例中,系统结构205包括集成片上系统结构(IOSF),以向耦合SOC 210内的互连协议(IP)代理230(例如,IP块230A和230B)提供标准化片上互连协议。在这样的实施例中,互连协议提供了标准化接口,以使第三方能够设计逻辑,例如要并入SOC 210中的IP代理。
根据实施例,IP代理230可包括通用处理器(例如,有序或无序核)、固定功能单元、图形处理器、I/O控制器、显示控制器等。在这样的实施例中,每个IP代理230包括硬件接口235(例如,235A和235B),以提供标准化以使IP代理230能够与SOC 210组件通信。例如,在IP代理230是第三方视觉处理单元(VPU)的实施例中,接口235提供了一种标准化,以使VPU能够经由结构205访问存储器108。
SOC 210还包括安全控制器240,其作为安全引擎为SOC 210执行各种安全操作(例如,安全处理、加密功能等)。在一个实施例中,安全控制器240包括实现为执行安全操作的密码处理器IP代理230。此外,SOC 210包括非易失性存储器250。非易失性存储器250可以被实现为外围组件互连快速(PCIe)存储驱动器,例如固态驱动器(SSD)或非易失存储器快速(NVMe)驱动器。
根据一个实施例,平台200可以实现为可信执行环境(TEE)。TEE是平台200的安全区域,其保证加载在平台200内的代码和数据在保密性和完整性方面受到保护。此外,TEE是一个隔离的执行环境,它提供了安全特性,例如隔离执行和使用TEE执行的应用程序的完整性,以及其资产的机密性。因此,TEE提供了一个执行空间,为平台200上运行的可信应用程序提供了更高级别的安全性。
图3示出了包括TEE 305的平台200的一个实施例。在该实施例中,平台200还被实现为通过主机OS 310和虚拟机监视器(VMM)320执行多个虚拟机(VM)350(例如,VM 350A–VM350N)。VM 350支持平台200资源的虚拟化。VMM 320向VM 350提供虚拟操作平台并管理VM350的执行。在一个实施例中,在VM 350上执行的应用程序352(例如,应用程序352A–352N)可实现密钥库服务来管理加密密钥。在这样的实施例中,应用程序352从活动目录服务访问密钥。活动目录服务存储有关域成员(例如,设备和用户)的信息,验证其凭据并定义其访问权限。运行此服务的服务器称为域控制器。当用户登录到设备或通过网络访问另一个设备时,会联系域控制器。
图4示出传统的密钥访问模型。如图4中所示,认证请求被发送到活动目录服务,该服务为应用程序开发人员和管理员维护认证数据。认证成功后,应用程序从活动目录服务接收密钥访问令牌。这两个步骤仅用于首次密钥访问。对于后续的密钥访问,可以使用相同的密钥访问令牌。获取访问令牌后,应用程序将向密钥库服务发送请求(例如,通表述性状态转移(REST)应用程序编程接口(API))。密钥库服务然后可以将请求重定向到有效的密钥库统一资源定位器(URL),并将密钥发送回应用程序(步骤4)。
当应用程序及其相关的密钥二者都在同一数据中心时,上述密钥访问模型更适合。然而,此类模型不适合混合云模型,其中应用程序可能在私有云(例如,企业云)中操作,而密钥则通过提供的内容安全策略库进行维护。在此类场景中,除了在密钥传输时暴露攻击面外,应用程序在远程密钥访问期间产生的延迟可能会对QoS造成重大影响。
根据一个实施例,公开了一种混合云密钥访问系统,该系统结合远程云密钥库服务使用平台TEE 305。图5示出了与密钥库560和活动目录服务域控制器(或域控制器)570通信耦合的平台200的另一实施例。在一个实施例中,密钥库560包括通过云网络访问的密钥管理服务。在这样的实施例中,平台200是密钥库560的客户端,其包括可使用密钥库客户端510(例如,510A–510N)经由混合云系统访问加密密钥的应用程序352。在这样的实施例中,可以在密钥供应阶段和密钥访问阶段期间执行密钥访问。
在第一次访问时发生的密钥供应阶段,密钥库客户端510从密钥库560接收密钥。随后,密钥库客户端510允许对应用程序352的密钥访问,并将密钥保存在TEE 305中。在一个实施例中,仅在密钥供应阶段期间从密钥库560发送密钥。一旦在TEE 305中成功提供密钥,密钥库560将接收确认信息,并设定密钥_已提供(key_provisioned)标志。随后,密钥库560将利用该标志来处理后续的密钥访问请求。
图6是示出密钥供应过程的一个实施例的流程图。在处理块610处,应用程序352(例如,应用程序352a)向域控制器570发送认证请求。在处理块620处,应用程序352从域控制器570接收密钥访问令牌。在处理块630处,应用程序352向密钥库560发送请求。在处理块640处,密钥库客户端510从密钥库560接收密钥。在处理块650处,密钥库客户端510提供对应用程序352的密钥访问。在处理块660处,密钥存储在TEE 305中。在处理块670处,响应于接收到密钥已成功存储在TEE 305中的确认,在密钥库560处设定密钥_已提供(key_provisioned)标志。
在密钥访问阶段中,应用程序352向密钥库560发送密钥访问请求。随后,密钥库560验证密钥_已提供(key_provisioned)标志。在确定设定了标志之后,密钥库560将请求重定向到密钥库客户端510。然后,密钥库客户端510从TEE 305获取密钥,并将密钥提供给应用程序352。在确定未设定标志(例如,密钥过期)之后,则必须重新供应密钥(例如,经由上述密钥供应过程)。
图7是示出密钥访问过程的一个实施例的流程图。在处理块710处,应用程序352向域控制器570发送认证请求。在处理块720处,应用程序352从域控制器570接收密钥访问令牌。在处理块730处,应用程序352向密钥库560发送请求。在决策块740处,密钥库560确定是否设定了与应用程序关联的密钥_已提供(key_provisioned)标志。如果没有,则在处理块750处执行密钥供应过程(如上面参考图6所述)。
在决策块740处确定密钥_已提供(key_provisioned)标志已经设定后,在处理块760处密钥库560将密钥访问请求重定向到密钥库客户端510。在处理块770处,密钥库客户端510从TEE 305检索密钥。在处理块780处,密钥库客户端510提供对应用程序352的密钥访问。
上述混合云密钥访问系统减少了应用程序在远程密钥访问期间产生的延迟,从而显著提高了QoS,并通过最小化攻击面来提高整体安全性。
图8是一种说明性电子计算设备的示意图。在一些实施例中,计算设备900包括一个或多个处理器910,其包括一个或多个处理器核心918和TEE 964,TEE包括机器学习服务飞地(machine learning service enclave,MLSE)980。在一些实施例中,计算设备900包括硬件加速器968、硬件加速器包括密码引擎982和机器学习模型984。在一些实施例中,计算设备提供针对ML对抗攻击的增强保护,如图1-7中所示。
计算设备900可以另外包括以下一个或多个:缓存962、图形处理单元(GPU)912(其在一些实现方式中可能是硬件加速器)、无线输入/输出(I/O)接口920、有线I/O接口930、存储器电路940、电源管理电路950、非暂态存储设备960和连接到网络972的网络接口970。下面的讨论对构成说明性计算设备900的组件进行了简要的一般描述。例如,非限制计算设备900可包括桌面计算设备、刀片服务器设备、工作站或类似的设备或系统。
在实施例中,处理器核心918能够执行机器可读指令集914,从一个或多个存储设备960读取数据和/或指令集914,并将数据写入一个或多个存储设备960。本技术人员将理解,所示实施例以及其它实施例可用其它基于处理器的设备配置实践,包括便携式电子设备或手持电子设备,例如智能手机、便携式计算机、可穿戴计算机、消费电子产品、个人计算机(“PC”)、网络PC、小型计算机、服务器刀片、主机计算机等。
处理器核心918可包括任意数量的硬连线或可配置电路,其中一些或全部可包括可编程和/或可配置的电子组件、半导体器件和/或逻辑元件的组合,该元件部分或全部设置在PC、服务器或能够执行处理器可读指令的其它计算系统中。
计算设备900包括总线或类似的通信链路916,其可通信地耦合并促进各种系统组件之间的信息和/或数据交换,该系统组件包括处理器核心918、缓存962、图形处理器电路912、一个或多个无线I/O接口920、一个或多个有线I/O接口930、一个或多个存储设备960和/或一个或多个网络接口970。计算设备900在此可以用单数指代,但这并不旨在将实施例限制为单个计算设备900,因为在一些实施例中,可能存在合并、包括或包含任何数量的通信地耦合、配置或远程联网的电路或设备的多于一个的计算设备900。
处理器核心918可以包括能够执行机器可读指令集的任意数量、类型或组合的当前可用的或未来开发的设备。
处理器核心918可以包括(或耦合到)但不限于任何当前或未来开发的单核或多核处理器或微处理器,诸如:一个或多个芯片上系统(SOC);中央处理器(CPU);数字信号处理器(DSP);图形处理单元(GPU);专用集成电路(ASIC)、可编程逻辑单元、现场可编程门阵列(FPGA)等。除非另有说明,图8中所示的各种块的构造和操作都是传统设计。因此,此类块不需要在这里进一步详细描述,因为它们将被相关领域的技术人员所理解。互连计算设备900的至少一些组件的总线916可以采用目前可用的或未来开发的任何串行或并行总线结构或架构。
系统存储器940可以包括只读存储器(“ROM”)642和随机访问存储器(“RAM”)946。ROM 942的一部分可用于存储或以其它方式保留基本输入/输出系统(“BIOS”)944。BIOS944向计算设备900提供基本功能,例如,通过使处理器核心918加载和/或执行一个或多个机器可读指令集914。在实施例中,一个或多个机器可读指令集914的至少一部分使处理器核心918的至少一部分提供、创建、产生、转换和/或作为专用的、特定的和特别的机器,例如字处理机、数字图像采集机、介质播放机、游戏系统、通信设备、智能手机或类似的机器发挥作用。
计算设备900可包括至少一个无线输入/输出(I/O)接口920。该至少一个无线I/O接口920可通信地耦合到一个或多个物理输出设备922(触觉设备、视频显示器、音频输出设备、硬拷贝输出设备等)。该至少一个无线I/O接口920可通信地耦合到一个或多个物理输入设备624(指向设备、触摸屏、键盘、触觉设备等)。该至少一个无线I/O接口920可以包括当前可用的或未来开发的任何无线I/O接口。示例无线I/O接口包括但不限于:近场通信(NFC)等。
计算设备900可包括一个或多个有线输入/输出(I/O)接口930。该至少一个有线I/O接口930可通信地耦合到一个或多个物理输出设备922(触觉设备、视频显示器、音频输出设备、硬拷贝输出设备等)。该至少一个有线I/O接口930可通信地耦合到一个或多个物理输入设备924(指向设备、触摸屏、键盘、触觉设备等)。有线I/O接口930可以包括当前可用的或未来开发的任何I/O接口。有线I/O接口的示例包括但不限于:通用串行总线(USB)、IEEE1394(“FireWire”)等。
计算设备900可包括一个或多个通信耦合的非暂态数据存储设备960。数据存储设备960可包括一个或多个硬盘驱动器(HDD)和/或一个或多个固态存储设备(SSD)。一个或多个数据存储设备960可以包括任何当前或未来开发的存储设备、网络存储设备和/或系统。此类数据存储设备的非限制性示例960可包括但不限于任何当前或未来开发的非暂态存储工具或设备,诸如一个或多个磁性存储设备、一个或多个光存储设备、一个或多个电阻存储设备、一个或多个分子存储设备、一个或多个量子存储设备,或其各种组合。在一些实现方式中,一个或多个数据存储设备960可以包括一个或多个可移动存储设备,诸如一个或多个闪存驱动器、闪存存储器、闪存存储单元或能够与计算设备900进行通信耦合和分离的类似工具或设备。
该一个或多个数据存储设备960可以包括接口或控制器(未示出),其将相应的存储设备或系统通信地耦合到总线916。一个或多个数据存储设备960可以存储、保留或以其它方式包含机器可读指令集、数据结构、程序模块、数据存储、数据库、逻辑结构和/或对处理器核心918和/或图形处理器电路912有用的其它数据,和/或在处理器核心918和/或图形处理器电路912上或由其执行的一个或多个应用程序。在一些情况下,一个或多个数据存储设备960可以通信地耦合到处理器核心918,例如经由总线916或经由一个或多个有线通信接口930(例如,通用串行总线USB);一个或多个无线通信接口920(例如,近场通信NFC);和/或一个或多个网络接口970(IEEE 802.3或以太网、IEEE 802.11或/>等)。
处理器可读指令集914和其它程序、应用程序、逻辑集和/或模块可以全部或部分地存储在系统存储器940中。此类指令集914可以全部或部分地从一个或多个数据存储设备960传输。在处理器核心918和/或图形处理器电路912执行期间,指令集914可以全部或部分地加载、存储或以其它方式保留在系统存储器940中。
计算设备900可包括控制储能设备952的一个或多个操作方面的电源管理电路950。在实施例中,储能设备952可以包括一个或多个一次电池(即不可充电的)或二次电池(即可充电的)或类似的储能设备。在实施例中,储能设备952可包括一个或多个超级电容器或超级的电容器。在实施例中,电源管理电路950可以改变、调节或控制从外部电源954到储能设备952和/或到计算设备900的能量流。电源954可包括但不限于太阳能发电系统、商业电网、便携式发电机、外部储能设备或其任何组合。
为了方便起见,处理器核心918、图形处理器电路912、无线I/O接口920、有线I/O接口930、存储设备960和网络接口970经由总线916彼此通信耦合,从而提供上述组件之间的连接。在替代实施例中,上述组件可以以不同于图8中所示的方式通信地耦合。例如,一个或多个上面描述的组件可以直接耦合到其它组件,或可以经由一个或多个中间组件(未示出)彼此耦合。在另一个示例中,一个或多个上述描述的组件可集成到处理器核心918和/或图形处理器电路912中。在一些实施例中,总线916的全部或部分可以省略,并且组件使用适当的有线或无线连接直接彼此耦合。
例如,实施例可以作为计算机程序产品提供,该计算机程序产品可包括具有存储在其上的机器可执行指令的一个或多个机器可读介质,该机器可执行指令当由一个或多个机器(诸如计算机、计算机网络或其它电子设备)执行时可导致一个或多个机器执行根据本文所述实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(光盘只读存储器)以及磁光盘、ROM、RAM、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存或适合存储机器可执行指令的其它类型的介质/机器可读介质。
此外,实施例可以作为计算机程序产品下载,其中程序可以经由通信链路(例如,调制解调器和/或网络连接)通过体现在载波或其它传播介质中和/或调制的一个或多个数据信号,从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。
贯穿本文件,术语“用户”可互换称为“观看者”、“观察者”、“演讲者”、“人”、“个人”“最终用户”等。需要注意,贯穿该文件,如“图形域”的术语可以与“图形处理器”、“图形处理器”或简单地“GPU”互换引用,并且类似地,“CPU域”或“主机域”可以与“计算机处理器”、“应用程序处理器”或简单地“CPU”互换引用。
需要注意,如“节点”、“计算节点”、“服务器”、“服务器设备”、“云计算机”、“云服务器”、“云服务器计算机”、“机器”、“主机”、“设备”、“计算设备”、“计算机”、“计算系统”等的术语贯穿本文件可以互换使用。需要进一步指出,如“应用程序”、“软件应用程序”、“程序”、“软件程序”、“包”、“软件包”等的术语贯穿本文件可以互换使用。此外,如“作业”、“输入”、“请求”、“消息”等的术语贯穿本文件可以互换使用。
在各种实现方式中,计算设备可以是膝上型计算机、上网本、笔记本计算机、超级本、智能手机、平板计算机、个人数字助理(PDA)、超移动PC、移动电话、台式计算机、服务器、机顶盒、娱乐控制单元、数码相机、便携式音乐播放器或数字录像机。计算设备可以是固定的、便携的或可穿戴的。在进一步的实现方式中,计算设备可以是处理数据或记录数据以供别处处理的任何其它电子设备。
附图和前述描述给出了实施例的示例。本领域技术人员将理解,所述元件中的一个或多个可以很好地组合成单个功能元件。或者,某些元素可以拆分为多个功能元素。可以将来自一个实施例的元件添加到另一个实施方式。例如,此处描述的过程顺序可以更改,且不限于此处描述的方式。此外,任何流程图的动作都不需要按所示顺序执行;也不一定需要执行所有动作。此外,那些不依赖于其他行为的行为可以与其他行为并行执行。实施例的范围决不受这些特定示例的限制。无论是否在规范中明确给出,都可能有许多变化,例如结构、尺寸和材料使用方面的差异。实施例的范围至少与以下权利要求所给出的一样宽。例如,实施例可以作为计算机程序产品提供,该计算机程序产品可包括具有存储在其上的机器可执行指令的一个或多个暂态或非暂态机器可读存储介质,该机器可执行指令当由一个或多个机器(诸如计算机、计算机网络或其它电子设备)执行时可导致一个或多个机器执行根据本文所述实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(光盘只读存储器)以及磁光盘、ROM、RAM、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存或适合存储机器可执行指令的其它类型的介质/机器可读介质。
一些实施例涉及示例1,该示例1包括装置,该装置包括:一个或多个处理器,其接收来自应用程序的第一请求,以访问来自云密钥库的一个或多个加密密钥,向云密钥库发送第一请求,从云密钥库接收加密密钥,向所述应用程序提供对所述一个或多个加密密钥的访问,并将一个或多个加密密钥存储在受信任的执行环境中。
示例2包括示例1的主题,其中,一个或多个处理器向云密钥库发送确认,指示一个或多个加密密钥已存储在受信任的执行环境中。
示例3包括示例1和示例2的主题,其中,一个或多个处理器进一步接收来自应用程序的第二请求,以访问来自云密钥库的一个或多个密钥,并向云密钥库发送第二请求。
示例4包括示例1-3的主题,其中,一个或多个处理器还从密钥库接收重定向密钥访问请求。
示例5包括示例1-4的主题,其中,一个或多个处理器还从受信任执行环境检索一个或多个加密密钥,并向应用程序提供对一个或多个加密密钥的访问。
示例6包括示例1-5的主题,其中,一个或多个处理器还向域控制器发送认证请求并从域控制器接收密钥访问令牌。
示例7包括示例1-6的主题,其中,使用密钥访问令牌将第一请求发送到所述云密钥库。
一些实施例涉及示例8,该示例8包括一种装置,该装置包括:一个或多个处理器,其从客户端处的应用程序接收第一请求,以访问一个或多个加密密钥,将一个或多个加密密钥发送到客户端处的密钥库客户端,并设定标志,该标志指示一个或多个密钥已存储在客户端处的受信任的执行环境中。
示例9包括示例8的主题,其中,一个或多个处理器还接收来自密钥库客户端的确认,该确认指示一个或多个加密密钥已存储在受信任的执行环境中。
示例10包括示例8和示例9的主题,其中,一个或多个处理器还接收来自应用程序的第二请求以访问一个或多个加密密钥,并并且响应于接收所述第二请求确定所述标志是否已被设定。
示例11包括示例8-10的主题,其中,一个或多个处理器还用于:在确定已设定标志后,将第二请求重定向到密钥库客户端。
一些实施例涉及示例12,该示例12包括一种方法,包括:接收来自应用程序的第一请求以访问来自云密钥库的一个或多个加密密钥;向云密钥库发送第一请求;从云密钥库接收加密密钥;向应用程序提供对一个或多个加密密钥的访问;以及将一个或多个加密密钥存储在受信任的执行环境中。
示例13包括示例12的主题,还包括向云密钥库发送确认,该确认指示一个或多个加密密钥已存储在受信任的执行环境中。
示例14包括示例12和示例15的主题,还包括:接收来自应用程序的第二请求以访问来自云密钥库的一个或多个加密密钥;向云密钥库发送第二请求;以及从密钥库接收重定向的密钥访问请求。
示例15包括示例12-14的主题,还包括从受信任的执行环境检索一个或多个加密密钥;以及向应用程序提供对一个或多个加密密钥的访问。
示例16包括示例12-15的主题,还包括向域控制器发送认证请求;从域控制器接收密钥访问令牌,使用第一请求将所述密钥访问令牌发送到云密钥库。
一些实施例涉及示例17,其包括其上存储有指令的至少一个计算机可读介质,当由一个或多个处理器执行该指令时,使处理器:从客户端处的应用程序接收访问一个或多个加密密钥的第一请求,将一个或多个加密密钥发送到客户端处的密钥库客户端,并设定标志,该标志指示一个或多个加密密钥已存储在客户端处的受信任执行环境中。
示例18包括示例17的主题,在其上存储指令,当由一个或多个处理器执行该指令时,还使处理器:接收来自密钥库客户端的确认,该确认指示一个或多个密钥已存储在受信任的执行环境中。
示例19包括示例17和示例18的主题,在其上存储指令,当由一个或多个处理器执行该指令时,还使处理器:接收来自应用程序的第二请求,以访问一个或多个加密密钥,并且响应于接收第二请求确定标志是否已被设定。
示例20包括示例17-19的主题,在其上存储指令,当由一个或多个处理器执行该指令时,还使处理器:在确定已设定标志时将第二请求重定向到密钥库客户端。
一些实施例涉及示例21,其包括至少一个计算机可读介质,其上存储有指令,当由一个或多个处理器执行该指令时,使处理器:向云密钥库发送第一请求,从云密钥库接收加密密钥,提供对应用程序的一个或多个加密密钥的访问,并将一个或多个加密密钥存储在受信任的执行环境中。
示例22包括示例21的主题,在其上存储指令,当由一个或多个处理器执行该指令时,还使处理器:向云密钥库发送确认,该确认指示一个或多个密钥已存储在受信任的执行环境中。
示例23包括示例21和示例22的主题,在其上存储指令,当由一个或多个处理器执行该指令时,还使处理器:接收来自应用程序的第二请求以访问来自云密钥库的一个或多个密钥,并向云密钥库发送第二请求;并从密钥库接收重定向的密钥访问请求。
示例24包括示例21-23的主题,在其上存储指令,当由一个或多个处理器执行该指令时,还使处理器:从受信任的执行环境检索一个或多个密钥,并向应用程序提供对一个或多个密钥的访问。
以上参考具体实施例描述了示例的实施例。然而,本领域技术人员将理解,可以对其进行各种修改和改变,而不背离所附权利要求中所述的更广泛的精神和范围。因此,上述描述和附图应视为说明性的,而非限制性的。
Claims (20)
1.一种装置,包括:
一个或多个处理器,用于:
接收来自应用程序的第一请求以访问来自云密钥库的一个或多个加密密钥,
向所述云密钥库发送所述第一请求,
从所述云密钥库接收所述加密密钥,
向所述应用程序提供对所述一个或多个加密密钥的访问,以及
将所述一个或多个加密密钥存储在受信任的执行环境中。
2.根据权利要求1所述的装置,其中,所述一个或多个处理器用于:向所述云密钥库发送确认,该确认指示所述一个或多个加密密钥已存储在所述受信任的执行环境中。
3.根据权利要求2所述的装置,其中,所述一个或多个处理器还用于:接收来自所述应用程序的第二请求,以访问来自所述云密钥库的所述一个或多个密钥,并向所述云密钥库发送所述第二请求。
4.根据权利要求3所述的装置,其中,所述一个或多个处理器还用于:从所述密钥库接收重定向密钥访问请求。
5.根据权利要求4所述的装置,其中,所述一个或多个处理器还用于:从所述受信任执行环境检索所述一个或多个加密密钥,并向所述应用程序提供对所述一个或多个加密密钥的访问。
6.根据权利要求5所述的装置,其中,所述一个或多个处理器还用于:向域控制器发送认证请求并从所述域控制器接收密钥访问令牌。
7.根据权利要求6所述的装置,其中,使用所述密钥访问令牌将所述第一请求发送到所述云密钥库。
8.一种装置,包括:
一个或多个处理器,用于:
从客户端处的应用程序接收第一请求以访问一个或多个加密密钥,
将所述一个或多个加密密钥发送到所述客户端处的密钥库客户端,以及
设定标志,该标志指示所述一个或多个密钥已存储在所述客户端处的受信任的执行环境中。
9.根据权利要求8所述的装置,其中,所述一个或多个处理器还用于:接收来自所述密钥库客户端的确认,该确认指示所述一个或多个加密密钥已存储在所述受信任的执行环境中。
10.根据权利要求9所述的装置,其中,所述一个或多个处理器还用于:接收来自所述应用程序的第二请求以访问所述一个或多个加密密钥,并且响应于接收所述第二请求确定所述标志是否已被设定。
11.根据权利要求10所述的装置,其中,所述一个或多个处理器还用于:在确定已设定所述标志后,将所述第二请求重定向到所述密钥库客户端。
12.一种方法,包括:
接收来自应用程序的第一请求以访问来自云密钥库的一个或多个加密密钥;
向所述云密钥库发送所述第一请求;
从所述云密钥库接收所述加密密钥;
向所述应用程序提供对所述一个或多个加密密钥的访问;以及
将所述一个或多个加密密钥存储在受信任的执行环境中。
13.根据权利要求12所述的方法,还包括向所述云密钥库发送确认,该确认指示所述一个或多个加密密钥已存储在所述受信任的执行环境中。
14.根据权利要求13所述的方法,还包括:
接收来自所述应用程序的第二请求以访问来自所述云密钥库的所述一个或多个加密密钥;
向所述云密钥库发送所述第二请求;以及
从所述密钥库接收重定向的密钥访问请求。
15.根据权利要求14所述的方法,还包括:
从所述受信任的执行环境检索所述一个或多个加密密钥;以及
向所述应用程序提供对所述一个或多个加密密钥的访问。
16.根据权利要求15所述的方法,还包括:
向域控制器发送认证请求;以及
从所述域控制器接收密钥访问令牌。
17.根据权利要求16所述的方法,还包括:
使用所述第一请求将所述密钥访问令牌发送到所述云密钥库。
18.至少一种计算机可读介质,其上存储有指令,所述指令当由一个或多个处理器执行时使所述处理器执行权利要求12-17所述的方法。
19.一种系统,包括实现或执行权利要求12-17中任何一项所要求的方法的机制。
20.一种设备,包括用于执行权利要求12-17中任何一项所要求的方法的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/545,224 | 2021-12-08 | ||
US17/545,224 US20220103358A1 (en) | 2021-12-08 | 2021-12-08 | Cloud key access mechanism |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116244679A true CN116244679A (zh) | 2023-06-09 |
Family
ID=80821553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211389517.5A Pending CN116244679A (zh) | 2021-12-08 | 2022-11-08 | 云密钥访问机制 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220103358A1 (zh) |
EP (1) | EP4195585A1 (zh) |
CN (1) | CN116244679A (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005103907A1 (ja) * | 2004-04-21 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | 記録装置、記録媒体及びコンテンツ保護システム |
US20140019753A1 (en) * | 2012-07-10 | 2014-01-16 | John Houston Lowry | Cloud key management |
EP2930935A1 (en) * | 2014-04-11 | 2015-10-14 | Television Broadcasts Limited | Method of delivering media content |
US10181951B2 (en) * | 2016-05-13 | 2019-01-15 | Blackberry Limited | Protected encryption key recovery |
US10972445B2 (en) * | 2017-11-01 | 2021-04-06 | Citrix Systems, Inc. | Dynamic crypto key management for mobility in a cloud environment |
US11601402B1 (en) * | 2018-05-03 | 2023-03-07 | Cyber Ip Holdings, Llc | Secure communications to multiple devices and multiple parties using physical and virtual key storage |
US20200028879A1 (en) * | 2018-07-17 | 2020-01-23 | Microsoft Technology Licensing, Llc | Queryless device configuration determination-based techniques for mobile device management |
EP3657751A1 (en) * | 2018-11-23 | 2020-05-27 | Nagravision S.A. | Private key cloud storage |
KR20230014693A (ko) * | 2020-05-21 | 2023-01-30 | 삼성전자주식회사 | 전자 디바이스 및 전자 디바이스가 레인징 기반 서비스를 제공하는 방법 |
US11971980B2 (en) * | 2020-05-28 | 2024-04-30 | Red Hat, Inc. | Using trusted execution environments to perform a communal operation for mutually-untrusted devices |
-
2021
- 2021-12-08 US US17/545,224 patent/US20220103358A1/en active Pending
-
2022
- 2022-11-02 EP EP22205097.3A patent/EP4195585A1/en active Pending
- 2022-11-08 CN CN202211389517.5A patent/CN116244679A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4195585A1 (en) | 2023-06-14 |
US20220103358A1 (en) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015062339A1 (zh) | 远程应用程序运行的方法和装置 | |
US9147076B2 (en) | System and method for establishing perpetual trust among platform domains | |
CN111510424B (zh) | 使用具有访客代理的限制操作环境的安全多方计算框架 | |
WO2022161182A1 (zh) | 基于数据流的可信计算的方法及装置 | |
US11928215B2 (en) | Firmware verification mechanism | |
US11494523B2 (en) | Direct memory access mechanism | |
CN111917696B (zh) | 使用不可旁路的网关的基于tpm的安全多方计算系统 | |
CN115130090A (zh) | 基于容器的环境中的安全密钥供应和硬件辅助的安全密钥存储和安全密码学功能操作 | |
US11683172B2 (en) | Distributed secure communication system | |
US11886316B2 (en) | Platform measurement collection mechanism | |
CN113449349A (zh) | 平台安全机制 | |
US20180109561A1 (en) | Systems and methods for trusted cluster attestation | |
EP4195585A1 (en) | Cloud key access mechanism | |
US11429289B2 (en) | Memory map protection mechanism | |
CN111510423B (zh) | 使用限制操作环境的基于令牌的安全多方计算框架 | |
US20220103557A1 (en) | Mechanism for managing services to network endpoint devices | |
US11861009B2 (en) | Mechanism to update attested firmware on a platform | |
US11429496B2 (en) | Platform data resiliency mechanism | |
US20220092196A1 (en) | Mechanism for secure library sharing | |
US11824984B2 (en) | Storage encryption for a trusted execution environment | |
WO2022036615A1 (en) | Device channel protection mechanism | |
US20240020388A1 (en) | Mechanisms for secure and verifiable storage of configuration and parametric data | |
US20220318430A1 (en) | Client authorization mechanisms to access native services | |
WO2023230836A1 (en) | Virtual microcontroller for device authentication in a confidential computing environment | |
US20210224098A1 (en) | Method and system for remote terminal access through application of communication module during boot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |