可信安全体系架构--原理与实践
2010-05-17
可信安全体系架构--原理与实践
(李毓才(1),小谷诚刚(2),钱钢(3),毛文波(4),李晓勇(5),郭庆(6))
1.铁道部信息技术中心,2.可信计算组织 TCG、富士通美国实验室,3.南京师范大学,4.EMC中国实验室,5.北京交通大学,6.思科系统(中国)网络技术有限公司
[摘 要]本文介绍了可信安全理念和应用设计示例。可信安全简要概括为通过结构化的可信计算基、可信安全工程化等可信安全机制,保证系统安全机制具有期望的功能以及来源的真实性、机制自身的不可旁路和防篡改能力。结构化可信计算基也增加了系统安全功能机制形式化描述的可行性,从而提高人们对系统安全的信心。
[关键词]可信安全,结构化TCB,可信保证机制,可信安全工程化
1.引言
近年来,保证信息安全的相关领域研究不断深入,但信息安全所面临的形势依然日益严峻。既有的潜在威胁没有根本性的改变,新的安全威胁不断增加,针对信息及信息系统的攻击方式日益专业化和隐蔽化,攻击手段更具针对性和危害性,一些深层次的攻击(如rootkit攻击)能够从系统底层避开已有的安全机制,对用户信息和信息系统进行破坏,甚至直接颠覆和破坏系统安全机制本身。现有的信息安全防范体系远没有达到人们预期的水平。
导致上述信息安全现状的根本原因在于以往的研究和产品实现中,往往只强调安全功能的多样性和安全保障强度,而不能保证安全功能的总是有效作用,甚至安全机制本身被篡改或破坏。尽管有关安全准则[1]对信息系统的安全机制(也称可信计算基,Trusted Computing Base, TCB)作了明确要求,围绕TCB的可信保证问题,已进行多方探索,但是这还只停留在某些局部环节和领域上,在整体性和综合性方面还存在欠缺。
一些研究尝试通过减小TCB的代码规模[2][3],使人们有可能对它们进行完整的测试和分析,从而提高其可信程度。比如通过安全通道技术将TCB代码中占很大比例的设备驱动部分(包括网络协议栈)从TCB中剔出,但是TCB功能多样性特性导致了对TCB代码的裁减不可能达到很理想的程度。TCB可信保证的另一个重要研究方向是可信计算平台相关技术,TCG(Trusted Computing Group)或国内的可信计算联盟等试图以密码技术为基础[4],通过受物理保护的可信密码模块及相关软件栈为计算平台提供身份和状态可信保证,从而加强系统的安全保证能力。比如可信计算的一个重要内容是可信传递,它通过行为预期对系统每一个代码执行进行控制,从而保证系统运行的可信。但是,可信计算技术不能改善系统安全机制的来源和功能可信问题,一旦恶意代码通过各种方式进入信任链,那么系统的安全问题还会继续存在。
上述情况表明,在信息系统越来越复杂、功能越来越多样化、产品和技术来源越来越社会性的环境下,单一或局部的可信保证措施都不能根本提高TCB的可信度。必须在加强TCB安全功能、提高TCB安全强度的同时,还要从TCB的结构上提高其可信保证能力,并结合可信技术、管理和过程控制措施等多个方面满足TCB的可信保证要求,包括TCB的来源真实性、功能正确性和可靠性、运行完备性等等,使信息系统能够真正为人们所信赖。
2.可信安全内容和原理
可信安全(Trusted Security)是指通过充分可信赖的信息安全功能机制,使系统安全保护能力达到更高的信任度。可信安全的目标是为信息系统的安全功能和安全保证提供整体解决方案,从根本上提高系统的安全保护能力。可信安全可以认为是可以信赖的安全。可信安全的定义有以下方面含义:1)TCB具有期望的安全功能、能保证其安全策略有效正确地执行,并且来源可信;2)能够正确度量系统中的用户、平台和环境状态;3)TCB本身不会被篡改。
可信安全体系是基于可信的定义和可信计算基的定义导出的。它包括结构化的TCB、基于密码的可信保证机制和可信安全工程化的过程控制机制等方面的内容。可信安全不等于可信计算技术,但是可信计算技术可以作为可信安全的一个技术基础。可信安全是可信与安全在技术和管理等综合层面的融合体,使得系统TCB具备以下可信保证能力:1)本身必须能够抵制攻击、防止被篡改;2)必须总是能够发挥其设计安全功能;3)必须足够小,能够经得起测试和分析[5]。
鉴于业内在TCB的功能及机制的理论模型方面的研究已经取得了丰富的成果,本文在以后部分将重点放在TCB的实现结构与可信保证层面。
2.1 结构化TCB
可信安全的一个核心内容是结构化TCB。由于TCB的来源和功能表现为多样化特征,因此对TCB的代码规模难以进行有效裁减,只能通过结构化的TCB为TCB可信提供保证支持。
结构化TCB的前提是TCB模块化。橘皮书指出,TCB应该实现良好的内部模块化结构,并且这些模块之间有较高的独立性。而一般来讲,TCB模块之间又呈现一种有序的层次化关系,即结构,比如操作系统、中间件、应用系统中的TCB模块之间的关系,就表现为这种内在的有序层次化关系。认知了TCB的这种层次结构,要提高TCB的可信程度,必须加强其内部机制与功能,以便能够鉴别这些模块来保证纳入可信体系的它们是可信的,同时还要尽量使TCB的每个模块最小、TCB各个模块之间的相互关系最简。此外还需为维系TCB模块的这种内在关系提供可信的保证。结构化TCB是通过结构化的TCB和对TCB实施结构化保护的方法来实现。
对结构化TCB实施保护的技术基础是可信传递和平台可信证明。所谓可信传递是指在系统的运行控制传递过程中,可信根判断其下一级执行代码的真实性和完整性是否被篡改,如果没有,系统将运行控制传递到下一级可信执行代码,系统的可信范围因此就从可信根扩大到下一级功能;同理,这种系统运行代码控制不断往下传递,就可以实现信任链的建立和传递过程,最终实现系统在单一平台内的可信范围延伸;而平台可信证明是指计算平台在被允许接入并访问系统资源之前,必须要通过可信的机制向系统证明自身状态的可信,平台可信证明将系统TCB的可信范围从单一计算平台扩大到了网络系统。
在TCB各个组成模块来源和功能可信的基础上,基于结构化的TCB构建方法,系统TCB从初始的根TCB(Root,RTCB)开始,逐步加入新的TCB模块,最终生成一个链式或树形的层次化TCB。纳入信任链的这种结构化的TCB确实是可信的,在运行过程中TCB具有完整性保护能力,不会被旁路或篡改。此外,TCB的结构化构建方法还为TCB的形式化描述提供了有效支持。
在实际系统中,根据不同的环境,RTCB可以是TCG中的CRTM,也可以是操作系统的核心系统或硬件之上的虚拟机监视器(VMM)。RTCB的这种动态性支持可以保证系统的灵活性和可用性,尤其是在目前绝大多数服务器系统都还不支持TPM/TCM及TSS[6]的现实情况下。
2.2 可信安全的保证能力
2.2.1TCB的不可旁路性和防篡改能力
结构化的TCB保证了TCB的运行可靠性和完整性,它有效地控制了只有可信的可执行代码才能被系统调度运行,保证了在从系统引导到TCB被激活的中间过程阶段不可能有未经允许的代码中断或替代系统TCB的启动;在TCB被激活之后,可信传递机制能够继续保证没有非法代码对TCB的运行完整性进行破坏,确保TCB总能有效发挥安全功能;同理,可信安全通过平台可信证明机制能够保证系统中的各个独立计算平台是可信的,实现各个平台之间对安全策略的一致解释和一致执行,确保系统TCB的可信。
2.2.2TCB的形式化描述
在TCB规模不可能无限制裁减的情况下,TCB结构化构建方法为TCB的形式化描述和验证提供了技术支持。
可信安全基于可信的TCB组件,通过可信传递、可信证明机制,实现系统TCB的可信扩展。在可信安全系统中,系统都是基于一个足够小的系统可信根,通过可信传递机制扩展成一个可信的计算平台;在可信计算平台的基础上,系统通过可信证明机制扩展成为最终的可信计算系统。
对TCB结构化构建过程,可信安全可以采用递归方法对TCB加以形式化描述:首先,将系统可信根作为TCB递归描述的初始状态,该可信根足够小,并且有足够证据证明它是可信的;其次,将可信传递和可信证明机制作为形式化描述的递归部分,对TCB的可信组件逐步扩展过程进行描述。
通过上述递归描述方法,最终可以实现对系统TCB的形式化描述。
2.3 可信安全工程化
结构化TCB保证TCB在运行过程中不会被旁路或篡改,是实现可信安全目标的必要条件,至此还不能保证系统预期安全目标完整、准确的实现。作为充要条件还须保证TCB功能的正确性和可靠性、TCB的来源和产品功能(特别是软件产品、关键部件)的真实性。可信安全不仅是建立基于结构化TCB的安全技术体系,还必须对安全产品的开发、评价、实施以及安全服务的过程进行管理,将产品和系统纳入具有公信度认证与测评机制的控制之下,使之成为一个具备完好定义的、成熟的、可测量的过程,执行此类过程的组织开发实施的产品或系统以及提供的服务,才具有较高安全可信度和可重复性。
TCB的来源和功能可信保证是指对TCB的真实性、TCB功能的正确性和可靠性等内容建立信心,它包括TCB安全功能是否被正确实现、TCB是否包括安全后门和隐通道等等。采用可信的过程控制才能保证可信安全目标的实现。就实现可信安全目标的作用方面,可信安全工程化的实践价值远大于它的理论价值。缺少或未采用这类过程的产品研制和系统实施,不能称之为是可信安全产品或系统,任何一个环节缺乏或弱化都将降低其最终的可信度,造成与期望目标的偏差。面向可信安全系统全生命周期的可信安全工程化,包括如下三方面内容:1)实现TCB功能正确性和可靠性的可信安全产品构造与验证工程化, 2)确保TCB来源真实性、功能与策略符合性的可信安全实施过程工程化,3)维持目标系统一直处于期望可信安全状态的运行管理工程化等。
其中TCB的工程化实现是可信安全工程化的难点。欲使安全产品或工程达到人们期望的目标,在实践中,除技术因素外,还存在诸如知识产权、政府法规限制等很多困难。其中的关键是一个系统安全机制的实现应具有更大包容性的结构化体系,使得安全机制的每个功能模块,例如密码技术,能够独立于应用功能实现。这既为实现TCB最小化目标创造了工程条件,又适应了TCB来源多元性、系统发展阶段性的客观事实。这既是理念问题也是技术的发展策略问题,这个根本性的问题解决了,政府法规符合、标准化等一系列问题就容易解决了。
3.可信安全应用设计示例
可信安全的应用重点在于如何具体实现结构化的TCB。作为结构化TCB的一个示例,在RTCB基础之上,将操作系统、可信安全网络、可信安全存储、可信安全服务中间件、可信安全应用软件、可信安全边界保护等TCB模块或组件构成一个完整的安全保障架构。而一般功能,如系统服务软件和业务应用软件等,则依托于该安全保障架构部署,在可信安全的计算环境下,依靠有效、一致地安全策略,保证应用业务的安全运行和数据的安全。
3.1 结构化TCB设计与强制策略执行管理
在不同的应用环境中,系统RTCB有不同的选择。在目前的硬件环境下,如果物理环境和管理能力满足一定要求,选择操作系统可信安全增强模块或直接位于硬件之上的VMM作为RTCB有相当的实际意义和安全效果。采用操作系统可信安全增强模块或VMM作为RTCB的好处是保证用户仍可继续使用商业操作系统环境,保证业务连续性和兼容性。
RTCB应运行在系统底层,它能对CPU、内存和I/O设备等硬件资源进行安全控制。系统正确启动并进入服务状态后,RTCB必须截获并处理上层软件实体的特权操作。RTCB可以根据统一制定的访问控制策略,实施对指定的硬件资源访问控制,防止硬件资源被其他软件实体的未授权访问。软件实体对硬件资源的访问难以绕过根TCB的监控。
为保证TCB的不可旁路性,可信安全采用策略绑定机制。为实现中国GB17859-1999 《计算机信息系统安全保护等级划分准则》第三级安全,支持基于安全标记的多级安全强制访问控制的要求,设计中每个主体(如一个用户、进程或设备)和客体(如内存页面、磁盘文件或数据块)均被加上特定级别的安全标记。在授权主体对客体进行访问时,由于当前计算平台的计算环境可以被度量和证明,那么系统可以将访问控制过程中的认证、授权(决策)和执行的每个阶段绑定到特定的计算环境。只有处于正确的计算环境,主体才能完成对客体的正确访问。如果计算环境受到破坏,即使指定的安全策略被旁路,攻击者仍然不能完成对资源的访问。
在上述绑定的这个机制中,可信域的每个主体和每个客体都有特定的安全标记。每个主体都要获得相应的信任证书,该证书包括主体的安全标记和指定的计算环境,将访问控制过程中的认证、授权和执行的每个阶段与特定计算环境绑定,只有处于正确环境的主体才能完成对客体的访问。在一个请求到达时,首先在计算环境的边界进行认证,管理控制系统将请求分解成一个或多个任务,并为每个任务颁发信任证书,确定该任务的权限和计算环境。进一步,可以将多级访问客体结合特定的系统状态加密存储,只有在系统执行强制访问控制策略时,系统才可以正确解密被加密的客体数据,从而保证强制访问控制机制的不可旁路性。
这种强制的策略执行管理本质上也是一种策略执行保证机制,它保证了在系统运行过程中,任何系统访问都不能绕过系统安全策略,从而保证了安全功能机制总是有效的,其行为也是可信的。
在信息安全中,操作系统的安全是基础。操作系统除了应该为应用提供身份认证、访问控制、安全审计等安全保护之外,还应该为应用提供安全信心,保证其安全机制是可信的,即不可被旁路、也不可被篡改。
可信安全的操作系统能够保证系统中的每一个组件,包括服务、应用、驱动都是经过安全认证认可的,从而建立一个可信的应用环境。这种认可甚至要深入到应用组件一级,比如Java应用(如Java类和Jar包等)。这样就有效防止了系统安全功能机制被旁路或恶意破坏的可能。
操作系统还应该在硬件机制的支持下,实现进程间的安全隔离和内存的安全保护,保证输入/输出路径的可信、阻止DMA直接访问物理内存可能带来的安全问题。基于密码技术和可信的密钥保护机制,为重要数据的传输和存储提供保密和完整性保护。密码作为一个独立的模块设计,根据环境可选择不同机密度的硬件或软件实现,支持动态实体认证、证明和数据加密。该硬件应与TPM和TCM兼容,但性能要更强大。
在保证计算平台可信安全的基础之上,平台可信证明机制可以保证只有来源和身份符合预期、平台状态可信安全的设备才可以进入计算环境中,参与应用计算。通过对每个系统组件身份和状态的控制,可以保证接入系统的整体安全策略和策略执行机制的一致性,从而保证计算环境的安全和可信。
反过来,安全功能也可以为系统可信机制提供安全保护,比如系统通过访问控制和完整性保护机制保证系统可信机制不会被非法访问和篡改,或通过安全审计和备份恢复对被破坏的保证机制进行追踪或恢复。
3.2 可信安全网络
可信安全网络基于可信技术,集身份认证、安全标记识别和传输控制于一体。在企业网络的计算机、交换机和路由器上实施强化的安全策略,防止高敏感信息从高级安全域流向低级安全域。为保证信息安全,可使用条件加解密功能将数据访问绑定到特定的环境中,既使敏感数据流到不安全的环境中被访问时,由于环境差异,数据仍然无法被正确访问。
可信安全网络体现了网络服务与应用紧密结合的发展趋势。可信源自系统统一的信任体系,基于开放架构的网络设备具有集成可信安全功能的能力,作为整个系统TCB的组成部分,网络设备安全机制通过可信证明机制扩展融入可信安全体系架构之中,在可信终端和可信服务之间的可信通道上正确地传输可信的数据。
可信安全网络、可信安全计算平台及可信安全存储的安全策略是统一的和兼容的。数据安全标记源自可信安全计算平台,用于标识应用/用户、数据敏感度和作用范围。实际上安全标记也标识了相应的安全策略,传输控制机制通过可信安全的标记来识别、并据此与可定制化的传输策略绑定,控制数据在网络不同安全域中的传输,可实现高安全级别要求的强制传输控制,也能据此辨识应用并对不同应用的流量进行检测。根据应用环境在端点或链路层选用适当加密算法,确保信息在可信通道传输过程中的完整性、机密性及不可篡改性。
可信安全网络从底层开始,实现了网络设备、传输通道与终端的可信,端到端的统一安全标记,在机制上屏蔽了可能的各种未知恶意攻击,其安全保障对于网络层面是透明的。不仅提高了网络自身抵御攻击的能力,同时也保证了信息传输的安全。
3.3 可信安全存储与数据防泄露
可信安全提供存储保护功能。用户数据的加密可以与指定的平台完整性进行绑定。只有满足指定的验证条件,安全机制才会正确提供解密服务。另外,基于可信安全的数据安全更容易支持动态数据标记和数据迁移,更容易解决跨域的数据安全问题。
可信安全存储系统本身就可以被设计成可信安全计算环境中的一个相对独立的可信安全存储平台。因为它具有现代的CPU 处理器和高速大容量的内存,在存储系统内部增加认证、授权访问和密码服务功能,将打造一个可信安全的存储系统。该存储系统通过在系统内部定义与计算环境相关的安全属性,并对这些内部计算环境的特征和属性提供基于策略驱动和安全认证的强访问控制技术,并与计算环境的身份认证、访问控制和密码等服务功能关联,提供细粒度的数据保护机制,例如指定磁盘上的某块区域只能被通过安全认证的应用程序访问。这样,将可信安全扩展到存储系统,使存储系统能提供与计算平台一致的数据加密和锁定、访问日志、身份认证、授权访问等安全功能。
基于可信安全机制能够有效地实现数据防泄漏(Data Leakage Prevention ,DLP)。对于敏感数据,数据发布方可以将它们与具体的数据处理平台甚至用户身份实现绑定加密。在数据处理过程中,首先需要对数据进行解密,但是数据的解密除了需要用户提交信息作为解密密钥的一部分之外,还必须获取所在平台的指定特征或其它状态信息,并将这些特征或状态作为解密密钥的一部分。最终只有在指定的数据处理平台上,由指定人员才可以处理特定的敏感数据。
为了防止授权人员在指定平台上将数据复制,对这些数据的加密可以进一步和数据处理平台的状态进行绑定,只有指定平台符合数据安全保密要求时,比如没有运行数据复制功能的程序代码,数据才可以在内存中被解密处理。
上述方案采用加密方法保护数据,同时又限制了数据解密的条件,从而有效防止内部人员绕过数据防泄漏机制。这种数据防泄漏技术还可以有效地用于数字版权保护(DRM)领域。上述方案采用加密方法保护数据,同时又限制了数据解密的条件,从而有效防止内部人员绕过数据防泄漏机制。
4.结论
基于可信安全体系的实现,不仅能解决既有应用的安全,还将为安全云计算平台提供一种有效的实现,可信安全服务使服务提供者能够向用户保障并证明其安全服务能满足用户的安全需求,推进可信计算技术的应用。
可信安全体系的提出将加快可信计算技术的应用进程。在现阶段,尽管与可信安全相关技术已经基本成熟,但是还有很多内容需要深入研究和发展,比如TCB的形式化描述、技术到实用产品的转化、可信安全管理等等,还需要在更广泛的实践活动中不断发展和提高。
5.参考文献
[1] 5200.28-STD DoD Trusted Computer System Evaluation Criteria, 26 December 1985 (Supersedes CSC-STD-001-83, dtd 15 Aug 83). (Orange Book)
[2] Michael Hohmuth , Michael Peter , Hermann Härtig , Jonathan S. Shapiro, Reducing TCB size by using untrusted components: small kernels versus virtual-machine monitors, Proceedings of the 11th workshop on ACM SIGOPS European workshop, September 19-22, 2004, Leuven, Belgium
[3] Feiertag, R.J. .Does TCB Subsetting Enhance Trust?. Computer Security Applications Conference, 1989., Fifth Annual Volume , Issue , 4-8 Dec 1989 Page(s):104 –
[5] Anderson, J. P. Computer Security Technology Planning Study, ESD-TR-73-51, vol. I, ESD/AFSC, Hanscom AFB, Bedford, Mass., October 1972 (NTIS AD-758 206).
[6] CSC-STD-003-85 Computer Security Requirements -- Guidance for Applying the DoD TCSEC in Specific Environments, 25 June 1985 (Light Yellow Book)
该论文已发表于2009年12月《网络安全技术与应用》。


| 

