专栏首页安智客可信软件基概述

可信软件基概述

安智客长期关注可信执行环境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)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于边缘计算的可信执行环境研究

    2019年,根据联合国国际电信联盟(ITU)、世界银行和联合国的数据显示:手机用户已大于全球74亿的人口数。

    安智客
  • TrustZone for Armv8-A 与Armv8-M

    Arm的TrustZone技术为可信软件提供了系统级的硬件隔离。TrustZone技术可以被移植到任何一个Arm Cortex-A核上。它同时支持最新的Cort...

    安智客
  • GP TEE可信根介绍

    在当前万物互联的时代,我们的生活越来越依赖于智能移动设备。我们用它们来社交,购物,看视频。尽管有这些好处,但这些设备却容易受黑客攻击,可能会导致个人信息泄露、财...

    安智客
  • php 使用expat方式解析xml文件操作示例

    本文实例讲述了php 使用expat方式解析xml文件操作。分享给大家供大家参考,具体如下:

    砸漏
  • 关于Metasploit 5中测试模块的移植与验证

    如果针对某一程序或软件已经有了相应的渗透模块,此时再去写一个实现类似功能的模块就显得多此一举。然而,并非所有的渗透模块都是基于Metasploit框架开发的,其...

    FB客服
  • 宿舍(寝室)管理系统设计与实现(SSM框架 附 详细系统搭建教程、系统演示地址、实现过程、源码)

    本篇文章将带你从运行环境搭建、系统设计、系统编码到整个系统的实现,对整个过程进行详细描述,特别适合作为程序员的进阶项目案列,同样也是高校学生毕业设计系统实现的不...

    C you again 的博客
  • 《大话数据结构》冒泡排序错误修正

    书中本意是想省略后端顺序表中无用的查找,但是忽略了一个问题。 原书中代码大意为: void bubblesort(Graph *g,int len){ ...

    用户1154259
  • Redis类型之lists类型

    9、rpoplpush 从第一个list的尾部移除元素并添加到第二个list的头部,最后返回被移除的元素值,整个操作是原子的,如果第一个list是空或者不存在...

    人生不设限为梦想时刻准备着
  • 第三节 json数据绑定以及dom回流重绘、映射

    河湾欢儿
  • C++学习知识点

    答:多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。 C++中,实现多态有...

    Dabelv

扫码关注云+社区

领取腾讯云代金券