可信验证与TPCM技术
Posted 积微子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可信验证与TPCM技术相关的知识,希望对你有一定的参考价值。
1 可信验证
在新版的《GB/T22239-2019 信息安全技术 网络安全等级保护基本要求》(简称:等级保护2.0)标准中,最大的亮点就是增加了“可信验证”技术要求,从一级到四级,有不同层次的定义。四级的要求如下所示:
“可基于可信根对设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的所有执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心,并进行动态关联感知。”(来源:GB/T22239-2019)
除去四级中“态势感知”的关联要求,整个可信验证的技术要求总结如下:
1、基于可信根构建系统。
在规范中提到的可信根虽然明确定义,但是国内外可信计算标准都有一个统一的认识---采用硬件密码芯片来构建可信根。目前,可信根的构建方式大致有如下几种:TCM、TPM、TPCM、密码芯片。
由于密码芯片不满足可信计算相关的接口、技术规范,所以理论上可以构建可信根,但是无法满足其他功能要求。
TCM和TPM满足可信密码技术要求,可以满足构建可信根的要求。
TPCM内部封装了TCM模块,所以也就顺理成章的满足要求。
2、基于可信根实现启动信任链功能。
信任链是指在系统上电后,通过可信根去度量启动过程中各个组件的完整性。
信任链是一个信任传递的过程,可信系统的起点应该从一个绝对可信的起点开始。通常可信系统的起点就是可信密码芯片(简称:可信芯片)。在可信芯片完成上电自检后,由其完成其它组件的完整性度量(可以简单理解为hash值计算,并对比)。一个简单的通用计算机的可信启动顺序如下:
可信芯片自检-->Bios-->bootloader-->kernel-->驱动程序--->可信基-->软件程序
这个流程里省略去其它硬件初始化过程和并行处理的过程,但主要的流程基本完整。信任链的构建过程需要每一个组件调用可信芯片去度量下一个组件,并由可信芯片的PCR保存每个阶段的状态。PCR采用了hash扩展的方式进行管理,实现了整个启动过程状态不可篡改的效果。该设计特别适合某些安全性要求高的硬件系统,比如:长期无人值守的户外设备(摄像头、监控装置等)、网安产品等。
3、对系统中的执行程序或环境进行可信验证。
“对系统程序、重要配置参数、应用程序等进行可信验证”的要求,主要对程序、文件等进行实时监控、验证,防止非法程序的启动,防止被篡改的文件被误用。目前,已经有比较成熟的技术方案,例如:基于LSM架构的SELINUX、IMA。
“所有执行环节进行动态可信验证”的要求就比较高了。但是,标准中并没有明确关键环节都包括哪些。这就是标准制定者的智慧了,为各厂商的提供了丰富的想象空间,为安全技术的发展指明了方向。目前,国内的冯登国、石文昌等知名学者的团队已经针对进程、操作系统动态度量提出了切实的解决方案。
通过以上分析我们发现,“可信验证”要求通过可信根构建的信任体系保证了固件、启动程序、系统程序、应用程序的安全。在系统运行过程中对程序和操作系统的关键数据结构、行为等进行动态监控。整体上从静态和动态两个方面保证了系统的可信运行。
2 TPCM技术
我国在2021年正式发布了可信平台控制模块的国标规范(GB/T 40650-2021)。该标准中,明确定义了TPCM的体系架构(见下图)。从规范中我们就能体会到,TPCM的“主动度量和主动控制”是其主要特征,其具备的密码管理、身份验证、策略管理等都在为其做支撑。
图 TPCM的双体系架构(来源:GB/T 40650-2021)
下面对TPCM的主要特点做一个汇总,信息来源主要参考TPCM国标技术规范GB/T 40650-2021。
1、不同于传统的计算机启动流程,TPCM为第一个启动的设备。通用的计算机大概有两种启动方式:方式1、CPU上电后首先执行BIOS/UEFI;方式2、服务器通常首先执行BMC模块,完成后再执行方式1的流程。TPCM首先执行,就意味着传统计算机的上电流程就要做调整。(关于主板对TPCM的支持,可以参考国标可信平台主板功能接口)
2、在启动信任链的构建过程中,如果有某个阶段度量失败(如:kernel被篡改),TPCM可以实现启动过程的阻断。
3、TPCM具备更强的运算能力,可以对程序、内存等进行快速度量。
4、TPCM可以参与到可信网络环境的构建。TPCM可以实现将可信状态传播到网络中,主机可以通过密码算法对通讯两端的可信状态进行检查和验证,保证环境可信、状态可信、来源可信。
5、由于TPCM内部具备TCM功能,可以通过分层的接口对其它软件开放功能和服务。TPCM提供的接口除了TCM接口,其主动度量、认证授权等都进行了开放(如下图所示)。
6、TPCM可以实现内存的主动访问。其可以在不受主机系统干涉的情况下,通过数据总线访问内存中的数据块,充分体现了双体系架构的精髓。
图 TPCM的组成(来源:GB/T 40650-2021)
总结来说,TPCM的设计可以说是国内可信计算技术的突破式创新,不仅集成了传统可信计算密码技术,而且在单机系统中开创了基于硬件板卡的安全解决方案。双体系的架构设计,就像为传统的计算机引入了监管机构。
3 TPCM如何实现可信验证
通过分析“可信验证”技术要求和TPCM功能特点,我们发现TPCM技术可以完整实现“可信验证”中的要求。
技术要求 | TCM/TPM | TPCM | 说明 |
可信根 | 满足 | 满足 | TPCM内含TCM,所以满足密码要求。 |
启动信任链 | 满足 | 满足 | TPCM更为完整,可以实现对BIOS的度量;TCM/TPM无法实现BIOS度量。 |
环境和执行环节验证 | 不满足 | 满足 | TPCM采用主动度量技术即可实现;TCM/TPM仅能提供密码服务,需要其他主机安全软件完善防御功能。 |
通过对比,我们可以看出TPCM的技术更为全面,而且符合国密要求,具备更强大的功能。但是同时也有不足,支持完整TPCM的计算机系统,需要“可信主板”的部分功能支持。
4 总结
政策要求加速了可信计算技术在国内的应用和推广,国内外的可信计算技术也有各自的特点。传统的TCM和TPM还是以被动调用的方式提供服务,但通用性更好。TPCM虽然功能更为强大,但是需要硬件产业和操作系统的支持,较为复杂。随着产业的发展,具备支持TPCM的硬件平台更为普遍,基于TPCM开发的安全软件也会越来越多,相信TPCM的应用会更为广泛。
以上是关于可信验证与TPCM技术的主要内容,如果未能解决你的问题,请参考以下文章