CN103748594A - 针对arm*trustzonetm实现的基于固件的可信平台模块 - Google Patents

针对arm*trustzonetm实现的基于固件的可信平台模块 Download PDF

Info

Publication number
CN103748594A
CN103748594A CN201280037929.0A CN201280037929A CN103748594A CN 103748594 A CN103748594 A CN 103748594A CN 201280037929 A CN201280037929 A CN 201280037929A CN 103748594 A CN103748594 A CN 103748594A
Authority
CN
China
Prior art keywords
module
ftpm
tpm
computing equipment
environment
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
CN201280037929.0A
Other languages
English (en)
Other versions
CN103748594B (zh
Inventor
S·汤姆
J·考克斯
D·林斯利
M·尼斯特伦
H·拉杰
D·鲁宾逊
S·沙罗尤
R·斯皮格
A·沃尔曼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103748594A publication Critical patent/CN103748594A/zh
Application granted granted Critical
Publication of CN103748594B publication Critical patent/CN103748594B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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
    • 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

“基于固件的TPM”或“fTPM”确保安全代码执行被隔离,以防止各种各样的潜在安全违背。与基于常规硬件的可信平台模块(TPM)不同,实现隔离而无需使用专用安全处理器硬件或硅。一般而言,fTPM首先在预OS引导环境中通过从系统固件或固件可访问的存储器或存储中读取fTPM并且将fTPM置于设备的受保护的只读存储器中来实例化。一旦被实例化,fTPM就启用执行隔离以确保安全代码执行。更具体地,fTPM被置于受保护的只读存储器,以使该设备能够使用诸如
Figure DDA0000463522680000011
体系结构的TrustZoneTM扩展之类的硬件和安全原语(或类似处理器体系结构)以及由此基于这些体系结构的设备,从而在“基于固件的TPM”内提供安全执行隔离,而无需对现有设备进行硬件修改。

Description

针对ARM*TRUSTZONETM实现的基于固件的可信平台模块
背景
技术领域:
“基于固件的TPM”(即“fTPM”)提供了用于使用诸如体系结构的TrustZoneTM扩展等硬件和安全原语来在“基于固件的TPM”内提供用于可信平台模块(TPM)的可被实现在使用现有的基于
Figure BDA0000463522660000013
的处理器架构或类似硬件的设备内的安全执行隔离的各种技术。
背景技术:
如本领域技术人员已知的,常规的可信平台模块(TPM)是提供安全的密码处理器的硬件设备或“芯片”。更具体而言,除了硬件伪随机数字生成器之外,典型的TPM芯片通常提供安全生成密钥并限制其使用的设施。它还包括诸如“远程证明”和密封存储之类的能力。远程证明旨在创建特定硬件和软件配置的实际上不可伪造的散列密钥概述。概述的范围由测量该硬件和软件配置中所涉及的组件来决定。这允许第三方来验证该软件和硬件配置符合某种既定策略。“绑定”使用TPM背书密钥、在其生产期间被烧录到TPM芯片中的唯一RSA密钥、或从其中传下来的另一可信密钥来加密数据。与绑定类似,“密封”加密数据,但还指定TPM芯片必须处于的状态以便数据被解密或“被解封”。
TPM芯片还被用于认证硬件设备。由于每一TPM芯片具有在被生产时烧录到其中的唯一且秘密的RSA密钥,因此TPM芯片能够执行平台认证。例如,TPM芯片可被用于验证寻求访问的系统是预期或授权的系统。显然,通过使用分立TPM芯片结合对应的安全软件,将安全下推至系统硬件级比仅软件解决方案提供更多保护。然而,即使当TPM芯片被使用时,密钥一旦被TPM芯片暴露给应用就仍然是易受攻击的,如在常规冷引导攻击的情况中所示出的。
许多用于为计算系统实现TPM的常规解决方案涉及将分立的硬件TMP芯片集成到这些计算系统的主板或系统板中。不幸的是,这样的解决方案面临若干挑战。例如,TPM芯片集成到典型主板设计导致每系统约$1至$2数量级的材料清单(BOM)成本增长。然而,考虑全世界制造的极大量计算设备,即使这样相对低的每设备成本也可增加非常大的总额。通常与常规TPM芯片相关联的另一挑战是分立TPM通常不针对能量效率而被优化,并且可影响低功率系统(例如,便携式计算设备、PDA、平板设备、上网本、移动电话等)的功率预算。此外,由于BOM约束,分立TPM芯片通常使用相对慢(且由此低成本)的处理器来实现,这些相对慢的处理器负面地影响或可能阻止某些使用场景。
因此,因为TPM通常被认为是可任选的系统组件,所以使独立的TPM包括在系统中的附加货币和功率成本常常导致在制造过程期间排除这样的设备。因此TPM不普遍,这使得软件或操作系统开发者难以将大量资源投入广泛的TPM使用场景中。影响广泛的TPM使用场景的另一问题是许多常规的分立TPM与某些形状因子(例如,电话、PDA、平板设备等)不兼容。实际上,诸如移动电话和平板型计算机之类的许多常规设备一般不使用分立TPM,并且在某些情况中可能不具有适当的互连(例如,LPC总线)来支持分立TPM与驱动诸如电话或平板设备之类的设备的片上系统(SoC)一起使用。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,虽然此处可以注意到或讨论现有技术的某些缺点,所要求保护的主题并非旨在限于可解决那些现有技术的任何或全部确定的实现。
信任是对人或物的完整性的信赖。对于设备用户,对设备的信任通过确保只有符合既定策略的代码才能在该设备上执行来建立。为传递强完整性保护并且对恶意感染和修改进行防范,使用了硬件和软件的组合。诸如
Figure BDA0000463522660000021
Figure BDA0000463522660000022
之类的操作系统(OS)先前使用了可信平台模块(TPM)作为硬件组件来向各个系统传递这一平台完整性。不幸的是,由于多个原因TPM的广泛使用遇到了阻力,这些原因包括,例如,将分立TPM组件添加到主板的附加材料清单(BOM)成本、重新设计特定设备以提供适当的接口来把TPM连接或添加到这些设备的成本和时间等等。
一般而言,如本文描述的“基于固件的TPM”或“fTPM”解决与以下相关联的成本:在诸如片上系统(SoC)平台或类似平台之类的硬件中包括TPM,以实现基本上零成本“固件TPM”,由此降低系统的BOM成本,降低设备的总体功耗,并且在广泛的基于
Figure BDA0000463522660000032
的设备上允许各种各样的TPM使用场景。与常规技术形成对比,fTPM提供至整合到处理器(诸如
Figure BDA0000463522660000033
处理器)的安全扩展功能的软件接口,而在由fTPM在其中启用可信计算环境的计算设备中无需使用硬件TPM模块。
换言之,与常规技术形成对比,fTPM启用计算设备中可与硬件TPM所提供的相比的可信执行环境,而不使用硬件TPM。此外,实现fTPM的软件可被上传、闪存或以其他方式存储或写入许多现有计算设备的固件或受保护的非易失性存储器,以便“升级”这些设备来允许使用TPM功能,同样无需对这些设备的任何硬件修改。
更具体地,任何TPM实现确保它对系统中运行的所有其他软件保留其代码及数据完整性和机密性,以防止各种各样的潜在安全性违背。隔离可以用专用安全处理器(以添加硅为成本)或使用硬件体系结构所提供的提升的执行特权级别来实现。本文描述的基于固件的TPM首先在预OS引导环境中通过从系统固件或固件可访问的存储器或存储中读取fTPM并且将fTPM连同简单的“监视程序”一起置于设备的受保护的存储器中来实例化。
注意,术语“受保护的存储器”、“受保护的存储”以及本文使用的类似术语被特别定义成诸如普通世界(Normal World)之类的不可信组件不能读取或修改的存储。普通操作既不能读取也不能写入受保护的存储内包含的数据和功能两者。例如,OS在普通世界中操作而不能读取或写入受保护的存储,但包括fTPM的“安全世界(Secure World)”能够。设置该受保护的存储器的一种方式是硬件(例如,存储器或eMMC存储控制器)划分出仅供安全世界使用的存储区域(例如,信任区(TrustZone)保护的存储器或重放保护的存储器块)。由于OS在“普通世界”中而不在“安全世界”中运行,因此OS不能访问任何被标记成安全的存储器,除非OS使用特定的受保护机制(例如,如本文详细描述的被中继到fTPM的安全监视调用(SMC)指令)。
注意,本文描述的“监视程序”被具体定义成使得来自“普通世界”的通信能够被在“安全世界”中操作的fTPM接收、同时保持“安全世界”与“普通世界”隔离的接口。还要注意,诸如基于
Figure BDA0000463522660000041
的体系结构之类的体系结构和TrustZoneTM扩展的“安全世界”和“普通世界”操作模式是本领域技术人员所公知的,且在这里将不再讨论。TrustZoneTM扩展是有用的,因为这些扩展提供了跨多个平台的公共安全基础结构。然而,应当理解,本文描述的fTPM可用于任何基于TPM的安全体系结构。这样的替换安全体系结构(即,替换信任执行环境)的示例包括但不限于基于TI OMAP的体系结构、基于M-Shield的体系结构、x86系统管理模式(SMM)等等。
一旦被实例化,基于固件的TPM则使用现有的基于
Figure BDA0000463522660000042
的体系结构以及TrustZoneTM扩展,经由基于固件的“虚拟专用安全处理器”来允许执行隔离,以确保代码及数据完整性和机密性以及使密码操作(和存储)与“普通世界”的访问隔离。换言之,本文描述的fTPM从系统固件(或其他源)中被读取且置于受保护的存储器中,并且使用
Figure BDA0000463522660000043
体系结构的TrustZoneTM扩展和安全原语来在“基于固件的TPM”内提供能在现有的基于
Figure BDA0000463522660000044
的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离,而无需对现有设备的硬件修改。
因此,基于固件的TPM的一个优点在于它使用现有TrustZoneTM扩展来实现TPM需要的执行隔离,而实际上无需TPM芯片或其他硬件。作为对比,各种常规系统或是使用了分立TPM、或是向SoC添加了专用安全处理器。不幸的是,这两个方式都招致系统的附加成本。然而,TrustZoneTM是一大组高端
Figure BDA0000463522660000047
SoC线路图上几乎无处不在的特征,但仍然在很大程度上未使用。当被利用时,TrustZoneTM主要已用于安全支付、移动银行业务、DRM等适当的垂直解决方案。因此,基于固件的TPM使用TrustZoneTM来在现有设备的固件中实现TPM为现有设备增加了重要价值,而无需对此类设备的硬件修改。由此,TPM在多个SoC平台上的普遍存在由本文描述的基于固件的TPM来启用。
鉴于以上概述,显然本文描述的基于固件的TPM提供了用于使用硬件(诸如
Figure BDA0000463522660000046
体系结构的TrustZone扩展)和安全原语来在“基于固件的TPM”内提供能在现有的基于
Figure BDA0000463522660000051
的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离的各种技术。除了上述益处之外,从结合附图所考虑的以下详细描述中将清楚基于固件的TPM的其他优点。
附图简述
参考以下描述、所附权利要求书以及附图,将更好地理解所要求保护的主题的具体特征、方面和优点,附图中:
图1示出如本文描述的用于将“基于固件的TPM”实例化到一般计算设备的受保护的存储器中的概括体系结构和操作流程图。
图2示出如本文描述的用于在预OS引导环境中使用“基于固件的TPM”的概括体系结构和操作流程图。
图3示出如本文描述的用于在系统引导之后的OS环境中使用“基于固件的TPM”的概括体系结构和操作流程图。
图4提供示出如本文描述的“基于固件的TPM”的典型同步操作的示例的流程图。
图5提供示出如本文描述的“基于固件的TPM”的典型异步操作的示例的流程图。
图6是描绘具有用于实现本文描述的基于固件的TPM的各实施方式的简化计算和I/O能力的简化通用计算设备的概括系统图。
具体实施方式
在对所要求保护的主题的各实施例的以下描述中,对附图进行了参考,附图构成了实施例的一部分且在其中作为说明示出了可在其中实践所要求保护的主题的各具体实施例。应当理解,可以利用其他实施例,并且可以作出结构上的改变而不背离所要求保护的主题的范围。
1.0介绍:
一般而言,与常规硬件TPM一样,如本文描述的“基于固件的TPM”或“fTPM”确保它对系统中运行的所有其他软件保留其代码及数据完整性和机密性,以防止各种各样的潜在安全违背并且允许各种各样的安全应用(例如,密码应用、安全随机数生成、盘/文件加密、口令认证等)。隔离可以用专用安全处理器(以添加硅为成本)或使用硬件体系结构所提供的提升的执行特权级别来实现。有利的是,本文描述的基于固件的TPM不需要常规硬件TPM的物理硬件来启用与硬件TPM相同的安全代码执行。
换言之,与常规技术形成对比,fTPM提供至整合到处理器(诸如
Figure BDA0000463522660000061
处理器)的安全扩展功能的基于软件的接口来在计算设备中启用与硬件TPM所提供的相当的可信执行环境(也被称为可信计算环境),而不使用硬件TPM。此外,实现fTPM的软件可被上传、闪存或以其他方式存储或写入许多现有计算设备的固件或受保护的非易失性存储器,以便“升级”这些设备来允许使用TPM功能,同样无需对这些设备的任何硬件修改。
注意,术语“受保护的存储器”、“受保护的存储”以及此处使用的类似术语被特别定义成诸如普通世界(Normal World)之类的不可信组件不能读取或修改的存储。普通操作既不能读取也不能写入受保护的存储内包含的数据和功能两者。例如,OS在普通世界中操作而不能读取或写入受保护的存储,但包括fTPM的“安全世界(Secure World)”能够。设置该受保护的存储器的一种方式是硬件(例如,存储器或eMMC存储控制器)划分出仅供安全世界使用的存储区域(例如,信任区(TrustZone)保护的存储器或重放保护的存储器块)。由于OS在“普通世界”中而不在“安全世界”中运行,因此OS不能访问任何被标记成安全的存储器,除非OS使用特定的受保护机制(例如,如本文详细描述的被中继到fTPM的安全监视调用(SMC)指令)。
例如,在各个实施例中,实现fTPM的软件可简单地被包括在典型的BIOS或固件更新中,以便在重新引导时立即向这样的设备提供TPM能力。注意,用于为计算设备更新系统固件和/或BIOS的各种过程和技术是本领域技术人员所公知的,且将不在此详细描述。因此,出于解释目的,以下讨论将假定已经向在其上要使用fTPM的计算设备的固件提供了实现fTPM的软件。
具体而言,fTPM首先在预操作系统(OS)引导环境中通过从系统固件或固件可访问的存储器或存储中读取fTPM并且将fTPM置于设备的受保护的存储器中来实例化。注意,在各个实施例中,在允许fTPM代码置于受保护的存储器之前,预OS引导环境(或固件)自动验证fTPM代码的完整性(例如,通过确认fTPM代码的“签名”)以确保该代码未被篡改。还注意,尽管也可以在OS引导之后将fTPM下载或实例化到受保护的存储器,但通过在预OS引导环境中实例化fTPM更容易确保总体系统安全。此外,尽管可以将fTPM下载或实例化到不受保护的存储器,但在这样的情况下一般无法保证安全。注意,在系统引导之前、期间或之后将数据(在本文描述的该示例中例如fTPM)写入受保护的存储器的各种过程对于本领域技术人员是已知的,且将不在此描述。
一旦被实例化,基于固件的TPM则使用现有硬件(诸如基于
Figure BDA0000463522660000074
的体系结构和TrustZoneTM扩展)(或类似技术),经由基于固件的“虚拟专用安全处理器”来允许执行隔离以确保代码执行的安全。换言之,本文描述的基于固件的TPM被置于受保护的存储器,该受保护的存储器允许
Figure BDA0000463522660000073
体系结构的TrustZoneTM扩展和安全原语(或类似技术)来在“基于固件的TPM”内提供能在现有的基于
Figure BDA0000463522660000072
的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离。注意,TrustZoneTM扩展是有用的,因为这些扩展提供了跨多个平台的公共安全基础结构。还应注意,出于解释目的,fTPM将在使用
Figure BDA0000463522660000071
体系结构的TrustZoneTM扩展和安全原语的一个实现的上下文中被一般地描述。然而,应当理解,本文描述的fTPM可用于各种各样的基于TPM的安全体系结构。
有利的是,该安全执行隔离由fTPM来提供,而无需对现有设备的硬件修改且无需物理硬件TPM。因此,fTPM在各种各样的设备内实现起来既更容易且较不昂贵,而实际上无需TPM芯片或其他硬件。另外,fTPM与所有TPM标准完全兼容。由此,fTPM可用在通常需要硬件TPM的任何实现中。此外,从使用fTPM的软件或硬件的角度来看,fTPM与基于硬件的TPM不可区分。
此外,重要的是注意到,由于fTPM仅仅在实例化期间被写入受保护的存储器,因此fTPM的多个副本或版本可被写入受保护的存储器的单独区域,由此允许多处理器或多CPU系统以及其他单独的异构或非对称处理器体系结构中每一单独处理器、各协作处理器、各CPU具有单独TPM能力。注意,SoC的以及其他新系统体系结构添加了具有与相同核的传统集合不同的能力的其他核并且fTPM可用于这些设备和硬件。类似地,在单个系统内运行的各虚拟环境(例如,各虚拟机)的情况下,这种能力允许向每一虚拟环境提供单独且隔离的TPM能力。注意,如本领域技术人员熟知的,虚拟机(VM)是像物理机一样执行程序的机器(即,计算机)的软件实现。基于虚拟机的使用以及与任何真实机器的对应程度,虚拟机一般分成两个主要类别。具体而言,系统虚拟机提供了完整系统平台,该系统平台支持完整操作系统(OS)的执行,而进程虚拟机被设计成运行单个程序,这意味着它支持单个进程。
注意,出于解释目的,以下讨论将通常聚焦于单个处理器系统内的单个fTPM实例。然而,鉴于前面的讨论,应当清楚,多个fTPM实例可以在多处理器或多核系统的其他异构或非对称处理器体系结构内、以及在运行一个或多个虚拟环境的系统(诸如虚拟机(VM))内实现。还注意,以下讨论涉及TrustZoneTM“安全世界”和“普通世界”操作模式。这些操作模式是本领域技术人员所公知的,且不在此详细讨论。
1.1系统概览:
如上所述,“基于固件的TPM”或“fTPM”提供用于使用
Figure BDA0000463522660000082
体系结构的TrustZoneTM扩展和安全原语来在基于固件的TPM内提供能在现有的基于
Figure BDA0000463522660000081
的体系结构(或类似技术)且由此在基于这些体系结构的设备内实现的安全执行隔离而无需对现有设备进行硬件修改的各种技术。注意,以下讨论中术语“设备”一般将指代一般计算设备,包括但不限于个人计算机、服务器计算机、手持式计算设备、膝上型或移动计算机、诸如蜂窝电话和PDA等通信设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、音频或视频媒体播放器等,在这些设备内fTPM被实例化以向该设备提供TPM能力。
以上概述的过程由图1的总系统图示出。具体而言,图1的系统图示出了如本文描述的用于在设备内实现fTPM的各实施例的程序模块之间的相互关系。此外,尽管图1的系统图示出fTPM的各实施例的高级视图,但该图不旨在提供贯穿本文全文描述的fTPM的每一可能实施例的穷尽或全面图示。
一般而言,如图1所示,基于固件的TPM所实现的过程通过使用fTPM实例化模块100从在其上要实现fTPM的设备的系统固件110、或固件可访问的存储器或存储中读取fTPM数据/代码(即,fTPM的可执行软件实施例)来开始操作。fTPM实例化模块100随后将fTPM加载或置于系统存储器140的受保护的存储器位置,以允许fTPM在设备内的实例化。还注意,在各个实施例中,在允许fTPM代码置于受保护的存储器之前,fTPM实例化模块100还自动验证fTPM代码的完整性(例如,通过确认fTPM代码的“签名”),以确保该代码未被篡改。fTPM实例化模块100还将“监视程序”(即,监视模块130)实例化到受保护的系统存储器140,以允许与fTPM进行通信。注意,文本描述的“监视程序”被具体定义成使得来自“普通世界”的通信能够被在“安全世界”中操作的fTPM接收、同时保持“安全世界”与“普通世界”分离的接口。
一般而言,监视模块130处理“普通世界”中调用者(即,调用模块150)发出的命令和响应,并且保存和还原该“世界”被切换到/切换自的状态。更具体地,监视(即,监视模块130)截取来自调用模块150的命令或请求(即,所请求的“操作”)。监视模块130随后将那些命令或请求传至fTPM模块120,fTPM模块120进而在其安全世界环境中执行该操作。fTPM模块120随后将来自经执行的操作的响应写入共享存储器并返回给监视模块130,监视模块130随后将该系统还原回到普通世界环境中的调用者(即,调用模块150)。最后,调用模块150(或其他应用)从共享存储器中检索fTPM响应。
换言之,一般而言,调用模块150存在于“普通世界”中并且经由“安全世界”中的监视模块130与fTPM模块120通信,以便响应于由计算设备的OS(或预OS引导环境)上运行的各个应用经由调用模块150所请求的任务或操作来为一般计算设备执行基于TPM的任务或操作。
2.0基于固件的TPM的操作细节:
上述程序模块用于实现基于固件的TPM的各实施例。如上概括所述,基于固件的TPM提供用于使用硬件(诸如
Figure BDA0000463522660000092
体系结构的TrustZoneTM扩展)和安全原语来在“基于固件的TPM”内提供能在现有的基于
Figure BDA0000463522660000091
的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离而无需对现有设备进行硬件修改的各种技术。
以下各节提供了对基于固件的TPM的各实施例的操作以及用于实现在第1节中参考图1描述的程序模块的示例性方法的更详细讨论。具体而言,以下各章节提供基于固件的TPM的各实施例的示例和操作细节,包括:fTPM的体系结构概览;使用fTPM的系统初始化;取决于操作上下文的“调用者”;同步操作,异步操作;以及在一般计算设备内实现启用
Figure BDA0000463522660000106
TrustZoneTM的fTPM。
2.1fTPM的体系结构概览:
如上所说,本文描述的根据基于固件的TPM的过程提供了用于使用硬件(诸如
Figure BDA0000463522660000105
体系结构的TrustZoneTM扩展)和安全原语来在“基于固件的TPM”(这里也被称为“fTPM”)内提供TPM所需的、能在现有的基于
Figure BDA0000463522660000104
的体系结构且由此在基于这些体系结构的设备内实现的执行隔离的各种技术。
更具体地,fTPM通过利用任何基于
Figure BDA0000463522660000103
的SoC平台上可用的
Figure BDA0000463522660000102
体系结构TrustZoneTM扩展来在现有硬件内提供固件TPM。如本领域技术人员熟知的,TrustZoneTM提供了与在普通执行环境(被称为普通世界)中运行的系统(诸如,操作系统(OS)以及UEFI预引导环境)中的其他组件强隔离的安全执行环境(被称为“安全世界”)。注意,UEFI(统一可扩展固件接口)是定义操作系统与平台固件之间的软件接口的已知规范。每一启用TrustZoneTM的fTPM实例包括提供硬件隔离机制的最小可信计算基础(TCB)、以及将特定fTPM实例从固件引导至受保护的系统存储器(参见上面对图1的讨论)的安全引导加载器,从而提供与常规基于硬件的TPM相当的受保护的环境,但没有常规基于硬件的TPM所需的其他硬件的增加的成本或复杂性。
2.2使用fTPM的系统初始化:
一般而言,如上面参考图1所讨论的,在系统初始化期间,在处理器切换成普通世界操作模式之前,平台的fTPM实现从系统固件(例如,BIOS或其他系统固件)被安装到设备的受保护的存储器,以及简单监视程序被安装到TrustZoneTM安全世界。如上面参考图1所讨论的,该简单监视程序(即,监视模块130)执行两个任务:
1)处理普通世界中调用者发出的命令/响应。注意,如下面更详细地讨论的,在大多数场景中,调用者或是引导固件或是操作系统驱动程序。
2)保存并且还原该世界被切换至/自的状态。
一般而言,普通世界中运行的调用者与安全世界中运行的fTPM实例之间的通信接口是基于同步或异步共享存储器的接口。调用者使用安全监视调用(SMC)指令进入监视程序,并且同步和异步I/O在各个实施例中都受支持。注意,SMC指令是与
Figure BDA0000463522660000114
TrustZoneTM技术相关联的公知指令类型,并且因此将不在此详细描述SMC指令。
2.3取决于操作上下文的“调用者”:
如图2和图3中所示,取决于当前操作上下文是预OS引导环境还是OS环境,基于固件的TPM使用不同的“调用者”。注意,如上面讨论的,以下讨论假定fTPM已经被加载或实例化到设备的受保护的存储器中。
例如,如图2所示,在一个测试实施例中,在UEFI预OS引导环境内,调用者200是UEFI fTPM驱动程序。然而,应当理解,使用UEFI fTPM驱动程序不是fTPM的要求,且使用UEFI fTPM驱动程仅仅是一种用于发起与安全世界中的fTPM模块120进行预OS通信的方法。因此,假定使用了UEFI fTPM驱动程序,则调用者200的UEFI fTPM驱动程序将可信执行环境(TrEE)UEFI协议展示给预引导应用,诸如
Figure BDA0000463522660000113
引导管理器和其他
Figure BDA0000463522660000112
OS加载器。注意,TrEE UEFI协议是本领域技术人员所公知的,且将不在此进行赘述。还注意,本文描述的fTPM不限于与
Figure BDA0000463522660000111
型操作系统一起使用,且其他操作系统(例如,LINUX、UNIX、iOS、OS X、Chrome、Android等)也能与本文描述fTPM的一起操作。
一般而言,如图2所示,在预OS引导环境中,调用模块200(例如,UEFI)被用于与加载到受保护的系统存储器的fTPM模块120进行通信,以便向该设备提供各种基于TPM的能力。调用模块200(存在于不受保护的“普通世界”环境中)与fTPM模块120(存在于受保护的“安全世界”环境)之间的通信使用安全监视调用(SMC)指令250来执行,该安全监视调用指令250使用监视模块130来截取并传递fTPM模块120与调用模块200之间的通信。如上所述,在初始化期间,fTPM模块120和监视模块130从系统固件或其他固件可访问的存储器或存储被安装到受系统保护的存储器中。
更具体地,在各个实施例中,在预OS引导环境中,当使用基于UEFI的实现时,调用模块200包括一个或多个预引导应用210以及与fTPM驱动模块230通信的接口模块220。在图2所示的示例性实施例中,接口模块220使用常规TrEE EFI接口来实现,该TrEE EFI接口用于启用预引导应用和fTPM驱动模块230之间的通信。此外,在图2所示的示例性实施例中,fTPM驱动模块230使用EFI接口来实现,该EFI接口进一步包括如上讨论的经由SMC指令250来启用调用模块200与监视模块130之间的同步或异步通信的TrustZoneTM通信模块240。另外,应当注意,预OS引导环境中活动的fTPM可以通过把信息写入共享存储器(它在系统引导之后在OS环境中被存取)来将该信息传送到OS环境。
作为对比,如图3所示,在OS环境内,调用模块300包括新定义的“可信执行环境”(TrEE)接口模块320,在各个实施例中TrEE接口模块320可任选地使用高级配置和电源接口(ACPI)来实现。假定基于
Figure BDA0000463522660000122
的OS,TrEE接口模块320为所有内核服务提供对fTPM的访问,包括
Figure BDA0000463522660000121
OS的公知“TPM.sys”设备驱动程序310,其被设计成允许应用访问硬件TPM的TPM功能。调用模块300与监视模块130之间的通信由TrustZoneTM通信模块330经由SMC指令250来启用。
2.4同步操作:
如图4所示,在典型的同步操作场景中,按所示顺序执行以下步骤:
1)调用者将命令写入共享存储器(400)。
2)调用者执行SMC指令以进入监视程序(410)。
3)监视程序将命令传至安全世界中的fTPM实例(415)。
4)fTPM在安全世界中执行操作(420)。注意,在处理器具有两个或更多核或子处理器的情况下,那些核或子处理器中的一个或多个可以具体地专用于TPM操作,同时使其他核可用于其他操作或任务。
5)fTPM将响应写入共享存储器并且返回给监视程序(425)。
6)监视程序将系统还原回到普通世界中的调用者(430)。
7)调用者(或其他应用)检索来自共享存储器的fTPM响应(435)。
2.5异步操作:
如图5所示,在典型的异步操作场景中,按所示顺序执行以下步骤:
1)调用者将命令写入共享存储器(500)。
2)调用者执行SMC指令以进入监视程序(510)。
3)监视程序将命令传至安全世界中的fTPM实例(520)。
4)fTPM开始在安全世界中执行操作但在完成之前返回到监视程序,并且监视程序返回到调用者。这是避免调用者在长期运行的密码操作中缺乏CPU时间所需要的。
5)检查操作是否完成(540),如果否,则调用者在步骤2-4中循环,以便向fTPM实例提供用于在安全世界内执行的CPU周期,直到所请求的操作完成。注意,在处理器具有两个或更多核或子处理器的情况下,那些核或子处理器中的一个或多个可以具体地专用于TPM操作,同时使其他核可用于其他操作或任务。
6)fTPM将响应写入共享存储器并且返回给监视程序(550)。
7)监视程序将系统还原回到普通世界中的调用者(560)。
8)调用者(或其他应用)检索来自共享存储器的fTPM响应(570)。
2.6实现启用TrustZoneTM的fTPM:
实现启用
Figure BDA0000463522660000137
TrustZoneTM的fTPM使用处理器内的硬件原语,这些硬件原语包括但不限于:
1)密码算法(AES、RSA、SHA x等)的硬件加速;
2)基于硬件的随机数生成(RNG);以及
3)访问用于存储秘密的非易失性存储(优选地被隔离)。
有利的是,许多常规
Figure BDA0000463522660000136
SoC和类似的处理器已经具有作为硬件原语所包括的这些特征。因此,本文描述的基于固件的TPM使常规
Figure BDA0000463522660000135
SoC或其他启用安全的处理器能够被配置有fTPM,使得在OS被初始化之后,OS能访问全功能TPM,而基本上对设备没有附加BOM成本。这使得硬件(诸如
Figure BDA0000463522660000134
SoC平台)能够执行各种任务,包括但不限于:
1)本机支持
Figure BDA0000463522660000133
特征,诸如
Figure BDA0000463522660000132
、虚拟智能卡、测量的引导等;
2)在基于
Figure BDA0000463522660000131
的设备中递送更佳的功率效率对照分立的TPM解决方案;
3)降低总体系统BOM成本和设备设计复杂性,因为硬件TPM的集成不再必要;以及
4)有了相对于使用常规分立TPM的设备而言改进的效率,允许功率敏感设备中各种各样的新TPM使用场景。
3.0示例性操作环境:
本文所描述的fTPM可在多种类型的通用或专用计算系统环境或配置内操作。图6示出其上可实现此处描述的fTPM的各实施方式和元素的通用计算机系统的简化示例。应当注意,图6中由折线或虚线所表示的任何框表示简化计算设备的替换实施方式,并且以下描述的这些替换实施方式中的任一个或全部可以结合贯穿本文所描述的其他替换实施方式来使用。
例如,图6示出了总系统图,其示出简化计算设备600。这样的计算设备通常可以在具有至少一些最小计算能力的设备中找到,这些设备包括但不限于个人计算机、服务器计算机、手持式计算设备、膝上型或移动计算机、诸如蜂窝电话和PDA等通信设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、音频或视频媒体播放器等。
为允许设备实现fTPM,设备应具有足够的计算能力和系统存储器620来启用基本计算操作连同系统固件625(或fTPM从中被实例化到受保护的系统存储器620的其他固件能访问的存储器或存储)。具体而言,如图6所示,计算能力一般由一个或多个处理单元610示出,并且还可包括一个或多个GPU615,这两者中的任一个或全部与系统存储器620通信。注意,通用计算设备600的处理单元610可以是专用微处理器,如DSP、VLIW、或其他微控制器、或可以是具有一个或多个处理核的常规CPU,包括多核CPU中的专用的基于GPU核。
另外,图6的简化计算设备还可包括其他组件,诸如例如通信接口630。图6的简化计算设备还可包括一个或多个常规计算机输入设备640(例如,定点设备、键盘、音频输入设备、视频输入设备、触觉输入设备、用于接收有线或无线数据传输的设备等)。图6的简化计算设备还可包括其他光学组件,诸如例如一个或多个常规计算机输出设备650(例如,显示设备655、音频输出设备、视频输出设备、用于传送有线或无线数据传输的设备等)。注意,通用计算机的典型的通信接口630、输入设备640、输出设备650、以及存储设备660对本领域技术人员而言是公知的,并且在此不会详细描述。
图6的简化计算设备还可包括各种计算机可读介质。计算机可读介质可以是可由计算设备600经由存储设备660访问的任何可用介质,并且包括是可移动670和/或不可移动680的易失性和非易失性介质,该介质用于存储诸如计算机可读或计算机可执行指令、数据结构、应用程序、程序模块或其他数据等信息。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括但不限于:计算机或机器可读介质或存储设备,诸如DVD、CD、软盘、磁带驱动器、硬盘驱动器、光盘驱动器、固态存储器设备、RAM、ROM、EEPROM、闪存或其他存储器技术、磁带盒、磁带、磁盘存储或其他磁存储设备、或可用于存储所需信息并且可由一个或多个计算设备访问的任何其他设备。
诸如计算机可读或计算机可执行指令、数据结构、应用程序、程序模块等信息的存储还可通过使用各种上述通信介质中的任一种来编码一个或多个已调制数据信号或载波或其他传输机制或通信协议来实现,并且包括任何有线或无线信息传递机制。注意,术语“已调制数据信号”或“载波”一般指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。例如,通信介质包括诸如有线网络或直接线连接等携带一个或多个已调制数据信号的有线介质,以及诸如声学、RF、红外线、激光和其他无线介质等用于传送和/或接收一个或多个已调制数据信号或载波的无线介质。上述通信介质的任一组合也应包括在通信介质的范围之内。
此外,可以按计算机可执行指令或其他数据结构的形式存储、接收、传送或者从计算机或机器可读介质或存储设备和通信介质的任何所需组合中读取具体化此处所描述的fTPM的各种实施方式中的部分或全部的应用程序、软件、程序和/或计算机程序产品或其各部分。
最终,本文所描述的fTPM还可在由计算设备执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文描述的各实施例还可以在其中任务由通过一个或多个通信网络链接的一个或多个远程处理设备执行或者在该一个或多个设备的云中执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括媒体存储设备在内的本地和远程计算机存储介质中。此外,上述指令可以部分地或整体地作为可以包括或不包括处理器的硬件逻辑电路来实现。
以上对基于固件的TPM的描述是出于说明和描述的目的而提出的。这并不旨在穷举所要求保护的主题或将其限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。此外,应当注意,可以按所需的任何组合使用上述替代实施例的任一个或全部以形成基于固件的TPM的另外的混合实施例。本发明的范围并不旨在由该“具体实施方式”来限定,而是由所附权利要求书来限定。

Claims (10)

1.一种用于在各计算设备中启用可信执行环境(TrEE)而无需硬件可信平台模块(TPM)组件的方法,包括用于以下操作步骤:
从计算设备的固件组件中检索“fTPM”模块,所述fTPM提供至整合到所述计算设备中的一个或多个处理器的安全扩展功能的基于软件的接口;
从所述计算设备的固件组件中检索基于软件的“监视”模块;
在所述计算设备上引导OS之前,将所述fTPM模块和所述监视模块实例化到所述计算设备的受保护的存储器内的“安全世界”环境;以及
通过允许“普通世界”环境中的“调用者”经由对监视模块的“安全监视调用”访问所述一个或多个处理器的安全功能来启用所述计算设备上的TrEE,所述监视模块随后将与所述“安全监视调用”有关的指令传至“安全世界”中的fTPM。
2.如权利要求1所述的方法,其特征在于,所述fTPM模块能由所述计算设备上运行的一个或多个虚拟机访问。
3.如权利要求1所述的方法,其特征在于,所述计算设备中的一个或多个处理器是
Figure FDA0000463522650000011
处理器,并且整合到所述
Figure FDA0000463522650000012
处理器的安全扩展功能包括TrustZoneTM扩展和安全原语。
4.如权利要求1所述的方法,其特征在于,在OS引导之前,所述调用者包括用于将所述TrEE展示给一个或多个预引导应用由此允许那些应用使用所述TrEE来执行任务的预引导应用模块。
5.如权利要求1所述的方法,其特征在于,在OS引导之后,所述调用者(300)包括用于将所述TrEE展示给OS上运行的一个或多个应用由此允许那些应用使用所述TrEE来执行任务的TPM驱动模块。
6.如权利要求1所述的方法,其特征在于,所述计算设备的固件组件通过用包括所述fTPM模块的软件更新所述固件来接收所述fTPM模块。
7.一种用于计算设备上实现可信计算环境而无需硬件可信平台模块(TPM)组件的系统,包括:
其中存储有“fTPM”模块的计算设备的非易失性存储器组件,所述fTPM模块提供至整合到所述计算设备中的一个或多个处理器的安全扩展功能的基于软件的接口;
其中,所述非易失性存储器组件还包括基于软件的“监视”模块;
用于从所述非易失性存储器组件中读取所述fTPM模块和所述监视模块、并且将所述fTPM模块和所述监视模块实例化到所述计算设备的受保护的存储器内的“安全世界”环境的设备;以及
通过允许“普通世界”环境中的“调用者”经由对所述监视模块的“安全监视调用”访问所述一个或多个处理器的安全功能来启用所述计算设备上的可信计算环境,所述监视模块随后将与所述“安全监视调用”有关的指令传至“安全世界”中的fTPM模块。
8.如权利要求7所述的系统,其特征在于,在OS引导之前,所述调用者包括用于将所述可信计算环境展示给一个或多个预引导应用由此允许那些应用使用所述可信计算环境来执行任务的预引导应用模块。
9.如权利要求7所述的系统,其特征在于,在OS引导之后,调用模块包括用于将所述可信计算环境展示给OS上运行的一个或多个应用由此允许那些应用使用所述可信计算环境来执行任务的TPM驱动模块。
10.一种其中存储有计算机可执行指令的计算机可读介质,所述计算机可执行指令用于使用计算设备来实现可信操作环境而无需硬件可信平台模块(TPM)组件,所述指令包括:
用于提供至整合到计算设备中的一个或多个处理器的安全扩展功能的基于软件的接口的“fTPM”模块,以及基于软件的“监视”模块;
将所述fTPM模块和所述监视模块加载到所述计算设备的非易失性存储器组件中;
从所述非易失性存储器中检索所述fTPM模块和所述监视模块;
将所述fTPM模块和所述监视模块实例化到所述计算设备的受保护的存储器内的“安全世界”环境;以及
通过允许“普通世界”环境中的“调用者”经由对所述监视模块的“安全监视调用”访问所述一个或多个处理器的安全功能来启用所述计算设备上的可信计算环境,所述监视模块随后将与所述“安全监视调用”有关的指令传至“安全世界”中的fTPM模块。
CN201280037929.0A 2011-07-29 2012-07-11 针对arm*trustzonetm实现的基于固件的可信平台模块 Active CN103748594B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/193,945 2011-07-29
US13/193,945 US8375221B1 (en) 2011-07-29 2011-07-29 Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
PCT/US2012/046243 WO2013019369A1 (en) 2011-07-29 2012-07-11 Firmware-based trusted platform module for arm® trustzone™ implementations

Publications (2)

Publication Number Publication Date
CN103748594A true CN103748594A (zh) 2014-04-23
CN103748594B CN103748594B (zh) 2016-06-22

Family

ID=47598262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280037929.0A Active CN103748594B (zh) 2011-07-29 2012-07-11 针对arm*trustzonetm实现的基于固件的可信平台模块

Country Status (6)

Country Link
US (3) US8375221B1 (zh)
EP (1) EP2737429A4 (zh)
JP (1) JP6053786B2 (zh)
KR (2) KR102102090B1 (zh)
CN (1) CN103748594B (zh)
WO (1) WO2013019369A1 (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955263A (zh) * 2014-05-16 2014-07-30 华为技术有限公司 Arm的电源管理方法及处理器
CN104378381A (zh) * 2014-11-27 2015-02-25 上海斐讯数据通信技术有限公司 智能终端企业邮件安全办公方法及系统
CN104408371A (zh) * 2014-10-14 2015-03-11 中国科学院信息工程研究所 一种基于可信执行环境高安全应用系统的实现方法
CN105205401A (zh) * 2015-09-30 2015-12-30 中国人民解放军信息工程大学 基于安全密码芯片的可信计算机系统及其可信引导方法
CN106452753A (zh) * 2016-10-26 2017-02-22 泰山医学院 云计算环境下终端可信平台构建方法
CN106445702A (zh) * 2016-09-21 2017-02-22 乐视控股(北京)有限公司 多系统通信方法及终端
CN106506166A (zh) * 2016-10-26 2017-03-15 泰山医学院 云计算环境下终端可信平台系统
CN106815494A (zh) * 2016-12-28 2017-06-09 中软信息系统工程有限公司 一种基于cpu时空隔离机制实现应用程序安全认证的方法
CN107111511A (zh) * 2016-03-25 2017-08-29 深圳前海达闼云端智能科技有限公司 访问控制的方法、装置和系统
CN107111717A (zh) * 2015-01-21 2017-08-29 微软技术许可有限责任公司 升级虚拟机上的安全引导策略
CN107169375A (zh) * 2017-05-16 2017-09-15 成都鼎智汇科技有限公司 系统数据安全增强方法
CN107168747A (zh) * 2017-05-27 2017-09-15 努比亚技术有限公司 移动终端配置的区分方法、装置及计算机可读存储介质
CN107567629A (zh) * 2015-03-19 2018-01-09 英特尔公司 在可信执行环境容器中的动态固件模块加载器
CN107679393A (zh) * 2017-09-12 2018-02-09 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN110084043A (zh) * 2014-08-18 2019-08-02 质子世界国际公司 用于提供可信平台模块服务的设备和方法
CN110737902A (zh) * 2019-10-10 2020-01-31 北京智芯微电子科技有限公司 嵌入式终端及其可信安全模块的固件设计方法
CN111898115A (zh) * 2020-07-16 2020-11-06 四川爱联科技股份有限公司 防止模组固件的参数被篡改的方法及装置
CN112988508A (zh) * 2021-03-04 2021-06-18 浙江中控研究院有限公司 一种基于内存隔离的可信plc嵌入式系统
CN113434879A (zh) * 2015-03-25 2021-09-24 英特尔公司 与所连接的外围设备的安全交易
CN113468535A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 可信度量方法及相关装置
CN114491565A (zh) * 2022-03-31 2022-05-13 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质
CN116702129A (zh) * 2023-06-08 2023-09-05 合芯科技有限公司 一种power架构运行服务代码的安全调用方法及装置
WO2023184920A1 (zh) * 2022-03-31 2023-10-05 苏州浪潮智能科技有限公司 虚拟化实现方法、装置、电子设备、非易失性可读存储介质及arm平台

Families Citing this family (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100324983A1 (en) * 2009-06-22 2010-12-23 Etchegoyen Craig S System and Method for Media Distribution
US8817984B2 (en) 2011-02-03 2014-08-26 mSignia, Inc. Cryptographic security functions based on anticipated changes in dynamic minutiae
US11063920B2 (en) 2011-02-03 2021-07-13 mSignia, Inc. Cryptographic security functions based on anticipated changes in dynamic minutiae
AU2012100460B4 (en) 2012-01-04 2012-11-08 Uniloc Usa, Inc. Method and system implementing zone-restricted behavior of a computing device
US8789047B2 (en) * 2012-01-26 2014-07-22 Empire Technology Development Llc Allowing world switches between virtual machines via hypervisor world switch security setting
AU2012100462B4 (en) 2012-02-06 2012-11-08 Uniloc Usa, Inc. Near field authentication through communication of enclosed content sound waves
KR101897605B1 (ko) * 2012-02-24 2018-09-12 삼성전자 주식회사 휴대 단말기의 무결성 보호 방법 및 장치
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9369867B2 (en) * 2012-06-29 2016-06-14 Intel Corporation Mobile platform software update with secure authentication
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US8954965B2 (en) * 2012-08-03 2015-02-10 Microsoft Corporation Trusted execution environment virtual machine cloning
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
AU2013100355B4 (en) 2013-02-28 2013-10-31 Netauthority, Inc Device-specific content delivery
US9342688B2 (en) 2013-03-07 2016-05-17 Qualcomm Incorporated Apparatus and method for inheriting a non-secure thread context
WO2014164937A1 (en) * 2013-03-12 2014-10-09 Green Hills Software, Inc. Single-chip virtualizing and obfuscating communications system
US9613208B1 (en) * 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9384351B2 (en) * 2013-03-15 2016-07-05 Intel Corporation Method and apparatus for implementing a secure boot using multiple firmware sources
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
KR101759411B1 (ko) * 2013-03-15 2017-07-18 인텔 코포레이션 보안 보조 프로세서 부팅 성능
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9201662B2 (en) * 2013-03-29 2015-12-01 Dell Products, Lp System and method for pre-operating system memory map management to minimize operating system failures
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9208105B2 (en) * 2013-05-30 2015-12-08 Dell Products, Lp System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US9100192B2 (en) * 2013-06-07 2015-08-04 Qualcomm Incorporated Apparatus and method for provisioning an endorsement key certificate for a firmware trusted platform module
US10025674B2 (en) 2013-06-07 2018-07-17 Microsoft Technology Licensing, Llc Framework for running untrusted code
WO2014204363A1 (en) * 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Method and an integrated circuit for executing a trusted application within a trusted runtime environment
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US9167002B2 (en) 2013-08-15 2015-10-20 Microsoft Technology Licensing, Llc Global platform health management
US9633210B2 (en) 2013-09-13 2017-04-25 Microsoft Technology Licensing, Llc Keying infrastructure
US10192054B2 (en) * 2013-09-13 2019-01-29 Intel Corporation Automatic pairing of IO devices with hardware secure elements
US9852299B2 (en) 2013-09-27 2017-12-26 Intel Corporation Protection scheme for remotely-stored data
CN103530578B (zh) * 2013-10-18 2016-01-27 武汉大学 一种android系统的软构可信平台模块STPM的构建方法
US9536063B2 (en) * 2013-10-24 2017-01-03 Intel Corporation Methods and apparatus for protecting software from unauthorized copying
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9405912B2 (en) 2013-11-14 2016-08-02 Microsoft Technology Licensing, Llc Hardware rooted attestation
WO2015076846A1 (en) * 2013-11-25 2015-05-28 Mcafee, Inc. Secure proxy to protect private data
FR3015663B1 (fr) * 2013-12-20 2020-01-24 Ixblue Systeme d'aide a la navigation et procede mis en œuvre dans un tel systeme
US9448950B2 (en) * 2013-12-24 2016-09-20 Intel Corporation Using authenticated manifests to enable external certification of multi-processor platforms
CN103714459A (zh) * 2013-12-26 2014-04-09 电子科技大学 一种智能终端安全支付系统及方法
US9507935B2 (en) 2014-01-16 2016-11-29 Fireeye, Inc. Exploit detection system with threat-aware microvisor
US8756417B1 (en) * 2014-02-04 2014-06-17 Sypris Electronics, Llc Multi-level assurance trusted computing platform
US10389709B2 (en) 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US9792448B2 (en) 2014-02-28 2017-10-17 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
US9686077B2 (en) 2014-03-06 2017-06-20 Microsoft Technology Licensing, Llc Secure hardware for cross-device trusted applications
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
CN104063788B (zh) * 2014-07-16 2017-02-22 武汉大学 一种移动平台可信支付系统及方法
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
WO2016024967A1 (en) * 2014-08-13 2016-02-18 Hewlett Packard Enterprise Development Lp Secure non-volatile random access memory
US10097513B2 (en) 2014-09-14 2018-10-09 Microsoft Technology Licensing, Llc Trusted execution environment extensible computing device interface
KR102297383B1 (ko) 2014-09-25 2021-09-03 삼성전자주식회사 보안 데이터 처리
CN104268477B (zh) * 2014-09-26 2017-09-26 华为技术有限公司 一种安全控制方法及网络设备
US9628279B2 (en) 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Protecting application secrets from operating system attacks
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9584317B2 (en) 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US10303879B1 (en) 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
US9762388B2 (en) * 2014-11-19 2017-09-12 Honeywell International Inc. Symmetric secret key protection
US9742762B2 (en) 2014-12-01 2017-08-22 Microsoft Technology Licensing, Llc Utilizing a trusted platform module (TPM) of a host device
US9525672B2 (en) 2014-12-19 2016-12-20 Amazon Technologies, Inc. Multi-faceted compute instance identity
US9537883B2 (en) * 2014-12-22 2017-01-03 International Business Machines Corporation Process security validation
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9537833B2 (en) 2014-12-31 2017-01-03 Google Inc. Secure host communications
US9760727B2 (en) 2014-12-31 2017-09-12 Google Inc. Secure host interactions
US9547773B2 (en) * 2014-12-31 2017-01-17 Google Inc. Secure event log management
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US10754991B2 (en) * 2015-02-11 2020-08-25 Siemens Aktiengesellschaft Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system
US10193700B2 (en) 2015-02-27 2019-01-29 Samsung Electronics Co., Ltd. Trust-zone-based end-to-end security
KR102291719B1 (ko) 2015-03-18 2021-08-23 삼성전자주식회사 애플리케이션 보호 방법 및 장치
EP3070607B1 (en) 2015-03-20 2020-12-09 Virtual Open Systems Compute node supporting virtual machines and services
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9912681B1 (en) 2015-03-31 2018-03-06 Fireeye, Inc. Injection of content processing delay in an endpoint
US10019576B1 (en) 2015-04-06 2018-07-10 Intelligent Automation, Inc. Security control system for protection of multi-core processors
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US10063375B2 (en) * 2015-04-20 2018-08-28 Microsoft Technology Licensing, Llc Isolation of trusted input/output devices
US10657274B2 (en) 2015-06-29 2020-05-19 Samsng Electronics Co., Ltd. Semiconductor device including memory protector
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
CN104992122A (zh) * 2015-07-20 2015-10-21 武汉大学 一种基于ARM TrustZone的手机私密信息保险箱
CN105138930A (zh) * 2015-08-12 2015-12-09 山东超越数控电子有限公司 一种基于TrustZone的加密系统及方法
US10699274B2 (en) 2015-08-24 2020-06-30 Samsung Electronics Co., Ltd. Apparatus and method for secure electronic payment
US10846696B2 (en) * 2015-08-24 2020-11-24 Samsung Electronics Co., Ltd. Apparatus and method for trusted execution environment based secure payment transactions
US10057260B2 (en) 2015-08-27 2018-08-21 International Business Machines Corporation Electronic device identification
WO2017040974A1 (en) 2015-09-03 2017-03-09 Rhombus Systems Group, Inc. System for employing cellular telephone networks to operate, control and communicate with unmannded aerial vehicles and remote piloted vehicles
US10320786B2 (en) 2015-09-14 2019-06-11 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling the same
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
CN105447406B (zh) * 2015-11-10 2018-10-19 华为技术有限公司 一种用于访问存储空间的方法与装置
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US20170277898A1 (en) * 2016-03-25 2017-09-28 Advanced Micro Devices, Inc. Key management for secure memory address spaces
SG10201602449PA (en) * 2016-03-29 2017-10-30 Huawei Int Pte Ltd System and method for verifying integrity of an electronic device
US11137753B2 (en) 2016-04-18 2021-10-05 Rhombus Systems Group, Inc. System for communications with unmanned aerial vehicles using two frequency bands
CN107346395B (zh) * 2016-05-05 2020-04-28 华为技术有限公司 一种可信平台模块tpm部署方法、装置及系统
US10673878B2 (en) 2016-05-19 2020-06-02 International Business Machines Corporation Computer security apparatus
US10541816B2 (en) 2016-06-01 2020-01-21 International Business Machines Corporation Controlling execution of software by combining secure boot and trusted boot features
EP3255544B1 (en) 2016-06-08 2019-07-31 Virtual Open Systems Interrupt controller
EP3264711B1 (en) 2016-06-28 2018-09-19 Virtual Open Systems Virtual switch for multi-compartment mixed critical network communications
DE102016008902A1 (de) * 2016-07-22 2018-01-25 Giesecke+Devrient Mobile Security Gmbh Chipset mit gesicherter Firmware
CN106127054B (zh) * 2016-08-22 2019-01-29 中国科学院信息工程研究所 一种面向智能设备控制指令的系统级安全防护方法
US20180060077A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated Trusted platform module support on reduced instruction set computing architectures
US10191861B1 (en) 2016-09-06 2019-01-29 Fireeye, Inc. Technique for implementing memory views using a layered virtualization architecture
US10628611B2 (en) 2016-11-04 2020-04-21 Qualcomm Incorporated Exclusive execution environment within a system-on-a-chip computing system
CN106603487B (zh) * 2016-11-04 2020-05-19 中软信息系统工程有限公司 一种基于cpu时空隔离机制对tls协议处理进行安全改进的方法
US10482034B2 (en) * 2016-11-29 2019-11-19 Microsoft Technology Licensing, Llc Remote attestation model for secure memory applications
US10715526B2 (en) 2016-12-14 2020-07-14 Microsoft Technology Licensing, Llc Multiple cores with hierarchy of trust
US10416991B2 (en) * 2016-12-14 2019-09-17 Microsoft Technology Licensing, Llc Secure IoT device update
US10402273B2 (en) 2016-12-14 2019-09-03 Microsoft Technology Licensing, Llc IoT device update failure recovery
KR20180069467A (ko) 2016-12-15 2018-06-25 삼성전자주식회사 전자 장치 및 그 동작 방법
EP3340147A1 (en) 2016-12-22 2018-06-27 Mastercard International Incorporated Method for providing key identifier in transaction data
US10108800B1 (en) 2017-01-10 2018-10-23 Gbs Laboratories, Llc ARM processor-based hardware enforcement of providing separate operating system environments for mobile devices with capability to employ different switching methods
CN108287999A (zh) * 2017-01-10 2018-07-17 厦门雅迅网络股份有限公司 一种基于TrustZone的系统可信启动方法
RU2641226C1 (ru) * 2017-02-13 2018-01-16 Самсунг Электроникс Ко., Лтд. Способ функционирования secureos на многопроцессорных системах в мобильных устройствах
US10740496B2 (en) 2017-02-13 2020-08-11 Samsung Electronics Co., Ltd. Method and apparatus for operating multi-processor system in electronic device
KR102547868B1 (ko) 2017-04-24 2023-06-23 세이아 그룹, 인코포레이티드 지상 서비스에 비행 중 항공기 조종석의 기록 및 실시간 전송 시스템
CN106973067A (zh) * 2017-05-10 2017-07-21 成都麟成科技有限公司 一种平台环境完整性检测方法和装置
CN108959916B (zh) * 2017-05-22 2022-01-14 华为技术有限公司 用于访问安全世界的方法、装置和系统
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
CN111052170A (zh) * 2017-08-30 2020-04-21 华为技术有限公司 用于进行电子交易的电子设备和方法
EP3688948A1 (en) * 2017-09-25 2020-08-05 Telefonaktiebolaget LM Ericsson (PUBL) Provisioning of vendor credentials
CN109714185B (zh) 2017-10-26 2022-03-04 阿里巴巴集团控股有限公司 可信服务器的策略部署方法、装置、系统及计算系统
CN107844362B (zh) * 2017-11-14 2021-10-15 浪潮(北京)电子信息产业有限公司 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质
CN107861795B (zh) * 2017-11-20 2022-04-26 浪潮(北京)电子信息产业有限公司 模拟物理tcm芯片的方法、系统、装置及可读存储介质
KR102434444B1 (ko) 2017-11-29 2022-08-19 한국전자통신연구원 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치
WO2019180675A1 (en) * 2018-03-22 2019-09-26 Trulyprotect Oy Systems and methods for hypervisor-based protection of code
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
US11151262B2 (en) 2018-06-24 2021-10-19 Hex Five Security, Inc. Configuring, enforcing, and monitoring separation of trusted execution environments
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
GB201810662D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
US10853498B2 (en) * 2018-09-19 2020-12-01 Dell Products L.P. Secure boot orchestration device in a virtual desktop infrastructure
CN109684126B (zh) * 2018-12-25 2022-05-03 贵州华芯通半导体技术有限公司 用于arm设备的内存校验方法和执行内存校验的arm设备
US11232209B2 (en) * 2019-01-18 2022-01-25 International Business Machines Corporation Trojan detection in cryptographic hardware adapters
CN111814205B (zh) * 2019-04-12 2023-11-14 阿里巴巴集团控股有限公司 计算处理方法、系统、设备、存储器、处理器及计算机设备
US11645425B2 (en) 2019-07-03 2023-05-09 Beyond Semiconductor, d.o.o. Systems and methods for data-driven secure and safe computing
CN110414235B (zh) * 2019-07-08 2021-05-14 北京可信华泰信息技术有限公司 一种基于ARM TrustZone的主动免疫的双体系结构系统
DE112020003881T8 (de) * 2019-08-16 2022-06-09 Fiduciaedge Technologies Co., Ltd. System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung
CN110677388B (zh) * 2019-09-03 2023-04-18 东南大学 一种基于TrustZone的物联网终端进程完整性度量方法
CN110730159B (zh) * 2019-09-03 2022-01-25 东南大学 一种基于TrustZone的安全和可信混合系统启动方法
US11611549B2 (en) * 2019-10-03 2023-03-21 Fset Inc System and method of securing access to a secure remote server and database on a mobile device
CN111338997B (zh) * 2020-03-05 2021-07-20 苏州浪潮智能科技有限公司 一种arm服务器bios支持tcm通信的方法、装置、设备和介质
US11853793B2 (en) 2020-10-09 2023-12-26 Samsung Electronics Co., Ltd. Methods and system for on-device AI model parameter run-time protection
KR20220052007A (ko) 2020-10-20 2022-04-27 삼성전자주식회사 전자 장치 및 그 제어 방법
US20210141658A1 (en) * 2020-11-11 2021-05-13 Ravi Sahita Method and apparatus for trusted devices using trust domain extensions
CN113343234B (zh) * 2021-06-10 2023-01-20 支付宝(杭州)信息技术有限公司 对代码安全性进行可信检查的方法及装置
CN115509677A (zh) * 2021-06-23 2022-12-23 华为技术有限公司 一种虚拟机与安全隔离区间的通信方法及相关装置
CN113553231B (zh) * 2021-07-01 2023-08-22 江苏电力信息技术有限公司 一种基于安全芯片的嵌入式操作系统运行环境监控方法
US11615190B2 (en) * 2021-07-20 2023-03-28 Dell Products L.P. Secure boot policy for platform security using neutral processors in an information handling system
CN113703924A (zh) * 2021-09-22 2021-11-26 上海交通大学 基于可信执行环境的安全虚拟机系统设计方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010326A1 (en) * 2004-07-08 2006-01-12 International Business Machines Corporation Method for extending the CRTM in a trusted platform
US20070136577A1 (en) * 2005-12-13 2007-06-14 Bade Steven A Sealing of data for applications
CN101271498A (zh) * 2008-03-25 2008-09-24 浙江大学 在linux操作系统通过威胁链表和安全链表实现可信计算的方法
US20090249053A1 (en) * 2008-03-31 2009-10-01 Zimmer Vincent J Method and apparatus for sequential hypervisor invocation
CN101576944A (zh) * 2008-11-20 2009-11-11 武汉大学 基于可信平台模块的计算机安全启动系统
CN101901318A (zh) * 2010-07-23 2010-12-01 北京工业大学 一种可信硬件设备及其使用方法

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
US7380136B2 (en) * 2003-06-25 2008-05-27 Intel Corp. Methods and apparatus for secure collection and display of user interface information in a pre-boot environment
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US7318150B2 (en) * 2004-02-25 2008-01-08 Intel Corporation System and method to support platform firmware as a trusted process
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7653727B2 (en) * 2004-03-24 2010-01-26 Intel Corporation Cooperative embedded agents
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US7360253B2 (en) 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US8028172B2 (en) 2005-01-14 2011-09-27 Microsoft Corporation Systems and methods for updating a secure boot process on a computer with a hardware security module
US7506380B2 (en) 2005-01-14 2009-03-17 Microsoft Corporation Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US7565553B2 (en) 2005-01-14 2009-07-21 Microsoft Corporation Systems and methods for controlling access to data on a computer with a secure boot process
US7836299B2 (en) 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
US8619971B2 (en) 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US7603707B2 (en) * 2005-06-30 2009-10-13 Intel Corporation Tamper-aware virtual TPM
US7908483B2 (en) 2005-06-30 2011-03-15 Intel Corporation Method and apparatus for binding TPM keys to execution entities
JP4950195B2 (ja) * 2006-07-03 2012-06-13 パナソニック株式会社 証明装置、検証装置、検証システム、コンピュータプログラム及び集積回路
US8200952B2 (en) 2006-10-25 2012-06-12 Microsoft Corporation Platform authentication via a transparent second factor
US8082551B2 (en) * 2006-10-30 2011-12-20 Hewlett-Packard Development Company, L.P. System and method for sharing a trusted platform module
US8620818B2 (en) 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US7836309B2 (en) 2007-07-20 2010-11-16 Microsoft Corporation Generic extensible pre-operating system cryptographic infrastructure
US7934096B2 (en) 2007-07-27 2011-04-26 Microsoft Corporation Integrity protected smart card transaction
US8032741B2 (en) 2007-08-22 2011-10-04 Intel Corporation Method and apparatus for virtualization of a multi-context hardware trusted platform module (TPM)
US8249257B2 (en) * 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
US8156298B1 (en) * 2007-10-24 2012-04-10 Adam Stubblefield Virtualization-based security apparatuses, methods, and systems
US7921286B2 (en) 2007-11-14 2011-04-05 Microsoft Corporation Computer initialization for secure kernel
US20090172639A1 (en) * 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
US8122514B2 (en) 2008-07-30 2012-02-21 Microsoft Corporation Software enhanced trusted platform module
US8161285B2 (en) 2008-09-26 2012-04-17 Microsoft Corporation Protocol-Independent remote attestation and sealing
US8127146B2 (en) 2008-09-30 2012-02-28 Microsoft Corporation Transparent trust validation of an unknown platform
US8341430B2 (en) 2008-10-03 2012-12-25 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
US8411863B2 (en) 2008-10-03 2013-04-02 Microsoft Corporation Full volume encryption in a clustered environment
US9230109B2 (en) 2008-10-07 2016-01-05 Microsoft Technology Licensing, Llc Trusted platform module security
US8250379B2 (en) 2009-10-13 2012-08-21 Microsoft Corporation Secure storage of temporary secrets
US8296841B2 (en) 2009-10-27 2012-10-23 Microsoft Corporation Trusted platform module supported one time passwords
US8700893B2 (en) 2009-10-28 2014-04-15 Microsoft Corporation Key certification in one round trip
US8418259B2 (en) 2010-01-05 2013-04-09 Microsoft Corporation TPM-based license activation and validation
US8375437B2 (en) 2010-03-30 2013-02-12 Microsoft Corporation Hardware supported virtualized cryptographic service
US8639923B2 (en) * 2010-05-28 2014-01-28 Dell Products, Lp System and method for component authentication of a secure client hosted virtualization in an information handling system
US8938774B2 (en) * 2010-05-28 2015-01-20 Dell Products, Lp System and method for I/O port assignment and security policy application in a client hosted virtualization system
US8819437B2 (en) 2010-09-30 2014-08-26 Microsoft Corporation Cryptographic device that binds an additional authentication factor to multiple identities
US8627464B2 (en) 2010-11-02 2014-01-07 Microsoft Corporation Globally valid measured operating system launch with hibernation support
US8683579B2 (en) 2010-12-14 2014-03-25 Microsoft Corporation Software activation using digital licenses
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
US10496824B2 (en) * 2011-06-24 2019-12-03 Microsoft Licensing Technology, LLC Trusted language runtime on a mobile platform

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010326A1 (en) * 2004-07-08 2006-01-12 International Business Machines Corporation Method for extending the CRTM in a trusted platform
US20070136577A1 (en) * 2005-12-13 2007-06-14 Bade Steven A Sealing of data for applications
CN101271498A (zh) * 2008-03-25 2008-09-24 浙江大学 在linux操作系统通过威胁链表和安全链表实现可信计算的方法
US20090249053A1 (en) * 2008-03-31 2009-10-01 Zimmer Vincent J Method and apparatus for sequential hypervisor invocation
CN101576944A (zh) * 2008-11-20 2009-11-11 武汉大学 基于可信平台模块的计算机安全启动系统
CN101901318A (zh) * 2010-07-23 2010-12-01 北京工业大学 一种可信硬件设备及其使用方法

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955263B (zh) * 2014-05-16 2017-07-28 华为技术有限公司 Arm的电源管理方法及处理器
CN103955263A (zh) * 2014-05-16 2014-07-30 华为技术有限公司 Arm的电源管理方法及处理器
CN110084043A (zh) * 2014-08-18 2019-08-02 质子世界国际公司 用于提供可信平台模块服务的设备和方法
CN110084043B (zh) * 2014-08-18 2023-04-14 质子世界国际公司 用于提供可信平台模块服务的设备和方法
CN104408371A (zh) * 2014-10-14 2015-03-11 中国科学院信息工程研究所 一种基于可信执行环境高安全应用系统的实现方法
CN104408371B (zh) * 2014-10-14 2017-12-19 中国科学院信息工程研究所 一种基于可信执行环境高安全应用系统的实现方法
CN104378381A (zh) * 2014-11-27 2015-02-25 上海斐讯数据通信技术有限公司 智能终端企业邮件安全办公方法及系统
CN107111717B (zh) * 2015-01-21 2021-03-09 微软技术许可有限责任公司 升级虚拟机上的安全引导策略
CN107111717A (zh) * 2015-01-21 2017-08-29 微软技术许可有限责任公司 升级虚拟机上的安全引导策略
CN107567629A (zh) * 2015-03-19 2018-01-09 英特尔公司 在可信执行环境容器中的动态固件模块加载器
CN113434879A (zh) * 2015-03-25 2021-09-24 英特尔公司 与所连接的外围设备的安全交易
CN105205401A (zh) * 2015-09-30 2015-12-30 中国人民解放军信息工程大学 基于安全密码芯片的可信计算机系统及其可信引导方法
CN107111511A (zh) * 2016-03-25 2017-08-29 深圳前海达闼云端智能科技有限公司 访问控制的方法、装置和系统
CN106445702A (zh) * 2016-09-21 2017-02-22 乐视控股(北京)有限公司 多系统通信方法及终端
CN106452753B (zh) * 2016-10-26 2020-02-11 泰山医学院 云计算环境下终端可信平台构建方法
CN106506166B (zh) * 2016-10-26 2020-02-11 泰山医学院 云计算环境下终端可信平台系统
CN106506166A (zh) * 2016-10-26 2017-03-15 泰山医学院 云计算环境下终端可信平台系统
CN106452753A (zh) * 2016-10-26 2017-02-22 泰山医学院 云计算环境下终端可信平台构建方法
CN106815494A (zh) * 2016-12-28 2017-06-09 中软信息系统工程有限公司 一种基于cpu时空隔离机制实现应用程序安全认证的方法
CN106815494B (zh) * 2016-12-28 2020-02-07 中软信息系统工程有限公司 一种基于cpu时空隔离机制实现应用程序安全认证的方法
CN107169375A (zh) * 2017-05-16 2017-09-15 成都鼎智汇科技有限公司 系统数据安全增强方法
CN107168747B (zh) * 2017-05-27 2020-12-29 努比亚技术有限公司 移动终端配置的区分方法、装置及计算机可读存储介质
CN107168747A (zh) * 2017-05-27 2017-09-15 努比亚技术有限公司 移动终端配置的区分方法、装置及计算机可读存储介质
CN107679393B (zh) * 2017-09-12 2020-12-04 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN107679393A (zh) * 2017-09-12 2018-02-09 中国科学院软件研究所 基于可信执行环境的Android完整性验证方法和装置
CN110737902B (zh) * 2019-10-10 2022-02-11 北京智芯微电子科技有限公司 嵌入式终端及其可信安全模块的固件设计方法
CN110737902A (zh) * 2019-10-10 2020-01-31 北京智芯微电子科技有限公司 嵌入式终端及其可信安全模块的固件设计方法
CN113468535A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 可信度量方法及相关装置
CN111898115A (zh) * 2020-07-16 2020-11-06 四川爱联科技股份有限公司 防止模组固件的参数被篡改的方法及装置
CN112988508B (zh) * 2021-03-04 2022-03-18 浙江中控研究院有限公司 一种基于内存隔离的可信plc嵌入式系统
CN112988508A (zh) * 2021-03-04 2021-06-18 浙江中控研究院有限公司 一种基于内存隔离的可信plc嵌入式系统
CN114491565A (zh) * 2022-03-31 2022-05-13 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质
CN114491565B (zh) * 2022-03-31 2022-07-05 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质
WO2023184920A1 (zh) * 2022-03-31 2023-10-05 苏州浪潮智能科技有限公司 虚拟化实现方法、装置、电子设备、非易失性可读存储介质及arm平台
CN116702129A (zh) * 2023-06-08 2023-09-05 合芯科技有限公司 一种power架构运行服务代码的安全调用方法及装置

Also Published As

Publication number Publication date
WO2013019369A1 (en) 2013-02-07
KR101974188B1 (ko) 2019-04-30
JP2014525105A (ja) 2014-09-25
US20130159729A1 (en) 2013-06-20
KR20140054003A (ko) 2014-05-08
EP2737429A1 (en) 2014-06-04
CN103748594B (zh) 2016-06-22
US20130031374A1 (en) 2013-01-31
KR102102090B1 (ko) 2020-04-20
US9489512B2 (en) 2016-11-08
US20160048678A1 (en) 2016-02-18
EP2737429A4 (en) 2014-11-05
US8375221B1 (en) 2013-02-12
KR20190047115A (ko) 2019-05-07
JP6053786B2 (ja) 2016-12-27
US9189653B2 (en) 2015-11-17

Similar Documents

Publication Publication Date Title
CN103748594B (zh) 针对arm*trustzonetm实现的基于固件的可信平台模块
CN106462708B (zh) 认证变量的管理方法和装置
CN103150514B (zh) 一种基于移动设备的可信模块及其可信服务方法
EP3674954B1 (en) Security control method and computer system
TWI277904B (en) Method, recording medium and system for protecting information
CN103270518B (zh) 虚拟机验证系统及其方法
CN102255888B (zh) 从远程服务器对数据存储设备进行安全扫描的方法和装置
US8953806B2 (en) Method and apparatus for remotely provisioning software-based security coprocessors
CN103038745B (zh) 扩展完整性测量
CN103154925B (zh) 多处理器系统中的通信禁用
CN101251879B (zh) 用于保护数据的方法和装置
KR102183852B1 (ko) 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
US20060256105A1 (en) Method and apparatus for providing software-based security coprocessors
US20060256107A1 (en) Methods and apparatus for generating endorsement credentials for software-based security coprocessors
CN105308612A (zh) 用于安全代码启动的动态加载测量环境
CN1997955A (zh) 提供可信平台模块的安全虚拟化的方法和装置
Dietrich et al. Implementation aspects of mobile and embedded trusted computing
CN103080904A (zh) 提供多阶段锁步完整性报告机构
WO2023123850A1 (zh) 一种固件可信根的实现方法、装置、设备和可读存储介质
Shepherd Techniques for Establishing Trust in Modern Constrained Sensing Platforms with Trusted Execution Environments
Vuillermoz Analysis of TEE technologies as trust anchors
CN117171733A (zh) 数据使用方法、装置、电子设备及存储介质
Ribeiro HCE Mobile Ticketing
CN117390630A (zh) 安全启动方法、安全架构系统及计算设备
CN115344871A (zh) 基于arm架构的机密计算环境构建方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150805

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150805

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant