本发明属于应用密码学中模糊检索密文检索,涉及一种模糊检索内积结构、安全检索系统、方法及设备,具体涉及一种可调整相似阈值的模糊检索密文方法及设备。
背景技术:
1、随着数字信息时代的发展,云存储为用户带来便利的同时,也带来了许多外包数据的安全性问题。明文数据存储在服务器上存在着很大的安全隐患,例如被泄露或篡改。通常采用的是加密存储敏感数据的方法,将用户需要存储的明文数据用密钥在本地进行加密,再上传至服务器存储,但这样加密存储方式又会牺牲数据的可用性,用户难以访问和检索所需数据。
2、为了实现加密云数据的搜索,密文检索技术被提出,既保证了用户数据的安全性又保证了可用性。最开始提出的密文检索方案都是对确定性关键词的查询,这在现实场景需求中有一定的局限性,不适用于关键词拼写错误或者相似数据查询的场景。后续也有模糊搜索方案提出支持查询容错,但是上述解决方案多是使用局部敏感哈希进行概率性映射,但这会存在假阳性和假阴性,导致返回结果并不总是用户需要的,且相似阈值不可调整。在实际情况下,用户应可以调整阈值,比如查询关键词长度短时应该使用较小的阈值,而在一些医学长词汇中,阈值应更大。并且用户也只希望获取自己需要的数据。
3、现有的一些模糊搜索方案可以调整阈值。有的方案对阈值进行预定义从而进行局部调整的,但会有阈值范围受限的局限性,且搜索令牌会随着阈值的变化而有较大的存储和计算开销。有的方案借助第三方服务器进行相似距离计算的,但会带来较大的计算开销,且不合谋服务器间有一定的安全隐患。上述的可调整阈值方案都没有实现动态更新。目前的设计不管在效率,还是功能安全性上都还有更大的进步空间。因此,该如何实现高效安全检索,并且模糊搜索中可调整阈值,这也是本领域迫切需要解决的问题。
技术实现思路
1、鉴于以上对于数据安全需求,效率可用性,密文模糊搜索等需求及上述传统方案的弊端,本发明提供了一种可调整相似阈值的模糊检索密文方法及设备。
2、本发明的方法所采用的技术方案是:一种可调整相似阈值的模糊检索密文方法,应用于可调整相似阈值的模糊检索密文系统中;所述系统参与实体包括数据拥有者和云存储服务器;
3、所述方法包括模糊匹配方法和动态安全密文检索方法;
4、所述模糊匹配方法:
5、在系统初始化阶段,生成安全参数n和公开参数n′,初始化生成密钥相关参数信息,包括随机矩阵m1,m2,随机向量s,p,随机置换π,并将公开参数提供给系统参与实体;
6、在关键词加密存储阶段,数据拥有者将关键词转换成词向量,再对词向量添加随机数α形成新的词向量vu,对词向量vu加密;
7、在关键词匹配阶段,数据拥有者对搜索关键词转换为词向量,添加阈值t和随机数β形成新的词向量vs,对词向量vs进行加密,发起关键词匹配请求后,云服务器计算匹配内积值ip并返回匹配结果。
8、作为优选,在系统初始化阶段,安全参数n∈n,公开参数n′∈n,且n′-n≥2;随机矩阵m1,m2∈rn′×n′,且都为可逆矩阵;随机比特向量其中si∈{0,1},1≤i≤n′;随机向量其中pj∈r,n+1≤i≤n′;随机置换π:rn′→rn′,→表示该集合中元素重新排列。
9、作为优选,为了实现搜索时对关键词汉明距离的计算,这里设计了新的词向量形式uni-pos-gram,再经过特定映射为数值词向量后,可在搜索时计算数值词向量间的内积从而得到关键词间的汉明距离;在关键词加密存储阶段,数据拥有者加密关键词w1时,将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v1;对数值词向量v1添加随机数α>0,生成新的词向量vu=(αv1,-α);以系统初始化获得的密钥对vu进行加密,获得加密词向量上传到云服务器进行存储。
10、作为优选,在关键词匹配阶段,数据拥有者先对查询关键词进行加密后再发送数据查询请求;对于查询的加密关键词w2和限定的相似阈值t,将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v2;对数值词向量添加阈值t和随机数β>0,生成新的词向量vs,令t′=540-4t,则vs=(βv2,βt′);以系统初始化获得的密钥对vs进行加密,获得加密词向量上传到云服务器进行查询;在获得查询请求后,云服务器对存储的所有加密词向量e(vu)依次与e(vs)进行计算获得ip=vu·vs,判断匹配是否成功,若ip值大于0,则可以得到关键词w1和w2之间的汉明距离在阈值t范围内,即hd(w1,w2)<t,表示匹配成功,返回1;否则返回0表示匹配不成功。
11、作为优选,所述动态安全密文检索方法:
12、在系统初始化阶段,输入安全参数λ,定义向量维度大小n1,n2,n′,关键词对称加密密钥k1,k2和文档对称加密密钥kid;
13、在密文索引更新阶段,数据拥有者对所有数据进行加密保护,对关键词-文档对(w,idw)进行处理,其中idw表示对包含关键词w的所有文档标识符id集合,使用kw=(k1,k2)对w加密得到索引密文数据的addr,使用kid对idw加密得到索引密文数据的value;云服务器根据接收到的数据信息执行更新过程;
14、在关键词搜索阶段,数据用户根据自身需要检索的关键词信息生成检索令牌token,并发送给云存储服务器;云存储服务器执行检索过程,并返回检索结果给数据用户;数据用户获得返回检索结果后进行解密,最终获得所有符合检索要求的明文id集合。
15、作为优选,在系统初始化阶段,输入安全参数λ∈n,生成对称加密密钥kid←{0,1}λ;初始化向量大小n1,n2,n′∈n,且n′-n1≥2,n′-n2≥2;生成关键词加密密钥k1=其中,随机矩阵m1,m2,m3,m4∈rn′×n′,且都为可逆矩阵;随机比特向量随机向量随机置换π1,π2:rn′→rn′;其中,→表示该集合中元素重新排列。初始化更新关键词的计数器cnt←0;其中,←表示赋值。
16、作为优选,在密文索引更新阶段,数据拥有者输入关键词-文档(w,idw)对,执行索引加密操作;为了实现搜索时对关键词汉明距离的计算,这里设计了新的词向量形式uni-pos-gram,再经过特定映射为数值词向量后,可在搜索时计算数值词向量间的内积从而得到关键词间的汉明距离;加密关键词w1的新文档时,先将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v1;更新计数器uc读取计数器cnt的值,并执行递增1操作,以实现前向安全,并定义f=-uc;关键词形成以下两种情况的词向量,并采用不同的随机数:α>0,γ>0;得到:vu1=(αv1,-α,1,f),vu2=(γv1,γv1f,-γ,-γf);以系统初始化获得的密钥分别对vu1,vu2进行加密,获得加密词向量和并定义addr←(e(vu1),e(vu2));加密idw时使用密钥kid执行对称加密算法得到value,数据拥有者将密文对(addr,value)发送给服务器;服务器接收到密文对后,添加到密文数据库edb中:edb[addr]←value。
17、作为优选,在关键词搜索阶段,搜索关键词w2时,先将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v2;搜索计数器sc读取计数器cnt的值,并执行递增1操作,以实现前向安全,并定义g=sc和t′=540-4t;其中,t表示搜索时关键词的相似阈值;关键词形成以下两种情况的词向量,并采用不同随机数:β>0,η>0,μ>0;得到vs1=(βv2,βt′,μg,μ),vs2=(ηv2g,ηv2,ηt′g,ηt′);以两个关键词密钥分别对vs1,vs2进行加密,获得加密词向量和数据用户将搜索令牌token=(e(vs1),e(vs2))发送给服务器,服务器接收后执行搜索,用token对每一个addr都进行内积运算,ip1为e(vu1)和e(vs1)的计算结果,ip2为e(vu2)和e(vs2)的计算结果,ip1=vu1·vs1,ip2=vu2·vs2;当且仅当ip1和ip2都大于0时,则有关键词w1和w2之间的汉明距离在阈值t范围内,即hd(w1,w2)<t,且sc-uc>0。返回对应的value值;最后数据用户使用kid解密,获得所有符合检索要求的明文id集合。
18、本发明的设备采用的技术方案是:一种可调整相似阈值的模糊检索密文设备,包括:
19、一个或多个处理器;
20、存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现所述的可调整相似阈值的模糊检索密文方法。
21、本发明相比现有技术,其优点和积极效果主要体现在以下几个方面:
22、(1)本发明提出了一种可调整关键词相似阈值的模糊匹配方法,该方法设计了与汉明距离相关的词向量uni-pos-gram,从而能嵌入阈值,避免了因阈值增加而引发递增的存储,实现了与阈值无关的存储开销;在信息存储和检索过程中通过对词向量采用内积加密算法,进一步提高了密文数据计算搜索返回效率。
23、(2)本发明提供的一种动态安全密文检索方法,该方法通过关键词向量中引入随机数,解决了地址冲突,实现动态数据可更新;设计基于内积计算实现的数学运算式,并嵌入阈值、计数器这类数值信息,更新和检索过程更新计数器,实现了检索过程的前向安全,提高了系统安全性。
1.一种可调整相似阈值的模糊检索密文方法,应用于可调整相似阈值的模糊检索密文系统中;所述系统参与实体包括数据拥有者和云存储服务器;其特征在于:所述方法包括模糊匹配方法和动态安全密文检索方法;
2.根据权利要求1所述的可调整相似阈值的模糊检索密文方法,其特征在于:在系统初始化阶段,安全参数n∈n,公开参数n′∈n,且n′-n≥2;随机矩阵m1,m2∈rn′×n′,且都为可逆矩阵;随机比特向量其中si∈{0,1},1≤i≤n′;随机向量其中pj∈r,n+1≤i≤n′;随机置换π:rn′→rn′,→表示该集合中元素重新排列。
3.根据权利要求1所述的可调整相似阈值的模糊检索密文方法,其特征在于:在关键词加密存储阶段,数据拥有者加密关键词w1时,将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v1;对数值词向量v1添加随机数α>0,生成新的词向量vu=(αv1,-α);以系统初始化获得的密钥对vu进行加密,获得加密词向量上传到云服务器进行存储。
4.根据权利要求1-3任一项所述的可调整相似阈值的模糊检索密文方法,其特征在于:在关键词匹配阶段,数据拥有者先对查询关键词进行加密后再发送数据查询请求;对于查询的加密关键词w2和限定的相似阈值t,先将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v2;对数值词向量添加阈值t和随机数β>0,生成新的词向量vs,令t′=540-4t,则vs=(βv2,βt′);以系统初始化获得的密钥对vs进行加密,获得加密词向量上传到云服务器进行查询;在获得查询请求后,云服务器对存储的所有加密词向量e(vu)依次与e(vs)进行计算获得ip=vu·vs,判断匹配是否成功,若ip值大于0,则得到关键词w1和w2之间的汉明距离在阈值t范围内,即hd(w1,w2)<t,表示匹配成功,返回1;否则返回0表示匹配不成功。
5.根据权利要求1所述的可调整相似阈值的模糊检索密文方法,其特征在于,所述动态安全密文检索方法:
6.根据权利要求5所述的可调整相似阈值的模糊检索密文方法,其特征在于:在系统初始化阶段,输入安全参数λ∈n,生成对称加密密钥kid←{0,1}λ;初始化向量大小n1,n2,n′∈n,且n′-n1≥2,n′-n2≥2;生成关键词加密密钥其中,随机矩阵m1,m2,m3,m4∈rn′×n′,且都为可逆矩阵;随机比特向量随机向量随机置换π1,π2:rn′→rn′;其中,→表示该集合中元素重新排列;初始化更新关键词的计数器cnt←0;其中,←表示赋值。
7.根据权利要求6所述的可调整相似阈值的模糊检索密文方法,其特征在于:在密文索引更新阶段,数据拥有者输入关键词-文档(w,idw)对,执行索引加密操作;加密关键词w1的新文档时,先将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v1;更新计数器uc读取计数器cnt的值,并执行递增1操作,以实现前向安全,并定义f=-uc;关键词形成以下两种情况的词向量,并采用不同的随机数:α>0,γ>0;得到:vu1=(αv1,-α,1,f),vu2=(γv1,γv1f,-γ,-γf);以系统初始化获得的密钥分别对vu1,vu2进行加密,获得加密词向量和并定义addr←(e(vu1),e(vu2));加密idw时使用密钥kid执行对称加密算法得到value,数据拥有者将密文对(addr,value)发送给服务器;服务器接收到密文对后,添加到密文数据库edb中:edb[addr]←value。
8.根据权利要求7所述的可调整相似阈值的模糊检索密文方法,其特征在于:在关键词搜索阶段,搜索关键词w2时,先将关键词转换成包含每个字母和位置信息的词向量uni-pos-gram形式,再以包含元素为1,不包含元素为-1的原则映射到长度为540的数值词向量v2;搜索计数器sc读取计数器cnt的值,并执行递增1操作,以实现前向安全,并定义g=sc和t′=540-4t;其中,t表示搜索时关键词间的相似阈值;关键词形成以下两种情况的词向量,并采用不同随机数:β>0,η>0,μ>0;得到vs1=(βv2,βt′,μg,μ),vs2=(ηv2g,ηv2,ηt′g,ηt′);以两个关键词密钥分别对vs1,vs2进行加密,获得加密词向量和数据用户将搜索令牌token=(e(vs1),e(vs2))发送给服务器,服务器接收后执行搜索,用token对每一个addr都进行内积运算,ip1为e(vu1)和e(vs1)的计算结果,ip2为e(vu2)和e(vs2)的计算结果,ip1=vu1·vs1,ip2=vu2·vs2;当且仅当ip1和ip2都大于0时,则有关键词w1和w2之间的汉明距离在阈值t范围内,即hd(w1,w2)<t,且sc-uc>0;返回对应的value值;最后数据用户使用kid解密,获得所有符合检索要求的明文id集合。
9.一种可调整相似阈值的模糊检索密文设备,其特征在于,包括: