论文部分内容阅读
云计算技术的逐步成熟催生了一系列典型的应用场景,云桌面是其中最重要的应用场景之一。在云桌面场景中,用户的桌面系统在云端集中管理,运维成本大大降低,用户数据的安全性更容易得到保障。用户只需要廉价的终端设备就可以通过网络连接云端的桌面系统。 对于云桌面平台,安全地管理虚拟机中的软件是一项非常重要的功能。本文认为一个高效和安全的云桌面软件管控系统应当满足以下几点要求:1)可以用较低的成本快速集成到各个主流云平台中;2)能保障自身关键代码和数据的安全性,否则无法保障其管控的云桌面的安全性;3)具有良好的兼容性,能够支持主流的云桌面操作系统。现在虽然存在可以应用在云桌面的软件管控技术,但是它们未能同时满足上述所有要求。本文的研究目标就是实现一个满足上述几点要求的安全云桌面软件管控系统。 本文首先基于Ansible实现了支持Windows和Linux云桌面的软件管控系统,系统和云桌面平台集成只需要进行简单的接口适配,无需在原有的桌面系统中部署额外的代理。进而,为了保障该系统自身的安全性,本文使用了基于CPU的安全机制Intel SGX(Software Guard eXtensions),通过创建一个可信的执行环境(Trusted Execution Environment,TEE)来保护系统的关键数据和代码的机密性和完整性。可信执行环境外部的应用和操作系统都无法读取和修改其中的内容。没有云桌面平台的许可,即使攻击者获取了底层操作系统的特权,也无法对系统的关键代码和配置信息进行读取或者篡改。 本文选择了最为流行的开源IaaS云平台OpenStack作为实验基础,将云桌面软件管控系统集成到该云桌面平台并进行了实验。实验表明,在保障云桌面软件管控系统的安全性的同时,产生的额外开销可被接受。