云环境下的同态密文范围索引方法.pdf

上传人:周** 文档编号:10577186 上传时间:2021-06-24 格式:PDF 页数:30 大小:1.73MB
收藏 版权申诉 举报 下载
云环境下的同态密文范围索引方法.pdf_第1页
第1页 / 共30页
云环境下的同态密文范围索引方法.pdf_第2页
第2页 / 共30页
云环境下的同态密文范围索引方法.pdf_第3页
第3页 / 共30页
文档描述:

《云环境下的同态密文范围索引方法.pdf》由会员分享,可在线阅读,更多相关《云环境下的同态密文范围索引方法.pdf(30页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010259666.4 (22)申请日 2020.04.03 (71)申请人 广西大学 地址 530003 广西壮族自治区南宁市西乡 塘区大学东路100号 (72)发明人 黄保华梁生袁鸿程琪 黄丕荣 (74)专利代理机构 深圳市科吉华烽知识产权事 务所(普通合伙) 44248 代理人 胡吉科 (51)Int.Cl. H04L 9/00(2006.01) H04L 9/08(2006.01) H04L 29/06(2006.01) (54)发明名称 一种云环境下的同态密文范围。

2、索引方法 (57)摘要 本发明提供一种云环境下的同态密文范围 索引方法, 包括以下步骤: 步骤S1, 密钥分配中心 生成密钥, 实现系统初始化; 步骤S2, 验证用户身 份权限; 步骤S3, 对用户提交的明文数据进行私 有云加密; 步骤S4, 根据操作类型响应用户的操 作请求, 所述用户的操作请求包括查询操作请求 和更新操作请求; 步骤S5, 将查询结果解密返回 给数据使用者, 或将操作结果返回给数据所有 者; 本发明使云存储系统能够安全高效地实现密 文状态下的范围索引创建及动态更新, 在实现快 速的密文范围检索的基础上, 还支持索引结构的 动态更新, 以满足云存储系统中动态数据的存储 需求。。

3、 权利要求书4页 说明书16页 附图9页 CN 111478765 A 2020.07.31 CN 111478765 A 1.一种云环境下的同态密文范围索引方法, 其特征在于, 包括以下步骤: 步骤S1, 密钥分配中心生成密钥, 实现系统初始化; 步骤S2, 验证用户身份权限; 步骤S3, 对用户提交的明文数据进行私有云加密; 步骤S4, 根据操作类型响应用户的操作请求, 所述用户的操作请求包括查询操作请求 和更新操作请求; 步骤S5, 将查询结果解密返回给数据使用者, 或将操作结果返回给数据所有者; 其中, 所述步骤S4的查询操作请求中, 云存储中心将查询范围与索引结点的索引值做 比较运算。

4、, 并使用云搜索引擎的公钥加密不在查询范围内的虚假比较结果; 云搜索引擎使 用自己的私钥对比较结果解密, 向云存储中心请求在查询范围内的子结点比较结果, 直到 叶子结点; 云存储中心在向云搜索引擎发送记录数据时, 使用自己的私钥对其混淆; 云搜索 引擎向私有云代理返回经混淆的查询结果密文; 所述步骤S4的更新操作请求中, 对于插入操作, 云存储中心将插入值与索引结点的索 引值做比较运算, 直到云存储中心访问到相应的叶子结点, 然后将新增数据插入到该叶子 结点; 对于删除操作, 云存储中心将待删除范围与索引结点的索引值做比较运算, 实现递归 删除操作, 直到叶子结点, 在叶子结点中, 若被删除的。

5、包含该叶子的最大值, 则选择该结点 删除后的最大索引值, 向父结点递归插入, 直到当前子节点在父结点中对应的索引值不为 空为止; 对于修改操作, 则在删除后重新插入。 2.根据权利要求1所述的云环境下的同态密文范围索引方法, 其特征在于, 所述步骤S1 包括以下子步骤: 步骤S101, 密钥分配中心调用BFV同态加密方案的Setup函数生成全局参数params; 步骤S102, 密钥分配中心生成私钥sk1作为云存储中心的私钥sk1, 并生成私钥sk1所对 应的公钥pk1; 步骤S103, 密钥分配中心生成私钥sk2作为云存储中心的私钥sk2, 并生成私钥sk2所对 应的公钥pk2; 步骤S10。

6、4, 密钥分配中心将全局参数params,私钥sk1,公钥pk1,公钥pk2发送给云存储 中心; 步骤S105, 将全局参数params,私钥sk2,公钥pk1,公钥pk2发送给云搜索引擎; 步骤S106, 将全局参数params,私钥sk1,私钥sk2,公钥pk2发送给私有云代理; 步骤S107, 数据用户向私有云代理注册, 私有云代理向数据用户返回用户凭证。 3.根据权利要求1所述的云环境下的同态密文范围索引方法, 其特征在于, 所述步骤S2 包括以下子步骤: 步骤S201, 数据用户向私有云代理发送身份信息; 步骤S202, 私有云代理验证其身份凭证; 步骤S203, 与数据用户建立SS。

7、L会话; 步骤S204, 数据用户向私有云代理发送操作请求(OP,M); 步骤S205, 私有云代理检查数据用户的操作权限。 4.根据权利要求1所述的云环境下的同态密文范围索引方法, 其特征在于, 所述步骤S3 包括以下子步骤: 权利要求书 1/4 页 2 CN 111478765 A 2 步骤S301, 私有云代理使用云搜索引擎的公钥pk2和参数params调用BFV的Encrypt算法 将操作数据M加密成密文C; 步骤S302, 向云存储中心发送操作密文(OP,C)。 5.根据权利要求1至4任意一项所述的云环境下的同态密文范围索引方法, 其特征在 于, 所述步骤S4的查询操作请求包括以下子。

8、步骤: 步骤S411, 云存储中心将查询范围的下界和上界与根索引结点中的索引数据做同态的 减法运算后, 再做同态乘法运算乘以一个随机正数, 得到查询范围的下界与索引值的比较 结果以及查询范围的上界与索引值的比较结果; 步骤S412, 当结点未满时, 向该结点增加虚假比较结果来对云搜索引擎隐藏数据的分 布; 当向该结点的比较结果中增加负的比较值时, 随机选取两个负数, 通过云搜索引擎的公 钥pk2和全局参数params使用Encrypt算法将虚假比较结果加密成密文, 对所有的子结点顺 序在密文状态下进行加1操作; 当向该结点增加正的比较值时, 随机选取两个正数, 使用云 搜索引擎的公钥pk2和全。

9、局参数params调用Encrypt算法将虚假比较结果加密成密文, 添加 到比较结果中; 步骤S413, 云存储中心将混淆过的比较值密文和子结点的顺序密文进行打乱处, 将打 乱后的结果发送给云搜索引擎; 步骤S414, 云搜索引擎使用自己的私钥sk2和全局参数params调用Decryption算法解密 得到明文; 步骤S415, 云搜索引擎向待搜索序号队列和待请求序号队列中增加不在检索范围内的 子结点, 并向云存储中心发送待搜索序号队列和待请求序号队列; 步骤S416, 云存储中心对待搜索序号队列和待请求序号队列进行逆打乱处理, 获取待 搜索结点队列和待请求结点队列; 步骤S417, 对叶子。

10、结点的比较请求, 除了按上述要求进行混淆操作外, 云存储中心还选 取一个随机数与记录数据进行异或操作, 同时使用自己的公钥对该随机数加密, 一同发送 给云搜索引擎; 步骤S418, 云搜索引擎根据比较结果明文, 将符合查询条件的记录数据发送给私有云 代理。 6.根据权利要求5所述的云环境下的同态密文范围索引方法, 其特征在于, 所述步骤 S414中, 若和都小于0, 则表示对应的索引值小于查询范围; 和都大于0, 则表示对 应的索引值大于查询范围; 其余的情况则表示索引值处于查询范围内; 设小于查询范围的 索引值个数为l, 处于查询范围内的索引值个数为e; 为查询范围下界与节点内第i个索引 值。

11、混淆后的差值, 为查询范围上界与节点内第i个索引值混淆后的差值; 若e1, 且l+enum, 则云搜索引擎获取addro等于l+1的序号加入到待搜索序号队列, 获取addrol+2,l+e的序号加入待请求序号队列, addro为子节点, num为当前结点的索 引值个数; 若e1, 且l+enum, 则云搜索引擎获取addro等于l+1或l+e+1的序号加入到待搜索序号 队列, 获取addrol+2,l+e的序号加入待请求序号队列; 若e1, 且l+enum, 则云搜索引擎获取addro等于l+e的序号加入到待搜索序号队列; 权利要求书 2/4 页 3 CN 111478765 A 3 若e1,。

12、 且l+e1, 且l+enum, 则云搜索引擎获取addro等于l+1的序号加入到待搜索序号队 列, 获取addrol+2,l+e的序号加入待请求序号队列, addro为子节点, num为当前结点的 说明书 3/16 页 8 CN 111478765 A 8 索引值个数; 0043 若e1, 且l+enum, 则云搜索引擎获取addro等于l+1或l+e+1的序号加入到待搜索 序号队列, 获取addrol+2,l+e的序号加入待请求序号队列; 0044 若e1, 且l+enum, 则云搜索引擎获取addro等于l+e的序号加入到待搜索序号 队列; 0045 若e1, 且l+e0)对异号的比较值。

13、, 则将这 些比较值为0的索引值删除, 将第2k个比较值为0的索引值所对应的子树直接删除, 对第1 对比较值为异号的索引值和第1对比较值大于0的索引值所对应的子结点继续执行递归删 除, 直到叶子结点。 若不存在比较值为0的索引值, 则对第1个比较值为异号的索引值所对应 的子结点继续执行递归删除操作, 直到叶子结点。 而在叶子结点中, 若被删除的包含该叶子 的最大值, 则选择该结点删除后的最大索引值, 向父结点递归插入, 直到当前子孩子在父结 点中对应的索引值不为空为止。 对于修改操作, 则需要删除后重新插入, k为大于0的自然 数。 0094 步骤S5, 用户返回结果: 私有云代理将查询结果解。

14、密返回给数据使用者, 或将操作 结果返回给数据所有者。 0095 具体的, 步骤S1中系统初始化的具体过程为: 0096 步骤S101, 密钥分配中心调用BFV同态加密方案的Setup函数生成全局参数 params; 0097 步骤S102, 密钥分配中心调用BFV同态加密方案中的SecretKeyGen算法生成私钥 sk1作为云存储中心的私钥sk1, 并调用BFV同态加密方案中的PublicKeyGen算法生成私钥 sk1所对应的公钥pk1; 当然, 该步骤优选采用BFV同态加密方案中的SecretKeyGen算法和 PublicKeyGen算法, 在实际应用中, 也可以采用其他约定好的算法。

15、来实现公钥和私钥的生 说明书 7/16 页 12 CN 111478765 A 12 成, 步骤S103亦然; 全局参数params简称参数params; 0098 步骤S103, 密钥分配中心调用SecretKeyGen算法生成私钥sk2作为云存储中心的 私钥sk2, 并调用PublicKeyGen算法生成私钥sk2所对应的公钥pk2; 0099 步骤S104, 密钥分配中心将全局参数params,私钥sk1,公钥pk1和公钥pk2发送给云 存储中心; 0100 步骤S105, 将全局参数params,私钥sk2,公钥pk2和公钥pk1发送给云搜索引擎; 0101 步骤S106, 将全局参数。

16、params,私钥sk1,私钥sk2和公钥pk2发送给私有云代理; 0102 步骤S107, 数据用户向私有云代理注册, 私有云代理向数据用户返回用户凭证。 0103 本例所述步骤S2的私有云代理验证用户身份权限的具体过程为: 0104 步骤S201, 数据用户向私有云代理发送身份; 0105 步骤S202, 私有云代理验证其身份凭证; 0106 步骤S203, 与数据用户建立SSL会话; 0107 步骤S204, 数据用户向私有云代理发送操作请求(OP,M); 0108 步骤S205, 私有云代理检查数据用户的操作权限。 0109 本例所述步骤S3的私有云代理加密的具体过程为: 0110 步。

17、骤S301, 私有云代理使用云搜索引擎的公钥pk2和参数params调用BFV的 Encrypt算法将操作数据M加密成密文C; 其加密过程可以使用云搜索引擎的公钥pk2和参数 params调用Encrypt算法; 0111 步骤S302, 向云存储中心发送操作密文(OP,C)。 0112 本例所述步骤S4为公有云服务器执行操作运算, 可分为四类, 包括检索操作请求、 插入操作请求、 删除操作请求和修改操作请求。 0113 其中, 如图4所示, 检索操作请求的具体过程为: 0114 步骤S411, 云存储中心将查询范围的下界(LowBound)和上界(UpBound)密文(LBc, UBc)与根。

18、索引结点中(如图2中索引结点所 示)的索引数据i1, number做同态的减法运算后再做同态乘法运算乘以一个随机 正数, 得到查询范围的下界与索引值的比较结果以 及查询范围的上界与索引值的比较结果得到比较 结果密文和子结点的顺序序号 0115 步骤S412, 当结点未满时, 可向该结点增加一些虚假的比较值来对云搜索引擎隐 藏数据的分布。 若结点未满, 根据该结点所在的高度以及在本次搜索过程中已增加虚假比 较值的次数, 选取增加负比较值和正比较值的个数, 若该结点的高度越高、 已增加虚假比较 值次数越小, 则该结点增加虚假比较值的概率越高。 当向该结点的比较结果中增加一组负 的比较值(查询范围减。

19、索引值的结果都为负, 则表示该索引值小于该范围), 则随机地选取 两个负数, 使用云搜索引擎的公钥pk2和参数params使用Encrypt算法将虚假比较值dfake加 密成密文将1加密成1c。 对所有的子结点顺序在密文状态下使用Homomorphic 说明书 8/16 页 13 CN 111478765 A 13 Evaluation算法进行加1操作, 即子结点顺序最后比较 结果变为:若向该结 点增加正的比较值(即表示该虚假比较值大于查询范围), 则随机选取两个正数, 使用云搜 索引擎的公钥pk2和参数params调用Encrypt算法将虚假比较值dfake加密成密文将 num加密成numc。

20、, 添加到比较结果中, 得到: 除此之外, 甚至可 以在原父子结点之间插入一个完全虚假的结点, 以隐藏当前结点的高度。 0116 步骤S413, 云存储中心将混淆过的比较值密文和子结点的顺序密文进行打乱处理 Q: 将打乱后的结果发送给云搜索 引擎。 0117 步骤S414, 云搜索引擎使用自己的私钥sk2和参数params调用Decryption算法解 密得到明文:若和都小于0, 则表 示对应的索引值keyi小于查询范围; 若和都大于0, 则表示对应的索引值keyi大于查询 范围; 其余的情况则表示索引值keyi处于查询范围内。 设小于范围的索引值个数为1, 处于 范围内的索引值个数为e; 为。

21、查询范围下界与节点内第i个索引值混淆后的差值, 为查 询范围上界与节点内第i个索引值混淆后的差值; 混淆后的差值指的是查询范围边界与结 点内第i个索引值的差值; 0118 若e1, 且l+enum, 则云搜索引擎获取addro等于l+1的序号加入到待搜索序号 队列, 获取addrol+2, l+e的序号加入待请求序号队列(即该结点子树下的所有叶子结 点中的数据都处于查询范围内), addro为子节点, num为当前结点的索引值个数; 当l+e时, 即num为最大的子结点; 0119 若e1, 且l+enum, 则云搜索引擎获取addro等于l+1或l+e+1的序号加入到待搜 索序号队列, 获取。

22、addrol+2, l+e的序号加入待请求序号队列; 即有两个待搜索的结点: 序号为1+1和l+e+1子结点; 0120 若e1, 且l+enum, 则云搜索引擎获取addro等于l+e的序号加入到待搜索序号 队列; 0121 若e1, 且l+enum, 则云搜索引擎获取addro等于l+e或l+e+1的序号加入到待搜 索序号队列, 区别l+enum和l+enum的原因为: 当l+enum时, 没有l+e+1子结点; 0122 若e0, 则云搜索引擎获取addro等于l+1的序号(若存在该子结点)加入到待搜索 队列。 若lnum, 没有第num+1个子结点; 当前结点包含所有子树的数据都不在索。

23、引范围内, 当前结点的搜索结束。 0123 步骤S415, 云搜索引擎向待搜索序号队列和待请求序号队列中增加一些不在检索 范围内的子结点, 并向云存储中心发送待搜索序号队列和待请求序号队列。 0124 步骤S416, 云存储中心对待搜索序号队列和待请求序号队列进行逆打乱处理Q-1, 获取待搜索结点队列和待请求结点队列。 对待搜索结点队列执行步骤S411, 直到搜索到叶 说明书 9/16 页 14 CN 111478765 A 14 子结点。 0125 步骤S417, 对叶子结点的比较请求, 除了按上述要求进行混淆操作外, 还需附带用 户所要求检索的记录数据(即使用记录数据替换非叶结点中的add。

24、ro)。 但为了使记录数据 对云搜索引擎不可区分, 云存储中心选取一个随机数与记录数据进行异或操作, 同时使用 自己的公钥对该随机数加密, 一同发送 给 云 搜 索引擎。 对在上述搜索过程中得到的待请求结点队列, 获取这些子树的叶子结点, 同样对记 录数据进行异或的混淆操作, 发送给云搜索引擎。 0126步骤S418, 云搜索引擎根据比较结果明文i1, num, 比较结果明文指的 是查询范围与索引值的差值乘以一个随机正数的明文结果; 然后将符合查询条件的记录数 据(即异号或其中一个比较值为0)发送给私有云代理, 符合查询条件指的是在处理 范围边界内, 即异号或任一个比较值为0。 对待请求队列返。

25、回的记录, 过滤之前添加 的虚假请求, 发送给私有云代理。 0127 如图5所示, 本例所述步骤S4的插入操作请求的具体过程为: 0128 步骤S421, 云存储中心将插入数Newc与索引结点 中的索引值i1, number做同态的 减法运算后再做同态乘法运算乘以一个随机正数, 得到插入值与索引值的比较结果 得 到比 较 结 果 密 文 和 子 结 点 的 顺 序 序 号 像步骤S414步骤中增加虚假比较值以混淆比较结果, 发送给云搜索引擎, 云搜索引擎解密比较结果后, 设小于新增数据的索引值个数为l, 等于 新增数据的索引值个数为e, 选择一个子结点addrol+1, l+e+1, 继续递归。

26、搜索到相应的 叶子结点, 递归搜索指的是云存储中心将新增数据与索引结点的索引数据的比较结果发送 给云搜索引擎, 云搜索引擎根据比较结果继续请求下一结点, 直到叶子结点; 当l+enum, 则不存在l+e+1, 只能选择l+1, l+e的子结点。 0129 步骤S422, 存储中心将新增数据与当前叶子结点做隐私比较运算, 即做同态的减 法运算后再做同态运算乘以一个随机正数, 得到新增数据与索引值的比较结果: 即 0130 步骤S423, 如同步骤S412那样, 步骤S423中, 当结点未满时, 可向该结点增加一些 虚假的比较值来对云搜索引擎隐藏数据的分布。 若结点未满, 根据该结点所在的高度以及。

27、 在本次搜索过程中已增加虚假比较值的次数, 选取增加负比较值和正比较值的个数, 若该 结点的高度越高、 已增加虚假比较值次数越小, 则该结点增加虚假比较值的概率越高。 增加 虚假数据得:将比较结果进行打乱操作 0:并将其发送给云搜索引擎。 0131 步骤S424, 云搜索引擎解密比较值和顺序值, 设小于新增数据的索引值个数为l, 说明书 10/16 页 15 CN 111478765 A 15 则云搜索引擎获得新增数据的顺序序号: l+1, 并更新原序号keyokeyo+1, 将使用pk2加密 的顺序数据发送给云存储中心。 0132 步骤S425, 云存储中心剔除虚假数据(若有增加虚假的正比较。

28、值, 则需要对加密的 顺序序号减去增加虚假正比较值的个数), 并执行逆打乱操作Q-1。 0133 步骤S426, 将新增数据插入到当前叶子结点, 若结点未满, 使用云搜索引擎返回的 加密顺序更新对应的索引值顺序。 0134 步骤S427, 若插入后结点已满, 在使用云搜索引擎返回的加密顺序更新原顺序后, 需要将该结点的数据发送给云搜索引擎, 在云搜索引擎的帮助下, 分裂成两个结点。 首先对 结点的索引值i1, num, 进行混淆 操作: 为每个索引值i1, num随机选择一个随机数ri, i1, num, 使用pk2将其加 密成i1, num, 索引值与随机数都是在公钥pk2下同态加密, 可进。

29、行运算后仍等到相应 运算后的密文结果i1, num。 为了使云搜索引擎能够消除随机数但又不 使其暴露, 云存储中心同时使用pk1将其加密成i1, num, 附带相应的加密顺序发送 给云搜索引擎, 即 0135步骤S428, 云搜索引擎将加密的顺序序号i1, num解密成顺序明文, 根 据顺序明文分裂成两个结点, 其中一个结点中的keyo1, num/2, 而另一个keyonum/ 2, num, 对于后者将其更新成keyo1, num/2, 其顺序明文使用pk2重新加密成密文。 在结 点 分 裂 时 , 还 需 要 将 中 间 结 点 插 入 到 父 结 点 , 选 择 k e y o 等 于。

30、 n u m / 2 的 转换成具体为 : 云存储中心解密 然后使用pk1将其加密成而随机数密文也是在pk1下 加密的密文, 两者可进行同态运算得到中值:而该中值是 使用pk1加密的, 若将其发送给云存储中心会暴露中值明文。 所以, 云搜索引擎同样随机选 择 一 个 随 机 数 q , 使 用 p k1和 p k2分 别 加 密 成和对 该 中 值 进 行 混 淆 : 另外, 将分裂的顺序信息 和 其中i0, 1为分裂 结点的顺序0或1的密文, 及混淆后的中值发送给云存储中心。 0136 步骤S429, 云存储中心根据返回分裂信息, 分裂相应的结点并更新相应的顺序信 息。 将解密成key+q后。

31、, 使用pk2加密成对混淆的中值去混 淆:将分裂的结点和中值插入到父结点, 递归至结点未 满。 说明书 11/16 页 16 CN 111478765 A 16 0137 如图6所示, 本例所述步骤S4的删除操作请求的具体过程为: 0138 步 骤 S 4 3 1 , 云 存 储 中 心 将 待 删 除 范 围 ( L Bc, U Bc) 与 索 引 结 点 中的i1, number做同态的减法运 算后再做同态乘法运算乘以一个随机正数, 得到待删除值与索引值的比较结果: 其中得 到比较结果像S414步骤中 增加虚假比较值以混淆比较结果, 发送给云搜索引擎。 0139 步骤S432, 云搜索引擎。

32、解密比较结果后, 设小于待删除数据的索引值个数为l(即 都为负值), 处于待删除范围内的索引值个数为e(即为异号)。 删除处于待删 除范围内的索引值。 0140 若e0, 则对顺序为l+1的子结点继续执行递归删除操作直到叶结点; 0141 否则, 对顺序为l+1和l+e+1的子结点继续执行递归删除操作直到叶结点, 而顺序 为l+2至l+e的子树则直接删除。 0142 步骤S433, 当执行到叶子结点, 若被删除的索引值包含该叶结点的最大值(即该索 引值的顺序该结点的num), 则选择删除后剩余中的顺序最大的索引值递归插入到父结点 (该索引值在父结点中的顺序标志与该子结点的顺序标志一致), 直到。

33、当前子结点所对应的 索引值不为空。 0143 本例所述步骤S4的修改操作请求的具体过程为: 0144 步骤S441, 执行删除操作请求; 0145 步骤S442, 执行插入操作请求。 0146 本例所述步骤S5的私有云代理向用户返回结果的具体过程为: 0147 步骤S501, 若用户请求的是查询操作, 使用私钥sk1解密混淆值, 对结果记录异或 去除混淆, 然后再使用私钥sk2对结果解密; 0148 步骤S502, 向用户返回明文结果, 关闭会话。 0149 综上所述, 值得一提的是, 本例私有云代理验证用户的身份和操作权限, 以防止用 户的非授权访问; 云存储中心和云搜索引擎分别处于两个不同。

34、的信任域中(如: 两个不存在 共谋的云服务提供商提供的不同云平台), 有各个的公/私密钥; 隐私比较中, 会对比较运算 得到的差值乘以一个随机的正数, 以隐藏频率信息; 云存储中心响应云搜索引擎的操作数 与索引值比较请求时, 会增加一些不影响搜索操作的虚假数据, 以防止云搜索引擎从比较 信息中推测出敏感信息; 云搜索引擎根据比较结果, 会在向云存储中心的比较请求队列中 增加一些虚假的比较请求, 以防止云存储中心从访问序列中推测出索引数据的顺序信息; 云搜索引擎在更新云存储中心存储的索引时, 双方都对索引数据进行混淆, 实现云搜索引 擎无法获取数据明文, 而云存储中心无法获知是哪个数据被提取到父。

35、结点中。 0150 因此, 本例采用上述同态密文索引方法和系统在云存储中, 可使云存储系统安全 高效地实现密文状态下的范围索引创建及动态更新, 具有以下优点: 0151 1、 解决了存储在云端的密文数据的快速索引问题, 用户无需参与到查询的中间过 说明书 12/16 页 17 CN 111478765 A 17 程, 而只需给出查询条件、 接收查询结果, 极大地降低了查询用户/终端的性能需求; 0152 2、 查询过程中索引系统在存储服务器和搜索服务器的交互下, 依靠局部的顺序信 息加速范围查询的处理过程, 最高能够达到对数级的搜索效率, 且只需要较小的索引存储 空间; 0153 3、 更新和。

36、查询过程中通过不同信任域的分割, 各个不被完全信任的实体只能获取 部分的敏感信息, 无法还原成用户的查询信息和存储的信息, 从而提高了云存储的安全性; 0154 4、 数据的存储及传输使用公私密钥对进行加密或解密, 阻止攻击者的非授权访 问, 保证了数据传输的安全性。 0155 更为具体的, 本例假设数据所有者Alice想要将某特征值分别为29、 12、 24、 18的用 户行为记录存储到云存储系统中, 供其它数据使用者检索, 如图7所示。 数据使用者Bob想要 检索该特征值处于16, 20范围内的行为记录, 如图8所示。 数据所有者Alice想要删除16, 29范围内的记录, 如图9所示 0。

37、156 插入实例的插入过程如图7所示。 0157 (1)、 数据所有者将特征值为29、 12、 24、 18的记录发送给私有云代理。 0158(2)、 私有云代理使用pk2加密: 0159(3)、 私有云代理将发送给云存储中心。 0160 (4)、 云存储中心索引树为空, 无需比较, 直接存储到根(叶)结点中, 并使用pk2加 密1产生的密文作为其序号1c, 得: (1c, 29c, info29)。 0161(5)、 私有云代理将发送给云存储中心。 0162 (6)、 云存储中心执行隐私比较, 得: -34c(12c-29c)2, 得到比较结果: (-34c, 1c)。 0163 (7)、 。

38、云存储中心对比较结果混淆, 增加一个正的虚假比较值20c, 得混淆后的比较 结果: (-34c, 2c)、 (20c, 1c), 发送给云搜索引擎。 0164 (8)、 云搜索引擎解密比较结果, 得到新增数据的顺序2, 同时更新原数据的顺序序 号为(3, 1), 将其使用pk2加密返回给云存储中心。 0165 (9)、 云存储中心去除混淆数据得新增数据的顺序1c和原数据顺序2c, 插入新数据 到该叶结点, 更新其它数据的序号, 得: (2c, 29c, info29), (1c, 12c, info12)。 0166(10)、 私有云代理将发送给云存储中心。 0167 (11)、 云存储中心执。

39、行隐私比较, 得: -15c(24c-29c)3、 24c(24c-12c)2, 得 到比较结果: (-15c, 2c)、 (24c, 1c)。 0168 (12)、 云存储中心对比较结果混淆, 增加一个负的混淆比较值-5c, 得混淆后的比 较结果: (-15c, 2c)、 (24c, 1c)、 (-5c, 3c), 发送给云搜索引擎。 0169 (13)、 云搜索引擎解密比较结果, 得到新增数据的顺序2, 同时更新原数据的顺序 序号为(3, 1, 4), 将其使用pk2加密返回给云存储中心。 0170 (14)、 云存储中心去除混淆数据得新增数据的顺序2c和原数据顺序3c, 1c, 插入新 。

40、数据到该叶结点, 更新其它数据的序号, 得: (3c, 29c, info29), (1c, 12c, info12), (2c, 24c, info24)。 0171 (15)、 私有云代理将18pk2发送给云存储中心。 0172 (16)、 云存储中心执行隐私比较, 得: -22c(18c-29c)2、 18c(18c-12c)3、 - 说明书 13/16 页 18 CN 111478765 A 18 12c(18c-24c)2, 得到比较结果(3c, -22c)、 (1c, 18c)、 (2c, -12c), 发送给云搜索引擎。 0173 (17)、 云搜索引擎解密比较结果, 得到新增数。

41、据的顺序2, 同时更新原数据的顺序 序号为(4, 1, 3), 将其使用pk2加密返回给云存储中心, 插入到该结点后, 得: (4c, 29c, info29), (1c, 12c, info12), (3c, 24c, info24)。 0174 (18)、 当前叶结点已满, 云存储中心随机地选择4个随机数, 并使用pk1和pk2加密, 得到:和 0175( 1 9 ) 、 对 索 引 值 进 行 混 淆 , 得 0176(20)、 云搜索引擎解密序号, 将其分为两个结点, 0:和 0177(21)、 云搜索引擎选取顺序为2的数据, 使用sk2对解密成18-6, 并使用 pk1加密成进行同态。

42、加法将其转换成 0178(22)、 选取一个随机数13, 使用pk1和pk2对其加密得:和对中值混淆得 0179(23)、 将结点分裂信息0:和 以及混淆后的中值发送给云存储中心。 0180 (24)、 云存储中心新建叶结点, 分裂原结点。 0181 (25)、 新建父结点作为索引树的根结点, 将最大值29c插入父结点, 得: (29c, 1c)。 0182(26)、 去除中值的混淆得插入到父结点: (29c, 2c), (18c, 1c)。 0183 (27)、 插入分裂的结点, 得(2, (2c, 29c), (1+0)c, addr0), (1c, 18c), (1+1)c, addr1。

43、)。 0184 本例查询实例的查询过程如图8所示。 0185 (1)、 数据使用者将查询范围16, 20发送给私有云代理。 0186 (2)、 私有云代理使用pk2加密得: 16c, 20c。 0187 (3)、 私有云代理将16c, 20c发送给云存储中心。 0188 (4)、 云存储中心执行隐私比较, 得: (-26c(16c-29c)2, -9c(20c-29c)1)、 (- 6c(16c-18c)3, 12c(20c-18c)6)。 0189 (5)、 云存储中心对比较结果混淆, 增加一对负的比较值, 得到混淆后的比较结果: (-26c, -9c)、 (-6c, 12c)、 (-26c。

44、, -8c), 同时增加一个虚假的3c结点。 0190 (6)、 将(-26c, -9c, 2c)、 (-6c, 12c, 1c)、 (-26c, -8c, 3c)发送给云搜索引擎。 0191 (7)、 云搜索引擎解密比较结果, 得到后续搜索的子结点: 2c和1c。 0192 (8)、 云搜索引擎向云存储中心请求查询范围与2c子结点的比较值。 0193 (9)、 云存储中心执行隐私比较, 得: (-13c(16c-29c)1, -18c(20c-29c)2)、 (-40c(16c-24c)5, -16c(20c-24c)4)。 0194 (10)、 因为当前是叶结点, 需向云搜索引擎发送记录信。

45、息。 选取两个随机值, r1和 r2, 使 用p k1对 其 加 密 得执 行得 说明书 14/16 页 19 CN 111478765 A 19 和 0195 (11)、 云存储中心对比较结果混淆, 增加一对正的比较值和一个假的info记录, 得 到混淆后的比较结果: 发送给云搜索引擎。 0196 (12)、 云搜索引擎解密比较值, 该结子无匹配记录。 0197 (13)、 云搜索引擎向云存储中心请求查询范围与1c子结点的比较值。 0198 (14)、 云存储中心执行隐私比较, 得: (8c(16c-12c)2, 40c(20c-12c)5)、 (- 10c(16c-18c)5, 6c(20。

46、c-18c)3)。 0199 (15)、 因为当前是叶结点, 需向云搜索引擎发送记录信息。 选取两个随机值, r3和 r4, 使 用p k1对 其 加 密 得执 行得 和 0200 (16)、 云存储中心对比较结果混淆, 增加一对负的比较值和一个假的info记录, 得 到混淆后的比较结果: 发送给云搜索引 擎。 0201(17)、 云搜索引擎解密比较值, 得匹配记录队列中没有待比较结点, 将匹配记录发送给私有云代理。 0202(18)、 私有云代理对解密得r4, 去除混淆:将info18返回给 数据使用者。 0203 本例删除实例的删除过程如图9所示。 0204 (1)、 用户将删除范围16,。

47、 29发送给私有云代理。 0205 (2)、 私有云代理使用pk2加密得: 16c, 29c。 0206 (3)、 私有云代理将16c, 29c发送给云存储中心。 0207 (4)、 云存储中心执行隐私比较, 得: (-26c(16c-29c)2, 0c(29c-29c)1)、 (- 6c(16c-18c)3, 66c(29c-18c)6)、 (-60c(16c-36c)3, -42c(29c-36c)6)。 0208 (5)、 将(-26c, 0c, 1c, 2c)、 (-6c, 66c, 3c, 1c)、 (-60c, -42c, 2c, 3c)发送给云搜索引擎。 0209 (6)、 云搜。

48、索引擎解密比较结果(-26, 0, 1, 2)、 (-6, 66, 3, 1)、 (-60, -42, 2, 3)。 0210 (7)、 云搜索引擎向云在中发送删除请求, 即顺序为1, 2的索引值和顺序为2的子 树。 0211 (8)、 云搜索引擎向云存储中心继续比较的请求, 即顺序为1, 3的子结点。 0212 (9)、 云存储中心对顺序为3的子结点执行隐私比较, 得: (-16c(16c-32c)1, - 21c(29c-32c)7)、 (-39c(16c-29c)3, 0c(29c-29c)11)、 (-40c(16c-36c)2, - 21c(29c-36c)3)。 0213 (10)。

49、、 将比较结果(-16c, -21c)、 (-39c, 0c)、 (-40c, -21c)和索引值顺序(2c, 1c, 3c)发 送给云搜索引擎。 0214 (11)、 云搜索引擎解密比较值, 得比较结果(-16, -21)、 (-39, 0)、 (-40, -21)和索引 值顺序(2, 1, 3)。 说明书 15/16 页 20 CN 111478765 A 20 0215 (12)、 云搜索引擎向云在中发送删除请求, 即顺序为1的索引值及对应记录。 0216(13)、 云搜索引擎更新删除后的索引值顺序: 0217 (14)、 云存储中心对顺序为1的子结点执行隐私比较, 得: (8c(16c。

50、-12c)2, 51c (29c-12c)3)、 (-6c(16c-18c)3, 55c(29c-18c)5)。 0218 (15)、 将比较结果(8c, 51c)、 (-6c, 55c)和索引值顺序(1c, 2c)发送给云搜索引擎。 0219 (16)、 云搜索引擎解密比较值, 得比较结果(8, 51)、 (-6, 55)和索引值顺序(1, 2)。 0220 (17)、 云搜索引擎向云在中发送删除请求, 即顺序为2的索引值及对应记录。 0221(18)、 云搜索引擎更新删除后的索引值顺序:并要求向父结点插入顺序为 1c的索引值。 0222 (19)、 云存储中心发送待插入索引值及其顺序12c。

展开阅读全文
内容关键字: 环境 同态 范围 索引 方法
关于本文
本文标题:云环境下的同态密文范围索引方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10577186.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1