1.3 可信3.0的应用模式
在可信3.0下,可信计算不是一个具体的产品,而是一种理念和计算模式。这一计算模式的核心是“计算的同时进行安全防护”,不是部署了一个安全解决方案后就可以高枕无忧,而是在构建了基本的可信免疫机制后,由管理员参与,为不同的计算任务定制可信策略,通过可信策略驱动可信免疫机制识别“自己”和“非己”,保障计算任务运行环境的可信。
可信3.0应用模式可以归纳为3个关键词:可信机制、可信策略和可信保障。可信机制是执行可信免疫过程的系统、程序、模块、服务进程和外围安全产品的总和;可信策略是用来定义可信免疫过程中识别和监控具体行为方式的输入语句的总和;可信保障是用来保障可信免疫过程正确执行的可信部件和方法的总和。
1.3.1 可信机制
在讨论可信机制之前,首先要厘清可信机制和安全机制的区别。可信并不等于安全,它用来支撑安全,确保安全机制的运行符合预期。在传统安全机制中,保障安全机制自身安全的部分属于可信的范畴,但这些部分是零散地分布在信息系统各安全机制中,难以形成体系化的可信机制。
可信3.0以双系统体系架构的模式实现可信机制,相当于为各种安全机制提供了一个统一的、通用性的可信平台。这一平台为系统中的安全机制提供了一个共同的基础,给安全机制提供统一的可信保障,同时也为各安全机制动态连接、构成纵深防御安全体系提供了支持,如图1-3所示。
图1-3 可信支持的双体系结构
从图1-3中可以看到,可信计算机制是在一个应用可信根(TCM与TPCM)的可信平台上、在宿主系统旁边独立构建一个可信子系统,并通过可信子系统的核心软件(可信软件基)控制宿主系统核心软件(宿主OS)中的监控点,监控宿主系统中应用的行为。宿主系统中运行的应用是传统的应用程序,它接受并响应用户的请求,完成预设的应用流程。可信子系统则提供可信管理应用,它由管理员操作,执行对系统的可信管理控制。宿主系统和可信子系统均通过网络与其他宿主系统和可信子系统进行连接,形成同构的分布式网络系统。
那么,传统系统中的安全机制在可信3.0下是否就没有自己的位置?并非如此。实际上,安全机制遵循引用监视器模型,其运行过程可以看作由接收安全策略、执行监控行为并返回审计信息这3个步骤组成。在可信3.0下,安全机制可以看作是一个或一组监控点,它与可信软件基对接,通过可信软件基接收安全策略,并将审计信息反馈给可信软件基。可信子系统则可以为其定制安全管理和安全接口组件,将安全机制集成到可信架构中,把局部、碎片化的安全机制集成为纵深防御体系,而这一集成仅需要安全机制开放其策略输入和审计输出接口,并不影响安全机制的核心逻辑。
1.3.2 可信策略
可信机制必须依据可信策略运行。可信策略根据用户信任情况、系统部署情况和计算任务的流程定制,在计算任务执行前部署,定义可信机制的具体行为方式。
信息系统中所有的行为都可以用四元组(主体,客体,操作,环境)来描述。
(1)主体是代表用户执行主动操作的实体,如系统中的用户角色、进程等对象。主体的可信属性由其代表用户的可信属性以及实体的可信属性共同决定。
(2)客体是数据的容器,如文件、内存空间、网络数据分组等。客体的可信属性由其中数据的可信属性决定。
(3)操作是主体对客体执行的访问行为,操作一般与监控点绑定。传统访问控制模型将操作简化为读、写、执行;在现代信息系统中,可以考虑主体、客体、环境因素,根据应用场景定义更多类型的操作。
(4)环境指主体对客体执行操作时所处环境的状态。环境属性实际上是对与主体进行交互的主客体对象可信属性的一个总体性描述。
从用户角度观察,可信策略可以分为识别策略、控制策略和报警策略这3种策略。
(1)识别策略确定信息系统行为四元组的可信属性,即主体、客体、操作和环境的可信属性。通过应用运行场景分析(可借助自动化、半自动化监控工具)确定特定监控点上不同主体、客体的特征以及操作类型和环境属性,作为系统的识别策略。
(2)控制策略在明确主体、客体、操作和环境后,确定操作是否可信并根据不同的可信状况确定系统的应对策略,如正常执行操作、拒绝执行操作、报警或触发其他安全处理流程等。
(3)报警策略在系统发现异常时,搜集审计信息进行初步判断,并将判断结果和相关数据组成报警,通过可信路径提交管理员,由管理员进行最终判断并采取对应的处理措施。
可信机制的实现采用双系统体系架构的模式。应用模式分为3个阶段:起始阶段、准备阶段和运行防护阶段。起始阶段一般由可信开发商在信息系统部署阶段执行,为信息系统构建一个可信免疫架构;准备阶段由系统管理员和安全管理员在计算任务启动前执行,通过对计算任务的分析,制定识别策略和监控策略并部署到可信系统中;计算阶段由可信免疫架构自动执行,管理员设置报警策略确定审计信息内容和预处理方式,通过报警信息对系统进行监控。
1.3.3 可信保障
可信节点首先需保障自身的可信。可信节点的可信保障主要从可信根出发,依托密码学技术和可信扩展技术实现贯穿系统的可信链。
可信根是一个物理保护的可信运算环境,可保证内部计算数据的保密、计算过程不受外界干扰。可信根是可信计算平台信任的源头。
在密码学方面,可信根内部包含可信平台密码模块,提供随机数发生器、可信存储环境以及对称密钥算法、非对称密钥算法、摘要算法引擎,并提供不可复制的唯一标识作为可信根的身份标识。可信计算环境下的对称密钥算法、非对称密钥算法、摘要算法引擎可以为系统提供平台完整性度量与报告、平台身份可信和数据安全保护等功能支持,如图1-4所示。
图1-4 可信计算密码服务
基于可信根的密码学技术,可以为系统提供不可仿冒的认证、度量和报告机制,并对公共区域的数据进行安全防护,构筑了可信计算平台信任的基础。为了保证可信平台整体的可信,还必须从信任根开始,依托可信密码技术和系统中的安全机制,通过一环接一环的可信扩展过程,确保系统从可信根到应用每一层面的可信。任何一个层面信任的缺失都会使其之上所有层面的可信性难以验证。这个连续的可信扩展过程定义为可信链。
可信链从可信根出发,先后扩展到平台主板、主板可信固件、可信引导程序、可信软件,并通过可信连接与其他可信平台上的可信节点建立协作关系,通过可信策略的管理控制,将这些可信节点整合成可信体系。可信链并不验证应用自身的可信,它只是为应用提供可信的计算环境,确保应用的执行符合预期,不受病毒、黑客和内部人员越权攻击等威胁。