CN114398650A - 一种支持多关键字子集检索的可搜索加密***及方法 - Google Patents

一种支持多关键字子集检索的可搜索加密***及方法 Download PDF

Info

Publication number
CN114398650A
CN114398650A CN202111541515.9A CN202111541515A CN114398650A CN 114398650 A CN114398650 A CN 114398650A CN 202111541515 A CN202111541515 A CN 202111541515A CN 114398650 A CN114398650 A CN 114398650A
Authority
CN
China
Prior art keywords
retrieval
index
file
user
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111541515.9A
Other languages
English (en)
Inventor
樊凯
陈琪
王昊洋
张明润
陈红艳
李晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202111541515.9A priority Critical patent/CN114398650A/zh
Publication of CN114398650A publication Critical patent/CN114398650A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于无线通信网络安全技术领域,公开了一种支持多关键字子集检索的可搜索加密***及方法,利用改进的大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。本发明能够在保证外包数据安全性前提下,实现了高效安全的数据查询与更新,可用于云边端协同环境下用户对海量数据的安全管理。

Description

一种支持多关键字子集检索的可搜索加密***及方法
技术领域
本发明属于无线通信网络安全技术领域,尤其涉及一种支持多关键字子集检索的可搜索加密***及方法。
背景技术
目前,云边端协同计算是5G网络的新架构之一,它将云计算能力和IT服务环境集中到5G网络的边缘通信网络为用户提供业务,从而构建高性能、低延迟、高带宽的业务环境。在云边端架构中,云服务器负责处理非实时、高复杂度、全球化的数据服务。边缘节点支持小型实时本地数据服务,不产生高水平的计算和存储。用户终端作为数据源,提供精细化的信息,支持多种精准分析,帮助服务提供商实现智能、便捷、个性化的客户服务。为了保证数据安全性,数据所有者将数据加密并将其外包到云端。对明文的加密虽然能保证数据的机密性,但传统的加密方法可能会破坏原有数据的特性,导致密文难以有效查询。故研究适用于密文数据的处理技术就显得尤为重要。
可搜索加密是近年来发展较快的一种密文检索技术,该方案不仅支持用户在密文域上进行搜索,同时还能保证数据的安全性。因此,可搜索加密技术能在有效保护数据安全的同时,方便地实现数据的查询,适合云边端环境中数据量大且云服务器和边缘节点半可信的场景。可搜索加密一般涉及五个实体,分别是数据拥有者、密钥管理中心,可信赖用户、边缘节点,云服务器。
根据应用模式将可搜索加密的应用模式分为单用户服务器模型,多对一服务器模型,一对多服务器模型,多对多服务器模型。从密码学角度可将上述多种模式的解决策略分为以下三类:对称可搜索加密,非对称可搜索加密,对称与非对称可搜索加密模式结合。
通过上述分析,现有技术存在的问题及缺陷为:
(1)传统的加密方法可能会破坏原有数据的特性,导致密文难以有效查询。
(2)现有密文的搜索语句并不灵活,从而支持的搜索效率较低;同时密文索引的构建忽视了原本数据的关联性,不能支持高效的子集匹配。
(3)现有技术中,不同的需求结合方案的不同表达能力,这需要定义不同的安全级别去保护隐私。
解决以上问题及缺陷的难度为:
(1)如何利用海量数据之间的关联性提高检索准确度,并且不暴露数据内容是一个技术难点;
(2)在保证安全性的前提下提高多关键词匹配的效率是一个较大的难点;
(3)边缘节点上存储的是加密后的海量数据,在保证***密的情况下完成索引的快速更新变得极为困难。
解决以上问题及缺陷的意义为:改进大数据挖掘算法实现索引安全检索与高效更新,充分利用云边端协同的特性,提出一种高效安全的可搜索加密方法具有重要意义。
发明内容
针对现有技术存在的问题,本发明提供了一种支持多关键字子集检索的可搜索加密***及方法。
本发明是这样实现的,一种支持多关键字子集检索的可搜索加密方法,所述支持多关键字子集检索的可搜索加密方法包括:
改进利用大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。
进一步,所述支持多关键字子集检索的可搜索加密方法包括以下步骤:
步骤一,***初始化:数据所有者A向密钥生成中心发起请求,密钥管理中心B初始化***,生成安全参数和密钥返回给数据所有者A;
步骤二,索引构建与加密:数据所有者A对文件集构建索引并加密,再对文件明文使用AES算法进行加密,并将加密后的文件与安全索引一起上传至边缘节点C;
步骤三,云边协同:边缘节点C保留安全索引,转发文件密文至云服务器D;
步骤四,检索陷门生成:授权用户E要搜索加密文件,从数据所有者处获得陷门生成参数,陷门即搜索关键字的“加密”版本;E根据参数生成陷门,并向边缘节点提交此检索请求;
步骤五,边缘节点执行检索:边缘节点C接收到陷门后在安全索引上执行检索算法,并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
步骤六,检索结果返回:云服务器根据文件编号,将文件返回给授权用户E;
步骤七,索引更新:数据拥有者A根据自身需求,对边缘节点上的索引与云服务器中的文件进行更新。
本发明的步骤一的作用通过密钥管理中心进行密钥生成,可以减轻数据拥有者的计算开销。步骤二的作用是改进利用大数据挖掘算法进行索引构建与加密,具体内容后面有详细描述。步骤三的作用云边协同主要目的是将检索计算和文件存储功能分别交给边缘服务器和云端执行,计算功能下沉不仅能加快计算效率还可保证数据安全性。步骤四和五的作用是可搜索加密过程中的陷门检索过程。步骤六的作用是有云端读取数据库里的文件返回给用户,可以防止边缘节点获得额外陷门-数据库信息,防止其攻击。
进一步,所述步骤一中的***初始化包括:
据拥有者提交请求后,密钥管理生成中心予以回应;判断用户权限,生成安全参数λ,设
Figure BDA0003414462380000031
是阶为p的循环群,随机选取
Figure BDA0003414462380000032
Figure BDA0003414462380000033
选择安全无碰撞的哈希函数H:{0,1},则用户的公钥为Apub=(g,g1,h),私钥为Apriv=(α,H(·))。
所述步骤二中的索引构建与加密包括:
(1)设数据拥有者有一个包含m个文件的文件集合F={f1,f2,...,fm},提取每个文件关键词,构成关键词集合U={u1,u2,...,un};选择随机数
Figure BDA0003414462380000041
对关键词集合进行加密
Figure BDA0003414462380000042
构建矩阵Dm*n,如果wj∈fi,Dij=1,否则Dij=0;
(2)添加两列一行,第n+1列:权重(w),初始化为1;第n+2列:该文件包含的关键词数量设为ξ,设0≤θ≤ξ。第m+1行:关键词在所有文件中的出现次数,下记为关键词支持数kS;按照关键词支持数kS,从小到大将矩阵D重新排列,再按照文件包含关键词数量从小到大,重新排列矩阵,得D1;对矩阵的每一行,两两做内积计算,如第i行与第i+1行,如果内积值等于ξi,n+2,则说明这两个文件重合,将i+1文件编号与i合并,删除第i+1行,且权重加1,设删除的文件数量为υ;得到布尔矩阵
Figure BDA0003414462380000043
并设定最小支持度MinS
(3)对布尔矩阵
Figure BDA0003414462380000044
从第2列到第n列,如果
Figure BDA0003414462380000045
将wi添加进索引第一层,删除wi代表的列向量;从第2行到第m行,如果ξ=1,将其包含的关键词添加进索引第一层,删除该文件列,同时更新矩阵关键词支持数;利用改进Aprior算法,设最后要构建X层索引,对于2≤i≤X,通过筛选所有符合条件的i个关键词的所有组合形式Col,设2≤k≤|col|,如果
Figure BDA0003414462380000046
则将该关键词集合与包含的文件编号添加至第i层索引,最后构建出X层的索引。
(4)用AES加密算法加密文件明文;
(5)将加密后的索引与文件发送给边缘服务器。
进一步,所述步骤三中的云边协同包括:边缘节点C保留安全索引,转发文件密文至云服务器D。
所述步骤四中的检索陷门生成包括:
(1)已授权的数据访问者,向拥有者发送检索请求,数据拥有者向访问者发送Esk(H,S),数据访问者用公钥解密得到S和H;
(2)对于待检索关键词集合Q={w1,w2,w3,...,wα},数据访问者随机生成虚拟关键词wα+1计算E(Hw1),E(Hw2),E(Hw3),...,(Hwα),E(Hwα+1),构建α+1维的多项式函数
Figure BDA0003414462380000051
其中
Figure BDA0003414462380000052
当关键词w′∈W时,f(H(Ew′))=0,得检索陷门为T={a0,a1,a2,...,aα+1};
(3)数据访问者向边缘节点发送检索请求,上传陷门。
进一步,所述步骤五中的边缘节点执行检索算法包括:
(1)设置用户要求的检索结果之和为R,当前结果集合中文件数目为RN;设置索引最大阶数为XI,检索关键词数目为K,容错值T,当前所在索引层CU;
(2)设初始CU=α+1,如果RN<R,对于当前所在层的索引中的每个关键词集合,考虑该关键词集合中的每个关键词wi,计算
Figure BDA0003414462380000053
如果U!=0,T=T+1;当T≥1,放弃该关键词集合,计算此层索引中的下一个关键词集合,否则计算完毕后,将该关键词集合里包含的文件编号加入RN;如果该层索引中关键词集合全部遍历完后,仍然有RN<R,则CU=CU-1,计算下一层索引,直到RN≥R或CU=0,完成检索,得到包含文件编号的检索结果集合CU;
(3)边缘并将满足匹配要求的文件编号和用户IP地址发送给云服务器。
所述步骤六中的检索结果返回包括:云服务器检查数据库中存储的文件内容,根据编号将文件返回给授权用户E。
进一步,所述步骤七中的索引更新包括:
(1)对于待更新文件f,提取关键词组合W={w1,w2,...,wt},计算E(H(w1)),E(H(w2)),...,E(H(wt)),并构建t维的多项式函数
Figure BDA0003414462380000054
其中
Figure BDA0003414462380000055
令U={a0,a1,a2,...,at},文件编号fs,由此生成待更新信息{U,fs};
(2)定位到第t层索引开始检索,如果存在某个关键词集合,对于包含的每个关键词wi,都有
Figure BDA0003414462380000061
则将该文件编号加入该关键词集合;如果本层索引未找到匹配项,遍历低层索引中的关键词集合,更新符合要求的关键词集合。
本发明的另一目的在于提供一种实施所述的支持多关键字子集检索的可搜索加密方法的支持多关键字子集检索的可搜索加密***,所述支持多关键字子集检索的可搜索加密***包括:
***初始化模块,用于通过数据所有者A向密钥生成中心发起请求,密钥管理中心B初始化***,生成安全参数和密钥返回给数据所有者A;
索引构建与加密模块,用于通过数据所有者A对文件集构建索引并加密,再对文件明文使用AES算法进行加密,并将加密后的文件与安全索引一起上传至边缘节点C;
云边协同模块,用于通过边缘节点C保留安全索引,转发文件密文至云服务器D;
检索陷门生成模块,用于通过授权用户E要搜索加密文件,从数据所有者处获得陷门生成参数,陷门即搜索关键字的“加密”版本;E根据参数生成陷门,并向边缘节点提交此检索请求;
边缘节点执行检索模块,用于通过边缘节点C接收到陷门后在安全索引上执行检索算法,并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
检索结果返回模块,用于通过云服务器根据文件编号,将文件返回给授权用户E;
索引更新模块,用于通过数据拥有者A根据自身需求,对边缘节点上的索引与云服务器中的文件进行更新。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
利用改进的大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
利用改进的大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的支持多关键字子集检索的可搜索加密***。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的支持多关键字子集检索的可搜索加密方法,通过改进数据挖掘算法解决云边端协同环境下对数据高效安全的检索与更新,能够在保证外包数据安全性前提下,实现了高效安全的数据查询与更新,可用于云边端协同环境下用户对海量数据的安全管理。
本发明对Apriori大数据挖掘技术进行改进,挖掘海量数据中数据间相关性,生成高相关度的关键字集合,根据最小支持度限制无意义的关键字集合,构建基于改进Apriori的多层索引结构。本发明通过算法设计实现了加密数据的多关键词子集检索和动态更新。本发明将双线性配对与哈希函数相结合,利用虚拟关键词实现陷门的不可链接性。由于在检索过程中不涉及解密操作,本发明提高了检索效率并保护了密钥不被泄露;高相关度的关键词集合在不增加索引尺寸和搜索复杂度的前提下实现了高效的多关键词子集匹配与实时更新。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的支持多关键字子集检索的可搜索加密方法流程图。
图2是本发明实施例提供的支持多关键字子集检索的可搜索加密方法原理图。
图3是本发明实施例提供的支持多关键字子集检索的可搜索加密***结构框图;
图中:1、***初始化模块;2、索引构建与加密模块;3、云边协同模块;4、检索陷门生成模块;5、边缘节点执行检索模块;6、检索结果返回模块;7、索引更新模块。
图4是本发明实施例提供的支持多关键字子集检索的可搜索加密***原理图。
图5是本发明实施例提供的基于改进Aprior的索引构建及结构示意图。
图6是本发明实施例提供的固定文件数量时不同最小支持度下的索引时间测试对比示意图。
图7是本发明实施例提供的固定关键词数量时不同最小支持度的索引时间测试对比示意图。
图8是本发明实施例提供的固定文件数量时不同方案的索引时间测试对比示意图。
图9是本发明实施例提供的不同方案的陷门生成时间测试对比示意图。
图10是本发明实施例提供的固定文件数量时不同最小支持度下的检索时间测试对比示意图。
图11是本发明实施例提供的固定关键词数量时不同最小支持度下的检索时间测试对比示意图。
图12是本发明实施例提供的固定文件数量时不同方案的检索时间测试对比示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种支持多关键字子集检索的可搜索加密***及方法,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的支持多关键字子集检索的可搜索加密方法包括以下步骤:
S101,***初始化:数据所有者A向密钥生成中心发起请求,密钥管理中心B初始化***,生成安全参数和密钥返回给数据所有者A;
S102,索引构建与加密:数据所有者A对文件集构建索引并加密,对文件明文使用AES算法进行加密,并将加密后的文件和安全索引上传至边缘节点C;
S103,云边协同:边缘节点C保留安全索引,转发文件密文至云服务器D;
S104,检索陷门生成:授权用户E要搜索加密文件,从数据所有者处获得陷门生成参数,陷门即搜索关键字的“加密”版本;E根据参数生成陷门,并向边缘节点提交此检索请求;
S105,边缘节点执行检索:边缘节点C接收到陷门后在安全索引上执行检索算法,并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
S106,检索结果返回:云服务器根据文件编号,将文件返回给授权用户E;
S107,索引更新:数据拥有者A根据自身需求,对边缘节点上的索引与云服务器中的文件进行更新。
本发明实施例提供的支持多关键字子集检索的可搜索加密方法原理图如图2所示。
如图3所示,本发明实施例提供的支持多关键字子集检索的可搜索加密***包括:
***初始化模块1,用于通过数据所有者A向密钥生成中心发起请求,密钥管理中心B初始化***,生成安全参数和密钥返回给数据所有者A;
索引构建与加密模块2,用于通过数据所有者A对文件集构建索引并加密,再对文件明文使用AES算法进行加密,并将加密后的文件与安全索引一起上传至边缘节点C;
云边协同模块3,用于通过边缘节点C保留安全索引,转发文件密文至云服务器D;
检索陷门生成模块4,用于通过授权用户E要搜索加密文件,从数据所有者处获得陷门生成参数,陷门即搜索关键字的“加密”版本;E根据参数生成陷门,并向边缘节点提交此检索请求;
边缘节点执行检索模块5,用于通过边缘节点C接收到陷门后在安全索引上执行检索算法,并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
检索结果返回模块6,用于通过云服务器根据文件编号,将文件返回给授权用户E;
索引更新模块7,用于通过数据拥有者A根据自身需求,对边缘节点上的索引与云服务器中的文件进行更新。
本发明实施例提供的支持多关键字子集检索的可搜索加密***原理图如图4所示。
下面结合具体实施例对本发明的技术方案作进一步描述。
如图2所示,本发明实施例提供的支持多关键词子集匹配的可搜索加密方法包括如下步骤:
步骤1:第一步的***初始化。
步骤一,数据拥有者提交请求后,密钥管理生成中心予以回应,先判断用户权限,然后生成一个安全参数λ,设
Figure BDA0003414462380000111
是阶为p的循环群,随机选取
Figure BDA0003414462380000112
Figure BDA0003414462380000113
同时选择安全无碰撞的哈希函数H:{0,1}则用户的公钥为Apub=(g,g1,h),私钥为Apriv=(α,H(·))。
步骤2:第二步的索引构建与加密。
2.1)设数据拥有者有一个包含m个文件的文件集合F={f1,f2,...,fm},提取每个文件关键词,构成关键词集合U={u1,u2,...,un},选择随机数
Figure BDA0003414462380000114
对关键词集合进行加密
Figure BDA0003414462380000115
并由此构建矩阵Dm*n,如果wj∈fi,Dij=1,否则Dij=0。
2.2)添加两列一行,第n+1列:权重(w),初始化为1;第n+2列:该文件包含的关键词数量设为ξ,设0≤θ≤ξ。第m+1行:关键词在所有文件中的出现次数,下记为关键词支持数kS。按照关键词支持数kS,从小到大将矩阵D重新排列,再按照文件包含关键词数量从小到大,重新排列矩阵,得D1。对矩阵的每一行,两两做内积计算,如第i行与第i+1行,如果内积值等于ξi,n+2,那么说明这两个文件重合,将i+1文件编号与i合并,删除第i+1行,且权重加1,设删除的文件数量为υ。综上,得到布尔矩阵
Figure BDA0003414462380000116
为了简化索引,充分利用不同文件之间的相似性与差异性,提高检索效率,设定最小支持度MinS
2.3)对布尔矩阵
Figure BDA0003414462380000117
从第2列到第n列,如果
Figure BDA0003414462380000118
将wi添加进索引第一层,删除wi代表的列向量。从第2行到第m行,如果ξ=1,将其包含的关键词添加进索引第一层,删除该文件列,同时更新矩阵关键词支持数。利用改进Aprior算法,设最后要构建X层索引,对于2≤i≤X,通过筛选所有符合条件的i个关键词的所有组合形式Col,设2≤k≤|col|,如果
Figure BDA0003414462380000121
则将该关键词集合与包含的文件编号添加至第i层索引。最后构建出X层的索引。
2.4)用AES加密算法加密文件明文。
2.5)将加密后的索引与文件发送给边缘节点。
步骤3:云边协同。
3.1)边缘节点C保留安全索引,转发文件密文至云服务器D;
步骤4:检索陷门生成。
4.1)已授权的数据访问者,向拥有者发送检索请求,数据拥有者向访问者发送Esk(H,S),数据访问者用公钥解密得到S和H。
4.2)对于待检索关键词集合Q={w1,w2,w3,...,wα},数据访问者随机生成一个虚拟关键词wα+1计算E(Hw1),E(Hw2),E(Hw3),...,(Hwα),E(Hwα+1)由此构建一个α+1维的多项式函数
Figure BDA0003414462380000122
其中
Figure BDA0003414462380000123
易得当关键词w′∈W时,有f(H(Ew′))=0。由此可得检索陷门为T={a0,a1,a2,...,aα+1}。
4.3)数据访问者向边缘节点发送检索请求,上传陷门。
步骤5:边缘节点执行检索算法。
5.1)设置用户要求的检索结果之和为R,当前结果集合中文件数目为RN。设置索引最大层数为XI,检索关键词数目为K,容错值T,当前所在索引层CU。
5.2)设初始CU=α+1,如果RN<R,对于当前所在层的索引中的每个关键词集合,考虑该关键词集合中的每个关键词wi,计算
Figure BDA0003414462380000124
如果U!=0,T=T+1。当T≥1,放弃该关键词集合,计算此层索引中的下一个关键词集合,否则计算完毕后,将该关键词集合里包含的文件编号加入RN。如果该层索引中关键词集合全部遍历完后,仍然有RN<R,则CU=CU-1,计算下一层索引,直到RN≥R或CU=0,完成检索,得到包含文件编号的检索结果集合CU。
5.3)边缘节点并将满足匹配要求的文件编号和用户IP地址发送给云服务器。
步骤6:检索结果返回。
6.1)云服务器检查数据库中存储的文件内容,根据编号将文件返回给授权用户E。
步骤7:索引更新。
7.1)对于待更新文件f,提取其关键词组合W={w1,w2,...,wt},计算E(H(w1)),E(H(w2)),...,E(H(wt)),由此构建一个t维的多项式函数
Figure BDA0003414462380000131
其中
Figure BDA0003414462380000132
令U={a0,a1,a2,...,at},文件编号fs,由此生成待更新信息{U,fs}。
7.2)定位到第t层索引开始检索,如果存在某个关键词集合,对于其包含的每个关键词wi,都有
Figure BDA0003414462380000133
则将该文件编号加入该关键词集合,如果本层索引未找到匹配项,遍历低层索引中的关键词集合,更新符合要求的关键词集合。
本发明实施例提供的基于改进Aprior的索引构建及结构示意图如图5所示。
下面结合仿真实验对本发明的技术方案作进一步描述。
为了验证本发明的可用性,以下将展示并说明支持多关键词子集匹配的动态安全可搜索加密方法在仿真数据集下的测试结果及相关统计图像。该实验采用JAVA实现,基于Windows 10AMDA10-786K Radeon R7,4C+8G 3.60Hz环境。
在该发明的仿真中,首先测试索引的生成时间。设定不同的MinS=0.297,0.195,0.147,0.127,0.117,固定文件数量为1000,固定关键词数量15,分别测试索引的生成时间,如图6和图7所示。根据图中结果可得,当固定了关键词数量后,不同支持度对索引构建时间影响整体不大。但固定文件数量后,不同最小支持度的对不同关键词数量的索引整体构建时间影响较大,当最小支持度取到0.297且关键词数目达25时,方案的索引构建时间仍然是毫秒级,同时,随着文件关键词数量的增加,索引构建时间的消耗增长趋势仍然较为平缓。除此之外,设定最小支持符为0.195,将本方案索引构建时间与其他三个方案进行对比,对比结果如图8所示,本方案的索引构建时间均低于两个对比方案,增长趋势也更为平缓。
然后测试陷门生成时间。图9是在不同待检索关键词数目下,本方案的陷门构建耗时与其他三个方案的对比。本方案的陷门生成主要由关键词哈希加密和多项式构成,而多项式计算时间的消耗非常低,仿真结果显示,本方案的时间消耗为微秒量级,而其他对比方案的时间消耗均为毫秒级,并由下图趋势来看,随着待检索的关键词数量增加,本方案的陷门生成时间不仅小于对比方案,增长系数也更低。
最后测试方案检索时间。图10是在保证相同文件数目和增长的检索关键词数量下,不同的最小支持度下检索时间对比。由图可见,不同支持度对检索的时间有一定的影响,当最小支持度过小会导致检索效率变低,在检索关键词数目不变的前提下,不同的支持度下检索速度最大差距为2毫秒。图11是在保证相同关键词数量的前提下和增长的文件数量下,不同的最小支持度下检索时间对比。由图可见,随着文件数量的增加,检索时间的增长非常缓慢,这说明该方案的索引结构即使面对大量的数据也能保持良好的检索性能。图12是固定最小支持度为0.195,在不同的检索关键词数目下,本方案的检索耗时与其他三个方案的对比。如图可得,本方案的检索效率明显更高,虽然检索时间一直在缓步增长,但当关键词数目达到20时,本方案的检索耗时仍然低于其他两个方案。考虑到实际应用中,检索关键词不会过多,所以本方案在未来实际应用中有明显优势。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid StateDisk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种支持多关键字子集检索的可搜索加密方法,其特征在于,所述支持多关键字子集检索的可搜索加密方法包括:利用大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。
2.如权利要求1所述的支持多关键字子集检索的可搜索加密方法,其特征在于,所述支持多关键字子集检索的可搜索加密方法包括以下步骤:
步骤一,***初始化:数据所有者A向密钥生成中心发起请求,密钥管理中心B初始化***,生成安全参数和密钥返回给数据所有者A;
步骤二,索引构建与加密:数据所有者A对文件集构建索引并加密,再对文件明文使用AES算法进行加密,并将加密后的文件与安全索引一起上传至边缘节点C;
步骤三,云边协同:边缘节点C保留安全索引,转发文件密文至云服务器D;
步骤四,检索陷门生成:授权用户E要搜索加密文件,从数据所有者处获得陷门生成参数,陷门即搜索关键字的“加密”版本;E根据参数生成陷门,并向边缘节点提交此检索请求;
步骤五,边缘节点执行检索:边缘节点C接收到陷门后在安全索引上执行检索算法,并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
步骤六,检索结果返回:云服务器根据文件编号,将文件返回给授权用户E;
步骤七,索引更新:数据拥有者A根据自身需求,对边缘节点上的索引与云服务器中的文件进行更新。
3.如权利要求2所述的支持多关键字子集检索的可搜索加密方法,其特征在于,所述步骤一中的***初始化包括:
据拥有者提交请求后,密钥管理生成中心予以回应;判断用户权限,生成安全参数λ,设
Figure FDA0003414462370000021
是阶为p的循环群,随机选取
Figure FDA0003414462370000022
Figure FDA0003414462370000023
选择安全无碰撞的哈希函数H:{0,1},则用户的公钥为Apub=(g,g1,h),私钥为Apriv=(α,H(·));
所述步骤二中的索引构建与加密包括:
(1)设数据拥有者有一个包含m个文件的文件集合F={f1,f2,...,fm},提取每个文件关键词,构成关键词集合U={u1,u2,...,un};选择随机数
Figure FDA0003414462370000024
对关键词集合进行加密
Figure FDA0003414462370000025
构建矩阵Dm*n,如果wj∈fi,Dij=1,否则Dij=0;
(2)添加两列一行,第n+1列:权重(w),初始化为1;第n+2列:该文件包含的关键词数量设为ξ,设0≤θ≤ξ;第m+1行:关键词在所有文件中的出现次数,下记为关键词支持数kS;按照关键词支持数kS,从小到大将矩阵D重新排列,再按照文件包含关键词数量从小到大,重新排列矩阵,得D1;对矩阵的每一行,两两做内积计算,如第i行与第i+1行,如果内积值等于ξi,n+2,则说明这两个文件重合,将i+1文件编号与i合并,删除第i+1行,且权重加1,设删除的文件数量为υ;得到布尔矩阵
Figure FDA0003414462370000026
并设定最小支持度MinS
(3)对布尔矩阵
Figure FDA0003414462370000027
从第2列到第n列,如果
Figure FDA0003414462370000028
将wi添加进索引第一层,删除wi代表的列向量;从第2行到第m行,如果ξ=1,将其包含的关键词添加进索引第一层,删除该文件列,同时更新矩阵关键词支持数;利用改进Aprior算法,设最后要构建X层索引,对于2≤i≤X,通过筛选所有符合条件的i个关键词的所有组合形式Col,设2≤k≤|col|,如果
Figure FDA0003414462370000029
则将该关键词集合与包含的文件编号添加至第i层索引,最后构建出X层的索引;
(4)用AES加密算法加密文件明文;
(5)将加密后的索引与文件发送给边缘服务器。
4.如权利要求2所述的支持多关键字子集检索的可搜索加密方法,其特征在于,所述步骤三中的云边协同包括:边缘节点C保留安全索引,转发文件密文至云服务器D;
所述步骤四中的检索陷门生成包括:
(1)已授权的数据访问者,向拥有者发送检索请求,数据拥有者向访问者发送Esk(H,S),数据访问者用公钥解密得到S和H;
(2)对于待检索关键词集合Q={w1,w2,w3,...,wα},数据访问者随机生成虚拟关键词wα+1计算E(Hw1),E(Hw2),E(Hw3),...,(Hwα),E(Hwα+1),构建α+1维的多项式函数
Figure FDA0003414462370000031
其中
Figure FDA0003414462370000032
当关键词w′∈W时,f(H(Ew′))=0,得检索陷门为T={a0,a1,a2,...,aα+1};
(3)数据访问者向边缘节点发送检索请求,上传陷门。
5.如权利要求2所述的支持多关键字子集检索的可搜索加密方法,其特征在于,所述步骤五中的边缘节点执行检索算法包括:
(1)设置用户要求的检索结果之和为R,当前结果集合中文件数目为RN;设置索引最大阶数为XI,检索关键词数目为K,容错值T,当前所在索引层CU;
(2)设初始CU=α+1,如果RN<R,对于当前所在层的索引中的每个关键词集合,考虑该关键词集合中的每个关键词wi,计算
Figure FDA0003414462370000033
如果U!=0,T=T+1;当T≥1,放弃该关键词集合,计算此层索引中的下一个关键词集合,否则计算完毕后,将该关键词集合里包含的文件编号加入RN;如果该层索引中关键词集合全部遍历完后,仍然有RN<R,则CU=CU-1,计算下一层索引,直到RN≥R或CU=0,完成检索,得到包含文件编号的检索结果集合CU;
(3)边缘并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
所述步骤六中的检索结果返回包括:云服务器检查数据库中存储的文件内容,根据编号将文件返回给授权用户E。
6.如权利要求2所述的支持多关键字子集检索的可搜索加密方法,其特征在于,所述步骤七中的索引更新包括:
(1)对于待更新文件f,提取关键词组合W={w1,w2,...,wt},计算E(H(w1)),E(H(w2)),...,E(H(wt)),并构建t维的多项式函数
Figure FDA0003414462370000041
其中
Figure FDA0003414462370000042
令U={a0,a1,a2,...,at},文件编号fs,由此生成待更新信息{U,fs};
(2)定位到第t层索引开始检索,如果存在某个关键词集合,对于包含的每个关键词wi,都有
Figure FDA0003414462370000043
则将该文件编号加入该关键词集合;如果本层索引未找到匹配项,遍历低层索引中的关键词集合,更新符合要求的关键词集合。
7.一种实施权利要求1~6任意一项所述的支持多关键字子集检索的可搜索加密方法的支持多关键字子集检索的可搜索加密***,其特征在于,所述支持多关键字子集检索的可搜索加密***包括:
***初始化模块,用于通过数据所有者A向密钥生成中心发起请求,密钥管理中心B初始化***,生成安全参数和密钥返回给数据所有者A;
索引构建与加密模块,用于通过数据所有者A对文件集构建索引并加密,再对文件明文使用AES算法进行加密,并将加密后的文件与安全索引一起上传至边缘节点C;
云边协同模块,用于通过边缘节点C保留安全索引,转发文件密文至云服务器D;
检索陷门生成模块,用于通过授权用户E要搜索加密文件,从数据所有者处获得陷门生成参数,陷门即搜索关键字的“加密”版本;E根据参数生成陷门,并向边缘节点提交此检索请求;
边缘节点执行检索模块,用于通过边缘节点C接收到陷门后在安全索引上执行检索算法,并将满足匹配要求的文件编号和用户IP地址发送给云服务器;
检索结果返回模块,用于通过云服务器根据文件编号,将文件返回给授权用户E;
索引更新模块,用于通过数据拥有者A根据自身需求,对边缘节点上的索引与云服务器中的文件进行更新。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
利用改进的大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
利用改进的大数据挖掘算法,在云服务器和边缘节点半可信的前提下,通过算法设计使得边缘服务器在密文上完成高效的检索和更新,以此实现用户对加密数据的管理;边缘节点收到检索请求后,使用收到的陷门在安全索引上执行搜索算法,返回匹配度最高的文件编号,将文件编号和用户IP发给云服务器,最后由云服务器将检索结果发送给用户,以此实现用户对数据的安全访问。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的支持多关键字子集检索的可搜索加密***。
CN202111541515.9A 2021-12-16 2021-12-16 一种支持多关键字子集检索的可搜索加密***及方法 Pending CN114398650A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111541515.9A CN114398650A (zh) 2021-12-16 2021-12-16 一种支持多关键字子集检索的可搜索加密***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111541515.9A CN114398650A (zh) 2021-12-16 2021-12-16 一种支持多关键字子集检索的可搜索加密***及方法

Publications (1)

Publication Number Publication Date
CN114398650A true CN114398650A (zh) 2022-04-26

Family

ID=81227683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111541515.9A Pending CN114398650A (zh) 2021-12-16 2021-12-16 一种支持多关键字子集检索的可搜索加密***及方法

Country Status (1)

Country Link
CN (1) CN114398650A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484095A (zh) * 2022-09-14 2022-12-16 湖南科技大学 云边协同环境下基于区块链的细粒度访问控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103534685A (zh) * 2010-12-30 2014-01-22 凯尔·克莱因巴特 用于在线通信管理的***和方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN109063509A (zh) * 2018-08-07 2018-12-21 上海海事大学 一种基于关键词语义排序的可搜索加密方法
WO2019096603A1 (en) * 2017-11-17 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Sync signal design for enhanced coverage
CN111552849A (zh) * 2020-03-19 2020-08-18 西安电子科技大学 可搜索加密方法、***、存储介质、车载网、智能电网
CN113424144A (zh) * 2019-03-12 2021-09-21 英特尔公司 计算数据存储***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103534685A (zh) * 2010-12-30 2014-01-22 凯尔·克莱因巴特 用于在线通信管理的***和方法
WO2019096603A1 (en) * 2017-11-17 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Sync signal design for enhanced coverage
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN109063509A (zh) * 2018-08-07 2018-12-21 上海海事大学 一种基于关键词语义排序的可搜索加密方法
CN113424144A (zh) * 2019-03-12 2021-09-21 英特尔公司 计算数据存储***
CN111552849A (zh) * 2020-03-19 2020-08-18 西安电子科技大学 可搜索加密方法、***、存储介质、车载网、智能电网

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KAI FAN等: "MSIAP: A Dynamic Searchable Encryption for Privacy-Protection on Smart Grid With Cloud-Edge-End", pages 1 - 12, Retrieved from the Internet <URL:《网页在线公开:https://ieeexplore.ieee.org/abstract/document/9645343》> *
陈建尧;: "云计算下的一种关联挖掘算法的研究", 科技通报, no. 07, 31 July 2018 (2018-07-31), pages 196 - 200 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484095A (zh) * 2022-09-14 2022-12-16 湖南科技大学 云边协同环境下基于区块链的细粒度访问控制方法
CN115484095B (zh) * 2022-09-14 2024-05-07 湖南科技大学 云边协同环境下基于区块链的细粒度访问控制方法

Similar Documents

Publication Publication Date Title
Xu et al. Enabling efficient and geometric range query with access control over encrypted spatial data
Ge et al. Towards achieving keyword search over dynamic encrypted cloud data with symmetric-key based verification
Mishra et al. Oblix: An efficient oblivious search index
Ding et al. Privacy-preserving multi-keyword top-$ k $ k similarity search over encrypted data
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
WO2022099495A1 (zh) 云计算环境中的密文搜索方法及***、设备
US20160125198A1 (en) Searchable encryption with secure and efficient updates
Awad et al. Chaotic searchable encryption for mobile cloud storage
Miao et al. Ranked keyword search over encrypted cloud data through machine learning method
Patel et al. Lower bounds for encrypted multi-maps and searchable encryption in the leakage cell probe model
Du et al. GraphShield: Dynamic large graphs for secure queries with forward privacy
CN112000632A (zh) 密文的分享方法、介质、分享客户端及***
Lin et al. Privacy-preserving similarity search with efficient updates in distributed key-value stores
Jiang et al. An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage.
CN115310125A (zh) 一种加密数据检索***、方法、计算机设备及存储介质
Li et al. DVREI: Dynamic verifiable retrieval over encrypted images
CN114398650A (zh) 一种支持多关键字子集检索的可搜索加密***及方法
Zhang et al. Encrypted speech retrieval scheme based on multiuser searchable encryption in cloud storage
Fu et al. Confusing-keyword based secure search over encrypted cloud data
CN110928980A (zh) 一种面向移动云计算的密文数据存储与检索方法
Zhang et al. Tree‐Based Public Key Encryption with Conjunctive Keyword Search
CN109165226B (zh) 一种面向密文大型数据集的可搜索加密方法
Indhuja et al. A multi-keyword ranked search scheme over encrypted based on hierarchical clustering index
Yang et al. An Efficient and Privacy‐Preserving Biometric Identification Scheme Based on the FITing‐Tree

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination