可搜索加密方法、系统、存储介质、车载网、智能电网与流程

文档序号:21888487发布日期:2020-08-18 17:35阅读:135来源:国知局
本发明属于无线通信网络安全
技术领域
:,尤其涉及一种可搜索加密方法、系统、存储介质、车载网、智能电网。
背景技术
::目前,伴随着移动计算与无线网通信的高速发展,车载网、智能电网等众多新兴网络在存储和计算资源上的应用都受到了一定程度上的限制,计算的高速发展极大的推动了对资源管理能力有限的实体将数据外包至云服务器,传统上,数据所有者将数据加密并将其外包到云服务器。对明文的加密虽然能保证数据的机密性,但它为数据查询使用带来了较大的开销,因为这些操作仅适用于明文而并不适用于密文。如果云服务器将密文数据返回给用户处理,显然会增加用户的计算开销和网络开销,违背了云计算的初衷。故研究适用于密文数据的处理技术就显得尤为重要。可搜索加密(searchableencryption)是近年来发展较快的一种密文检索技术,该方案不仅支持用户在密文域上进行搜索,同时还能保证数据的安全性。因此,可搜索加密技术能在有效保护数据安全的同时,方便地实现数据的查询,适合云存储环境下数据量大且云服务器半可信的场景。可搜索加密一般涉及三个实体,分别是数据拥有者、可信赖用户、云服务器。根据应用模式将可搜索加密的应用模式分为单用户服务器模型,多对一服务器模型,一对多服务器模型,多对多服务器模型。从密码学角度可将上述多种模式的解决策略分为以下三类:对称可搜索加密,非对称可搜索加密,对称与非对称可搜索加密模式结合。通过上述分析,现有技术存在的问题及缺陷为:(1)目前密文的搜索语句并不灵活,从而支持的搜索效率较低。(2)目前不同的需求结合方案的不同表达能力,这需要定义不同的安全级别去保护隐私。(3)目前部分方案索引结构完整复杂,使得索引的更新与删除较为困难。解决以上问题及缺陷的难度为:(1)在保证安全性的前提下提高多关键字模糊匹配的准确度与准确度是一个较大的难点;(2)云服务器上存储的是加密后的海量数据,在保证不泄密的情况下完成索引的快速更新变得极为困难。解决以上问题及缺陷的意义为:使用新颖的算法去解决索引安全检索与高效更新,提出一种高效安全的可搜索加密方法具有重要意义。技术实现要素:针对现有技术存在的问题,本发明提供了一种可搜索加密方法、系统、存储介质、车载网、智能电网。本发明是这样实现的,一种可搜索加密方法,所述可搜索加密方法利用对偶编码函数对关键词向量化,再利用位置敏感hash函数的特性去构造s-hashmap安全索引,保证索引上单节点单关键字;使用欧氏距离来测量关键词之间的相似性,查询前会生成初次查询位置;同时引入容错值实现模糊匹配,采用积分制对每个查询关键字的搜索结果进行汇总整理,获得匹配程度最高的top-k个文件。进一步,所述可搜索加密方法包括:第一步,初始化系统,生成安全参数,包括一个向量和两个可逆矩阵;第二步,对文件集构建安全索引,再对文件明文使用aes算法进行加密,将加密后的文件与安全索引一起外包给云服务器;第三步,搜索加密文件,从数据所有者处获得陷门,即搜索关键字的加密版本,并向云服务器提交此检索请求;第四步,云服务器接收到查询请求后,根据初次查询地址定位索引相关位置,在安全索引上进行计算,执行检索算法;第五步,结果输出优化:云服务器根据用户要求设置容错值,并对检索结果进行排序,并将匹配程度最高的k个文件作为检索结果返回;第六步,根据自身需求,对云服务器上的索引与文件进行更新。进一步,所述第一步初始化系统包括:选定参数m,产生秘钥sk=(s,m1,m2),其中m1,m2∈rm×m是随机构建的m阶可逆矩阵,s为长度为m的向量,且s∈{0,1}m;所述第二步的索引构建与加密包括:1)对文件集合f={f1,f2,...,fn}中每个文件fi,提取其关键字集合,每个文件关键字数目随机,对每个文件关键词附上文件编号,两两比较每一组关键词,两关键字完全相同,则选择第一关键字,将第二关键字上的文件编号信息添加到第一关键字上,删除第二关键字,如此循环执行;2)由整理好的关键字集合w={w1,w2,...,wα},对任意关键字wi,采用对偶编码函数将wi转化为数组vi∈{0,1}m,则有v={v1,v2,...,va},从p-stablelsh函数族中选取k个hash函数h1,h2,...,hk对关键字计算出k个hash值:h1,h2,...,hk,并计算nh=h1×r1+h2×r2+...+hk×rk;在计算出所有关键词的nh值后,根据nh值从小到大将关键词排序,并将nh值区间均分,数目等于数组长度,每一个区间内的关键词对应为该区间桶内的节点,最后统计,桶中元素数目大于等于8,利用桶中元素的nh建立红黑树,并保持树平衡;3)对节点中每个节点加密,采用knn安全内积算法对索引进行加密和陷门生成,将私钥中s表示为si={s1,s2,...,sm},vi与s有相同长度,vi={x1,x2,...,xm},选择随机数r,则加密规则如下:当sj=1,xj′=xj″=xj;当sj=0,xi′=(x1′,x2′,...,xm′),xi″=(x1″,x2″,...,xm″);计算得ii′=m1t·xi′,ii″=m2t·xi″至此,将节点中的vi更新,得到加密后的索引,节点表达形式为di(ii,σ);4)用aes加密算法加密文件明文,与加密后的索引一起外包给云服务器。进一步,所述第三步的检索陷门生成包括:1)将待搜索语句初步处理,提取有效词组作为搜索关键词,得到待搜索关键词集合q={q1,q2,...,qβ};2)使用对偶编码函数将关键字集合转换为向量集合h={v1,v2,...,vβ},且有hi∈{0,1}m;3)对每个查询向量,计算该向量的模长|vi|,从p-stablelsh函数族中选取与加密过程相同的k个hash函数,对关键字计算出k个hash值h1,h2,...,hk,并计算nh=h1×r1+h2×r2+...+hk×rk,将nh值作为查询向量初次查询地址;4)将私钥中s表示为s=(s1,s2,...,sm),选择关键字r′,对每个关键字v={y1,y2,...,ym},当sj=0时,yj′=yj″=yj;当sj=1时,yi′=(y1′,y2′,...,ym′),yi″=(y1′,y2′,...,ym′)。计算ti′=m1-1·yi′,ti″=m2-1·yi″则每个关键字陷门为ti=(ti′,ti″),最后输出该查询陷门为t=(t1,t2,...,tβ)。进一步,所述第四步云服务器执行检索算法包括:1)利用关键字初次查询地址集合t,开始定位查询,对每个关键字,使用经过修饰的内积运算法则计算ii=(ii′,ii″)和ti=(ti′,ti″),即r=ii·ti=ii′·ti′+ii″·ti″,令m=r-|vi|,m越小,证明匹配程度越高;2)搜索过程中采用广度优先遍历,迅速遍历桶中二叉树每个节点,用以快速准确的得到搜索结果;3)检索除初次定位的桶前后的两个桶内第一个节点,如果匹配度优于初始桶内输出的结果,则遍历该桶内所有节点,更新输出结果集。进一步,所述第五步的结果输出优化包括:1)因为m可代表关键词的匹配程度,m=0证明节点与关键词完全匹配为了保证输出结果的精确性,ε为容错值,当|m|≤ε则可输出该节点对应的文件,实现模糊搜索,当ε→0,实现精确搜索;2)读取每一个关键字节点附着的所有文件信息σ,将此关键字节点与搜索向量的内积记为该文件在此搜索向量的得分,统计不同搜索向量得到的不同文件与得分,重复文件则分数累加,最后输出得分最高的前k个文件;所述第六步的索引更新包括:1)提取文件σ的关键词,与检索陷门生成过程相同,将某一待更新关键词转换向量w,并计算w的nh值与向量模长(nh,|w|,σ),将(nh,|w|,σ)与加密后的关键词上传至云服务器;2)云服务器根据nh值定位到待更新关键词w应在的桶,该桶内节点较多,已生成红黑树,计算w与桶内第一个节点的内积r,令m=r-|vi|,当m=0,则完全匹配,更新此节点的文件编号,若m≠0,则向下遍历,如果该节点值计算结果与模长之差小于m,则把当前节点的左子节点设置为当前节点,如果该值大于m,则把当前节点的右子节点设置为当前节点,重复该过程,直到遍历到该红黑树的叶子节点,则在保证红黑树的平衡下添加新节点。本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行权利要求任意一项所述包括下列步骤:利用对偶编码函数对关键词向量化,再利用位置敏感hash函数的特性去构造s-hashmap安全索引,保证索引上单节点单关键字;使用欧氏距离来测量关键词之间的相似性,查询前会生成初次查询位置;同时引入容错值实现模糊匹配,采用积分制对每个查询关键字的搜索结果进行汇总整理,获得匹配程度最高的top-k个文件。本发明的另一目的在于提供一种实施所述可搜索加密方法的可搜索加密系统,所述可搜索加密系统包括:初始化模块,用于初始化系统,生成安全参数;安全索引构建模块,用于对文件集构建安全索引,再对文件明文使用aes算法进行加密,将加密后的文件与安全索引一起外包给云服务器;搜索加密文件模块,用于从数据所有者处获得陷门,搜索关键字的“加密”版本,向云服务器提交此检索请求;查询请求处理模块,用于根据初次查询地址定位索引相关位置,在安全索引上进行计算,执行检索算法;检索结果处理模块,用于实现云服务器根据用户要求设置容错值,并对检索结果进行排序,并将匹配程度最高的k个文件作为检索结果返回;索引与文件更新模块,用于根据自身需求,对云服务器上的索引与文件进行更新。本发明的另一目的在于提供一种车联网密文数据处理方法,所述车联网密文数据处理方法实施所述的可搜索加密方法。本发明的另一目的在于提供一种智能电网密文数据处理方法,其特征在于,所述智能电网密文数据处理方法实施所述的可搜索加密方法。结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明利用对偶编码函数对关键词向量化,再利用位置敏感hash函数的特性去构造s-hashmap安全索引,保证索引上单节点单关键字以减小搜索复杂度,并提高更新效率。本发明使用欧氏距离来测量关键词之间的相似性,查询前会生成初次查询位置,大幅度提高检索效率。同时引入容错值实现模糊匹配,采用积分制对每个查询关键字的搜索结果进行汇总整理,最后获得匹配程度最高的top-k个文件。本发明不仅消除了预定义词典的必要性,还在不增加索引尺寸和搜索复杂度的前提下实现高效的多关键字模糊搜索与实时更新。本发明利用了新的索引结构s-hashmap解决云环境下对数据高效安全的检索与更新。本发明针对云环境下的数据管理研究,着眼于数据检索更新的高效安全,设计支持多关键字模糊检索的可搜索加密方案,以实现安全的,高效的数据查询与更新。附图说明图1是本发明实施例提供的可搜索加密方法的流程图。图2是本发明实施例提供的可搜索加密系统的结构示意图;图中:1、初始化模块;2、安全索引构建模块;3、搜索加密文件模块;4、查询请求处理模块;5、检索结果处理模块;6、索引与文件更新模块。图3是本发明实施例提供的可搜索加密方法的实现流程图。图4是本发明实施例提供的支持多关键字模糊检索的可搜索加密方法的结构示意图。图5是本发明实施例提供的s-hashmap索引结构示意图。图6是本发明实施例提供的索引时间测试对比示意图。图7是本发明实施例提供的陷门生成时间测试对比示意图。图8是本发明实施例提供的测试的总文件数为1000,每个文件关键词数目为15的检索时间对比示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对现有技术存在的问题,本发明提供了一种可搜索加密方法、系统、存储介质、车载网、智能电网,下面结合附图对本发明作详细的描述。如图1所示,本发明提供的可搜索加密方法包括以下步骤:s101:初始化系统:数据所有者a初始化系统,生成安全参数,包括一个向量和两个可逆矩阵;s102:索引构建与加密:数据所有者a对文件集构建安全索引,再对文件明文使用aes算法进行加密,然后将加密后的文件与安全索引一起外包给云服务器;s103:检索陷门生成:授权用户b要搜索加密文件,首先从数据所有者处获得陷门,即搜索关键字的“加密”版本,并向云服务器提交此检索请求;s104:云服务器执行检索算法:云服务器接收到查询请求后,根据初次查询地址定位索引相关位置,在安全索引上进行计算,执行检索算法;s105:结果输出优化:云服务器根据用户要求设置容错值,并对检索结果进行排序,并将匹配程度最高的k个文件作为检索结果返回给授权用户b;s106:索引更新:数据拥有者a根据自身需求,对云服务器上的索引与文件进行更新。如图2所示,本发明提供的可搜索加密系统包括:初始化模块1,用于初始化系统,生成安全参数。安全索引构建模块2,用于对文件集构建安全索引,再对文件明文使用aes算法进行加密,将加密后的文件与安全索引一起外包给云服务器。搜索加密文件模块3,用于从数据所有者处获得陷门,搜索关键字的“加密”版本,向云服务器提交此检索请求。查询请求处理模块4,用于根据初次查询地址定位索引相关位置,在安全索引上进行计算,执行检索算法。检索结果处理模块5,用于实现云服务器根据用户要求设置容错值,并对检索结果进行排序,并将匹配程度最高的k个文件作为检索结果返回。索引与文件更新模块6,用于根据自身需求,对云服务器上的索引与文件进行更新。下面结合附图对本发明的技术方案作进一步的描述。如图3所示,本发明实施例提供的支持多关键字模糊检索的可搜索加密系统包括如下步骤:步骤一:系统初始化。数据所有者a选定参数m,产生秘钥sk=(s,m1,m2),其中m1,m2∈rm×m是随机构建的m阶可逆矩阵,s为长度为m的向量,且s∈{0,1}m。步骤二:索引构建与加密。2.1)对文件集合f={f1,f2,...,fn}中每个文件fi,提取其关键字集合,每个文件关键字数目随机,对每个文件关键词附上文件编号,两两比较每一组关键词,两关键字完全相同,则选择关键字a,将b关键字上的文件编号信息添加到a上,删除b关键字,如此循环执行。2.2)由整理好的关键字集合w={w1,w2,...,wα},对任意关键字wi,采用对偶编码函数将wi转化为数组vi∈{0,1}m,则有v={v1,v2,...,va},从p-stablelsh函数族中选取k个hash函数h1,h2,...,hk对关键字计算出k个hash值:h1,h2,...,hk,并计算nh=h1×r1+h2×r2+...+hk×rk。在计算出所有关键词的nh值后,根据nh值从小到大将关键词排序,并将nh值区间均分,数目等于数组长度,每一个区间内的关键词对应为该区间桶内的节点,最后统计,桶中元素数目大于等于8,利用桶中元素的nh建立红黑树,并保持树平衡。2.3)对节点中每个节点加密,本发明采用了knn安全内积算法对索引进行加密和陷门生成。将私钥中s表示为si={s1,s2,...,sm},因为vi与s有相同长度,设vi={x1,x2,...,xm},选择随机数r,则加密规则如下:当sj=1,xj′=xj″=xj;当sj=0,令:xi′=(x1′,x2′,...,xm′),xi″=(x1″,x2″,...,xm″)。计算得ii′=m1t·xi′,ii″=m2t·xi″至此,可将节点中的vi更新,即可得到加密后的索引,节点表达形式为di(ii,σ)。2.4)用aes加密算法加密文件明文,与加密后的索引一起外包给云服务器。步骤三:检索陷门生成。3.1)将待搜索语句初步处理,提取有效词组作为搜索关键词,得到待搜索关键词集合q={q1,q2,...,qβ}。3.2)使用对偶编码函数将关键字集合转换为向量集合h={v1,v2,...,vβ},且有hi∈{0,1}m。3.3)对每个查询向量,计算该向量的模长|vi|,从p-stablelsh函数族中选取与加密过程相同的k个hash函数,对关键字计算出k个hash值h1,h2,...,hk,并计算nh=h1×r1+h2×r2+...+hk×rk,将nh值作为查询向量初次查询地址。3.4)将私钥中s表示为s=(s1,s2,...,sm),选择关键字r′,对每个关键字v={y1,y2,...,ym},当sj=0时,yj′=yj″=yj;当sj=1时,令:yi′=(y1′,y2′,...,ym′),yi″=(y1′,y2′,...,ym′)。计算ti′=m1-1·yi′,ti″=m2-1·yi″则每个关键字陷门为ti=(ti′,ti″),最后输出该查询陷门为t=(t1,t2,...,tβ)。步骤四:云服务器执行检索算法。4.1)利用关键字初次查询地址集合t,开始定位查询,对每个关键字,使用经过修饰的内积运算法则计算ii=(ii′,ii″)和ti=(ti′,ti″),即r=ii·ti=ii′·ti′+ii″·ti″,令m=r-|vi|,m越小,证明匹配程度越高。4.2)搜索过程中采用广度优先遍历,迅速遍历桶中二叉树每个节点,用以快速准确的得到搜索结果。4.3)检索除初次定位的桶前后的两个桶内第一个节点,如果匹配度优于初始桶内输出的结果,则遍历该桶内所有节点,更新输出结果集。步骤五:结果输出优化。5.1)因为m可代表关键词的匹配程度,m=0证明节点与关键词完全匹配为了保证输出结果的精确性,设定ε为容错值,当|m|≤ε则可输出该节点对应的文件,实现模糊搜索,当ε→0,即实现精确搜索。5.2)读取每一个关键字节点附着的所有文件信息σ,将此关键字节点与搜索向量的内积记为该文件在此搜索向量的得分,统计不同搜索向量得到的不同文件与得分,重复文件则分数累加,最后输出得分最高的前k个文件。步骤六:索引更新。6.1)提取文件σ的关键词,与检索陷门生成过程相同,将某一待更新关键词转换向量w,并计算w的nh值与向量模长(nh,|w|,σ),将(nh,|w|,σ)与加密后的关键词上传至云服务器;6.2)云服务器根据nh值定位到待更新关键词w应在的桶,假设该桶内节点较多,已生成红黑树。计算w与桶内第一个节点的内积r,令m=r-|vi|,当m=0,则完全匹配,更新此节点的文件编号,若m≠0,则向下遍历,如果该节点值计算结果与模长之差小于m,则把当前节点的左子节点设置为当前节点,如果该值大于m,则把当前节点的右子节点设置为当前节点,重复该过程,直到遍历到该红黑树的叶子节点,则在保证红黑树的平衡下添加新节点。下面结合实验对本发明的技术效果作详细的描述。为了验证本发明的可用性,以下将展示并说明支持多关键字搜索和搜索结果排序的动态安全可搜索加密方法在仿真数据集下的测试结果及相关统计图像。在该发明的仿真中,首先测试索引的生成时间,分别对5,10,15,20,25个文件提取关键词构建s-hashmap索引,并与其他两个方案(对比方案1:privacypreservingmulti-keywordrankedsearchoverencryptedclouddata.对比方案2:towardefficientmulti-keywordfuzzysearchoverencryptedoutsourceddatawithaccuracyimprovement.)进行对比,如图6所示,本发明在索引生成效率上有明显的优势。图7为该方法中陷门生成时间的仿真,本发明采用了与对比方案相似的加密算法,因此多个方案之间时间消耗增长趋势相似,但是本发明的时间消耗仍然小于另外两个对比方案。图8为该方法中检索时间的仿真。在仿真过程中,选取1000个文件,假设关键字总数的平均值为15,则总共有15,000个关键字,构建大小为15,000的索引。将查询关键字的数量分别设置为5、10、15、20、25,分别进行检索时间的测试,如图8所示,查询中关键字的数量对搜索时间的影响可以忽略不计。因为在云服务器获得最佳结果之前,搜索过程可能需要遍历索引中的多个存储桶,检索时间在更大程度上与索引的大小有关。在几乎相同的查询环境下,本发明的方案的查询时间和对比方案2相比平均用时仅相差3毫秒左右,比对比方案2快20毫秒左右,在保证高安全性的前提下,故本发明的方案优势明显。应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1