论文部分内容阅读
随着“云”时代迅速的发展,云存储服务也随之诞生,个人及各大互联网企业越来越倾向于将所需数据保存至云存储数据库中,但随之而来的云存储数据的安全性问题逐渐增多,云存储数据库的安全性受到了广泛关注。在此背景下,为了保证云端敏感数据的安全,通常做法是将云端数据加密从而保证数据安全性,但在数据库加密保证安全性的同时,也带了数据检索和计算的问题。在数据库模式中,关系型数据库因其具有支持复杂条件查询以及操作简单,数据结构完善等优点一直在市场中处于领导地位,对于加密后的关系数据库,其数据不再具有原本的保序性、可计算性等特点,同时关系型数据库中众多计算函数在密文环境下无法发挥作用,而计算和检索是数据库中不可或缺的核心功能。因此,如何在保证数据安全性的同时,高效地实现关系型数据库密文检索和计算具有重要研究意义。本文以密文数据库通用检索算法作为研究目标,以CryptDB密文检索模型作为研究基础,对其做出检索方案的优化和功能上的扩展,具体包含以下工作和创新:1.针对密文数据库范围检索提出f-mOPE保序加密方案。CryptDB密文检方案中使用保序加密算法mOPE进行保序加密计算,本文使用所提出的f-mOPE保序加密方案在插入和查找元素时,将客户端与服务器端的交互次数为log(n)(其中n为元素的总个数)降低至最多α次(其中α为常数)。本文提出保序编码分块治理方案,降低数据的总个数对方案中保序编码重排序的影响。随着数据总数量n的增加,在mOPE中服务器端维护的平衡二叉树的重排序操作次数也随着n的增大而增大,本文使用保序编码分块治理方案,将重排序操作次数控制在常数级别,不受数据总数量n的影响,本方案采用空间换时间策略,以保序索引作为顺序判定的依据,在降低整个保序加密方案的通信开销下,减少服务器端的性能损耗。在安全性方面,本文提出模糊加密算法、部分同态加密算法,本文提出算法在保证数据隐私的基础上,不但能抵御统计型攻击,而且能够有效地降低服务器计算开销,提高数据库处理效率。2.基于属性的密文检索访问控制研究。在云存储环境中,存储数据通常需被多方共享,不同用户要求仅拥有部分数据的访问检索权限。为防止云存储数据隐私泄露,保证数据的安全性,本文提出了一种细粒度的基于属性的访问控制模型,该模型将属性加密与洋葱加密模型结合,属性加密层作为洋葱加密层的最外层,能够精确地控制用户访问数据列的权限;在粒度控制方面,本文将数据列与角色相结合,构造角色数据列映射关系,使访问控制的粒度达到列级别;在访问权限的的更新与撤销方面,本文引入了权限版本的概念,权限的授权与撤销通过版本进行控制,在大规模数据量环境下,各数据进行属性加密需要耗费大量时间,在属性更新时,为降低由属性重加密带来的严重时间开销,本文通过将属性加密密钥与版本结合,采用更新对称加密密钥的方式,能够很大程度降低权限撤销所带来的计算开销;在属性访问控制算法上,本文提出最优访问控制树叶子节点计算算法,该算法能够删除无效的匹配属性节点,压缩访问控制树T至’T,TT?’,使’T成为最优访问控制树,因此,解密时可直接使用该访问控制树’T,能够避免对不被用到的节点进行双线性配对计算,降低计算开销。3.设计与实现了密文数据库检索系统。通过对在CryptDB中引入f-mOPE保序加密方案以及使用基于属性的访问控制模型进行实验分析,表明该方案与CryptDB相比具有更高的安全性和效率;本文采用java开发语言,设计并实现了密文数据库检索系统,该系统中分为加密、存储、查询三个模块,核心采用上述保序加密算法、洋葱加密模型以及属性加密访问控制,通过三个模块组合的方式将明文数据加密存放至第三方云存储数据库中,并且在不暴露明文任何信息情况下提供高效地、细粒度地密文检索操作。经过系统实验,说明本文所研究技术方案具有较高的可行性和实用价值。