本发明涉及计算机信息保护领域,具体涉及一种基于布谷鸟过滤器的云平台隐私保护方法。

背景技术:

随着计算机和网络信息的高速发展,数据也随之海量增长,越来越多的客户倾向于把数据的存储和维护工作外包给专业的数据服务提供商,实现从基础存储管理和维护的沉重压力中解脱出来,实现专注于自身核心业务的研究和壮大。在此需求下,云存储的研究崭露头角,并得以迅速发展。云存储具有良好的便利性、可扩展性,显著降低本地的存储和维护开销,少量的经济花费等优势。然而,对于云存储的安全性也随之产生质疑,并且安全性逐渐成为云存储系统发展的一个至关重要的瓶颈。其中,隐私保护是云存储安全中的极其重要的一个方面,通常情况下,采用隐藏用户访问方式来实现隐私保护的目的。但是现有技术中已经存在有一些方法来解决如何隐藏数据的访问方式这个安全问题,但是存在一些需要的关键问题,比如(1)由于用户每次访问,云服务器都需要返回所有数据,从而导致用户与云服务器之间的通信量很庞大;(2)为了隐藏数据的访问方式,云端要存储虚拟数据,这无疑增加了存储的空间开销与平均访问时间;(3)多个用户同时对相同数据发出访问请求,云端服务器就可以看到两个相似的数据访问过程,从而认定两个用户访问了同一数据,使得用户的隐私遭到泄露。

技术实现要素:

1.所要解决的技术问题:

针对上述的技术问题,本发明提出一种基于布谷鸟过滤器的云平台隐私保护方法,提出了一个隐藏式的随机访问云平台方法。

2.技术方案:

一种基于布谷鸟过滤器的云平台隐私保护方法,其特征在于:包括用户端与服务端;所述用户端包括数据存储模块、数据访问模块;所述数据存储模块包括虚拟数据生成模块、数据加密模块、加密分组模块;所述数据访问模块包括数据读取模块、数据更新模块、数据加密模块、数据重加密模块;所述服务端包括数据存取控制模块、并行模块;所述数据存取控制模块包括哈希存储控制模块、数据层重构模块以及成员验证模块。

所述数据存储模块为根据真实数据生成保护实数据的虚拟数据,并将虚拟书与真实的用户数据一起存储;所述数据加密模块采用paillier概率公钥加密方法将真实数据连同虚拟一起加密;所述加密分组模块将用户加密过的数据进行分组实现在云服务器中的分区存储;服务器端的数据存取控制模块,哈希存储控制模块中应用了后庭式布谷鸟哈希算法来控制数据元素的存储;所述数据层重构模块,采用洗牌策略强制对数据元素进行重新排序和插入,能够实现数据元素位置的不唯一,提高隐私性;成员验证模块是分区布隆过滤器的应用,保证成员验证的常数级查询。

服务器端数据层重构模块将存储区进行分区;即将o-ram结构设置为多个平行的o-ram小型结构;每个o-ram小型结构相同,存储的数据元素数量相同;所述每个o-ram小型结构为一个多层的、存储能力逐渐增大的层次存储结构;每个小型o-ram层次数据结构的最高层,加入一个小型的cache,用来存储最近被访问的数据元素集合;每一层的存储数据结构采用后庭式布谷鸟过滤器结构。

进一步地,用户端采用userclient类文件中的成员函数方法对用户存入的数据进行预处理;genevirtualdata方法来生成与用户真实数据一样大小的虚拟数据,并且通过dataencrypt方法对真实数据和虚拟数据的集合加密,然后用datasplit来对数据分组,为数据放入云服务器做准备。

进一步地,所述服务端用类backyardcuckoo来表示哈希存储控制模块;在backyardcuckoo类中,三个静态成员hashmap变量分别是布谷鸟哈希算法中三个数据存储结构,通过类的构造函数初始化类的存储大小,rabinhash用来输出数据的哈希结果;后园布谷鸟哈希的算法由insertbucket和insert_lowlevel来完成,然后类提供了在存储结构hashmap中查找删除插入的公共方法以供实例化调用。

进一步地,所述成员验证模块采用改进的分区布隆过滤器;分区布隆过滤器用二进制数组bitset来表示数据存在状态,类初始一个哈希函数数组,根据getsubindex来用来分配数据到包含相互独立的哈希函数的分区,通过函数addelement来添加元素位置,或者通过checkelement方法来查询元素是否存在于集合中。

进一步地,在服务器端的o-ram分区模型中,一个后庭式布谷鸟哈希结构对应着一个相对应的分区的布隆过滤器来控制成员访问。

进一步地,当数据层i被访问的次数达到2i次之后,所述服务器端数据层重构模块将数据层i和数据层i+1要进行重构:数据层i和数据层i+1中的数据进行合并,重新存储在数据层i+1中。重构的过程中,为了保护用户访问方式的隐私,要对合并后的数据进行隐藏性洗牌。

3.有益效果:

(1)采用本方法的隐藏式随机访问能够实现非授权用户无法获知用户真正需要访问哪个目标数据元素。

(2)采用本方法的隐藏式随机访问非授权用户无法获知两次访问的目标数据元素是否相同。

(3)采用本方法的隐藏式随机访问非授权用户不能区分读写操作。

(4)采用本方法的隐藏式随机访问非授权用户不能区分两个不同的等长的数据访问请求。

附图说明

图1为本发明的整体功能架构图;

图2为本发明的架构图。

具体实施方式

下面结合附图对本发明进行具体的说明。

如附图1所示一种基于布谷鸟过滤器的云平台隐私保护方法,其特征在于:包括用户端与服务端;所述用户端包括数据存储模块、数据访问模块;所述数据存储模块包括虚拟数据生成模块、数据加密模块、加密分组模块;所述数据访问模块包括数据读取模块、数据更新模块、数据加密模块、数据重加密模块;所述服务端包括数据存取控制模块、并行模块;所述数据存取控制模块包括哈希存储控制模块、数据层重构模块以及成员验证模块。

所述数据存储模块为根据真实数据生成保护实数据的虚拟数据,并将虚拟书与真实的用户数据一起存储;所述数据加密模块采用paillier概率公钥加密方法将真实数据连同虚拟一起加密;所述加密分组模块将用户加密过的数据进行分组实现在云服务器中的分区存储;服务器端的数据存取控制模块,哈希存储控制模块中应用了后庭式布谷鸟哈希算法来控制数据元素的存储;所述数据层重构模块,采用洗牌策略强制对数据元素进行重新排序和插入,能够实现数据元素位置的不唯一,提高隐私性;成员验证模块是分区布隆过滤器的应用,保证成员验证的常数级查询。

服务器端数据层重构模块将存储区进行分区;即将o-ram结构设置为多个平行的o-ram小型结构;每个o-ram小型结构相同,存储的数据元素数量相同;所述每个o-ram小型结构为一个多层的、存储能力逐渐增大的层次存储结构;每个小型o-ram层次数据结构的最高层,加入一个小型的cache,用来存储最近被访问的数据元素集合;每一层的存储数据结构采用后庭式布谷鸟过滤器结构。

进一步地,用户端采用userclient类文件中的成员函数方法对用户存入的数据进行预处理;genevirtualdata方法来生成与用户真实数据一样大小的虚拟数据,并且通过dataencrypt方法对真实数据和虚拟数据的集合加密,然后用datasplit来对数据分组,为数据放入云服务器做准备。

进一步地,所述服务端用类backyardcuckoo来表示哈希存储控制模块;在backyardcuckoo类中,三个静态成员hashmap变量分别是布谷鸟哈希算法中三个数据存储结构,通过类的构造函数初始化类的存储大小,rabinhash用来输出数据的哈希结果;后园布谷鸟哈希的算法由insertbucket和insert_lowlevel来完成,然后类提供了在存储结构hashmap中查找删除插入的公共方法以供实例化调用。

进一步地,所述成员验证模块采用改进的分区布隆过滤器;分区布隆过滤器用二进制数组bitset来表示数据存在状态,类初始一个哈希函数数组,根据getsubindex来用来分配数据到包含相互独立的哈希函数的分区,通过函数addelement来添加元素位置,或者通过checkelement方法来查询元素是否存在于集合中。

进一步地,在服务器端的o-ram分区模型中,一个后庭式布谷鸟哈希结构对应着一个相对应的分区的布隆过滤器来控制成员访问。

进一步地,当数据层i被访问的次数达到2i次之后,所述服务器端数据层重构模块将数据层i和数据层i+1要进行重构:数据层i和数据层i+1中的数据进行合并,重新存储在数据层i+1中。重构的过程中,为了保护用户访问方式的隐私,要对合并后的数据进行隐藏性洗牌。

如附图2所示;本方法中数据存取是以等长数据元素为单位,假设数据元素的数目为n,即o-ram的存储大小为n。在存储数据之前,用户首先要在本地对数据元素进行预处理,包括数据加密和分组。本方法的加密方法采用paillier概率公钥加密,不同的分组将存储在不同的o-ram结构中。然后,把数据上传给云存储服务器端,存储在特定的数据结构之中。

数据的存储区采用分区的思想,即把单一的o-ram结构改进为多个平行的o-ram结构。把原来存储能力较大的o-ram结构划分为若干个小储能力的o-ram结构。每个小型的o-ram结构存储等量的数据元素,并且结构完全相同。具体来说,在本文的隐藏性随机访问方案中,数据存储区分成o-ram结构,每个o-ram结构存储的数据个数为分组方法是利用hash函数h'进行映射,其中n为数据的数量。

每一个分区的结构是一个多层的、存储能力逐渐增大的层次存储结构。在每个小型o-ram层次数据结构的最高层,加入一个小型的cache,用来存储最近被访问的数据元素集合。采用后庭式布谷鸟哈希(backyardcuckoohash)作为每一层的存储数据结构。在后庭式布谷鸟哈希(backyardcuckoohash)结构中第i层的桶式哈希表和布谷鸟哈希表的大小都是2i+1,存储2i个真实数据元素和2i个虚拟数据元素。当插入元素x时,首先计算p=h0(x),确定x在桶式哈希表中的桶(bucket)的位置,若此位置的桶(bucket)存储的元素个数小于d,则直接存入此桶中,其中否则存入下层的布谷鸟哈希表中。

每一层后庭式布谷鸟哈希和一个加密的分区布隆过滤器结构相关联,此分区布隆过滤器利用分区哈希实现,用来进行成员验证,即每次访问该数据层,都要先进行成员验证,判断要查找数据是否在此层。若此数据不在此层存储,将访问虚拟数据。采用成员验证技术可以有效的防止空数据查询对访问方式信息的泄露,很好的保证了访问方式的安全性。

当数据层i被访问的次数达到2i次之后,数据层i和数据层i+1要进行重构:数据层i和数据层i+1中的数据进行合并,重新存储在数据层i+1中。重构的过程中,为了保护用户访问方式的隐私,要对合并后的数据进行隐藏性洗牌。隐藏性洗牌的时间开销是整个方案中的时间开销的主要影响因素。所以选择高效的洗牌方法是非常有必要的。洗牌方法首先要达到隐藏性,不能显示出排序输入和输出之间的顺序关系,即要保证任意输入x可以映射到任意输出y。其次要尽可能的减少其时间开销。在本文的方案中,采用缓冲区洗牌策略。缓冲区洗牌策略很好的支持本文的隐藏性随机访问方案,并且提高了访问效率。

虽然本发明已以较佳实施例公开如上,但它们并不是用来限定本发明的,任何熟习此技艺者,在不脱离本发明之精神和范围内,自当可作各种变化或润饰,因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。

布谷鸟过滤器java使用_一种基于布谷鸟过滤器的云平台隐私保护方法与流程相关推荐

  1. 极坐标梯度公式_一种基于极坐标系梯度变化的类圆环边缘检测方法与流程

    本发明涉及图形处理技术领域,具体地说是一种基于极坐标系梯度变化的类圆环边缘检测方法. 背景技术: 边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点.图像属性中 ...

  2. catia制作物料明细_一种基于CATIA的国标标准物料清单的生成方法与流程

    本发明涉及一种物料清单的生成方法,尤其涉及一种基于CATIA的国标标准物料清单的生成方法. 背景技术: 众所周知,CATIA是法国达索公司的产品开发旗舰解决方案.作为PLM协同解决方案的一个重要组成部 ...

  3. 区块链相关数据报表_一种基于区块链的财务报表系统及其使用方法与流程

    本发明涉及区块链领域,尤其是一种基于区块链的财务报表系统及其使用方法. 背景技术: 随着社会的发展,公司的成立数量越来越多,而公司的财务报表是一个公司的关键资料,这就要求资料数据的绝对安全防止他人的恶 ...

  4. 双向长短期记忆网络模型_一种基于双向长短期记忆网络的定位修正方法与流程...

    本发明属于行人导航定位修正领域,具体涉及一种基于双向长短期记忆网络的定位修正方法. 背景技术: 近些年来,随着室内定位技术的不断发展,很大程度弥补了类似gps等利用卫星信号进行定位而卫星信号穿透力较差 ...

  5. raid配置ssd为缓存_一种基于SSDRAID阵列的多级缓存及缓存方法与流程

    本发明属于固态硬盘存储技术领域,更具体地,涉及一种基于SSD RAID阵列的多级缓存及缓存方法. 背景技术: 基于闪存的固态磁盘(Solid State Drives,SSD)以其优异的性能.非异失和 ...

  6. matlab血糖预测,一种基于VMD-PACF-BP模型的动态血糖在线预测方法与流程

    本发明属于血糖预测技术领域,尤其涉及一种基于VMD-PACF-BP模型的动态血糖在线预测方法. 背景技术: 目前,中国患有糖尿病人数已成为在世界上拥有糖尿病患者最多的国家.为了降低糖尿病患者长期处于高 ...

  7. orb特征 稠密特征_一种基于ORB-SLAM2的双目三维稠密建图方法技术

    本发明专利技术公开了一种基于ORB‑SLAM2的双目稠密建图方法,涉及机器人同步定位与地图创建领域,该方法主要由跟踪线程.局部地图线程.闭环检测线程和稠密建图线程组成.其中稠密建图线程包含以下步骤:1 ...

  8. grub2引导linux内核,一种基于grub2的linux系统启动bootloader的制作方法与流程

    技术领域 本发明涉及服务器应用技术领域,具体涉及一种基于grub2的linux系统启动bootloader的制作方法. 背景技术: 当前linux系统的内核版本已经升级至4.0以上,最新的linux系 ...

  9. 一种基于说话人识别和数字语音识别的身份认证方法与流程

    本发明属于语音处理技术领域,具体涉及到对数字语音序列进行说话人识别和语音识别,确定说话人身份的身份认证方法. 背景技术: 说话人识别也称为声纹识别,可以从说话人发出的声音中提取其个性特征,从而识别出当 ...

  10. matlab 零速检测,一种基于车辆零速检测的惯性导航误差修正方法与流程

    本发明涉及车载导航与定位领域,尤其是涉及一种基于车辆零速检测的惯性导航误差修正方法. 背景技术: 惯性导航系统(inertialnavigationsystem,ins)能根据惯性传感器(陀螺仪.加速 ...

最新文章

  1. 在vue中使用Element-UI
  2. 即时通讯 TCP UDP
  3. 火了,挡不住了:Facebook Move编程语言入门
  4. java list 拆分_Java面试题怎么确保一个集合不能被修改?
  5. 韩嫕:坚持coding
  6. python人脸识别opencv_用python和opencv 做人脸识别
  7. poi获取有效单元格个数_EXCEL利用SUM函数和FREQUENCY函数数组公式统计不同区间数据个数...
  8. 周记之琢磨下计算机网络(2018/10/22-2018/10/28)
  9. java单词查找树_Trie 单词查找树 java实现(来自算法第4版)
  10. pytorch从dataframe中提取信息,变为可训练的tensor
  11. (71)信号发生器DDS方波设计 (一)(第15天)
  12. 在使用 Go 两年之后,我又转回 PHP 了
  13. 全球计算机一起炼丹是怎样的体验?
  14. JavaWeb中的问题 ---- Servlet和Jsp
  15. linux系统安装花生壳
  16. java web(java ee)实现wordle猜单词游戏
  17. 金山词霸2009牛津版完整破解版+绿色精简版下载
  18. 小程序毕设作品之微信企业公司小程序毕业设计(4)开题报告
  19. 儿童讲堂 - 量词举例
  20. 微信公众平台开发3-微信服务器IP接口实例(含源码)

热门文章

  1. SEO理论实践的10大误区
  2. 一个微信群机器人PHP,vbot微信机器人操作联系人的API(3)微信群API
  3. 小郡肝火锅点餐系统——测试部署发布
  4. 深入浅出node.js第9章玩转进程摘录
  5. 使用stress进行压力测试
  6. 虚拟机自省XenAccess和vmitools
  7. 如何检测网站死链接?
  8. office之转置EXCEL表格
  9. matlab 轮廓系数,kmeans聚类理论篇K的选择(轮廓系数)
  10. 2018年阿里巴巴重要开源项目汇总(持续更新中)