Loading AI tools
安全密码处理器的国际标准 来自维基百科,自由的百科全书
信賴平台模組,或受信任的平台模块(英語:Trusted Platform Module,缩写:TPM),是一项安全密码处理器的国际标准,旨在使用设备中集成的专用微控制器(安全硬件)处理设备中的加密密钥。TPM的技术规范由称为可信计算组织(TCG)的資訊業联合体编写。國際標準化組織(ISO)和国际电工委员会(IEC)已于2009年将规范标准化为ISO/IEC 11889[1]。
中華人民共和國商用密碼產品銷售管理以前規定「任何單位或個人不得銷售境外的密碼產品」,因此早期市場銷售的資訊設備不搭載TPM。[2]
可信平台模块(TPM)由一个名为可信计算组织(TCG)的資訊業联合体构思。它发展成为《TPM主要规范版本1.2》(英語:TPM Main Specification Version 1.2),该规范于 2009 年由国际标准化组织(ISO)和国际电工委员会(IEC)标准化,编号为ISO/IEC 11889:2009。[3]《TPM主要规范版本1.2》版本修订116于2011年3月3日完成修订并最终确定。[4][5]
2014 年4月9日,可信计算组织宣布对其规范进行重大升级,命名为《TPM库规范2.0》(英語:TPM Library Specification 2.0)。[6]该组织继续致力于该标准的工作,包括勘误表、算法添加和新命令,其最新版本于2019年11月发布,版本号为2.0。[7]该版本成为ISO/IEC 11889:2015标准。
当新版本发布时,可信计算组织将其分为多个部分。每个部分都包含一个文档,这些文档构成了新TPM规范的全部内容。
可信平台模块(TPM)提供:
计算机程序可以使用TPM进行硬件设备的身份验证,因为每个TPM芯片在生产时都烧录了一个唯一的密钥背书密钥 (EK)。嵌入硬件的安全性比纯软件解决方案提供了更多保护。[15]在某些国家/地区,其使用受到限制。[16]
TPM的主要用途是确保平台的完整性。在这种情况下,“完整性”意味着“按预期运行”,“平台”是指任何计算机设备,无论其操作系统如何。这是为了确保引导过程从硬件和软件的可信组合开始,并持续到操作系统完全启动并运行应用程序。
当使用TPM时,固件和操作系统负责确保完整性。
例如,统一可扩展固件接口(UEFI)可以使用TPM来形成信任根:TPM包含多个平台配置寄存器(PCR),允许安全存储和报告与安全相关的指标。这些指标可用于检测先前配置的更改并决定如何继续。此类用例可以在Linux统一密钥设置(LUKS)、 [17]BitLocker[18]和PrivateCore vCage内存加密中找到。(见下文。)
通过TPM实现平台完整性的另一个示例是使用Microsoft Office 365许可和Outlook Exchange。[19]
TPM 用于平台完整性的另一个例子是可信执行技术(TXT),它创建了一个信任链。它可以远程证明计算机正在使用指定的硬件和软件。[20]
全磁盘加密实用程序(例如dm-crypt)可以使用此技术来保护用于加密计算机存储设备的密钥,并为包括固件和引导扇区在内的可信引导路径提供完整性身份验证。[21]
任何应用程序都可以将TPM芯片用于:
还存在其他用途,其中一些用途引发了隐私问题。TPM的“物理存在”功能通过要求对诸如激活、停用、清除或更改 TPM 所有权等操作进行 BIOS/UEFI 级别的确认来解决其中一些问题,该确认由实际出现在机器控制台的人员执行。[24][25]
美国国防部(DoD)规定“为支持国防部而采购的新计算机资产(例如,服务器、台式机、笔记本电脑、瘦客户端、平板电脑、智能手机、个人数字助理、移动电话)将包括TPM 1.2或更高版本,其中国防信息系统局(DISA)安全技术实施指南(STIG)要求,并且此类技术可用。”国防部预计TPM将用于设备识别、身份验证、加密和设备完整性验证。[26]
2006年,开始销售内置TPM芯片的新笔记本电脑。未来,这个概念可以与计算机中现有主板芯片或可以使用 TPM 功能的任何其他设备(例如手机)共存。在PC上,LPC总线或串行外设接口(SPI)总线用于连接到TPM芯片。
可信计算组织(TCG)已经认证了由英飞凌科技、新唐科技和意法半导体制造的TPM芯片,[27]并已将TPM供应商ID分配给超威半导体、爱特梅尔、博通、IBM、英飞凌、英特尔、联想、美国国家半导体、Nationz Technologies、新唐科技、高通、瑞昱半导体、标准微系统公司、意法半导体、三星、Sinosun、德州仪器和华邦电子。[28]
TPM 2.0有五种不同实现类型(按安全性从高到低排列):[29][30]
TPM 2.0规范的官方TCG参考实现由微软开发。它在BSD许可证下获得许可,并且源代码可在GitHub上获得。[34]
2018 年,英特尔开源了其可信平台模块2.0(TPM2)软件栈,支持Linux和Microsoft Windows。[35]源代码托管在GitHub上,并在BSD许可证下获得许可。[36][37]
英飞凌资助开发了一个开源TPM中间件,该中间件符合TCG的软件栈(TSS)增强系统API(ESAPI)规范。[38]它由弗劳恩霍夫协会安全信息技术研究所(SIT)开发。[39]
IBM的软件TPM 2.0是TCG TPM 2.0规范的实现。它基于TPM规范第3部分和第4部分以及微软捐赠的源代码。它包含完成实现的其他文件。源代码托管在 SourceForge[40] 和 GitHub[41] 上,并在 BSD 许可证下获得许可。
2022 年,AMD宣布,在某些情况下,他们的fTPM实现会导致性能问题。BIOS更新中提供了修复程序。[42][43]
虽然TPM 2.0涵盖了许多相同的用例并具有相似的功能,但细节有所不同。TPM 2.0不向后兼容TPM 1.2。[44][45][46]
规范 | TPM 1.2 | TPM 2.0 |
---|---|---|
架构 | 完整的规范旨在包含一个特定于平台的保护配置文件,该配置文件引用了一个通用的三部分TPM 1.2 库。[5]实际上,只为TPM 1.2创建了一个PC客户端保护配置文件。PDA和蜂窝的保护配置文件原本打算定义,[5]但从未发布。 | 完整的规范包含一个特定于平台的规范,该规范引用了一个通用的四部分TPM 2.0库。[47][7] 特定于平台的规范定义了该平台的库的哪些部分是强制性的、可选的或禁止的;并详细说明了该平台的其他要求。[47] 特定于平台的规范包括PC客户端,[48]移动设备,[49]和Automotive-Thin。[50] |
算法 | SHA-1和RSA是必需的。[51] AES 是可选的。[51]三重DES曾经是早期版本TPM 1.2中的可选算法,[52] 但已从TPM 1.2版本103中删除。[53] PKCS#1中定义的MGF1基于哈希的掩码生成函数是必需的。[51] | PC客户端平台TPM配置文件(PTP)规范要求使用SHA-1和SHA-256进行哈希处理;RSA、使用NIST P-256曲线的ECC用于公钥密码学和非对称数字签名生成和验证;HMAC 用于对称数字签名生成和验证;128位AES用于 对称密钥算法;TCG PC客户端平台 TPM 配置文件(PTP)规范要求使用PKCS#1中定义的MGF1基于哈希的掩码生成函数。[54]还定义了许多其他算法,但它们是可选的。[55]请注意,三重DES已添加到 TPM 2.0库中,但有限制以拒绝弱密钥。[56]此外,在早期版本中强制要求的、使用 Barreto-Naehrig ECC曲线的椭圆密码学直接匿名证明(ECDAA)在PC客户端配置文件版本 1.59 中已变为可选。[54] |
密码原语 | 随机数生成器、公钥加密算法、加密哈希函数、掩码生成函数、数字签名 生成和验证以及直接匿名证明是必需的。[51]对称密钥算法和 异或 是可选的。[51]密钥生成也是必需的。[57] | TCG PC客户端平台TPM配置文件(PTP)规范要求使用随机数生成器、公钥加密算法、加密哈希函数、对称密钥算法、数字签名生成和验证、掩码生成函数和异或。[54]对于TCG PC客户端平台TPM配置文件(PTP)规范,使用Barreto–Naehrig 256位曲线的基于ECC的直接匿名证明是可选的。[54]TPM 2.0通用库规范还要求密钥生成和密钥派生函数。[58] |
层级 | 一个(存储) | 三个(平台、存储和背书) |
根密钥 | 一个(SRK RSA-2048) | 每个层级多个密钥和算法 |
授权 | HMAC、PCR、局部性、物理存在 | 密码、HMAC和策略(涵盖 HMAC、PCR、局部性和物理存在)。 |
NVRAM | 非结构化数据 | 非结构化数据、计数器、位图、扩展、PIN通过与否。 |
TPM 2.0策略授权包括1.2 HMAC、局部性、物理存在和PCR。它添加了基于非对称数字签名的授权、对另一个授权密钥的间接授权、计数器和时间限制、NVRAM值、特定命令或命令参数以及物理存在。它允许对这些授权原语进行AND和OR运算以构建复杂的授权策略。[59]
中華人民共和國商用密碼產品銷售管理以前規定「任何單位或個人不得銷售境外的密碼產品」,因此早期市場銷售的資訊設備不搭載TPM。[2]2005年前後,中國開始推行國產密碼技術TCM系統(Trusted Cryptographic Module)。[60]
可信计算组织(TCG)在某些领域推广这项技术时遇到了阻力,一些作者认为这项技术可能存在与可信计算无关的用途,这可能会引发隐私问题。这些担忧包括滥用软件远程验证来决定允许运行哪些软件,以及可能以用户完全无法察觉的方式将用户采取的操作记录到数据库中。[61]
TrueCrypt磁盘加密实用程序及其衍生产品VeraCrypt不支持TPM。最初的TrueCrypt开发人员认为,TPM的唯一目的是“防止需要攻击者拥有管理员权限或物理访问计算机的攻击”。对计算机拥有物理或管理访问权限的攻击者可以绕过TPM,例如,通过安装硬件击键记录器、重置TPM或捕获内存内容并检索TPM发出的密钥。谴责性文字甚至声称TPM完全是多余的。[62]VeraCrypt发布者复制了最初的说法,除了将“TrueCrypt”替换为“VeraCrypt”之外没有任何更改。[63]作者的观点是正确的,即在获得不受限制的物理访问权限或管理员权限后,绕过现有的其他安全措施只是时间问题。[64][65]但是,阻止拥有管理员权限的攻击者从来都不是TPM的目标之一(有关详细信息,请参阅§ 用途),并且TPM可以阻止某些物理篡改。[17][20][23][24][25]
2015 年,理查德·斯托曼建议将“可信计算”一词替换为“背叛计算”,因为如果密码密钥对用户保密,则计算机可能会被设置为系统地不服从其所有者。他还认为,2015年用于PC的TPM目前并不危险,并且没有理由不在计算机中包含TPM或在软件中支持TPM,因为业界尝试使用该技术进行DRM的尝试失败了,但2022年发布的TPM2正是他警告过的“背叛计算”威胁。[66]
2010年,克里斯托弗·塔尔诺夫斯基在黑帽大会上展示了针对TPM的攻击,他声称能够从单个TPM中提取秘密。在对Infineon SLE 66 CL PC插入探针并监视内部总线进行6个月的研究后,他成功实现了这一点。[67][68]
如果存在物理访问权限,则配备TPM 1.2的计算机容易受到冷启动攻击,只要系统处于开启状态或可以在不输入密码的情况下从关机、睡眠或休眠状态启动即可,这是使用BitLocker全磁盘加密的Windows计算机的默认设置。[69]有人提出了一种修复方法,该方法已在TPM 2.0规范中采用。
2009 年,TPM 1.2中共享授权数据的概念被发现存在缺陷。获得数据访问权限的攻击者可以欺骗来自TPM的响应。[70]有人提出了一种修复方法,该方法已在TPM 2.0规范中采用。
2015年,作为斯诺登事件的一部分,据透露,美国中央情报局的一个团队在2010年的一次内部会议上声称,他们对TPM进行了差分功率分析攻击,并成功提取了秘密。[71][72]
2017年11月之前的主要可信启动行版都受到测量动态信任根(DRTM)攻击(CVE-2017-16837)的影响,该攻击会影响在英特尔可信执行技术(TXT)上运行启动例程的计算机。[73]
2018年,有人报告了用于测量静态信任根(SRTM)的TPM 2.0规范中的一个设计缺陷(CVE-2018-6622)。它允许攻击者重置和伪造平台配置寄存器,这些寄存器旨在安全地保存用于启动计算机的软件测量值。[74]修复它需要特定于硬件的固件补丁。[74]攻击者滥用电源中断和TPM状态恢复来欺骗TPM,使其误以为它在未被篡改的组件上运行。[73]
2021年,Dolos Group展示了对独立TPM的攻击,其中TPM芯片本身具有一定的防篡改能力,但其通信总线的其他端点却没有。他们在全磁盘加密密钥通过主板传输时读取了它,并使用它解密了笔记本电脑的SSD。[75]
2017年10月,据报道,由英飞凌开发并在其TPM中广泛使用的代码库包含一个名为ROCA的漏洞,该漏洞会生成弱RSA密钥对,从而允许从公钥推断出私钥。因此,所有依赖此类弱密钥的隐私的系统都容易受到攻击,例如身份盗窃或欺骗。[76]
将加密密钥直接存储在TPM中而不进行盲化的密码系统可能特别容易受到此类攻击,因为如果攻击者可以提取加密密钥,则密码和其他因素将毫无意义。[77]
英飞凌已向使用其TPM的制造商发布了固件更新。[78]
目前,几乎所有PC和笔记本电脑制造商都在其产品中提供了TPM。
TPM 由多家供应商提供:
现场升级是TCG用于更新TPM固件的术语。更新可以在TPM 1.2和TPM 2.0之间,或在固件版本之间进行。一些供应商限制了1.2和2.0之间的转换次数,而一些供应商则限制回滚到以前的版本。[來源請求]平台OEM(如惠普)[88]提供升级工具。
自2016年7月28日起,所有新的Microsoft设备型号、系列或系列(或通过重大更新(如 CPU、显卡)更新现有型号、系列或系列的硬件配置)都默认实现并启用了TPM 2.0。
虽然TPM 1.2部件是独立的硅组件,通常焊接到主板上,但TPM 2.0可以作为独立的(dTPM)硅组件在一个半导体封装中使用,也可以作为集成组件并入一个或多个半导体封装中——与同一封装中的其他逻辑单元一起使用,还可以作为基于固件(fTPM)的组件在通用片上系统(SoC)上的可信执行环境(TEE)中运行。[89]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.