查看原文
其他

网络安全之可信计算

计算机与网络安全 计算机与网络安全 2022-06-01

一次性进群,长期免费索取教程,没有付费教程。

教程列表见微信公众号底部菜单

进微信群回复公众号:微信群;QQ群:16004488


微信公众号:计算机与网络安全

ID:Computer-network

一、可信计算概述


传统的计算机体系结构过多地强调了计算功能,忽略了安全防护,这相当于一个人没有免疫系统,只能生活在无菌状态下。这是使当前网络安全系统中封堵查杀的安全防护手段力不从心的根本原因。可信计算的目标就是要为信息系统构建安全可信的计算环境,提升信息系统的免疫力。


(一)可信计算的出现


随着信息技术的不断发展,信息系统安全问题愈演愈烈,之后网络安全行业兴起,攻防技术层出不穷、不断升级,但是网络安全问题依旧没有降低的趋势,究其原因,主要有以下几条。


1、计算机架构的先天不足


在20世纪80年代计算机产业大发展之前,计算机架构的设计考虑了存储器的隔离保护机制、程序安全保护机制等安全措施,但是为了增强通用性、减小复杂度、提高运行效率,在随后的产业化发展过程中舍弃了很多成熟的安全机制,这就造成了计算机架构中的程序执行可以不通过认证,程序和系统区域的数据也可以随意被修改,从而使病毒、木马、恶意程序有可乘之机。


2、高复杂程度带来的低安全性


计算机系统的扩展使整个软件系统变得越来越脆弱。操作系统、软件的缺陷数越来越高。


3、网络把计算机变成网络中的一个组成部分


网络的发展把计算机变成网络中的一个组成部分, 在连接上突破了机房的地理隔离,信息的交互扩大到了整个网络。由于Internet 网络缺少足够的安全设计,处于网络环境中的计算机时刻都有可能受到安全威胁。目前,人们只能证明和验证一些简单的网络协议,所以,无法避免在网络协议中存在安全缺陷。


网络安全主要包括以下4个方面:信息设备安全、数据安全、内容安全和行为安全。信息系统硬件结构的安全和操作系统的安全是信息系统安全的基础,密码、网络安全等技术是关键技术。只有从信息系统的硬件和软件的底层采取安全措施,从整体上采取措施,才能比较有效地确保信息系统的安全。


由于目前的计算机终端架构缺乏相应的安全机制,整个计算平台很容易被攻击而进入一个不可控状态。所以,必须从底层硬件、操作系统和应用程序等方面采取综合措施,才能从整体上提高其安全性。可信计算由此催生并迅速发展。


可信计算技术通过在计算机中嵌入可信平台模块硬件设备,提供秘密信息硬件保护存储功能;通过在计算机运行过程中各个执行阶段(BIOS、操作系统装载程序、操作系统等)加入完整性度量机制,建立系统的信任链传递机制;通过在操作系统中加入底层软件,提供给上层应用程序调用可信计算服务的接口;通过构建可信网络协议和设计可信网络设备实现网络终端的可信接入问题。由此可见,可信计算技术是从计算机系统的各个层面进行安全增强,提供比以往任何安全技术更加完善的安全防护功能,可信计算这个概念的应用范畴包含从硬件到软件、从操作系统到应用程序、从单个芯片到整个网络、从设计过程到运行环境。


(二)可信计算的起源与发展


1、起源与兴起


早在20世纪60年代,为了提高硬件设备的安全性,人们设计了具有高可靠性的可信电路,可信的概念开始萌芽。到20世纪70年代初期,Anderson首次提出来了可信系统的概念,为美国后续的TCSEC(彩虹系列),可信计算机、可信计算基(TCB)、可信网络、可信数据库等的提出奠定了基础。彩虹系列是最早的一套可信计算技术文件,标志着可信计算的出现,也使系统的可信不断丰富可信的内涵,可信计算的理念和标准初具雏形。


从20世纪90年代开始,随着科学计算研究的体系化不断规范、规模的逐步扩大,可信计算产业组织和标准逐步形成体系并完善。1999年, IBM、HP、Intel和微软等著名IT企业发起成立了可信计算平台联盟(TCPA, Trusted Computing Platform Alliance),这标志着可信计算进入产业界。2003年,TCPA 改组为可信计算组织(TCG, Trusted Computing Group)。目前,TCG已经制定了一系列的可信计算技术规范,如可信PC、可信平台模块(TPM)、可信软件栈(TSS)、可信网络连接(TNC)、可信手机模块等,且不断地对这些技术规范进行修改完善和版本升级。


早在2000年伊始,我国就开始关注可信计算,并进行了立项、研究,和国外不同,我国在可信计算上走的是先引进技术后自主研发、先产品化后标准化的跨越式发展。2004 年,武汉瑞达生产了中国第一款TPM,之后联想、长城等基于TPM生产了可信PC。2005年1月,全国信息安全标准化技术委员会成立了可信计算工作小组(WGI),先后研制制定了可信密码模块(TCM)、可信主板、可信网络联接等多项标准规范。2005年,国家出台“十一五”规划和“863”计划,把“可信计算”列入重点支持项目,我国出现了一系列的可信计算产品。


2、可信计算标准体系


自1999年开始,可信计算从概念提出、技术研究发展到标准形成。国际上已形成以TPM芯片为信任根的TCG标准系列,国内已形成以TCM芯片为信任根的双体系架构可信标准系列。


国际与国内两套标准最主要的差异为:①信任芯片是否支持国产密码算法,国家密码局主导提出了中国商用密码可信计算应用标准,并禁止加载国际算法的可信计算产品在国内销售;②信任芯片是否支持板卡层面的优先加电控制,国内部分学者认为国际标准提出的CPU先加电、后依靠密码芯片建立信任链的模式强度不够,为此,提出基于TPCM芯片的双体系计算安全架构,TPCM芯片除了密码功能外,必须先于CPU加电,先于CPU对BIOS进行完整性度量;③可信软件栈是否支持操作系统层面的透明可信控制,国内部分学者认为国际标准需要程序被动调用可信接口,不能在操作系统层面进行主动度量,为此,提出在操作系统内核层面对应用程序完整性和程序行为进行透明可信判定及控制思路。


3、可信计算思想


首先,什么是可信?关于可信,目前尚未有一个统一的定义,不同的组织给出了自己的定义:①ISO/IEC(1999)定义可信为参与计算的组件、操作或过程在任意条件下是可预测的,并能抵御病毒和一定程度的物理干扰;②TCG(2002)用实体行为的预期性来定义可信,一个实体是可信的,如果它的行为总是以预期的方式,朝着预期的目标;③IEEE定义可信是指计算机系统所提供的服务是可论证且是可信赖的,这里的可信赖主要指系统的可靠性和可用性;④中国学者定义可信计算系统是能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统,可信包括许多方面,如正确性、可靠性、安全性、可用性、效率等,但安全性和可靠性是现阶段可信最主要的两方面,简称可信=可靠+ 安全。以上几个不同的定义有个共同点,就是强调实体行为的可预期性、强调系统的安全与可靠。


可信计算的基本思想是,首先在计算机系统中构建一个信任根,信任根的可信性由物理安全、技术安全和管理安全共同确保;再建立一条信任链,从信任根开始到软硬件平台、到操作系统、再到应用,一级度量认证一级、一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。


基于这个思想,TCG首次提出了可信计算平台的概念,并把这一概念具体化到可信服务器、可信PC、可信PDA和可信移动终端,并提出可信计算的体系结构和技术路线,形成一系列的技术标准;TCG可信计算不仅考虑了信息的秘密性,更强调了信息的真实性和完整性。


可信计算平台是指具有可信计算安全机制并能够提供可信服务的计算平台。其主要特征是有信任根,并基于此构建信任链机制、具有度量存储报告机制,能够提供确保系统数据完整性、数据安全存储和平台远程证明等可信功能服务。典型的可信计算平台包括可信 PC、可信服务器、可信PDA等。


可信计算平台以可信度量根核(CRTM)为起点,以信任链的方式来度量整个平台资源的完整性,将度量值存储至TPM的平台配置寄存器中,并通过TPM向询问平台可信状态的实体提供报告,供访问者判断平台是否可信,以决定是否与其交互。这种工作机制被称为可信度量、报告、存储机制,是可信计算机和普通计算机在安全机制上的最大区别。


(三)可信计算安全价值


可信计算是基于密码的计算机体系架构安全技术,理论上可很大程度解决恶意软件非授权安装/运行、设备网络假冒等问题,具体包括以下三点。


1、保证端计算环境可信,识别非授权软件,防止计算环境完整性受篡改。通过完整性度量,为嵌入式终端、桌面、服务器等提供硬件、固件软件、虚拟化软件、操作系统软件及应用软件的完整性保护,发现基于完整性篡改的攻击或异常。在确定端计算环境未被篡改的前提下,进行软件升级、安装、运行等。


2、保证端应用行为可控。仅允许白名单程序运行,并按照最小权限实现主体和客体绑定。


3、保证端网络身份可信,防止网络通信设备假冒。可信芯片有唯一芯片号、公私钥对,可参与通信过程身份认证及加密,比IP/MAC地址的设备网络标识方法可靠。上述安全价值,以密码芯片为可信根,通过散列算法实现完整性度量,通过非对称算法提供身份认证,通过对称算法提供数据加密,为密码算法、密钥、度量值、密码运算等提供更单纯、安全的安全芯片环境。


二、可信计算技术


(一)信任根


TCG定义的信任根包括3个根。可信度量根(RTM):负责完整性度量;可信报告根(RTR):负责报告信任根;可信存储根(RTS):负责存储信任根。其中,RTM是一个软件模块、RTR是由TPM的平台配置寄存器(PCR)和背书密钥(EK)组成、RTS是由TPM的PCR和存储根密钥(SRK)组成。


实践中,RTM在构建信任链的过程中,将完整性度量形成的信息传递给RTS,RTS使用TPM的平台配置寄存器存放度量扩展值、使用TPM提供的密码学服务保护度量日志。


RTR主要用于远程证明过程,向实体提供平台可信状态信息,主要内容包括平台配置信息、审计日志、身份密钥(一般由背书密钥或者基于背书密钥保护的身份密钥承担)。


(二)信任链


信任链的主要作用是将信任关系扩展到整个计算机平台,它建立在信任根的基础上。信任链可以通过可信度量机制来获取各种各样影响平台可信性的数据,并通过将这些数据与预期数据进行比较,来判断平台的可信性。


建立信任链时遵循以下3条规则。


1、所有模块或组件,除了CRTM(信任链构建起点,第一段运行的用于可信度量的代码),在没有经过度量以前,均认为是不可信的。同时,只有通过可信度量且与预期数据相符的模块或组件,才可归入可信边界内。


2、可信边界内部的模块或组件,可以作为验证代理,对尚未完成验证的模块或组件进行完整性验证。


3、只有可信边界内的模块或组件,才可以获得相关的TPM 控制权,可信边界以外的模块或组件无法控制或使用可信平台模块。


TCG的可信PC技术规范中提出了可信PC中的信任链,如图1所示,TCG的信任链很好地体现了度量存储报告机制。即对平台可行性进行度量,对度量的可信值进行存储。

图1  TCG定义的可信PC信任链

度量:该信任链以BIOS引导区与TPM为信任根,其中,BIOS引导区为可信度量根(RTM),TPM为可信存储根(RTS)、可信报告根(RTR)。从BIOS引导区出发,到OS Loader、再到 OS、应用,构成一条信任链。沿着这条信任链,一级度量一级,一级信任一级,确保平台资源的完整性。


存储:由于可信平台模块存储空间有限,所以,采用度量扩展的方法(即现有度量值和新度量值相连再次散列)来记录和存储度量值到可信平台模块的PCR中,同时将度量对象的详细信息和度量结果作为日志存储在磁盘中。存储在磁盘中的度量日志和存储在PCR中的度量值是相互印证的,防止磁盘中的日志被篡改。


报告:度量、存储之后,当访问客体询问时,可以提供报告,供访问对象判断平台的可信状态。向客体提供的报告内容包括PCR值和日志。为了确保报告内容的安全,还须采用加密、数字签名和认证技术,这一功能被称为平台远程证明。


(三)可信平台模块


1、TCG的TPM


可信平台模块是可信计算平台的信任根(RTS、RTR),它本身是一个SOC芯片,由CPU、存储器、I/O、密码协处理器、随机数产生器和嵌入式操作系统等部件组成,主要用于可信度量的存储、可信度量的报告、密钥产生、加密和签名、数据安全存储等功能。


在实践中,以TPM为信任根的可信计算平台上,CRTM由位于BIOS主引导块中的一段代码承担,当使用Intel TXT技术构建信任链时,以位于CPU中的 Microcode作为CRTM。


TCG先后发布过多个版本的TPM标准,其中,TPM 1.2使用较为广泛,但随着信息计算机技术的不断发展,TPM 1.2无法满足新技术下的需求,2014 TCG发布了TPM 2.0,相较于TPM1.2,TPM 2.0有如下改进:①吸收原有TPM(TPM1.2)和中国TCM的优点;②改进原TPM在密码算法灵活方面存在的问题;③使之成为一个国际标准,解决不同国家的本地需求,并保持较好的兼容性(如国内的TPM 2.0芯片支持国家密码局允许的密码学算法——SM3、SM2、SM4等)。TPM 2.0结构及模块功能如图2所示。

图2  TPM 2.0功能模块

2、中国的TCM


2006年,在国家密码管理局的主持下,我国制定了《可信计算平台密码技术方案》和《可信计算密码支撑平台功能与接口规范》2个规范。国内可信计算平台密码方案本质上和TCG的可信计算平台方案是一致的。国内可信计算平台密码方案采用的信任根是可信密码模块(TCM),该模块是我国可信计算从业人员参考TCG TPM1.2改进创新实现。TCM采用国内的密码算法作为密码学服务单元。其基本结构如图3所示。

图3  TCM功能结构

相比于TPM1.2,其主要创新点有:①密钥存储保护采用主密钥机制,主密钥使用对称密钥;②修改了对象授权数据的存储方式,提供更加灵活的对象与相应授权数据的对应关系;③自主设计了授权协议和传输保护协议;④简化了证书管理和密钥管理。


3、中国的TPCM


TCG的TPM设计在总体上是很成功的,它体现了TCGG以硬件芯片增强计算平台安全的基本思想, 为可信计算平台提供了信任根。TPM以密码技术支持TCG 的可信度量、存储、报告功能,为用户提供确保平台系统资源完整性、数据安全存储和平台远程证明。但是,TCG的TPM在设计时考虑到低成本以及希望回避对称密码在产品出口方面的政策障碍,造成TPM1.2明显存在一些不足,例如,TPM被设计成一种被动部件,缺少对平台安全的主动控制作用;采用LPC总线与系统连接,不适合大数据量的通信;缺少芯片本身物理安全方面的设计;可信度量根RTM 是一个软件模块,它存储在TPM之外,容易受到恶意攻击,如果RTM放入TPM之内,会更安全些。


针对TCG的TPM存在的一些不足,我国正在研究制定我国自己的TPCM(Trust Platform Control Module)技术。其主要技术特点是:①将可信度量根、可信报告根、可信存储根基于TPCM为一体,作为平台的信任根;②具备主动的度量功能,平台启动时,TPCM首先掌握对平台的控制权,并对平台关键部件的完整性度量;③加入我国国家商用密码算法的硬件引擎;④为了提高TPCM对上层操作系统或应用程序的支持,采用带宽更宽的PCI、PCI-E总线作为TPCM与系统之间的连接;⑤增加身份认证功能,通过7816总线实现口令、智能卡、指纹等方式的身份认证;⑥通过GPIO总线实现TPCM对计算机资源(硬盘、USB、并口、串口和网络设备等)的控制。


(四)可信支撑软件


可信支撑软件是操作系统层面安全应用可以调用可信计算平台提供的可信服务接口,从而为用户提供可信服务。


TSS(TCG Software Stack)是可信计算平台上TPM的支撑软件。 TSS 的作用主要是为操作系统和应用软件提供使用TPM的接口。


目前,实际应用中,主要使用TPM 1.2的TSS,如图4所示,它的结构分为内核层、系统服务层和用户程序层。内核层的核心软件是可信设备驱动 TDD模块,它是直接驱动TPM的软件模块,由其嵌入式操作系统所确定。系统服务层的核心软件是可信设备驱动库TDDL和可信计算核心服务模块TCS,其中,TDDL提供用户模式下的接口,TCS对平台上的所有应用提供一组通用的服务。用户程序层的核心软件是可信服务提供模块TSP,TSP给应用提供最高层的API函数,使应用程序可以方便地使用TPM。

图4  TSS 1.2架构

TSS 2.0规范目前只面向TCG成员单位,业界尚无开源的TSS 2.0实现发布。相比于TSS 1.2,TSS 2.0更加灵活、更多地考虑到开发者的学习成本,同时考虑了虚拟环境、网络环境下的TPM使用情况等。


国内根据实际情况也相应地编写了《可信服务模块》标准,作为基于TCM可信密码平台方案的支撑软件标准。


(五)远程证明和可信网络


1、远程证明


远程证明是可信计算平台可信度量、存储、报告机制在网络环境中的应用,是可信网络连接的基础。


远程证明是指可信计算平台向外部实体证明平台身份及可信状态的过程。相对基于身份的认证机制,远程证明进一步扩展和丰富了认证的内容,使认证的实体能够对认证客体进行更深层次更细粒度的认证。有效地避免了基于身份认证过程中对实体安全状态一无所知的窘境。远程证明不仅对用户和平台身份进行认证、还进一步对平台的安全状态、软硬件配置等信息进行验证,保证平台的状态符合预期的安全策略,从源头上消除大量潜在的安全攻击。


2、可信网络连接


可信网络连接(TNC)是对可信平台应用的扩展,其目的是确保网络访问者的完整性,其认证过程可简述为:终端在接入网络的过程中,先后对终端用户身份、终端平台身份、终端平台可信状态等信息进行认证,只有全部满足认证需求的情况下才允许接入网络。


TNC 的架构分为三层,分别为网络访问控制层、可信平台评估层和完整性度量层,如图5所示。网络访问层从属于传统的网络互联和安全层,支持现有的技术,如VPN 和802.1X等,这一层包括网络访问请求(NAR)、策略执行(PEP)和网络访问管理(NAA) 3个组件。可信平台评估层依据一定的安全策略评估访问请求者(AR)的完整性状况。完整性度量层负责搜集和验证AR的完整性信息。TNC通过网络访问请求,搜集和验证请求者的完整性信息,依据一定的安全策略对这些信息进行评估,决定是否允许请求者与网络连接,从而确保网络连接的可信性。

图5  TNC架构

3、TCA可信连接架构


仔细分析TNC会发现,TNC本质上其实是一个二元架构,这里只涉及访问请求者和网络接入方,且网络接入方处于控制地位,整个网络接入过程的可信认证都是为了确保网络的安全,却无法确保终端安全,即终端无法确认所接入的网络是否可信,从而无法确保获取的网络服务是否可信。


我国于2005年开始制定可信连接架构(TCA),有效地解决了该问题。TCA在制定过程中参考了TCG的TNC标准,同时采用了具有自主知识产权的三元对等实体鉴别及访问控制方法。


如图6所示,该架构设计包括3个实体、3个层次和若干组件。相比于TNC,该架构最大的特点是采用了三元对等架构,将访问请求者和平台控制器视为对等实体,其中,策略管理器作为可信第三方,提供访问请求者和访问控制者之间的双向身份认证。这种方式既简化身份管理、策略管理和证书管理机制,又保证终端与网络的双向认证。

图6  TCA架构

三、可信计算应用


以实践中的具体应用为例阐述可信计算的应用。


(一)Bit Locker


主要针对的是离线攻击问题(如设备丢失,或使用其他引导介质启动后窃取硬盘数据、写入木马等),特别是在计算机丢失或失窃后,防止计算机中的数据被泄露。同时,它关心系统的可信引导,着力确保在操作系统之前执行的所有引导相关代码都不存在被篡改的现象,防止被植入病毒或Root Kit等恶意程序,确保操作系统从引导到用户登录均处于可信的状态。


BitLocker主要功能包括整卷加密、完整性检查。其中,整卷加密是指对Windows操作系统所在的硬盘分区进行整个分区加密;完整性检查是指在系统引导过程中验证引导组件和引导配置数据的完整性。


(二)可信计算池


可信计算池主要针对云租赁业务中不同用户的安全需求所提出的计算资源池化、管理方案。主要解决的是安全可信计算的资源创建、分配、虚拟机可信保护、业务运行跟踪等问题。图7为可信计算池技术及主要功能,其核心功能包括以下三点。

图7  可信计算池技术及主要功能

(1)可信启动:确保计算资源硬件、固件、宿主机(VMM)等的安全可信,实现可信计算资源池的构建。


(2)地理位置标签,实现边界控制,确保用户业务的运行和迁移在特定计算资源上进行。


(3)基于可信控制的虚拟机保护,确保虚拟机运行在可信的计算资源上,保护虚拟机的完整性、保护运行在虚拟机上的业务及数据的完整性。


(三)可信云主机安全


可信云主机安全来自“中国云计算产业促进大会暨2014中国可控可信计算应用及产业会议”上主题为“云主机安全可信技术架构及实践”的相关内容。该方案融合可信计算、操作系统加固、虚拟计算安全等安全技术,以可信服务器为根,构建链接固件、VMM、Guest OS和上层应用的软硬一体化信任链,结合虚拟化加固、虚拟网络控制、操作系统加固等,应对云主机面临的服务器固件、硬件、OS、应用等传统攻击,虚拟化引入的VMM篡改、Guest OS镜像篡改、主机租户攻击等新型威胁。方案总体架构如图8所示。

图8  云主机安全可信架构

可信云主机方案主要由可信服务器、虚拟机安全套件、主机安全加固软件、应用安全容器套件等部分组成。


(1)可信服务器:以可信安全模块为可信根,构建从BIOS、Option ROM、MBR、OS Loader、OS Kernel等完整的信任链,并对服务器硬件和软件的完整性进行可信度量和动态完整性监控,可有效发现服务器上运行的非法硬件、固件、软件,从而抵御针对服务器基础软硬件平台的高级攻击以及其他恶意软件、Rootkit攻击和类似的恶意活动。


(2)虚拟机安全套件:运行在 VMM 层,提供在虚拟计算环境下的可信计算支持,防止VMM和VM被篡改。内嵌在虚拟交换机的网络安全模块,可对虚拟机间的访问进行严格的控制,防止非法的网络访问;同时,通过强制访问控制技术,对VMM提供安全加固,防止恶意代码的攻击。


(3)主机安全加固软件:是一款基于操作系统内核层开发的安全加固软件。与传统的防火强、IDS、IPS不同,该软件工作在最贴近用户数据的操作系统层面,不仅可以避免外部的黑客攻击,同样可以预防来自内网攻击的风险。该软件采用ROST技术和三权分立思想,规避了原系统管理员“一权独大”的风险,实现从根本上免疫各类病毒、木马和黑客攻击。同时,该软件还提供对可信计算的支持,可对上层应用程序提供可信启动、动态监控等功能。该产品还与传统的网络安全产品形成良好的互补,完善当前国内用户整体安全解决方案中最为重要的环节,填补了国内长期在操作系统层面安全产品的空白,并符合国家等级保护、分级保护以及军工、军队、电力等多个行业的网络安全建设要求。


(4)应用安全容器套件:结合主机访问控制技术、可信计算度量技术,实现对应用的访问控制、完整性检查等功能,为客户业务系统提供快捷的、安全的保护。可防止由黑客控制操作系统时,给业务系统带来破坏和攻击,同时也可防止在业务系统被攻击后,对操作系统平台和其他业务程序的攻击。


该方案可广泛应用于云数据中心、高安全等级服务器系统、工业控制等领域,其价值体现在以下几个方面。


(1)对于云数据中心的租户来说,能够保障OS安全,确保关键业务连续、稳定、安全、可靠。对数据中心运营者,为租户提供可靠的云主机安全业务。


(2)对高安全等级要求的客户,如军队、军工、公安等涉密单位,解决服务器系统基础软硬件面临的国家级APT攻击。


(3)对工业控制系统,如高铁、码头、矿山、城铁内的工业控制,可提供安全可信的基础计算平台。


(4)对于网络安全产业的厂商,可为安全软件的运行提供安全可信的环境,并提供强劲的计算性能。

微信公众号:计算机与网络安全

ID:Computer-network

【推荐书籍】

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存