安全技术篇 – 可信平台模块(TPM)

一、背景

随着数字技术的不断发展,电子设备,特别是计算设备,已成为人们生活和工作中不可或缺的一部分。然而,这些设备面临着种种安全威胁,比如恶意软件的攻击、数据泄露、身份盗窃及未经授权的访问等。为了应对这些挑战,提出并实施了硬件基础的安全技术,TPM(Trusted Platform Module,即可信平台模块)就是其中的一种技术。

TPM是由国际标准制定组织TCG(Trusted Computing Group)开发的标准。它的主要目的是在硬件水平上为计算设备提供基础的安全特性。TPM是一种微控制器,能够在电脑主板上单独作为一个模块存在,也可以集成在其他芯片中。它能够执行基础的加密操作,包括生成密钥对、加密解密数据,以及确保数据的完整性。

TPM还具备特殊的功能,比如能够安全地存储密钥 (包括加密密钥和签名密钥) 和其他敏感信息,以及进行远程认证和整体性检测。这些特点使TPM模块成为确保计算环境信任和安全的重要组成部分。

TPM的使用目的可以概括为以下几点:

增强设备安全性。在硬件级别提供安全功能,使得安全性不完全依赖操作系统或者软件层面的防护。

安全存储。保护敏感信息,如加密密钥、数字证书等,防止被恶意软件或未经授权的用户访问。

完整性度量。通过将系统启动时的环境指标和数据测量值存储在TPM上,建立一个可信启动的环境,确保系统在软件和硬件未被篡改的情况下启动。

认证。TPM能够帮助进行设备认证,确保数据和交易的安全性,特别是在网络通信和电子商务中。

遵守法律法规:特别是在涉及个人隐私信息和数据保护法规的情况下,TPM有助于满足合规要求。

二、fTPM与dTPM

TPM 设计用于执行加密操作、生成和存储安全密钥、以及保证启动过程的安全性,确保硬件和软件状态可被信任。TPM 可以以两种不同形式出现,即物理硬件(dTPM)和固件(fTPM)。

fTPM 是将 TPM 功能集成到设备固件中,比如集成到CPU或系统的其他安全执行环境中。这提供了与物理TPM相同的功能,但却是在软件层面上实现,消除了对一颗独立物理芯片的需求。

dTPM 是一个独立的硬件芯片,安装在计算机的主板上。它提供了一个抵御物理攻击的安全环境,保护存储在其内部的密钥和敏感数据。

三、TPM1.2 和 TPM2.0

TPM标准也经历了几代技术更新,主要包括 TPM1.2 和 TPM2.0。

TPM 1.2 这是较早的TPM版本,支持如RSA和SHA-1等加密算法。TPM 1.2 提供一套有限的命令集,以及固定数量的平台配置寄存器(PCR),用于从系统引导序列中度量和存储信任值。

TPM 2.0 相对于 TPM 1.2,TPM 2.0 提供更多的改进和灵活性。它支持更多的加密算法,如SHA-256,并且允许对PCR进行动态分配。TPM 2.0 还拓展了命令集、提供了更为灵活的权限控制和增强了用户自定义功能。

四、硬件组成架构

I/O(输入/输出):负责与外部设备进行数据交换,接收指令和返回操作结果。

非易失性存储(Non-Volatile Storage):用于永久存储加密密钥、数字证书和系统状态等敏感数据,即使在断电的情况下,数据也不会丢失。

易失性内存(Volatile Memory):在TPM工作时暂时存储数据,通电时保持数据,断电后数据会消失。

非对称引擎(Asymmetric Engines):执行非对称加密算法,如RSA和ECC,用于创建数字签名和解密操作。

对称引擎(Symmetric Engines):执行对称加密算法,用于快速加密和解密大量数据。

随机数生成器(Random Number Generator):生成高质量的随机数,为加密操作提供必需的随机性。

密钥生成(Key Generation):在TPM内部生成加密密钥,确保密钥的安全性和唯一性。

密钥管理(Management):管理和保护加密密钥的使用和存储。

授权(Authorization):验证访问请求,确保只有经过授权的操作才能使用密钥或数据。

执行引擎(Exec Engine):处理和执行TPM命令,控制各个组件的操作。

电源检测(Power Detection):监测TPM的电源状态,确保在断电情况下数据的安全存储和适当的关机流程。

五、PCRs与Index

平台配置寄存器(Platform Configuration Registers, PCRs)是TPM中重要的组成部分,它们用于存储从系统启动至系统运行期间的可信度量值,保障系统的完整性和可信状态。在TPM中的每个PCR都有一个唯一的索引号,用于引用和存取相应的PCR内容。

5.1 PCR的作用

储存度量值。PCRs存放硬件、固件、软件以及配置数据的度量值,这些值通常在系统启动阶段,由可信启动组件通过哈希操作生成。

确保系统完整性。通过比较当前度量值与预期值,可以检测系统是否遭受未授权改动。

保护密钥和数据。TPM利用PCR状态对密钥和敏感数据进行加密保护,仅在特定的PCR状态下,这些数据才可以被解密和访问。

5.2 索引的意义

唯一性。每个PCR通过其索引号被唯一定位,这个索引号在TPM规范中有特定的意义和预定义的用途。

指向特定用途。根据TPM规范,某些PCR索引对应特定的系统组件或操作,例如BIOS、引导加载器、操作系统等。

区域隔离。不同的PCR索引可以存储来自不同源的数据度量,从而在PCR内部创造分区,隔离不同的系统部分。

5.3 PCR索引举例

在TPM 1.2标准中,至少包含16个PCR,而在TPM 2.0标准中,至少包含24个PCR。PCR的索引通常从0开始,例如:

PCR[0]:通常用于存储固件或BIOS的度量。

PCR[1]:可以用于存储BOOT loader的度量。

PCR[2]:通常用于存储操作系统加载器的度量。

5.4 管理

PCR值的更新是通过所谓的“扩展”操作进行的,这是一个不可逆转的过程,即新的度量值会与当前的PCR值进行哈希运算后,再写回对应索引的PCR中。这个过程保证了每次系统启动时,对系统的改动都会在PCR的值变化中体现出来,以确保系统的可信状态。

六、结语

随着智能设备和自动化技术在全球范围内的普及,TPM作为一个核心的安全构件,它的角色和功能被日益凸显。作为数字化生活和工作中不可或缺的防护部分,我们可以预期TPM将继续进化,与新的技术和挑战同步前进,以响应不断变化的安全环境需求。未来,TPM必将在保护我们的数字身份、隐私和数据中扮演更为关键的角色。

版权声明:
作者:bin
链接:https://ay123.net/mystudy/1767/
来源:爱影博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
安全技术篇 – 可信平台模块(TPM)
一、背景 随着数字技术的不断发展,电子设备,特别是计算设备,已成为人们生活和工作中不可或缺的一部分。然而,这些设备面临着种种安全威胁,比如恶意……
<<上一篇
下一篇>>
文章目录
关闭
目 录