在 1990 年代,Internet 改变了大家使用习惯的同时,也改变了个人电脑(PC)的连接方式,而最初的 PC 无论在硬件方面还是软件方面,都没有安全相关的设计,当 Internet 席卷而至,PC 的安全需求也突然增加。
因此,为了纠正初始设计的错误并解决实际遇到的安全问题,多个公司联合成立了可信计算平台联盟( TCPA ),专注于从计算平台体系结构上增强其安全性。
2003 年 3 月 TCPA 改组为更具商业性质的组织 TCG (Trusted Computing Group),其目的是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。
01 TCG“组织成员”介绍
什么是 TPM
TPM 英文全称为 Trusted Platform Module,中文译为可信赖平台模块,也可译为受信任平台模块。
TPM 安全芯片是指符合TPM标准的安全芯片,植于计算机内部、为计算机提供可信根。它能够有效地保护 PC 、防止非法用户访问。符合 TPM 的芯片首先必须具有产生加解密密钥的功能,此外还必须能够进行高速的资料加密和解密,以及充当保护 BIOS 和操作系统不被修改的辅助处理器。
什么是可信计算
可信计算英文全称为 Trusted Computing ,简称 TC ,是一项由 TCG 推动和开发的技术。其核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。在系统和应用中加入可信验证能够保证系统和应用的完整性,减少由于使用未知或被篡改的软件而遭受攻击的可能性。
可信并不等同于安全,但它是安全的基础。没有可信这个基础和前提,安全方案、策略就不能保证运行在未被篡改的环境下。这就好比一座没有打好地基的高楼,上层再坚固结实、美观华丽也难逃“倾覆”的命运。
其它“家族名片”
-
TCG
其英文全称为 Trusted Computing Group ,中文译为可信计算组。
-
TCM
TCM 的英文全称为 Trusted Cryptography Module ,中文译为可信密码模块,是可信计算平台的硬件模块,为可信计算平台提供密码运算功能,具有受保护的存储空间。TCM 为我国国内研究,与 TPM 相对应。
-
TPCM
TPCM 的英文全称为 Trusted Platform Control Module ,中文译为可信平台控制模块,由沈昌祥院士首先提出。TPCM 内部集成了 TCM 芯片,并且增加了控制功能,解决了 TPM 中 RTM 的安全问题。
-
TSS
TSS 的英文全称为 TCG Software Stack ,中文译为可信软件栈。TSS 是可信计算平台上 TPM 的支撑软件,其主要作用是为操作系统和应用软件提供接口。
02 TPM的作用和用途
TPM 包含随机数生成、加密密钥的安全生成以及它们的使用限制的功能,还包括诸如远程证明和密封存储等功能。TPM 安全芯片用途十分广泛,配合专用软件可以实现以下用途:
存储、管理BIOS开机密码以及硬盘密码
以往这些事务都是由 BIOS 做的,一旦忘记了密码只能取下 CMOS 电池,给 CMOS 放电清除密码。如今这些密钥实际上存储于固化在芯片内部的存储单元中,即便是掉电其信息亦不会丢失。相比于 BIOS 管理密码, TPM 安全芯片的安全性要大为提高。
进行范围较广的加密
TPM 安全芯片除了能进行传统的开机加密以及对硬盘进行加密外,还能对系统登录、应用软件登录进行加密。比如 MSN、QQ、网游以及网上银行的登录信息和密码,都可以通过 TPM 加密后再进行传输,这样就不用担心信息和密码被人窃取。
加密硬盘的任意分区
TPM 安全芯片可以加密笔记本上的任意一个硬盘分区,用户可以将一些敏感的文件放入该分区以策安全。有些笔记本厂商采用的一键恢复功能,就是该用途的集中体现之一(其将系统镜像放在一个 TPM 加密的分区中);还有一些大型商业软件公司(如 Microsoft )也会利用其作为加密分区的手段(如著名的 BitLocker )。
03 TPM规范
迄今为止,TPM 规范主要经历了三个版本、两次演进:
TPM 1.1
2001 年发布的 1.1 及 2003 年发布的 1.1b 是第一个 TPM 规范。其定义了 TPM 的基本功能和接口,包括密钥管理、安全启动、追溯性和测量等。
TPM 1.2
TPM 1.2 规范于 2003 年发布,是 TPM 1.1 的升级版。它增加了对称密钥加密、密钥转移和授权等功能,并提高了安全性。
TPM 2.0
TPM 2.0 规范于 2014 年 10 月发布。相较于之前的 TPM 1.2,TPM 2.0 更改和增强的功能如:对其它加密算法的支持、应用程序的 TPM 可用性增强、增强的授权机制、简化的 TPM 管理等。TPM 2.0 还支持更广泛的平台,包括移动设备和嵌入式系统。
除了以上三个版本 TPM 规范外,还有一些其它的规范,如:TPM for Mobile Devices(TPM-M)和 TPM for Network Equipment(TPM-N),它们分别针对移动设备和网络设备的需求做了定制化的设计。
04 TPM的软件栈——TSS
TSS 是 TPM 的软件栈,是一种 TCG 软件标准,允许应用程序以一种便携的方式调用栈中各层的 API 。TSS 在 TPM 中的作用是至关重要的,没有 TSS 的支撑,TPM 设备就像是一辆装满油却没有司机的汽车,动力十足却寸步难行。接下来就对 TPM 2.0 的 TSS 层次进行总体介绍。
特征API(FAPI)
技术人员应基于 FAPI 来编写大部分的应用程序,因为该层能够用于 80% 的用例。使用本层 API 来编写应用程序,类比于 TPM 是由 Java、C# 或者其它高级语言编写而成的。
增强系统API(ESAPI)
理解和使用 ESAPI 层需要大量的 TPM 知识,但它会提供一些会话管理和密码功能支持。使用本层 API 来编写应用程序,类比于使用 C++ 编写应用程序。
系统API(SAPI)
技术人员也可基于 SAPI 层编写应用程序,但这需要更丰富的 TPM2.0 专业知识。这类比于用 C 语言编程而非更高级的语言。它能让你访问 TPM 的所有功能,但需要使用高级的专业知识。
TPM命令传输接口(TCTI)
TCTI 层用于传输 TPM 命令和接收响应。类比于汇编编程,应用程序可被写为:发送命令数据的二进制流到 TCTI 和从 TCTI 接收二进制数据响应。
TPM访问代理(TPM Access Broker,TAB)
TAB 层控制多进程同步访问 TPM 。基本上,它允许多个进程访问 TPM 而不会互相干扰。
资源管理器(Resource Manager,RM)
TPM 片上存储空间非常有限,因此 RM 以类似于 PC 上虚拟内存管理器的方式,负责 TPM 对象和会话在 TPM 内部存储空间的换入换出。
设备驱动(Device Driver)
最底层是设备驱动层,其负责进出 TPM 数据的物理传输。使用该接口也是可能的,就像使用机器语言直接通过二进制编程一样。
05 总结
近年,TCG 又加大了推广力度,目前已发展成员 190 家,遍布全球各大洲主力厂商,推动了整个产业链(包括安全芯片、主板、BIOS、芯片组、CPU、OS、中间件、上层应用、CA、安全认证)的形成,对IT产业的影响非常巨大。
在移动设备的类型逐渐增多的今天,如何实现多设备之间的通信变成了每个厂商不变的课题,但同时,也导致了信息安全的漏洞越来越多!鼎道智联专注于操作系统开发的同时,信息安全规则也是我们非常关注的一环。鼎道智联开发的 DingOS 操作系统致力于带给用户更便捷、绿色、安全的操作体验,真正实现“助天下人尽享智能物联服务”,如果你也认可我们的想法,欢迎扫描下方二维码加入鼎道生态~
评论记录:
回复评论: