1、(完整word)可信计算标准-实施-发布信息安全技术 可信计算规范可信软件基Information security techniques-Trusted computing specification-Trusted Software Base(征求意见稿)(本稿完成日期:2017年4月)GB/T -中华人民共和国国家标准ICS1目 次目 次I前 言III引 言IV1.范围12。规范性引用文件13。术语与定义13.113.213。313。413.513.623。723.823.923.1023。1123.1223.1323。1423。1534。缩略语35。概述36。功能结构36.1基本信任基
2、46。2控制机制56.3度量机制56。4判定机制56。5可信基准库56。6支撑机制56.6。1 可信根实体访问和管理66。6.2 可信策略管理66。6。3 应用可信支撑67.工作流程67.1系统启动过程中的工作流程67。2系统运行过程中的工作流程88.保障能力88。1TSB自身安全设计要求88.1.1 TSB的独立性88。1。2 TSB的隔离保护98.1。3 TSB交互接口的安全保护98。2可信根实体对TSB的保障98。2.1 数据机密性保护98.2。2 数据完整性保护98。2.3 TSB执行环境的保护99。交互接口99。1内部交互接口99。1。1 控制机制与度量机制交互接口109.1.3 度
3、量机制与判定机制交互接口109。1。4 判定机制与可信基准库交互接口109.1。5 控制机制与判定机制交互接口109。1。6 支撑机制与主动监控机制之间的交互接口109。2外部交互接口119。2。1 与可信根实体的交互接口119.2.2 与宿主基础软件交互接口129.2。3 与可信策略管理中心交互接口13附录A15致谢16参考文献17II前 言本标准依据GB/T1。12009给出的规则起草。请注意本文件的某些内容可能涉及专利.本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准的附录A和附录B为资料性附录。本标准主要起草单位:北
4、京可信华泰信息技术有限公司、北京工业大学、中标软件有限公司、全球能源互联网研究院、中国人民大学、中国船舶重工集团公司第七九研究所、北京新云东方系统科技有限责任公司、华大半导体有限公司、北京得安信息技术有限公司、浪潮集团有限公司等。本标准主要起草人:孙瑜、宁振虎、胡俊、赵保华、董军平、沈楚楚、吴欣、宋元、黄坚会、王昱波、周晓刚、宗栋瑞、张建标、王志皓、田健生、洪宇、王溢、徐宁、马洪富、杨紫东、徐明迪、张敏健。引 言可信软件基在可信计算体系中处于承上启下的核心地位,逻辑上并行于宿主基础软件,进行主动拦截、度量和控制,构建了双系统体系结构,达到主动免疫防御的安全效果。 本标准主要内容如下: 规范可信
5、软件基的功能结构。 规范可信软件基中基本信任基、控制机制、度量机制、判定机制、支撑机制以及可信基准库的功能设计和交互接口。 规范可信软件基的工作流程。 规范可信软件基的运行保障要求。 规范可信软件基与可信根实体、宿主基础软件和可信策略管理中心之间的交互接口。IV信息安全技术 可信计算规范 可信软件基1. 范围本规范规定了可信软件基的功能结构、工作流程、运行保障要求和交互接口。本规范适用于可信软件基的设计、生产和测评.2. 规范性引用文件下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注明日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范
6、达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范. GB/T 29828-2013 信息安全技术 可信计算规范 可信连接架构 GB/T 29827-2013 信息安全技术 可信计算规范 可信平台主板功能接口 GB/T 29829-2013 信息安全技术 可信计算密码支撑平台功能与接口规范3. 术语与定义GB/T 298282013、GB/T 298272013、GB/T 29829-2013确立的以及下列术语和定义适用于本标准。3.1宿主基础软件 Legacy Fundamental Software宿主基础软件是可信计算平台中实现常规功能部分(如
7、操作系统)软件的总称。3.2可信软件基 Trusted Software Base可信软件基嵌入宿主基础软件中,是为计算平台的可信性提供支持的所有软件元素的集合。3.3基本信任基 Fundamental Trusted Software基本信任基是可信软件基中最基础的部件,负责宿主基础软件启动时的完整性度量及可信软件基其它部件的完整性度量。3.4可信基准值 Trusted Standard Value 可信基准值是表示对象可信特性的数据,作为判断对象是否可信的参照.3.5可信基准库 Trusted Standard Database可信基准库是可信基准值的集合。3.6可信策略管理中心 Trus
8、ted Policy Management Center 可信策略管理中心是负责可信软件基可信策略制定、下发、维护、存储等集中管理的平台。3.7策略语言 Policy Language策略语言是用于描述系统安全需求的编程语言,由可信软件基管理、解释和执行。3.8静态度量 Static Measurement静态度量是在系统启动过程中,对系统完整性进行测量和评估的可信度量方法.3.9动态度量 Dynamic Measurement动态度量是在系统运行过程中,对系统完整性和行为进行测量和评估的可信度量方法.3.10主动免疫防御 Active Immunity Defense确保为完成计算任务的逻辑
9、组合不被篡改和破坏的安全防护效果。3.11系统控制点 System Control Point系统控制点是嵌入到宿主基础软件,并截获和控制系统行为的执行代码,包括文件读写、进程创建销毁、设备访问、网络访问等操作。3.12支撑机制 Supporting Mechanism支撑机制是TSB与可信根实体及外界进行交互的纽带和桥梁,是TSB访问可信根实体的唯一通道,TSB通过支撑机制访问可信根实体资源,配置管理可信根实体,并向应用传递和扩展可信根实体的功能和服务.3.13主动监控机制 Active Monitoring Mechanism主动监控机制由控制机制、度量机制、判定机制和可信基准库组成,主动
10、监控机制实现对系统调用行为的主动截获、信息提取和控制处理。3.14可信根实体 Root of Trust Entity能够用于支撑计算平台信任链建立和传递的硬件及固件,可对外提供完整性度量、安全存储、密码计算等服务。例如:TPCM、TCM、TPM等。3.15TCM服务模块 TCM Service Module 可信计算密码支撑平台内部的软件模块,为对平台外部提供访问可信密码模块的软件接口。4. 缩略语 下列缩略语适用于本文件:TSB 可信软件基TPCM可信平台控制模块TCM 可信密码模块 5. 概述 可信软件基是可信计算体系的重要组成部分,基于运算和防护并存的双系统体系结构思想设计。软件层面的
11、双系统即宿主基础软件和可信软件基(TSB)。可信软件基在宿主基础软件运行时进行主动拦截和度量,不需要修改原应用,通过制定策略进行主动实时防护,从而破坏和阻止进入系统的病毒或木马等恶意软件,达到主动免疫防御的安全效果.6. 功能结构 在可信根实体支撑下,TSB实现对系统中的主体、客体、操作、环境的主动控制和度量.TSB由主动监控机制(包括度量机制、控制机制、判定机制和可信基准库)、基本信任基和支撑机制组成。其中,控制机制是主动监控机制发挥作用的入口,并负责主动监控机制其他部分的策略更新工作.图6-1展示了TSB的功能结构:图61 可信软件基(TSB)的功能架构-可信软件基功能机制a) 基本信任基
12、:度量操作系统启动环境的可信性,度量和加载主动监控机制及支撑机制.b) 主动监控机制:由控制机制、度量机制、判定机制和可信基准库组成。l 控制机制: 对应用的系统行为进行主动拦截,获取行为相关的主体、客体、操作、环境等信息发送给度量机制,并依据判定结果实施控制.l 度量机制:依据可信策略对应用的行为信息进行度量。l 判定机制:依据可信基准值对度量结果的可信性进行判定。l 可信基准库:存储和管理可信基准值,为判定机制提供依据。c) 支撑机制:支持对可信根实体的访问和管理、可信策略的加载、配置和可信基准值的管理。可信策略管理中心:是负责可信软件基可信策略制定、下发、维护和存储等的统一管理平台。 6
13、.1 基本信任基基本信任基是TSB中最基础的部件,是具备基本的度量能力的软件最小集合.度量能力体现为基本信任基负责对TSB的其它部分(包括:控制机制、度量机制、支撑机制、判定机制和可信基准库)实施完整性度量。基本信任基具有“自包含”特性.“自包含”特性是指,基本信任基不依赖TSB的其它部分,也不依赖宿主基础软件,只需利用可信根实体和平台的常规硬件的功能就能够正常工作。基本信任基在其它机制尚未加载时,完成最基本的度量工作,将信任链传递给其它功能机制,基本信任基实施的度量操作,通过调用可信根实体提供的接口实现。基本信任基中存储着两类基准值信息:宿主基础软件启动过程中受度量对象的基准值和TSB其它机
14、制(控制机制、度量机制、支撑机制、判定机制和可信基准库)的基准值.6.2 控制机制a)控制策略控制策略包含系统控制点的范围、系统控制点获取信息和控制机制响应判定结果的处理方式。b)控制过程控制机制主动拦截系统调用行为,获取行为相关的主体、客体、操作、环境等信息,依据控制策略将信息发送给度量机制进行度量,并接受判定机制的判定结果,进行相关的控制。6.3 度量机制a)度量策略 度量策略由度量方法、度量对象等组成.度量方法包括度量点的设置、度量的时机、度量的算法等。度量对象包括程序、数据和行为等.b)度量过程 度量机制依据度量策略对控制机制传递的相关的主体、客体、操作、环境等信息进行度量,并将度量结
15、果发送至判定机制。6.4 判定机制a)判定策略判定策略包括度量结果与基准值的比较方式、不同度量结果的权重值、综合计算方法等.b)判定过程判定机制依据判定策略利用可信基准库和度量结果进行综合判定,并将判定结果发送控制机制。6.5 可信基准库a)功能说明可信基准库存储管理可信基准值(包括基准对象和基准内容等信息),判定机制可以查询可信基准库中的可信基准值.b)组织形式可信基准库分为驻留基准库和即时基准库两种类型。驻留基准库长期保存基准信息,其基准信息一般存放在非易失性存储器(如硬盘)中.即时基准库提供实时的基准信息,方便快速查询,基准信息一般存放在内存中。6.6 支撑机制 支撑机制是TSB与可信根
16、实体及外界进行交互的纽带和桥梁。支撑机制支持TSB对可信根实体的访问和管理、可信策略的下发、解析和加载、可信基准信息的管理,并为应用提供可信支撑。6。6.1 可信根实体访问和管理支撑机制中对可信根实体的访问和管理,由可信根实体服务模块实现,可信根实体服务模块依据可信根实体相关标准实现,例如TCM服务模块.可信根实体服务模块包括访问和管理可信根实体的上下文信息管理、会话管理、并发访问调度管理、权限管理等功能。6。6.2 可信策略管理支撑机制支持策略的解析、加载、分发、配置等功能。可信策略管理流程如图6-2所示。图62 可信策略管理流程图可信策略采用策略语言编写,由可信策略管理中心下发。支撑机制首
17、先通过可信策略解析引擎实现策略的解析,然后策略经由可信策略加载引擎加载给主动监控机制.策略编辑工具可实现本地策略编写和修改.6。6。3 应用可信支撑TSB支撑机制可为应用提供完整性度量、数据加解密、可信认证等调用接口。7. 工作流程TSB工作流程包括系统启动过程中的工作流程和系统运行过程中的工作流程.7.1 系统启动过程中的工作流程在系统启动过程中,TSB完成对系统的静态度量.具体过程如下图71所示:图71 系统启动过程中的工作流程如图7-1所示,基本信任基包括引导层基本信任基模块和内核层基本信任基模块两部分。引导层基本信任基模块对系统镜像和内核层基本信任基实施度量;内核层基本信任基模块对控制
18、机制、度量机制、判定机制、支撑机制和可信基准库进行度量;主动监控机制对应用进行度量。在系统启动过程中,可信根实体度量并验证主板固件和系统引导的可信性,将信任从硬件平台传递至引导层。而后,基本信任基开始工作,具体流程如下:a) 引导层基本信任基模块嵌入操作系统引导程序中。引导层基本信任基模块度量并验证操作系统内核镜像和内核层基本信任基模块的完整性.度量完成后,信任传递到操作系统内核镜像.b) 内核层基本信任基模块嵌入操作系统内核中,被引导层基本信任基模块度量。内核层基本信任基模块度量并验证控制机制、度量机制、判定机制、支撑机制、可信基准库的完整性。度量完成后信任传递至主动监控机制和支撑机制.c)
19、 主动监控机制和支撑机制作为OS扩展模块存在,被内核层基本信任基模块度量。在支撑机制的支撑下,主动监控机制度量内核扩展模块以及应用的完整性,度量完成后信任传递至应用。7.2 系统运行过程中的工作流程图72 系统运行过程中的工作流程在系统运行过程中,TSB在可信根实体的支撑下完成对系统的动态度量.a) 控制机制依据控制策略主动截获系统调用。b) 控制机制获取行为相关的主体、客体、行为操作、环境等信息,并发送给度量机制。c) 度量机制依据控制机制发送的信息和度量策略生成相关信息(度量对象、度量方法、度量时机等)。d) 度量机制通过支撑机制将度量信息传递给可信根实体,并调用可信根实体进行度量。在度量
20、过程中可信根实体作为度量的执行者,可信根实体会将度量结果反馈给度量机制。e) 度量机制将度量结果发送至判定机制。f) 判定机制依据判定策略访问可信基准库,获取相应可信基准值.g) 判定机制依据判定策略,利用可信基准值对度量机制产生的度量结果进行综合判定,并将判定结果反馈给控制机制。h) 控制机制根据判定机制返回的判定结果进行处置,包括允许该系统调用的执行、拒绝该系统调用、审计该系统调用、协同其它安全机制等.8. 保障能力可信软件基的保障能力包括TSB自身的安全设计以及可信根实体对TSB的保障机制。8.1 TSB自身安全设计要求8。1。1 TSB的独立性TSB在逻辑上独立于宿主基础软件。TSB的
21、基本信任基在OS引导程序运行时加载,是可信软件基中被第一个加载的软件程序,其运行过程不调用未经验证的软件机制。TSB在宿主基础软件服务程序载入之前完成主动监控机制的载入,TSB禁止通过调用外部程序实现主动监控机制,主动监控机制不能被未验证的系统服务干扰。8.1。2 TSB的隔离保护TSB在每个模块内部划分子模块时,应为各子模块分配专门的功能,并为其定义接口。TSB具备模块验证功能,可以验证TSB所调用模块是否是自身模块.TSB 监控功能应保持连续,防止主动监控机制被旁路。TSB应与其监控对象进行有效隔离,防止TSB的运行被非法干扰。8。1。3 TSB交互接口的安全保护TSB的接口具有明确的参数
22、定义并形成文档。TSB对外接口的所有参数均有最大长度限制以及合法参数说明。TSB通过对内部模块间调用关系进行规划,消除无必要的调用关系. TSB通过对模块间共享资源的访问进行分析和限制,防止内部不同访问过程之间相互干扰。TSB对外接口提供防止外部调用通过非法接口参数干扰内部模块行为的措施。8.2 可信根实体对TSB的保障8。2.1 数据机密性保护TSB在可信根实体的支持下,以安全方式存储所有用于可信度量、可信存储和可信报告的密钥及其他敏感信息,并保障密钥和敏感信息的使用安全。8.2.2 数据完整性保护TSB在可信根实体的支持下,对可信基准值、可信策略及可信审计数据等进行完整性保护,防止被非法篡
23、改。8。2.3 TSB执行环境的保护TSB在可信根实体的支持下,对TSB执行环境中的程序代码段、内核模块、共享库等进行完整性保护,防止被非法篡改。9. 交互接口9.1 内部交互接口TSB内部交互接口包括基本信任基、控制机制、度量机制、判定机制和可信基准库这些功能机制之间的交互接口.9.1。1 控制机制与度量机制交互接口功能描述控制机制获取系统调用行为的相关主体、客体、操作、环境等信息传递给度量机制。输入参数 该系统调用相关的主体、客体、操作、环境等信息.输出参数不做要求9.1.3 度量机制与判定机制交互接口功能描述度量机制将度量结果发送至判定机制。输入参数度量结果输出参数不做要求9.1.4 判
24、定机制与可信基准库交互接口功能描述判定机制向可信基准库查询信息。输入参数查询请求,包含度量对象的相关信息。输出参数查询结果,度量对象的基准值信息。9.1.5 控制机制与判定机制交互接口功能描述判定机制将判定结果发送给控制机制。输入参数判定机制的判定结果。输出参数不做要求9.1。6 支撑机制与主动监控机制之间的交互接口功能描述通过支撑机制交互接口,主动监控机制对可信根实体进行访问和管理.输入参数主动监控机制对可信根实体的访问请求.输出参数请求处理的结果;9.2 外部交互接口外部交互机制接口,包括TSB与可信根实体交互接口、TSB与宿主基础软件交互接口和TSB与可信策略管理中心交互接口。9。2。1
25、 与可信根实体的交互接口 TSB与可信根实体的交互接口包括策略管理指令、密码服务指令、系统管理指令等接口,TSB通过这些接口对可信根实体进行访问和管理。9。2。1.1 策略管理接口功能描述TSB通过策略管理接口实现对可信根实体进行度量策略管理以及控制策略管理。策略管理接口主要包括可信平台启动前,为启动代码、基板控制器代码等提供度量控制策略;可信平台启动过程中,为微码、设备串号、设备固件代码、操作系统内核、操作系统引导程序等提供可信度量管理策略;可信平台系统运行时,为系统内核、关键数据、运行进程、应用程序等所驻留的物理内存区域提供动态监控策略以及为连接设备提供实时监查及其物理通路实施隔离控制的管
26、控策略。输入参数指令码,会话句柄,授权信息,度量以及控制方案。 输出参数执行状态信息。9.2。1。2 密码服务接口功能描述可信根实体通过密码服务接口为TSB提供数据加解密、数字签名验签、密码杂凑运算、真随机数生成等功能服务,包括安全算法的选择、安全协议的选择、安全算法参数的设定等。输入参数指令码,会话句柄,授权信息,度量以及控制方案。输出参数执行状态信息。9。2。1.3 系统管理接口功能描述TSB通过系统管理接口实现对可信根实体系统资源的访问和管理.系统管理指令接口包括密钥管理、用户管理、日志管理等,其中密钥管理功能包括密钥生成、密钥下载、密钥更新、密钥信息绑定和解绑,密钥使用,密钥清除以及密
27、钥迁移等;用户管理功能包括增加、删除、查找、锁定用户,修改用户的权限、属性等管理提供接口;日志管理功能包括日志的生成、归类、存储、更新、查询、删除、权限保护以及可信报告等;以及其它的可信根实体相关的系统资源访问接口如PCR管理指令、NV管理指令接口等。输入参数指令码,会话句柄,授权信息以及相关密钥功能信息内容。 输出参数执行状态信息。9.2.2 与宿主基础软件交互接口宿主基础软件需为可信软件基提供的接口包括:设备操作类接口,文件操作类接口,网络操作类接口,进程操作类接口,内存操作类接口。9。2。2。1 设备操作接口 功能描述当宿主基础软件中发生设备操作时,将操作的主体、客体及操作内容等信息发送
28、给可信软件基。设备操作包括:加载、卸载、读操作、写操作等。输入参数客体、操作等相关信息。 输出参数不做要求. 9。2。2.2 文件操作接口功能描述当宿主基础软件中发生对文件操作时,将操作的主体、客体及操作内容等信息发送给可信软件基。文件操作包括:创建、删除、关闭、读操作、写操作、文件属性更改、可执行文件运行等。 输入参数客体、操作等相关信息. 输出参数不做要求。9.2。2。3 网络操作接口 功能描述当宿主基础软件中发生网络操作时,将操作的主体、客体及操作内容等信息发送给可信软件基。网络操作包括:连接建立、报文发送、报文接收等.输入参数客体、操作等相关信息。 输出参数不做要求。9.2。2.4 进
29、程操作接口 功能描述当宿主基础软件中发生对进程操作时,将操作的客体及操作等信息发送给可信软件基。进程操作包括:进程的新建、调度、销毁、权限设置等。输入参数客体、操作等相关信息。输出参数不做要求。9。2.2.5 内存映射接口 功能描述当宿主基础软件中发生内存映射操作时,将操作的客体及操作等信息发送给可信软件基。 输入参数客体、操作等相关信息. 输出参数不做要求.9。2.3 与可信策略管理中心交互接口TSB与可信策略管理中心的交互接口主要包括平台注册接口、策略下发接口和策略审计接口等.9。2.3。1 平台注册接口功能描述在可信策略管理中心注册计算平台,实现注册过程中的身份认证、注册信息提交、注册信
30、息审核等.输入参数平台身份标识、可信状态标识。 输出参数不做要求。 9.2.3。2 策略下发接口功能描述可信策略管理中心向计算平台中的TSB下发可信策略。输入参数平台身份标识、可信策略包等。输出参数不做要求。 9.2。3.3 策略审计接口功能描述计算平台中的TSB向可信策略管理中心上报审计信息。输入参数平台的身份标识、审计信息等。输出参数不做要求. 9。2。3。4 信息查询类接口 功能描述提供相关信息查询功能,包括基本信息、状态信息、可信报告等.输入参数授权信息、查询请求内容。 输出参数查询结果。 9.2.3.5 异常报警信息接口 功能描述主动向可信策略管理中心提供异常报警信息,包括信任链异常
31、报警、主动度量异常报警和访问控制异常报警等。输入参数异常报警信息内容。输出参数不做要求. 9.2.3。6 基准值更新接口功能描述更新基准库中的基准值。输入参数基准值索引和新基准值的内容. 输出参数不做要求 附录A(资料性附录)可信策略管理中心图1 可信策略管理中心可信策略管理中心主要完成TSB列表管理、可信策略管理和审计管理。主要包括以下部件系统管理部件:对各计算节点TSB信息进行管理。TSB信息包括基本信息、运行信息、已配置策略信息和日志等。策略管理部件: 对可信策略进行生成、修改、下发、删除等全生命周期的管理。审计管理部件: 对TSB运行中的可信策略相关信息进行审计,并对审计记录进行存储、
32、备份和查询等操作。在可信策略管理中心,应对系统管理员和审计管理员进行身份鉴别。系统管理员负责节点管理和策略管理工作,并对这些操作进行审计。审计管理员通过特定的命令或操作界面进行审计操作。致谢中国互联网发展基金会网络安全专项基金。参考文献1 沈昌祥, 陈兴蜀, 基于可信计算构建纵深防御的信息安全保障体系, 四川大学学报(工程科学 版),2014,46(1),1-7.2沈昌祥,可信计算构筑主动防御的安全体系, 信息安全与通信保密,2016(6),34。3 GB/T 29827-2013 信息安全技术 可信计算规范 可信平台主板功能接口。4 GB/T 29828-2013 信息安全技术 可信计算规范 可信连接架构5 GB/T 29829-2013 信息安全技术 可信计算规范 可信计算密码支撑平台功能与接口规范 16