CN115694974A - 一种基于协同可搜索的密文数据共享方法及系统 - Google Patents

一种基于协同可搜索的密文数据共享方法及系统 Download PDF

Info

Publication number
CN115694974A
CN115694974A CN202211337747.7A CN202211337747A CN115694974A CN 115694974 A CN115694974 A CN 115694974A CN 202211337747 A CN202211337747 A CN 202211337747A CN 115694974 A CN115694974 A CN 115694974A
Authority
CN
China
Prior art keywords
user
key
data
ciphertext
attribute
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
CN202211337747.7A
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.)
Guizhou University
Original Assignee
Guizhou 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 Guizhou University filed Critical Guizhou University
Priority to CN202211337747.7A priority Critical patent/CN115694974A/zh
Publication of CN115694974A publication Critical patent/CN115694974A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种基于协同可搜索的密文数据共享方法及系统,属于数据共享领域,数据共享方法包括:授权机构生成公共参数、系统主私钥、组私钥及用户私钥;数据拥有者根据公共参数、访问策略树及属性集对关键字索引集进行加密得到密文关键字索引;数据使用者根据公共参数及用户私钥对待检索关键字进行加密,生成检索陷门;云服务器判断数据使用者的属性集及协同者的协同属性是否满足访问策略树,若满足,则根据公共参数、检索陷门、密文关键字索引、数据使用者和协同者的协作密钥及访问策略树确定解密关键字索引;若解密关键字索引与密文关键字索引对应,则将对应的数据文档发送至数据使用者。实现了多人协同检索数据,提高了访问控制的灵活性。

Description

一种基于协同可搜索的密文数据共享方法及系统
技术领域
本发明涉及数据共享领域,特别是涉及一种基于协同可搜索的密文数据共享方法及系统。
背景技术
云存储的广泛应用使得更多的用户开始选择将自己的数据外包到云上进行存储,云存储具有强大的计算能力以及存储容量,减轻了用户本地数据存储及管理的负担。但是,云服务器并不是完全可信的,它可能会泄漏与用户相关的敏感数据,威胁着用户的安全。为了解决这一问题,数据在外包给云服务器之前应先加密,如电子医疗系统,该系统通常将电子健康记录数据先在本地加密后,再上传至云端存储使用。虽然加密的数据可以保证隐私性,但是它也给用户后期访问与共享数据造成困难。
可搜索加密是在不解密密文的条件下实现搜索功能的一种技术,它将文档或记录与一个个关键词相匹配,在检索时将需要检索的关键词与检索私钥绑定形成检索陷门,并将检索陷门上传至云服务执行检索操作,最后返回检索的结果。目前可搜索加密在效率和功能性上都已有较多的研究,在基于属性的可搜索加密的研究中,绝大多数的研究者都在研究基于一个人的属性是否满足检索策略的情况,然而,当出现一份文件需要某一公司内不同组的人访问或者需要上级协助下级访问时,并没有实现真正意义上的细粒度访问,且访问控制结构不够灵活。
发明内容
本发明的目的是提供一种基于协同可搜索的密文数据共享方法及系统,可实现多人协同检索数据,提高访问控制结构的灵活性。
为实现上述目的,本发明提供了如下方案:
一种基于协同可搜索的密文数据共享方法,包括:
通过授权机构生成公共参数、系统主私钥及各组的组私钥;每组包括多个用户;同一组内各用户的组私钥相同;
针对任一用户,授权机构根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥;各用户的属性集中包括多个属性,多个属性分为普通属性及协同属性;所述用户私钥包括分密钥、协作密钥及各属性的属性密钥;
数据拥有者根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,并将所述访问策略树及所述密文关键字索引上传至云服务器;所述数据拥有者为用户;所述关键字索引集中包括多个关键字,各关键字链接至对应的数据文档;
数据使用者根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门,并上传至云服务器;
云服务器根据所述数据使用者的属性集及协同者的协同属性,判断是否满足所述访问策略树,若不满足,则数据共享失败;若满足,则根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引;
判断所述解密关键字索引是否存在于所述密文关键字索引中,若存在,则检索成功,将所述待检索关键字对应的数据文档发送至所述数据使用者。
可选地,所述通过授权机构生成公共参数、系统主私钥,具体包括:
获取安全参数;
根据所述安全参数,确定两个阶为p的乘法循环群
Figure BDA0003915170010000021
Figure BDA0003915170010000022
根据两个乘法循环群生成双线性映射e;
从模为p的正整数域中随机选择第一随机数α、第二随机数β1及第三随机数β2,并确定哈希函数H;
所述公共参数为
Figure BDA0003915170010000023
其中,
Figure BDA0003915170010000024
Figure BDA0003915170010000025
为两个乘法循环群,p为乘法循环群的阶,e为双线性映射,α为第一随机数、β1为第二随机数、β2为第三随机数,g为乘法循环群的生成元;所述系统主私钥包括第一随机数α、第二随机数β1及第三随机数β2
可选地,所述授权机构根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥,具体包括:
所述授权机构检查所述用户所属的组,并确定用户所属组的组私钥;
所述授权机构根据所述系统主私钥、所述用户所属组的组私钥及所述公共参数,计算分密钥;
随机选择第四随机数,并根据所述用户所属组的组私钥、所述第四随机数及所述公共参数,生成协作密钥;
针对所述用户的任一属性,根据所述第四随机数、所述属性及所述公共参数,确定所述属性的属性密钥。
可选地,采用以下公式,计算分密钥:
Figure BDA0003915170010000031
其中,K为分密钥,g、α、β1均为公共参数,θm为组私钥。
可选地,采用以下公式,确定协作密钥:
Figure BDA0003915170010000032
其中,E为协作密钥,g、β2均为公共参数,γ为第四随机数,θm为组私钥。
可选地,采用以下公式,确定属性j的属性密钥:
Figure BDA0003915170010000033
其中,Kj为属性j的属性密钥,g为公共参数,γ为第四随机数,H()为哈希函数,aj为属性j。
可选地,所述密文关键字索引包括访问策略树、第一密文索引、第二密文索引、第三密文索引及访问策略树中各节点的密文分量;
所述数据拥有者根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,具体包括:
随机选择一个秘密值;
根据所述秘密值、所述公共参数及所述关键字索引集,生成第一密文索引、第二密文索引及第三密文索引;
根据所述秘密值,确定所述访问策略树中各节点的多项式;所述访问策略树中根节点的多项式中的常数为所述秘密值;
根据各节点的多项式、所述公共参数及所述数据拥有者的属性集,确定各节点的密文分量。
可选地,所述数据使用者根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门,具体包括:
根据所述数据使用者的分密钥、所述公共参数及所述待检索关键字,计算第一陷门分量;
根据所述第一陷门分量、所述数据使用者各属性的属性密钥及所述数据使用者的协作密钥,确定检索陷门。
可选地,根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引,具体包括:
针对所述访问策略树中的任一叶子节点,根据所述公共参数、所述叶子节点的多项式,确定所述叶子节点的中间量;
针对所述访问策略树中的任一非叶子节点,从叶子节点开始,根据所述非叶子节点的各子节点的多项式、所述数据使用者的协作密钥、所述协同者的协作密钥,采用拉格朗日插值多项式,自下而上计算所述非叶子节点的中间变量;根节点的中间变量为秘密值;
根据所述访问策略树中根节点的中间变量、所述数据使用者的协作密钥及所述密文关键字索引,确定解密关键字索引。
为实现上述目的,本发明还提供了如下方案:
一种基于协同可搜索的密文数据共享系统,包括:
授权机构,用于生成公共参数、系统主私钥及各组的组私钥;针对任一用户,根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥;每组包括多个用户;各用户的属性集中包括多个属性,多个属性分为普通属性及协同属性;所述用户私钥包括分密钥、协作密钥及各属性的属性密钥;同一组内各用户的组私钥相同;
数据拥有者,用于根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,并将所述访问策略树及所述密文关键字索引上传至云服务器;所述数据拥有者为用户;所述关键字索引集中包括多个关键字,各关键字链接至对应的数据文档;
数据使用者,用于根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门;
云服务器,用于根据所述数据使用者的属性集及协同者的协同属性,判断是否满足所述访问策略树,若不满足,则数据共享失败;若满足,则根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引;判断所述解密关键字索引是否存在于所述密文关键字索引中,若存在,则检索成功,将所述待检索关键字对应的数据文档发送至所述数据使用者。
根据本发明提供的具体实施例,本发明公开了以下技术效果:通过授权机构生成公共参数、系统主私钥及各组的组私钥,并为每个用户生成用户私钥,其中用户私钥包括分密钥、协作密钥及属性密钥,数据拥有者根据公共参数、访问策略树及数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,并将访问策略树及密文关键字索引上传至云服务器;数据使用者根据公共参数及数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门,并上传至云服务器;云服务器根据数据使用者和协同者的属性集,判断是否满足访问策略树,若不满足,则数据共享失败;若满足,则根据公共参数、检索陷门、密文关键字索引、数据使用者的属性集、数据使用者的协作密钥、协同者的协作密钥及访问策略树,确定解密关键字索引;判断解密关键字索引是否存在于密文关键字索引中,若存在,则检索成功,将待检索关键字对应的数据文档发送至数据使用者。在数据使用者的属性不足以访问数据时,能够与协同者的属性协同访问,即实现了多人协同检索数据,提高了访问控制的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于协同可搜索的密文数据共享方法的流程图;
图2为本发明基于协同可搜索的密文数据共享系统的示意图。
符号说明:
授权机构-1,数据拥有者-2,数据使用者-3,云服务器-4。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于协同可搜索的密文数据共享方法及系统,解决当某一用户属性权限不足以支持检索时,可以通过另一个用户的属性,在允许可控的范围内进行协同检索。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
如图1所示,本发明基于协同可搜索的密文数据共享方法包括:
S1:通过授权机构生成公共参数、系统主私钥及各组的组私钥。每组包括多个用户。各组的组私钥不同。每个项目都与一个不同的组相关联。对于每个组m,选择一个唯一的组密钥来隐式表示特定用户所属的哪个组。同一组内各用户的组私钥相同。各组的组私钥
Figure BDA0003915170010000071
Figure BDA0003915170010000072
为模为p的整数域。在本实施例中,授权机构为根据每个用户的属性给每个用户授权的机构。
具体地,步骤S1包括:
S11:获取安全参数λ。
S12:根据所述安全参数λ,确定两个阶为p的乘法循环群
Figure BDA0003915170010000073
Figure BDA0003915170010000074
S13:根据两个乘法循环群生成双线性映射
Figure BDA0003915170010000075
S14:从模为p的正整数域
Figure BDA0003915170010000076
中随机选择第一随机数α、第二随机数β1及第三随机数β2,并确定哈希函数
Figure BDA0003915170010000077
在本实施例中,第一随机数α、第二随机数β1及第三随机数β2作为系统主私钥MSK。公共参数
Figure BDA0003915170010000078
Figure BDA0003915170010000079
g为两个乘法循环群的生成元。将公共参数公开。
S2:针对任一用户,授权机构根据所述公共参数PP、所述用户的属性集S={a1,a2,...,am}及所述系统主私钥MSK,确定所述用户的用户私钥SK。各用户的属性集中包括n个属性a1,a2,...,an,n个属性分为普通属性及协同属性。所述用户私钥包括分密钥K、协作密钥E及各属性的属性密钥Kj
具体地,授权机构检查用户所属的组,并确定用户所属组的组私钥θm。根据所述系统主私钥、所述用户所属组的组私钥及所述公共参数,计算分密钥:
Figure BDA00039151700100000710
其中,K为分密钥,g为公共参数中乘法循环群的生成元、α为公共参数中的第一随机数、β1为公共参数中的第二随机数,θm为组私钥。
随机选择第四随机数
Figure BDA00039151700100000711
Figure BDA00039151700100000712
为模为p的正整数域,并根据所述用户所属组的组私钥θm、所述第四随机数γ及所述公共参数PP,生成协作密钥:
Figure BDA0003915170010000081
其中,E为协作密钥(用于协作的翻译密钥),g为公共参数中乘法循环群的生成元、β2为公共参数中的第三随机数,γ为第四随机数,θm为组私钥。
针对所述用户的任一属性aj∈S,根据所述第四随机数、所述属性aj及所述公共参数PP,确定所述属性的属性密钥:
Figure BDA0003915170010000082
其中,Kj为属性j的属性密钥,g为公共参数中乘法循环群的生成元,γ为第四随机数,H()为公共参数中的哈希函数,aj为属性j,1<j<n。
最终用户私钥为
Figure BDA0003915170010000083
每个用户的私钥都与其属性相关联,且嵌入一个随机数,使得私钥的安全性更高,不可伪造。
S3:数据拥有者根据所述公共参数PP、访问策略树T及所述数据拥有者的属性集,对关键字索引集w进行加密,得到密文关键字索引
Figure BDA0003915170010000084
并将所述访问策略树T及所述密文关键字索引
Figure BDA0003915170010000085
上传至云服务器。所述数据拥有者为用户。所述关键字索引集中包括多个关键字,各关键字链接至对应的数据文档。访问策略树T上的一些节点设置为转换节点,即可以用于协同的节点。叶子节点对应用户的各个属性。
进一步地,步骤S3包括:
S31:随机选择一个秘密值s,
Figure BDA0003915170010000086
S32:根据所述秘密值s、所述公共参数PP及所述关键字索引集w,生成第一密文索引
Figure BDA0003915170010000087
第二密文索引
Figure BDA0003915170010000088
及第三密文索引
Figure BDA0003915170010000089
其中,
Figure BDA00039151700100000810
Figure BDA00039151700100000811
H()为公共参数中的哈希函数,g为公共参数中乘法循环群的生成元,α为公共参数中的第一随机数,β1为公共参数中的第二随机数,β2为公共参数中的第三随机数,e为公共参数中的双线性映射。
S33:根据所述秘密值,确定所述访问策略树T中各节点的多项式。所述访问策略树中根节点的多项式中的常数为所述秘密值。
具体地,对于访问策略树T中的每个非叶子节点,数据所有者从根节点r开始,以自顶而下的方式选择一个dx度的多项式qx
Figure BDA0003915170010000091
Figure BDA0003915170010000092
a'、b'、c'、d'、e'均为常数,其中dx=kx-1,kx为节点x的阈值。
对于访问策略树T的根节点,设置根节点的多项式qroot(0)=s。
对于其他的非根节点,设置qx(0)=qparent(x)(index(x)),其中,叶子节点的度为0。index(x)表示节点x的一个标签,qparent(x)表示节点x的父节点的多项式。
S34:根据各节点的多项式、所述公共参数及所述数据拥有者的属性集,确定各节点的密文分量。叶子节点的密文分量包括第一密文分量
Figure BDA0003915170010000093
和第二密文分量
Figure BDA0003915170010000094
对于每个叶子节点,采用公式
Figure BDA0003915170010000095
计算第一密文分量,采用公式
Figure BDA0003915170010000096
计算第二密文分量,其中,g为公共参数中乘法循环群的生成元,qx(0)为节点x的多项式,H()为公共参数中的哈希函数,att(x)为节点x对应的数据拥有者的属性。
对于每个转换节点y,采用公式
Figure BDA0003915170010000097
计算密文分量,其中,g为公共参数中乘法循环群的生成元,β2为公共参数中的第三随机数,qy(0)为节点y的多项式。
因此,密文关键字索引为
Figure BDA0003915170010000098
S4:数据使用者根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门,并上传至云服务器。
进一步地,步骤S4包括:
S41:根据所述数据使用者的分密钥K、所述公共参数PP及所述待检索关键字q,计算第一陷门分量
Figure BDA0003915170010000099
Figure BDA00039151700100000910
其中,α为公共参数中的第一随机数、β1为公共参数中的第二随机数,H()为公共参数中的哈希函数,θm为组私钥。
S42:根据所述第一陷门分量
Figure BDA00039151700100000911
所述数据使用者各属性的属性密钥及所述数据使用者的协作密钥E,确定检索陷门
Figure BDA0003915170010000101
Figure BDA0003915170010000102
Figure BDA0003915170010000103
SU为数据使用者的属性集合,a为数据使用者的属性,ta为属性a的属性密钥,γ为第四随机数,g为公共参数中乘法循环群的生成元,H()为公共参数中的哈希函数。
S5:云服务器根据所述数据使用者的属性集及协同者的协同属性,判断是否满足所述访问策略树,若不满足,则数据共享失败;若满足,则根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协同属性、所述访问策略树,确定解密关键字索引。
具体地,首先云服务器会判断数据使用者的属性集合是否满足加密索引的访问策略树T,即将数据使用者的属性集代入访问策略树各叶子节点的多项式中,若最后能够解密出访问策略树的秘密值s,则满足访问策略,若不满足访问策略,则返回⊥。
进一步地,步骤S5中,根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协同属性、所述访问策略树,确定解密关键字索引,具体包括:
针对所述访问策略树中的任一叶子节点,根据所述公共参数、所述叶子节点的多项式,确定所述叶子节点的中间量Fx
Figure BDA0003915170010000104
Figure BDA0003915170010000105
针对所述访问策略树中的任一非叶子节点,从叶子节点开始,根据所述非叶子节点的各子节点的多项式、所述数据使用者的协作密钥、所述协同者的协作密钥,采用拉格朗日插值多项式,自下而上计算所述非叶子节点的中间变量。
具体地,首先计算节点x的kx个子节点z的中间变量
Figure BDA0003915170010000106
Figure BDA0003915170010000107
并将其存储在Sx中。Sx表示选择满足的子节点来满足节点x所表示的谓词。E′为协同者的协作密钥。F′z为协同属性的中间变量。
如果没有这样的kx大小的子节点z,则返回⊥,即查询失败。
其次使用拉格朗日插值多项式计算中间量
Figure BDA0003915170010000111
Figure BDA0003915170010000112
通过如此迭代循环,根节点r的中间变量计算为
Figure BDA0003915170010000113
根据所述访问策略树中根节点的中间变量、所述数据使用者的协作密钥及所述密文关键字索引,确定解密关键字索引。
具体地,云服务器采用公式
Figure BDA0003915170010000114
计算总中间量F。再按照该匹配公式计算解密关键字索引
Figure BDA0003915170010000115
S6:判断所述解密关键字索引I与所述密文关键字索引
Figure BDA0003915170010000116
中的第一密文索引
Figure BDA0003915170010000117
是否对应,若对应,则检索成功,将所述待检索关键字对应的数据文档发送至所述数据使用者。即若解密关键字索引存在于密文关键字索引中,则检索成功。
本发明在密钥生成阶段时生成协同密钥,并在检索时在协同密钥的协作下实现密文关键字的检索,实现了某一用户可在允许可控的范围内在另一用户的协同下进行密文关键字的检索。并且基于DBDH(Decisional Bilinear Diffie-Hellman)困难问题假设,能够在选择明文攻击下能保证数据的机密性,并能抵抗共谋攻击。
实施例二
为了执行上述实施例一对应的方法,以实现相应的功能和技术效果,下面提供一种基于协同可搜索的密文数据共享系统。
如图2所示,本实施例提供的基于协同可搜索的密文数据共享系统包括:授权机构1、数据拥有者2、数据使用者3及云服务器4。
其中,授权机构1用于生成公共参数、系统主私钥及各组的组私钥;针对任一用户,根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥。每组包括多个用户。各用户的属性集中包括多个属性,多个属性分为普通属性及协同属性。所述用户私钥包括分密钥、协作密钥及各属性的属性密钥。同一组内各用户的组私钥相同。
数据拥有者2用于根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,并将所述访问策略树及所述密文关键字索引上传至云服务器4。所述数据拥有者2为用户。所述关键字索引集中包括多个关键字,各关键字链接至对应的数据文档。
数据使用者3用于根据所述公共参数及所述数据使用者3的用户私钥,对待检索关键字进行加密,生成检索陷门。
云服务器4用于根据所述数据使用者3的属性集及协同者的协同属性,判断是否满足所述访问策略树,若不满足,则数据共享失败;若满足,则根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者3的协作密钥及所述数据使用者的属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引;判断所述解密关键字索引是否存在于所述密文关键字索引中,若存在,则检索成功,将所述待检索关键字对应的数据文档发送至所述数据使用者3。
在本实施例中,授权机构1、数据拥有者2、数据使用者3均为计算机或其他终端设备。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于协同可搜索的密文数据共享方法,其特征在于,所述基于协同可搜索的密文数据共享方法包括:
通过授权机构生成公共参数、系统主私钥及各组的组私钥;每组包括多个用户;同一组内各用户的组私钥相同;
针对任一用户,授权机构根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥;各用户的属性集中包括多个属性,多个属性分为普通属性及协同属性;所述用户私钥包括分密钥、协作密钥及各属性的属性密钥;
数据拥有者根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,并将所述访问策略树及所述密文关键字索引上传至云服务器;所述数据拥有者为用户;所述关键字索引集中包括多个关键字,各关键字链接至对应的数据文档;
数据使用者根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门,并上传至云服务器;
云服务器根据所述数据使用者的属性集及协同者的协同属性,判断是否满足所述访问策略树,若不满足,则数据共享失败;若满足,则根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引;
判断所述解密关键字索引是否存在于所述密文关键字索引中,若存在,则检索成功,将所述待检索关键字对应的数据文档发送至所述数据使用者。
2.根据权利要求1所述的基于协同可搜索的密文数据共享方法,其特征在于,所述通过授权机构生成公共参数、系统主私钥,具体包括:
获取安全参数;
根据所述安全参数,确定两个阶为p的乘法循环群
Figure FDA0003915169000000011
Figure FDA0003915169000000012
根据两个乘法循环群生成双线性映射e;
从模为p的正整数域中随机选择第一随机数α、第二随机数β1及第三随机数β2,并确定哈希函数H;
所述公共参数为
Figure FDA0003915169000000021
其中,
Figure FDA0003915169000000022
Figure FDA0003915169000000023
为两个乘法循环群,p为乘法循环群的阶,e为双线性映射,α为第一随机数、β1为第二随机数、β2为第三随机数,g为乘法循环群的生成元;所述系统主私钥包括第一随机数α、第二随机数β1及第三随机数β2
3.根据权利要求1所述的基于协同可搜索的密文数据共享方法,其特征在于,所述授权机构根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥,具体包括:
所述授权机构检查所述用户所属的组,并确定用户所属组的组私钥;
所述授权机构根据所述系统主私钥、所述用户所属组的组私钥及所述公共参数,计算分密钥;
随机选择第四随机数,并根据所述用户所属组的组私钥、所述第四随机数及所述公共参数,生成协作密钥;
针对所述用户的任一属性,根据所述第四随机数、所述属性及所述公共参数,确定所述属性的属性密钥。
4.根据权利要求3所述的基于协同可搜索的密文数据共享方法,其特征在于,采用以下公式,计算分密钥:
Figure FDA0003915169000000024
其中,K为分密钥,g、α、β1均为公共参数,θm为组私钥。
5.根据权利要求3所述的基于协同可搜索的密文数据共享方法,其特征在于,采用以下公式,确定协作密钥:
Figure FDA0003915169000000025
其中,E为协作密钥,g、β2均为公共参数,γ为第四随机数,θm为组私钥。
6.根据权利要求3所述的基于协同可搜索的密文数据共享方法,其特征在于,采用以下公式,确定属性j的属性密钥:
Figure FDA0003915169000000031
其中,Kj为属性j的属性密钥,g为公共参数,γ为第四随机数,H()为哈希函数,aj为属性j。
7.根据权利要求1所述的基于协同可搜索的密文数据共享方法,其特征在于,所述密文关键字索引包括访问策略树、第一密文索引、第二密文索引、第三密文索引及访问策略树中各节点的密文分量;
所述数据拥有者根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,具体包括:
随机选择一个秘密值;
根据所述秘密值、所述公共参数及所述关键字索引集,生成第一密文索引、第二密文索引及第三密文索引;
根据所述秘密值,确定所述访问策略树中各节点的多项式;所述访问策略树中根节点的多项式中的常量为所述秘密值;
根据各节点的多项式、所述公共参数及所述数据拥有者的属性集,确定各节点的密文分量。
8.根据权利要求1所述的基于协同可搜索的密文数据共享方法,其特征在于,所述数据使用者根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门,具体包括:
根据所述数据使用者的分密钥、所述公共参数及所述待检索关键字,计算第一陷门分量;
根据所述第一陷门分量、所述数据使用者各属性的属性密钥及所述数据使用者的协作密钥,确定检索陷门。
9.根据权利要求1所述的基于协同可搜索的密文数据共享方法,其特征在于,根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引,具体包括:
针对所述访问策略树中的任一叶子节点,根据所述公共参数、所述叶子节点的多项式,确定所述叶子节点的中间量;
针对所述访问策略树中的任一非叶子节点,从叶子节点开始,根据所述非叶子节点的各子节点的多项式、所述数据使用者的协作密钥、所述协同者的协作密钥,采用拉格朗日插值多项式,自下而上计算所述非叶子节点的中间变量;根节点的中间变量为秘密值;
根据所述访问策略树中根节点的中间变量、所述数据使用者的协作密钥及所述密文关键字索引,确定解密关键字索引。
10.一种基于协同可搜索的密文数据共享系统,其特征在于,所述基于协同可搜索的密文数据共享系统包括:
授权机构,用于生成公共参数、系统主私钥及各组的组私钥;针对任一用户,根据所述公共参数、所述用户的属性集及所述系统主私钥,确定所述用户的用户私钥;每组包括多个用户;各用户的属性集中包括多个属性,多个属性分为普通属性及协同属性;所述用户私钥包括分密钥、协作密钥及各属性的属性密钥;同一组内各用户的组私钥相同;
数据拥有者,用于根据所述公共参数、访问策略树及所述数据拥有者的属性集,对关键字索引集进行加密,得到密文关键字索引,并将所述访问策略树及所述密文关键字索引上传至云服务器;所述数据拥有者为用户;所述关键字索引集中包括多个关键字,各关键字链接至对应的数据文档;
数据使用者,用于根据所述公共参数及所述数据使用者的用户私钥,对待检索关键字进行加密,生成检索陷门;
云服务器,用于根据所述数据使用者的属性集及协同者的协同属性,判断是否满足所述访问策略树,若不满足,则数据共享失败;若满足,则根据所述公共参数、所述检索陷门、所述密文关键字索引、所述数据使用者的协作密钥及属性集、所述协同者的协作密钥及协作属性、所述访问策略树,确定解密关键字索引;判断所述解密关键字索引是否存在于所述密文关键字索引中,若存在,则检索成功,将所述待检索关键字对应的数据文档发送至所述数据使用者。
CN202211337747.7A 2022-10-28 2022-10-28 一种基于协同可搜索的密文数据共享方法及系统 Pending CN115694974A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211337747.7A CN115694974A (zh) 2022-10-28 2022-10-28 一种基于协同可搜索的密文数据共享方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211337747.7A CN115694974A (zh) 2022-10-28 2022-10-28 一种基于协同可搜索的密文数据共享方法及系统

Publications (1)

Publication Number Publication Date
CN115694974A true CN115694974A (zh) 2023-02-03

Family

ID=85045433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211337747.7A Pending CN115694974A (zh) 2022-10-28 2022-10-28 一种基于协同可搜索的密文数据共享方法及系统

Country Status (1)

Country Link
CN (1) CN115694974A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117494221A (zh) * 2024-01-03 2024-02-02 齐鲁工业大学(山东省科学院) 一种区块链协助搜索的物联网数据共享方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117494221A (zh) * 2024-01-03 2024-02-02 齐鲁工业大学(山东省科学院) 一种区块链协助搜索的物联网数据共享方法
CN117494221B (zh) * 2024-01-03 2024-04-02 齐鲁工业大学(山东省科学院) 一种区块链协助搜索的物联网数据共享方法

Similar Documents

Publication Publication Date Title
Liu et al. BC-SABE: Blockchain-aided searchable attribute-based encryption for cloud-IoT
US11425171B2 (en) Method and system for cryptographic attribute-based access control supporting dynamic rules
Peng et al. An efficient ranked multi-keyword search for multiple data owners over encrypted cloud data
Liang et al. Privacy-preserving and regular language search over encrypted cloud data
Yu et al. Achieving secure, scalable, and fine-grained data access control in cloud computing
Xhafa et al. An efficient PHR service system supporting fuzzy keyword search and fine-grained access control
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
CN111913981B (zh) 在线离线的基于属性的布尔关键字可搜索加密方法及系统
WO2022099495A1 (zh) 云计算环境中的密文搜索方法及系统、设备
CN111930881B (zh) 基于国密算法的连接关键词认证可搜索加密方法
Edemacu et al. Collaborative ehealth privacy and security: An access control with attribute revocation based on OBDD access structure
Li et al. Privacy-preserving data utilization in hybrid clouds
CN110866135B (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
Xu et al. Enabling authorized encrypted search for multi-authority medical databases
Ye et al. Controllable keyword search scheme supporting multiple users
Xiao et al. Attribute-based hierarchical access control with extendable policy
Zou et al. Highly secure privacy‐preserving outsourced k‐means clustering under multiple keys in cloud computing
Xu et al. Enabling comparable search over encrypted data for IoT with privacy-preserving
CN112000632A (zh) 密文的分享方法、介质、分享客户端及系统
Fu et al. A practical attribute-based document collection hierarchical encryption scheme in cloud computing
CN115694974A (zh) 一种基于协同可搜索的密文数据共享方法及系统
Cao et al. A Lightweight Fine‐Grained Search Scheme over Encrypted Data in Cloud‐Assisted Wireless Body Area Networks
CN116611083A (zh) 一种医疗数据共享方法及系统
Zhou et al. Fine‐Grained Attribute‐Based Multikeyword Search for Shared Multiowner in Internet of Things

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