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技术相关推荐

  1. ChinaSoft 论坛巡礼 | 可信AI软件系统工程技术

    2022年CCF中国软件大会(CCF ChinaSoft 2022)将于2022年11月25-27日在线上举行.预期将有林惠民.陈左宁.邬江兴.何积丰.梅宏.吕建.柴洪峰.王怀民.郑纬民.蒋昌俊等10 ...

  2. 2022 CCF中国软件大会(CCF Chinasoft)“可信AI软件系统工程技术”论坛成功召开...

    2022年11月25日,2022年CCF中国软件大会"可信AI软件系统工程技术"论坛成功召开.本次论坛由复旦大学彭鑫老师.复旦大学陈碧欢老师.南京大学陈振宇老师.南京大学冯洋老师共 ...

  3. FSSC22000认证咨询,FSSC 22000食品行业可以采用风险管理和在其他行业广泛得到验证的质量保证技术

    这个新标准还可以带来下列益处: · 食品标准更透明 · 成为人人认可的全球标准 · 更有效的第三方审核,减轻监管机构的负担–监管机构可以把该新标准当作考核的点 · 借助过程效益和流程审核,节约成本 F ...

  4. 众云电商加入安全联盟可信验证服务中心

    今年,国务院正式印发<社会信用体系建设规划纲要(2014-2020年)>作为我国信用体系建设方面的顶层设计和规划.<社会信用体系建设规划纲要(2014-2020年)>中针对可信 ...

  5. SoC-e——为客户的关键系统提供一种经过现场验证的TSN技术(二)

    上篇我们介绍了在" 新" 的以太网的背景下,SoC-e在航空航天和汽车行业的应用,我们现在接着介绍其产品在其他行业的应用: 工业网络化 可互操作的网络基础设施是实现智能工厂完全数字 ...

  6. 搭载“可信隐私沙盒”技术 蚂蚁集团联合荣耀手机从源头防范电信诈骗

    4月14日消息,近日,荣耀面向中国市场发布了Magic 4系列旗舰新品,搭载全新操作系统Magic UI 6.0.据了解,荣耀Magic UI 6.0部署了蚂蚁集团推出的"可信隐私沙盒&qu ...

  7. 技术创业者必读:从验证想法到技术产品商业化的全方位解析

    导语 | 技术创业之路往往充满着挑战和不确定性,对于初入创业领域的人来说,如何验证自己的创业想法是否有空间.如何选择靠谱的投资人.如何将技术产品商业化等问题都需要认真思考和解决.在「TVP 技术夜未眠 ...

  8. java实现登录验证机制的技术_基于token的登陆验证机制

    session简介 做过Web开发的程序员应该对Session都比较熟悉,Session是一块保存在服务器端的内存空间,一般用于保存用户的会话信息. 用户通过用户名和密码登陆成功之后,服务器端程序会在 ...

  9. 数字IC验证:几大功能验证(Functional Verification)技术有哪些?

    文章目录 功能验证的目的 五大验证技术 1 静态验证 (Static Verification) 2 功能仿真 (Functional Simulation) 3 FPGA原型验证 (FPGA Pro ...

最新文章

  1. 软件的可维护性与可复用性(一)(Java与模式笔记)
  2. Idea控制台中文乱码解决方案
  3. MindCon极客周 | 第三届全新席卷而来,SIG英雄帖,做硬核玩家,夺万元大奖!
  4. 金山“云”上音乐节 —— 一文带你看懂如何支持一场线上演出
  5. Asp.Net Core中的静态文件-12
  6. java循环语句_java中循环语句
  7. Netty Associated -- ByteBuf
  8. [PHP] - 逗号和点号的区别
  9. 花书+吴恩达深度学习(十六)序列模型之双向循环网络 BRNN 和深度循环网络 Deep RNN
  10. Logback MDC
  11. Android学习--10-数据存储
  12. UVA10751 Chessboard【数学水题】
  13. python怎么读取csv文件-Python读取csv文件(详解版,看了无师自通)
  14. 触控事件MotionEvent
  15. 51单片机c语言教程第二章,51单片机C语言教程-郭天祥-PDF转word版第二章.pdf
  16. 网络编程——TCP编程及UDP编程
  17. java 加减乘除_Java实现加减乘除 | 学步园
  18. Debian Etch 安装指南
  19. 字符串、字符长度计算
  20. 电子线路(线性部分)——第二章 晶体三极管

热门文章

  1. Jenkins任务调度源码简要分析
  2. Fedora23安装fcitx拼音输入法
  3. 【AltiumDesigner专栏】01.06——ECAD-MCAD(二)
  4. 小白用户怎么才能让电脑换IP?
  5. 【C语言】选择排序从小到大,从大到小,详细注释
  6. 基于注意力的语义分割之PSANet、DANet、OCNet、CCNet、EMANet、SANet等
  7. Databinding+LiveData轻松实现无重启换肤
  8. QT 显示gif 和 flash 动画技巧
  9. 12v电量显示制作方法_制作12V电池电压表
  10. 与开源cynthia同源的团队协作平台effevo(effevo.com)免费开放