1. 可信计算在国外的应用
最早的可信计算标准由国外的IT企业提出,在计算机系统中植入一个密码芯片,即可信芯片,来提升系统的安全性。可信计算技术的引入解决了传统计算机无安全组件的问题,敏感信息的数据可以使用可信芯片来保护。例如,在IBM高端商务笔记本T30、T60等产品中,就采用可信芯片来保护指纹、密码的安全,有效防止了针对密码和敏感信息的“离线”攻击。
TCG_TPM2系列标准是国外最新的可信计算标准,它对可信计算的架构、芯片功能、接口规范等做了明确的定义。TPM2.0开始由TCG组织负责标准的定义和研制,也推出了更为全面的软件栈(TSS)、工具和例程。
目前,TPM2相关开源技术原型主要由两个组织在维护:1、TCG组织维护;2、IBM的团队。两套代码都可以从GITHUB上下载。前者完全按照TPM2的架构来构建,分层比较多,代码复杂;后者对多个分面进行了合并,相对简单(合并了EAPI和FAPI)。TPM2.0架构如下图所示:
图 TPM2.0架构(来源 a practical guide to tpm2.0)
2. 可信计算在国内的应用
我国于2019年发布了新版的《GB/T22239-2019 信息安全技术 网络安全等级保护基本要求》(简称:等级保护2.0)标准,在该标准中首次引入了“可信验证”的技术规范。该标准的发布,标志着信息安全领域进入了可信计算的时代。等级保护2.0中主要有三大特点:1、集中管理;2、行业细分要求;3、可信验证。
- 集中管理主要体现在“一个中心三重防护”的建设理念。在信息系统的建设过程中,需要对策略、审计、告警等信息进行集中化管理,管理范围需要覆盖到计算终端、网络边界、网络通讯的各个位置,形成立体化的防御效果。
- 行业细分要求主要是在四个等级的基础上,对工业控制、云计算、大数据领域做了分类要求。
- 可信验证要求则完全覆盖四个等级的不同领域,要求计算节点具备可信启动、静态验证、动态验证的能力,产生的信息和日志需要对接到态势感知平台。
同时,不同行业也针对可信计算推出了定制化的技术规范和应用规范。
3. 国内外可信计算的对比
TCG组织推广应用的可信计算技术主要采用TPM技术规范,可信芯片在系统运行过程中扮演的是一个被动调用的设备。在应用程序或系统需要TPM提供密码服务时,通过软件栈(TSS)调用TPM的密码服务。典型的应用比如:存储密钥、获取启动状态等。
TPM2.0在TPM1.0的基础上做了多方面的升级,比如:增加了对称密码、更为丰富的接口、增强的认证授权方式等。随着技术的发展一些主CPU内部也开始集成TPM2.0的功能逻辑,比如:AMD的PSP、ARM的Trustzone等。
国内的可信计算技术分为两个方面:
- 第一个方面是基本参考TPM的技术规范和设计,提出了自己的可信密码模块(TCM)。TCM在体系架构、功能服务上有很多相似之处。两者的主要区别在接口规范、密码算法等方面。
- 第二个方面是由沈昌祥院士提出的可信平台控制模块(TPCM)技术。TPCM的内部集成了TCM芯片,并且增加了控制功能,解决了TPM中RTM的安全问题(TPM中RTM不在TPM内部,容易遭受攻击)。
我国的可信计算技术短短10多年就实现了从学习模仿到超越,足以证明我国的科研技术水平进步之快。
4. TPCM技术
目前,我国已经发布了TPCM的国标技术规范。在该规范中,定义了TPCM的双体系技术架构,如下图所示:
图 TPCM的双体系架构(来源:GB/T 40650-2021)
由上图可以看出,作为防护部件的TPCM可以实现对系统固件(如:BIOS)的度量,说明TPCM内部集成了RTM。这种设计保证了TPCM先于BIOS启动,但同时也增加了主板硬件的改造工作。
TPCM可以主动获取计算部件的内存、IO、固件中的度量对象信息,并进行度量和验证。主动度量失TPCM的主要特点,它是区别于TPM的关键点。简单点说,TPM在使用时才会被调用,而TPCM在系统运行过程中,不断通过数据总线获取内存中的数据信息进行度量,并对比自身内部基准库中的策略,来判定度量结果。
TPCM的内部集成的TCM模块,为TPCM的度量过程提供了硬件级的密码算法,安全性更高。我们也可以通过TCM的软件栈,访问TCM芯片,使用TCM功能。由于TPCM提供了更多的系统环境度量手段,TCM提供的服务更加安全。
5. 总结
国内外都提出了自己的可信计算芯片:TPM和TCM。TPM的应用较为广泛,在很多大型IT公司的产品已规模应用,如:微软、IBM、联想等。TCM起步较晚,普及率不高,但随着政策和国产化要求越来越多,相信很快会掀起一股热潮。
我国自主研发的TPCM技术,在对传统TPM、TCM缺点进行了修复,并在功能、性能、安全性上进行了增强,但也更为复杂。但TPCM通过主动度量机制,构建了一个完整的信任体系,提高了系统的安全性。
可信计算技术的应用越来越广,政策要求也越来越多,但是国内的相关文档和学习材料还是不多,多停留在理论和研究层面。相比之下,国外TCG组织发布的文档更为完整,多款开源软件也为研究学习可信计算提供了参考。我们也亟需从文档、参考示例、实验环境等多个方面逐步完善。