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

文章目录

    • TPM分析笔记(一) TPM历史
      • TPM的历史
        • 为什么选择用TPM?
      • TPM 1.1b到1.2的发展历史
        • TPM 1.1b
        • TPM 1.2
      • TPM由1.2发展到2.0版本
        • 安全需求变化
        • TPM 2.0的设计改进
      • TPM 2.0规范的开发历程
      • TPM的标准
      • TPM的常见用途
      • 发展历程小结

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的技术,用户可以实现数据的安全存储、传输和管理,确保计算环境的整体安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/787720.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

平安养老险安徽分公司“7·8保险宣传”走进企业

近日,平安养老保险股份有限公司(以下简称“平安养老险”)安徽分公司以“78全国公众宣传日”“保险,让每一步前行更有底气”为主题,走进某大型企业开展消费者权益保护专题教育宣传活动。 本次活动旨在向企业员工普及金…

【自学网络安全】:安全策略与用户认证综合实验

实验拓扑图: 实验任务: 1、DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问 2、生产区不允许访问互联网,办公区和游客区允许访问互联网 3、办公区设备10.0.2.10不允许访问Dmz区…

KIVY Button¶

Button — Kivy 2.3.0 documentation Button Jump to API ⇓ Module: kivy.uix.button Added in 1.0.0 The Button is a Label with associated actions that are triggered when the button is pressed (or released after a click/touch). To configure the button, the s…

HTML【详解】表格 table 标签(table的属性,语义化表格,简易表格,合并单元格)

html 中的表格 <table> 由行 <tr> 组成&#xff0c;每行由单元格 <td> 组成。 所以表格是由行组成&#xff08;行由列组成&#xff09;&#xff0c;而不是由行和列组成。 table 标签 display: table &#xff0c;属于块级元素。 table 的属性 border&#…

基于Java+SpringMvc+Vue技术的智慧校园系统设计与实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…

5G(NR) NTN 卫星组网架构

5G(NR) NTN 卫星组网架构 参考 3GPP TR 38.821 5G NTN 技术适用于高轨、低轨等多种星座部署场景&#xff0c;是实现星地网络融合发展的可行技术路线。5G NTN 网络分为用户段、空间段和地面段三部分。其中用户段由各种用户终端组成&#xff0c;包括手持、便携站、嵌入式终端、车…

uniapp内置组件uni.navigateTo跳转后页面空白问题解决

文章目录 导文空白问题 导文 在h5上跳转正常 但是在小程序里面跳转有问题 无任何报错 页面跳转地址显示正确&#xff0c;但页面内容为空 空白问题 控制台&#xff1a; 问题解决&#xff1a; 方法1&#xff1a; 可能是没有注册的问题&#xff0c;把没注册的页面 注册一下。 方…

互助学习平台小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;课程信息管理&#xff0c;课程分类管理&#xff0c;课程评价管理&#xff0c;学习计划管理&#xff0c;留言板管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;课程信息…

离线运行Llama3:本地部署终极指南_liama2 本地部署

4月18日&#xff0c;Meta在官方博客官宣了Llama3&#xff0c;标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验&#xff0c;Llama3 8B效果已经超越GPT-3.5&#xff0c;最为重要的是&#xff0c;Llama3是开源的&#xff0c;我们可以自己部署&#xff01; 本文和大家…

智能眼镜火热发展 AI+AR或将成为主流趋势?

日前&#xff0c;The Verge 发布消息称&#xff0c;AI 智能音频眼镜 Ray-Ban Meta 的销量可能已突破 100 万。Meta 在博客中也指出&#xff0c;Ray-Ban Meta 取得了超预期的市场表现&#xff0c;眼镜的销售速度比生产速度还要快&#xff0c;目前团队正着手于推出更多新款式。Ra…

产品推荐| 立錡低耗电器件:线性稳压器、Buck 和 Boost 转换器

想让电池用得更久、利用好它的每一份电力&#xff1f;低静态电流的电源转换器是你的必然选择。立錡深谙电源管理之道&#xff0c;为你备好了低耗电的各种产品&#xff0c;其中包括低压差线性稳压器、Buck 转换器和 Boost 转换器&#xff0c;最低消耗仅有 360nA&#xff0c;是无…

Linux多进程和多线程(八)多线程

多线程 线程定义线程与进程线程资源 线程相关命令 pidstat 命令 top 命令ps 命令常见的并发方案 1. 多进程模式2. 多线程模式 创建线程 1. pthread_create() 示例:创建一个线程 2. pthread_exit() 退出线程3. pthread_join() 等待线程结束 示例: 线程分离 创建多个线程 示例 1:…

构造二进制字符串

目录 LeetCode3221 生成不含相邻零的二进制字符串 #include <iostream> #include <vector> using namespace std;void dfs(string s,int n,vector<string>& res){if(s.size()n){res.push_back(s);return;}dfs(s"0",n,res);dfs(s"1"…

Invoice OCR

Invoice OCR 发票识别 其他类型ORC&#xff1a; DIPS_YTPC OCR-CSDN博客

前端面试题31(TCP与UDP区别)

TCP (Transmission Control Protocol) 和 UDP (User Datagram Protocol) 是两种在网络通信中常用的传输层协议&#xff0c;它们在多个方面存在显著差异&#xff0c;主要体现在以下几个方面&#xff1a; 连接方式&#xff1a; TCP 是面向连接的协议。在数据传输开始之前&#xf…

怎么将图片旋转30度?旋转图片的几种方法推荐

怎么将图片旋转30度&#xff1f;在创作过程中&#xff0c;我们常常需要处理图片的镜像效果&#xff0c;确保其视觉效果和构图都达到最佳状态。镜像效果的合理运用不仅可以解决视觉单调的问题&#xff0c;还能在艺术作品中吸引观者的注意力。此外&#xff0c;镜像可以有效地调整…

【LeetCode刷题笔记】LeetCode.11.盛最多水的容器

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

JavaScript 作用域 与 var、let、const关键字

目录 一、JavaScript 作用域 1、全局作用域 2、函数作用域 3、块级作用域 4、综合示例 5、总结 二、var、let、const 1、var 关键字 2、let 关键字 3、const 关键字 4、总结 5、使用场景 一、JavaScript 作用域 在JavaScript中&#xff0c;作用域是指程序中可访问…

【堆 (优先队列) 扫描线】218. 天际线问题

本文涉及知识点 堆 &#xff08;优先队列) 扫描线 LeetCode218. 天际线问题 城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度&#xff0c;请返回 由这些建筑物形成的 天际线 。 每个建筑物的几何信息由数组 buildings 表示&…

面经-计算机网络-数据结构-堆

1.什么是堆 堆是一种满足以下条件的树&#xff1a; 堆中的每一个节点值都大于等于&#xff08;或小于等于&#xff09;子树中所有节点的值。或者说&#xff0c;任意一个节点的值都大于等于&#xff08;或小于等于&#xff09;所有子节点的值。 2.堆的用途 当我们只关心所有数…