1.对称可搜索加密的隐私保护方法,其特征是,具体包括步骤如下:
步骤1、数据拥有者根据关键字-文档列表建立键值对,并对键值对进行加密后,利用加密后的键值对建立B+树,生成的安全索引;
步骤2、数据拥有者对步骤1的B+树进行哈希生成树根,并对该树根和时间戳进行联合加密,得到当前时刻的结果预处理器;再对当前时刻的结果预处理器进行签名,得到当前时刻的签名结果预处理器;后将当前结果预处理器和当前签名结果预处理器组合成当前时刻的结果验证器;
步骤3、数据拥有者先对带有计数功能的布隆过滤器、时间戳和前一时刻的布隆加密器进行联合加密,得到当前时刻的布隆预处理器;再对当前时刻的布隆预处理器进行签名,得到当前时刻的签名布隆预处理器;后将当前时刻的布隆预处理器和当前时刻的签名布隆预处理器组合成当前时刻的布隆验证器;
步骤4、数据拥有者对每个关键字的文档集进行加密后,生成密文文档集;
步骤5、数据拥有者将步骤1-4所得到的安全索引、结果验证器、布隆验证器和所有密文文档集发送给云服务器;
步骤6、用户对所需查询的关键字进行加密后生成查询令牌,并将查询令牌发送给云服务器;
步骤7、当云服务器收到来自用户的查询令牌时,先将该查询令牌哈希到一个新的布隆过滤器中,并将这一新的布隆过滤器与云服务器中包含所有令牌的带有计数功能的布隆过滤器中的一维布隆过滤器进行比较,以确定用户查询令牌是否存在于云服务器中的索引列表中:当用户查询令牌存在时,云服务器根据安全索引生成除令牌外的其他结点组成的证明列表,并将含有查询令牌的密文文档集、证明列表、与用户查询时间点的结果验证器即查询点结果验证器、以及与用户查询时间最近的更新时间点的结果验证器即更新点结果验证器一并送给用户,并执行步骤8;
当用户查询令牌不存在时,云服务器将最新时间点的布隆验证器发送给用户,并执行步骤12;
步骤8、用户对查询点结果验证器和更新点结果验证器进行解密后,得到查询点结果预处理器和更新点结果预处理器,并比较查询点结果预处理器和更新点结果预处理器是否相等:如果查询点结果预处理器和更新点结果预处理器相等,则用户进一步对查询点结果预处理器和更新点结果预处理器进行解签名,得到查询点解签名结果预处理器和更新点解签名结果预处理器,并比较询点解签名结果预处理器和更新点解签名结果预处理器是否相等:如果查询点解签名结果预处理器和更新点解签名结果预处理器相等,则执行步骤9;
如果查询点解签名结果预处理器和更新点解签名结果预处理器不相等,则用户拒绝云服务器返回的含有查询令牌的密文文档集;
如果查询点结果预处理器和更新点结果预处理器不相等,则用户拒绝云服务器返回的含有查询令牌的密文文档集;
步骤9、用户先对云服务器返回的含有查询令牌的密文文档集进行解密后,得到含有查询令牌的解密文档集;再对含有查询令牌的解密文档集进行加密后,生成含有查询令牌的加密后的文档集;后利用含有查询令牌的加密后的文档集和证明列表构建B+树,并对该B+树进行哈希生成第一树根;
步骤10、用户对查询点结果预处理器进行解密后得到第二树根;
步骤11、将步骤9所得第一树根和步骤10所得第二树根进行比较:如果两者相等,则证明云服务器返回的含有查询令牌的密文文档集是完整的,用户接受云服务返回的含有查询令牌的密文文档集;如果两者不相等,则用户拒绝云服务器返回的结果;
步骤12、用户对云服务器返回的最新时间点的布隆验证器进行解密和解签名后,得到解密后的带有计数功能的布隆过滤器;再将查询令牌哈希到一个新的布隆过滤器中,并将这一新的布隆过滤器与解密后的带有计数功能的布隆过滤器中的一维布隆过滤器进行比较,以确定用户查询令牌是否真的存在于云服务器中的索引列表中:如果查询令牌真的存在,则表明云服务器是是恶意的;如果查询令牌真的不存在,则表明云服务器是是非恶意的。
2.根据权利要求1所述的对称可搜索加密的隐私保护方法,其特征是,带有计数功能的布隆过滤器由一维计数数组和一维布隆过滤器组成;一维布隆过滤器的每一位为0或1,即有关键字的令牌哈希到该位上时,该位记录为1,没有关键字的令牌哈希到该位上时,该位记录为0;一维计数数组的每一位与一维布隆过滤器的每一位一一对应,一维计数数组的每一位记录一维布隆过滤器对应位上出现1的次数。