云计算环境安全综述

2018-02-08 17:11张玉清王晓菲刘雪峰刘玲
中国学术期刊文摘 2018年11期
关键词:同态加密算法密文

张玉清 王晓菲 刘雪峰 刘玲

云计算(cloud computing)是以网络技术、虚拟化技术、分布式计算技术为基础,以按需分配为业务模式,具备动态扩展、资源共享、宽带接入等特点的新一代网络化商业计算模式。开放的网络环境为云计算用户提供了强大的计算和存储能力,现已逐渐在产业界得到广泛的应用。然而,伴随云计算技术的飞速发展,其所面临的安全问题日益凸显。

云计算环境是指将分布在互联网上的计算机等终端设备相互整合,借助某种网络计算方式,实现软硬件资源共享和协调调度的一种虚拟计算系统,具有快速部署、易于度量、终端开销低等特征。基本组成部分包括应用层、平台层、资源层、用户访问层以及管理层,并以各类云计算服务作为技术核心。因此在这种环境中,云计算用户的数据和资源完全依赖于不可靠的网络通信和半可信的云存储服务器,使得用户对云计算环境的安全性普遍存在质疑,导致云计算的普及难以深入。

一般认为,云计算环境自身的结构特点是造成安全问题的主要原因。首先,参与计算的节点种类多样、位置分布稀疏且通常无法有效控制。其次,云服务供应商(cloud service provider,简称CSP)在传输、处理和存储的过程中均存在泄露隐私的风险。此外,由于云计算本质上是在现有技术的基础上建立的,所以已有技术的安全漏洞会直接转移到云计算平台上,甚至存在更大的安全威胁。可见,在云计算环境中,用户基本丧失了对私有信息和数据的控制能力,从而触发了一系列重要的安全挑战,例如:云端数据的存放位置、数据加密机制、数据恢复机制、完整性保护、第三方监管和审计、虚拟机安全、内存安全等。

鉴于安全和隐私保护是云计算发展的首要前提,也是目前科研工作的热点与焦点之一,本文将从云计算环境下安全与隐私保护技术的角度出发,综述云安全的研究进展。根据NIST在2011年公布的标准报告,本文将云安全划分为3个部分,分别是云虚拟化安全、云数据安全以及云应用安全。其中,云虚拟化安全主要研究对虚拟机、数据中心和云基础设施的非法入侵;云数据安全主要保护云存储数据的机密性、完整性与可搜索性;云应用安全主要包括外包计算、网络和终端设备的安全。

本文试图通过介绍云虚拟化安全、云数据安全以及云应用安全的相关研究进展,分析并对比典型方案的特点、适用范围及其在安全防御和隐私保护方面的不同效用,讨论已有工作的局限性,进而指出未来发展趋势和后续研究方向。本文第1节~第3节分别从虚拟化、数据、应用3个方面综述云计算在安全方面的研究现状。第4节简要展望未来发展方向。最后是结束语。

1 云虚拟化安全

云计算平台对现有计算技术的整合是借助云虚拟化(cloud virtualization)实现的。云端的虚拟化软件将物理计算设备划分为一个或多个虚拟机(virtual machine,简称VM),用户可以灵活调配虚拟机执行所需计算任务。例如:操作系统级虚拟化允许在相互独立的多台计算设备间创建可扩展的虚拟系统,此时闲置的计算资源得以重新分配,从而节约计算成本并提高资源利用率。

云虚拟化作为云计算的核心技术,其安全性至关重要。本节详述云虚拟化安全,重点介绍各类已知安全攻击及其现有防御技术,例如:窃取服务攻击可以非法窃取他人的云计算资源;恶意代码注入攻击、交叉虚拟机边信道攻击、定向共享内存攻击和虚拟机回滚攻击都会造成敏感信息泄露或未授权访问私有云资源。最后简要补充云计算硬件安全方面的研究情况。

1.1 已知安全攻击及防御技术

1.1.1 窃取服务攻击

公有云计算环境通常采用多种弹性计费模式,例如根据CPU 或VM 的总运行时间计费。然而,计费模式的周期性采样与低精度的时钟调度策略使得攻击者可以利用虚拟层调度机制的漏洞,使系统管理程序错误地检测CPU或VM用度,实现窃取服务攻击(theft-of-service attack)。具体做法是确保攻击者进程在调度程序计数时未被调度,从而以隐蔽的方式占用他人的云服务资源。

常规的虚拟机调度机制没有对调度的正确性进行检查,是造成窃取服务攻击的主要原因。最初,Gruschka与Jensen的工作采用监控实例来保护调度安全,对比分析攻击者与合法实例之间的差异以识别窃取服务攻击。2013年,Zhou等人则通过修改调度机制有效地防御了此类攻击,同时兼顾了计算效率、公平性与I/O响应能力。近期研究的目标是虚拟机最小化,包括对可信计算基和虚拟机软件的最小化,有助于减少受攻击面并保护用户隐私。

此外,2012年提出的资源释放型攻击(resource-freeing attack,简称RFA)能够将合法用户的虚拟机资源非法转移到攻击者的虚拟机,从而达到与窃取服务攻击类似的攻击效果,而且目前并不存在可以完全避免这类攻击的可行方案。在RFA中,攻击者通过耗尽某些关键资源,迫使目标虚拟机终止正在进行的服务并释放已占用的资源,此时攻击者将利用新释放的资源来改善自身的性能。Amazon EC2平台上的实验结果表明,攻击者借助RFA获得了13%的性能提升。

1.1.2 恶意代码注入攻击

恶意代码注入攻击(malware injection attack)使用恶意实例代替系统服务实例处理正常的服务请求,进而获得特权访问能力,非法盗取证书信息或用户数据。与传统Web 应用环境不同,云计算环境的虚拟化特征加剧了恶意代码注入攻击的安全威胁。云端的服务迁移、虚拟机共存等操作使得恶意代码的检测工作异常困难,目前仍然缺少对云服务实例完整性的有效检查方法。

现有防御方案的关键点是对包含恶意实例的计算节点的检测。文献[11]基于PE文件格式关系设计可追溯性检测方案,针对HADOOP平台检测恶意实例所在的主机,具有较高的检测率和较低的误报率。然而,该方案的检测开销较大,而且检测过程存在隐私泄露的可能性。2012年,一种轻量级云移动终端反恶意软件系统被提出,移动端恶意代码的检测效率得以改善。随后,Wei等人基于DFA评估技术检测加密文件的内容真实性,同样能够用于恶意代码扫描。

1.1.3 交叉虚拟机边信道攻击

交叉虚拟机边信道攻击(cross VM side channels attack)是一类常见的访问驱动攻击形式,要求攻击者与目标虚拟机使用相同的物理层硬件,二者交替执行。在交替执行的过程中可以推断出目标虚拟机的行为,识别出服务器主机的信息。攻击者首先借助恶意虚拟机访问共享硬件和缓存,然后执行预定的安全攻击,例如计时边信道攻击、能量消耗的边信道攻击、高速隐蔽信道攻击等,最终导致目标虚拟机内的用户数据泄露。此类攻击一般难以留下痕迹或引发警报,因而能够很好地躲避检测。

具体来看,计时边信道攻击通过测量不同计算任务的执行时间,成功获取用户与服务器的身份信息。能量消耗的边信道攻击利用能量消耗日志开展攻击,可以帮助攻击者快速识别目标虚拟机系统管理程序的类型。此外,与标准通信信道不同,Wu等人首次在虚拟化x86系统中实现了高速隐蔽信道攻击。2015年,Liu 的科研团队围绕最后一级缓存(last-level cache,简称LLC)提出了一种新型隐蔽信道攻击。无需依赖共享内存以及操作系统或虚拟机系统管理程序的漏洞,便可达到较高的攻击成功率。Inci等人则是通过LLC来检测主机托管,在Amazon EC2平台上完整恢复了2048比特的RSA私钥。

现阶段针对交叉虚拟机边信道攻击的典型防御策略有密钥划分机制和最小运行时间担保机制。前者将用户密钥划分为随机份额,并以周期性更新的方式将各个密钥份额存储于不同的虚拟机,有效防范利用交叉虚拟机边信道攻击窃取加密密钥的攻击行为。后者优化虚拟机调度机制以降低缓存共享的安全风险,规定在最小运行时间限制内不能预先占用CPU资源。

1.1.4 定向共享内存攻击

定向共享内存攻击(targeted shared memory)以物理机或虚拟机的共享内存或缓存为攻击目标,是恶意代码注入攻击与边信道攻击的基础。此类攻击的一个代表性方案由Rocha和Correia于2011年提出,结合内部攻击访问虚拟机的内存转储数据,可能导致系统当前运行状态与用户隐私信息的泄露。

同样是关于虚拟机的内存安全,内存耗尽故障严重危害着云计算平台的可用性。目前常规的防御手段是根据日志文件来监控内存,相比直接监控内核例程的方法,其故障检测效果较为有限。

1.1.5 虚拟机回滚攻击

在云虚拟化环境中,管理程序出于系统正常维护的目的,可以随时挂起虚拟机并保存系统状态快照。若攻击者非法恢复了快照,将会造成一系列的安全隐患,且历史数据将被清除,攻击行为将被彻底隐藏。

2012年,Szefer等人最初提出禁用挂起恢复功能以抵御虚拟机回滚攻击(VM rollback attack)。同年,该思路得以改进,研究人员选用虚拟机审计日志和状态快照的哈希值作为合法性的判断条件,而无需禁用系统管理程序的基本功能。然而,上述方案均需要终端用户的参与及协调,灵活性较差。

1.1.6 小结

云虚拟化作为多种技术的融合,为云端的资源管理、数据隐私保护带来了全新的安全挑战。第1.1节介绍了5类常见的虚拟机安全攻击,为了更加直观地分析并对比各个攻击的原理、特点与危害程度,围绕攻击实例、攻击原理、攻击效果、代表性防御方案以及现有研究的局限性进行了详细的总结归纳。

综上所述,云虚拟化安全的研究已经取得了一些进展,但总体来说防御技术还不成熟,仍有众多针对虚拟机环境的安全攻击形式尚待深入研究。虚拟机迁移过程中的信息泄露、为窃取用户数据或服务资源而对虚拟机实例进行的非法调度、替换、回滚等操作,均是未来研究中十分值得关注的重要问题,需要设计更加完备的安全防御机制以保障虚拟机调度机制的可靠性。

1.2 云硬件安全

硬件设备安全是云基础架构安全不可或缺的重要组成部分,硬件的瞬时故障或错误可能危害整体信息系统的正确性与安全性。Elphinstone等人在形式化软件验证的基本假设下,分析商用硬件的可靠性特征,并利用冗余的多核处理器提高现有硬件的可信度。此外,与传统的软件安全技术不同,硬件系统的引入为云计算带来了一种全新的安全防护策略。例如:硬件安全模块(hardware security module,简称HSM)负责存储并管理用于认证和加密的私有密钥,具有极高的加解密运算速度和安全保护级别,且易于与其他网络设备相整合。目前最著名的商业化产品是亚马逊公司的CloudHSM服务,主要为AWS云提供密钥管理功能。类似地,Azab等人设计出独立于操作系统软件的硬件级强化隔离框架,旨在为x86多核平台的数据隐私提供必要保障。

虽然硬件安全的发展在一定程度上受到低性价比的限制,同时为了克服安全硬件在灵活性和可扩展性等方面的局限性,CSP 更倾向于使用软件架构代替硬件设备以获取更为优质的服务能力。但是即便如此,安全硬件对服务可靠性的提升却为用户带来了更多节省计算成本的机会。例如:基于硬件的身份认证机制通过将安全策略植入硬件模块来保护数据安全,使用户可以在确保隐私的前提下将过多的数据外包至云端,从整体上降低了用户安全防护和计算的开销。

2 云数据安全

不同于传统的计算模式,云计算在很大程度上迫使用户隐私数据的所有权与控制权相互分离。云存储作为云计算提供的核心服务,是不同终端设备间共享数据的一种解决方案,其中的数据安全已成为云安全的关键挑战之一,在近期研究中占有较大的比重。

本节回顾云计算环境中的数据安全与内容隐私保护的相关问题与研究进展。到目前为止,保护云数据安全的常规做法是预先对存储到云服务器的数据进行加密处理,并在需要时由数据使用者解密。在此过程中,代理重加密算法与属性加密算法用于解决数据拥有者与使用者之间的身份差异;访问控制技术用于管理资源的授权访问范围;可搜索加密技术实现对密文数据的检索。最后,为防备因CSP系统故障而导致的用户数据丢失,还需给出关于数据完整性以及所有权的证明。针对上述研究内容,本节将从数据共享算法、访问权限认证、密文搜索和完整性审计4个方面展开综述,并选取部分重点成果予以介绍和分析。

2.1 数据共享算法

2.1.1 代理重加密算法

代理重加密算法(proxy re-encryption,简称PRE)常见于电子邮件转发、内容分发服务等多用户共享的云安全应用中,它允许第三方代理改变由数据发送方加密后的密文,以便数据接收方可以解密。最简单的做法是由第三方代理使用发送方密钥先行解密出明文,再以接收方密钥重新加密。但是对于不可信的CSP 代理而言,该方案会造成密钥及明文信息的泄密,安全性并不理想。

结合传统代理重加密算法的基本思想,Green与Ateniese于2007年设计了一种基于身份的代理重加密方案(identity-based proxy reencryption,简称IBPRE)。此方案以用户的唯一身份信息作为公钥参与重加密,具有单向性、非传递性、非交互性等特点。其中所含的重加密密钥只能单向单次使用,而且无法抵御代理与接收方之间的合谋攻击。Mizuno和Doi对IBPRE方案进行改进,优化了重加密密文空间的大小并隐藏了代理的身份,一并给出了严格的形式化安全分析,证明其具有抵抗选择明文攻击(chosen-plaintext attack,简称CPA)的能力。2012年,综合运用层次化身份加密算法NaHIBE和基于身份的多用单向代理重加密算法MUIBPRE,首个可以抵御非法合谋且满足选择密文攻击(chosenciphertext attack,简称CCA)安全的IBPRE方案被提出。除此之外,分类代理重加密技术使数据分发者能够对密文委托权实施细粒度的分类控制。Wu等人则给出了无证书的代理重加密算法以及基于身份的密钥托管协议。2014年,基于身份的可撤销代理重加密机制也得到了进一步的研究。总体上,IBPRE方案解决了第三方代理权限过大的问题,但其所支持的委托方式较为单一,难以灵活地根据共享的内容分配解密能力。

条件代理重加密算法(conditional proxy re-encryption,简称CPRE)规定仅当重加密密钥和指定密文条件同时满足时,解密操作才被允许,特别支持一对多加密和端到端加密形式。在文献[36]的基础上,Fang等人先后设计了支持关键词检索的匿名CPRE方案和模糊CPRE方案,在执行效率上优于原始算法。期间,Lan等人利用秘密共享机制和双线性对原理构造出多条件代理重加密方案。与文献[32]的设计思想类似,文献[40]表明,多数层次化身份加密方案(hierarchical identity-based encryption,简称HIBE)可以转化为CCA安全的CPRE方案。而基于身份的条件代理重加密方案则是由IBPRE和CPRE所组成的扩展算法,其CCA 安全性已在标准模型(standard model)和随机预言模型(random oracle model)下得到充分的证明。然而,现有的方案大多仅限于关键字条件,如何构造支持布尔条件的CPRE算法仍然是一个开放的问题。此外,该类方案的效率与密文长度仍待进一步优化。

2.1.2 属性加密算法

云存储中,属性加密算法(attribute-based encryption,简称ABE)同样可以保护用户数据的安全性与可共享性。若公钥密码的密钥与密文依赖于用户自身的某些属性(如性别、年龄、国籍、学历等),则称其为基于属性的加密算法或模糊的基于身份的加密算法(fuzzy identity-based encryption)。此时仅当密钥属性与密文属性相互匹配时,才可以完成解密操作。

实现属性加密的方式多种多样,近期的代表性成果包括:Waters所提出的基于密文策略的属性加密方案(ciphertext-policy attributebased encryption,简称CP-ABE)最初用来解决复杂的密文访问控制问题。密文负责携带访问控制策略,因此加密时间与访问控制结构的复杂度呈现正相关,而解密时间由访问控制树中的节点总数目决定。文献[44]指出将部分解密算法外包到CSP,可以有效降低CP-ABE方案的解密开销。然而,外包解密通常不具有可验证性,即用户无法判断CSP是否按照预定要求进行了解密转换。为了弥补这一缺陷,Lai等人在其2013年的工作中首次为CP-ABE设计了可验证的外包解密算法,但是可扩展性较差。此外,关于用户属性撤销或密钥更新问题,最新解决思路是使用直接撤销机制[46]或将CSP代理的计算任务分散到大量云计算用户中,以避免因间接属性撤销而导致的性能瓶颈。

2006年,Goyal等人提出了基于密钥策略的属性加密方案(keypolicy attribute-based encryption,简称KPABE),将单调访问控制结构直接嵌入解密密钥,只有拥有特定密钥的用户可以解密数据。与CP-ABE算法类似,KP-ABE算法的密文规模仍然受到属性数目的影响。为此,一系列具有固定密文长度的KP-ABE方案被陆续构造,其中解密操作所包含的双线性对运算的次数已降至常量级,从而减小了数据使用者的计算开销。2015年,Ambrosin等人着力研究并通过实验验证了ABE应用于移动平台上的可行性。当用户属性或访问控制策略发生变化时,如何高效地更新解密密钥,是KP-ABE方案的遗留问题之一,目前尚未出现完备的解决方案。

2.1.3 小结

代理重加密算法和属性加密算法为云存储数据的安全共享提供解决方案,现有研究的主要缺陷如下。

(1)代理重加密算法中,数据拥有者将加密后的数据上传至第三方代理。若此后云存储系统中的数据使用者的身份发生变化,或者数据共享策略出现动态更新,则代理方的数据管理工作将会异常复杂,且极易导致用户隐私数据的泄露,未来值得加强研究。

(2)属性加密算法特别适合云计算的分布式架构,可以降低网络通信开销且便于与其他安全技术相结合。传统的属性加密算法在实际应用时遇到了一些新的问题,近期的研究成果允许用户的动态加入,能够抵御恶意节点的合谋攻击,同时支持包含布尔表达式的访问策略。然而,几乎所有的属性加密方案均借助可信机构生成密钥,因此仅适用于私有云计算环境,如何摆脱这一限制是未来研究的关键点。

2.2 访问控制技术

用户将私有数据存储到公有云服务器,数据的机密性容易受到外部与内部攻击的威胁。因此,对云数据中心的访问需要经过严格的安全认证过程。访问控制(access control)包括授权、认证、访问认可、审计追踪4个基本环节。具体而言,授权用于划定主体的访问级别;认证操作负责验证数据使用者是否具备合法的访问权限,通常采用口令、生物扫描、物理密钥、电子密钥等认证方式;访问认可环节基于授权策略赋予用户实际访问资源的权利;审计追踪记录访问轨迹,用于事后问责。

动态、分布式的网络环境使得云计算平台的访问控制方案必须具有高度的可扩展性、灵活性与高效性。目前云端提供的权限管理机制存在一些普遍的问题,主要是如何确信CSP未将访问权限非法授予其他用户;如何在数据过期后安全地回收数据访问权以及如何克服意外或故意的访问冲突。2012年,Leandro等人利用Shibboleth框架为云计算设计出无需可信第三方的多租户授权系统。该系统允许用户按照自身需要灵活修改安全策略,实现了严密的权限管理过程,但是口令认证机制的安全性较差,无法完全确保用户接入系统的合法性。原因在于云计算用户并非归属于单一的控制系统,而很可能会借助移动设备或应用软件从多个CSP 处同时获取服务,所以现有的认证机制无法直接应用于云计算环境。

云计算一般采用动态策略的访问控制模型,属性加密及其扩展算法是其中重要的组成部分。Kuhn等人将基于角色的访问控制(rolebased access control,简称RBAC)与基于属性的访问控制(attributebased accesscontrol)相结合。角色视作属性的一部分,在快速认证的同时支持动态的权限管理。风险感知的访问控制模型进一步克服了RBAC机制在动态云环境中的功能性缺陷。令风险因素参与访问控制决策,均衡分析因认可未授权访问而带来的安全风险以及因拒绝授权访问而造成的不可用性,设定风险阈值为风险应用需求提供安全访问方案。2014年提出的一种新型代理重加密算法解决了一对多的云存储访问控制问题。仅将部分密文存储于云服务器,使数据发送方可以控制密文的传递范围,并降低了通信过程中的数据计算量和交换量。此外,研究人员在UCONABC使用控制模型下结合弹性授权重评估技术预测云服务的消耗量,并以此为依据实施服务计费和细粒度访问控制。

综上,访问控制技术在保护云数据机密性方面有着重要的作用,主要用于避免CSP 和未授权用户的非法访问。能否根据多样的安全策略实现对外包数据的授权访问是云访问控制技术面临的核心挑战。代理重加密、属性加密与细粒度访问控制是3类常见的控制方法,近期则有一些结合不经意传输和匿名证书的新型访问控制技术被陆续提出。伴随云环境中日益严峻的隐私保护需求,未来研究将侧重于以下内容。

(1)加强对多级访问控制和组群访问控制的研究,使不同权限的用户获得不同的访问能力。对于当前的研究成果,如果用户离开系统或用户等级变动,为避免出现未授权访问,必须对密钥进行更新,故灵活性有待改善。

(2)访问控制应不仅仅局限于读权限,而是更多地向写权限转变,从而更加全面地保护云存储安全。

(3)围绕新兴的跨云访问控制中的非法授权、访问权回收、访问冲突等问题而展开的有关研究。

2.3 可搜索加密技术

云存储采用可搜索加密技术(searchable encryption)保障数据的可用性,支持对密文数据的查询与检索,主要包括对称可搜索加密技术和非对称可搜索加密技术。

数据拥有者将加密后的数据以及对应的可搜索索引上传至CSP,数据使用者随后向CSP提出检索请求并发送关键词陷门,最终由CSP安全地返回(排序后的)检索结果。该过程需确保CSP未窃取到任何与检索操作有关的额外信息。

2.3.1 对称可搜索加密技术

对称可搜索加密技术(symmetric searchable encryption,简称SSE)的主流构造方式是建立索引。构造过程分为加密数据文件与生成可搜索索引两个阶段。一方面,数据拥有者使用标准对称加密算法对任意形式的数据文件进行加密处理,并存储于云服务器内,只有拥有对称密钥的用户有权解密访问。另一方面,数据拥有者使用特定的可搜索加密机制构建安全加密索引,在文件与检索关键词之间建立检索关联,并上传至云服务器以待关键词查询。此后在密文搜索时,由数据拥有者为数据使用者提供陷门,最终完成检索。

起初,对称可搜索加密技术的检索效率较差,检索时间与密文数据总长度呈现线性增长关系。数年来,围绕密文搜索效率的优化研究已经取得了实质性的突破,目前最优的安全范围查询方案能够达到对数时间复杂度。近期,Strizhov与Ray又提出了多关键词的相似性可搜索加密方案MKSim,检索时间与命中文档总数之间存在亚线性关系。然而,上述方案均基于数据源集中化假设,即由单一数据源集中创建可搜索索引,而这与云计算的分布式特点相矛盾。2015年,Liu等人为多数据源的场景设计了MDS-SSE算法,允许各数据源以分散的方式生成索引。该算法成功地保护了数据文件和检索结果的隐私,却泄露了数据源数目、数据文件数目以及访问模式和搜索模式等信息。Li等人利用云存储系统的CP-ABE技术实现对部分接入结构的隐藏,并分别在DBDH假设和DL假设下给出了安全性证明。Rompay等人则构造出能力更强的敌手模型,探讨并防御多用户检索过程中的合谋攻击问题。其中,大量双线性对的运算限制了检索效率,带来了较大的运算和通信开销,且检索精度较低。

2.3.2 非对称可搜索加密技术

非对称可搜索加密技术(asymmetric searchable encryption,简称ASE)解决了服务器不可信与数据来源单一等问题。该项技术保留了非对称加密算法的特性,允许数据发送者以公钥加密数据与关键词,而数据使用者则利用私钥自行生成陷门以完成检索。

Boneh等人基于公钥密码体制提出的PEKS算法是非对称可搜索加密技术研究的开端。PEKS算法支持合取查询、子集查询和范围查询,但其陷门加密方式易受推理攻击的威胁。Baek等人给出了初步的应对策略,但是由于引入了关键词合取技术,导致加密运算时间显著延长。谓词加密也是一类有效的安全检索技术,常见于析取等数据查询操作。不同于SSE技术,已知的非对称可搜索加密方案通常难以提供多关键词检索功能。关于模糊关键词检索,INFOCOM 2010年的一项研究利用字符串编辑距离算法衡量关键词之间的相似度,从而构造出包含通配符的安全查询机制。

2.3.3 小结

总体上来说,面对云存储的海量数据,当前的研究热点是如何令可搜索加密技术支持多关键词检索和相关性排序,同时进一步提高检索速度与精度,并降低运算与通信开销。具体来看,后续研究应重点解决以下问题。

(1)对称可搜索加密技术应用于大规模数据集时的检索性能显著下降,常规解决方法是预计算可搜索索引,随之而来的是索引的安全问题。未来研究应支持更多类型的查询表达式,例如短语搜索、邻近搜索和正则表达式等。此外,扩展密文搜索的应用范围,特别是对外包数据库、加密电子邮件等信息的安全检索。

(2)基于关键词的非对称可搜索加密技术存在的主要局限性是检索效率的问题,并且缺乏多用户环境下的可扩展能力。因此未来工作的目标之一是降低加解密计算的复杂性,设计更加高效且安全的密文搜索方案。

2.4 可回收性与所有权证明

据云安全联盟公布的最新报告显示,数据丢失是云计算中排名第二的安全威胁。用户在使用云存储数据之前,应对数据的完整性进行验证。可回收性证明(proofs of retrievability,简称PoR)是一类知识证明协议,于2007年被首次提出。由CSP向数据拥有者证明目标文件可以被完整取回。Zeng围绕该思路进行优化,构造了基于双线性对的可证明数据完整性方案PDI。突出贡献是其所具备的公开可验证性,即允许第三方验证者进行验证,从而有效降低了数据使用者的验证开销,但是数据拥有者产生验证标记的计算复杂度依然很高。2014年,OPoR方案的出现很好地解决了上述问题。在该方案中,半可信的第三方审计服务器在预处理阶段按照用户要求生成验证标记,从根本上减轻了用户的计算负担。此外,基于有状态MAC树、BLS同态签名等技术,也出现了许多完整性验证机制。

数据所有权的证明(provable data possession,简称PDP)同样可以公开验证云端数据的完整性。由于验证过程中服务器的数据量和通信量较小,因此PDP模型适用于大规模分布式存储系统。当数据以多副本的方式存储于CSP时,用户需要对副本的个数与一致性进行额外的判断。为此,Barsoum等人提出了相应的解决方案MB-PMDDP,同时能够抵御服务器合谋并支持动态的数据更新。类似地,基于身份的分布式数据完整性检测模型ID-DPDP针对数据存储于不同云服务器的情况,实现了私有验证、委托验证和公开验证。

综上所述,适用于云环境的数据完整性验证技术已经得到了广泛的研究。数据使用者希望尽可能提高验证效率并降低验证开销,或者将数据完整性的定期审计工作委托给第三方机构,此时可回收性证明应具备公开可验证性。最新的研究内容以及局限性包括。

(1)通信复杂度一般与验证数据规模线性相关,故当可用带宽资源有限时,应设法降低验证方案的通信量。

(2)完整性验证者的存储开销和密钥管理难度较大,所需的验证计算量随数据规模增长,难以有效控制。

(3)防御服务器合谋伪造、多数据源或动态数据更新条件下的所有权证明等,有望成为未来的研究重点。

3 云应用安全

各类云应用自身的安全性直接关乎云计算产业未来的发展,因此尤为重要。对于基于云的各类应用,如网页操作系统、数据库管理系统、数据挖掘算法的外包协议等,首先需要预防应用本身固有的安全漏洞,同时设计针对性的安全与隐私保护方案提高应用安全性。本节分析云计算应用在技术层面面临的安全威胁,包括拒绝服务攻击、僵尸网络攻击和音频隐写攻击等。随后重点介绍两类可计算加密技术,并进一步探讨其在隐私保护外包计算和可验证外包计算中的重要应用。最后简略概述其他云应用安全问题。

3.1 已知安全攻击及防御技术

3.1.1 拒绝服务攻击

拒绝服务攻击(denial-of-service attack,简称DoS)是计算机网络中一类简单的资源耗尽型攻击,攻击者向目标主机发起大规模处理请求,试图耗尽系统资源,致使正常的软硬件服务瘫痪。具体到云计算环境,云计算资源的集中分配方式使得拒绝服务攻击的破坏程度进一步加剧,攻击者的首选目标已从过去的密集基础设施转变为关键的云服务程序。相比底层的窃取服务攻击,常见的拒绝服务攻击主要针对上层的云计算应用,特别是以SaaS(software-as-a-service,软件即服务)平台为代表的各类软件服务。由于目前已知的上层应用大多通过网页浏览器接入,故攻击难度通常更小,攻击范围通常更大,对云应用安全的威胁也更加显著。

云端的(分布式)拒绝服务攻击主要存在3类具体的攻击形式,分别基于XML、HTTP和REST技术,其中XML和HTTP广泛存在于云计算的各类应用中,针对这两种协议发动的DoS攻击具有更强的针对性和破坏能力。现有防御策略大多源于过滤技术。2012年,Karnwal等人使用5种过滤技术成功检测基于HTTP和XML的分布式拒绝服务攻击。由于该方法逐条过滤各节点的通信报文,导致通信速率有所降低。此外,针对云计算的按需计费模式,欺骗性资源耗尽攻击(fraudulent resource consumption attack)是云计算环境中特有的一种拒绝服务攻击,通过消耗目标主机所购置的带宽资源,给用户带来严重的经济负担。

3.1.2 僵尸网络攻击

僵尸网络攻击(botnets attacks)中,攻击者操纵僵尸机隐藏身份与位置信息实现间接攻击,从而以未授权的方式访问云资源,同时有效降低被检测或追溯的可能性。近年来,Amazon EC2、Google App Engine等多家云计算平台相继出现僵尸网络攻击。原因在于弹性的计算资源与灵活的访问方式为僵尸网络提供了良好的运行环境,攻击者一方面可以使用云服务器作为主控机,另一方面也可以使用窃取到的高性能虚拟机作为僵尸机。最新的攻击方案利用推送通知服务的缺陷来发送控制命令,在Android 平台组建移动僵尸网络推送垃圾邮件。

检测僵尸网络的首要工作是识别僵尸网络通信的加密密钥,进而追溯出僵尸主控机,而现有研究成果却难以监测使用非对称密钥加密的僵尸网络流量。云虚拟机的数据包自动过滤机制同样可以用于发现僵尸网络攻击,但是无法阻止对合法应用行为的错误过滤。

3.1.3 音频隐写攻击

2015 年,Hasna 创造性地在混合云计算环境中使用音频隐写技术代替加密算法完成数据隐藏任务。然而,攻击者则利用该项技术欺骗安全机制,将恶意代码隐藏于音频文件并提交至目标服务器。此类攻击称为音频隐写攻击(audio steganography attack),通常会导致云存储系统出现严重的故障。

文献[84]提出StegAD方案,包含增强型RS算法和SADI算法。其中,增强型RS算法负责检测恶意音频隐写文件,随后交由SADI算法推断出可能的代码隐藏位置。该方案的局限性在于携带恶意代码的音频文件与合法音频文件难以相互区分。

3.1.4 小结

对于云服务供应商与云计算用户而言,云应用安全都是一个十分重要的问题。在第3.1节中,先后介绍了3类常见的云应用安全攻击,为了更加直观的分析并对比各个攻击的原理、特点与危害程度,围绕攻击实例、攻击原理、攻击效果、代表性防御方案以及现有研究的局限性进行了详细的总结归纳。

云计算各类应用的安全性在很大程度上依赖于其所属网络的安全环境,因此网络协议中存在的安全漏洞将导致一系列针对云应用的安全攻击,并因云计算的结构特点而不断恶化。在部署云应用环境的同时,需要做好已知应用安全攻击的防御工作,从而保护云基础服务的安全性与用户的数据隐私。

3.2 隐私保护外包计算

3.2.1 同态加密技术

全同态加密(fully homomorphic encryption,简称FHE)是一种允许直接对密文进行操作的可计算加密技术。CSP 根据密文完成计算后,用户解密该密文计算结果,即可获得对应明文的运算结果。

2009年,IBM公司的Gentry在全同态加密技术方面取得了重大的突破。Gentry依据理想格的计算复杂性理论,构造出首个语义安全的全同态加密算法,支持加法同态和乘法同态。但是该算法实现复杂,加解密效率低,难以实用化。随后,在此工作基础上,相关学者不断完善同态加密算法,寻找性能优化的有效方式,主要围绕不同应用需求展开深入探究。

2011年前后,Brakerski与Vaikuntanathan等人给出了基于纠错学习假设的同态加密方案,结合密钥交换技术和模交换技术降低密文噪声,从而改善算法效率,极大地推进了同态加密技术的快速发展。此后的一项研究便利用FHE技术实现了全同态消息认证机制。类似地,Boneh与Freeman首次提出多项式环上的全同态签名。这一结论于2014年被Dario等人进一步完善,无需依赖随机预言模型,可以达到更高的安全性,而且签名验证效率有所提高。

然而,目前全同态加密技术的真实性能与实际应用之间依然存在着较大的差距,更无法确保加密计算结果的正确性,而是需要额外整合某些高效的结果验证机制。相比之下,类同态加密技术(somewhat homomorphic encryption,简称SWHE)的加解密性能较优,但是仅适用于低阶多项式运算,即只允许有限次数的加法和乘法同态运算。SWHE是众多全同态加密算法的设计基础,针对FHE计算性能短期内难以显著提升的状况,现阶段也可将其视作一种初步的替代技术。常见的同态加密方案包括:支持加法同态的Benaloh和Paillier算法,支持乘法同态的RSA和ElGamal算法,以及支持比特异或同态的Goldwasser Micali 算法等。

3.2.2 保序加密技术

常见的同态加密算法一般仅支持加法同态或者乘法同态,并不具备密文比较的能力。保序加密(order preserving encryption,简称OPE)是一类保持明文顺序的密码技术,能够简单且高效地对加密后的数值数据进行比值或排序。若加密函数E:X→Y满足一定条件,则称其具有保序性。

2004年,Agrawal等人提出首个保序加密算法,使得在不解密的情况下对加密数据库的精确查询成为可能。加密过程是将明文映射到某一目标分布区间。该方案时空开销合理,可以处理明文空间的增量更新,却未给出任何安全性分析。2009年,基于超几何分布的伪随机对称保序加密算法SE被提出,首次证明OPE 能够抵御弱选择明文攻击。随后,Xiao等人围绕SE算法中idea模型的信息泄露展开研究,并计算出攻击成功的上限概率。mOPE是一种交互式安全协议,达到了理想化的IND-OCPA安全。Papa等人指出密文可变性是设计安全OPE方案时必须考虑的首要因素。此外,OPE语义安全也是近年来研究的热点问题。

传统OPE算法主要基于多项式函数或桶划分操作,必须预先已知全部输入明文值的分布情况。因此,对于大规模动态数据集,算法的可扩展性、效率与准确性尚待提高。近期,Krendelev等人基于矩阵和算术编码技术分别设计了OPE方案,密码强度进一步得到改善。引入随机噪声的OPE算法的拟线性加密结构导致较差的安全性。扩展消息空间可以解决此问题,并且抵御唯密文攻击与特定的选择明文攻击。确定性OPE加密算法严重威胁明文域的安全,特别是其中基于公钥密码的OPE方案通过折半查找极易被破解,解决方法是以一定的概率将明文数值映射为某一区间内的随机数。例如:Reddy和Ramachandram在mOPE方案的研究基础上,提出了随机化的ROPE方案,确保这种随机加密方式不会泄露除大小关系之外的任何信息。相关的随机性加密方案还包括MV-POPES等。目前,不存在能够同时支持保序加密与同态加密的算法,且OPE方案的安全性仍然缺少严格的证明,限制了保序加密技术在云计算环境中的应用。

3.2.3 安全外包方案

云计算用户通过将大规模计算问题外包给CSP以降低自身的计算、存储与维护开销,并改善用户操作的灵活性、性价比与服务质量。安全外包(secure outsourcing)的首要目标是保护外包数据的隐私。一个或多个资源受限的数据源将各自产生或收集的数据加密后外包至不可信的第三方服务器,即CSP。由授权的数据使用者向CSP提出具体的计算请求。CSP 执行相应的外包计算后返回计算结果,并由客户端进行解密。

上述过程的主要难点是如何对加密后的数据进行操作。普通的加密方式在保护数据机密性之外,难以在数据无需解密的前提下支持密文计算。伴随多样的云计算需求的增长,计算模式的不确定性更加剧了隐私保护外包计算方案的设计难度,本节将详细阐述相关的研究现状。同时,由于半可信CSP可能存在软件错误、硬件错误、外部攻击等不良状况,或者试图恶意压缩计算成本以谋取更大的经济利益,常常使得用户无法完全信赖CSP给出的计算结果,因此需要加以验证,详见第3.3节内容。

现有隐私保护外包计算研究主要分为自底向上的方法和自顶向下的方法。其中,自底向上方法将所有形式的外包计算分解为低级别的电路估值或全同态加密,意图通过严密的理论证明,一次性解决外包计算的隐私性问题。同态加密该项密码学技术自提出以来,先后有众多研究者通过设计不同的安全算法或协议,在各种常见安全假设下实现了外包计算的隐私保护,但是此类方案的实用性通常较差,具体内容详见第3.2.1节。自顶向下方法则依次为每个具体而独立的外包计算请求(如数据挖掘、数据搜索、图像视觉、工程计算等领域中的某个算法)设计相应的安全外包解决方案,并权衡安全、功能与效率等属性之间的关系。近期研究成果包括以下。

对于基本数据库操作或代数运算,已经先后为等值连接查询、多维范围查询、二进制联合查询和相似性查询设计了安全外包计算方案,以及专用于求和、内积、线性方程等运算的外包隐私保护算法。关于密码的外包计算,主要有模幂运算安全外包方案、乱码电路估值安全外包方案等。后者相较非外包的情况,其执行时间与所需带宽分别减少了98.92%和99.95%,完全适用于移动平台。此外,人脸识别技术、云协作的移动医疗监控体系mHealth、恶意域检测服务DNSRadar等,均广泛应用了隐私保护外包计算技术。

数据挖掘算法是云计算外包的重要应用之一。首先,k最近邻算法(k-nearest neighbor,简称kNN)与支持向量机算法(support vector machine,简称SVM)均是该领域中用于密文搜索与分类的常用工具。Samanthula等人首次在半可信模型下为kNN算法设计了安全外包协议,以保护搜索过程中用户个人数据、查询输入串和访问模式的机密性。Rahulamathavan等人使用Pailler同态加密与两方安全计算,给出了首个基于SVM算法的安全密文分类协议。此外,针对一些字符序列的数据挖掘算法,国内外的研究者也提出了相应的安全计算方案,以编辑距离(序列比较)算法为例。该算法目前常见于大规模全基因组测序问题,要以较低的存储开销、合理的查询次数,满足隐私与安全性的需求。

2005年前后,Atallah等人首次为编辑距离算法设计了安全外包协议,主要包括序列填充子协议、数据划分子协议与安全表查询子协议,适用于多客户端数据外包至多服务器的情况。由于客户端仅需要参与最后一步的运算,因而改善了计算与通信量。近期,有关方案运用保密交集操作实现安全外包,协议的安全性已在DDH假设下得到证明。在效率优化方面,Blanton团队针对单一数据源的场景,提出了首个不依赖于公钥密码的非交互外包方案。能够在不增加存储空间的条件下,使计算复杂度从O(mnmin(m,n))降至O(mn),并获得了O(min(m,n))的轮复杂度,其中m与n为字符串长度。文献[122]借助类同态加密技术实现了编辑距离的保密计算,从而解决外包协议交互次数过多的问题。特别地,研究人员利用M矩阵对角线元素的非依赖特性实现了并行计算,为动态规划隐私问题提供了一般化的解决思路。实验结果表明,相比原始协议,由于无需计算大量的Paillier同态加密,故该方案的性能至少提升了一个量级。然而,此类基于电路的方法在执行过程中容易造成计算结果的泄露。

3.2.4 小结

云计算用户为克服自身资源限制,将私有数据和具体的外包计算请求委托给云服务平台。在安全外包过程中,CSP面临的主要挑战是如何在保护数据安全与隐私的前提下完成外包计算任务。本节综述了隐私保护外包计算的两类常用加密技术,即同态加密与保序加密,随后介绍了各领域中已知的安全外包计算协议及其执行效果,其中存在很多共性的问题。

(1)与传统的多方安全计算协议相比,虽然全同态加密技术的速度慢、效率低,但是计算方式却更加灵活,且交互次数显著减少,使得通信复杂度有所降低。随着研究的不断发展,目前全同态加密方案的性能正在逐渐被提升,但与真正的实用化还有较长的距离,现阶段可以使用类同态加密方案作为代替。

(2)保序加密技术的突出特点是密文数据能够直接进行排序,基本无需用户参与交互,有效降低了密文搜索的难度,但在实际应用中存在较大的安全风险,特别缺乏理论层面的安全性支持。

(3)现有安全外包技术通常不具备可扩展性,针对某一特定问题设计的外包计算方案难以迁移到其他应用领域,根本的解决途径仍需等待同态加密技术的突破。到目前为止,在多数据源场景、非交互外包协议、抵御服务器合谋以及外包计算效率等方面,有着较大的研究空间。

3.3 可验证外包计算

可验证外包计算(verifiable outsourcing computation)是指对云外包计算结果正确性的验证。在完成隐私保护的外包计算后,用户接收计算结果并向CSP 提出验证请求,由CSP返回一些证据。用户通过验证该证据,可以判断云计算结果是否准确无误。除正确性保护之外,可验证外包计算有时也具备抗抵赖和防止伪造的特殊功能。近年来,学者们已经提出了多种类型的可验证安全外包计算方案,并且验证的效率正在逐渐被提高。

有效验证委托计算结果的正确性可借助可验证同态加密技术。Gennaro等人于2010年首次提出了非交互性可验证计算的概念。数年后,该方案依靠代理不经意传输技术被扩展到了多用户环境。Parno等人给出利用属性加密机制构造可验证外包计算方案的一种方法,并允许公开委托与公开验证。2013年、2014年,学术界针对各类常见外包算法的可验证性进行了大量的研究。例如:双线性对被引入到多元多项式的安全求值与微分操作中,实现了支持动态更新的公开可验证计算方案。在序列比较外包方案的可验证性研究中,用户可以高效判断云服务器是否按照预先约定执行了安全外包协议,并进行了形式化安全分析。此外,有关矩阵乘积、行列式和逆运算的可验证安全外包协议、用于生物特征计算的可验证外包方案、子图相似性搜索结果的验证算法以及位置查询结果的验证方法,均是可验证外包计算领域中的最新研究内容。

流数据规模的快速增长为可验证外包计算方案带来了严峻的挑战。例如天气预报、流量管理、市场分析等应用场景,资源受限的数据拥有者通常会连续地收集、产生数据流,并将它们立即外包给云端服务器。此后,CSP如何为外包计算结果构造有效的证据,使其顺利通过用户检验且无法伪造,是可验证计算中的一个新问题。现有研究已经实现了流数据在分组聚合查询与线性代数查询中的可验证性,并支持数据值动态更新。

综上所述,云环境下的可验证外包计算研究已经取得了一些显著的进展,总体来说仍有许多不足,主要表现在以下几个方面。

(1)构造可验证签名或对证据进行验证的方式较复杂,给数据拥有者或数据使用者带来了较大的计算开销。线性复杂度应作为部分可验证外包计算方案的设计目标,以提升方案实施的可行性。

(2)大量的验证操作常常忽略数据动态更新的情况。如何在外包数据发生变化后最大程度地降低用户的重计算量,并提供快速可靠的动态验证方法,应是未来研究的关键。

(3)研究更多重要的安全外包计算的可验证性,例如图像处理、加密操作、数据挖掘等算法,特别关注方案应具备的公开可验证性、非交互性、多数据源等特征。

3.4 其他云应用安全问题

云计算的应用种类繁多,尚有众多安全与隐私保护问题本文难以全面覆盖。例如:云端的错误诊断技术和过程监控技术,以及E-Learning系统的云部署模型等。另外,移动平台的云应用安全也是近年来研究的热点问题。2013年,Lau等人应用端到端加密算法实现了适用于移动智能设备的云端数据隐私保护系统MAegis。同年,Liu与Zhang等人研究移动云同步服务的安全威胁,并挖掘跨应用程序脚本漏洞。

4 未来研究展望

本文主要围绕云计算安全的最新研究内容展开综述,介绍了近年来代表性的安全威胁与防御技术。通过分析可以看出现有云安全保护方案仍然存在一些不足,未来的科研工作可以更多地关注于以下几点。

1.云虚拟化安全中提到的各类攻击一般是利用云基础设施在系统管理程序中存在的缺陷,采取不同的攻击方式以提升操作权限或窃取敏感数据。目前相关研究人员提出了针对性的防御策略,主要的局限性包括以下几点。

(1)异常检测技术通常难以抵御特殊类型的安全攻击,如资源释放型攻击和高速隐蔽信道攻击等,而且检测效率有限,检测过程也可能会泄露隐私。

(2)防御窃取服务攻击需要结合基础设施的差异来设计虚拟机监控方案,特别是研究适用于不同管理程序的监控实例。

(3)为更好地防御交叉虚拟机边信道攻击,应该更加关注于云迁移过程中的虚拟机攻击形式,例如对工作量、工作时间等隐私信息的恶意窃取。

(4)设计能够独立于CSP的安全防御策略,从而有效限制CSP的权限滥用。安全防御过程中也要注意控制防御方案对公有云性能造成的负面影响。

2.云存储安全一直备受众多研究者的关注,现有研究相对较为广泛,主要的局限性包括以下几点。

(1)数据共享算法对用户身份隐私的保护程度仍需加强。代理重加密算法的单向性、可传递性等特征尚待进一步研究,而属性加密算法用于动态权限管理时的效率通常较差。

(2)非对称可搜索加密技术易受推理攻击的威胁,且缺乏对多数据源或多关键词检索的支持。云数据库密文搜索的查询效率有待继续优化,并尝试在提供更多查询处理功能的同时提高隐私保护能力,防止敌手利用访问模式或搜索模式窃取机密信息。

(3)可回收性证明亟需防御文件级或块级的云端数据非法删除,并提高数据更新情况下的审计效率。最新研究方向之一是证明云文件确实按照某种预定格式(如是否压缩等)进行存储。

3.有关云计算环境中的各类应用,其安全性研究工作有待进一步深入,主要的局限性包括以下几点。

(1)移动平台有限的存储和计算能力限制了云计算的应用,并带来了全新的安全和隐私威胁。因此要着重研究移动智能终端的安全问题,特别是移动云共享应用中的安全漏洞,以及适用于移动云的可扩展的认证访问机制等。

(2)在可计算加密方面,尚未发现能够同时支持字符串检索和数值数据运算的加密方案。同态加密技术与保序加密技术目前仍处于研究的起步阶段,复杂的数学结构导致实用性较差。

(3)在安全外包方面,后续研究的重点应放在防御服务器合谋、改善外包计算开销等内容上,并不断扩展隐私保护外包技术与可验证外包技术所支持的运算类型与算法,同时在标准安全模型下给出严密的安全性证明。

综上,为了全面地提升云计算环境的整体安全程度,应该综合运用云虚拟化安全、云数据安全以及云应用安全研究中涉及的多种防御技术或安全机制。目前研究通常专注于云环境中某个特定的安全需求,并为此提出大量的安全保护方案。然而,为每个安全需求分别部署安全防护措施的方式在实际应用中的可行性较差,而且在单独部署的同时也极有可能引入额外的安全风险。因此,未来研究的首要任务是设计全面完整的安全解决方案,以满足公有云计算环境面临的多样安全需求,使得云用户对安全策略的管理方式更加灵活,能够根据自身需要进行协调,从而快速达到目标安全级别。

5 结束语

低廉的计算成本与灵活的配置能力促使云计算产业蓬勃发展。云计算环境中的虚拟化、多租户、共享资源池等技术也带来了特有的安全问题,特别是缺乏控制云服务资源的有效方法,引起了人们对云安全的普遍关注。通过深入分析与对比,可知云计算安全保护工作在国内外已取得较好的研究成果,但是仍有许多遗留问题尚待探讨,需要综合考虑多种安全因素,不断改善防御技术与安全策略。本文重点介绍了云计算中各类已知安全威胁与隐私泄露风险的产生原因和特点,然后分别围绕云虚拟化安全、云数据安全以及云应用安全展开综述,以期能够为云安全的未来研究做出一些有益的探索。

猜你喜欢
同态加密算法密文
相对于模N的完全不变子模F的N-投射模
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于DES加密算法的改进研究
小R-投射模
基于网络报文流量的协议密文分析方法
D4-δ-盖及其应用
拉回和推出的若干注记
密钥共享下跨用户密文数据去重挖掘方法*
基于整数矩阵乘法的图像加密算法