CN103748594A - 针对arm*trustzonetm实现的基于固件的可信平台模块 - Google Patents
针对arm*trustzonetm实现的基于固件的可信平台模块 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- 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
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
- G06F21/575—Secure boot
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/74—Protecting 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
-
- 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/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
“基于固件的TPM”或“fTPM”确保安全代码执行被隔离,以防止各种各样的潜在安全违背。与基于常规硬件的可信平台模块(TPM)不同,实现隔离而无需使用专用安全处理器硬件或硅。一般而言,fTPM首先在预OS引导环境中通过从系统固件或固件可访问的存储器或存储中读取fTPM并且将fTPM置于设备的受保护的只读存储器中来实例化。一旦被实例化,fTPM就启用执行隔离以确保安全代码执行。更具体地,fTPM被置于受保护的只读存储器,以使该设备能够使用诸如体系结构的TrustZoneTM扩展之类的硬件和安全原语(或类似处理器体系结构)以及由此基于这些体系结构的设备,从而在“基于固件的TPM”内提供安全执行隔离,而无需对现有设备进行硬件修改。
Description
背景
技术领域:
背景技术:
如本领域技术人员已知的,常规的可信平台模块(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)一起使用。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。此外,虽然此处可以注意到或讨论现有技术的某些缺点,所要求保护的主题并非旨在限于可解决那些现有技术的任何或全部确定的实现。
信任是对人或物的完整性的信赖。对于设备用户,对设备的信任通过确保只有符合既定策略的代码才能在该设备上执行来建立。为传递强完整性保护并且对恶意感染和修改进行防范,使用了硬件和软件的组合。诸如 之类的操作系统(OS)先前使用了可信平台模块(TPM)作为硬件组件来向各个系统传递这一平台完整性。不幸的是,由于多个原因TPM的广泛使用遇到了阻力,这些原因包括,例如,将分立TPM组件添加到主板的附加材料清单(BOM)成本、重新设计特定设备以提供适当的接口来把TPM连接或添加到这些设备的成本和时间等等。
一般而言,如本文描述的“基于固件的TPM”或“fTPM”解决与以下相关联的成本:在诸如片上系统(SoC)平台或类似平台之类的硬件中包括TPM,以实现基本上零成本“固件TPM”,由此降低系统的BOM成本,降低设备的总体功耗,并且在广泛的基于的设备上允许各种各样的TPM使用场景。与常规技术形成对比,fTPM提供至整合到处理器(诸如处理器)的安全扩展功能的软件接口,而在由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接收、同时保持“安全世界”与“普通世界”隔离的接口。还要注意,诸如基于的体系结构之类的体系结构和TrustZoneTM扩展的“安全世界”和“普通世界”操作模式是本领域技术人员所公知的,且在这里将不再讨论。TrustZoneTM扩展是有用的,因为这些扩展提供了跨多个平台的公共安全基础结构。然而,应当理解,本文描述的fTPM可用于任何基于TPM的安全体系结构。这样的替换安全体系结构(即,替换信任执行环境)的示例包括但不限于基于TI OMAP的体系结构、基于M-Shield的体系结构、x86系统管理模式(SMM)等等。
一旦被实例化,基于固件的TPM则使用现有的基于的体系结构以及TrustZoneTM扩展,经由基于固件的“虚拟专用安全处理器”来允许执行隔离,以确保代码及数据完整性和机密性以及使密码操作(和存储)与“普通世界”的访问隔离。换言之,本文描述的fTPM从系统固件(或其他源)中被读取且置于受保护的存储器中,并且使用体系结构的TrustZoneTM扩展和安全原语来在“基于固件的TPM”内提供能在现有的基于的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离,而无需对现有设备的硬件修改。
因此,基于固件的TPM的一个优点在于它使用现有TrustZoneTM扩展来实现TPM需要的执行隔离,而实际上无需TPM芯片或其他硬件。作为对比,各种常规系统或是使用了分立TPM、或是向SoC添加了专用安全处理器。不幸的是,这两个方式都招致系统的附加成本。然而,TrustZoneTM是一大组高端SoC线路图上几乎无处不在的特征,但仍然在很大程度上未使用。当被利用时,TrustZoneTM主要已用于安全支付、移动银行业务、DRM等适当的垂直解决方案。因此,基于固件的TPM使用TrustZoneTM来在现有设备的固件中实现TPM为现有设备增加了重要价值,而无需对此类设备的硬件修改。由此,TPM在多个SoC平台上的普遍存在由本文描述的基于固件的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提供至整合到处理器(诸如处理器)的安全扩展功能的基于软件的接口来在计算设备中启用与硬件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则使用现有硬件(诸如基于的体系结构和TrustZoneTM扩展)(或类似技术),经由基于固件的“虚拟专用安全处理器”来允许执行隔离以确保代码执行的安全。换言之,本文描述的基于固件的TPM被置于受保护的存储器,该受保护的存储器允许体系结构的TrustZoneTM扩展和安全原语(或类似技术)来在“基于固件的TPM”内提供能在现有的基于的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离。注意,TrustZoneTM扩展是有用的,因为这些扩展提供了跨多个平台的公共安全基础结构。还应注意,出于解释目的,fTPM将在使用体系结构的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”提供用于使用体系结构的TrustZoneTM扩展和安全原语来在基于固件的TPM内提供能在现有的基于的体系结构(或类似技术)且由此在基于这些体系结构的设备内实现的安全执行隔离而无需对现有设备进行硬件修改的各种技术。注意,以下讨论中术语“设备”一般将指代一般计算设备,包括但不限于个人计算机、服务器计算机、手持式计算设备、膝上型或移动计算机、诸如蜂窝电话和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提供用于使用硬件(诸如体系结构的TrustZoneTM扩展)和安全原语来在“基于固件的TPM”内提供能在现有的基于的体系结构且由此在基于这些体系结构的设备内实现的安全执行隔离而无需对现有设备进行硬件修改的各种技术。
以下各节提供了对基于固件的TPM的各实施例的操作以及用于实现在第1节中参考图1描述的程序模块的示例性方法的更详细讨论。具体而言,以下各章节提供基于固件的TPM的各实施例的示例和操作细节,包括:fTPM的体系结构概览;使用fTPM的系统初始化;取决于操作上下文的“调用者”;同步操作,异步操作;以及在一般计算设备内实现启用TrustZoneTM的fTPM。
2.1fTPM的体系结构概览:
如上所说,本文描述的根据基于固件的TPM的过程提供了用于使用硬件(诸如体系结构的TrustZoneTM扩展)和安全原语来在“基于固件的TPM”(这里也被称为“fTPM”)内提供TPM所需的、能在现有的基于的体系结构且由此在基于这些体系结构的设备内实现的执行隔离的各种技术。
更具体地,fTPM通过利用任何基于的SoC平台上可用的体系结构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指令是与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协议展示给预引导应用,诸如引导管理器和其他OS加载器。注意,TrEE UEFI协议是本领域技术人员所公知的,且将不在此进行赘述。还注意,本文描述的fTPM不限于与型操作系统一起使用,且其他操作系统(例如,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)来实现。假定基于的OS,TrEE接口模块320为所有内核服务提供对fTPM的访问,包括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:
1)密码算法(AES、RSA、SHA x等)的硬件加速;
2)基于硬件的随机数生成(RNG);以及
3)访问用于存储秘密的非易失性存储(优选地被隔离)。
有利的是,许多常规SoC和类似的处理器已经具有作为硬件原语所包括的这些特征。因此,本文描述的基于固件的TPM使常规SoC或其他启用安全的处理器能够被配置有fTPM,使得在OS被初始化之后,OS能访问全功能TPM,而基本上对设备没有附加BOM成本。这使得硬件(诸如SoC平台)能够执行各种任务,包括但不限于:
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模块能由所述计算设备上运行的一个或多个虚拟机访问。
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模块。
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)
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)
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)
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)
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 |
-
2011
- 2011-07-29 US US13/193,945 patent/US8375221B1/en active Active
-
2012
- 2012-07-11 KR KR1020197011906A patent/KR102102090B1/ko active IP Right Grant
- 2012-07-11 CN CN201280037929.0A patent/CN103748594B/zh active Active
- 2012-07-11 EP EP12820818.8A patent/EP2737429A4/en not_active Withdrawn
- 2012-07-11 JP JP2014522856A patent/JP6053786B2/ja active Active
- 2012-07-11 KR KR1020147002458A patent/KR101974188B1/ko active IP Right Grant
- 2012-07-11 WO PCT/US2012/046243 patent/WO2013019369A1/en unknown
-
2013
- 2013-02-11 US US13/764,570 patent/US9189653B2/en active Active
-
2015
- 2015-10-30 US US14/927,988 patent/US9489512B2/en active Active
Patent Citations (6)
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)
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 |