论文部分内容阅读
云计算因在经济性和便利性等方面的优点已经取得了广泛的应用并仍有巨大的发展潜力。然而,对云计算在安全性方面的疑虑甚至担忧正阻碍着云计算获得更广泛的接受。因此,云安全成为了当前的一个研究热点。云安全中的一个重要研究问题是,如何保护用户数据的安全性;而数据安全性中又以机密性首当其冲。目前云环境下的数据机密性保护技术中最主流的两类方法分别是基于系统软件的方法和基于密文计算的方法;然而,它们都在安全、功能或性能等方面存在局限或不足。这促使许多研究工作探索第三类方法,即基于可信硬件的数据机密性保护技术。这方面的现有工作主要集中在三种传统的可信硬件——可信平台模块、安全协作处理器和现场可编程阵列,但这三种可信硬件在价格、性能和可编程性方面存在明显短板,因而未能获得工业界的实际应用。为了保护云环境下的数据机密性,本文研究基于新型可信硬件的数据机密性保护技术。本文认为研发新型可信硬件的一条有前景的技术路线是廉价商用硬件的可信化,并选择聚焦于两种廉价商用硬件:固态硬盘和CPU。在固态硬盘的可信化方面,本文自主设计和实现安全增强的固态硬盘,并研究基于可信固态硬盘的数据机密性保护技术。在CPU的可信化方面,本文看好并采用Intel公司推出的新型可信CPU技术—Intel SGX(软件保护扩展),探索和解决SGX的技术挑战和应用难点,研究基于SGX的数据机密性保护技术。具体来说,本文的主要研究内容包括如下三个方面:(1)基于可信固态硬盘的安全存储云环境下的海量数据是存储在廉价服务器集群中各个节点的本地硬盘中的。为了保护存储介质中的数据,防止敏感数据泄露,目前主要的两种常见方法各有不足:1)访问控制,存在被外部黑客攻破或内部管理员绕过的风险;2)数据加密,虽然安全性较高,但加密解密海量数据会增加显著开销。为了同时满足对数据存储的高安全和高性能要求,本文提出了可信固态硬盘(TrustedSSD),它提供安全增强的存储设备接口和协议,使得用户可以对存储中的数据施以细粒度的访问控制,从而保障存储中数据的安全。文中深入分析了可信固态硬盘的安全性,并详细介绍了系统设计与实现中的技术挑战和解决办法。实验结果表明,无论是在合成的、还是真实的工作负载上,可信固态硬盘的运行开销不到3%。(2)基于可信CPU的安全计算Intel SGX为用户提供称作“围圈”的安全计算容器,可保证其中计算和数据的安全性。虽然SGX能提供高安全性保证,但SGX的一个局限是在围圈内缺乏对系统调用的支持,这导致现有的应用程序很难移植到围圈中。为解决这个问题,本文首先定性和定量地分析了“围圈切换”现象,发现围圈切换对于围圈内的系统密集型应用(如Web服务器和数据库系统)而言是最主要的性能开销来源。基于这个观察,本文设计并实现了 SGXKernel,一个专为SGX设计和优化的库操作系统,使得应用程序可在围圈内安全而高效地运行。它的无切换设计,包括异步的跨围圈通信和可抢占的围圈内多线程等机制,可完全避免引发围圈切换。我们在微型基准测试和应用基准测试上详细评估了 SGXKernel的性能。实验结果表明,SGXKernel的性能远高于目前最先进的、适用于SGX的库操作系统,其性能开销对于实际应用是可接受的。(3)基于信任锚的安全SaaS服务软件即服务(Software as a Service,简称SaaS)是最广泛使用的一种云计算形式,并且发展趋势是企业级应用也在加速向SaaS转移。然而,许多拥有高价值、高敏感数据的企业仍对于采用SaaS服务有数据安全方面的顾虑。新型的可信CPU硬件技术Intel SGX可有效保护云环境下不可信服务器上用户进程的安全性,然而进程级的安全性离企业真正关心的SaaS服务级的安全性仍有很大鸿沟。为了解决这个问题,本文提出了面向企业应用的、基于信任锚的安全SaaS服务架构(简称“基于信任锚的安全SaaS架构”),该架构在效果上将不可信的公有云企业级SaaS服务转换成可信的私有云企业SaaS服务。我们详细介绍了架构的设计,分析了其安全性,并给出了该架构的核心组件——信任锚服务器——的设计与实现。我们结合案例研究和实验分析展示了基于信任锚的安全SaaS服务架构的可行性和实用性。