TCM、TPM、TPCM的区别(tcm和tpcm)

关于可信计算的几个基本概念,整合了网络上几篇文章的内容,具体引用已标注,尊重版权,感谢作者。

1、概述

1.1 背景

IT业界从1999年开始,就有一个由Intel、IBM、HP、Microsoft、Compaq发起的TCPA(Trusted Computing Platform Alliance)组织在推动构建一个可信赖的计算环境,这个组织的成果是定义了一个平台设备认证的架构,以及嵌入在主板上的安全芯片(TPM:Trusted Platform Module)和上层软件中间件TSS(Trusted Software Stack)的第一个规范,到2003年初,IBM已经推出了将近1000万台带有安全芯片的电脑;2003年TCPA重新组成了一个更加具有商业性质的组织TCG(Trusted Computing Group),加大了产业推广力度,至今为止,已经有Intel、AMD、Microsoft、IBM、HP、Sony、Sun 7个发起成员.Intel和微软这两大行业巨头在TCG组织中发挥了越来越重要的作用,并且投入了很大的资源推动了整个产业链(包括安全芯片、主板、BIOS、芯片组、CPU、OS、软件中间件、单机上层应用系统、电子商务应用系统、CA系统、安全认证)的形成,因此TCG组织对IT产业的影响将非常巨大。

TCG要求的关键部件TPM1.2安全芯片是嵌入密码型计算机的核心部件,通过LPC总线接口放置在主板上,芯片内部是一个完整的安全计算环境,内部结构包括:

1、低功耗的32位RISC CPU;

2、CPU访问片内外围模块的通道;

3、中断控制器(Interrupt Controller);

4、时钟发生器(Clock Generator);

5、对外IO端口;

6、RAM;

7、ROM;

8、Flash;

9、SHA/HMAC模块;

10、RSA协处理器模块;

11、真随机数产生模块。

TPM1.2安全芯片提供了平台完整性度量、提供平台唯一身份标识、提供硬件级的密钥保护等基本安全功能,为可信计算提供基础硬件支撑。

国际TPM1.2产品的日益成熟,为什么我们国内还要自己做TCM呢?两者又有什么差别呢?

计算机系统安全是信息和网络安全的基础,而信息和网络安全已成为国家安全的一个重要组成部分。1997年我国出台的《商用密码管理条例》明确规定:国家任何商用密码的研制、生产和销售都必须接受专控管理。任何国外生产的商用密码产品未经许可都不允许中国市场上销售。《商用密码管理条例》的出台也表明信息安全类产品不能依赖别人,也不可能依赖别人,必须立足于国内自主开发。国际TCG组织也同样认识到这一点,在TPM标准中对其核心算法的替换已经提上议事日程。

同时,考虑到中国安全芯片标准发展时间比较短,参考国际规范可以避免我们走很多弯路;同时对于以后将中国标准让国际规范兼容和采纳,有很大的帮助。因此TCM与TPM1.2有很多的相同点,TCM是借鉴了TPM1.2的架构,替换了其核心算法后的产品。同时TCM中也按照我国的相关证书、密码等政策提供了符合我国管理政策的安全接口。

可信计算的理念是从根本上完善了PC结构,从硬件到软件,提供完善的体系来防范日益猖獗的病毒、木马,希望这一天尽快来到。让所有人都不用为了安全问题而担忧,可以尽情地享受互联网和高科技带来的便利和乐趣。

1.2 名词

TPM(Trusted Platform Module)可信平台模块;是一种植于计算机内部为计算机提供可信根的芯片。该芯片的规格由可信计算组(Trusted Computing Group)来制定。

TCM(trusted cryptography module)可信密码模块; 是可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间,是我国国内研究,与TPM对应。

TPCM(Trusted Platform Control Module)可信平台控制模块;让可信平台模块具有对平台资源进行控制的功能。

TSS(TCG Software Stack):可信软件栈,是可信计算平台上TPM的支撑软件。TSS的主要作用是为操作系统和应用软件提供使用TPM的接口。

TNC(Trusted Network Connect):可信网络连接技术,用来实现平台到网络的可信扩展,以确保网络的可信。

2、原理

2.1 TPM 原理

各部件功能:

I/O部件完成总线协议的编码和译码,并实现TPM与外部的信息交换

密码协处理器用来实现加密、解密、签名和验证签名的硬件加速

HMAC引擎是实现基于SHA-1的Hash函数消息认证码HMAC的硬件引擎,其计算根据RFC2014规范

SHA-1引擎是Hash函数SHA-1的硬件执行

密钥生成部件用于产生RSA密钥对

随机数发生器是TPM内置的随机源,用于产生随机数

电源检测部件管理TPM的电源状态

执行引擎包含CPU和相应的嵌入式软件,通过软件的执行来完成TPM的任务

非易失性存储器主要用于存储嵌入式操作系统及其文件系统,存储密钥、证书、标识等重要数据

优点和不足

优点:TPM体现了TCG以硬件芯片增强计算平台安全的基本思想,为可信计算平台提供了信任根。TPM以密码技术支撑TCG的可信度量、存储、报告机制,为用户提供确保平台系统资源完整性、数据安全存储和平台远程证明等可信服务

不足:

TPM被设计成一种被动部件,缺少对平台安全的主动控制技术

缺少芯片本身物理安全方面的设计

可信度量根RTM是一个软件模块,它存储在TPM之外,容易受到恶意攻击

采用LPC总线与PC平台连接,不适合大数据量的通信

TPM的设计主要是面向PC平台的,对于服务器和移动计算平台并不完全适合

TPM在密码配置和密钥管理方面也存在较多不足

2.2、TSS:基本架构、原理

基本架构:可信软件栈具有多层次的体系结构,可分为TSS服务提供层TSP、TSS核心服务层TCS、TSS设备驱动层TDDL,每个层次都定义了规范化的数据接口。TSP主要作为本地和远程应用的可信代理,TCS用于提供公共服务的集合,TDDL负责和TPM的交互

原理:最上层的TSP是向用户的应用程序提供接口,它把来自应用程序的参数打包传给TCS模块,由TCS模块来提供具体的功能函数;TCS模块把来自TSP模块的参数进行分析和操作以后写成一个TPM可以识别的字节流,通过TDDL传到TPM里面去,TPM接收到字节流以后进行相应的操作,把结果以字节流的形式通过TDDL返回到TCS,TCS对字节流分析以后把结果传给TSP,最后由TSP把正式的结果返回给应用程序。

3、可信链

信任链

信任链基本定义:信任链是信任度量模型的实施技术方案。信任链技术是可信计算的关键技术之一。可信计算平台通过信任链技术,把信任关系从信任根扩展到整个计算机系统,以确保可信计算平台的可信。

TCG给出的信任链定义如下:CRTM->BIOS->OSLoader->OS->Applications

模型:

信任链交互模型

信任链复合模型

结构

具有数据恢复的星星信任结构

将可信度量根RTM、可信存储根RTS和可信报告根RTR集为一体,都集成在TPM芯片中

对所有被度量的软件(BIOS,OS Loader,OS,Applications) 都进行数据备份

在信任度量过程中,当发现某个被度量软件的完整性被破坏时,进行备份恢复

不足

尚未有研究机构对信任链的本质进行有效刻画和理论描述

通过信任链技术,可信计算着力于保护代码和数据的完整性,却没有设计平台秘密信息、用户私有数据的机密性,只有完整性机制,而缺少机密性机制,这对于终端安全来说是不完善的

基本应用(计算机安全启动)

4、可信计算

可信计算基本思想,利用远程证明数字版权保证安全性

可信计算基本思想:在计算机系统中,首先构建一个信任根,再建立一条信任链,从信任根开始到硬件平台、到操作系统、再到应用,一级度量一级,一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信

5、开源项目

了解了可信计算的思想和原理,如果不从实际上体验一把可信计算的功能也是很痛苦的。而现在在国内使用TPM的芯片很困难,TCM芯片在很多方面可能与国际主流用法不一致。因此,为了实际使用可信计算功能,这里推荐一些开源项目。

(1)TPM Emulator

开源地址:https://github.com/PeterHuewe/tpm-emulator

不需要实际TPM芯片就可以通过软件提供可信平台模块的功能,可以在Windows和Linux上进行编译后使用,建议和可信软件栈TROUSERS一起使用。

(2)可信软件栈TROUSERS

开源地址:http://sourceforge.net/projects/trousers

IBM实现的一套开源软件栈,是Linux下进行可信计算应用开发的主要接口。

(3)IBM Software TPM

开源地址:http://ibmswtpm.sourceforge.net/

提供了一全套实践可信计算的软件工具:包含软件TPM模拟器、libtpm库(类似可信软件栈TSS)、实例命令(用C语言写,可以直接访问TPM命令接口,测试可信计算的功能),而且通过提供的TPM Proxy代理可以去实际TPM芯片、以及其他软件模拟的TPM Emulator进行通信。

(4)OpenTC项目

开源网址:www.opentc.net

是欧盟赞助的一个可信计算项目,目标是开发一套完整的可信操作系统,出了很多成果,包含Trusted XEN Virtualisation OS,Trusted Linux以及Trusted Microkernel for small and embedded systems等。

(5)Trusted JAVA项目

开源网址:http://trustedjava.sourceforge.net/

是OpenTC项目的一部分,显示了如何使用Java来使用TPM和TSS的功能,由IAIK开发,可以支持跨平台的使用可信计算功能。

(6)TPM4JAVA

开源网址:http://tpm4java.datenzone.de/trac

另一个可信Java工程,不过主要由Technical University of Darmstadt大学主持。

(7)内核完整性度量IMA

开源网址:http://sourceforge.net/p/linux-ima/wiki/Home/

结合TPM安全芯片,在Linux内核实现了可信计算的完整性度量体系,对所有可执行程序进行了度量。

(8)EMSCB项目

开源网址:http://www.emscb.com/content/pages/49241.htm

由德国政府赞助,基于对TPM的使用开发一些典型的安全应用(如加密等)。可以基于它们的代码理解可信应用开发的思路,以及嵌入到其它应用开发中。

6、参考资料

①、可信平台模块TPM(Trusted Platform Module)介绍及tpm-tools安装使用

https://blog.csdn.net/u012386311/article/details/105643473?utm_medium=distribute.pc_relevant_download.none-task-blog-blogcommendfrombaidu-3.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-blogcommendfrombaidu-3.nonecas

②、TPM、TCM分别是什么?

http://blog.sina.com.cn/s/blog_5ac906b50100ajul.html

③、TPM工作原理

https://blog.csdn.net/zhangnn5/article/details/6857397

④、信息安全导论复习

https://blog.csdn.net/rectsuly/article/details/72826014

⑤、可信计算复习

https://blog.csdn.net/lcl_xiaowugui/article/details/80821297

————————————————

版权声明:本文为CSDN博主「加糖小馒头」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/xiaoju14/article/details/109717146

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(1)
上一篇 2022年7月9日 上午10:12
下一篇 2022年7月9日 上午10:26

相关推荐