CN111930688B - 云服务器中多关键词查询的密态数据可搜索方法及装置 - Google Patents

云服务器中多关键词查询的密态数据可搜索方法及装置 Download PDF

Info

Publication number
CN111930688B
CN111930688B CN202011006637.3A CN202011006637A CN111930688B CN 111930688 B CN111930688 B CN 111930688B CN 202011006637 A CN202011006637 A CN 202011006637A CN 111930688 B CN111930688 B CN 111930688B
Authority
CN
China
Prior art keywords
data
cloud server
keyword
search
private key
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.)
Active
Application number
CN202011006637.3A
Other languages
English (en)
Other versions
CN111930688A (zh
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.)
Southwest Petroleum University
Original Assignee
Southwest Petroleum 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 Southwest Petroleum University filed Critical Southwest Petroleum University
Priority to CN202011006637.3A priority Critical patent/CN111930688B/zh
Publication of CN111930688A publication Critical patent/CN111930688A/zh
Application granted granted Critical
Publication of CN111930688B publication Critical patent/CN111930688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种云服务器中多关键词查询的密态数据可搜索方法及装置。包括:系统初始化步骤;数据及多关键词的可搜索加密步骤;搜索陷门生成步骤;云服务器搜索测试步骤。此发明方法使得用户在不泄露敏感关键词信息的前提下,向云服务器动态提供多个关键词对应的搜索陷门,并获得云服务器返回的正确搜索结果,从而实现云存储系统密态数据共享的功能,保障了数据存储在云端的机密性。由于数据发送者需要用数据发送者的私钥以及接收者的公钥产生关键词集合对应的安全索引集,杜绝了云服务器独立测试验证的情况,避免了内部伪造关键词的安全索引的可能性。

Description

云服务器中多关键词查询的密态数据可搜索方法及装置
技术领域
本发明涉及网络空间安全技术领域,特别是一种云服务器中多关键词查询的密态数据可搜索方法及装置。
背景技术
在随着云计算技术的飞速发展,大量企业、政府等机构将数据加密存储在云端来转移存储压力,并在查询数据时在云服务器上进行检索。传统情况下,查找符合指定关键词的数据,需要查询者取回云端所有可能包含此关键词的密态数据,并进行解密,筛选找出需要的内容。由于云端存储数据量的增加,取回的数据可能越来越多,这对用户的网络接入带宽提出了严峻的考验。在这个信息化的时代,数据信息量逐日猛增,用户下载后再解密的检索方法越来越困难。传统模型下,云服务器无法看到数据明文,无法对密态数据进行有利于确定性数据取回的处理,这样无法充分利用服务器上的计算资源。因此,亟需一种密态数据进行快速检索定位的方法。
Dan Boneh等人最早提出一种基于公钥密码体制的可搜索加密方法,解决了密态数据搜索与共享的基本问题。基于Dan Boneh等人的工作,很多基于关键词查询的公钥可搜索加密方法已被提出,但随着可搜索加密领域研究的深入,学者们发现基于单个关键词的密态数据搜索方法可以筛选出一定范围内的密态数据,但不能较为准确地定位到某一份文件上,往往会收到一些并不是用户真正想要搜索的结果。而支持多个关键词搜索的密态数据查询方法,可以将原始数据文件提取能够准确定位的多个关键词,数据发送者根据这些关键词以及原始数据文件分别产生对应的安全索引和密态数据,并存储在云服务器,以便数据接收者进行细粒度地密态数据查询,提高检索准确性。
由于关键词的信息熵往往是非常低的,很可能造成外部恶意攻击者的关键词猜测攻击,从而威胁用户的隐私。甚至在安全级别要求更高的应用场景,内部云服务器也能执行关键词猜测攻击。因此,现有技术中无法保证用户的隐私。
发明内容
本发明的技术解决方案是:
为了解决上述技术问题,本发明提供了一种云服务器中多关键词查询的密态数据可搜索方法,包括:
系统初始化步骤:设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;
数据及多关键词的可搜索加密步骤:数据发送者提取原始数据文件中含有多个关键词的集合,利用所述数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;所述数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;
搜索陷门生成步骤:所述数据接收者选取关键词集合,利用所述数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;
云服务器搜索测试步骤:所述云服务器接收所述搜索陷门,所述云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,所述云服务器返回搜索结果;基于所述数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。
可选地,所述全局参数包括:哈希函数、乘法循环群及其生成元以及双线性对映射函数。
所述系统初始化步骤,包括:
可选地,所述系统初始化步骤,包括:选取一个双线性对映射函数
Figure DEST_PATH_IMAGE001
,其中
Figure DEST_PATH_IMAGE002
是一个乘法循环群,
Figure DEST_PATH_IMAGE003
是双线性对映射的目标群;
设置四个安全的抗碰撞哈希函数
Figure DEST_PATH_IMAGE004
;哈希函数
Figure DEST_PATH_IMAGE005
;哈希函数
Figure DEST_PATH_IMAGE006
;哈希函数
Figure DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
是关键词的比特长度,
Figure DEST_PATH_IMAGE009
是与q互素的乘法循环群;
通过以下公式计算公开全局参数:
Figure DEST_PATH_IMAGE010
,其中,
Figure DEST_PATH_IMAGE011
是乘法循环群
Figure 599438DEST_PATH_IMAGE002
的两个不同的生成元;
所述数据发送者随机选取
Figure DEST_PATH_IMAGE012
作为其私钥
Figure DEST_PATH_IMAGE013
,计算
Figure DEST_PATH_IMAGE014
作为其公钥;所述数据接收者随机选取
Figure DEST_PATH_IMAGE015
作为其私钥
Figure DEST_PATH_IMAGE016
,计算
Figure DEST_PATH_IMAGE017
作为公钥。
可选地,所述数据及多关键词的可搜索加密步骤,包括:所述数据发送者提取所述原始数据文件
Figure DEST_PATH_IMAGE018
的关键词,形成长度为n的关键词集合
Figure DEST_PATH_IMAGE019
,计算每一个关键词
Figure DEST_PATH_IMAGE020
对应的安全索引
Figure DEST_PATH_IMAGE021
,其中,安全索引第一分量
Figure DEST_PATH_IMAGE022
,安全索引第二分量
Figure DEST_PATH_IMAGE023
生成关键词集合
Figure DEST_PATH_IMAGE024
对应的安全索引集
Figure DEST_PATH_IMAGE025
所述数据发送者将待分享的数据文件
Figure DEST_PATH_IMAGE026
采用公钥加密算法进行加密,形成密态数据
Figure DEST_PATH_IMAGE027
所述数据发送者将关键词集合
Figure DEST_PATH_IMAGE028
对应的安全索引集
Figure 998802DEST_PATH_IMAGE025
和所述数据文件
Figure 778539DEST_PATH_IMAGE026
的密态数据
Figure 439327DEST_PATH_IMAGE027
上传到云服务器。
可选地,所述搜索陷门生成步骤包括:所述数据接收者确定搜索的长度为n的目标关键词集合
Figure 519279DEST_PATH_IMAGE028
,对于每个关键词
Figure DEST_PATH_IMAGE029
,选取一个随机数
Figure DEST_PATH_IMAGE030
,计算定位标签
Figure DEST_PATH_IMAGE031
,计算n个关键词的随机聚合值
Figure DEST_PATH_IMAGE032
所述数据接收者选取随机数
Figure DEST_PATH_IMAGE033
,计算随机掩饰码
Figure DEST_PATH_IMAGE034
和计算关于随机聚合值
Figure DEST_PATH_IMAGE035
的盲化值
Figure DEST_PATH_IMAGE036
依据上述参数计算搜索陷门
Figure DEST_PATH_IMAGE037
,并发送至云服务器。
可选地,所述云服务器搜索测试步骤,包括:对于每一个下标
Figure DEST_PATH_IMAGE038
,所述云服务器依次根据每一个定位标签
Figure DEST_PATH_IMAGE039
查询
Figure 233419DEST_PATH_IMAGE039
Figure DEST_PATH_IMAGE040
是否相等;
若相等,则获取对应的安全索引
Figure DEST_PATH_IMAGE041
判断方程
Figure DEST_PATH_IMAGE042
是否成立;若成立,所述云服务器将返回与安全索引关联的密态数据
Figure DEST_PATH_IMAGE043
;所述数据接收者利用私钥解密
Figure 562769DEST_PATH_IMAGE043
得到原始数据文件
Figure DEST_PATH_IMAGE044
为了解决上述技术问题,本发明还提供了一种云服务器中多关键词查询的密态数据可搜索装置,包括:
初始化模块,用于设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;
加密模块,用于数据发送者提取原始数据文件中含有多个关键词的集合,利用所述数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;所述数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;
搜索陷门生成模块,用于所述数据接收者选取关键词集合,利用所述数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;
云服务器搜索测试模块,用于所述云服务器接收所述搜索陷门,所述云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,所述云服务器返回搜索结果;基于所述数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。
可选地,所述全局参数包括:哈希函数、乘法循环群及其生成元以及双线性对映射函数。
可选地,所述初始化模块包括:
选取子模块,用于选取一个双线性对映射函数
Figure 292828DEST_PATH_IMAGE001
,其中
Figure 227286DEST_PATH_IMAGE002
是一个乘法循环群,
Figure 236961DEST_PATH_IMAGE003
是双线性对映射的目标群;
设置子模块,设置四个安全的抗碰撞哈希函数
Figure 256870DEST_PATH_IMAGE004
;哈希函数
Figure 993882DEST_PATH_IMAGE005
;哈希函数
Figure 782846DEST_PATH_IMAGE006
;哈希函数
Figure 478270DEST_PATH_IMAGE007
Figure 985475DEST_PATH_IMAGE008
是关键词的比特长度,
Figure 260598DEST_PATH_IMAGE009
是与q互素的乘法循环群;
第一计算子模块,用于通过以下公式计算公开全局参数:
Figure 169648DEST_PATH_IMAGE010
,其中,
Figure 770394DEST_PATH_IMAGE011
是乘法循环群
Figure 764895DEST_PATH_IMAGE002
的两个不同的生成元;
第二计算子模块,用于所述数据发送者随机选取
Figure 857091DEST_PATH_IMAGE012
作为其私钥
Figure 620648DEST_PATH_IMAGE013
,计算
Figure 392295DEST_PATH_IMAGE014
作为其公钥;所述数据接收者随机选取
Figure 608512DEST_PATH_IMAGE015
作为其私钥
Figure 756597DEST_PATH_IMAGE016
,计算
Figure 374660DEST_PATH_IMAGE017
作为公钥。
可选地,所述加密模块包括:
提取子模块,用于所述数据发送者提取所述原始数据文件
Figure 582788DEST_PATH_IMAGE018
的关键词,形成长度为n的关键词集合
Figure 286301DEST_PATH_IMAGE019
,计算每一个关键词
Figure 972498DEST_PATH_IMAGE020
对应的安全索引
Figure 461379DEST_PATH_IMAGE021
,其中,安全索引第一分量
Figure 574829DEST_PATH_IMAGE022
,安全索引第二分量
Figure 31218DEST_PATH_IMAGE023
生成子模块,用于生成关键词集合
Figure 521105DEST_PATH_IMAGE024
对应的安全索引集
Figure 848181DEST_PATH_IMAGE025
加密子模块,用于所述数据发送者将待分享的数据文件
Figure 132532DEST_PATH_IMAGE026
采用公钥加密算法进行加密,形成密态数据
Figure 810638DEST_PATH_IMAGE027
上传子模块,用于所述数据发送者将关键词集合
Figure DEST_PATH_IMAGE045
对应的安全索引集
Figure DEST_PATH_IMAGE046
和所述数据文件
Figure 386107DEST_PATH_IMAGE026
的密态数据
Figure 567689DEST_PATH_IMAGE027
上传到云服务器。
本发明与现有技术相比的优点在于:
本发明实施例提供的方案,通过系统初始化步骤:设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;数据及多关键词的可搜索加密步骤:数据发送者提取原始数据文件中含有多个关键词的集合,利用数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;搜索陷门生成步骤:数据接收者选取关键词集合,利用数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;云服务器搜索测试步骤:云服务器接收搜索陷门,云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,云服务器返回搜索结果;基于数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。本发明方法使得用户在不泄露敏感关键词信息的前提下,向云服务器动态提供多个关键词对应的搜索陷门,并获得云服务器返回的正确搜索结果,从而实现云存储系统密态数据共享的功能,保障了数据存储在云端的机密性。由于数据发送者需要用数据发送者的私钥以及接收者的公钥产生关键词集合对应的安全索引集,杜绝了云服务器独立测试验证的情况,避免了内部伪造关键词的安全索引的可能性。
附图说明
图1为本发明实施例提供的一种云服务器中多关键词查询的密态数据可搜索方法的步骤流程图;
图2为本发明实施例提供的一种云服务器中多关键词查询的密态数据可搜索装置的结构示意图。
具体实施方式
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例提供的一种云服务器中多关键词查询的密态数据可搜索方法的步骤流程图,如图1所示,该方法具体可以包括如下步骤:
步骤110:系统初始化步骤。
所述全局参数包括:哈希函数、乘法循环群及其生成元以及双线性对映射函数。
设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥。
在本发明的一种具体实现方式中,上述步骤110可以包括:
子步骤A1:选取一个双线性对映射函数
Figure 22941DEST_PATH_IMAGE001
,其中
Figure 188344DEST_PATH_IMAGE002
是一个乘法循环群,
Figure 20033DEST_PATH_IMAGE003
是双线性对映射的目标群。
子步骤A2:设置四个安全的抗碰撞哈希函数
Figure 321702DEST_PATH_IMAGE004
;哈希函数
Figure 947855DEST_PATH_IMAGE005
;哈希函数
Figure 600553DEST_PATH_IMAGE006
;哈希函数
Figure 235934DEST_PATH_IMAGE007
Figure 392109DEST_PATH_IMAGE008
是关键词的比特长度,
Figure 205475DEST_PATH_IMAGE009
是与q互素的乘法循环群。
子步骤A3:通过以下公式计算公开全局参数:
Figure 814311DEST_PATH_IMAGE010
,其中,
Figure 253383DEST_PATH_IMAGE011
是乘法循环群
Figure 529643DEST_PATH_IMAGE002
的两个不同的生成元。
子步骤A4:所述数据发送者随机选取
Figure 763178DEST_PATH_IMAGE012
作为其私钥
Figure 859310DEST_PATH_IMAGE013
,计算
Figure 836494DEST_PATH_IMAGE014
作为其公钥;所述数据接收者随机选取
Figure 967261DEST_PATH_IMAGE015
作为其私钥
Figure DEST_PATH_IMAGE047
,计算
Figure 371697DEST_PATH_IMAGE017
作为公钥。
基于上述子步骤A1至子步骤A4,公、私钥结构较为简洁,加密存储效率高,安全性强,具有更好的安全密态数据共享性能优势。
步骤120:数据及多关键词的可搜索加密步骤。
数据发送者提取原始数据文件中含有多个关键词的集合,利用所述数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;所述数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器。
在本发明的一种具体实现方式中,上述步骤120可以包括:
子步骤B1:所述数据发送者提取所述原始数据文件
Figure 220705DEST_PATH_IMAGE018
的关键词,形成长度为n的关键词集合
Figure 483802DEST_PATH_IMAGE019
,计算每一个关键词
Figure 734655DEST_PATH_IMAGE020
对应的安全索引
Figure 309993DEST_PATH_IMAGE021
,其中,安全索引第一分量
Figure 646296DEST_PATH_IMAGE022
,安全索引第二分量
Figure DEST_PATH_IMAGE048
子步骤B2:生成关键词集合
Figure DEST_PATH_IMAGE049
对应的安全索引集
Figure 230861DEST_PATH_IMAGE023
子步骤B3:所述数据发送者将待分享的数据文件
Figure 336221DEST_PATH_IMAGE026
采用公钥加密算法进行加密,形成密态数据
Figure 816881DEST_PATH_IMAGE027
子步骤B4:所述数据发送者将关键词集合
Figure 374901DEST_PATH_IMAGE045
对应的安全索引集
Figure 248310DEST_PATH_IMAGE046
和所述数据文件的密态数据
Figure 125316DEST_PATH_IMAGE027
上传到云服务器。
数据发送者可以根据实际情况,动态提炼更容易刻画数据文件特性的多维度关键词,这样可以支持多关键词动态查询,实现更为精细的云存储密态数据搜索功能。这在对于系统灵活性要求很高,关键词复杂多变,甚至需要多维度检索的场合,如在安全级别要求较高的国防、政务云存储系统具有重要的应用价值。
步骤130:搜索陷门生成步骤。
所述数据接收者选取关键词集合,利用所述数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器。
在本发明的一种具体实现方式中,上述步骤130可以包括:
子步骤C1:所述数据接收者确定搜索的长度为n的目标关键词集合
Figure DEST_PATH_IMAGE050
,对于每个关键词
Figure 436212DEST_PATH_IMAGE029
,选取一个随机数
Figure DEST_PATH_IMAGE051
,计算定位标签
Figure 362580DEST_PATH_IMAGE031
,计算n个关键词的随机聚合值
Figure 176952DEST_PATH_IMAGE032
子步骤C2:所述数据接收者选取随机数
Figure DEST_PATH_IMAGE052
,计算随机掩饰码
Figure DEST_PATH_IMAGE053
和计算关于随机聚合值
Figure DEST_PATH_IMAGE054
的盲化值
Figure DEST_PATH_IMAGE055
子步骤C3:依据上述参数计算搜索陷门
Figure 812464DEST_PATH_IMAGE037
,并发送至云服务器。
步骤140:云服务器搜索测试步骤。
所述云服务器接收所述搜索陷门,所述云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,所述云服务器返回搜索结果;基于所述数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。
在本发明的一种具体实现方式中,上述步骤140可以包括:
子步骤D1:对于每一个下标
Figure DEST_PATH_IMAGE056
,所述云服务器依次根据每一个定位标签
Figure 610655DEST_PATH_IMAGE039
查询
Figure 75135DEST_PATH_IMAGE039
Figure 478434DEST_PATH_IMAGE040
是否相等。
子步骤D2:若相等,则获取对应的安全索引
Figure 2957DEST_PATH_IMAGE041
子步骤D3:判断方程
Figure 22865DEST_PATH_IMAGE042
是否成立;若成立,所述云服务器将返回与安全索引关联的密态数据
Figure 25456DEST_PATH_IMAGE043
;所述数据接收者利用私钥解密
Figure 565153DEST_PATH_IMAGE043
得到原始数据文件
Figure DEST_PATH_IMAGE057
搜索测试方程的正确性推导如下所示:
Figure DEST_PATH_IMAGE058
Figure DEST_PATH_IMAGE060
Figure DEST_PATH_IMAGE062
Figure 791735DEST_PATH_IMAGE063
Figure DEST_PATH_IMAGE064
Figure 298940DEST_PATH_IMAGE065
Figure DEST_PATH_IMAGE066
Figure 370801DEST_PATH_IMAGE067
Figure DEST_PATH_IMAGE068
Figure 27654DEST_PATH_IMAGE069
Figure DEST_PATH_IMAGE070
Figure 893979DEST_PATH_IMAGE071
本发明具有抗内部云服务器的关键词猜测攻击的特性。因为数据发送者需要用数据发送者的私钥以及接收者的公钥产生关键词集合对应的安全索引集,杜绝了云服务器独立测试验证的情况,避免了内部伪造关键词的安全索引的可能性。进一步保证了密态数据的安全性。
本发明实施例提供的方案,通过系统初始化步骤:设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;数据及多关键词的可搜索加密步骤:数据发送者提取原始数据文件中含有多个关键词的集合,利用数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;搜索陷门生成步骤:数据接收者选取关键词集合,利用数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;云服务器搜索测试步骤:云服务器接收搜索陷门,云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,云服务器返回搜索结果;基于数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。此发明方法使得用户在不泄露敏感关键词信息的前提下,向云服务器动态提供多个关键词对应的搜索陷门,并获得云服务器返回的正确搜索结果,从而实现云存储系统密态数据共享的功能,保障了数据存储在云端的机密性。由于数据发送者需要用数据发送者的私钥以及接收者的公钥产生关键词集合对应的安全索引集,杜绝了云服务器独立测试验证的情况,避免了内部伪造关键词的安全索引的可能性。
参照图2,示出了本发明实施例提供的一种云服务器中多关键词查询的密态数据可搜索装置的结构示意图,如图2所示,该装置具体可以包括如下模块:
初始化模块201,用于设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;
加密模块202,用于数据发送者提取原始数据文件中含有多个关键词的集合,利用所述数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;所述数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;
搜索陷门生成模块203,用于所述数据接收者选取关键词集合,利用所述数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;
云服务器搜索测试模块204,用于所述云服务器接收所述搜索陷门,所述云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,所述云服务器返回搜索结果;基于所述数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。
可选地,所述全局参数包括:哈希函数、乘法循环群及其生成元以及双线性对映射函数。
可选地,所述初始化模块包括:
选取子模块,用于选取一个双线性对映射函数
Figure DEST_PATH_IMAGE072
,其中
Figure 888480DEST_PATH_IMAGE073
是一个乘法循环群,
Figure DEST_PATH_IMAGE074
是双线性对映射的目标群;
设置子模块,用于设置四个安全的抗碰撞哈希函数
Figure 498452DEST_PATH_IMAGE075
;哈希函数
Figure DEST_PATH_IMAGE076
;哈希函数
Figure 262009DEST_PATH_IMAGE077
;哈希函数
Figure DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE079
是关键词的比特长度,
Figure DEST_PATH_IMAGE080
是与q互素的乘法循环群;
第一计算子模块,用于通过以下公式计算公开全局参数:
Figure DEST_PATH_IMAGE081
,其中,
Figure DEST_PATH_IMAGE082
是乘法循环群
Figure 846705DEST_PATH_IMAGE073
的两个不同的生成元。
第二计算子模块,用于所述数据发送者随机选取
Figure DEST_PATH_IMAGE083
作为其私钥
Figure DEST_PATH_IMAGE084
,计算
Figure DEST_PATH_IMAGE085
作为其公钥;所述数据接收者随机选取
Figure 859661DEST_PATH_IMAGE015
作为其私钥
Figure DEST_PATH_IMAGE086
,计算
Figure DEST_PATH_IMAGE087
作为公钥。
可选地,所述加密模块包括:
提取子模块,用于所述数据发送者提取所述原始数据文件
Figure 24057DEST_PATH_IMAGE057
的关键词,形成长度为n的关键词集合
Figure DEST_PATH_IMAGE088
,计算每一个关键词
Figure DEST_PATH_IMAGE089
对应的安全索引
Figure DEST_PATH_IMAGE090
,其中,安全索引第一分量
Figure 438858DEST_PATH_IMAGE022
,安全索引第二分量
Figure DEST_PATH_IMAGE091
生成子模块,用于生成关键词集合
Figure 912564DEST_PATH_IMAGE049
对应的安全索引集。
加密子模块,用于所述数据发送者将待分享的数据文件
Figure 350499DEST_PATH_IMAGE057
采用公钥加密算法进行加密,形成密态数据
Figure DEST_PATH_IMAGE092
上传子模块,用于所述数据发送者将关键词集合
Figure 53007DEST_PATH_IMAGE088
对应的安全索引集
Figure DEST_PATH_IMAGE093
和所述数据文件
Figure 791156DEST_PATH_IMAGE057
的密态数据
Figure 904605DEST_PATH_IMAGE092
上传到云服务器。
可选地,所述搜索陷门生成模块包括:
第三计算子模块,用于所述数据接收者确定搜索的长度为n的目标关键词集合
Figure 95415DEST_PATH_IMAGE050
,对于每个关键词
Figure 585302DEST_PATH_IMAGE029
,选取一个随机数
Figure DEST_PATH_IMAGE094
,计算定位标签
Figure DEST_PATH_IMAGE095
,计算n个关键词的随机聚合值
Figure 443537DEST_PATH_IMAGE032
第四计算子模块,用于所述数据接收者选取随机数
Figure DEST_PATH_IMAGE096
,计算随机掩饰码
Figure DEST_PATH_IMAGE097
和计算关于随机聚合值
Figure DEST_PATH_IMAGE098
的盲化值
Figure 538007DEST_PATH_IMAGE055
第五计算子模块,用于依据上述参数计算搜索陷门
Figure DEST_PATH_IMAGE099
,并发送至云服务器。
可选地,所述云服务器搜索测试包括:
查询子模块,用于对于每一个下标
Figure 216113DEST_PATH_IMAGE056
,所述云服务器依次根据每一个定位标签
Figure DEST_PATH_IMAGE100
查询
Figure 509691DEST_PATH_IMAGE100
Figure DEST_PATH_IMAGE101
是否相等。
安全索引确定子模块,用于若相等,则获取对应的安全索引
Figure DEST_PATH_IMAGE102
判断子模块,用于判断方程
Figure 222433DEST_PATH_IMAGE042
是否成立;若成立,所述云服务器将返回与安全索引关联的密态数据
Figure 693996DEST_PATH_IMAGE092
;所述数据接收者利用私钥解密
Figure 859398DEST_PATH_IMAGE092
得到原始数据文件
Figure 425509DEST_PATH_IMAGE057
本发明实施例提供的方案,通过系统初始化步骤:设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;数据及多关键词的可搜索加密步骤:数据发送者提取原始数据文件中含有多个关键词的集合,利用数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;搜索陷门生成步骤:数据接收者选取关键词集合,利用数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;云服务器搜索测试步骤:云服务器接收搜索陷门,云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,云服务器返回搜索结果;基于数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件。此发明方法使得用户在不泄露敏感关键词信息的前提下,向云服务器动态提供多个关键词对应的搜索陷门,并获得云服务器返回的正确搜索结果,从而实现云存储系统密态数据共享的功能,保障了数据存储在云端的机密性。由于数据发送者需要用数据发送者的私钥以及接收者的公钥产生关键词集合对应的安全索引集,杜绝了云服务器独立测试验证的情况,避免了内部伪造关键词的安全索引的可能性。

Claims (4)

1.一种云服务器中多关键词查询的密态数据可搜索方法,其特征在于,所述方法包括:
系统初始化步骤:设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;
数据及多关键词的可搜索加密步骤:数据发送者提取原始数据文件中含有多个关键词的集合,利用所述数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;所述数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;
搜索陷门生成步骤:所述数据接收者选取关键词集合,利用所述数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;
云服务器搜索测试步骤:所述云服务器接收所述搜索陷门,所述云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,所述云服务器返回搜索结果;基于所述数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件;
其中,所述全局参数包括:哈希函数、乘法循环群及其生成元以及双线性对映射函数;
选取一个双线性对映射函数e:G1×G1→GT,其中G1是一个乘法循环群,GT是双线性对映射的目标群;
设置四个安全的抗碰撞哈希函数H1:
Figure FDA0002793577760000011
哈希函数H2:
Figure FDA0002793577760000012
哈希函数H3:
Figure FDA0002793577760000013
哈希函数H4:
Figure FDA0002793577760000014
l1是关键词的比特长度,
Figure FDA0002793577760000015
是与q互素的乘法循环群;
通过以下公式计算公开全局参数:
Para=(e,G1,GT,g,ν,H1,H2,H3,H4),其中,g,ν是乘法循环群G1的两个不同的生成元;
所述数据发送者随机选取
Figure FDA0002793577760000016
作为其私钥sks=x,计算pks=gx作为其公钥;所述数据接收者随机选取
Figure FDA0002793577760000017
作为其私钥skr=y,计算pkr=gy作为公钥;
所述数据及多关键词的可搜索加密步骤,包括:
所述数据发送者提取所述原始数据文件f的关键词,形成长度为n的关键词集合kw={kw1,...,kwn},计算每一个关键词kwj(j=1,2,…,n)对应的安全索引Cj={Cj,1,Cj,2},其中,安全索引第一分量
Figure FDA0002793577760000018
安全索引第二分量Cj,2=H4(pkr x,kwj);
生成关键词集合kw={kw1,...,kwn}对应的安全索引集C={C1,C2,…,Cn};
所述数据发送者将待分享的数据文件f采用公钥加密算法进行加密,形成密态数据ξ;
所述数据发送者将关键词集合kw={kw1,...,kwn}对应的安全索引集C={C1,C2,…,Cn}和所述数据文件f的密态数据ξ上传到云服务器。
2.根据权利要求1所述的方法,其特征在于,所述搜索陷门生成步骤包括:
所述数据接收者确定搜索的长度为n的目标关键词集合kw={kw1,...,kwn},对于每个关键词kwj,选取一个随机数
Figure FDA0002793577760000021
计算定位标签tagj=H4(pks y,kwj),计算n个关键词的随机聚合值
Figure FDA0002793577760000022
所述数据接收者选取随机数
Figure FDA0002793577760000023
计算随机掩饰码D=e(pks,g)r和计算关于随机聚合值μ′的盲化值μ=r+H3(D)μ′;
依据上述参数计算搜索陷门T=({tagj}1≤j≤n,{τj}1≤j≤n,D,μ),并发送至云服务器。
3.根据权利要求2所述的方法,其特征在于,所述云服务器搜索测试步骤,包括:
对于每一个下标j=1,2,…,n,所述云服务器依次根据每一个定位标签tagj查询tagj与Cj,2是否相等;
若相等,则获取对应的安全索引Cj={Cj,1,Cj,2};
判断方程
Figure FDA0002793577760000024
是否成立;若成立,所述云服务器将返回与安全索引关联的密态数据ξ;所述数据接收者利用私钥解密ξ得到原始数据文件f。
4.一种云服务器中多关键词查询的密态数据可搜索装置,其特征在于,所述装置包括:
初始化模块,用于设置并公开全局参数,数据发送者和数据接收者分别选取自身私钥并发布对应公钥;
加密模块,用于数据发送者提取原始数据文件中含有多个关键词的集合,利用所述数据发送者的私钥以及数据接收者的公钥,分别产生每个关键词对应的安全索引,形成安全索引集;通用的公钥加密技术将原始数据文件加密;所述数据发送者将安全索引集和原始数据文件的密态数据上传到云服务器;
搜索陷门生成模块,用于所述数据接收者选取关键词集合,利用所述数据接收者私钥计算关键词集合对应的搜索陷门,并将搜索陷门发送到云服务器;
云服务器搜索测试模块,用于所述云服务器接收所述搜索陷门,所述云服务器逐一将关键词对应的安全索引,以及原始数据文件的密态数据进行搜索测试,在匹配成功的情况下,所述云服务器返回搜索结果;基于所述数据接收者的私钥进行解密得到其选取的关键词集合对应的原始数据文件;
其中,所述全局参数包括:哈希函数、乘法循环群及其生成元以及双线性对映射函数;
所述初始化模块包括:
选取子模块,用于选取一个双线性对映射函数e:G1×G1→GT,其中G1是一个乘法循环群,GT是双线性对映射的目标群;
设置子模块,用于设置四个安全的抗碰撞哈希函数H1:
Figure FDA0002793577760000031
哈希函数H2:
Figure FDA0002793577760000032
哈希函数H3:
Figure FDA0002793577760000033
哈希函数H4:
Figure FDA0002793577760000034
l1是关键词的比特长度,
Figure FDA0002793577760000035
是与q互素的乘法循环群;
第一计算子模块,用于通过以下公式计算公开全局参数:
Para=(e,G1,GT,g,ν,H1,H2,H3,H4),其中,g,ν是乘法循环群G1的两个不同的生成元;
第二计算子模块,所述数据发送者随机选取
Figure FDA0002793577760000036
作为其私钥sks=x,计算pks=gx作为其公钥;所述数据接收者随机选取
Figure FDA0002793577760000037
作为其私钥skr=y,计算pkr=gy作为公钥;
所述加密模块包括:
提取子模块,用于所述数据发送者提取所述原始数据文件f的关键词,形成长度为n的关键词集合kw={kw1,...,kwn},计算每一个关键词kwj(j=1,2,…,n)对应的安全索引Cj={Cj,1,Cj,2},其中,安全索引第一分量
Figure FDA0002793577760000038
安全索引第二分量Cj,2=H4(pkr x,kwj);
生成子模块,用于生成关键词集合kw={kw1,...,kwn}对应的安全索引集C={C1,C2,…,Cn};
加密子模块,用于所述数据发送者将待分享的数据文件f采用通用的公钥加密算法进行加密,形成密态数据ξ;
上传子模块,用于所述数据发送者将关键词集合kw={kw1,...,kwn}对应的安全索引集C={C1,C2,…,Cn}和所述数据文件f的密态数据ξ上传到云服务器。
CN202011006637.3A 2020-09-23 2020-09-23 云服务器中多关键词查询的密态数据可搜索方法及装置 Active CN111930688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011006637.3A CN111930688B (zh) 2020-09-23 2020-09-23 云服务器中多关键词查询的密态数据可搜索方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011006637.3A CN111930688B (zh) 2020-09-23 2020-09-23 云服务器中多关键词查询的密态数据可搜索方法及装置

Publications (2)

Publication Number Publication Date
CN111930688A CN111930688A (zh) 2020-11-13
CN111930688B true CN111930688B (zh) 2021-01-08

Family

ID=73334045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011006637.3A Active CN111930688B (zh) 2020-09-23 2020-09-23 云服务器中多关键词查询的密态数据可搜索方法及装置

Country Status (1)

Country Link
CN (1) CN111930688B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560075B (zh) * 2021-02-22 2021-05-25 西南石油大学 一种基于椭圆曲线的轻量级可搜索加密方法及装置
CN113904823B (zh) * 2021-09-28 2024-02-27 长沙学院 常数级授权计算复杂度的属性基可搜索加密方法及系统
CN114826575A (zh) * 2022-04-19 2022-07-29 西安电子科技大学 云中基于内积谓词的单关键词可搜索加密方法
CN114866240A (zh) * 2022-06-14 2022-08-05 电子科技大学 一种高效的细粒度的可搜索加密方法
CN115033908B (zh) * 2022-08-11 2022-10-21 西南石油大学 基于云存储的油气勘探细粒度密态数据的检索方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938767A (zh) * 2012-11-13 2013-02-20 西安电子科技大学 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN106127075A (zh) * 2016-06-27 2016-11-16 湖南大学 一种云存储环境下基于隐私保护的可搜索加密方法
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN107948146A (zh) * 2017-11-20 2018-04-20 武汉科技大学 一种混合云中基于属性加密的连接关键词检索方法
CN108920968A (zh) * 2018-06-29 2018-11-30 南京理工大学 一种基于连接关键词的文件可搜索加密方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601586B (zh) * 2015-01-29 2017-12-19 西安电子科技大学 一种公开可验证的外包统计方法
CN105024812B (zh) * 2015-07-13 2018-07-06 西安理工大学 云存储中基于身份的指定测试者的可搜索的加密方法
CN105871543B (zh) * 2016-03-29 2019-02-15 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN106850652B (zh) * 2017-02-21 2020-05-26 重庆邮电大学 一种仲裁可搜索加密方法
CN107395568A (zh) * 2017-06-21 2017-11-24 西安电子科技大学 一种多数据拥有者认证的密文检索方法
CN111066076B (zh) * 2017-09-12 2023-03-17 三菱电机株式会社 登记终端、密钥服务器、检索系统和计算机能读取的存储介质
CN108156138B (zh) * 2017-12-13 2020-10-27 西安电子科技大学 一种用于雾计算的细粒度可搜索加密方法
CN109584978B (zh) * 2018-10-26 2022-01-14 西安邮电大学 基于签名聚合医疗健康监控网络模型信息处理方法及系统
CN109474610B (zh) * 2018-12-07 2020-12-22 西南石油大学 基于智能电网的匿名可认证的密钥交换方法
CN111082920A (zh) * 2019-12-27 2020-04-28 西南石油大学 面向智能电网的非交互式可验证的多类型加密数据聚合方法
CN111162894B (zh) * 2019-12-31 2020-11-10 西南石油大学 具有隐私保护的外包云存储医疗数据聚合的统计分析方法
CN111294366B (zh) * 2020-05-13 2020-07-28 西南石油大学 智能电网中抗密钥泄露的加密数据聚合的统计分析方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938767A (zh) * 2012-11-13 2013-02-20 西安电子科技大学 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN106127075A (zh) * 2016-06-27 2016-11-16 湖南大学 一种云存储环境下基于隐私保护的可搜索加密方法
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN107948146A (zh) * 2017-11-20 2018-04-20 武汉科技大学 一种混合云中基于属性加密的连接关键词检索方法
CN108920968A (zh) * 2018-06-29 2018-11-30 南京理工大学 一种基于连接关键词的文件可搜索加密方法

Also Published As

Publication number Publication date
CN111930688A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111930688B (zh) 云服务器中多关键词查询的密态数据可搜索方法及装置
Li et al. Enabling efficient multi-keyword ranked search over encrypted mobile cloud data through blind storage
Zhang et al. Pop: Privacy-preserving outsourced photo sharing and searching for mobile devices
Orencik et al. A practical and secure multi-keyword search method over encrypted cloud data
CN113626484B (zh) 一种可灵活替换密文可搜索加密方法、系统及计算机设备
Yuan et al. Enabling privacy-preserving image-centric social discovery
CN112270006A (zh) 电商平台中隐藏搜索模式和访问模式的可搜索加密方法
Yang et al. Flexible wildcard searchable encryption system
CN112152803B (zh) 一种多接收者密文可搜索的基于身份加密方法
Ning et al. LEAP: leakage-abuse attack on efficiently deployable, efficiently searchable encryption with partially known dataset
Shao et al. Achieve efficient and verifiable conjunctive and fuzzy queries over encrypted data in cloud
Xiangyang et al. MUSE: an efficient and accurate verifiable privacy-preserving multikeyword text search over encrypted cloud data
CN104636462A (zh) 一种能抵抗统计分析攻击的快速密文检索方法和系统
CN112861153A (zh) 一种关键字可搜索延迟加密方法及系统
CN110866135A (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN111934875B (zh) 一种支持密文模糊搜索功能的公钥加密方法和系统
Jiang et al. An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage.
Li et al. Multi-keyword fuzzy search over encrypted cloud storage data
Ren et al. Privacy-preserving ranked multi-keyword search leveraging polynomial function in cloud computing
EdalatNejad et al. {DatashareNetwork}: A Decentralized {Privacy-Preserving} Search Engine for Investigative Journalists
Zou et al. A Data Sorting and Searching Scheme Based on Distributed Asymmetric Searchable Encryption.
Ibrahim et al. Approximate keyword-based search over encrypted cloud data
Fan et al. Multi-keyword fuzzy and sortable ciphertext retrieval scheme for big data
Ferreira et al. Muse: Multimodal searchable encryption for cloud applications
Zhang Semantic-based searchable encryption in cloud: issues and challenges

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
GR01 Patent grant
GR01 Patent grant