一种自主可控可信计算平台解决方案
2015-11-01龙兴刚谢小赋庞飞叶晓
龙兴刚, 谢小赋, 庞飞, 叶晓
(1海军计算技术研究所,北京100841;2中国电子科技集团公司第三十研究所,四川成都610041)
一种自主可控可信计算平台解决方案
龙兴刚1, 谢小赋2, 庞飞2, 叶晓2
(1海军计算技术研究所,北京100841;2中国电子科技集团公司第三十研究所,四川成都610041)
本文针对TCG可信计算规范中X86架构的可信计算平台存在被动可信度量、操作系统安全增强机制不完备和认证体制复杂等问题,提出一种基于国产处理器和国产操作系统的自主可控可信计算平台解决方案,设计了国产操作系统可信安全增强策略和框架,给出了基于可信平台控制模块的主动可信度量和基于身份标识平台身份认证等关链技术实现途径。
可信计算;主动度量;主可控
0 引言
随着信息技术不断发展,信息系统面临的安全问题越来越严峻,传统的堵漏洞、筑高墙、防外攻等“老三样”的防御技术难有大的突破,必须从计算平台自身出发才能更好地解决信息系统的安全问题。“可信计算”提出通过硬件安全芯片及其支撑软件所构成的可信计算平台作为解决计算平台安全问题的根本措施。通过在硬件平台内部引入可信平台模块(TPM,Trusted platform module)作为信任根,利用密码机制建立起信任链,从而把信任扩展到整个计算机系统,为建立安全可信的计算环境提供途径[1-4]。当前可信计算平台的具体实现大多是对通用计算机的简单改造,即在主板上插上一个可信平台模块[5]。上述解决方案在一定程度上增强计算平台的可信能力,是一种适应商用计算平台和非国产操作系统的过渡解决方案。随着我国国产计算平台和操作系统的发展,需要提出一种适应自主可控计算平台和操作系统的可信计算平台解决方案。
1 存在的主要问题
1.1 X86架构可信平台采用被动可信度量机制
在TCG(Trusted Computing Group,可信计算组织)规范中,X86架构可信计算平台的信任链建立过程是以BIOS和TPM共同作为信任根。首先由BIOS度量硬件、Option ROM和OS Loader,并向TPM存储度量结果;再由OS Loader度量OS kernel并向TPM报告。TPM综合度量结果并向OS报告BIOS、硬件、Option ROM、OS Loader的完整性状况,一直延伸到应用层面。通过上述过程,建立信任链关系,由信任链关系来确保计算机平台的可信赖性。其过程如图1所示。
图1 信任链传递
由于X86架构可信计算平台是基于BIOS最先发起可信度量,无法从根本上保证BIOS的安全性。在上述建立信任链的过程中,TPM不能验证BIOS以控制CPU的启动,从而无法验证BIOS的安全性,一旦BIOS被篡改,后续启动无法正确建立信任链,因此这种被动可信度量机制不能从根本上确保计算平台的可信。
1.2 主流操作系统上的安全增强难以实现自主可控
现有安全防护技术主要在操作系统上进行安全增强,而当前计算机、移动设备[6-7]上所采用的主流操作系统的安全性往往难以令人放心。尤其是Windows操作系统本身不是开源的,很难搞清楚其核心代码是否安全,操作系统内是否存在各种后门,即使其进行了安全增强,也很难证明和验证其本身的安全性;
1.3 PKI认证体制复杂导致可信计算应用系统性能降低
TPM在使用过程中会创建种类繁多、关系复杂的大量证书,包括出厂背书证书(EK证书),一致性证书、平台证书和在应用中需要的AIK证书等[8]。此外可信计算平台可能还需要其他证书,比如:SKAE(subject key attestation evidence)证书、确认(validation)证书和DAA(direct anonymous attesta2tion)证书。
而公钥证书本身不能表明用户身份,只能用第三方证明的方式实现身份和公钥的绑定,使用证书将引出第三方通信量增大的问题。验证方接收到公钥证书后需要在线查询公开目录以确定证书是否作废,还要验证颁发此证书的CA或CA链的签名以确定证书是否有效。
2 解决方案
2.1 自主可控安全计算平台系统设计
自主可信安全计算平台由可信硬件平台、可信软件系统和安全管理系统组成。可信软件系统包括:可信操作系统和可信应用系统。整个系统的组成结构如图2所示。
图2 自主可信安全计算平台体系结构
可信硬件平台中最重要的是可信根,它是安全可信计算平台的核心部件。可信硬件平台沿用通用的PC架构,采用国产龙芯处理器和自主可信BIOS,设计自主可控的可信平台控制模块(TPCM)作为可信硬件基,以实现主动可信度量和确保硬件平台的自主可控。
可信操作系统是在国产中标麒膦操作系统的基础上,进行可信安全增强后实现,具备完善的可信服务软件协议栈(TSS),提供丰富的可信服务软件接口,供可信应用系统调用。
可信应用系统利用可信操作系统提供的密码信服务,实现数据加解密、签名验签等功能。
2.2 可信硬件平台
采用国产处理器设计的专用可信硬件平台,可构建具有完全自主知识产权的可信硬件整机系统,其组成结构如图3所示:
图3 龙芯专用主板架构图
采用国产CPU可以解决Intel X86架构CPU无法验证其微码是否可信的问题。如图3所示,主机上电后控制权首先在TPCM上,TPCM上电验证BIOS通过之后,交由CPU执行BIOS代码,完成后续的系统设备启动。
2.3 可信软件系统
可信软件系统由操作系统、可信设备驱动(TDD)、可信设备驱动接口库(TDDL)、可信软件栈(TSS)、操作系统可信安全增强,及若干应用软件组成,其组成结构如图4所示:
图4 可信软件系统组成
(1)操作系统
操作系统采用国产中标麒膦操作系统,它是以Linux安全内核为核心开发的自主操作系统,支持多种外设和接口(如:网口、串口、并口、IDE/SCSI接口、USB等等),提供多种应用软件、软件开发工具和友好的图形/文本操作界面。
(2)可信软件栈(TSS)
图5 TSS结构示意图可信软件系统组成
TSS结构如图5所示,包括TSP、TCS、TDDL和TDD等部分。TSP以链接库(包括动态库和静态库)的形式供各类应用调用。内核层接口以内核动态库的形式供各类内核应用调用。TCS以系统服务的形式存在,为TSP和内核层接口提供功能接口,TCS通过调用设备驱动接口库(TDDL)向可信密码模块发送功能调用指令,而功能调用指令通过可信设备驱动(TDD)传送到可信密码模块进行各种处理。
(3)操作系统安全增强
以中标麒膦操作系统提供的Linux安全摸块(LSM)框架为基础,结合TPCM的安全服务功能,设计了一种具有强制访问控制(MAC)策略、工作在操作系统内核模式下的可信安全增强模块,达到操作系统安全增强的目的,进一步提升操作系统的安全等级。该模块主要由:安全操作集、策略实施、策略仲裁、可信度量、安全策略接口、安全审计接口、配置管理接口等功能子模块组成,每个模块承担不同的功能。其结构如图6所示:
图6 可信安全增强模块结构
可信安全增强模块由七个子模块组成,其中策略实施、策略仲裁子模块是最为重要的组成部分,系统中所有和强制访问控制有关的决策和实施都在这部分实现;安全操作集是内核增强模块的入口钩子函数集,通过这些嵌入到各个对象的访问请求的钩子集函数截获访问请求,在访问请求的流程中加入可信验证和安全访问控制处理;可信度量封装了与TPCM交互的命令函数集,通过该接口调用TPCM为内核提供的各种可信安全服务功能;安全策略接口是实现策略仲裁与策略库交互的中间接口,策略的查询、维护和结果信息都是通过该接口封装转发的;安全审计子模块的主要功能是对强制访问控制处理过程中发现的非正常情况,进行事件记录、报警或其他相关处理;配置管理接口通过解析用户下发的配置管理命令,实现安全管理员对访问控制信息的管理。
3 关键技术
3.1 TPCM主动度量
当系统启动时,TPCM作为计算平台的度量起始根,首先验证BIOS、再将度量主动权交BIOS,由它度量其它硬件部件,操作系统加载模块和操作系统核心文件,最后再由操作系统接管度量控制权,实现对应用程序的完整性度量,从而保证计算平台的完整性。系统启动完成后,便建立起了一条以TPCM为根的信任链。TPCM主动度量过程如图7所示:
图7 TPCM主动可信度量流程
3.2 基干TPCM的自主操作系统可信安全增强
在国产自主操作系统内核中,主要的安全功能处理流程插入到每一个和安全相关的系统调用中构成策略实施部件。它与安全策略无关,负责实时地截获系统核心事件并进行相应的处理,再分发给策略判定部件,从而在内核中形成不可旁路的细粒度安全控制。通过TPCM提供的信任根,确保可信机制在具体安全功能实施过程中的行为可预期。内核处理流程的客体可以是文件、目录、设备、IPC和Socket等对象,因此处理流程能够覆盖包括网络访问控制控在内的所有安全功能。自主操作系统可信安全增强的处理过程如图8所示:
图8 可信安全增强内核处理过程
3.3 基干IBE的平台身份认证
PKI(Public Key Infrastructure)是利用基于证书的公钥理论和技术建立的提供安全服务的基础设施。PKI技术能够有效地解决实际应用中的真实性、完整性和不可否认性等安全问题。但由于证书数量的增加,PKI中的证书管理也面临着一些问题,如证书的撒销、保存、发布和验证就需要占用较多的资源,且管理复杂。为了减轻公钥证书的管理开销,采用基于身份标识(IBE,I-dentity-Based Encryption)的公钥密码体制,来解决可信平台身份认证问题。IBE密码体制的安全性是来源于密钥的生成过程,也就是:私钥=f(主密钥,公钥),其中主密钥是由可信中心(TA)拥有的,公钥是用户的个人身份信息。TA根据主密钥和用户的公钥能够计算出私钥。而除去TA以外的人只有公钥,是无法计算出私钥的。另外,公钥既然是密钥生成过程的输入,那么任意的比特串都可以用来做公钥。因此,用户的身份信息也可作为公钥,而且能大大减少公钥认证的复杂性。这也正是基于身份的密码体制的理论依据。基于IBE的平台身分认证过程如图9所示。
图9 平台身份认证
平台身份认证过程描述如下:
1)平台1向平台2发送验证请求;
2)平台2向平台1请求所需要的PCR值;
3)平台1使用AIK(Attestation Identity Key)私钥对平台2需要的PCR值签名;
4)平台1将PCR的签名值与AIK标识一起发送给平台2;
5)平台2的校验者通过平台1的身份标识验证PCR的签名值确认平台1的身份,并评估其可信程度。
基于标识的平台身份认证主要优点在于不需要公钥证书,避免了公钥证书发放、保存、交换、验证和撒销等问题。认证过程简单,通信量小,在特定专用网络中易于实现集中控制。
4 结语
针对当前X86架构可信计算平台存在的诸多问题,提出了一种国产化自主可控的可信计算平台解决方案。本文创新性主要体现在:(1)能够建立起从可信根到硬件平台到操作系统的信任链,确保计算平台的安全可信;(2)解决了主动可信度量问题;(3)解决了国产自主操作系统可信安全增强的问题;(4)解决了可信计算环境中高效身份认证问题。本文提出的方案可以满足我国军队和地方对高安全等级计算机平台的使用需求,具有较好的应用前景。
[1] 郝平,何恩.可信计算的安全防护机制及其在高可信网络中的应用[J].中国电子科学研究院学报,2008,3(1):14-19.
[2] Trusted Computing Group TCG Specification Architecture O-verview v1.2.200.
[3] Challener D,Yoder K,Cat Herman R,et al.A Pratical GuidetoTrustedComputing[M].NewYork:IBM Press,2007.
[4] 谷伟,朱学永.基于可信计算和HIP的Web数据库安全模型[J].计算机工程,2013,39(3):63-66.
[5] 宗涛.基于可信计算的结构性安全模型设计与实现[J].计算机工程,2012,38(20):89-96.
[6] 谈剑峰.可信计算技术研究与应用[J].信息安全与通信保密,2014(3):116-119.
[7] 刘巍然,刘建伟.Android操作系统可信计算平台架构[J].武汉大学学报(理学版),2014,59(2):159-164.
[8] 卿斯汉,周启明,杜虹.可信计算研究进展分析[J].电信科学,2011(1):11-15.作者简介:
龙兴刚(1974—),男,硕士,高级工程师,主要研究方向为信息安全;
谢小赋(1973—),男,硕士,高级工程师,主要研究方向为网络安全与通信保密
庞 飞(1974—),男,硕士,工程师,主要研究方向为信息安全与可信计算。
叶 晓(1981—),男,学士,助理工程师,研究方向为计算机应用■
An Independent Controllable Scheme of Trusted Computing Platform
LONG Xing-gang1,XIE Xiao-fu2,PANG Fei2,YE Xiao2
(1Computing Technology Research Institute of Navy,Beijing 100141,China;2No.30 Institute of CETC,Chengdu Sichuan 610041,China)
Aiming at passive trusted measurement,incomplete operation system security enhancement mechanism and complicated authentication mechanism,X86-based trusted computing platform in TCG trusted computing sepcifications,an independent controllable scheme of trusted computing platform based on domestic processors and operating systems is proposed.Trusted security enhancement strategy and frame of domestic operating system is designed,and implementations of some key technologies,such as active trusted measurement based on control module of trusted platform and identity authentication based on identity platform are described in this paper.
trusted computing;active measurement;independent controllable
TP91
A
1009-8054(2015)10-0123-04
2015-05-22