论文部分内容阅读
可信计算为计算平台安全性提供了新的硬件结构支撑和密码服务保障。可信证明作为可信计算的重要技术,使计算平台具备向外界证明自身可信状态的能力。随着网格计算、P2P网络、云计算等开放网络环境下大规模分布式应用的发展,可信证明对建立计算实体间的信任关系、构建可信网络环境具有重要作用。现有的可信证明研究主要集中在计算平台的远程可信证明方面,缺乏有效的动态可信证明体系结构支撑,对计算平台的运行时可信状态证明能力不足。另一方面,操作系统作为计算平台的核心部件,其安全性保护主要基于实体身份实施授权和访问控制,操作系统内部缺乏有效的可信证明机制,难以验证实体的运行时状态、实施动态的访问控制,无法保障系统动态运行可信。针对操作系统内部的动态可信证明需求和远程可信证明存在的问题,本文将可信证明机制引入操作系统内部,以动态可信度量为核心,设计本地证明和远程证明相统一的操作系统可信证明体系结构,研究操作系统内核、进程等操作系统内部实体的运行时状态可信证明模型,在此基础上,构建计算平台间的动态远程证明方法,增强远程证明的动态性和实时性。具体而言,本文的主要工作包括:1、提出了基于双系统的操作系统可信证明体系结构。将可信证明机制引入操作系统内部,以动态度量为核心,以主动控制为目的,提出了由可信支撑域和系统功能域构成的双系统可信证明体系结构。基于可信平台控制模块TPCM构建可信支撑域,对系统功能域中的可执行实体实施动态可信度量和监控,为系统功能域提供可信证明服务,并依据证明结果对实体运行实施主动控制,保障可执行实体的运行可信,在统一的体系结构下实现操作系统内部可信证明和计算平台间远程可信证明。2、针对静态完整性度量难以证明进程运行可信的问题,提出了进程运行时状态可信证明模型。模型给出了进程空间中代码段、堆栈、堆等进程内部对象的构成、状态和操作的基本定义,基于进程内部对象的结构性特点、数据关联关系、短周期静态特征等进程预期属性,提出了进程代码可信、堆栈可信、堆可信等三类进程运行时状态可信证明规则,通过实时的可信度量,在进程运行过程中的任意时刻证明进程状态可信。依据进程对象生命周期、潜在攻击时机和可信证明规则,给出了基于状态转换点采样的进程动态度量策略,在进程的全程关键执行点实施动态可信度量,从而证明进程运行可信。进一步给出了模型的关键实现机制,进行了攻击实例测试,实验证明,该模型能够有效度量进程的运行时可信状态,及时报告进程的非法状态。3、针对由操作系统内核动态性引起的动态可信证明困难问题,提出了一种操作系统内核运行时状态可信证明模型。采用构造度量变量的方法统一描述内核度量对象和内容,使用杂凑函数度量内核的运行时静态完整性,基于内核数据结构及其关系构造动态度量变量,用以描述内核动态元素的语义,通过定义语义约束描述内核的动态完整性,对运行时的操作系统内核进行实时数据采集,检验内核动态元素是否符合预期的语义约束,从而验证内核的运行时动态完整性。模型性质分析和应用实例表明,与现有研究相比,该模型具有更全面的可信度量能力,能够有效识别对内核静态、动态运行时数据的非法篡改。4、针对计算平台远程证明缺乏动态性和实时性的问题,提出了计算平台运行时状态远程证明协议RSRAP,将动态度量证据与可信时间相绑定,利用TPCM向远程质询方报告平台的实时可信运行状态,基于LS2逻辑对RSRAP协议进行形式化描述与分析,分析表明,协议能够有效报告和验证计算平台的实时可信状态,且在LS2的所有抽象动作中,攻击者不能伪造证明证据;进一步,针对隐私性要求较高的应用场景,提出了计算平台运行时属性远程证明方法,将运行时状态可信验证委托于可信证明中心,仅向质询方报告运行时属性信息,使动态证明兼顾平台隐私保护,同时采用环形缓冲器和Merkel树的方法,增强了远程证明的规模可扩展性。5、面向虚拟计算环境下对物理计算节点的可信证明需求,以IaaS环境为背景,提出了计算节点注册证明、虚拟机启动、迁移、关闭证明等IaaS服务流程中的远程证明方法,向用户证明其虚拟机始终运行于状态可信的物理计算节点,且保证虚拟机数据的完整性和机密性;进一步,针对虚拟计算平台的多层次远程证明需求,提出了虚拟机和物理计算平台相绑定的虚拟计算平台多级远程证明方法,首先证明虚拟机的虚拟化属性和可信运行状态,进而关联证明虚拟机下层物理计算平台的可信状态,全面证明虚拟计算平台的多层次可信属性,建立用户对远程虚拟计算平台的深度信任关系。