信赖平台模组

信赖平台模组，或受信任的平台模块（，缩写：TPM），是一项的国际标准，旨在使用设备中集成的专用微控制器（安全硬件）处理设备中的加密密钥。TPM的由称为（TCG）的资讯业联合体编写。国际标准化组织（ISO）和国际电工委员会（IEC）已于2009年将规范标准化为ISO/IEC 11889。
中华人民共和国商用密码产品销售管理以前规定「任何单位或个人不得销售境外的密码产品」，因此早期市场销售的资讯设备不搭载TPM。
历史.
可信平台模块（TPM）由一个名为（TCG）的资讯业联合体构思。它发展成为《TPM主要规范版本1.2》（），该规范于2009年由国际标准化组织（ISO）和国际电工委员会（IEC）标准化，编号为ISO/IEC 11889:2009。《TPM主要规范版本1.2》版本修订116于2011年3月3日完成修订并最终确定。
2014年4月9日，宣布对其规范进行重大升级，命名为《TPM库规范2.0》（）。该组织继续致力于该标准的工作，包括勘误表、算法添加和新命令，其最新版本于2019年11月发布，版本号为2.0。该版本成为ISO/IEC 11889:2015标准。
当新版本发布时，可信计算组织将其分为多个部分。每个部分都包含一个文档，这些文档构成了新TPM规范的全部内容。
概述.
可信平台模块（TPM）提供：
计算机程序可以使用TPM进行硬件设备的身份验证，因为每个TPM芯片在生产时都烧录了一个唯一的密钥背书密钥 （EK）。嵌入硬件的安全性比纯软件解决方案提供了更多保护。在某些国家/地区，其使用受到限制。
用途.
平台完整性.
TPM的主要用途是确保平台的完整性。在这种情况下，“完整性”意味着“按预期运行”，“平台”是指任何计算机设备，无论其操作系统如何。这是为了确保引导过程从硬件和软件的可信组合开始，并持续到操作系统完全启动并运行应用程序。
当使用TPM时，固件和操作系统负责确保完整性。
例如，统一可扩展固件接口（UEFI）可以使用TPM来形成：TPM包含多个平台配置寄存器（PCR），允许安全存储和报告与安全相关的指标。这些指标可用于检测先前配置的更改并决定如何继续。此类用例可以在Linux统一密钥设置（LUKS）、 BitLocker和PrivateCore vCage内存加密中找到。（见下文。）
通过TPM实现平台完整性的另一个示例是使用Microsoft Office 365许可和Outlook Exchange。
TPM用于平台完整性的另一个例子是（TXT），它创建了一个信任链。它可以远程证明计算机正在使用指定的硬件和软件。
磁盘加密.
全磁盘加密实用程序（例如dm-crypt）可以使用此技术来保护用于加密计算机存储设备的密钥，并为包括固件和引导扇区在内的可信引导路径提供完整性身份验证。
其他用途和问题.
任何应用程序都可以将TPM芯片用于：
TPM还有其他用途，其中一些会引发隐私问题。TPM的“物理存在”（）功能解决了部分此类问题，它要求在设备控制台前进行激活、停用、清除或更改TPM所有权等操作时，需要BIOS/UEFI级别的确认。
机构使用.
美国国防部（DoD）规定“为支持国防部而采购的新计算机资产（例如，服务器、台式机、笔记本电脑、瘦客户端、平板电脑、智能手机、个人数字助理、移动电话）将包括TPM 1.2或更高版本，其中（DISA）（STIG）要求，并且此类技术可用。”国防部预计TPM将用于设备识别、身份验证、加密和设备完整性验证。
TPM实现.
笔记本电脑.
2006年，部分新款笔记本电脑开始内置TPM芯片。之后，这些概念的实现可以与计算机中的主板芯片或其他使用TPM的设备（如手机）共置（co-located）。在PC上，LPC总线或串行外设接口（SPI）总线用于连接到TPM芯片。
（TCG）已经认证了由英飞凌科技、新唐科技和意法半导体制造的TPM芯片，并已将TPM供应商ID分配给超威半导体、爱特梅尔、博通、IBM、英飞凌、英特尔、联想、美国国家半导体、Nationz Technologies、新唐科技、高通、瑞昱半导体、标准微系统公司、意法半导体、三星、Sinosun、德州仪器和华邦电子。
TPM 2.0实现.
TPM 2.0有五种不同实现类型（按安全性从高到低排列）：
开源实现.
TPM 2.0规范的官方TCG参考实现由微软开发。它在BSD许可证下获得许可，并且源代码可在GitHub上获得。
2018年，英特尔开源了其可信平台模块2.0（TPM2）软件栈，支持Linux和Microsoft Windows。源代码托管在GitHub上，并在BSD许可证下获得许可。
英飞凌资助开发了一个开源TPM中间件，该中间件符合TCG的软件栈（TSS）增强系统API（ESAPI）规范。它由弗劳恩霍夫协会安全信息技术研究所（SIT）开发。
IBM的软件TPM 2.0是TCG TPM 2.0规范的实现。它基于TPM规范第3部分和第4部分以及微软捐赠的源代码。它包含完成实现的其他文件。源代码托管在SourceForge和GitHub上，并在BSD许可证下获得许可。
2022年，AMD宣布，在某些情况下，他们的fTPM实现会导致性能问题。BIOS更新中提供了修复程序。
TPM 1.2与TPM 2.0.
虽然TPM 2.0涵盖了许多相同的用例并具有相似的功能，但细节有所不同。TPM 2.0不向后兼容TPM 1.2。
TPM 2.0策略授权包括1.2 HMAC、局部性、物理存在和PCR。它添加了基于非对称数字签名的授权、对另一个授权密钥的间接授权、计数器和时间限制、NVRAM值、特定命令或命令参数以及物理存在。它允许对这些授权原语进行AND和OR运算以构建复杂的授权策略。
接受度.
中华人民共和国商用密码产品销售管理以前规定「任何单位或个人不得销售境外的密码产品」，因此早期市场销售的资讯设备不搭载TPM。2005年前后，中国开始推行国产密码技术TCM系统（Trusted Cryptographic Module）。
（TCG）在某些领域推广这项技术时遇到了阻力，一些作者认为这项技术可能存在与可信计算无关的用途，这可能会引发隐私问题。这些担忧包括滥用软件远程验证来决定允许运行哪些软件，以及可能以用户完全无法察觉的方式将用户采取的操作记录到数据库中。
TrueCrypt磁盘加密实用程序及其衍生产品VeraCrypt不支持TPM。最初的TrueCrypt开发人员认为，TPM的唯一目的是“防止需要攻击者拥有管理员权限或物理访问计算机的攻击”。对计算机拥有物理或管理访问权限的攻击者可以绕过TPM，例如，通过安装硬件击键记录器、重置TPM或捕获内存内容并检索TPM发出的密钥。谴责性文字甚至声称TPM完全是多余的。VeraCrypt发布者复制了最初的说法，除了将“TrueCrypt”替换为“VeraCrypt”之外没有任何更改。作者的观点是正确的，即在获得不受限制的物理访问权限或管理员权限后，绕过现有的其他安全措施只是时间问题。但是，阻止拥有管理员权限的攻击者从来都不是TPM的目标之一（有关详细信息，请参阅），并且TPM可以阻止某些物理篡改。
2015年，理查德·斯托曼建议将“可信计算”一词替换为“背叛计算”，因为如果密码密钥对用户保密，则计算机可能会被设置为系统地不服从其所有者。他还认为，2015年用于PC的TPM目前并不危险，并且没有理由不在计算机中包含TPM或在软件中支持TPM，因为业界尝试使用该技术进行DRM的尝试失败了，但2022年发布的TPM2正是他警告过的“背叛计算”威胁。
攻击.
2010年，在黑帽大会上展示了针对TPM的攻击，他声称能够从单个TPM中提取秘密。在对Infineon SLE 66 CL PC插入探针并监视内部总线进行6个月的研究后，他成功实现了这一点。
如果存在物理访问权限，则配备TPM 1.2的计算机容易受到冷启动攻击，只要系统处于开启状态或可以在不输入密码的情况下从关机、睡眠或休眠状态启动即可，这是使用BitLocker全磁盘加密的Windows计算机的默认设置。有人提出了一种修复方法，该方法已在TPM 2.0规范中采用。
2009年，TPM 1.2中共享授权数据的概念被发现存在缺陷。获得数据访问权限的攻击者可以欺骗来自TPM的响应。有人提出了一种修复方法，该方法已在TPM 2.0规范中采用。
2015年，作为的一部分，据透露，美国中央情报局的一个团队在2010年的一次内部会议上声称，他们对TPM进行了差分功率分析攻击，并成功提取了秘密。
2017年11月之前的主要行版都受到测量动态信任根（DRTM）攻击（）的影响，该攻击会影响在上运行启动例程的计算机。
2018年，有人报告了用于测量静态信任根（SRTM）的TPM 2.0规范中的一个设计缺陷（）。它允许攻击者重置和伪造平台配置寄存器，这些寄存器旨在安全地保存用于启动计算机的软件测量值。修复它需要特定于硬件的固件补丁。攻击者滥用电源中断和TPM状态恢复来欺骗TPM，使其误以为它在未被篡改的组件上运行。
2021年，Dolos Group展示了对独立TPM的攻击，其中TPM芯片本身具有一定的防篡改能力，但其通信总线的其他端点却没有。他们在全磁盘加密密钥通过主板传输时读取了它，并使用它解密了笔记本电脑的SSD。
2017年弱密钥生成争议.
2017年10月，据报道，由英飞凌开发并在其TPM中广泛使用的代码库包含一个名为ROCA的漏洞，该漏洞会生成弱RSA密钥对，从而允许从公钥推断出私钥。因此，所有依赖此类弱密钥的隐私的系统都容易受到攻击，例如身份盗窃或欺骗。
将加密密钥直接存储在TPM中而不进行的密码系统可能特别容易受到此类攻击，因为如果攻击者可以提取加密密钥，则密码和其他因素将毫无意义。
英飞凌已向使用其TPM的制造商发布了固件更新。
可用性.
目前，几乎所有PC和笔记本电脑制造商都在其产品中提供了TPM。
TPM.
TPM由多家供应商提供：
还有混合类型；例如，TPM可以集成到以太网控制器中，从而无需单独的主板组件。
现场升级.
现场升级是TCG用于更新TPM固件的术语。更新可以在TPM 1.2和TPM 2.0之间，或在固件版本之间进行。一些供应商限制了1.2和2.0之间的转换次数，而一些供应商则限制回滚到以前的版本。平台OEM（如惠普）提供升级工具。
自2016年7月28日起，所有新的Microsoft设备型号、系列或系列（或通过重大更新（如CPU、显卡）更新现有型号、系列或系列的硬件配置）都默认实现并启用了TPM 2.0。
虽然TPM 1.2部件是独立的硅组件，通常焊接到主板上，但TPM 2.0可以作为独立的（dTPM）硅组件在一个半导体封装中使用，也可以作为集成组件并入一个或多个半导体封装中——与同一封装中的其他逻辑单元一起使用，还可以作为基于固件（fTPM）的组件在通用片上系统（SoC）上的可信执行环境（TEE）中运行。