TPM (Trusted Platform Module)发展历史『机密计算、隐私计算』

TPM分析笔记(一) TPM历史

可信平台模块(TPM,Trusted Platform Module)是一种用于增强计算机安全性的硬件模块。TPM既可以被视为一套规范,定义了安全密码处理器的规格,也可以看作是对这一规范的具体实现,即TPM芯片。
在这里插入图片描述

TPM的历史

为什么选择用TPM?

在1990年代,随着互联网的迅猛发展,个人电脑的连接方式和安全需求发生了巨大变化。早期的个人电脑设计中很少考虑安全需求,因此缺乏相应的硬件和软件支持。为了应对这种情况,一群计算机工程师设计了第一代TPM,为个人电脑提供了基础的安全保障。这些工程师后来成为可信计算组织(TCG)的成员。

TPM的初衷是创建一个硬件安全模块,用于存储和管理加密密钥,以确保密钥和数据的安全。每个TPM都有一个主“封装”密钥(存储根密钥),用于存储在TPM内部。TPM还可以创建绑定到特定平台度量的密钥,这些密钥只有在平台度量值与创建时相同时才能解封。

TPM 1.1b到1.2的发展历史

TPM 1.1b

2003年,TPM 1.1b发布,具备以下基本功能:

  • 密钥生成:主要生成RSA密钥。
  • 密钥存储:安全地存储生成的密钥。
  • 安全授权:控制对密钥和其他敏感数据的访问。
  • 设备安全状态认证:通过平台配置寄存器(PCR)保存系统启动过程中的度量值,以认证系统的启动过程是否正常。

此外,TPM 1.1b引入了匿名身份密钥来保护用户隐私,并通过隐私证书授权中心(CA)来证明密钥是在真实的TPM硬件中生成的。

尽管TPM 1.1b具备上述功能,但它存在一些问题:

  • 硬件兼容性不佳:不同厂商的TPM芯片在硬件实现上有细微差异,导致需要不同的设备驱动程序。
  • 缺乏密码字典攻击防护:攻击者可以通过猜测密码进行字典攻击。
TPM 1.2

为了改进TPM 1.1b的不足,TPM 1.2于2005年发布,主要改进包括:

  • 防止字典攻击:增加了防止字典攻击的功能。
  • 直接匿名认证(DAA):提供第二种匿名密钥方法。
  • 代理密钥授权和管理功能:增加对密钥授权和管理的支持。
  • 非易失性内存(NVRAM):引入了NVRAM,用于存储关键证书,并附带单向计数器控制内存访问。

TPM 1.2还解决了TPM 1.1b在密钥迁移上的不足,允许用户创建只能由第三方迁移的密钥,这种密钥被称为认证可迁移密钥(Certified Migratable Keys)。此外,TPM 1.2保持了应用层编码接口不变,实现了对TPM 1.1b版本软件的兼容。

自2005年起,TPM 1.2被广泛部署在大多数x86个人电脑上,并在2008年开始部署在服务器平台上(例如,Google的Intel TXT)。

TPM由1.2发展到2.0版本

安全需求变化

在2005年左右,密码学研究者发现SHA-1算法存在安全漏洞。尽管TPM 1.2广泛使用SHA-1算法,并且该算法在当时被认为是安全的,但随着时间的推移,其安全性逐渐受到质疑。为了应对这一挑战,TCG开始制定TPM 2.0规范,旨在提供更灵活的算法支持,并解决SHA-1的安全问题。

TPM 2.0的设计改进

TPM 2.0的设计目标包括:

  • 灵活的算法支持:不再硬编码SHA-1或其他任何特定算法,而是允许通过算法标识符选择任意算法。
  • 非对称和对称加密结合:采用非对称密钥加密对称密钥的方式,提高加密效率。
  • 简化认证和授权机制:统一认证技术,增加多个密钥组织架构,以满足不同用户角色的需求。

TPM 2.0在底层架构上进行了重大调整,使其能够灵活地适应未来的安全需求。TPM 2.0规范还要求TPM在没有电源的情况下仍能保持其内部计数器的准确性,从而提高系统的整体安全性。

TPM 2.0规范的开发历程

TPM 2.0的规范开发历经多年,由多个专家和工程师组成的团队不断修改和完善。规范委员会的成员们逐行深入理解规范,提交了许多改进建议,从而增加了规范的一致性和可读性。

TPM 2.0规范最终在2015年被批准为ISO/IEC国际标准(ISO/IEC 11889:2015)。这一标准结合了硬件和软件的安全技术,保护加密密钥,防止私钥泄露,并记录和匿名报告启动过程中的软件。

TPM的标准

可信计算组(TCG)发布的TPM 2.0规范于2015年被批准为ISO/IEC国际标准,成为ISO/IEC 11889:2015。这个标准得到了多个国家的支持,并结合了硬件和软件的安全技术,提供了强大的安全保障。TPM 2.0不仅保护加密密钥、防止私钥泄露,还能够屏蔽用于身份验证的PIN码,并记录和匿名报告启动过程中的软件。

TPM的常见用途

  1. 存储和管理密码:TPM可以存储和管理BIOS开机密码和硬盘密码,比传统BIOS提供更高的安全性。传统BIOS存储的密码可以通过清除CMOS电池来重置,而TPM则不会受此影响。
  2. 广泛的加密功能:TPM不仅可以进行开机加密和硬盘加密,还能加密系统登录、应用软件登录等信息。比如MSN、QQ、网游和网上银行的登录信息都可以通过TPM加密后再进行传输,防止信息和密码被窃取。
  3. 加密硬盘分区:TPM可以加密硬盘的任意分区,保护敏感文件的安全。一些笔记本厂商采用TPM实现一键恢复功能,一些大型商业软件公司(如Microsoft)的加密分区功能也依赖于TPM。
  4. 支持安全启动(Secure Boot):TPM可以确保系统在启动过程中没有被篡改,防止恶意软件的加载。通过验证启动过程中的每一个组件,TPM确保系统的完整性。
  5. 增强的虚拟化安全:在虚拟化环境中,TPM可以用于隔离虚拟机之间的安全策略,确保每个虚拟机的安全配置独立于其他虚拟机。
  6. 远程证明(Remote Attestation):TPM可以生成系统的可信报告,供远程系统验证。通过这种方式,TPM能够在网络环境中提供设备的可信状态,增加网络通信的安全性。

发展历程小结

TPM规范经历了两次主要的改进:

  1. TPM 1.1b到1.2:主要涉及新旧功能的合并和功能增加,尽管功能逐渐增强,但复杂性也增加。
  2. TPM 2.0:从底层重新设计,更加集成化和统一的架构,以应对SHA-1的弱点,并提供更灵活的算法支持。

TPM技术不断发展,为计算机系统提供了强大的安全保障,成为现代计算机和网络设备中不可或缺的一部分。TPM的广泛应用不仅在于其硬件设计的安全性,还在于其能够与多种软件配合使用,提供全面的安全解决方案。通过TPM的技术,用户可以实现数据的安全存储、传输和管理,确保计算环境的整体安全。

相关推荐

  1. 计算机网络发展历史

    2024-07-09 17:36:07       15 阅读
  2. 计算机视觉发展历程

    2024-07-09 17:36:07       17 阅读
  3. 计算发展历程与边缘计算

    2024-07-09 17:36:07       15 阅读
  4. 计算机视觉发展历史、优势以及面临的挑战

    2024-07-09 17:36:07       17 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 17:36:07       50 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 17:36:07       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 17:36:07       43 阅读
  4. Python语言-面向对象

    2024-07-09 17:36:07       54 阅读

热门阅读

  1. 【PyQt5】

    2024-07-09 17:36:07       25 阅读
  2. 为啥AI要卷应用?

    2024-07-09 17:36:07       23 阅读
  3. TensorFlow在数据分析与挖掘中的应用:技术与实践

    2024-07-09 17:36:07       28 阅读
  4. 【问题记录】Jenkins Pipeline读取变量的各种方法

    2024-07-09 17:36:07       27 阅读
  5. Qt提升控件失败的解决办法

    2024-07-09 17:36:07       23 阅读
  6. uniapp页面进来直接横屏

    2024-07-09 17:36:07       20 阅读
  7. Django权限系统如何使用?

    2024-07-09 17:36:07       20 阅读
  8. 开源 WAF 解析:选择最适合你的防护利器

    2024-07-09 17:36:07       25 阅读