1.一种方法,包括:
通过客户端设备(120)的数据处理硬件(124),执行指令(300)以执行对数据块(102)的查询(q);
在下载阶段期间,通过所述数据处理硬件(124),确定所述数据块(102)是否被存储在驻存于所述客户端设备(120)的存储器硬件(122)上的块存储区(370)中;
当所述数据块(102)被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),从所述块存储区(370)中移除所述数据块(102);
通过所述数据处理硬件(124),向与所述数据处理硬件(124)通信的分布式系统(140)发送伪查询(304),所述伪查询(304)检索存储在所述分布式系统(140)的存储器(114)中的随机数据块(102);以及
通过所述数据处理硬件(124),丢弃从所述分布式系统(140)中检索到的随机数据块(102);
在覆写阶段期间,通过所述数据处理硬件(124),对从所述块存储区(370)中移除的数据块(102)或从所述分布式系统(140)的存储器(114)中检索到的数据块(102)执行读取操作或写入操作;
通过所述数据处理硬件(124),基于概率,确定是将当前版本的数据块(102)存储在驻存于所述客户端设备(120)的存储器硬件(122)上的块存储区(370)中还是存储在所述分布式系统(140)的所述存储器(114)上;以及
当所述当前版本的数据块(102)被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),向所述分布式系统(140)发送伪查询(304),以检索存储在所述分布式系统(140)的所述存储器(114)中的另一个随机数据块(102);
通过所述数据处理硬件(124),解密所检索到的随机数据块(102);
通过所述数据处理硬件(124),以刷新的随机性将所述随机数据块(102)重新加密;以及
通过所述数据处理硬件(124),将所述重新加密的随机数据块(102)重新上传到所述分布式系统(140)的所述存储器(114)上。
2.根据权利要求1所述的方法,进一步包括:当所述数据块(102)在所述下载阶段期间未被存储在所述块存储区(370)中时,通过所述数据处理硬件(124),向所述分布式系统(140)发送真查询(302),以从所述分布式系统(140)的所述存储器(114)中检索所述数据块(102)。
3.根据权利要求1或2所述的方法,其中,在所述覆写阶段期间对所述数据块(102)执行所述读取操作或所述写入操作包括通过用新版本的数据块(102)更新所述数据块(102)来执行写入操作。
4.根据权利要求1至3中任一项所述的方法,其中,所述概率小于(c/n),其中,c为所述块存储区(370)的存储容量,并且n为由所述数据处理硬件(124)外包以存储在所述分布式系统(140)上的数据块(102)的数目。
5.根据权利要求1至4中任一项所述的方法,进一步包括:当所述当前版本的数据块(102)在所述覆写阶段期间未被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),向所述分布式系统(140)发送真查询(302),以从所述分布式系统(140)的所述存储器(114)中检索所述数据块(102);
通过所述数据处理硬件(124),加密所述当前版本的数据块(102);以及
通过所述数据处理硬件(124),将所加密的当前版本的数据块(102)上传到所述分布式系统(140)的所述存储器(114)上。
6.根据权利要求5所述的方法,进一步包括:丢弃从所述分布式系统(140)的所述存储器(114)中检索到的数据块(102)。
7.一种方法,包括:
通过客户端设备(120)的数据处理硬件(124),执行指令(400)以执行对数据块(102)的查询(q);
在下载阶段期间,通过所述数据处理硬件(124),确定所述数据块(102)是否被存储在驻存于所述客户端设备(120)的存储器硬件(122)上的块存储区(370)中;
当所述数据块(102)被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),从所述块存储区(370)中移除所述数据块(102);
通过所述数据处理硬件(124),向与所述数据处理硬件(124)通信的分布式系统(140)发送伪查询(404),所述伪查询(404)下载存储在所述分布式系统(140)的存储器(114)中的两个随机数据桶(350),每个数据桶(350)包括多个数据块(102);以及
通过所述数据处理硬件(124),丢弃从所述分布式系统(140)中检索到的随机数据桶(350);
在覆写阶段期间,通过所述数据处理硬件(124),对从所述块存储区(370)中移除的数据块(102)或从所述分布式系统(140)的存储器(114)中检索到的对应数据桶(350)中获得的数据块(102)执行读取操作或写入操作;
通过所述数据处理硬件(124),基于概率,确定是将当前版本的数据块(102)存储在所述块存储区(370)中还是存储在所述分布式系统(140)的所述存储器(114)上;以及
当所述当前版本的数据块(102)被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),向所述分布式系统(140)发送伪查询(404),以下载存储在所述分布式系统(140)的所述存储器(114)中的另两个随机数据桶(350),每个数据桶(350)包括多个数据块(102);
通过所述数据处理硬件(124),解密所述随机数据桶(350)内的全部数据块(102);
通过所述数据处理硬件(124),以刷新的随机性将所述随机数据桶(350)内的数据块(102)重新加密;以及
通过所述数据处理硬件(124),将包括所述重新加密的数据块(102)的随机数据桶(350)重新上传到所述分布式系统(140)的所述存储器(114)上。
8.根据权利要求7所述的方法,进一步包括:当所述数据块(102)在所述下载阶段期间未被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),向所述分布式系统(140)发送真查询(402),以从所述分布式系统(140)的所述存储器(114)中下载一对数据桶(350),响应于所述真查询(402)从所述分布式系统(140)中下载的每个数据桶(350)包括多个数据块(102)以及与所述数据块(102)的标识符(idi)相关联的对应密码标识符(f(idi));
通过所述数据处理硬件(124),解密所述两个数据桶(350)内的全部数据块(102);
通过所述数据处理硬件(124),确定所述两个数据桶(350)中的一个是否包括数据块(102);以及
当所述数据桶(350)中的一个包括数据块(102)时:
通过所述数据处理硬件(124),从对应数据桶(350)中移除所述数据块(102);以及
通过所述数据处理硬件(124),从所述数据桶(350)中丢弃剩余的数据块(102)。
9.根据权利要求7或8所述的方法,其中,所述数据块(102)的标识符包括字符串。
10.根据权利要求7至9中任一项所述的方法,其中,在所述覆写阶段期间对所述数据块(102)执行读取操作或写入操作包括通过用新版本的数据块(102)更新所述数据块(102)来执行写入操作。
11.根据权利要求7至10中任一项所述的方法,其中,所述概率小于(c/n),其中,c为所述块存储区(370)的存储容量,并且n为由所述数据处理硬件(124)外包以存储在所述分布式系统(140)上的数据块(102)的数目。
12.根据权利要求7至11中任一项所述的方法,进一步包括:当所述当前版本的数据块(102)在所述覆写阶段期间未被存储在所述块存储区(370)中时:
通过所述数据处理硬件(124),向所述分布式系统(140)发送真查询(402),以从所述分布式系统(140)的所述存储器(114)中下载一对数据桶(350),响应于所述真查询(402)从所述分布式系统(140)中下载的每个数据桶(350)包括多个数据块(102)以及与所述数据块(102)的标识符(idi)相关联的对应密码标识符(f1(idi),f2(idi));
通过所述数据处理硬件(124),解密所述数据桶(350)内的全部数据块(102);
通过所述数据处理硬件(124),用所述当前版本的数据块(102)替换所述数据桶(350)中的一个数据桶(350)内的先前版本的数据块(102);
通过所述数据处理硬件(124),将所述数据桶(350)内包括所述当前版本的数据块(102)的全部数据块(102)重新加密;以及
通过所述数据处理硬件(124),将包括所述重新加密的数据块(102)的数据桶(350)上传到所述分布式系统(140)的所述存储器(114)上。
13.一种方法,包括:
通过客户端设备(120)的数据处理硬件(124),执行指令(200)以执行对存储在服务器(110)上的数据块(102)的查询(q);
从所述数据处理硬件(124),发送对存储在所述服务器(110)上的k个块(102)的第一下载请求(202),所述k个块不包括所查询的数据块(102);
从所述数据处理硬件(124),发送对所查询的数据块(102)和k-1个其他块(102)的第二下载请求(204);
从所述服务器(110),接收所述第一下载请求(202)的k个块(102)的第一下载序列(212);以及
从所述服务器(110),接收所述第二下载请求(204)的所查询的数据块(102)和k-1个其他块(102)的第二下载序列(214)。
14.根据权利要求13所述的方法,其中,所述服务器(110)不可信并且存储未加密的多个公众可用的数据块(102)。
15.根据权利要求13或14所述的方法,进一步包括:通过所述数据处理硬件(124),丢弃从所述服务器(110)接收到的第一下载序列(212)的k个块(102)。
16.根据权利要求13至15中任一项所述的方法,进一步包括:通过所述数据处理硬件(124),丢弃从所述服务器(110)接收到的第二下载序列(224)的k-1个其他块(102)。
17.根据权利要求13至16中任一项所述的方法,其中,k值是基于大于零的安全参数(ε)和错误概率(α)。