可信软件基概述

安智客长期关注可信执行环境TEE,今天了解学习一些可信软件基TSB(Trusted Software Base)。要了解可信软件基,先来了解可信计算基TCB(Trusted Computing Base)这一个传统概念。由于可信计算规范内容较多既包括计算节点也包括服务器可信支撑平台。本文参考大量规范标准只对可信软件基做一个浅述。

可信计算基(TCB)是“计算机系统内保护装置的总体,包括硬件、固件、软件和负责执行安全策略的组合体。它建立了一个基本的保护环境,并提供一个可信计算系统所要求的附加用户服务”。通常所指的可信计算基是构成安全计算机信息系统的所有安全保护装置的组合体(通常称为安全子系统),以防止不可信主体的干扰和篡改。

可信软件基(TSB)可信软件基在可信计算体系中处于承上启下的核心地位,对上保护宿主基础软件和应用的安全,对下管理TPCM并承接TPCM信任链的传递,是TPCM操作系统的延伸。可信软件基通过构建双系统体系结构,并行于宿主基础软件,在TPCM的支撑下通过在宿主操作系统内部进行主动拦截和度量保护,实现主动免疫防御的安全能力。

读完上述一段话,要理解解可信软件基是不是有点绕,首先看看什么是可信计算体系。

可信计算结构解决的是可信计算节点的体系结构问题。包括可信终端节点和可信服务节点。

即将发布的国家标准《信息安全技术 可信计算规范 可信计算体系结构》中,定义了可信计算节点的体系结构,描述了可信计算节点构成、节点中可信防护部件功能和工作模式。

也就是说,一个可信计算节点由可信防护部件和计算部件组成。可信防护部件主要对计算部件进行度量和监控,其中监控功能依据不同的完整性度量模式为可选功能,可信防护部件同时提供密码算法、平台身份可信、平台数据安全保护等可信计算功能调用的支撑。计算部件为程序提供计算、存储和网络资源,主要包括通用硬件和固件、操作系统及中间件、应用程序和网络等部分构成。

可信计算节点中的计算系统部件和可信防护部件逻辑相互独立,形成具备计算功能和防护功能并存的双体系结构

我们平常所提到的 可信密码模块(TCM)或可信平台模块(TPM)、可信平台控制模块(TPCM)、可信平台主板、可信软件基(TSB)和可信网络连接(TNC)等可信部件构成了可信防护系统。

也就是可信软件基属于组成可信防护系统的可信部件!可信软件基在可信计算体系中处于承上启下的核心地位,逻辑上并行于宿主基础软件,进行主动拦截、度量和控制,构建了双系统体系结构,达到主动免疫防御的安全效果。

即将发布的国标《信息安全技术 可信计算规范 可信软件基》,则规范了可信软件基的功能结构,基本信任基、控制机制、度量机制、判定机制、支撑机制以及可信基准库的功能设计和交互接口,工作流程,运行保障要求,以及可信软件基与可信根实体、宿主基础软件和可信策略管理中心之间的交互接口。这些概念详见附录说明。

学习这些抽象的概念有什么意义呢?

因为可信软件基是对可信计算节点中的可信防护部件安全的一种安全抽象,对于设计符合规范标准的软件架构意义十分重要。仅举一例来说明,在系统启动过程中,TSB完成对系统的静态度量。具体过程如下:

基本信任基包括引导层基本信任基模块和内核层基本信任基模块两部分。引导层基本信任基模块对系统镜像和内核层基本信任基实施度量;内核层基本信任基模块对控制机制、度量机制、判定机制、支撑机制和可信基准库进行度量;主动监控机制对应用进行度量。

在系统启动过程中,可信根实体度量并验证主板固件和系统引导的可信性,将信任从硬件平台传递至引导层。而后,基本信任基开始工作,具体流程如下:

a) 引导层基本信任基模块嵌入操作系统引导程序中。引导层基本信任基模块度量并验证操作系统内核镜像和内核层基本信任基模块的完整性。度量完成后,信任传递到操作系统内核镜像。

b) 内核层基本信任基模块嵌入操作系统内核中,被引导层基本信任基模块度量。内核层基本信任基模块度量并验证控制机制、度量机制、判定机制、支撑机制、可信基准库的完整性。度量完成后信任传递至主动监控机制和支撑机制。

c) 主动监控机制和支撑机制作为OS扩展模块存在,被内核层基本信任基模块度量。在支撑机制的支撑下,主动监控机制度量内核扩展模块以及应用的完整性,度量完成后信任传递至应用。

这个过程是不是与安全启动和可信根十分类似?实质可信软件基是可信设计的一种方法论抽象和概括。你的产品要满足安全标准规范,就要满足可信计算标准的一些要求,不去理解这些概念怎么行呢!

附录:一些概念

宿主基础软件 Legacy Fundamental Software,宿主基础软件是可信计算平台中实现常规功能部分(如操作系统)软件的总称。

可信软件基 Trusted Software Base,可信软件基嵌入宿主基础软件中,是为计算平台的可信性提供支持的所有软件元素的集合。

基本信任基 Fundamental Trusted Software,基本信任基是可信软件基中最基础的部件,负责宿主基础软件启动时的完整性度量及可信软件基其它部件的完整性度量。

可信基准值 Trusted Standard Value,可信基准值是表示对象可信特性的数据,作为判断对象是否可信的参照。

可信基准库 Trusted Standard Database,可信基准库是可信基准值的集合。

    可信策略管理中心 Trusted Policy Management Center,可信策略管理中心是负责可信软件基可信策略制定、下发、维护、存储等集中管理的平台。

策略语言 Policy Language,策略语言是用于描述系统安全需求的编程语言,由可信软件基管理、解释和执行。

静态度量 Static Measurement,静态度量是在系统启动过程中,对系统完整性进行测量和评估的可信度量方法。

动态度量 Dynamic Measurement,动态度量是在系统运行过程中,对系统完整性和行为进行测量和评估的可信度量方法。

主动免疫防御 Active Immunity Defense,确保为完成计算任务的逻辑组合不被篡改和破坏的安全防护效果。

系统控制点 System Control Point,系统控制点是嵌入到宿主基础软件,并截获和控制系统行为的执行代码,包括文件读写、进程创建销毁、设备访问、网络访问等操作。

支撑机制 Supporting Mechanism,支撑机制是TSB与可信根实体及外界进行交互的纽带和桥梁,是TSB访问可信根实体的唯一通道,TSB通过支撑机制访问可信根实体资源,配置管理可信根实体,并向应用传递和扩展可信根实体的功能和服务。

主动监控机制 Active Monitoring Mechanism,主动监控机制由控制机制、度量机制、判定机制和可信基准库组成,主动监控机制实现对系统调用行为的主动截获、信息提取和控制处理。

可信根实体  Root of Trust Entity,能够用于支撑计算平台信任链建立和传递的硬件及固件,可对外提供完整性度量、安全存储、密码计算等服务。例如:TPCM、TCM、TPM等。

TCM服务模块 TCM Service Module,可信计算密码支撑平台内部的软件模块,为对平台外部提供访问可信密码模块的软件接口。

原文发布于微信公众号 - 安智客(china_safer)

原文发表时间:2018-07-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

代码行数最多的 Python 项目是?

1874
来自专栏Java职业技术分享

千万级规模高性能、高并发的网络架构经验分享

在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要...

1410
来自专栏腾讯移动品质中心TMQ的专栏

零基础探索式测试实践之路

初识探索式测试 与“探索式测试”的结缘,始于一年多前师傅安东尼在组内推荐的【探索式测试实践之路.pdf】电子书,通过前两章节的学习,了解到探索式测试是基于经验的...

2769
来自专栏web前端教室

对即将入职前端工作的新人有哪些建议?

问题描述,略。。。 ------------------------------ 看你的问题描述,你应该是在扫射式的学习WEB开发的相关技术, 你学的应该会很努...

3288
来自专栏大数据文摘

前方高能!这可能是一张会颠覆你编程学习的思维图!

2427
来自专栏Crossin的编程教室

编程初学者如何使用搜索引擎

或许你会认为这篇文章的内容极为基础。事实上,我也是这么觉得的。但从很多同学的留言以及QQ群中的讨论来看,还是有必要简单地科普一下,分享我的一点“搜索”经验。 如...

3597
来自专栏求索之路

BAT等大厂Android面试书单和知识点清单Java知识Android知识java设计模式知识算法和数据结构知识计算机系统知识数据库知识计算机网络知识Android开源项目知识

Java知识 java是Android开发的基础,在BAT的初面中,会涉及到比较多的java基础知识,所以比较重要,下面我介绍的书籍内容是由浅到深。 1....

3788
来自专栏大数据挖掘DT机器学习

R&Python玩家诉求词云分析

作者:Fish http://www.gamedas.com 一、数据爬虫 在实际工作中,数据的来源不能局限于自家的数据库或者成型的后台,在做某些市场分析或是竞...

3466
来自专栏花叔的专栏

我来不匿名聊聊这小程序的技术观察

略表愚见,希望大家喜欢,同时大家有觉得好的小程序也可以告诉我,我来帮忙做技术观察。

34910
来自专栏java工会

每个程序员都应该了解的十句话

我们可以因为掌握了最新的JavaScript框架Ahem、Angular的IoC容器技术或者某些编程语言甚至操作系统而欢欣雀跃,但是这些东西并不是作为程序员的我...

1170

扫码关注云+社区