可信验证与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的应用会更为广泛。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>