论文部分内容阅读
最近几年,云服务得到了快速发展,各大互联网巨头也在着力布局云服务为各大开发商提供便利、快速、高效的运行环境。开发商(数据拥有者)需要将它们的数据外包到云服务器上,其中许多基于位置服务的开发商需要将它们拥有的空间数据存储到云服务器里,比如高德地图,百度地图,Square等。然而,这些外包给云服务器的地理信息数据将会暴露给不可信的云服务器。因此如何安全外包空间数据的研究已经成为了一个热点,一些关于保护用户地理位置信息的方案已经被提出。但是,目前大量关于此方向的研究都是基于二维空间地理数据,且没有涉及如何安全地更新数据。此外,仅仅实现外包数据的隐私保护是无法直接应用到实际环境中的,因为拥有密钥的用户可以访问云服务器上的所有数据。传统解决此问题的方法是在云服务器中存储一个权限访问控制表(ACL)记录每个用户对应的数据权限,但是明文形式的ACL表是不能存储在不可信的云服务器上的。基于以上原因,我们需要解决如下两个问题:(1)在单用户角色场景下,如何基于三维球面数据实现云服务器中数据的隐私保护和正确的高效数据访问操作,如检索和更新?(2)如何在多用户角色的场景下,实现安全的权限访问控制?本文主要针对以上两个问题展开研究:针对第一个问题,本文考虑了在几何信息系统(GIS)中具有广泛应用前景的三维球面数据,研究了其隐私保护查询问题。利用一种近似保距的三维到二维投影方法将三维空间球面上的点投影到六个二维平面上,然后利用希尔伯特空间填充曲线将二维点编码为一维希尔伯特值。在此基础上,利用B~+-树和保序加密(OPE)构造了一个加密的空间索引树,并将树叶节点中存储的数据对象用对称加密算法(比如AES)加密,最后将该索引树和加密后的数据对象发送给云。该方案支持高效的点查询、任意多边形查询以及在密文域的动态更新。随后,我们对方案进行了独立的安全性分析并在真实数据集上进行了对比实验以体现本方案的优势。理论分析和在真实数据集的实验结果表明,该算法在安全性和效率之间取得了令人满意的折衷。针对第二个问题,由于其在本质上也是一个安全外包问题,所以本文基于典型的外包系统数据流模型,对ACL表用本文提出的Bloom Function进行置乱,然后将具有可伪逆性质的矩阵作为加密秘钥,对置乱后ACL表进行加密,这样就得到一个加密的可索引ACL表并将该表外包给云服务器,实现了安全的权限访问控制。随后,对该方案进行了性能分析,错误率分析以及安全性分析,并提出了错误率为零的优化方案。最后,我们通过实验论述了在不同场景下的参数选择问题以保证安全性和效率上的平衡。