CN108140092A - 具有多个可信根的设备 - Google Patents
具有多个可信根的设备 Download PDFInfo
- Publication number
- CN108140092A CN108140092A CN201680058902.8A CN201680058902A CN108140092A CN 108140092 A CN108140092 A CN 108140092A CN 201680058902 A CN201680058902 A CN 201680058902A CN 108140092 A CN108140092 A CN 108140092A
- Authority
- CN
- China
- Prior art keywords
- resource
- container
- integrated circuit
- trusted root
- new
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- 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/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/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
-
- 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/3247—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 digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
Abstract
可以接收来自与第一根实体相关联的第一可信根的容器。容器可以对应于与第一根实体相关联的集成电路的资源的映射。容器可以基于对应于第一可信根、并且在制造集成电路时在集成电路中被存储的密钥而被验证。可以标识来自容器的资源的指派对应于将资源从第一可信根指派给新可信根。可以生成对应于新可信根的新密钥。对应于新密钥的信息可以存储在集成电路的存储器中。此外,新密钥可用于将资源委派给后续容器。
Description
附图说明
根据下面给出的具体实施方式以及本公开的各种实现的附图,将更全面地理解本公开。
图1图示了根据一些实施例的包括多个可信根组件的集成电路或设备的示例生命周期。
图2是根据本公开的一些实施例的包括多个可信根组件的设备的架构的框图。
图3是根据一些实施例的基于资源委派容器向委派容器来提供对设备的集成电路的资源的访问的示例方法的流程图。
图4A图示了根据一些实施例的向委派容器提供对设备的集成电路的资源的访问的示例环境。
图4B图示了根据一些实施例的在接收资源委派容器之后向委派容器提供对设备的集成电路的资源的访问的示例环境。
图4C图示了根据一些实施例的在接收另一资源委派容器之后向委派容器提供对设备的集成电路的资源的访问的示例环境。
图4D图示根据一些实施例的在接收委派容器之后向委派容器提供对设备的集成电路的资源的访问的示例环境。
图5A是根据一些实施例的用于从一个根实体向另一根实体指派设备的资源的示例方法的流程图。
图5B是根据一些实施例的用于创建新根实体的示例方法的流程图。
图6A图示了根据一些实施例的用于向另一根实体指派设备的资源的示例环境。
图6B图示了根据一些实施例的在接收到资源指派容器之后向另一根实体指派设备的资源的示例环境。
图6C图示了根据一些实施例的在接收另一资源指派容器之后向另一根实体指派设备的资源的示例环境。
图6D图示了根据一些实施例的基于指派的资源来提供对设备的资源的访问的示例环境。
图7是根据一些实施例的用于基于在存储器中存储的数据来从一个根实体向另一根实体指派设备的资源的示例方法的流程图。
图8图示了本公开的一些实施例可以在其中操作的计算机系统的实施例的框图。
具体实施方式
本公开的方面涉及具有多个可信根的设备。该设备可以包括具有多个可信根组件的集成电路,该多个可信根组件基于不同的可信根来提供对集成电路的不同资源或特征的访问。每个可信根可以对应于单个根实体,单个根实体表示向集成电路的资源指派了某些许可或特权的实体。集成电路的资源可以对应于集成电路的功能或操作。例如,集成电路的资源可以包括但不限于对集成电路的某些硬件能力的访问、对集成电路的操作状态(例如调试状态)访问、向集成电路的存储器的写入、对密码密钥或密码操作的访问以生成密钥、密码验证操作、网络通信特征、对存储器的特定区域的读和写操作、对一次性可编程存储器(OTP)的读操作、对OTP的写操作、对闪存的读操作、对闪存的写操作等。
集成电路的每个资源可以由根实体之一控制或管理。例如,特定的根实体可以对由集成电路提供的特定资源具有排他特权。这样的特权可以对应于通过将资源委派给委派实体(例如,对资源没有排他特权的另一实体)或将资源指派给另一根实体来管理特定资源的权限。委派资源可以指代向委派实体提供对资源的访问或向委派实体提供用于访问资源的授权,并且指派资源可以指将资源的特权从一个根实体传送到另一个根实体。
根实体可以各自对应于存储在集成电路中的不同密码密钥。例如,在集成电路的制造时,一个或多个密码密钥可以被存储在集成电路的硅或互连中。例如,与公钥-私钥对中的一个(例如,公共密钥)或对称密钥相对应的密钥可以存储在集成电路的互连中。进一步,可以通过对集成电路的一次性可编程(OTP)存储器进行编程,在集成电路的制造之后建立根实体(例如虚拟根实体或虚拟可信根)。例如,附加根标识和用于虚拟根实体的公钥-私钥对的对应的公钥或对称密钥的可以被存储在OTP存储器中。如下面进一步详细描述的,委派实体可以对应于由在设备的制造之后接收的不可信可执行用户代码定义的容器。根实体可以将资源委派给特定的容器。例如,第一根实体可以将集成电路的第一资源和第二资源委派给特定的容器,并且第二根实体可以将相同集成电路的第三资源委派给相同的容器。因此,当容器被执行时,容器可以访问已被委派给容器的集成电路的第一资源、第二资源和第三资源。根实体可以通过提供标识特定资源和容器的资源委派容器以及向其委派资源的委派容器来委派资源。
如此,多个可信根或根实体可以与单个集成电路相关联。第一根实体可以具有集成电路的第一组资源的特权,并且第二根实体可以具有集成电路的不同的第二组资源的特权。相反,如果集成电路包括单个根实体或单个可信根,则只有一个根实体可以具有集成电路的所有资源的特权。因此,如果集成电路由第一实体(例如,根实体)制造并且被包括在由第二实体组装的设备中,则集成电路的资源仍然可以与第一实体的特权相关联。
本公开的各方面通过提供多个可信根组件来管理单个集成电路的不同可信根来解决上述和其他缺陷。可以用一个或多个可信根(即,物理可信根)来制造多个可信根组件,其中可信根标识和可信根或根实体的密码密钥位于集成电路的硅或硬件中(例如,由互连定义)。随后的可信根(即,虚拟可信根)可以稍后通过集成电路的OTP存储器的编程来建立。例如,在集成电路的制造期间建立的可信根可以将资源指派给随后的可信根。可信根中的每一个可以将资源委派给代表可执行用户代码的委派容器。可信根的密码密钥可以用于验证被接收以委派与可信根的特权相关联的资源的资源委派容器的签名。因此,尽管不同的实体可以在集成电路的整个生命周期中的不同时间处拥有或利用包括多个可信根组件的集成电路,但是集成电路的某些资源可以保持对特定可信根的特权并且对其他可信根没有特权。例如,集成电路的资源可以对第一可信根具有特权,并且第二可信根因此可能不能委派对第一可信根具有特权的资源。因此,第一可信根或根实体可以被确保特定资源可以仅由其自身而不是由另一可信根或根实体来委派。
图1图示了包括多个可信根组件的集成电路的示例生命周期100。通常,生命周期100通过涉及不同实体的生命周期100的各个阶段,图示了包括多个可信根组件115的集成电路的处理。在一些实施例中,集成电路的多个可信根组件115可以为多个根实体管理集成电路的资源的特权。
如图1所示,生命周期100可涉及在各种时间利用集成电路的各种实体。例如,第一实体110可以是制造或制作(fabricate)包括多个可信根组件115的集成电路的制造实体。第一实体110可以制造具有在硅(例如,互连)中存储的密码密钥的集成电路,其中每个密码密钥对应于由多个可信根组件115提供的单个根实体。此外,多个可信根组件115可以包括随后可以创建虚拟可信根的存储器。作为示例,第一实体110可以制造具有多个可信根组件115的集成电路以包括第一根实体和第二根实体(例如,制造具有第一密码密钥和第二密码密钥集成电路)。生命周期100可以包括作为第一根实体的第二实体120。例如,第二实体120可以是半导体芯片封装提供商,半导体芯片封装提供商从第一实体110接收集成电路并且为集成电路生产半导体封装,其包括向作为第一根实体的第二实体120提供对集成电路的一个或多个资源的特权的多个可信根组件115。例如,可以向第二实体120提供与集成电路的操作或功能的子集(例如,所存储的密码密钥或用于生成密码密钥的操作)相关联的特权。因此,第二实体120可以向委派容器委派集成电路的某些资源或向另一根实体指派某些资源,如下面进一步详细描述的。
参照图1,第三实体130可以从第二实体接收包括集成电路的半导体封装。例如,第三实体130可以是将集成电路包括或集成到电子设备中的设备制造商。第三实体还可以是提供集成电路的其他资源的特权的第二根实体。例如,多个可信根组件115可以包括另一密码密钥和第三实体130的标识作为第二根实体,该第二根实体具有对第一根实体没有特权的其他资源的特权(例如,进入调试操作状态)。因此,第三实体130可以委派或指派集成电路的不同资源(与第一根实体相对)。
另外,第四实体140可以与包括集成电路的电子设备交互。例如,集成电路可以被集成到蜂窝电话或其他这样的移动设备中,并且第四实体140可以是用于由蜂窝电话使用的通信服务的一种类型服务提供商或启用在线(以及离线)安全的服务的其他服务提供商。响应于第一根实体或第二根实体创建另一根实体并将对资源的一个或多个特权指派给新根实体,多个可信根组件可创建对应于第四实体140的虚拟可信根。例如,对与移动设备的用户的标识数据相对应的资源的特权可以被指派给对应于第四实体140的新根标识。因此,第四实体140可以委派或指派集成电路的资源。此外,第五实体150可以是最终拥有包括或集成了包括多个可信根组件115的集成电路的电子设备的最终用户。第五实体150可以提供或启动委派容器或可执行用户代码,其中根实体可以将集成电路的资源委派给委派容器。例如,第一实体110、第二实体120、第三实体130或第四实体140的任意组合可以向委派容器委派对于对应实体有特权的资源。
图2是包括多个可信根组件的设备的架构200的框图。通常,架构200可以包括与图1的多个可信根组件115相对应的多个可信根组件252。
如图2所示,架构200可以包括:引导加载器210,其控制CPU220或其他此类处理设备;容器管理器250,其包括多个可信根组件252并在集成电路的制造时存储在ROM或其他存储器中;以及容器240,其存储在静态随机存取存储器(SRAM)或其他存储器中。存储器总线230可以将容器240和容器管理器250与架构200的引导加载器210和其他资源232A-H耦合。
引导加载器210可以与容器管理器250交互,容器管理器250被存储在包括具有多个可信根组件252的集成电路的设备的只读存储器(ROM)中。引导加载器210可以是响应于设备的初始化(即,上电)而被执行的基于硬件的状态机。此外,引导加载器210可以执行设备或集成电路的一系列上电自检(例如,在上电或启动之后立即执行的程序)。由引导程序210执行的自检可以包括集成电路的硬件组件的验证或性能测试。例如,自检可以包括作为集成电路一部分的CPU或处理设备的测试。引导程序210可以进一步执行集成电路的ROM的内容的完整性检查。例如,引导加载器210可通过取回容器管理器250的内容并计算内容的完整性检查值来执行包括多个可信根组件252的容器管理器250的验证。所计算的完整性检查值可与另一所存储的完整性检查值进行比较以确定容器管理器250的真实性或验证。完整性检查值可对应于基于散列函数的散列值,所述散列函数被用于将任意大小的数字数据(例如,容器管理器250的内容)映射到固定大小的数字数据(例如,所计算的完整性检查值)。
在成功完成自检之后,引导加载器210可以启动或执行包括多个可信根组件252的容器管理器250。例如,引导加载器110可以在验证CPU和ROM或集成电路的其他存储器之后启动容器管理器250。然后,可以从引导加载器210向容器管理器250提供对CPU和集成电路的其他硬件资源的控制。在一些实施例中,容器管理器250可以对应于向硬件资源和集成电路的其他资源提供功能的可信嵌入轻量级软件。例如,容器管理器250可以提供定义诸如系统调用的功能以访问集成电路的特征或硬件资源的应用编程接口(API)。容器管理器250可以进一步接收与由集成电路接收的不可信用户代码相对应的一个或多个容器240。例如,容器可以在集成电路的制造之后被集成电路接收。容器管理器250可验证接收到的容器240用于访问集成电路的资源的许可(例如,委派资源),验证接收到的容器240的真实性,并且向容器240提供对集成电路的资源的访问。
容器管理器250可以响应于容器240中的一个的接收或者响应于容器240中的一个执行系统调用以访问集成电路的资源来被执行。在接收到的容器的验证之后,容器管理器250可以向接收到的容器提供CPU或处理设备或集成电路的另一资源的控制。一个或多个容器240中的每一个还可以对应于提供用于访问集成电路的资源的指令和/或数据的不可信用户代码。容器240可以被串联接收,使得集成电路的资源在容器240之间被时间共享。
架构200可以包括资源实施核260,该资源实施核260基于多个可信根组件252来实施对架构200的资源232A-H的控制或访问。这样的资源可以包括但不限于,一次性可编程(OTP)存储器写入、OTP读取或刻录、特征读取、特征写入、密码密钥的读取、密码密钥的更新、通用输入/输出(GPIO)功能、GPIO写入和读取、用于经由CPU220或在CPU 220上执行代码或指令的能力、对SRAM的可执行区域的访问、对任意这种存储器的特定部分的访问、对存储器的可写部分的访问等。其他资源可包括对存储在ROM中的核251的功能的访问。这样的核251可对应于椭圆曲线密码(ECC)密钥生成、RSA密钥生成、或用于生成密钥的其他密码操作。在一些实施例中,在每个容器240的执行之前,资源实施核260可以由容器管理器250的多个可信根组件252进行编程。例如,容器240可以包括对特征或资源232A-H的许可的标识,并且容器管理器250可以基于要被执行的容器240的许可来对资源实施核260的寄存器或存储器进行编程。因此,资源实施核260可以经由安全总线231针对已经由容器管理器250验证的容器240实施对资源232A-H的访问。在一些实施例中,资源232A-H中的一个或多个可以被耦合到包括架构200的设备的外部组件。例如,资源232B可以被耦合到另一个片上系统(SoC)、OTP存储器、随机数发生器等。如下面更详细描述的,容器240可以包括委派容器、资源委派容器和/或资源指派容器。
作为示例,多个可信根组件252可以将资源232A、232B、232C和232D作为特权提供给第一根实体,将资源232E和232F作为特权提供给第二根实体,并将资源232G和232H作为特权提供给第三根实体。第一根实体可以将资源232A-D的任意组合委派给也称为委派容器的容器,第二根实体可以将资源232E和232F的任意组合委派给委派容器,并且第三根实体可以将资源232G和232H的任意组合委派给委派容器。因此,每个根实体可以包括将集成电路的特定资源委派给特定委派容器的特权。
图3是用于基于资源委派容器向委派容器提供对设备的集成电路的资源的访问的示例方法300的流程图。通常,方法300可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如,处理设备、电路、专用逻辑、可编程逻辑、微码、设备的硬件等)、软件(例如,在处理设备运行或执行的指令)或其组合。在一些实施例中,方法300可以由图1和图2的多个可信根组件115或252执行。
如图3所示,方法300可以开始于处理逻辑接收与第一根实体相关联的资源委派容器(框310)。资源委派容器可以由根实体签名。此外,资源委派容器可以包括用于将作为对应根实体的特权的一个或多个资源委派给委派容器的指令。因此,资源委派容器可以标识用于委派资源的操作和特定委派容器的标识。处理逻辑可以进一步将在资源委派容器中标识的一个或多个资源委派给委派容器(框320)。例如,可以标识已经提供了资源委派容器的根实体,并且可以基于与从集成电路取回的根实体相对应的密码密钥来验证资源委派容器的签名。因此,在对已由第一根实体签名的资源委派容器的验证之后,可以将对第一根实体有特权的资源委派给委派容器。资源的委派可以对应于将标识委派容器的委派信息以及委派给委派容器的特定资源存储在集成电路的存储器中。结合图5A-5D描述关于委派信息的存储的进一步细节。处理逻辑可随后接收与第二根实体相关联的第二委派容器(框330)。例如,可以接收来自不同于先前根实体的另一个根实体的第二委派容器(例如,委派容器由不同的密码密钥签名)。处理逻辑还可以将与第二根实体相关联的一个或多个资源委派给由第二委派容器标识的委派容器(框340)。例如,可以响应于存储在集成电路处的另一密码密钥对第二委派容器的第二根实体的签名的验证来执行一个或多个资源的委派。处理逻辑随后可以接收委派容器(框350),并且向委派容器提供对来自与第一根实体相关联的第一资源委派容器的一个或多个资源的访问和对来自与第二根实体相关联的第二资源委派容器的一个或多个资源的访问(框360)。例如,委派容器可以匹配从第一委派容器和第二委派容器两者中标识的委派容器。委派容器然后可以被执行并被提供对来自第一和第二资源委派容器的资源的访问。
这样,第一根实体可以提供第一资源委派容器,并且第二根实体可以提供第二资源委派容器。第一资源委派容器可以向第一根实体委派至少一个特权资源,并且第二资源委派容器可以向第二根实体委派至少一个特权资源。在第一资源委派容器和第二资源委派容器被接收并执行之后,由第一资源委派容器和第二资源委派容器标识的委派容器可以被接收。委派容器可以被允许或被提供对已经从先前的资源委派容器委派的资源(例如,第一委派容器和第二资源委派容器的资源)的访问。
图4A图示了向委派容器提供对设备的集成电路的资源的访问的示例环境400。通常,环境400可以对应于包括图1和图2的多个可信根115或252的集成电路。
如图4A所示,环境400可以包括容器管道410、资源420和委派存储器430。容器管道410可以接收一系列容器。例如,容器管道410可以接收一个或多个资源委派容器和在一个或多个资源委派容器之后接收委派容器。资源420可以表示集成电路的资源和具有与资源相关联的特权的各种根实体。如图所示,第一资源421可以与第一根实体的特权相关联,第二资源422可以与第一根实体的特权相关联,第三资源423可以与第一根实体的特权相关联,第四资源424可以与第二根实体的特权相关联,第五资源425可以与第三根实体的特权相关联,并且第六资源426可以与四个根实体(例如,第一根实体、第二根实体、第三根实体和第四根实体)中的每一个相关联。此外,委派存储器430可以包括来自资源委派容器的委派信息,该资源委派容器向委派容器提供对资源420中的至少一些的访问。
图4B图示了在接收到资源委派容器之后向委派容器提供对设备的资源的访问的示例环境440。通常,在资源委派容器的接收之后,环境440可以对应于图4A的环境400。
如图4B所示,容器管道410可以接收第一资源委派容器411,第一资源委派容器411可以标识委派容器以及与第一根实体的特权相关联的一个或多个资源。例如,第一资源委派容器411可以包括委派容器标识(例如委派容器#0xAB)以及由第一根实体管理并且已经被委派给委派容器的第一资源421。响应于接收到第一资源委派容器411,委派存储器430可以存储委派容器标识439和已被委派给与委派容器标识439相对应的委派容器的资源的指示431。在一些实施例中,第一资源委派容器411可以由与第一根实体相对应的密码密钥来签名,并且可以由存储在集成电路中的对应的密码密钥来验证。
在一些实施例中,容器标识可以是容器的密码散列。备选地,容器标识可以是与被用于对容器签名的私钥相对应的公钥。在另一个实施例中,容器标识可以是散列消息认证码(HMAC)。在一些实施例中,容器标识可以是密码散列、公钥或HMAC的组合。
图4C图示了在接收到另一资源委派容器之后向委派容器提供对设备的资源的访问的示例环境450。通常,在另一个资源委派容器的接收之后,环境450可以对应于图4B的环境440。
如图4C所示,容器管道410可以在接收到第一资源委派容器411之后接收第二资源委派容器412。例如,第二资源委派容器412可以包括与第一资源委派容器411相同的委派容器标识并且可以识别从第二根实体到委派容器的第五资源425。这样,委派存储器430可以被更新以将附加的委派信息存储在已被委派给与委派容器标识439相对应的委派容器的另一资源的指示432中。
图4D图示了在接收委派容器之后向委派容器提供对设备的资源的访问的示例环境460。通常,环境460可以对应于在委派容器的接收之后的图4C的环境450。
如图4D所示,容器管道410可以接收委派容器413。例如,具有与来自第一资源委派容器411和第二资源委派容器412的委派容器的先前标识相匹配的标识的委派容器可以被接收。响应于接收到委派容器413和与来自委派存储器430的委派容器标识439相匹配的委派容器413的标识,代表容器413可以被提供对与指示431和432相对应的第一资源421和第五资源425的访问。
如此,可以接收一系列资源委派容器,其中每个资源委派容器向委派容器委派至少一个资源。资源委派容器可以标识为其委派资源的委派容器。在一些实施例中,每个资源委派容器可以标识相同的委派容器。在相同或备选实施例中,如果第一资源委派容器标识第一委派容器并且随后的第二资源委派容器标识与第一委派容器不同的第二委派容器,则可以重置委派存储器。例如,在接收到标识第一委派容器的第一资源委派容器之后,委派存储器可以将指示第一资源的委派的信息存储到第一委派容器。如果随后的第二资源委派容器被接收到并且标识第二委派容器将被委派第二资源,则委派存储器可以被擦除或重置(例如,指示将第一资源委派给第一委派容器的信息被移除)并且委派存储器可以将指示第二资源的委派的信息存储到第二委派容器。例如,委派存储器可以包括第二委派容器的标识。这样,委派内存可以存储单个委派容器的委派信息。
图5A是用于将设备的资源从一个根实体指派给另一根实体的示例方法的流程图。通常,方法500可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如处理设备、电路、专用逻辑、可编程逻辑、微码、设备的硬件等)、软件(例如,在处理设备上运行或执行的指令)或其组合。在一些实施例中,方法500可以由图1和图2的多个可信根组件115或252执行。
如图5A所示,方法500可以开始于处理逻辑从第一根实体接收资源指派容器(块510)。例如,资源指派容器可以指代指定与第一根实体的特权相关联的集成电路的资源的指派的容器。处理逻辑可随后验证资源指派容器(框520)。例如,已经被用于签名资源指派容器的第一根实体的签名可以由对应于第一根实体并被存储在集成电路中的密码密钥来验证。因此,可以取回集成电路中存储的、对应于指派资源的根实体的密码密钥,以验证包括用于将资源指派给另一根实体的信息的资源指派容器。在资源指派容器的验证之后,处理逻辑可以从资源指派容器标识第二根实体和与第一根实体的特权相关联的资源(框530)。例如,资源可以对应于将从第一根实体被指派给第二根实体的集成电路的资源。处理逻辑可以向第二根实体提供针对资源的委派能力(框540),并且可以从第一根实体移除资源的委派能力(框550)。例如,集成电路的存储器(例如,OTP存储器)可以被修改以存储标识资源已经从第一根实体被指派给第二根实体的指派数据。结合图6A-7描述关于指派数据的进一步的细节。此外,处理逻辑可以生成资源委派容器以基于第二根实体来委派资源(块560)。例如,通过与第二根实体相对应的密码密钥所签名的资源委派容器可用于将资源委派给委派容器。在资源从第一根实体到第二根实体的指派之后,由与第一根实体相对应的另一个密码密钥所签名的资源委派容器可以不再被用于将资源委派给委派容器。
图5B是用于创建新根实体的示例方法570的流程图。通常,方法500可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如处理设备、电路、专用逻辑、可编程逻辑、微码、设备的硬件等)、软件(例如,在处理设备上运行或执行的指令)或其组合。在一些实施例中,方法570可以由图1和图2的多个可信根组件115或252执行。
如图5B所示,方法570可以开始于处理逻辑从第一根实体接收资源指派容器,其中第一根实体对应于在集成电路的制造期间建立的密钥(框571)。这样,第一根实体的密钥可以在集成电路的制造时被存储在集成电路的互连或存储器中。处理逻辑可以基于与在集成电路的制造期间建立的第一根实体相关联的密钥来验证资源指派容器(框572)。例如,资源指派容器的签名可以通过使用对应于第一根实体并且是在集成电路的制造期间建立的密钥来被验证为源自第一根实体。处理逻辑可以在资源指派容器的验证之后从资源指派容器标识来自第一根实体的、将被指派给新根实体的资源(框573)。例如,新根实体可能当前未被关联或指派给存储在集成电路中的任意密钥。响应于标识新根实体,处理逻辑可以将集成电路的存储器进行编程为包括对应于新根实体的新密钥(框574)。例如,新密钥可以被生成(例如,经由集成电路的资源)并且被编程或存储到OTP存储器中,其中新密钥被用于验证来自与新根实体相关联的后续容器的签名。此外,处理逻辑可以存储指示资源已经从第一根实体指派给新根实体的数据(框575)。例如,如关于图6A-6D进一步详细描述的,资源更新存储器可以存储指示第一资源到新根实体的指派的信息。
图6A图示了将设备的资源指派给另一根实体的示例环境600。通常,环境600可以对应于包括图1和图2的多个可信根组件115或252的集成电路。
如图6A所示,环境600可以包括容器管道610、资源620和资源更新存储器630。如前所述,容器管道可以接收一系列容器。例如,一个或多个资源指派容器、资源委派容器和委派容器可以以一系列的方式被接收。资源620可以表示集成电路的特定资源的默认根实体。例如,资源620可以基于标识特定资源的默认根实体(例如,在集成电路的制造时的根实体)的集成电路或存储器(例如,OTP存储器)的互连。如图所示,集成电路的第一资源621可以与第一根实体相关联,第二资源622可以与第一根实体相关联,第三资源623可以与第一根实体、第二根实体、第三根实体、和第四根实体中的每一个相关联,并且第四资源624可以与第三根实体相关联。此外,资源更新存储器630可以是一次性可编程(OTP)存储器,其用于存储标识资源620中的一个资源何时已从默认根实体被指派给另一根实体的指派信息。因此,可以响应于从容器管道610接收的资源指派容器来更新资源更新存储器630。资源更新存储器630可以响应于容器管道610接收资源委派容器而被进一步使用,如在关于图7的进一步细节中描述的。
图6B图示了在接收资源指派容器之后将设备的资源指派给另一根实体的示例环境640。通常,环境640可以对应于在资源指派容器的接收之后的图6A的环境600。
如图6B所示,容器管道610可以接收第一资源指派容器611,第一资源指派容器611可以标识第一根实体、第二根实体和集成电路的特定资源。例如,第一资源指派容器611可以标识集成电路的第一资源621可以从第一根实体(例如,默认根实体)被指派给第二根实体。响应于第一根实体对第一资源指派容器611的签名的验证(例如,通过对应于第一根实体的密码密钥),第一资源指派信息631可以被存储在资源更新存储器630中。第一资源指派信息631可以标识第一资源621已经从默认第一根实体指派给第二根实体。因此,第一资源指派信息631可以存储标识特定资源何时已经从其默认根实体被指派的信息。
图6C图示了在接收另一指派容器之后将设备的资源指派给另一根实体的示例环境650。通常,环境650可以对应于在另一个指派委派容器的接收之后的图6B的环境640。
如图6C所示,容器管道610可以接收第二资源指派容器612,该第二资源指派容器612可以标识集成电路的第二资源622可以从第一根实体(例如,默认根实体)被指派给第四根实体。响应于对第二资源指派容器612的签名的验证,可以将第二资源指派信息632存储在资源更新存储器630中。第二资源指派信息632可以标识第二资源622已经从默认第一根实体被指派到第四根实体。因此,第二资源指派信息631可以存储标识附加资源已经从其对应于第一根实体的默认根实体被指派的信息。
图6D图示了基于所指派的资源来提供对设备的资源的访问的示例环境660。通常,环境660可以对应于在资源委派容器的接收之后的图6C的环境650。
如图6D所示,容器管道610可以接收资源委派容器613,该资源委派容器613可以标识第一资源621和第四资源624对具有标识“OxΑΒ”的特定委派容器的委派。如所示,第四资源624与第二根实体相关联或被指派给第二根实体(例如,第二根实体是第四资源624的默认根实体)。此外,第一资源621与作为第一根实体的默认根实体相关联,但第一根实体已将第一资源621指派给第二根实体。例如,资源更新存储器630包括标识第一资源621已经从第一根实体指派给第二根实体的第一资源指派信息631。因此,第二根实体可以与特权相关联以进一步委派针对其第二根实体为默认根实体的第四资源624以及针对其第一根实体已经被指派给第二根实体的第一资源621。由于资源委派容器613包括用于委派第一资源621和第四资源624的信息,第一资源621和第四资源624是各自与第二根实体相关联的权限,所以资源委派容器613的签名可基于与第二根实体相对应的密码密钥而被验证。如果签名被确定为有效的,则可以将第一资源621和第四资源624委派给在资源委派容器613中标识的容器。
图7是用于基于在存储器中存储的数据来将设备的资源从一个根实体指派给另一根实体的示例方法700的流程图。通常,方法700可以通过处理逻辑来执行,该处理逻辑可以包括硬件(例如处理设备、电路、专用逻辑、可编程逻辑、微码、设备的硬件等)、软件(例如,在处理设备上运行或执行的指令)或其组合。在一些实施例中,方法700可以由图1和图2的多个可信根组件115或252执行。
如图7所示,方法700可以开始于处理逻辑接收资源委派容器以将资源委派给委派容器(块710)。例如,可以从根实体接收资源委派容器以委派对根实体具有特权的资源。处理逻辑可以响应于接收资源委派容器来进一步取回资源更新存储器(框720)。例如,可以取回来自集成电路的存储器的资源指派信息。处理逻辑可以随后确定资源更新存储器是否指示资源已经被指派给另一根实体(框730)。例如,资源指派信息可以标识集成电路的特定资源是否已从对应的默认根实体被指派给另一根实体。如果资源更新存储器指示资源尚未被指派给另一根实体(例如,资源指派容器中标识的资源没有在资源指派信息中被标识),则处理逻辑可以基于对应于电路(例如,互连)的默认设置来将资源委派给委派容器(块750)。例如,存储在集成电路中并且对应于资源的默认根实体的密码密钥可以用于验证资源委派容器。然而,如果资源更新存储器指示资源已被指派给另一根实体(例如,在资源委派容器中标识的资源在资源指派信息中被标识),则处理逻辑可以基于资源更新存储器来将资源委派给委派容器(框740)。例如,存储在集成电路中并且对应于资源的不同根实体(例如,不是默认根实体)的不同密码密钥可以用于验证资源委派容器。
图8图示了计算机系统800的示例机器,在该计算机系统800内可以执行用于使机器执行本文讨论的任意方法的一个或多个的指令集合。在备选实现中,机器可以连接(例如联网)到LAN、内联网、外联网和/或因特网中的其他机器。该机器可以以客户端-服务器网络环境中的服务器或客户端机器的能力、作为对等(或分布式)网络环境中的对等机器、或作为云计算基础设施或环境中的服务器或客户端机器来运行。
机器可以是个人计算机(PC)、平板计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器、或任意能够执行指定了该机器要采取的动作的指令集合(顺序或以其他方式)的机器。此外,尽管示出了单个机器,但术语“机器”也应被理解为包括单独或联合执行用于执行本文讨论的方法中的任意一个或多个的指令集合(或多个指令集合)的机器的任意集合。
示例计算机系统800包括处理设备802、主存储器804(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM)(诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器806(例如,闪存、静态随机存取存储器(SRAM)等)以及经由总线830彼此通信的数据存储设备818。
处理设备802表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地说,处理设备可以是复杂指令集合计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实现其他指令集的处理器、或者实现指令集组合的处理器。处理设备802还可以是诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等的一个或多个专用处理设备。处理设备802被配置为执行用于执行本文讨论的操作和步骤的指令826。
计算机系统800还可以包括网络接口设备1008。计算机系统800还可以包括视频显示单元810(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备812(例如键盘)、光标控制设备814(例如鼠标)、图形处理单元822和信号生成设备816(例如扬声器)。
数据存储设备818可以包括机器可读存储介质824(也称为计算机可读介质),在该机器可读存储介质824上存储实施本文描述的方法或功能中的任意一个或多个的一个或多个指令集合或软件826。指令826还可以在由计算机系统800对其进行执行期间完全或至少部分地驻留在主存储器804内和/或处理设备802内,主存储器804和处理设备802也构成机器可读存储介质。
在一个实现中,指令826包括用于实现对应于多个可信根组件(例如,图1的多个可信根组件115或图2的多个可信根组件252)的功能的指令。虽然机器可读存储介质828在示例实现中被示出为单个介质,但术语“机器可读存储介质”应该被认为包括存储一个或多个指令集合的单个介质或多个介质(例如,集中式或分布式数据库,以及/或相关联的高速缓存和服务器)。术语“机器可读存储介质”还应被认为包括能够存储或编码供机器执行的指令集合并且使机器执行本公开的方法中的任意一个或多个的任意介质。术语“机器可读存储介质”因此应被认为包括但不限于固态存储器、光学介质和磁性介质。
已经根据对计算机存储器内的数据位的操作的算法和符号表示来呈现前面的详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将其工作实质传达给本领域其他技术人员的方式。算法在本文并且通常被认为是导致期望结果的自洽操作序列。这些操作是需要物理量的物理操纵的操作。通常,但不一定,这些量采取能够被存储、组合、比较和以其他方式操纵的电或磁信号的形式。主要出于常用的原因,有时将这些信号称为比特、值、元素、符号、字符、术语、数字等被证明是方便的。
然而,应该记住,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是被应用于这些量的方便的标签。除非特别声明,否则从以上讨论中显而易见的是,应该理解,在整个说明书中,利用诸如“识别”或“确定”或“执行”或“实施”或“收集”或“创建”或“发送”等术语的讨论指代计算机系统或类似的电子计算设备的动作和处理,其将表示为计算机系统的寄存器和存储器中物理(电子)量的数据操作并转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储设备内的物理量的其他数据。
本公开还涉及用于执行本文的操作的装置。该装置可以为了预期的目的而专门构造,或者它可以包括由计算机中存储的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于包括软盘、光盘、CD-ROM和磁光盘的任意类型的磁盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适于存储电子指令的任意类型的介质,每个均耦合到计算机系统总线。
本文呈现的算法和显示并不固有地涉及任意特定的计算机或其他装置。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造用于执行该方法的更专用的装置可以是方便的。各种这些系统的结构将显示在下面的描述中阐述。另外,本公开没有参考任意特定的编程语言来描述。将理解,可以使用各种编程语言来实现本文所述的本公开的教导。
本公开可被提供为计算机程序产品或软件,其可包括其上存储有指令的机器可读介质,所述指令可用于对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读形式存储信息的任意机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备等。
在前述说明书中,已经参考其具体示例实现描述了本公开的实现。显而易见的是,在不脱离如在以下权利要求中阐述的本公开的实现的更宽泛的精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图被认为是说明性的而不是限制性的。
Claims (20)
1.一种方法,包括:
从与第一根实体相关联的第一可信根接收容器,其中所述容器对应于与所述第一根实体相关联的集成电路的资源的映射;
基于对应于所述第一可信根、并且在制造所述集成电路时被存储在所述集成电路中的密钥,来验证所述容器;
标识来自所述容器的所述集成电路的所述资源的指派对应于将所述资源从所述第一可信根指派给与第二根实体相关联的新可信根;
生成对应于所述新可信根的新密钥;
将对应于针对所述新可信根的所述新密钥的信息存储到所述集成电路的存储器中;以及
由处理设备使用对应于所述新可信根的所述新密钥来将所述集成电路的所述资源委派给后续容器。
2.根据权利要求1所述的方法,其中使用所述新密钥来将所述集成电路的所述资源委派给所述后续容器包括:
接收所述后续容器;以及
基于所述新密钥,来确定所述后续容器的签名是否对应于所述新可信根。
3.根据权利要求2所述的方法,其中使用所述新密钥来将所述集成电路的所述资源委派给所述后续容器还包括:
响应于基于所述新密钥而将所述后续容器的所述签名验证为与所述新可信根相关联,将所述资源委派给所述后续容器。
4.根据权利要求1所述的方法,其中对应于所述第一可信根的所述密钥通过所述集成电路的互连而被存储,并且所述新密钥被存储在所述集成电路的一次性可编程(OTP)存储器中。
5.根据权利要求1所述的方法,其中将对应于针对所述新可信根的所述新密钥的信息存储到所述集成电路的所述存储器中包括:
在所述存储器中,存储从所述第一可信根被指派给所述新可信根、并且从与所述第一可信根的关联中被移除的所述资源的标识。
6.根据权利要求5所述的方法,还包括:
接收所述后续容器;
标识所述后续容器对应于所述资源的委派;以及
基于所述存储器中所述资源的所述标识来验证所述后续容器。
7.根据权利要求1所述的方法,其中所述容器和所述后续容器对应于可执行代码。
8.一种系统,包括:
存储器;以及
处理设备,可操作地与所述存储器耦合以:
从与第一根实体相关联的第一可信根接收容器,其中所述容器对应于与所述第一根实体相关联的集成电路的资源的映射;
基于对应于所述第一可信根、并且在制造所述集成电路时在所述集成电路中存储的密钥来验证所述容器;
标识来自所述容器的所述集成电路的所述资源的指派对应于将所述资源从所述第一可信根指派给与第二根实体相关联的新可信根;
生成对应于所述新可信根的新密钥;
将对应于针对所述新可信根的所述新密钥的信息存储到所述集成电路的存储器中;以及
使用对应于所述新可信根的所述新密钥来将所述集成电路的所述资源委派给后续容器。
9.根据权利要求8所述的系统,其中使用所述新密钥来将所述集成电路的所述资源委派给所述后续容器包括:
接收所述后续容器;以及
基于所述新密钥,来确定所述后续容器的签名是否对应于所述新可信根。
10.根据权利要求9所述的系统,其中使用所述新密钥来将所述集成电路的所述资源委派给所述后续容器还包括:
响应于基于所述新密钥而将所述后续容器的所述签名验证为与所述新可信根相关联,将所述资源委派给所述后续容器。
11.根据权利要求8所述的系统,其中对应于所述第一可信根的所述密钥通过所述集成电路的互连而被存储,并且所述新密钥被存储在所述集成电路的一次性可编程(OTP)存储器中。
12.根据权利要求8所述的系统,其中将对应于针对所述新可信根的所述新密钥的信息存储到所述集成电路的所述存储器中包括:
在所述集成电路的所述存储器中,存储从所述第一可信根被指派给所述新可信根、并且从与所述第一可信根的关联中被移除的所述资源的标识。
13.根据权利要求12所述的系统,其中所述处理设备还用于:
接收所述后续容器;
标识所述后续容器对应于所述资源的委派;以及
基于所述集成电路的所述存储器中所述资源的所述标识,来验证所述后续容器。
14.根据权利要求8所述的系统,其中所述容器和所述后续容器对应于可执行代码。
15.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括数据,所述数据在被处理设备访问时使所述处理设备执行操作,所述操作包括:
从与第一根实体相关联的第一可信根接收容器,其中所述容器对应于与所述第一根实体相关联的集成电路的资源的映射;
基于对应于所述第一可信根、并且在制造所述集成电路时在所述集成电路中被存储的密钥,来验证所述容器;
标识来自所述容器的所述集成电路的所述资源的指派对应于将所述资源从所述第一可信根指派给与第二根实体相关联的新可信根;
生成与所述新可信根相对应的新密钥;
将对应于针对所述新可信根的所述新密钥的信息存储到所述集成电路的存储器中;以及
使用与所述新可信根相对应的所述新密钥来将所述集成电路的所述资源委派给后续容器。
16.根据权利要求15所述的非暂时性计算机可读介质,其中使用所述新密钥来将所述集成电路的所述资源委派给所述后续容器包括:
接收所述后续容器;以及
基于所述新密钥,来确定所述后续容器的签名是否对应于所述新可信根。
17.根据权利要求16所述的非暂时性计算机可读介质,其中使用所述新密钥来将所述集成电路的所述资源委派给所述后续容器还包括:
响应于基于所述新密钥而将所述后续容器的所述签名验证为与所述新可信根相关联,将所述资源委派给所述后续容器。
18.根据权利要求15所述的非暂时性计算机可读介质,其中对应于所述第一可信根的所述密钥通过所述集成电路的互连而被存储,并且所述新密钥被存储在所述集成电路的一次性可编程(OTP)存储器中。
19.根据权利要求15所述的非暂时性计算机可读介质,其中将对应于针对所述新可信根的所述新密钥的信息存储到所述集成电路的所述存储器中包括:
在所述存储器中,存储从所述第一可信根被指派给所述新可信根、并且从与所述第一可信根的关联中被移除的所述资源的标识。
20.根据权利要求15所述的非暂时性计算机可读介质,其中所述容器和所述后续容器对应于可执行代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562262217P | 2015-12-02 | 2015-12-02 | |
US62/262,217 | 2015-12-02 | ||
PCT/US2016/064451 WO2017096060A1 (en) | 2015-12-02 | 2016-12-01 | Device with multiple roots of trust |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108140092A true CN108140092A (zh) | 2018-06-08 |
CN108140092B CN108140092B (zh) | 2022-04-01 |
Family
ID=58797810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680058902.8A Active CN108140092B (zh) | 2015-12-02 | 2016-12-01 | 具有多个可信根的设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11216389B2 (zh) |
EP (1) | EP3384423B1 (zh) |
CN (1) | CN108140092B (zh) |
WO (1) | WO2017096060A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167785A (zh) * | 2018-09-03 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种虚拟可信根的调用方法和业务服务器 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102407066B1 (ko) | 2014-09-17 | 2022-06-08 | 크라이프토그라피 리서치, 인코포레이티드 | 집적 회로를 위한 상이한 엔티티들의 특권들의 관리 |
US10666443B2 (en) * | 2016-10-18 | 2020-05-26 | Red Hat, Inc. | Continued verification and monitoring of application code in containerized execution environment |
US11681781B2 (en) * | 2018-02-21 | 2023-06-20 | Comcast Cable Communications, Llc | Systems and methods for content security |
US11018871B2 (en) * | 2018-03-30 | 2021-05-25 | Intel Corporation | Key protection for computing platform |
US11831786B1 (en) * | 2018-11-13 | 2023-11-28 | Northrop Grumman Systems Corporation | Chain of trust |
DE102019217512A1 (de) * | 2019-11-13 | 2021-05-20 | Robert Bosch Gmbh | Verfahren zum Betreiben eines industriellen Steuerungssystems |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030028807A1 (en) * | 2001-06-27 | 2003-02-06 | Lawman Matthew John | Network appliances |
CN101729502A (zh) * | 2008-10-23 | 2010-06-09 | 中兴通讯股份有限公司 | 密钥分发方法和系统 |
CN101794362A (zh) * | 2010-01-22 | 2010-08-04 | 华北计算技术研究所 | 计算机用可信计算信任根设备及计算机 |
US20110154010A1 (en) * | 2009-12-17 | 2011-06-23 | Springfield Randall S | Security to extend trust |
CN102405630A (zh) * | 2009-04-20 | 2012-04-04 | 交互数字专利控股公司 | 多个域和域所有权的系统 |
US20120124356A1 (en) * | 2010-11-16 | 2012-05-17 | Datta Shamanna M | Methods and apparatuses for recovering usage of trusted platform module |
US20120266252A1 (en) * | 2011-04-18 | 2012-10-18 | Bank Of America Corporation | Hardware-based root of trust for cloud environments |
CN103544599A (zh) * | 2012-07-09 | 2014-01-29 | 马克西姆综合产品公司 | 用于在移动终端内认证、存储和交易的嵌入式安全元件 |
US8769642B1 (en) * | 2011-05-31 | 2014-07-01 | Amazon Technologies, Inc. | Techniques for delegation of access privileges |
US20140195807A1 (en) * | 2009-11-16 | 2014-07-10 | Hagai Bar-El | System, device, and method of provisioning cryptographic data to electronic devices |
CN104541474A (zh) * | 2012-08-10 | 2015-04-22 | 密码研究公司 | 集成电路中的安全特征和密钥管理 |
CN104618096A (zh) * | 2014-12-30 | 2015-05-13 | 华为技术有限公司 | 保护密钥授权数据的方法、设备和tpm密钥管理中心 |
CN104868998A (zh) * | 2014-02-23 | 2015-08-26 | 迪斯克雷蒂克斯科技公司 | 一种向电子设备供应加密数据的系统、设备和方法 |
CN105007157A (zh) * | 2014-04-23 | 2015-10-28 | 密码研究公司 | 基于设备生成的密钥来生成和管理多个基密钥 |
US20150326543A1 (en) * | 2014-05-06 | 2015-11-12 | Cryptography Research, Inc. | Establishing an initial root of trust for individual components of a distributed security infrastructure |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631188B2 (en) | 1997-05-16 | 2009-12-08 | Tvworks, Llc | Hierarchical open security information delegation and acquisition |
US7634807B2 (en) * | 2003-08-08 | 2009-12-15 | Nokia Corporation | System and method to establish and maintain conditional trust by stating signal of distrust |
US7316027B2 (en) | 2004-02-03 | 2008-01-01 | Novell, Inc. | Techniques for dynamically establishing and managing trust relationships |
US20050132229A1 (en) * | 2003-11-12 | 2005-06-16 | Nokia Corporation | Virtual private network based on root-trust module computing platforms |
US7382880B2 (en) | 2004-01-26 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for initializing multiple security modules |
US8271783B2 (en) | 2004-04-19 | 2012-09-18 | Hewlett-Packard Development Company, L.P. | Subordinate trusted platform module |
US20090323971A1 (en) * | 2006-12-28 | 2009-12-31 | Munguia Peter R | Protecting independent vendor encryption keys with a common primary encryption key |
US20080184028A1 (en) * | 2007-01-29 | 2008-07-31 | Dell Products L.P. | Methods, Apparatus and Products for Establishing a Trusted Information Handling System |
US7945786B2 (en) * | 2007-03-30 | 2011-05-17 | Intel Corporation | Method and apparatus to re-create trust model after sleep state |
US9112681B2 (en) * | 2007-06-22 | 2015-08-18 | Fujitsu Limited | Method and apparatus for secure information transfer to support migration |
US9432184B2 (en) * | 2008-09-05 | 2016-08-30 | Vixs Systems Inc. | Provisioning of secure storage for both static and dynamic rules for cryptographic key information |
US9559842B2 (en) * | 2008-09-30 | 2017-01-31 | Hewlett Packard Enterprise Development Lp | Trusted key management for virtualized platforms |
US9721101B2 (en) | 2013-06-24 | 2017-08-01 | Red Hat, Inc. | System wide root of trust chaining via signed applications |
US8538926B2 (en) | 2011-03-08 | 2013-09-17 | Rackspace Us, Inc. | Massively scalable object storage system for storing object replicas |
US9141458B2 (en) * | 2011-05-09 | 2015-09-22 | Cleversafe, Inc. | Adjusting a data storage address mapping in a maintenance free storage container |
US8843764B2 (en) | 2011-07-15 | 2014-09-23 | Cavium, Inc. | Secure software and hardware association technique |
US8874916B2 (en) * | 2012-09-28 | 2014-10-28 | Intel Corporation | Introduction of discrete roots of trust |
US9348997B2 (en) * | 2014-03-13 | 2016-05-24 | Intel Corporation | Symmetric keying and chain of trust |
US10999264B2 (en) | 2014-08-28 | 2021-05-04 | Cryptography Research, Inc. | Generating a device identification key from a base key for authentication with a network |
US9525555B2 (en) * | 2014-12-18 | 2016-12-20 | Intel Corporation | Partitioning access to system resources |
US10083306B2 (en) * | 2015-06-26 | 2018-09-25 | Intel Corporation | Establishing hardware roots of trust for internet-of-things devices |
US10129035B2 (en) | 2015-08-10 | 2018-11-13 | Data I/O Corporation | Device birth certificate |
-
2016
- 2016-12-01 EP EP16871512.6A patent/EP3384423B1/en active Active
- 2016-12-01 WO PCT/US2016/064451 patent/WO2017096060A1/en unknown
- 2016-12-01 US US15/780,005 patent/US11216389B2/en active Active
- 2016-12-01 CN CN201680058902.8A patent/CN108140092B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030028807A1 (en) * | 2001-06-27 | 2003-02-06 | Lawman Matthew John | Network appliances |
CN101729502A (zh) * | 2008-10-23 | 2010-06-09 | 中兴通讯股份有限公司 | 密钥分发方法和系统 |
CN102405630A (zh) * | 2009-04-20 | 2012-04-04 | 交互数字专利控股公司 | 多个域和域所有权的系统 |
US20140195807A1 (en) * | 2009-11-16 | 2014-07-10 | Hagai Bar-El | System, device, and method of provisioning cryptographic data to electronic devices |
US20110154010A1 (en) * | 2009-12-17 | 2011-06-23 | Springfield Randall S | Security to extend trust |
CN101794362A (zh) * | 2010-01-22 | 2010-08-04 | 华北计算技术研究所 | 计算机用可信计算信任根设备及计算机 |
US20120124356A1 (en) * | 2010-11-16 | 2012-05-17 | Datta Shamanna M | Methods and apparatuses for recovering usage of trusted platform module |
US20120266252A1 (en) * | 2011-04-18 | 2012-10-18 | Bank Of America Corporation | Hardware-based root of trust for cloud environments |
US8769642B1 (en) * | 2011-05-31 | 2014-07-01 | Amazon Technologies, Inc. | Techniques for delegation of access privileges |
CN103544599A (zh) * | 2012-07-09 | 2014-01-29 | 马克西姆综合产品公司 | 用于在移动终端内认证、存储和交易的嵌入式安全元件 |
CN104541474A (zh) * | 2012-08-10 | 2015-04-22 | 密码研究公司 | 集成电路中的安全特征和密钥管理 |
CN104868998A (zh) * | 2014-02-23 | 2015-08-26 | 迪斯克雷蒂克斯科技公司 | 一种向电子设备供应加密数据的系统、设备和方法 |
CN105007157A (zh) * | 2014-04-23 | 2015-10-28 | 密码研究公司 | 基于设备生成的密钥来生成和管理多个基密钥 |
US20150326543A1 (en) * | 2014-05-06 | 2015-11-12 | Cryptography Research, Inc. | Establishing an initial root of trust for individual components of a distributed security infrastructure |
CN104618096A (zh) * | 2014-12-30 | 2015-05-13 | 华为技术有限公司 | 保护密钥授权数据的方法、设备和tpm密钥管理中心 |
Non-Patent Citations (3)
Title |
---|
DEXIAN CHANG 等: "TSD: A Flexible Root of Trust for the Cloud", 《2012 IEEE 11TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS》 * |
刘天华 等: "基于PTM的可信应用环境研究", 《PROCEEDINGS OF 2014 INTERNATIONAL CONFERENCE ON COMPUTER,COMMUNICATIONS AND INFORMATION TECHNOLOGY(CCIT 2014)》 * |
刘彬: "面向云环境可信任根相关关键技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167785A (zh) * | 2018-09-03 | 2019-01-08 | 郑州云海信息技术有限公司 | 一种虚拟可信根的调用方法和业务服务器 |
CN109167785B (zh) * | 2018-09-03 | 2022-04-29 | 郑州云海信息技术有限公司 | 一种虚拟可信根的调用方法和业务服务器 |
Also Published As
Publication number | Publication date |
---|---|
US11216389B2 (en) | 2022-01-04 |
EP3384423A4 (en) | 2019-06-05 |
EP3384423B1 (en) | 2022-08-10 |
EP3384423A1 (en) | 2018-10-10 |
CN108140092B (zh) | 2022-04-01 |
WO2017096060A1 (en) | 2017-06-08 |
US20180357183A1 (en) | 2018-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108140092A (zh) | 具有多个可信根的设备 | |
US10839107B2 (en) | Managing a smart contract on a blockchain | |
US11610009B2 (en) | Software-based switch for providing products and/or services to users without compromising their privacy | |
JP6936259B2 (ja) | ブロックチェーンシステムのための暗号化アプリケーション | |
CN107925659B (zh) | 帮助使经认证的集群可用的方法、相关装置和存储介质 | |
BR112019011788A2 (pt) | Método para o processamento de uma reivindicação de dano de mercadoria e aparelho para o processamento de uma reivindicação de dano de mercadoria | |
CN103051451B (zh) | 安全托管执行环境的加密认证 | |
EP3195558B1 (en) | Efficient and reliable attestation | |
CN111614464A (zh) | 区块链中安全更新密钥的方法及节点、存储介质 | |
US20200236541A1 (en) | Provisioning authentication keys in computer processor | |
DE102018005180A1 (de) | Flexible Bescheinigung von Containern | |
CN108351937A (zh) | 计算设备 | |
TW201423428A (zh) | 託管應用環境中之使用者資料保護 | |
CN109416718A (zh) | 云数据中心中应用容器的可信部署 | |
CN110245947B (zh) | 结合交易与用户类型的条件限制的收据存储方法和节点 | |
TW201822033A (zh) | 資源處理方法及裝置 | |
WO2018086469A1 (zh) | 芯片中非易失性存储空间的数据存储方法和可信芯片 | |
CN104246784B (zh) | 用于保护和安全地传输媒体内容的方法、设备和系统 | |
CN110264197B (zh) | 结合事件函数类型和判断条件的收据存储方法和节点 | |
WO2017143757A1 (zh) | 云计算平台的可信度量方法和装置 | |
US11082425B2 (en) | Pressure-based authentication | |
CN103902915B (zh) | 一种可信工控终端及其构建方法 | |
US20230281604A1 (en) | Technologies for creating and transferring non-fungible token based identities | |
CN110750488B (zh) | 在fpga中实现外部调用的方法及装置 | |
CN105893853A (zh) | 向访客系统指派多个硬件安全模块之一的方法和指派系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |