目录
引言
可信计算技术的研究
国外研究现状
可信计算机体系结构
可信计算机硬件平台
可信计算机软件平台
可信网络接入
国内研究状况
可信计算的关键技术
可信计算相关国际标准
TCG规范
美国可信计算机安全评价标准(TCSEC)
欧洲信息安全评价标准(ITSEC)
可信计算技术的需求及技术选择
数字版权管理
身份盗用保护
防止在线游戏作弊
保护系统不受病毒和间谍软件危害
保护生物识别身份验证数据
核查远程网格计算的计算结果
可信计算是信息安全领域一个重要的应用和研究分支,是从系统角度解决当前信息安全隐患的一种有效机制.介绍了可信计算技术的基本概念,重点对可信计算的密钥管理体系和证书类型进行了系统分析,对可信平台模块和可信计算平台进行了讨论.通过对可信计算基础理论和实现方法的研究,总结了可信计算的研究进展,提出了可信计算的研究方向。
近年来,随着云计算、物联网、移动计算等技术的发展和应用领域的不断拓宽,现代信息技术在社会生产生活中的引领作用越来越突出,信息技术手段在社会各领域中的支撑功能越来越重要.与此同时,无论是信息的提供者还是访问者,对信息的安全要求及重视程度越来越高,人们对信息安全的要求已超出了传统定义中的保密性、完整性、可靠性、可用性和不可抵赖性这5大要素,继承传统技术和应用、体现当前应用需求和技术特点、融合现代管理理念和人类社会信任机制的可信计算(trusted computing)技术成为信息安全领域的新元素,并在实践中不断探索和发展。
目前,国际上对可信计算的研究主要集中在产业界,可信计算的研究主要包括可信计算机体系结构、可信计算机硬件平台、可信计算机软件平台和可信网络接入四部分内容,下面分别对这四方面内容进行介绍。
可信计算机体系结构是可信计算技术实施的核心,主要为构建具体的可信计算机终端提供总体设计框架。相比于传统的PC机框架结构,可信PC机主要增加了可信构建模块(Trusted Building Block,TBB)、与平台相关的嵌入式硬件等。其中,可信构建模块由可度量的核心信任源CRTM和TPM共同组成,它们也是主板上唯一的可信组件。
目前比较典型的可信计算机实现框架有Intel公司基于LT技术的可信计算机框架、微软公司基于NGSCB技术的可信计算机框架和TCG提出的可信PC机实现框架。
1)LT技术是英特尔公司提出的新一代PC平台的安全解决方案。LT是多种硬件技术的结合,包括以下四个主要部分:CPU支持进程间隔离,对执行进行保护;TPM支持密封存储,提供用于用户认证和平台验证的各种码支持;Chipset支持内存隔离,域管理,解决DMA通道对内存访问的问题,也为建立有保护的输入输出环境提供硬件支持;Protect 1/0涉及到各种外部设备及接口,建立有保护的输入输出还需要对外部设备及接口进行改造。
2)与Intel公司不同,微软侧重通过设计基于安全芯片的可信操作系统而构建可信计算机,该系统的实现依赖于微软的NGSCB技术,基于NGSCB技术的可信计算机框架结构可以划分为三层:最底层为硬件支持层称为一个类似于TPM的SSC模块(Secure Support Component);运行在其上的是与操作系统内核同处一个层次的核心模块,通过该模块来提供对SSC的访问,同时提供各种安全功能支持,称为nexus;上面是应用层,由称为NCA(Nexus Computing Agent)的代理来执行。然而,目前微软最新一代操作系统Vista并没有做到其前期所承诺的支持NGSCB,微软使用了另一个相对简单的名为“Secure Startup”的应用技术,来代替NGSCB。
3)TCG在分析可信计算技术相应作用机制的基础上,提出了基于TPM芯片的可信PC机实现框架。TCG的可信计算机主要有以下几大模块:可信平台模块即TPM,其通常是具有密码运算能力和存储能力的芯片,在可信计算平台中起核心的控制作用;可度量的核心信任源即CRTM(Core Root of Trust for Measurement),其是可信计算平台初始化代码中的不可变部分,计算机启动后,由CRTM接管系统控制权,在TPM的配合下完成可信计算机中信任状态的逐级建立和传递;可信计算软件栈即TSS,其是在TPW平台上的支撑软件,主要为其它软件提供使用TPM的接口。
可信计算机硬件平台是实现计算机终端安全和网络平台可信的根本保障,其主要包括可信CPU、可信计算机中的安全芯片、BIOS系统及安全外设等,具体的研究情况如下所述:
1)在安全CPU方面的研究,主要有AMD公司的支持片内安全和虚拟技术的Opteron处理器,IBM公司的基于Secure Blue技术的CPU和ARM公司的基于TrustZone技术的CPU;
2)在安全芯片研究方面,有美国国家半导体公司(National Semiconductor Corporation)推出的SafeKeeper Trusted I/0的信息系统防护芯片,Atmel、Infineon、Broadcom、TBD等都分别推出了符合TPM1.2规范的TPM芯片;
3)在BI0S研究方面,各BIOS厂商也都推出了支持TPM芯片的安全增强型BIOS系统,如Phoenix公司的TrustedCore产品和AMI公司的AMIBIOS8产品等;
4)在安全外设方面,主要有西捷公司开发的具有加密功能的安全硬盘和IBM公司结合专用主板设计的安全硬盘,在固态盘方面,国外公司通过SOC技术,设计固态存储专用控制器,将接口控制功能、处理器控制功能、Flash存储器读写控制功能相结合,并具有数据快速擦除功能。
可信计算机软件平台的研究表现为计算机硬件平台上各层次软件系统的设计实现与综合集成,相关内容主要包括可信软件栈和可信操作系统的研究。目前,除了有代表性的研究主要有TCG发布的可信计算软件栈规范和微软开发的支持TPMV1.2芯片和NAP技术的新一代操作系统Windows Vista外,美国几家著名的实时操作系统公司正在与承包商合作进行安全操作系统的开发,这些开发主要是基于Linux,针对Linux系统在可信引导、应用程序的可信管理和文件系统的可信管理方面进行研究和设计,国外比较有名的商用安全操作系统产品有Sun Microsystems 的Trusted Solaris 8、HP的HP-UX、Argus Systems Group的PitBull等,较有名的开源安全操作系统有NAS的SELinux、Nove11的AppArmor和LIDS等。
可信网络连接技术旨在解决网络环境中计算机终端的认证和可信接入问题,要强调的是终端的安全接入,或者更确切说是防止网络中接入不安全的终端,试图控制网络中最难以控制,也是不安全因素的源头——终端。当终端要访问网络之前,要对终端的身份进行识别,并对其完整性状态进行检测并与系统的安全策略进行比较:如果满足安全策略要求,则允许终端接入网络;否则,则拒绝或是对该终端进行安全隔离,当终端处于隔离状态时,可以对该终端进行修复,直到终端的完整性及其它安全属性达到系统安全策略的要求时,方可允许该终端接入网络。目前在可信网络连接方面,比较有影响的研究主要有TCG的TNC技术、思科的AC技术和微软的NAP技术。三者均由传统的IWG技术架构演化而来,在实现思路和技术架构都比较接近,主要区别在于开放性和技术重点方面:NAP和NAC是厂商的专有技术,NAC由于是CISCO发布的,所以其架构中接入设备占了很大的比例,NAP则偏重在终端agent以及接入服务,这与微软自身的技术背景也有很大的关联;而TNC是开放标准,任何厂商的产品都可以调用或提供操作接口,TNC技术的重点放在建立TPM芯片基础之上的主机身份认证与完整性验证上。
目前,三家主流的接入技术进入了一个合作与技术融合的阶段:2006年,思科与微软共同发布了一份技术白皮书,宣布Cisco NAC和Microsoft NAP将实现互操作,以实施安全策略和进行状态评估,白皮书介绍了这一架构,并具体阐述了如何将思科网络基础设施内嵌的安全功能与Microsoft Windows Vista、以及Windows Longhorn Server下一代操作版本相集成,此后客户即可以开始部署Cisco AC与Microsoft NAP的互操作解决方案;在2007年的5月21日,微软又宣布了与可信计算组织的TNC的互操作性,简化了网络访问控制框架和协议,解决方案将部署在Windows Longhorn Server下一代操作版本中。
1999年,武汉瑞达科技有限公司依托武汉大学技术力量进行了“安全计算机”的体系机构和关键技术的研究和实践,并于2004年推出了可信计算平台SQY14嵌入密码型计算机。
兆日科技作为TCG的又一中国成员,在研究跟踪TCG相关技术规范的基础上,于2005年年初推出了符合TPM1.2规范的安全芯片SSX35B,并已经开展了与长城、同方等多家主流品牌电脑厂商的合作,相继推出了相应的可信计算机。
联想方面宣称已在可信主机、可信网络和可信管理系统三个方面取得了关键性的突破,主要成果包括:推出了符合TPW1.2规范的恒智芯片;基于该安全芯片推出的安全终端及安全应用系统;基于LeadSec安全协议族的可信管理系统框架;以及基于安全芯片的访问控制,高速内容检测与过滤技术;3A网关技术构成的安全网络设备核心技术等。
国家密码管理局联合国内一些IT企业研究TCM(Trusted Computing Module,可信计算模块)标准,2007年12月29日,国家密码管理局发布了TCM标准,接着,中兴公司研制并推出了首款符合TCM规范的芯片。
天融信公司于2004年12月推出了“可信网络架构”,该架构主要包括可信安全管理系统(TSM)、网关可信代理(GTA)、网络可信代理(NTA)和端点可信代理(PTA)四部分,其可以确保安全管理系统、安全产品、网络设备和端点用户等四个安全环节的安全性,同时能对用户网络已有的安全资源进行有效整合和管理,该架构已经具有可信计算技术的部分属性。
在安全操作系统的研究方面,国防科技大学计算机学院“863服务器操作系统内核”项目组研制的操作系统银河麒麟操作系统(英文名称:Kylin Operating System),Kylin操作系统分为标准版和安全版两种版本,从许多方面对Kylin操作系统的安全性作了增强,其重要的安全机制包括:增强的用户认证机制、细粒度的自主访问控制机制、系统内核实现的强制访问控制机制、能力机制、角色定权机制、禁止客体重用和安全审计机制等。
航天706所在参考国际可信计算技术的基础上,结合具体的应用需求,对系统信任根建立和传递技术、安全BIOS实现技术(包括传统BI0S架构和UEFI架构下BIOS系统安全模块的开发和BIOS系统的定制开发等)、TPM实现技术、安全存储设备实现技术及可信网络接入架构等方面进行了系统研究,推出了具备系统整体安全防护能力的可信计算终端,初步构建了相应的可信计算环境。
可信计算的研究涵盖了硬件、软件以及网络等不同的技术层面,其中涉及的关键技术主要有以下几点:
1)信任链传递技术:在可信计算机系统中,信任链被用于描述系统的可信性,整个系统信任链的传递从信任根(安全芯片和CRTM)开始。从平台加电开始到BIOS的执行,再到操作系统加载程序的执行,到最终操作系统启动、应用程序的执行的一系列过程,信任链一直从信任根处层层传递上来,从而保证该终端的计算环境始终是可信的。
2)安全芯片设计技术:安全芯片作为可信计算机系统物理信任根的一部分,在整个可信计算机中起着核心的控制作用。该芯片具有密码运算能力、存储能力,能够提供密钥生成和公钥签名等功能;其内部带有非易失性存储器,能够永久保存用户身份信息或秘密信息。
3)可信BIOS技术:BIOS直接对计算机系统中的输入、输出设备进行硬件级的控制,是连接软件程序和硬件设备之间的枢纽。其主要负责机器加电后各种硬件设备的检测初始化、操作系统装载引导、中断服务提供及系统参数设置的操作。在高可信计算机中,BIOS和安全芯片共同构成了系统的物理信任根。
4)可信计算软件栈(TSS)设计实现技术:可信计算软件栈是可信计算平台的支撑软件,用来向其它软件提供使用安全芯片的接口,并通过实现安全机制来增强操作系统和应用程序的安全性。可信计算软件栈通过构造层次结构的安全可信协议栈创建信任,其可以提供基本数据的私密性保护、平台识别和认证等功能。
5)可信网络连接技术:可信网络连接技术主要解决网络环境中终端主机的可信接入问题,在主机接入网络之前,必须检查其是否符合该网络的接入策略(如是否安装有特定的安全芯片、防病毒软件等),可疑或有问题的主机将被隔离或限制网络接入范围,直到它经过修改或采取了相应的安全措施为止。
TCG于2003年到2008年已经建立起比较完整的TPM1.2技术规范标准体系。包括:TPM功能与实现规范(TPM main specification 1.2);TSS功能与实现规范(TSS specification version 1.2);针对PC平台的TCG规范(PC client specific implementation specification,for conventional BIOS,Version 1.2);针对服务器平台的TCG规范(TCG server specific implementation specification for TCG version 1.2和TCG IPF architecture server specification);针对手机平台的TCG规范(mobile phone technical specification 1.0和use case);基础设施技术规范,包括身份证书、网络认证协议、完整性收集和完整性服务等规范。其中一个可信网络连接工作小组,已经制定出一系列可信网络连接的协议、接口规范,将对网络安全技术发展产生重要的影响;针对外设在可信计算架构中的技术规范;针对网络安全存储的TCG规范(storage architecture core specification 1.0)基于CC(common criteria)的相关符合性的测评规范等。
从TCG的技术标准体系涵盖的范围可以看出,TCG 技术标准已经渗透到IT技术每一个层面。
TCSEC 标准是计算机系统安全评估的第一个正式标准,具有划时代的意义。《可信计算机系统评价准则》第一次提出可信计算机和可信计算基(TBC, Trusted Computing Base)的概念,并将TBC作为系统安全的基础。该准则于1970 年由美国国防科学委员会提出,1985年,国防部国家计算机安全中心代表国防部制定并出版《可信计算机安全评价标准》,即著名的“桔皮书”。TCSEC将计算机系统的安全划分为4个等级、7个安全级别,如表1所示。
ITSEC 是英国、法国、德国和荷兰制定的 IT安全评估准则,较美国军方制定的TCSEC准则在功能的灵活性和有关评估技术方面均有很大的进步。ITSEC是欧洲多国安全评价方法的综合产物,应用领域为军队、政府和商业。该标准将安全概念分为功能与评估两部分。功能准则从F1~F10共分10级。1~5级对应于TCSEC的D到A。F6至F10级分别对应数据和程序的完整性、系统的可用性、数据通信的完整性、数据通信的保密性以及机密性和完整性的网络安全。评估准则分为6级,分别是测试、配置控制和可控的分配、能访问详细设计和源码、详细的脆弱性分析、设计与源码明显对应以及设计与 源码在形式上一致。
可信计算将使公司创建很难规避的数字版权管理系统,但也不是不可能(破解)。例子是下载的音乐文件,用远程认证可使音乐文件拒绝被播放,除非是在执行着唱片公司规则的特定音乐播放器上。密封储存防止用户使用其他的播放器或在另一台电脑上打开该文件。音乐在屏蔽储存里播放,这将阻止用户在播放该音乐文件时进行该文件的无限制复制。安全I/0阻止用户捕获发送到音响系统里的(流)。规避(破解)这样的系统需要操纵电脑硬件或者是用录音设备或麦克风获取模拟信号(这样可能产生信号衰减)或者破解加密算法。
可信计算可以用来帮助防止身份盗用。以网上银行为例,当用户接入到银行服务器时使用远程认证,之后如果服务器能产生正确的认证证书那么银行服务器就将只对该页面进行服务。随后用户通过该页面发送他的加密账号和PIN和一些对用户和银行都为私有的(不看见)保证信息。
可信计算可以用来打击在线游戏作弊。一些玩家修改他们的游戏副本以在游戏中获得不公平的优势;远程认证,安全I/0以及储存器屏蔽用来核对所有接入游戏服务器的玩家(以确保)其正运行一个未修改的软件副本。尤其是设计用来增强玩家能力属性或自动执行某种任务的游戏修改器。例如,用户可能想要在射击游戏中安装一个自动瞄准BOT,在战略游戏中安装收获机器人。由于游戏服务器无法确定这些命令是由人还是程序发出的,推荐解决方案是验证玩家电脑上正在运行的代码。
软件的数字签名将使得用户识别出经过第三方修改可能加入间课软件的应用程序。例如,一个网站提供一个修改过的流行即时通讯程序版本,该程序包含间谍软件。操作系统可以发现这些版本里缺失有效的签名并通知用户该程序已经被修改,然而这也带来一个问题:谁来决定签名是否有效。
用于身份认证的生物鉴别设备可以使用可信计算技术(存储器屏蔽,安全I/0)来确保没有间课软件安装在电脑上窃取敏感的生物识别信息。
可信计算可以确保网格计算系统的参与者返回的结果不是伪造的。这样大型模拟运算(例如天气系统模拟)不需要繁重的冗余运算来保证结果不被伪造,从而得到想要的(正确)结论。就中国国内而言,中国的政府管理者对可信计算给予了极大的关注,对可信计算提供了相当大的经费支持。如中国国家密码管理委员会组织了可信密码模块的标准制定,并在其官方网站上提供了部分标准。中国科技部的863计划开展了可信计算技术的项目专题研究,自然基金委开展了“可信软件”的重大专项研究计划支持。