论文部分内容阅读
随着Internet的快速发展,越来越多的软件运行在开放、动态、多变的网络环境下,软件的形态也在不断演化,这使得针对运行时软件的信任管理变得更加困难。开放网络环境下的软件通常运行在相对独立的信任域内,现有的信任管理机制缺乏信任根的支撑,无法支持对此类软件的运行时信任管理。
本论文针对运行时软件信任管理所面临的问题,研究支持运行时软件信任管理的远程证明机制。远程证明是开放网络环境下的实体之间建立信任关系的有效手段,可以作为对运行时软件进行信任管理的支撑。针对开放网络环境下运行时软件信任管理的问题,本文提出了一种基于远程证明的运行时软件信任管理框架;在现有远程证明机制的基础上,本文分别面向运行时软件的动态可信性、针对遗产系统和针对定制开源软件,对现有远程证明机制进行了改进;本文还在特定的应用场景中应用了本文提出的远程证明机制。
论文的主要工作和创新点包括:
(1)提出了一种基于远程证明的运行时软件信任管理框架。通过信任根的支持,该框架可以在开放的网络环境下,针对处于相对独立的信任域内的运行时软件进行可靠、有效的信任管理。该框架以TCG可信计算技术的远程证明机制为基础,为运行时软件的可信证据收集、可信性评估、可信性决策、可信性保障提供支撑。同时为了证明该框架的可行性,本文提出了一种基于TCG可信计算技术的运行时软件可信性证据收集方案,并在Linux系统中设计实现了系统原型。
(2)在支持运行时软件动态可信性方面,提出了一种面向程序执行过程完整性的远程证明机制和一种面向系统安全模型的远程证明机制。通过在运行时监控目标程序及其依赖对象的执行情况,支持对目标程序执行过程的完整性的评估。通过确定目标系统的运行是否符合特定的安全模型,可以让用户获得对系统运行的安全状态的确信。本文在动态可配置的基于构件的系统中应用了面向安全模型的远程证明机制。
(3)在支持不同软件形态和应用模式方面,本文提出了针对遗产系统和定制开源软件的远程证明机制。已有的细粒度的远程证明机制都是基于源代码来实现的,不能很好地支持源代码缺失的遗产系统,特别是代码缺失、不能重新编译或者重新部署的遗产系统。本文利用处理器提供的调试陷阱机制,监控目标代码的执行过程,支持针对遗产系统在函数粒度上的远程证明。针对广泛应用的可定制开源软件,现有远程证明机制无法评估目标可执行代码的有效性。本文提出了一种基于源码的远程证明机制,通过绑定目标可执行代码和其对应的源代码以及编译配置,从而对目标可执行代码进行认证,进而在运行时支持对定制开源软件的远程证明。基于源码的远程证明机制能够为开放网络环境下针对定制开源软件的运行时信任管理提供支持。