论文部分内容阅读
云存储的服务模式在降低成本的同时,也带来了更严峻的安全挑战。加密作为一种有效的保护手段,虽然能够解决数据的机密性问题,但是却不利于信息的共享。数据最终要面向应用,而应用的基础是安全共享及其效率问题。传统的访问控制技术和解密后进行明文搜索的方式虽然能够实现一定程度的安全性,但是其效率较低,并不能适应云存储环境中多用户、海量数据的应用场景。因此,研究基于密文的访问控制和高效搜索技术,一方面,在由数据拥有者掌控密钥的基础上,提高访问控制的灵活性并降低用户的开销,另一方面,保证数据搜索过程的全密态处理,避免明密文转换对安全和效率的影响,对于云计算、云存储的应用和发展具有十分重要的意义。目前,学界对密文访问控制技术和密文搜索技术进行了大量的研究。针对访问控制策略的灵活性问题,提出了基于密文策略、密钥策略和双策略的属性加密方案;针对单权威中心的性能瓶颈和权力集中问题,提出了分布式云环境的多中心管理模式方案;针对算法效率的问题,提出了具有常数密文长度、外包解密的属性加密方案;针对单关键词搜索效果较差的问题,提出了关键词连接搜索的加密方案。本文在总结现有研究成果的基础上,针对密文访问控制的策略隐藏和加解密开销,以及多关键词搜索问题,提出了三种改进方案,并通过理论分析阐明了提出方案的安全性和有效性。之后,综合实际应用需求,融合多项技术,提出一种支持安全共享的云存储系统方案。主要的研究内容如下:(1)提出两种基于访问树的策略隐藏属性加密方案。属性加密能够通过密码技术来保证细粒度访问控制的安全实施,因此受到广泛关注。但是,属性加密也同样存在着隐私性问题:代表控制策略的访问结构需要同密文一起发送。目前,已有的策略隐藏属性加密方案能够支持与门访问结构;然而,与门结构灵活性差,无法实现较为复杂的访问策略。树型结构虽然直观、灵活性好,能够表达所有的控制策略,但是在实现策略隐藏时还存在较大困难。本文对访问树结构进行改进,使它既能具有树型结构直观、灵活的优点,又能利用与门结构容易实现策略隐藏的优势,解决了复杂访问结构中策略隐藏的难题,使得属性加密方案在实现策略隐藏的同时,具备更丰富的策略表达能力。(2)提出一种在线/离线加密和外包解密的属性加密方案。当前有效的属性加密方案主要基于椭圆曲线上的双线性对来实现,解密过程涉及到大量的双线性映射和模指数运算。这对于能力受限的终端来说,是一个不小的负担。本文利用代理重加密的思想,将加密分为离线和在线阶段,将解密密钥分为外包解密密钥和终端解密密钥。离线加密阶段为每个属性取值生成一个随机的密文组件,在线加密阶段为相关的属性取值生成一个修正组件,在解密阶段通过幂运算得到实际的秘密值。从而在离线阶段完成绝大部分运算操作,将在线阶段的加密运算量降为常量。通过云端持有外包解密密钥,使得绝大部分的解密运算量从终端转移到云端执行,显著降低了数据请求者解密时的通信和计算开销。(3)提出一种支持关键词非域子集搜索的属性加密方案。目前的连接关键词可搜索加密方案存在着通信模式和搜索模式受限的问题:一是不具备一对多的能力,在多用户环境下需要多次加密,效率较低;二是只能对邮件首部这种结构固定、语义明确的结构化数据进行搜索,不具备针对非结构化数据的搜索能力,实用性受限。本文通过引入属性密码,基于访问策略加密关键词,并为每个用户生成相应的属性私钥,实现针对关键词密文的细粒度访问控制,显著降低了多用户环境下发送结点的通信开销和计算开销。通过引入多项式方程,实现针对关键词的非域子集搜索,使得方案同时具备结构化数据和非结构化数据的搜索能力,显著提高了连接搜索的灵活性。(4)提出一种支持安全共享的云存储系统方案。前面的几种方案针对不同的应用场景提出了算法上的解决途径,但是为满足实际的使用要求,还需要将多种算法和方案进行融合,并完善安全机制衔接、性能效率提升、工作流程制定、数据接口规范等工作。本文通过融合密文访问控制和密文搜索,实现加密、访问控制和高效搜索的结合;通过外包解密和代理重加密,降低了系统和终端用户的开销;制定了工作机制,规范了数据交互,完成了云存储系统的一种实用化设计;通过PKI、对称算法、属性算法的结合使用,实现工作流程上的安全可靠。最后,根据方案实现了一个云存储验证系统。