首页> 中国专利> 一种前后向安全且具有可恢复关键字屏蔽的加密方法

一种前后向安全且具有可恢复关键字屏蔽的加密方法

摘要

一种前后向安全且具有可恢复关键字屏蔽的加密方法,通过单向陷门置换实现前向安全和可恢复关键字屏蔽:利用单向陷门置换在数据拥有者端生成更新的搜索令牌STc+1,在搜索过程中,云服务器能够根据陷门排列的公钥和STc+1将搜索令牌从ST0推导出到STc,但在没有密钥的情况下,无法根据STc计算STc+1;通过可穿刺加密实现后向安全:使用伪随机函数为每个索引生成一个标签,并使用可穿刺加密对带有标签的索引进行再次加密;当关键字/文件对被删除时,数据拥有者会穿刺公钥加密的密钥,云服务器修改相应的标签,因此,云服务器无法解密关键字/文件对。本发明在实现功能的同时能够减少本地存储空间的占用。

著录项

  • 公开/公告号CN112311781A

    专利类型发明专利

  • 公开/公告日2021-02-02

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN202011148615.0

  • 申请日2020-10-23

  • 分类号H04L29/06(20060101);H04L9/32(20060101);H04L9/08(20060101);H04L29/08(20060101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人房鑫

  • 地址 710071 陕西省西安市雁塔区太白南路2号

  • 入库时间 2023-06-19 09:46:20

说明书

技术领域

本发明属于数据加密领域,具体为一种前后向安全且具有可恢复关键字屏蔽的加密方法。

背景技术

如果更新查询不会泄漏正在更新的关键字/文档对中涉及哪些之前存储的关键字,则称动态可搜索对称加密方案是前向安全的(或称为前向隐私)。特别是,云服务器无法知道更新的文档是否与之前查询的关键字匹配。如果每当关键字/文档对(w,ind)被添加到数据库中之后删除时,w上的后续搜索查询不会显示该ind,则DSSE方案就是后向安全的(或称为后向隐私)。现有的前后向隐私保护技术会占用过多本地存储空间,并且不支持可恢复性关键字屏蔽,这样一旦被支持后向安全的动态可搜索加密方案删除,即无法恢复。

发明内容

本发明针对现有技术中前后向隐私保护技术占用过多本地存储空间且不支持可恢复性关键字屏蔽的问题,提供一种前后向安全且具有可恢复关键字屏蔽的加密方法,减少本地存储空间的占用,利用穿刺技术实现后向安全,利用陷门置换实现前向安全和可恢复关键字屏蔽。

为了实现上述目的,本发明的加密方法有如下的技术方案:

通过单向陷门置换实现前向安全和可恢复关键字屏蔽:利用单向陷门置换在数据拥有者端生成更新的搜索令牌ST

通过可穿刺加密实现后向安全:使用伪随机函数为每个索引生成一个标签,并使用可穿刺加密对带有标签的索引进行再次加密;当关键字/文件对被删除时,数据拥有者会穿刺公钥加密的密钥,云服务器修改相应的标签,因此,云服务器无法解密关键字/文件对。

在本发明前后向安全且具有可恢复关键字屏蔽的加密方法的一种优选实施例当中:

如果数据拥有者只是想暂时屏蔽一个关键字,那么不通过可穿刺加密实现后向安全,而是,数据拥有者使用单向陷门置换来加密云服务器上的关键字,使数据使用者不能发出有效的搜索查询;当数据拥有者想解除对关键字的屏蔽时,在云服务器上解密该关键字即可。

在本发明前后向安全且具有可恢复关键字屏蔽的加密方法的一种优选实施例当中:

设置阶段操作如下:将文件分割成词序列,将每个文件转换成基于词序列的数据流,在输入安全参数λ时,生成伪随机函数F的密钥K、陷门置换的公共密钥对(PK,SK),以及用于存储密钥、计数器信息和关键字对应搜索令牌的空表W,输出伪随机函数F

在本发明前后向安全且具有可恢复关键字屏蔽的加密方法的一种优选实施例当中:

搜索阶段操作如下:根据要查询的关键字w和伪随机函数的密钥K计算K

在本发明前后向安全且具有可恢复关键字屏蔽的加密方法的一种优选实施例当中:

更新阶段的操作如下:首先,数据拥有者需要确定是执行添加还是删除操作;

如果添加关键字/文件ID对w/ind,首先根据关键字w和伪随机函数的密钥K计算K

如果删除关键字/文件ID对w/ind;首先根据w/ind和密钥K

在本发明前后向安全且具有可恢复关键字屏蔽的加密方法的一种优选实施例当中:

屏蔽阶段的操作如下:首先,数据拥有者初始化屏蔽计数器sc为0,并在进行关键字屏蔽或关键字取消屏蔽时将计数器增加1,在计数器sc mod 2=1时执行关键字屏蔽,从而生成新的屏蔽搜索令牌SST;数据拥有者只存储最新的屏蔽搜索令牌和屏蔽计数器sc;密钥K

相较于现有技术,本发明具有如下的有益效果:

利用单向陷门置换将所有搜索令牌集成到最后一个搜索令牌上,大大的减少了本地存储空间。穿刺性加密方案中有一个问题,即随着穿刺次数的增加,被穿刺的私钥占用空间会变得非常大,将完整的私钥保存在本地中非常不切实际。因此本发明采用可以称为增量穿刺的附加功能。观察穿刺性加密方案中私钥的穿刺过程,可以发现,从SK

附图说明

图1本发明实施例针对应用的系统模型示意图;

图2本发明所采用的陷门置换方法原理示意图;

图3倒排索引结构示意图;

图4树的更新操作过程示意图;

图5本发明的整体操作方法流程图。

具体实施方式

下面结合附图以及实施例对本发明做进一步的详细说明。

本发明涉及单向陷门置换实现前向安全性和关键词屏蔽。例如,对于某个关键字w

本发明加密方法的后向安全是通过使用可穿刺加密来实现的。对于每个关键字/文件对,FB-AKS使用伪随机函数为每个索引生成一个标签,并使用可穿刺加密对带有标签的索引进行再次加密。当关键字/文件对被删除时,数据拥有者会穿刺公钥加密的密钥,云服务器修改相应的标签。因此,云服务器无法解密关键字/文件对。如果数据拥有者只是想暂时屏蔽一个关键字,那么不需要在这里使用可穿刺加密。可以就像前向安全的方式一样,数据拥有者使用陷门置换来加密云服务器上的关键字,这样数据使用者就不能发出有效的搜索查询。每当数据拥有者想解除对关键字的屏蔽时,就在云服务器上解密该关键字。

参见图1,以基于物联网的医疗可穿戴设备云为例,系统由三个实体构成:可信的数据拥有者与数据使用者,半可信的云服务器。数据拥有者对云服务器增删密文索引,屏蔽(恢复)关键字,对数据使用者分派密钥。数据使用者对数据拥有者申请密钥,对云服务器发出查询请求。云服务器返回搜索结果给数据使用者。

数据拥有者既是病人又是健康监护系统的监督者。佩戴物联网传感器来收集人体生理参数,并将其发送给云服务器。生成公钥和私钥对健康信息进行本地加密,生成与加密的健康信息相关联的令牌,然后将密文和令牌添加到云服务器或随意删除。另外,数据拥有者可以屏蔽一个关键字,这样数据使用者就无法访问它,然后取消对该关键字的屏蔽。数据用户。数据使用者是那些要求获取体表生理参数的医生。数据使用者向数据拥有者请求秘密密钥,为查询到的关键字生成陷门,并将陷门发送给云服务器,对云服务器返回的加密健康信息进行解密。这些健康信息由数据使用者进行汇总和分析。云服务器具有无限的计算和存储资源,负责存储加密的健康信息和相应的索引。当云服务器接收到查询令牌时,云服务器将查询令牌与索引进行匹配,并将匹配的搜索结果返回给数据使用者。

参见图5,本发明的具体实现步骤如下:

步骤一,系统初始化;

采集患者身体生理参数数据集,该数据集包含多条记录d,每条数据d={v1,…,Vj…,Vn}由n维构成,V

K,K

步骤2,数据加密和索引建立;

(I,C)=Encrypt(K,D)

数据拥有者利用对称密钥采用传统加密算法AES对数据集D进行加密,得到密文集C和索引I;数据拥有者采用传统树形结构为数据集D建立明文索引结构,传统树形结构包括B+树,B树和二叉树,本实例采用但不限于倒排二叉树树结构建立明文索引结构,并将其加密成加密索引I;数据拥有者保存明文索引结构并将密文索引结构I和密文集C发送给云服务器。

步骤3,密钥申请;

合法的数据使用者向数据拥有者申请密钥SK;

数据拥有者确认身份后给与密钥SK于数据使用者;

步骤4,密文查询;

合法的数据使用者给定查询请求Q

ST=(K,Q)

合法的数据使用者利用密钥SK并利用传统加密算法对查询请求Q进行加密,得到陷门ST;

数据使用者将陷门值ST,数据表位置LQ发送给云服务器;

云服务器根据数据表位置LQ得到密文数据表;判断该密文是否在云服务器上,如果有匹配,返回结果给数据使用者,如果没有匹配,则返回空;

步骤五,解密;

用户使用密钥SK解密返回的密文文件C

D(W)=Decrypt(SK,C)

步骤六:首先,数据拥有者需要确定是执行添加还是删除操作。

添加关键字/文件ID对w/ind见图。首先,数据拥有者根据关键字w和伪随机函数的密钥K计算K

删除关键字/文件ID对w/ind。首先,数据拥有者根据w/ind和密钥K

e是要删除的w/ind对的加密结果。在接收(e,p,sk

屏蔽阶段:给出了搜索阶段的形式化描述。这个阶段需要数据拥有者、数据使用者和云服务器一起参与。首先,数据拥有者初始化屏蔽计数器sc为0,并在进行关键字屏蔽或关键字取消屏蔽时将计数器增加1。数据拥有者可以在计数器sc mod 2=1时执行关键字屏蔽,从而生成新的屏蔽搜索令牌(SST)。数据拥有者只存储最新的屏蔽搜索令牌和屏蔽计数器sc。密钥K

参见图2,陷门置换π是集合D上的单向置换。使用公钥PK,π可以很容易地计算,但是如果没有密钥SK,则无法计算其逆π

参见图4,树的更新操作过程如下:假设现在有一个新增的关键字m,则需要对树做更新操作。此时根据树中节点的情况分为三种情况:

1、树为一棵空树。则新建一个节点,将此节点设置为树的根节点,并把该节点的值赋为0。

2、树中存在虚节点。也就等于此时树中叶子节点的个数多于关键字的个数,则只需要将最左边的虚节点改为实节点即可。

3、若此时树中全部的叶子节点都为实节点,也就是树中叶子节点的个数刚好等于关键字的个数,则在新增关键字时,需要新建一棵树。复制旧的完美二叉树,得到新的同样的完美二叉树;根据系统中存储的计数器cn的值,将其加2后,对新得到的完美二叉树执行TreeAssign赋值操作;新建一个节点作为新的根节点,将该节点的值赋为cn+1;将旧的二叉树作为该节点的左子树,复制后的二叉树该节点的右子树。从而得到了一棵新的赋值后完美二叉树。该完美二叉树的右子树部分只有一个实的叶子节点,其余叶子节点为虚节点。

表1

在表1中w代表关键字;数字代表关键字标号;

ST代表搜索令牌;c代表计数器;PPK穿刺公钥;sk代表私钥;SST屏蔽用搜索令牌;

sc代表屏蔽用计数器;SPK代表屏蔽用穿刺公钥;ssk代表屏蔽用私钥。

以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均属于权利要求书所涵盖的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号