CN110084043A - 用于提供可信平台模块服务的设备和方法 - Google Patents

用于提供可信平台模块服务的设备和方法 Download PDF

Info

Publication number
CN110084043A
CN110084043A CN201910120428.2A CN201910120428A CN110084043A CN 110084043 A CN110084043 A CN 110084043A CN 201910120428 A CN201910120428 A CN 201910120428A CN 110084043 A CN110084043 A CN 110084043A
Authority
CN
China
Prior art keywords
data value
platform configuration
configuration register
group
safety element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910120428.2A
Other languages
English (en)
Other versions
CN110084043B (zh
Inventor
O·科勒特
B·莫里奥
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.)
Proton World International NV
Original Assignee
Proton World International NV
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 Proton World International NV filed Critical Proton World International NV
Priority to CN201910120428.2A priority Critical patent/CN110084043B/zh
Publication of CN110084043A publication Critical patent/CN110084043A/zh
Application granted granted Critical
Publication of CN110084043B publication Critical patent/CN110084043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开的实施例涉及用于提供可信平台模块服务的设备和方法。本发明涉及一种电路,该电路具有:第一处理设备(302),其包括基于引导测量来存储一个或多个数据值的一个或多个第一平台配置寄存器(306),该引导测量与由第一处理设备实现的引导序列有关;以及安全元件(304),其包括第二处理设备和一个或多个第二平台配置寄存器(308),第一平台配置寄存器和第二平台配置寄存器(306,308)经由通信接口(310)耦合在一起,该通信接口(310)被适配为从一个或多个第一平台配置寄存器(306)向一个或多个第二平台配置寄存器(308)复制一个或多个数据值。

Description

用于提供可信平台模块服务的设备和方法
相关申请的交叉引用
本申请是申请日为2015年8月18日、优先权日为2014年8月18日、申请号为201510509303.0的发明专利申请的分案申请。
本申请要求2014年8月18日提交的、法国专利申请第14/57855号的优先权,其全部内容在法律允许的最大程度上通过引用并入于此。
技术领域
本公开内容涉及用于在不使用专用可信平台模块(TPM)设备的情况下提供可信平台模块(TPM)服务的方法和设备的领域。
背景技术
为了确保硬件和软件配置的可靠性和安全性,已经提出了使用可信平台模块(TPM)。TPM是一种用于实现可信计算的密码设备。可信计算环境的一个关键要求是确保引导序列的完整性。为此,TPM形成“信任的引导”。特别地,在计算设备的通电时,引导序列从可信条件开始,并且这一信任被扩展直到操作系统已经完全引导并且应用正在运行。在每个步骤通过使用TPM的一个或多个平台配置寄存器(PCR)以安全地存储引导测量(bootmeasurement)来确保完整性。然后可以由TPM对PCR的内容进行密码地标记并且向应用或者远程方提供该内容,以使得能够验证引导序列的完整性。
可以将可信平台模块并入到大量电子计算设备中,包括智能电话、平板计算机和台式计算机。通常可以将它们实现为耦合到电子设备的主处理器的硬件设备。
然而,由于对可用的芯片面积和功率的限制,对于诸如智能手机或者其他便携式设备等很多应用来说,需要有一种用于在不使用专用TPM设备的情况下提供TPM服务的解决方案。然而,在确保高安全性和快速响应时间的同时提供这样的系统存在技术困难。
发明内容
本公开内容的实施例的目的是至少部分解决现有技术中的一个或多个需求。
根据一个方面,提供了一种电路,包括:包括基于引导测量来存储一个或多个数据值的一个或多个第一平台配置寄存器的第一处理设备,该引导测量与由第一处理设备实现的引导序列有关;以及包括第二处理设备以及一个或多个第二平台配置寄存器的安全元件,第一平台配置寄存器和第二平台配置寄存器经由通信接口耦合在一起,该通信接口被适配为从一个或多个第一平台配置寄存器向一个或多个第二平台配置寄存器复制一个或多个数据值。
根据一个实施例,安全元件还被适配为实现用于对电路的用户进行认证的至少一个密码功能。
根据一个实施例,第一处理设备包括可信执行环境,一个或多个第一平台配置寄存器被存储在所述可信执行环境中。
根据一个实施例,上述电路还包括存储一个或多个第一软件应用的存储器,该一个或多个第一软件应用被适配为基于一个或多个数据值来验证引导序列的完整性。
根据一个实施例,安全元件还包括存储一个或多个第二软件应用的存储器,该一个或多个第二软件应用用于促进向一个或多个第一软件应用传输一个或多个引导测量到。
根据一个实施例,上述电路还包括用于促进向一个或多个第一软件应用传输一个或多个引导测量的一个或多个驱动器。
根据一个实施例,安全元件被适配为密码地标记一个或多个数据值并且向请求的元件提供密码地标记的数据值。
根据一个实施例,安全元件包括存储第三软件应用的存储器,该第三软件应用由第二处理设备可执行用于密码地标记一个或多个数据值。
根据一个实施例,上述电路被适配为基于所述一个或多个数据值来授权或者拒绝一个或多个事务。
根据另一方面,提供了一种包括上述电路的智能电话。
根据另一方面,提供了验证引导序列的完整性的方法,包括:由第一处理设备实现引导序列;基于与引导序列有关的引导值来在第一处理设备的一个或多个第一平台配置寄存器中存储一个或多个数据值;从一个或多个第一平台配置寄存器向具有第二处理设备的安全元件的一个或多个第二平台配置寄存器传送一个或多个数据值,第一平台配置寄存器和第二平台配置寄存器经由通信接口耦合在一起。
根据一个实施例,上述方法还包括:由第一软件应用请求一个或多个数据值;由安全元件密码地标记一个或多个数据值;以及由安全元件向第一软件应用提供一个或多个密码标记的数据值。
附图说明
根据参考附图通过图示而非限制的方式给出的对实施例的以下详细描述,上述和其他特征以及优点将变得很清楚,在附图中:
图1示意性地图示根据示例实施例的由TPM提供的服务;
图2示意性地图示根据示例实施例的计算设备的印刷电路板;
图3示意性地图示根据本公开内容的示例实施例的用于提供TPM服务的计算设备的一部分;以及
图4是示意性地图示根据本公开内容的示例实施例的验证引导序列的完整性的方法中的操作的流程图。
具体实施方式
图1示意性地表示实现由可信平台模块(TPM)提供的平台完整性验证的过程的TPM系统100,该TPM在本示例中由专用密码设备来实现。
BIOS(基本输入输出系统)引导块(BIOS BOOT BLOCK)102包括例如非易失性存储器,诸如ROM,并且提供用于完整性验证的信任的根源。如由BIOS引导块102与TPM 120之间的箭头所表示的,可以向TPM 120传输对应于BIOS引导块102的一个或多个引导测量。
图1中的节点104、108、110和112表示在引导序列期间加载到易失性存储器(诸如RAM(随机存取存储器))的软件。BIOS引导块102例如引起BIOS 104被加载到易失性存储器中。如由BIOS 104与TPM 120之间的箭头所表示的,可以通过BIOS引导块102向TPM 120传输与BIOS引导块102的加载相关联的一个或多个引导测量。另外,响应于BIOS 104的加载,还可以引导平台中所包括的一个或多个辅助硬件部件(硬件),诸如图形卡、管理平台连接性的控制器或者密码协处理器。还可以测量运行在这些部件上的微代码并且向TPM传输这些微代码。
然后例如从非易失性存储器向易失性存储器加载操作系统加载程序(OS加载程序)108,并且可以再次向TPM 120传输一个或多个引导测量。
然后例如从非易失性存储器向易失性存储器加载操作系统(OS)110,并且可以再次向TPM 120传输一个或多个引导测量。
然后例如从非易失性存储器加载一个或多个软件应用(APPLICATION)112,并且可以再次向TPM 120传输一个或多个引导测量。
TPM 120包括一个或多个平台配置寄存器(PCR)的组114,并且在引导序列期间生成的引导测量被存储在这一寄存器组中。通常,在重置之后,PCR组114存储空值,并且例如可以通过使用用于扩展PCR组的内容的“扩展”指令来将引导测量仅被存储在PCR组114中。在引导序列的结尾处,一个或多个PCR 114例如每个包含所引导的软件的链接的测量的摘要。在一个示例中,向特定PCR传输的每个测量使用公式PCR_NEW=H(PCR_OLD+M)来更新PCR值,其中PCR_NEW是已更新PCR值,PCR_OLD是先前的PCR值,M是测量,H()是摘要函数。因此,在引导过程的结尾处的最终PCR值是向TPM传输的所有测量的摘要。可以仅通过向PCR传输相同顺序的相同的特定测量来实现这一最终PCR值。
TPM 120包括例如允许能够对PCR组114中所存储的测量进行密码地标记的密码功能。如由箭头116所表示的,可以向一个或多个请求方(诸如操作系统110和/或应用112中的一个应用)提供密码地标记的测量,以便验证引导序列的完整性。
图2示意性地图示可以在其中提供TPM(可信平台模块)服务的印刷电路板(PCB)200。
PCB 200包括片上系统(SoC)202,SoC 202包括处理设备(PROCESSING DEVICE)203。如下面更详细地描述的,处理设备203包括例如允许处理和存储敏感数据的可信执行环境。本文中,术语“敏感数据”用于指明应当保持对未授权方不可访问的任何数据。
SoC 202例如耦合到总线204,SoC 202的处理设备203可以经由总线204来与其他可选硬件块通信。在图2的示例中,PCB 200还包括耦合到总线204的片外SoC处理设备(OFF-SoC PROCESS DEVICE)206,其例如是密码协处理器。设备206例如被适配为执行SoC不支持的功能,诸如密码功能。与SoC 202的处理设备203相同,处理设备206可以包括允许处理和存储敏感数据的可信执行环境。然而,如根据下文中的描述将变得清楚的,由于处理设备203和安全元件208和/或210的新的功能,可以有利地省略设备206。
PCB 200还包括例如每个耦合到总线204的嵌入式安全元件(SES)208和/或可移除安全元件(REMOVABLE SE)210。如本领域技术人员所已知的,嵌入式或者可移除安全元件提供用于认证电路的用户和/或用于执行诸如签名生成等其他操作的功能。
实时时钟(RTC)212也耦合到总线204并且可以向平台服务提供时间信息。
PCB 200还包括例如耦合到总线204的易失性存储器214(诸如RAM(随机访问存储器))和/或非易失性存储器216(诸如闪速存储器216)。PCB 200还可以包括耦合到SoC 202和总线204的一个或多个输入/输出接口(I/O INTERFACE)218,其例如包括视频驱动器、键盘、触摸屏等。PCB 200还可以包括耦合到SoC 202和总线204的功率控制电路(PC)220,其控制SoC 202和/或PCB 200上的一个或多个其他设备的掉电和通电。
如下面更详细地描述的,没有专用PTM设备,在处理设备203与安全元件208和210中的一个或两个之间共享图1的系统100中所提供的TPM服务。
图3示意性地图示计算设备的一部分300,在该计算设备中,通过电子设备的主处理设备302和安全元件304来实现TPM的功能。特别地,图3的实现例如至少允许验证引导序列的完整性。主处理设备302例如是实现设备的引导序列的处理设备,诸如图2中的SoC 202的处理设备203。安全元件304可以是嵌入式安全元件(如图2的元件208)或者可移除安全元件(如图2的元件210)。
处理设备302包括组306中的一个或多个平台配置寄存器,其例如被保持在处理设备302的可信执行环境(TEE)内。如本领域技术人员所已知的,TEE包括用于将某些数据和操作与设备的其他部分隔离以便提供避免软件攻击的安全性的硬件和软件。
下面更详细地讨论的处理设备302的TPM功能例如由TPM软件堆栈(TPM SOFTWARESTACK)307控制,TPM软件堆栈307还向运行在平台上的应用提供TPM服务。
PCR组306例如被适配为接收在处理设备302的引导序列期间生成的引导测量。这些测量例如对应于在平台引导期间做出的代码测量。引导测量例如涉及BIOS、操作系统和/或一个或多个应用的加载。在一些实施例中,还可以生成与一个或多个硬件驱动器的加载有关的引导测量,从而向这样的硬件的操作添加安全性。例如,引导测量可以涉及显示器驱动器、键盘驱动器和/或调制解调器驱动器的加载,以便向数据的显示添加安全性、保护由用户输入的数据和/或保护事务数据。
安全元件304包括一个或多个另外的PCR组308。使用物理或者逻辑保护认证的连接310链接处理设备302和安全元件304,并且特别地将PCR组306耦合到PCR组308,以允许向PCR组308传送来自PCR组306的数据。在一些实施例中,每次扩展PCR组306时都执行传送,以使得PCB组308不断保持最新。替选地,一旦PCR组306已经接收到由处理设备302做出的所有测量,就例如仅在平台引导过程的结尾处对PCR组308进行一次同步。事实上,在一些情况下,安全元件304在引导过程期间可以不如处理设备302一样快地可访问。
安全元件304包括例如图3中所表示的各种功能块,这些功能块例如用由安全元件的处理设备(图3中未图示)执行的软件来实现。特别地,安全元件包括向应用(小应用程序)提供服务的虚拟机(VM)312。在图3的示例中,安全元件的软件架构包括例如虚拟机312,以便使得独立的应用提供者能够加载小应用程序,虚拟化提供小应用程序之间的防火墙并且避免小应用程序之间的冲突。安全元件304还包括TPM库(TPM LIBRARY)314,TPM库314被虚拟机调用并且包括用于控制TPM数据并且向虚拟机312提供TPM服务的代码。TPM数据包括对PCR组308的内容和/或其他相关数据进行密码地标记的密钥。
安全元件304的小应用程序支持安全元件304与可以请求对由处理设备302实现的引导序列的完整性进行验证的一个或多个其他元件之间的通信。例如,安全元件304包括支持ISO 7816通信协议的Java卡(JC)小应用程序316,以实现经由ISO 7816驱动器(IOS7816DRIVER)318与TPM软件堆栈(TPM SOFTWARE STACK)320的通信,TPM软件堆栈320可以与软件堆栈307相同。可以通过驱动器来对由TPM软件堆栈向TPM发送的标准TPM命令进行加绕,并且通过Java卡小应用程序316来对其解绕。一旦解绕命令,则Java卡小应用程序316可以通过TPM库314的虚拟机服务来处理TPM命令。
如由驱动器318与TPM库314之间的箭头直接所表示的,TPM库314可以另外地或者替选地经由驱动器318、而不使用虚拟机层(小应用程序316)来向软件堆栈320提供TPM服务。
另外,除了或者代替驱动器318,可以在TPM库314与TPM软件堆栈320之间设置非ISO 7816驱动器(NON-ISO7816DRIVER)319。本示例中在TPM库314与驱动器319之间没有使用任何小应用程序。硬件配置例如在TPM库314与驱动器318和/或驱动器319之间使用SPI(串行外围接口)总线或者SWP(单线协议)总线,总线或者多条总线例如与处理设备302共享。
另外地或者替选地,安全元件304可以存储Java卡小应用程序(APPLET)322,该Java卡小应用程序(APPLET)322使用非标准TPM命令来允许与应用324的通信。例如,由PCR组308的数据提供的完整性验证可以用于大量应用,例如,作为认证过程的一部分。在一个实施例中,由安全元件304生成用于认证金融事务(诸如量、货币和/或目的地账户)的数字签名。这样的签名例如另外包括PCR组308的数据,并且这一数据在授权事务之前被验证。
现在参考图4的流程图来更详细地描述图3的电路的操作。
在图4的第一操作402中,开始处理设备的引导序列。这例如在图3的计算设备的一部分300的掉电周期之后,并且引导序列例如在通电时自动启动。
在随后的操作404中,在引导序列期间生成一个或多个引导测量。
在一些实施例中,PCR被存储在TEE中,TEE在引导序列的开始处不是立刻可访问的。在这样的情况下,如操作406中所示,在已经加载TEE之前,可以暂时由处理设备302来存储这些引导测量,和/或如从下面讨论的操作406到操作412的虚线箭头所表示的,可以直接向安全元件304传输一些测量,以将其存储在PCR组308中。
在随后的操作408中,例如在IEE中向处理设备302的PCR组306传输引导测量。引导测量被存储在PCR中作为基于引导测量而计算出的PCR值。如由块410所表示的,在引导序列期间,可以生成一个或多个另外的引导测量,并且可以在操作408中向PCR 306添加所生成的一个或多个另外的引导测量。
此外,每次在向PCR 306周期性地传输新的引导测量时,或者在所有测量都被得到的引导序列的结尾处,向安全元件304的PCR组308复制引导测量。如以上所描述的,然后可以对引导测量密码地标记并且在引导序列的完整性验证期间进行使用。
虽然图4中未图示,然而引导序列的完整性验证例如包括将一个或多个引导测量与参考值进行比较。如果引导测量与参考值相匹配,则例如认为引导序列有效。
有利地,在本文中所描述的实施例中,使用执行引导序列的处理设备和安全元件二者的PCR来实现TPM的功能,并且经由两个PCR组之间的安全连接来传送引导测量。通过这一方式,处理设备的PCR可以在引导序列期间非常快地可使用,并且安全元件的PCR可以提供与请求对引导测量的访问的其他元件的非常安全的接口。
因此已经描述了至少一个说明性实施例,本领域技术人员将很容易想到各种备选、修改和改进。
例如,本领域技术人员将很清楚,虽然已经描述了在其中处理设备的PCR被存储在TEE中以提供附加安全的实施例,然而这样的特征是可选的。
另外,本领域技术人员将很清楚,可以在备选实施例中以任意组合的方式来组合关于各种实施例所描述的各种特征。

Claims (20)

1.一种电路,包括:
第一处理设备,其包括一个或多个基于硬件的第一平台配置寄存器,所述一个或多个基于硬件的第一平台配置寄存器被配置为存储与由所述第一处理设备实现的引导序列相关联的引导测量数据值;以及
安全元件,所述安全元件包括第二处理设备和一个或多个基于硬件的第二平台配置寄存器;以及
认证的通信接口,其将所述一个或多个基于硬件的第一平台配置寄存器和所述一个或多个基于硬件的第二平台配置寄存器耦合在一起,所述认证的通信接口是物理固定的通信接口,在每个引导测量数据值被生成时,所述认证的通信接口被适配为在所述一个或多个基于硬件的第一平台配置寄存器与所述一个或多个基于硬件的第二平台配置寄存器之间复制所述引导测量数据值,其中所述第一处理设备和所述安全元件二者被包含在单个计算设备中,其中所述复制将所述引导测量数据值保持在所述一个或多个基于硬件的第一平台配置寄存器和所述一个或多个基于硬件的第二平台配置寄存器中,其中所述安全元件被适配为生成用于认证金融事务的数字签名,所述数字签名通过对被复制到所述一个或多个基于硬件的第二平台配置寄存器的所述引导测量数据值进行加密签名而被生成,并且用于验证由所述第一处理设备实现的所述引导序列的完整性。
2.根据权利要求1所述的电路,其中所述安全元件被适配为实现用于认证所述电路的用户的至少一个加密功能。
3.根据权利要求1所述的电路,其中所述一个或多个第一平台配置寄存器被布置在所述第一处理设备的可信执行环境中。
4.根据权利要求1所述的电路,还包括:
存储器,其用于存储第一软件应用,所述第一软件应用被适配为基于所述引导测量数据值来验证所述引导序列的所述完整性。
5.根据权利要求4所述的电路,其中所述安全元件包括:
存储器,其用于存储第二软件应用,所述第二软件应用被适配为促进所述引导测量数据值到所述第一软件应用的传输。
6.根据权利要求4所述的电路,还包括:
一个或多个驱动器,其用于促进所述引导测量数据值到所述第一软件应用的传输。
7.根据权利要求1所述的电路,其中所述安全元件被适配为对所述引导测量数据值中的至少一个引导测量数据值进行加密签名并且用于向请求元件提供所述引导测量数据值中经加密签名的所述至少一个引导测量数据值。
8.根据权利要求7所述的电路,其中所述安全元件包括:
存储器,其用于存储第三软件应用,所述第三软件应用由所述第二处理设备可执行,所述第三软件应用被适配为对所述引导测量数据值中的所述至少一个引导测量数据值进行加密签名。
9.根据权利要求1所述的电路,其中所述第一处理设备或者所述安全元件被适配为基于所述引导测量数据值中的至少一个引导测量数据值来授权或者拒绝事务。
10.根据权利要求1所述的电路,其中所述电路被布置在智能电话内。
11.一种用于验证引导序列的完整性的方法,包括:
由第一处理设备实现引导序列;
在所述第一处理设备的第一组基于硬件的平台配置寄存器内存储表示在所述引导序列期间生成的引导测量的至少一个数据值;
在每个引导测量的生成时,通过经由认证的物理固定的通信接口从所述第一组基于硬件的平台配置寄存器向安全元件的第二组基于硬件的平台配置寄存器传送所述至少一个数据值,来在所述第一组基于硬件的平台配置寄存器和所述安全元件的所述第二组基于硬件的平台配置寄存器二者中保持所述至少一个数据值,所述通信接口将所述第一组基于硬件的平台配置寄存器和所述第二组基于硬件的平台配置寄存器耦合在一起,所述安全元件具有第二处理设备,其中所述第一处理设备和所述安全元件二者被包含在单个计算设备中;以及
生成用于认证金融事务的数字签名,所述数字签名通过对被传送到所述第二组基于硬件的平台配置寄存器的所述至少一个数据值进行加密签名而被生成,并用于验证由所述第一处理设备实现的所述引导序列的完整性。
12.根据权利要求11所述的方法,还包括:
由第一软件应用请求所述至少一个数据值;
由所述安全元件对所述至少一个数据值进行加密签名;以及
由所述安全元件向所述第一软件应用提供经加密签名的所述至少一个数据值。
13.根据权利要求12所述的方法,还包括:
由所述第一软件应用基于所述至少一个数据值来验证所述引导序列的完整性。
14.根据权利要求12所述的方法,还包括:
经由第二软件应用向所述第一软件应用传递经加密签名的所述至少一个数据值。
15.根据权利要求11所述的方法,还包括:
暂时存储所述至少一个数据值;
加载可信执行环境,所述第一组平台配置寄存器与所述可信执行环境相关联;
将暂时存储的所述至少一个数据值复制到所述第一组平台配置寄存器中。
16.根据权利要求11所述的方法,其中所述引导序列包括引导智能电话。
17.根据权利要求11所述的方法,还包括:
顺序地生成表示在所述引导序列期间生成的附加引导测量的附加数据值。
18.一种系统,包括:
第一组基于硬件的平台配置寄存器;
第二组基于硬件的平台配置寄存器;
认证的通信接口,其将所述第一组基于硬件的平台配置寄存器和所述第二组基于硬件的平台配置寄存器耦合在一起,所述认证的通信接口是物理固定的通信接口;
安全元件,其与所述第二组基于硬件的平台配置寄存器相关联,所述安全元件被配置为对被存储在所述第二组基于硬件的平台配置寄存器中的数据执行加密操作;以及
第一处理设备,其与所述第一组基于硬件的平台配置寄存器相关联并且通信地耦合到所述安全元件,所述第一处理设备被配置为存储与所述第一组基于硬件的平台配置寄存器中的引导序列相关联的引导测量数据值,其中所述引导测量数据值被链接以形成表示所述引导序列的测量的摘要,其中所述第一处理设备和所述安全元件二者被包含在单个计算设备中,其中所述系统被配置为在每个引导测量数据值被生成时传送所述引导测量数据值以在所述第一组基于硬件的平台配置寄存器和所述第二组基于硬件的平台配置寄存器二者中保持所述引导测量数据值,其中所述安全元件被适配为生成用于认证金融事务的数字签名,所述数字签名通过对被传送到所述第二组基于硬件的平台配置寄存器的所述引导测量数据值进行加密签名而被生成,并且用于验证由所述第一处理设备实现的所述引导序列的完整性。
19.根据权利要求18所述的系统,其中所述系统包括智能电话的部件。
20.根据权利要求18所述的系统,其中所述第一处理设备还被配置为向所述安全元件传递所述引导测量数据值中的至少一些引导测量数据值以用于存储在所述第二组平台配置寄存器中。
CN201910120428.2A 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法 Active CN110084043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910120428.2A CN110084043B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR1457855A FR3024915B1 (fr) 2014-08-18 2014-08-18 Dispositif et procede pour assurer des services de module de plateforme securisee
FR1457855 2014-08-18
CN201510509303.0A CN105373731B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法
CN201910120428.2A CN110084043B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201510509303.0A Division CN105373731B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法

Publications (2)

Publication Number Publication Date
CN110084043A true CN110084043A (zh) 2019-08-02
CN110084043B CN110084043B (zh) 2023-04-14

Family

ID=52016736

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201910120428.2A Active CN110084043B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法
CN201520624984.0U Withdrawn - After Issue CN204990315U (zh) 2014-08-18 2015-08-18 电路和智能电话
CN201510509303.0A Active CN105373731B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201520624984.0U Withdrawn - After Issue CN204990315U (zh) 2014-08-18 2015-08-18 电路和智能电话
CN201510509303.0A Active CN105373731B (zh) 2014-08-18 2015-08-18 用于提供可信平台模块服务的设备和方法

Country Status (4)

Country Link
US (1) US10275599B2 (zh)
EP (1) EP2988243B1 (zh)
CN (3) CN110084043B (zh)
FR (1) FR3024915B1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7990724B2 (en) 2006-12-19 2011-08-02 Juhasz Paul R Mobile motherboard
FR3024915B1 (fr) * 2014-08-18 2016-09-09 Proton World Int Nv Dispositif et procede pour assurer des services de module de plateforme securisee
US9858231B2 (en) * 2015-06-22 2018-01-02 Google Llc Operating system card for multiple devices
FR3043229B1 (fr) * 2015-11-03 2018-03-30 Proton World International N.V. Demarrage securise d'un circuit electronique
FR3043228B1 (fr) * 2015-11-03 2018-03-30 Proton World International N.V. Demarrage controle d'un circuit electronique
DE102015016637B4 (de) * 2015-12-21 2022-02-24 Giesecke+Devrient Mobile Security Gmbh Micro-Controller Unit MCU mit selektiv konfigurierbaren Komponenten
US10541816B2 (en) 2016-06-01 2020-01-21 International Business Machines Corporation Controlling execution of software by combining secure boot and trusted boot features
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
DE102018009365A1 (de) * 2018-11-29 2020-06-04 Giesecke+Devrient Mobile Security Gmbh Sicheres Element als aktualisierbares Trusted Platform Module
FR3091600B1 (fr) * 2019-01-08 2021-01-08 St Microelectronics Rousset Elément sécurisé à fonctions personnalisables et procédé de gestion correspondant
EP3872664B1 (en) 2020-02-28 2023-08-02 Unify Patente GmbH & Co. KG Main board with integrated trusted platform module for a computer device and method for producing a main board with integrated trusted platform module
FR3111441B1 (fr) 2020-06-10 2022-08-05 Proton World Int Nv Démarrage sécurisé d'un circuit électronique
KR102387685B1 (ko) * 2020-11-03 2022-05-30 유비벨록스(주) 보안 부트 검증 방법 및 이를 위한 보안 칩
FR3119471B1 (fr) * 2021-02-02 2023-03-24 Proton World Int Nv Démarrage d'une application
US20240134966A1 (en) * 2021-03-31 2024-04-25 Telefonaktiebolaget Lm Ericsson ( Publ ) Methods and Means for Attestation of a Platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060230439A1 (en) * 2005-03-30 2006-10-12 Smith Ned M Trusted platform module apparatus, systems, and methods
US20080046581A1 (en) * 2006-08-18 2008-02-21 Fujitsu Limited Method and System for Implementing a Mobile Trusted Platform Module
US8608057B1 (en) * 2002-12-26 2013-12-17 Diebold Self-Service Systems, Division Of Diebold, Incorporated Banking machine that operates responsive to data bearing records
CN103748594A (zh) * 2011-07-29 2014-04-23 微软公司 针对arm*trustzonetm实现的基于固件的可信平台模块

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US20060112267A1 (en) * 2004-11-23 2006-05-25 Zimmer Vincent J Trusted platform storage controller
US7836299B2 (en) * 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
US7900059B2 (en) * 2005-12-13 2011-03-01 International Business Machines Corporation Sealing of data for applications
US20080046752A1 (en) * 2006-08-09 2008-02-21 Stefan Berger Method, system, and program product for remotely attesting to a state of a computer system
US8510859B2 (en) * 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US8433924B2 (en) * 2006-12-18 2013-04-30 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for authentication of a core root of trust measurement chain
GB2454869A (en) * 2007-11-13 2009-05-27 Vodafone Plc Telecommunications device security
US9015454B2 (en) * 2008-05-02 2015-04-21 Hewlett-Packard Development Company, L.P. Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys
US20110138475A1 (en) * 2008-07-30 2011-06-09 Telefonaktiebolaget L M Ericsson (Publ) Systems and method for providing trusted system functionalities in a cluster based system
US8161285B2 (en) * 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
CN102282564B (zh) * 2009-02-18 2014-10-15 松下电器产业株式会社 信息处理设备和信息处理方法
US8245053B2 (en) * 2009-03-10 2012-08-14 Dell Products, Inc. Methods and systems for binding a removable trusted platform module to an information handling system
GB201000288D0 (en) * 2010-01-11 2010-02-24 Scentrics Information Security System and method of enforcing a computer policy
EP2537115B1 (en) * 2010-02-16 2015-05-13 Nokia Technologies OY Method and apparatus to reset platform configuration register in mobile trusted module
JP2013519929A (ja) * 2010-02-16 2013-05-30 パナソニック株式会社 情報処理装置、情報処理システム、ソフトウェアルーチン実行方法およびリモート認証方法
EP2543215A2 (en) * 2010-03-05 2013-01-09 InterDigital Patent Holdings, Inc. Method and apparatus for providing security to devices
US8959363B2 (en) * 2010-06-03 2015-02-17 Intel Corporation Systems, methods, and apparatus to virtualize TPM accesses
US20120011354A1 (en) 2010-07-02 2012-01-12 Encryptakey, Inc. Boot loading of secure operating system from external device
US8832452B2 (en) * 2010-12-22 2014-09-09 Intel Corporation System and method for implementing a trusted dynamic launch and trusted platform module (TPM) using secure enclaves
EP2710509A4 (en) * 2011-05-18 2015-02-25 Nokia Corp SECURE PRIMER WITH TRUSTED COMPUTER GROUP PLATFORM REGISTERS
CN103827824B (zh) * 2011-09-30 2017-09-05 英特尔公司 虚拟机和嵌套虚拟机管理器的验证发起
CN103299311B (zh) * 2011-12-29 2015-04-29 英特尔公司 用于可信引导优化的方法和设备
US8782387B2 (en) * 2011-12-31 2014-07-15 International Business Machines Corporation Secure boot of a data breakout appliance with multiple subsystems at the edge of a mobile data network
US8793504B2 (en) * 2012-02-22 2014-07-29 International Business Machines Corporation Validating a system with multiple subsystems using trusted platform modules and virtual platform modules
GB2513826A (en) * 2012-06-29 2014-11-12 Ibm Trusted boot of a virtual machine
CN104782155A (zh) * 2012-11-08 2015-07-15 诺基亚技术有限公司 移动tpm中部分虚拟的pcr组
US9294282B1 (en) * 2013-07-01 2016-03-22 Amazon Technologies, Inc. Cryptographically verified repeatable virtualized computing
US9122893B1 (en) * 2014-02-24 2015-09-01 International Business Machines Corporation Trusted platform module switching
FR3024915B1 (fr) 2014-08-18 2016-09-09 Proton World Int Nv Dispositif et procede pour assurer des services de module de plateforme securisee

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8608057B1 (en) * 2002-12-26 2013-12-17 Diebold Self-Service Systems, Division Of Diebold, Incorporated Banking machine that operates responsive to data bearing records
US20060230439A1 (en) * 2005-03-30 2006-10-12 Smith Ned M Trusted platform module apparatus, systems, and methods
US20080046581A1 (en) * 2006-08-18 2008-02-21 Fujitsu Limited Method and System for Implementing a Mobile Trusted Platform Module
CN103748594A (zh) * 2011-07-29 2014-04-23 微软公司 针对arm*trustzonetm实现的基于固件的可信平台模块

Also Published As

Publication number Publication date
FR3024915B1 (fr) 2016-09-09
EP2988243A1 (fr) 2016-02-24
US20160050071A1 (en) 2016-02-18
CN110084043B (zh) 2023-04-14
EP2988243B1 (fr) 2016-10-05
CN204990315U (zh) 2016-01-20
CN105373731A (zh) 2016-03-02
FR3024915A1 (zh) 2016-02-19
US10275599B2 (en) 2019-04-30
CN105373731B (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN105373731B (zh) 用于提供可信平台模块服务的设备和方法
US9288155B2 (en) Computer system and virtual computer management method
CN103748594B (zh) 针对arm*trustzonetm实现的基于固件的可信平台模块
TWI674533B (zh) 授權將於目標計算裝置上執行之操作的設備
TWI662432B (zh) 行動通信裝置及其操作方法
TWI648649B (zh) 行動通信裝置及其操作方法
US8151262B2 (en) System and method for reporting the trusted state of a virtual machine
EP2278514B1 (en) System and method for providing secure virtual machines
CN103051451B (zh) 安全托管执行环境的加密认证
CN100470565C (zh) 安全许可证管理
US20110246778A1 (en) Providing security mechanisms for virtual machine images
US20190114431A1 (en) Method and apparatus for launching a device
CN105164633B (zh) 由可信提供商进行的配置和验证
CN102063591B (zh) 基于可信平台的平台配置寄存器参考值的更新方法
EP2397959B1 (en) System and method for N-ary locality in a security co-processor
US20200026882A1 (en) Methods and systems for activating measurement based on a trusted card
WO2015060858A1 (en) Methods and apparatus for protecting software from unauthorized copying
JP2023512428A (ja) ハードウェアエンクレーブを使用して商用オフザシェルフプログラムバイナリを盗用から保護すること
WO2018086469A1 (zh) 芯片中非易失性存储空间的数据存储方法和可信芯片
US20090086980A1 (en) Enabling a secure oem platform feature in a computing environment
US20110040961A1 (en) Binding data to a computing platform through use of a cryptographic module
CN109086578A (zh) 一种软件授权使用的方法、设备及存储介质
CN106650506A (zh) 电子电路的受控启动
CN104871174A (zh) 用于“自带”管理的引导机制
CN106030602B (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