CN109074449B - 在安全飞地中灵活地供应证明密钥 - Google Patents

在安全飞地中灵活地供应证明密钥 Download PDF

Info

Publication number
CN109074449B
CN109074449B CN201780027590.9A CN201780027590A CN109074449B CN 109074449 B CN109074449 B CN 109074449B CN 201780027590 A CN201780027590 A CN 201780027590A CN 109074449 B CN109074449 B CN 109074449B
Authority
CN
China
Prior art keywords
provisioning
key
enclave
attestation
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.)
Active
Application number
CN201780027590.9A
Other languages
English (en)
Other versions
CN109074449A (zh
Inventor
V·R·斯卡拉塔
F·X·麦基恩
C·V·罗扎斯
S·P·约翰逊
B·张
J·D·小比尼
P·日米耶斯基
W·H·史密斯
E·卡布雷
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 CN109074449A publication Critical patent/CN109074449A/zh
Application granted granted Critical
Publication of CN109074449B publication Critical patent/CN109074449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 digital signatures
    • H04L9/3252Cryptographic 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 digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 digital signatures
    • H04L9/3249Cryptographic 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 digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

计算平台实现一个或多个安全飞地,包括:第一供应飞地,用于与第一供应服务接合以从第一供应服务获得第一认证密钥,第二供应飞地,用于与不同的第二供应服务接合以从第二供应服务获得第二证明密钥,以及供应认证飞地,用于使用基于硬件的供应证明密钥对来自第一供应飞地的第一数据和来自第二供应飞地的第二数据进行签名。第一供应飞地使用签名的第一数据来向第一供应服务进行认证以获得第一证明密钥,并且第二供应飞地使用已签名的第二数据来向第二供应服务进行认证以获得第二证明密钥。

Description

在安全飞地中灵活地供应证明密钥
相关申请的交叉引用
本申请要求于2016年9月29日提交的美国专利申请序号15/279,527的优先权,该申请要求于2016年6月3日提交的美国临时专利申请序号62/345,325的权益。现有申请通过引用整体并入本文。
技术领域
本公开一般涉及计算机安全领域,更具体地,涉及计算系统内的安全飞地(secureenclave)。
背景技术
可以通过因特网部署软件和服务。某些服务可以托管在虚拟机上,以允许服务的灵活部署。虚拟机是计算系统的仿真,并且可以允许服务在多个物理服务器系统之间迁移或同时启动。软件服务可以通过有线或无线网络与其他系统进行传递数据。数据中的一些可能包含敏感内容。虽然可以利用加密和认证来保护系统之间的通信,但是在系统之间要求信任以便促进这种交易。恶意行动者采用了诸如欺骗、中间人攻击和其他行为等技术,企图规避在系统内实施安全通信的安全措施。未建立信任关系可能会使传统的通信安全任务失效。
附图说明
图1是根据一个实施例的包括证明系统的示例系统的简化示意图。
图2是根据一个实施例的包括支持安全飞地的示例平台的示例系统的简化框图。
图3是表示根据一个实施例的应用证明的简化框图;
图4是表示根据一个实施例的支持证明的系统的第一实现方式的简化框图。
图5是表示根据一个实施例的支持证明的系统的第二实现方式的简化框图。
图6是表示根据一个实施例的支持证明的系统的第三实现方式的简化框图。
图7是示出了利用托管在特定平台上的供应认证飞地的示例技术的简化流程图;
图8是根据一个实施例的示例性处理器的框图;
图9是根据一个实施例的示例性移动设备系统的框图;以及
图10是根据一个实施例的示例性计算系统的框图。
各附图中类似的附图标记和名称表示类似的元件。
具体实施方式
图1是示出了包括示例证明系统105的计算环境100的示例实施例的简化框图。证明系统105可以接收由在主机系统(例如,110、115、120、125)上运行的安全逻辑组件或飞地生成的数据或“引用”,以基于接收到的引用来证明主机的另一个应用或飞地的真实性和安全性(和其他特征),并确认证明。引用可以是被签名的,或者包括由加密密钥、密码或其他元素(在此统称为“密钥”)签名的数据,证明系统可以根据所述其他元素认证或确认引用(从而也认证或确认引用所证明的应用或飞地)的可信度。这些密钥可以称为证明密钥。供应系统130可用于在各种主机设备110、115、120、125上安全地供应这种证明密钥。
在某些情况下,可以结合在主机系统(例如,110、115、120、125)上托管的应用和由远程后端系统(例如,140、145)托管的后端服务之间的客户端-服务器或前端-后端交互(例如,通过一个或多个网络135)来执行证明。敏感数据和事务可以在这种交互中发生,并且应用可以使用证明系统(例如,105)证明其对后端系统的可信度和安全性(反之亦然)。在一些实现方式中,证明系统本身可以托管在后端系统上。在其他情况下,后端系统(例如,140)(或者甚至是对等证明中的另一个主机设备)可以使用单独的证明系统(例如,105)的证明服务。
供应系统可以维护映射到配备有硬件和软件的各种主机设备(例如,110、115、120、125)的证书的数据库,以实现可信执行环境或安全飞地。每个证书可以从密钥导出,这些密钥本身基于在制造期间在主机设备(例如,110、115、120、125)上供应的持久存储的安全秘密。秘密对于主机设备保密,并且可以实现为熔丝、安全持久存储器中的代码以及其他实现方式。密钥可以是秘密本身或从秘密导出的密钥。证书可能无法识别密钥,并且密钥可能无法从证书中导出,但是,由密钥产生的签名可以基于相对应的证书而被识别为源自维护证书的特定一个主机设备。以这种方式,主机设备(例如,110、115、120、125)可以向供应系统130进行认证,并且(由供应系统130)提供与主机设备安全地相关联的证明密钥。然后,这些证明密钥可以由相对应的主机设备(例如,110、115、120、125)上的安全飞地使用,以证明主机设备上存在的一个或多个应用或飞地。
如上所述,客户端系统、主机设备(例如,110、115、120、125)可以在(网络135的)一个或多个网络通道上与其他系统接合和通信,所述其他系统包括后端系统(例如,140、145)和证明系统(例如,105)和密钥供应系统130。可以采用密码术来保护通过这些网络通道的通信。在一些实现方式中,网络135可以包括局域网和广域网、无线网和有线网、公共网和专用网以及能够在系统之间进行通信的任何其他通信网络。
通常,“服务器”、“设备”、“计算设备”、“主机设备”、“用户设备”、“客户端”、“服务器”、“计算机”、“平台”、“环境”、“系统”等(例如,105、110、115、120、125、130、140、145等)可包括可操作以接收、发送、处理、存储或管理与计算环境100相关联的数据和信息的电子计算设备。如本文档中所使用的,术语“计算机”、“计算设备”、“处理器”或“处理设备”旨在涵盖适于执行与计算机可读指令的执行一致的计算任务的任何合适的处理设备。此外,所述计算设备中的任何、所有或一些可以适于执行任何操作系统,包括Linux、UNIX、WindowsServer等,以及适于虚拟化特定操作系统的执行的虚拟机,包括定制的和专有的操作系统。计算设备可以进一步配备有通信模块,以促进通过一个或多个网络(例如,135)与其他计算设备的通信。这种网络135可以包括局域网和广域网、无线网和有线网、公共网和专用网以及能够在系统之间进行通信的任何其他通信网络。
主机设备(例如,110、115、120、125)可以是另外的计算设备,其被实现为一个或多个本地和/或远程客户端或终端用户设备,诸如应用服务器、个人计算机、膝上型电脑、智能电话、平板计算机、个人数字助理、媒体客户端、支持网络的电视、远程呈现系统、游戏系统、多媒体服务器、机顶盒、智能设备、车载计算系统以及适于接收,查看,撰写,发送或以其他方式与之交互,访问,操纵,消费或以其他方式使用通过相应设备(或环境100)内部或外部的服务器服务或提供的应用、程序和服务的其他设备。主机设备可以包括可操作以使用有线或无线连接至少与服务器、其他主机设备、网络和/或其他设备连接或通信的任何计算设备。在一些情况下,主机设备还可以包括至少一个图形显示设备和用户界面,包括触摸屏显示器,允许用户查看环境中提供的应用、工具、服务和其他软件的图形用户界面并与之交互。应当理解,可以存在与环境100相关联的任何数量的主机设备,以及环境100外部的任何数量的主机设备。此外,在不脱离本公开的范围的情况下,术语“主机设备”、“客户端”、“终端用户设备”、“端点设备”和“用户”可以适当地互换使用。此外,尽管可以根据由一个用户使用来描述每个终端用户设备,但是本公开预期许多用户可以使用一个计算机或者一个用户可以使用多个计算机,以及其他示例。
虽然图1被描述为包含多个元件或与多个元件相关联,但不是图1的系统100中所示的所有元件都可以在本公开的每个替代实施方式中得以利用。另外,本文描述的元件中的一个或多个可以位于系统100的外部,而在其他实例中,某些元件可以包括在其他描述的元件以及未在图示的实现方式中描述的其他元件中的一个或多个内或作为其一部分。此外,除了本文所述的那些目的之外,图1中所示的某些元件可以与其他组件组合,以及用于替代或另外的目的。
转到图2的示例,示出了简化框图200,其示出了系统或计算环境,其包括被配备以支持一个或多个安全飞地(例如,235、250、255、260、265)的主机系统110。主机系统110可包括一个或多个处理器设备205、一个或多个存储器元件210,以及以硬件和/或软件实现的其他组件,包括操作系统215和一组应用(例如,220、225、230)。可以使用安全飞地235或应用飞地来保护应用中的一个或多个。安全飞地可以在安全存储器240中实现(与通用存储器245不同)并利用主机系统的处理器中的至少一个(例如,205)的安全处理功能来实现代码和数据的私有区域以提供应用的某些安全功能或受保护功能。可以在主机系统110上提供在主机系统的固件和/或软件中实现的逻辑(诸如主机的CPU的代码),其可以由应用或主机系统本地的其他代码使用以预留需要保证提高的安全性的代码和数据的私有区域,以在系统上实现一个或多个安全飞地。例如,安全飞地可用于保护敏感数据免受以更高权限级别运行的流氓软件的未授权访问或修改,并保护敏感代码和数据的机密性和完整性,而不会破坏合法系统软件的用于安排和管理平台资源使用的能力。安全飞地可以使应用能够定义代码和数据的安全区域,即使攻击者拥有对平台的物理控制并可以对存储器进行直接攻击,所述安全区域也能保持机密性。安全飞地可以进一步允许主机设备(例如,110)的消费者保持对其平台的控制,包括在他们选择时安装和卸载应用和服务的自由。安全飞地还可以使主机系统平台能够测量相对应应用的可信代码并生成以处理器为根的签名证明,签名证明中包括此测量以及代码已在可信环境中正确初始化的其他证明(并且能够提供安全飞地的安全特征,例如上面例子中概述的)。通常,安全飞地(以及本文描述的其他安全飞地)可以采用或建立在例如软件保护扩展(SGX)编程参考以及其他示例平台中描述的原理之上。
简要地转向图3,示出了简化框图300,示出了通过安全飞地提供的保护。例如,在该示例中,应用飞地(例如,235)可以保护给定应用的全部或一部分并允许应用(及其安全性特征)被证明。例如,诸如后端服务或web服务之类的服务提供者140可能更喜欢或要求与其接合的客户端具有某些安全特征或保证,使得服务140可以验证它正在与客户端所说的人进行交易。例如,有时可以构造恶意软件(例如,305)以伪造用户或应用的身份,以试图从与服务140的交易中提取敏感数据、在与服务140的交易中感染或以其他方式恶意表现。签名的证明(或简单地“证明”)可以允许应用(例如,230)验证它是应用的合法实例(即,而不是恶意软件)。未配备安全应用飞地的其他应用(例如,220)可能是合法的,但可能无法向服务提供者140证明,使得服务提供者140在某种程度上对应用的真实性和可信赖性提出疑问。此外,主机系统平台(例如,210)可以被模拟(例如,通过模拟器310)以尝试与服务140进行错误的交易。通过安全飞地的证明可以防止这种不安全、恶意和错误的交易。
回到图2,可以基于签名的数据或使用在平台上安全地供应的证明密钥来签名的“引用”来提供证明。可以提供额外的安全飞地(即,与安全应用飞地235分开)以测量或评估应用及其飞地235,对测量(包括在引用中)签名,并协助利用密钥供应飞地中的一个或多个,密钥用于对引用进行签名和在飞地之间或在飞地和外部服务(例如,105、130、140)之间建立安全的通信通道。例如,可以提供一个或多个供应飞地250以与相对应的供应系统接合,以获得供引用飞地255和/或应用飞地使用的证明密钥。可以提供一个或多个引用飞地255来可靠地测量或评估应用230和/或相对应的应用飞地235,并利用通过相对应的供应飞地250获得的证明密钥对测量进行签名。还可以提供供应认证飞地260来将供应飞地(例如,250)认证到其对应的供应系统(例如,130)。供应认证飞地260可以维护供应证明密钥,该供应证明密钥基于主机平台110上的基于持久维护的、安全的硬件的秘密(例如,在制造期间在平台的熔丝265中设置的秘密),以支持供应飞地250向供应系统130的可信赖性的证明,使得供应飞地250在供应系统130用证明密钥交托供应飞地250之前被认证。在一些实现方式中,供应认证飞地260可以证明在平台110上提供的潜在的多个供应飞地250中的任何一个的真实性和安全性。例如,可以提供多个不同的供应飞地250,每个供应飞地与其各自的供应系统接合,将其各自的证明密钥提供给在平台上提供的潜在的多个引用飞地之一(例如,255)。例如,不同的应用飞地可以在相对应的应用的证明期间使用不同的引用飞地,并且每个引用飞地可以利用不同的证明密钥来支持证明。此外,通过使用多个供应飞地和供应服务,可以结合不同应用和服务(例如,由后端系统140托管)的证明来使用不同的密钥类型和加密技术。
在一些实现方式中,不是从远程服务(例如,供应系统130)获得证明密钥,一个或多个应用和引用飞地可以利用由在平台上提供的密钥生成飞地270生成的密钥。为了证明由密钥生成飞地提供的密钥的可靠性,供应认证飞地可以对密钥(例如,由密钥生成飞地随机生成的密钥对的公钥)进行签名,使得由密钥签名的引用可以被识别为合法签名的引用。在一些情况下,密钥生成飞地(例如,270)和供应飞地(例如,250)可以在同一平台上提供,而在其他实例中,密钥生成飞地(例如,270)和供应飞地(例如,250)可以被提供作为另一个的替代方案(例如,在给定平台上仅提供密钥生成飞地或供应飞地),以及其他示例和实现方式。
转到图4的简化框图400,在一些平台(例如,405)中,单个引用飞地410被提供并且直接与供应飞地套件415对接。这里对于在系统上提供的每个应用飞地235使用相同的引用飞地。供应密钥被托管在供应飞地套件415中并且用于向证明密钥供应服务130认证供应套件415。证明密钥供应服务可以维护将设备(例如,设备序列号)映射到对应证书的设备证书425,每个证书基于设备平台405的硬件中设置(并保密)的根密钥生成(例如,通过根密钥生成器430,例如平台405的制造商)。以这种方式,可以提供证书425,其不公开在设备405处维护的基于硬件的秘密,但允许证书持有者验证秘密的存在(例如,基于从秘密或者基于秘密的密钥生成的签名)。因此,供应飞地套件415可以向证明密钥供应服务130提供签名的数据以证明其真实性,并且它在已知拥有能够实例化和托管安全可信赖的飞地的功能的设备平台(例如,405)上实现。基于该证明,证明密钥供应服务130可以协商证明密钥供应服务130和供应飞地套件415之间的安全通道,并作为响应向供应飞地套件415提供证明密钥。实际上,由供应飞地套件415签名的数据可以包括用于建立安全通道的信息(例如,签名的公钥、协议标识符等)。然后,供应飞地套件415可以向所述引用飞地供应所接收的证明密钥。
引用飞地(例如,410)可以测量或识别应用(例如,230)和/或应用飞地(例如,235)以及主机平台的属性,并且可以在包含数据的引用445中提供该信息,其中所述数据的至少一部分使用引用飞地处的证明密钥进行签名。例如,引用(例如,445)可以是包括信息和认证数据(例如,签名)的数据,证明服务可以根据该认证数据验证通过引用证明的组件、平台或飞地的可信度。引用(例如,445)可以识别诸如平台处理器(例如,CPU、芯片组等)的类型和标识符、处理器使用的固件版本、处理器的任何经认证的代码模块(ACM)的标识和状态、所有可信设备的固件、可信引导功能的存在、用于提供安全服务的任何飞地的软件版本等之类的特征。引用飞地410可以利用证明密钥对引用数据(例如,445)的至少一部分进行签名并且然后将签名的引用传递给应用飞地235,应用飞地235可以将引用传递给后端服务(例如,秘密所有者450(例如,对应用可用于解密数据或访问内容的秘密进行托管等)以证明应用的真实性。在该示例中,后端服务(例如,“秘密所有者”)450可以利用证明服务105的服务,该证明服务可以接收由生成平台405的引用飞地410使用的证明密钥的证明密钥供应服务生成的证明密钥证书460和撤销列表。通过这些证书,证明服务105可以根据引用中包含的签名(由证明密钥供应服务提供的证明密钥签名)验证引用445的真实性。在验证引用445的真实性并从引用445中包含的应用飞地235的描述中进一步验证应用飞地235的特征(例如,它是在有能力的平台上可靠地实现的飞地)时,证明服务可以将证明的结果传递给后端服务。根据这些结果,后端服务可以基于应用是否受到可信赖的应用飞地的保护来提供服务级别(或完全授予/拒绝服务)。
转到图5的示例,示出了简化框图500,其示出了在设备平台上提供的证明平台的改进版本。在该示例中,支持多个潜在供应飞地(例如,505、515)和引用飞地(例如,515、520)。例如,可以实例化基于增强型隐私标识符(EPID)的供应飞地505(对应于设备平台的制造商或者与设备平台的制造商一起提供)以供应使用第一类型的证明密钥(例如,EPID密钥)的第一引用飞地515并且第二供应飞地510(对应于第三方(即,除了平台的提供商或制造商之外))可以供应可能使用不同的第二类型的证明密钥(例如,RSA密钥)的第二引用飞地520,以及其他示例。实际上,可以提供两个或更多个不同的供应飞地(例如,505、510)以在两个或更多个不同的引用飞地(例如,515、520)上供应证明密钥。进而,这些引用飞地515、520中的每一个可以向被提供有应用飞地(例如,235、525)的一个或多个应用(例如,230、540)提供证明支持。例如,一个引用飞地可以支持一个、两个或更多个应用飞地,另一个引用飞地可以支持另一个应用飞地等。这些多个供应飞地505、510可以由单个供应认证飞地550支持,该供应认证飞地管理由在设备制造期间设置的设备的持久且安全维护的秘密(例如,根密钥)生成的供应证明密钥。
在图5的示例中,各种供应飞地(例如,505、510)中的每一个可以与相对应的供应服务(例如,530、535)相关联,从相对应的供应服务中获取相应的供应密钥。供应认证飞地可以有效地用于支持供应飞地向其相对应的供应服务的证明。例如,为了使用基于EPID的证明密钥供应相对应的引用飞地(例如,505),EPID供应飞地可以从使用供应证明密钥签名的供应认证飞地550请求证明引用。供应认证飞地550可以使用供应证明密钥生成签名,并将签名(或签名的证明引用)提供给EPID供应飞地505。可以与相对应的供应服务(例如,530)共享签名的引用以向供应服务530进行认证并在供应服务530与供应飞地505之间建立安全通道。证明引用可以包括用于建立安全通道的信息(例如,签名的公钥、协议标识符等)。如在图4的示例中那样,(可能多个不同的)供应服务(例如,530,535)中的每个可以具有证书425的副本,证书425已经被(密钥生成器430)发布用于被配置为支持安全飞地和证明的平台(例如,110)的集合中的每一个并且基于在制造时(或之后)在相应的设备平台中的每个处设置的根密钥(或其他秘密)。这些证书模糊了供应证明密钥所基于的秘密,但是可以用于解密信息并验证使用这些供应证明密钥中的相对应的一个(证书也基于其)生成的签名。
因此,供应飞地(例如,505、510)可以提供用供应证明密钥签名的引用,该引用在可以访问处理器证书的供应服务中的任何一个处是可验证的。可以基于对供应飞地的证明(例如,使用公共密钥交换或其他技术)来建立安全通道。供应服务可以获得证明密钥,并且供应服务可以基于通过安全通道的供应飞地和供应服务之间的通信来生成相对应的证书。在一个示例中,供应服务可以生成证明密钥,生成相对应的证书,并将证明密钥发送到相对应的供应飞地。在另一示例中,供应飞地可以生成证明密钥(例如,随机地)并且在安全通道上进行协商以使供应服务能够生成与证明密钥相对应的证书(例如,用于证明密钥对的公钥(例如,使用EPID加入协议))。然后,供应飞地可以将证明密钥提供到相应的引用飞地。类似地,其他供应飞地(例如,510)也可以从供应认证飞地550请求签名的引用,供应飞地510可以将该签名的引用用作与相对应的供应服务(例如,535)协商其自己的安全通道的基础并且证明它作为供应飞地的可靠性。同样,可以在供应飞地获得相对应的证明密钥,证明密钥可以被传递到其相对应的引用飞地(例如,520),以用于向一个或多个相对应的应用飞地证明。如在图4的示例中那样,应用飞地(例如,235、525)可以接收由它们各自的引用飞地(例如,515、520,使用它们相对应的证明密钥)签名的引用来向各种后端系统(例如,555、560)证明并且享受基于受信任的应用飞地保护的应用的加强的访问和功能。此类证明可以提供各种特权和增强的服务和功能,例如,授权服务、授权附加服务(以客户端上存在应用飞地为前提)、从证书颁发机构颁发证书、允许传感器类型平台与协调点配对和/或允许从传感器(例如,在物联网系统中)接受数据,以及可能无限的其他示例。
如上所述,在一些实现方式中,可以提供密钥生成器飞地270而不是(或除了)一个或多个供应飞地(例如,505,510),其最终依赖于外部供应服务(例如,530,535)作为要被被传递到相对应的引用飞地(例如,515、520)证明密钥的相应的源。例如,在由图6中所示的简化框图600所示的示例中,可以提供密钥生成器飞地270,其生成随机的公共/私有证明密钥对,以用于使用证明密钥来供应一个或多个引用飞地(例如,605、610)。例如,密钥生成器飞地270可以(随机地)生成用于第一引用飞地605的第一证明密钥对(例如,RSA、EPID或椭圆曲线数字签名算法(ECDSA)密钥对)并且单独地生成用于另一个引用飞地610的另一个、第二证明密钥对(使用相同的或不同的密钥对算法或技术)。证明密钥对的私钥被传递到引用飞地605以用作引用飞地的证明密钥。
在生成证明密钥对时,密钥生成器飞地270可以请求供应认证飞地550将该对中的公钥签名为引用的形式,以证明密钥生成器飞地270的安全性和真实性。在一个实现方式中,供应认证飞地使用基于硬件的供应证明密钥对证明密钥对的公钥进行签名。签名的公钥可以用作使用供应证明密钥(其基于主机平台110的以硬件为根的秘密)发布/签名的证书。从主机平台(例如,110)的根密钥生成并且由相对应的证明服务105拥有的处理器证书425可以基于供应证明密钥来验证由供应证明飞地550产生的签名,如在其他示例中那样,处理器证书可以在制造时与供应证明密钥所基于的基于硬件的秘密的供应相关联地生成。在一个示例中,可以将签名的公钥(例如,通过供应认证飞地或另一个飞地(未示出))发送到外部实体,以直接递送到证明服务105。在其他示例中,可以将签名的公钥提供给引用飞地605以附加到由引用飞地605生成和签名的引用(例如,630),以便最终递送到证明服务105。证明服务105可以从特定应用230的应用飞地235(由引用飞地605生成)接收引用(例如,由相对应的后端服务或其他秘密所有者450转发)并标识相对应的签名的公钥(例如,在引用本身中)。证明服务105可以查询其处理器证书425的集合以验证公钥由信誉良好的平台(例如,110)(的供应证明密钥)签名以得出由引用飞地605(例如,使用证明密钥对的私钥)签名的数据(例如,引用630)同样是可信的。然后,证明服务105可以进一步验证引用630是由证明密钥对的私钥签名的,并且使用描述引用中包含的应用的数据来完成证明。
转到图参照图7,示出了简化框图700,其示出了利用托管在特定平台上的供应认证飞地的示例技术。在图7的示例中,多个密钥供应飞地(例如,505、510)可以发送针对供应认证飞地550的请求(在705a、705b),以对要发送到各种密钥供应服务的相应密钥供应请求进行签名。供应认证飞地550可以接收710请求并使用基于硬件的供应证明密钥(例如,从主机平台的硬件根密钥导出)对每个请求进行签名715。供应认证飞地可以将签名的请求返回720到请求供应飞地505、510中的每个。第一供应飞地505可以对应于使用由第一供应服务供应的证明密钥的第一引用飞地。第一供应飞地505可以从供应认证飞地550接收725a签名的密钥请求,并且将签名的密钥请求发送730a到第一供应服务。第一供应服务可以基于由请求被供应证明密钥签名来验证该请求的真实性,并且可以向第一密钥供应飞地505提供(在735a处)第一证明密钥。第一供应飞地505然后可以提供在第一个引用飞地中的所接收的第一证明密钥。
同样地,可以提供第二供应飞地510,其用于获得也在平台上托管的第二引用飞地的证明密钥(例如,与由第一引用飞地使用的证明密钥不同的类型或形式)。第二供应飞地510可以从供应认证飞地550接收725b其签名的密钥请求,并且将其签名的密钥请求发送725b到另一个、第二供应服务,并且作为响应接收730b第二证明密钥。然后,第二供应飞地510可以提供在第二引用飞地中的所接收的第二证明密钥。
图8-图10是可以根据本文公开的实施例使用的示例性计算机架构的框图。也可以使用本领域中已知的用于处理器、移动设备和计算系统的其他计算机架构设计。通常,用于本文公开的实施例的合适的计算机架构可以包括但不限于图8-图10中所示的配置。
图8是根据实施例的处理器的示例图示。处理器800是可以结合上述实现方式使用的一类硬件设备的示例。
处理器800可以是任何类型的处理器,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、多核处理器、单核处理器或执行代码的其他设备。尽管图8中仅示出了一个处理器800,但是处理元件可以替代地包括图8中所示的处理器800中的一个以上。处理器800可以是单线程核心,或者对于至少一个实施例,处理器800可以是多线程的,因为它可以包括每个核心不止一个硬件线程上下文(或“逻辑处理器”)。
图8还示出了根据实施例的耦合到处理器800的存储器802。存储器1202可以是本领域技术人员已知或以其他方式可获得的各种存储器(包括存储器层次结构的各种层)中的任何一种。这样的存储器元件可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)的逻辑块、可擦除可编程只读存储器(EPROM)和电可擦除可编程ROM(EEPROM)。
处理器800可以执行与本文详述的算法、过程或操作相关联的任何类型的指令。通常,处理器800可以将元素或物品(例如,数据)从一个状态或事物变换为另一个状态或事物。
代码804可以是由处理器800执行的一个或多个指令,可以存储在存储器802中,或者可以存储在软件、硬件、固件或其任何合适的组合中,或者适当地基于特定需求而存储在任何其他内部或外部组件、设备、元素或对象中。在一个示例中,处理器800可以遵循由代码804指示的指令的程序序列。每个指令进入前端逻辑806并由一个或多个解码器808处理。解码器可以生成微操作,作为其输出,所述微操作例如预定义格式的固定宽度微操作,或者可以生成反映原始代码指令的其他指令、微指令或控制信号。前端逻辑806还包括寄存器重命名逻辑810和调度逻辑812,其通常分配资源并对与用于执行的指令相对应的操作进行入队。
处理器800还可以包括具有一组执行单元816a、816b、816n等的执行逻辑814。一些实施例可以包括专用于特定功能或功能组的多个执行单元。其他实施例可以包括仅一个执行单元或可以执行特定功能的执行单元。执行逻辑814执行由代码指令指定的操作。
在完成由代码指令指定的操作的执行之后,后端逻辑818可以退出代码804的指令。在一个实施例中,处理器800允许无序执行但是需要按顺序退出指令。引退逻辑820可以采用各种已知形式(例如,重新排序缓冲器等)。以这种方式,处理器800在代码804的执行期间被变换,至少在由解码器生成的输出、寄存器重命名逻辑810使用的硬件寄存器和表以及由执行逻辑814修改的任何寄存器(未示出)方面。
尽管未在图8中示出,处理元件可以包括具有处理器800的芯片上的其他元件。例如,处理元件可以包括存储器控制逻辑以及处理器800。处理元件可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。在一些实施例中,非易失性存储器(诸如闪存或熔丝)也可以与处理器800一起包括在芯片上。
现在参考图9,示出了示例移动设备900的框图。移动设备900是本文描述的示例和实现方式的可能计算系统(例如,主机或端点设备)的示例。在实施例中,移动设备900用作无线通信信号的发送器和接收器。具体地,在一个示例中,移动设备900能够发送和接收蜂窝网络语音和数据移动服务。移动服务包括诸如完全因特网访问、可下载和流式视频内容以及语音电话通信之类的功能。
移动设备900可以对应于传统的无线或蜂窝便携式电话,例如能够接收“3G”或“第三代”蜂窝服务的手持机。在另一示例中,移动设备900也能够发送和接收“4G”移动服务,或任何其他移动服务。
可以对应于移动设备900的设备的示例包括蜂窝电话手持机和智能电话,诸如能够访问因特网、电子邮件和即时消息通信的设备,以及便携式视频接收和显示设备,以及支持电话服务的能力的那些设备。可以预期,参考本说明书的本领域技术人员将容易理解适合于实现如本文所述的本公开的不同方面的现代智能电话和电话手持机设备和系统的性质。这样,图9中所示的移动设备900的架构以相对较高的水平呈现。然而,可以预期,可以对该架构进行修改和替换,并且对于读者来说将是显而易见的是,这些修改和替换被认为是在本说明书的范围内。
在本公开的方面中,移动设备900包括收发器902,其连接到天线并与天线通信。收发器902可以是射频收发器。而且,可以经由收发器902发送和接收无线信号。收发器902可以被构造为例如包括模拟和数字射频(RF)“前端”功能,用于将RF信号转换为基带频率的电路,如果需要经由中频(IF),模拟和数字滤波,以及用于通过现代蜂窝频率进行无线通信的其他常规电路,例如适用于3G或4G通信的那些。收发器902连接到处理器904,处理器904可以以基带频率执行对要传送的信号和接收的信号的大批量的数字信号处理。处理器904可以向显示元件908提供图形界面,用于向用户显示文本、图形和视频,以及向用于接受来自用户的输入的输入元件910提供图形界面,所述输入元件例如触摸板、小键盘、滚轮鼠标和其他示例。处理器904可以包括诸如参考图8的处理器800示出和描述的实施例。
在本公开的方面中,处理器904可以是可以执行任何类型的指令以实现如本文详述的功能和操作的处理器。处理器904还可以耦合到存储器元件906,存储器元件906用于存储在使用处理器904执行的操作中使用的信息和数据。这里随后描述示例处理器904和存储器元件906的附加细节。在示例实施例中,移动设备900可以被设计为具有片上系统(SoC)架构,在至少一些实施例中其将移动设备的许多或所有组件集成到单个芯片中。
图10示出了根据实施例的以点对点(PtP)配置布置的计算系统1000。特别地,图10示出了一种系统,其中处理器、存储器和输入/输出设备通过多个点对点接口互连。通常,这里描述的计算系统中的一个或多个可以以与计算系统1000相同或相似的方式配置。
处理器1070和1080还可以各自包括集成存储器控制器逻辑(MC)1072和1082以与存储器元件1032和1034通信。在备选实施例中,存储器控制器逻辑1072和1082可以是与处理器1070和1080分离的离散逻辑。存储器元件1032和/或1034可以存储将由处理器1070和1080用于实现本文概述的操作和功能的各种数据。
处理器1070和1080可以是任何类型的处理器,例如结合其他附图所讨论的那些处理器。处理器1070和1080可以分别使用点对点接口电路1078和1088经由点对点(PtP)接口1050交换数据。处理器1070和1080每个都可以使用点对点接口电路1076、1086、1094和1098经由各个点对点接口1052和1054与芯片组1090交换数据。芯片组1090还可以经由高性能图形接口1039使用接口电路1092与高性能图形电路1038交换数据,接口电路1092可以是PtP接口电路。在替代实施例中,图10中所示的任何或所有PtP链路都可以实现为多点总线而不是PtP链路。
芯片组1090可以经由接口电路1096与总线1020通信。总线1020可以具有通过其进行通信的一个或多个设备,例如总线桥1018和I/O设备1016。经由总线1010,总线桥1018可以与其他设备通信,所述其他设备例如键盘/鼠标1012(或其他输入设备,例如触摸屏、轨迹球等)、通信设备1026(例如调制解调器、网络接口设备或可以通过计算机网络1060通信的其他类型的通信设备)、音频I/O设备1014和/或数据存储设备1028。数据存储设备1028可以存储代码1030,其可以由处理器1070和/或1080执行。在替代实施例中,总线架构的任何部分可以用一个或多个PtP链路实现。
图10中描绘的计算机系统是可用于实现本文所讨论的各种实施例的计算系统的实施例的示意图。应当意识到,图10中描绘的系统的各种组件可以可以组合在片上系统(SoC)架构中或者在能够实现本文提供的示例和实现的功能和特征的任何其他合适的配置中。
尽管已经根据某些实现方式和通常相关联的方法描述了本公开,但是这些实现方式和方法的改变和置换对于本领域技术人员而言将是显而易见的。例如,本文描述的动作可以以与所描述的顺序不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或顺序次序来实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。此外,还可以支持其他用户界面布局和功能。其他变化在以下权利要求的范围内。
尽管已经关于有限数量的实施例描述了本发明,但是本领域技术人员将意识到由此产生的许多修改和变化。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这些修改和变化。
实施例的方面可包括以下示例中的一个或组合:
示例1是具有可执行指令的装置、系统、方法或计算机可读介质,该可执行指令用于:从在计算平台上实现的第一供应飞地接收用于使用基于硬件的供应证明密钥对第一数据进行签名的第一请求;使用所述供应证明密钥对所述第一数据进行签名;将签名的第一数据返回到所述第一供应飞地,其中签名的第一数据用于与第一证明密钥的生成相关联地向第一供应服务认证所述第一供应飞地,以证明所述计算平台上的第一应用的特征;从在计算平台上实现的第二供应飞地接收用于使用所述供应证明密钥对第二数据进行签名的第二请求;使用所述供应证明密钥对所述第二数据进行签名;以及将签名的第一数据返回到所述第二供应飞地,其中签名的第二数据用于与第二证明密钥的生成相关联地向所述第二供应服务认证所述第二供应飞地以证明所述计算平台上的第二应用的特征。
示例2可以包括示例1的主题,其中所述供应证明密钥基于持久存储在所述计算平台上的秘密。
示例3可以包括示例权利要求2的主题,其中所述供应证明密钥是从在所述计算平台中设置的熔丝导出的。
示例4可以包括示例1-3中任一个的主题,其中所述供应证明密钥对应于由所述第一和第二供应服务两者持有的证书。
示例5可以包括示例4的主题,其中所述证书对应于所述计算平台的根密钥。
示例6可以包括示例1-5中任一个的主题,其中所述第一证明密钥是第一类型的密码密钥,并且所述第二证明密钥是不同的、第二类型的密码密钥。
示例7可以包括示例6的主题,其中,所述第一证明密钥包括增强型隐私标识符(EPID)密钥,并且所述第二证明密钥包括Rivest-Shamir-Adleman(RSA)密钥。
示例8可以包括示例1-7中任一项的主题,其中,所述指令还可操作用于在所述计算平台上实例化供应认证飞地,并且所述供应认证飞地用于维护所述供应证明密钥并使用供应证明密钥对所述第一数据和第二数据进行签名。
示例9是包括计算平台的系统,该计算平台包括一个或多个安全存储器块、第一应用、第二应用和用于使用安全存储器块实现一个或多个安全飞地的软件逻辑。一个或多个安全飞地包括:第一供应飞地,其用于与第一供应服务接合,以从第一供应服务获得第一证明密钥,其中所述第一证明密钥与所述第一应用的证明相关联;第二供应飞地,其用于与不同的第二供应服务接合,以从第二供应服务获得第二证明密钥,其中,所述第二证明密钥与所述第二应用的证明相关联;以及供应认证飞地,其用于使用基于硬件的供应证明密钥对第一数据进行签名,其中签名的第一数据由所述第一供应飞地使用以对第一供应服务进行认证,并且所述供应证明区域使用基于硬件的供应证明密钥进一步对第二数据进行签名,其中签名的第二数据由所述第二供应飞地使用来向所述第二供应服务进行认证。
示例10可以包括示例9的主题,其中一个或多个安全飞地还包括:第一引用飞地,用于:向所述第一供应飞地发送针对证明密钥的请求;响应于所述请求而从所述第一供应飞地接收所述第一证明密钥;生成第一引用数据,所述第一引用数据描述所述第一应用的特征并且包括使用所述第一证明密钥的签名;以及第二引用飞地,用于:向所述第二供应飞地发送针对证明密钥的请求;响应于所述请求而从所述第二供应飞地接收所述第二证明密钥;生成第二引用数据,所述第二引用数据描述所述第二应用的特征并且包括使用所述第二证明密钥的签名。
示例11可以包括示例10的主题,还包括:第一应用飞地,其保护所述第一应用的至少一部分;以及第二应用飞地,其保护所述第二应用的至少一部分,其中,所述第一引用数据描述所述第一应用飞地的特征并且所述第二引用数据描述第二应用飞地的特征。
示例12可以包括示例9-11中任一个的主题,其中,所述第一供应服务使用第一密码技术,并且所述第二供应服务使用第二。
示例13可以包括示例12的主题,其中所述第一证明密钥是第一类型的密码密钥,并且所述第二证明密钥是第二类型的密码密钥。
示例14可以包括示例9-13中任一个的主题,其中,所述一个或多个安全飞地还包括密钥生成器飞地,其用于生成包括公钥和私钥对的第三证明密钥,所述供应证明飞地用于对所述第三证明密钥的公钥进行签名,并且所述第三证明密钥用于对所述计算平台的第三应用的证明。
示例15是具有用于在计算平台上实现安全的密钥生成飞地的可执行指令的装置、系统、方法或计算机可读介质,所述安全的密钥生成飞地用于生成包括公钥和私钥的证明密钥,其中所述证明密钥用于证明所述计算平台的至少一个应用;以及进一步用于在计算平台上实施安全的供应认证飞地。所述供应认证飞地用于:从密钥生成飞地接收用于使用基于硬件的供应证明密钥对公钥进行签名的请求;使用所述供应证明密钥对所述公钥进行签名;以及将签名的公钥返回到所述密钥生成飞地,其中签名的公钥用于与至少一个应用的证明相关联地向供应服务认证所述密钥生成飞地。
示例16可以包括示例15的主题,其中证明密钥是随机生成的。
示例17可以包括示例15-16中任一项的主题,其中证明密钥包括RSA密钥对。
示例18可以包括示例15-17中任一项的主题,其中所述证明密钥包括第一证明密钥,并且所述应用包括第一应用,所述密钥生成飞地用于向与第一应用相关联的第一引用飞地提供所述签名的公钥和所述私钥,并且所述密钥生成飞地进一步生成第二证明密钥,以用于使用第二引用飞地证明第二应用,并且所述供应认证飞地用于使用供应证明密钥对第二证明密钥的公钥进行签名。
示例19可以包括示例15中任一项的主题,其中证明密钥是从以硬件为根的秘密生成的。
示例20可以包括示例15-18中任一个的主题,其中供应证明密钥是从计算平台上的基于硬件的秘密数据导出的。
示例21可以包括示例19的主题,其中以硬件为根的秘密数据包括根密钥。
虽然本说明书包含许多具体实现细节,但这些不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以组合在单个实施例中实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中去除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这种分离,并且应该理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多种软件产品。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。

Claims (23)

1.一种用于保护计算机的方法,所述方法包括:
在计算平台上对供应认证飞地进行实例化;
从所述计算平台上实现的第一供应飞地接收用于使用基于硬件的供应证明密钥来对第一数据进行签名的第一请求,其中,所述供应认证飞地用于维护所述供应证明密钥;
使用所述供应证明密钥经由所述供应认证飞地来对所述第一数据进行签名;
将签名的第一数据返回到所述第一供应飞地,其中,所述签名的第一数据用于与第一证明密钥的生成相关联地向第一供应服务认证所述第一供应飞地,以证明所述计算平台上的第一应用的特征;
从在所述计算平台上实现的第二供应飞地接收用于使用所述供应证明密钥来对第二数据进行签名的第二请求;
使用所述供应证明密钥经由所述供应认证飞地来对所述第二数据进行签名;以及
将所述签名的第二数据返回到所述第二供应飞地,其中,签名的第二数据用于与第二证明密钥的生成相关联地向第二供应服务认证所述第二供应飞地以证明所述计算平台上的第二应用的特征。
2.如权利要求1所述的方法,其中,所述供应证明密钥是基于持久存储在所述计算平台上的秘密的。
3.如权利要求2所述的方法,其中,所述供应证明密钥是从在所述计算平台中设置的熔丝导出的。
4.如权利要求1-3中任一项所述的方法,其中,所述供应证明密钥与由所述第一供应服务和所述第二供应服务两者持有的证书相对应。
5.如权利要求4所述的方法,其中,所述证书与所述计算平台的根密钥相对应。
6.如权利要求1-3中任一项所述的方法,其中,所述第一证明密钥是第一类型的密码密钥,并且所述第二证明密钥是不同的、第二类型的密码密钥。
7.如权利要求6所述的方法,其中,所述第一证明密钥包括增强型隐私标识符(EPID)密钥,并且所述第二证明密钥包括Rivest-Shamir-Adleman(RSA)密钥。
8.一种包括用于执行如权利要求1-7中任一项所述的方法的单元的系统。
9.如权利要求8所述的系统,其中,所述单元包括存储指令的存储介质,所述指令当由机器执行时,使所述机器执行如权利要求1-7中任一项所述的方法的至少一部分。
10.一种用于保护计算机的系统,所述系统包括:
一种计算平台,包括:
处理器;
一个或多个安全存储器块;
第一应用;
第二应用;以及
计算机可执行指令,所述计算机可执行指令能够由所述处理器执行以使用所述安全存储器块来实现一个或多个安全飞地,其中,所述一个或多个安全飞地包括:
第一供应飞地,其用于与第一供应服务对接,以从所述第一供应服务获得第一证明密钥,其中,所述第一证明密钥与所述第一应用的证明相关联;
第二供应飞地,其用于与不同的、第二供应服务对接,以从所述第二供应服务获得第二证明密钥,其中,所述第二证明密钥与所述第二应用的证明相关联;以及
供应认证飞地,其用于使用由所述供应认证飞地维护的基于硬件的供应证明密钥来对第一数据进行签名,其中,签名的第一数据由所述第一供应飞地使用以向所述第一供应服务进行认证,并且所述供应认证飞地使用所述基于硬件的供应证明密钥进一步对第二数据进行签名,其中,签名的第二数据由所述第二供应飞地使用来向所述第二供应服务进行认证。
11.如权利要求10所述的系统,其中,所述一个或多个安全飞地还包括:
第一引用飞地,其用于:
向所述第一供应飞地发送针对证明密钥的请求;
响应于所述请求而从所述第一供应飞地接收所述第一证明密钥;
生成第一引用数据,所述第一引用数据描述所述第一应用的特征并且包括使用所述第一证明密钥的签名;以及
第二引用飞地,其用于:
向所述第二供应飞地发送针对证明密钥的请求;
响应于所述请求而从所述第二供应飞地接收所述第二证明密钥;
生成第二引用数据,所述第二引用数据描述所述第二应用的特征并且包括使用所述第二证明密钥的签名。
12.如权利要求11所述的系统,还包括:第一应用飞地,其保护所述第一应用的至少一部分;以及第二应用飞地,其保护所述第二应用的至少一部分,其中,所述第一引用数据描述所述第一应用飞地的特征并且所述第二引用数据描述所述第二应用飞地的特征。
13.如权利要求10-12中任一项所述的系统,其中,所述第一供应服务使用第一密码技术,并且所述第二供应服务使用第二密码技术。
14.如权利要求13所述的系统,其中,所述第一证明密钥是第一类型的密码密钥,并且所述第二证明密钥是第二类型的密码密钥。
15.如权利要求10-12中任一项所述的系统,其中,所述一个或多个安全飞地还包括密钥生成器飞地,其用于生成包括公钥和私钥对的第三证明密钥,所述供应认证飞地用于对所述第三证明密钥的公钥进行签名,并且所述第三证明密钥在对所述计算平台的第三应用的证明中使用。
16.一种用于保护计算机的方法,所述方法包括:
在计算平台上实现安全的密钥生成飞地,所述安全的密钥生成飞地用于生成包括公钥和私钥的证明密钥,其中,所述证明密钥用于证明所述计算平台的至少一个应用;以及
在计算平台上对安全的供应认证飞地进行实例化,所述供应认证飞地用于:
从所述密钥生成飞地接收用于使用基于硬件的供应证明密钥来对所述公钥进行签名的请求,其中,所述供应认证飞地用于维护所述供应证明密钥;
使用所述供应证明密钥来对所述公钥进行签名;
将签名的公钥返回到所述密钥生成飞地,其中,所述签名的公钥用于与所述至少一个应用的证明相关联地向供应服务认证所述密钥生成飞地。
17.如权利要求16所述的方法,其中,所述证明密钥是随机生成的。
18.如权利要求16-17中任一项所述的方法,其中,所述证明密钥包括RSA密钥对。
19.如权利要求16-17中任一项所述的方法,其中,所述证明密钥包括第一证明密钥,并且所述应用包括第一应用,所述密钥生成飞地用于向与所述第一应用相关联的第一引用飞地提供所述签名的公钥和所述私钥,并且所述密钥生成飞地进一步用于生成第二证明密钥,以用于使用第二引用飞地证明第二应用,并且所述供应认证飞地用于使用所述供应证明密钥来对所述第二证明密钥的公钥进行签名。
20.如权利要求16-17中任一项所述的方法,其中,所述供应证明密钥是从所述计算平台上的以硬件为根的秘密数据导出的。
21.如权利要求20所述的方法,其中,所述以硬件为根的秘密数据包括根密钥。
22.一种包括用于执行如权利要求16-21中任一项所述的方法的单元的系统。
23.如权利要求22所述的系统,其中,所述单元包括存储指令的存储介质,所述指令当由机器执行时,使所述机器执行如权利要求16-21中任一项所述的方法的至少一部分。
CN201780027590.9A 2016-06-03 2017-05-28 在安全飞地中灵活地供应证明密钥 Active CN109074449B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662345325P 2016-06-03 2016-06-03
US62/345,325 2016-06-03
US15/279,527 US10135622B2 (en) 2016-06-03 2016-09-29 Flexible provisioning of attestation keys in secure enclaves
US15/279,527 2016-09-29
PCT/US2017/034897 WO2017210145A1 (en) 2016-06-03 2017-05-28 Flexible provisioning of attestation keys in secure enclaves

Publications (2)

Publication Number Publication Date
CN109074449A CN109074449A (zh) 2018-12-21
CN109074449B true CN109074449B (zh) 2024-04-23

Family

ID=60478951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780027590.9A Active CN109074449B (zh) 2016-06-03 2017-05-28 在安全飞地中灵活地供应证明密钥

Country Status (4)

Country Link
US (2) US10135622B2 (zh)
CN (1) CN109074449B (zh)
DE (1) DE112017001853T5 (zh)
WO (1) WO2017210145A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2579745B (en) * 2016-02-25 2021-02-03 Intel Corp Platform for computing at the mobile edge
US10135622B2 (en) 2016-06-03 2018-11-20 Intel Corporation Flexible provisioning of attestation keys in secure enclaves
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
US10609006B2 (en) * 2017-01-13 2020-03-31 Fortanix, Inc. Self-encrypting key management system
US10372945B2 (en) * 2017-01-24 2019-08-06 Microsoft Technology Licensing, Llc Cross-platform enclave identity
US10423791B2 (en) * 2017-04-27 2019-09-24 Microsoft Technology Licensing, Llc Enabling offline restart of shielded virtual machines using key caching
GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US10819696B2 (en) * 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity
US11349822B2 (en) * 2017-11-20 2022-05-31 Fortanix, Inc. Runtime encryption plugin for a key management system
CN111954879B (zh) 2018-04-11 2024-04-30 谷歌有限责任公司 互不信任的飞地
CN112005230B (zh) 2018-04-30 2024-05-03 谷歌有限责任公司 通过统一的安全区接口管理安全区创建
CN112005237B (zh) 2018-04-30 2024-04-30 谷歌有限责任公司 安全区中的处理器与处理加速器之间的安全协作
US11509643B2 (en) 2018-04-30 2022-11-22 Google Llc Enclave interactions
WO2019219181A1 (en) * 2018-05-16 2019-11-21 Telefonaktiebolaget Lm Ericsson (Publ) Enclave population
US11240007B1 (en) * 2018-08-14 2022-02-01 Amazon Technologies, Inc. Using secure enclaves for decryption in unsecured locations
US11132452B2 (en) 2018-11-15 2021-09-28 International Business Machines Corporation Data-encryption-based purpose-specific access control
CN110120869B (zh) * 2019-03-27 2022-09-30 上海隔镜信息科技有限公司 密钥管理系统及密钥服务节点
CN110535628B (zh) * 2019-08-29 2020-07-17 阿里巴巴集团控股有限公司 通过证书签发进行多方安全计算的方法及装置
US11038699B2 (en) 2019-08-29 2021-06-15 Advanced New Technologies Co., Ltd. Method and apparatus for performing multi-party secure computing based-on issuing certificate
US10790979B1 (en) 2019-08-29 2020-09-29 Alibaba Group Holding Limited Providing high availability computing service by issuing a certificate
US11019033B1 (en) 2019-12-27 2021-05-25 EMC IP Holding Company LLC Trust domain secure enclaves in cloud infrastructure
US20210334380A1 (en) * 2020-04-24 2021-10-28 Vmware, Inc. Trusted firmware verification
US11909874B2 (en) * 2020-11-09 2024-02-20 Hub data security Ltd. Secure confidential use of communication session keys
US11750384B2 (en) * 2021-05-27 2023-09-05 Microsoft Technology Licensing, Llc Binding with cryptographic key attestation
DE102021209691B3 (de) 2021-09-03 2022-10-13 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Überwachen einer Komponente einer Wirkkette
DE102021209689A1 (de) 2021-09-03 2023-03-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Überwachen einer Komponente einer Wirkkette
CN114282237B (zh) * 2021-12-21 2023-01-17 北京百度网讯科技有限公司 一种通信方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104813336A (zh) * 2012-12-19 2015-07-29 英特尔公司 平台硬化数字版权管理密钥供应
CN105095772A (zh) * 2014-05-19 2015-11-25 英特尔公司 用于安全地保存并恢复计算平台状态的方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711951B2 (en) * 2004-01-08 2010-05-04 International Business Machines Corporation Method and system for establishing a trust framework based on smart key devices
US8112798B2 (en) * 2005-11-09 2012-02-07 Microsoft Corporation Hardware-aided software code measurement
US7805512B2 (en) * 2007-12-29 2010-09-28 Intel Corporation Remote configuration, provisioning and/or updating in a layer two authentication network
US8176336B1 (en) * 2008-12-19 2012-05-08 Emc Corporation Software trusted computing base
US8832778B2 (en) * 2009-08-04 2014-09-09 Carnegie Mellon University Methods and apparatuses for user-verifiable trusted path in the presence of malware
US8625788B2 (en) * 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
EP2702724B1 (en) * 2011-04-26 2017-03-29 Telefonaktiebolaget LM Ericsson (publ) Secure virtual machine provisioning
CN104170313B (zh) * 2011-12-28 2018-11-20 英特尔公司 增强隐私性的车辆数据分发
US20140007087A1 (en) 2012-06-29 2014-01-02 Mark Scott-Nash Virtual trusted platform module
US20140006776A1 (en) * 2012-06-29 2014-01-02 Mark Scott-Nash Certification of a virtual trusted platform module
US9219607B2 (en) 2013-03-14 2015-12-22 Arris Technology, Inc. Provisioning sensitive data into third party
US9646150B2 (en) * 2013-10-01 2017-05-09 Kalman Csaba Toth Electronic identity and credentialing system
US9998438B2 (en) * 2013-10-23 2018-06-12 Microsoft Technology Licensing, Llc Verifying the security of a remote server
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US20160134621A1 (en) 2014-11-12 2016-05-12 Qualcomm Incorporated Certificate provisioning for authentication to a network
US10135622B2 (en) 2016-06-03 2018-11-20 Intel Corporation Flexible provisioning of attestation keys in secure enclaves

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104813336A (zh) * 2012-12-19 2015-07-29 英特尔公司 平台硬化数字版权管理密钥供应
CN105095772A (zh) * 2014-05-19 2015-11-25 英特尔公司 用于安全地保存并恢复计算平台状态的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PKI公开密钥基础设施;高祥;《计算机与网络》;20001231(第15期);全文 *

Also Published As

Publication number Publication date
US10880097B2 (en) 2020-12-29
CN109074449A (zh) 2018-12-21
DE112017001853T5 (de) 2018-12-20
WO2017210145A1 (en) 2017-12-07
US10135622B2 (en) 2018-11-20
US20190052469A1 (en) 2019-02-14
US20170353319A1 (en) 2017-12-07

Similar Documents

Publication Publication Date Title
CN109074449B (zh) 在安全飞地中灵活地供应证明密钥
CN109074466B (zh) 用于服务器的平台证明和注册
US11223485B2 (en) Verifiable encryption based on trusted execution environment
US10338957B2 (en) Provisioning keys for virtual machine secure enclaves
KR102451109B1 (ko) 디바이스 익명성을 제공하는 키 증명문 생성
WO2021022701A1 (zh) 信息传输方法、装置、客户端、服务端及存储介质
US10142107B2 (en) Token binding using trust module protected keys
US20180183578A1 (en) Provisioning keys for virtual machine scaling
CN106104542B (zh) 对于数据即服务(DaaS)的内容保护
US8112787B2 (en) System and method for securing a credential via user and server verification
CN107493291B (zh) 一种基于安全元件se的身份认证方法和装置
US11233647B1 (en) Digital identity authentication system
KR101317496B1 (ko) 전송 데이터를 보호하기 위한 방법 및 이 방법을 구현하기 위한 보안 시스템
US11196722B2 (en) Method for mutual symmetric authentication between a first application and a second application
US20160125180A1 (en) Near Field Communication Authentication Mechanism
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN109361508B (zh) 数据传输方法、电子设备及计算机可读存储介质
TW201541923A (zh) 用於雲端輔助式密碼術之方法及設備
WO2015158172A1 (zh) 一种用户身份识别卡
US20130174282A1 (en) Digital right management method, apparatus, and system
CN102999710A (zh) 一种安全共享数字内容的方法、设备及系统
Robinson Cryptography as a service
Díaz García et al. Multiprotocol Authentication Device for HPC and Cloud Environments Based on Elliptic Curve Cryptography
CN117081729A (zh) 交换和管理密钥的方法、构建方法和认证的方法
KR101657932B1 (ko) 자체확장인증을 이용한 키관리 및 사용자 인증방법

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