System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于多项式的多用户多关键字可搜索加密系统及方法技术方案_技高网

基于多项式的多用户多关键字可搜索加密系统及方法技术方案

技术编号:40021582 阅读:12 留言:0更新日期:2024-01-16 16:50
本发明专利技术提供一种基于多项式的多用户多关键字可搜索加密系统及方法,系统包括数据拥有者、数据使用者组和云服务器;所述数据拥有者为数据的持有者,其将数据进行加密上传至云服务器,并对数据的索引采用加密算法进行加密也上传至云服务器,并对数据使用者进行授权;数据使用者组由多个数据使用者组成,每个数据使用者都有自己的唯一标识,他们使用各自的授权密钥对预搜索关键字使用陷门生成算法生成搜索陷门发送至云服务器进行搜索;云服务器负责存储数据拥有者发送的加密数据,并使用搜索算法为数据使用者搜索加密数据。通过数据拥有者、云服务器和数据使用者的系统结构,从而实现信息传输安全、可靠和高效率。

【技术实现步骤摘要】

本专利技术涉及一种基于多项式的多用户多关键字可搜索加密系统及方法,属于数据加密。


技术介绍

1、云计算的快速发展使云存储成为一种主要的数据存储方式,该方式减轻了用户的本地存储管理开销。然而,实际中的云服务器是半可信的,当数据所有者将数据上传到云服务器时,数据将面临着云服务器、恶意用户和攻击者的访问或窃取等安全问题。对此,数据拥有者可以对数据文件进行加密后再存储到云服务器,但当用户想从云服务器中查询文件中的特定数据时,又会面临如何在云服务器上快速有效检索密文数据的问题。可搜索加密(searchable encryption,se)技术很好的解决了上述问题。

2、可搜索加密是一种保护数据隐私的加密技术,它允许用户在加密的数据集中进行搜索操作,同时保护数据的隐私性。与传统的加密方法不同,可搜索加密技术可以保证数据的机密性、完整性和可用性,同时使得数据的搜索和查询过程对于数据拥有者以外的人来说是不可读的,为数据的隐私保护提供更加完善的解决方案。但可搜索加密技术也面临着一些挑战,例如功能性、安全性和效率等方面的问题。

3、在可搜索加密中为了达到对密文搜索的目的,往往会向云服务器泄露一些信息,比如哪些搜索涉及同一个关键字的搜索模式以及为搜索返回了哪些文件的搜索模式。可搜索加密是在云环境下进行加密搜索,假设云服务器是半诚实的,即它会正常进行计算并返回结果,但是由于一些恶意行为会使得云服务器泄露存储信息。理想情况下,使用不向对手泄露任何信息的方案,而这种方案通常只能使用oram、同态加密或多方计算来构造,但是这种方案会产生巨大的带宽成本和计算开销。因此se方案必然会泄露一些信息,如果泄露的信息被滥用,则会以不同的形式破坏se的安全性。前向安全能够确保在云服务器不能利用已有的搜索陷门推测出新插入的文件的任何信息。

4、多用户可搜索加密方案可使多名用户对云端文档进行搜索和访问,提高了数据的利用效率,更符合用户数据共享的需求。非对称可搜索加密公私钥相互分离,可解决多用户环境下的可搜索加密问题,但传统非对称可搜索加密方案局限于点对点数据共享,通信和计算开销较大,限制了其推广与实际应用。再者,对称可搜索加密计算开销小、速度快,但由于加解密使用相同密钥,在非安全信道中进行密钥分发时密钥容易泄露,不能方便地进行多用户间数据共享。


技术实现思路

1、本专利技术的目的在于克服现有技术中的不足,提供一种具有前向安全的多用户多关键字可搜索加密方法,该方法可以细粒度地控制数据使用者对关键字的搜索和文件的访问。

2、为达到上述目的,本专利技术是采用下述技术方案实现的:

3、第一方面,本专利技术提供一种基于多项式的多用户多关键字可搜索加密系统,包括数据拥有者、数据使用者组和云服务器:

4、所述数据拥有者为数据的持有者,其将数据进行加密上传至云服务器,并对数据的索引采用加密算法进行加密也上传至云服务器,并对数据使用者进行授权;

5、数据使用者组由多个数据使用者组成,每个数据使用者都有自己的唯一标识id,他们使用各自的授权密钥对预搜索关键字使用陷门生成算法生成搜索陷门发送至云服务器进行搜索;

6、云服务器负责存储数据拥有者发送的加密数据,并使用搜索算法为数据使用者搜索加密数据。

7、第二方面,本专利技术提供了一种具有前向安全的多用户多关键字可搜索加密方法,基于第一方面所述的系统,包括以下步骤:

8、步骤1、初始化阶段:生成公共参数以及数据拥有者的密钥集合;

9、步骤2、加密阶段:数据拥有者使用加密算法对明文数据进行加密并产生密文索引,再使用加密算法对索引进行加密,发送至云服务器;

10、步骤3、授权阶段:数据拥有者使用数据使用者的身份id,通过授权算法为每一个数据使用者生成授权密钥,并发送给对应数据使用者;

11、步骤4、生成陷门阶段:数据使用者使用授权密钥以及要搜索的关键字生成搜索陷门;

12、步骤5、密文搜索阶段:云服务器使用接收到的搜索陷门通过搜索算法对数据拥有者的密文进行搜索,并将结果返回给数据使用者;

13、步骤6、解密阶段:数据使用者对密文进行解密得到明文数据。

14、进一步的,步骤1中,初始化阶段:生成公共参数以及数据拥有者的密钥集合,包括如下步骤:

15、步骤s1.1、生成公共参数para;

16、setup(λ)→{para}:输入一个安全参数λ,输出公共参数para,包括安全的哈希函数(h0,h1,h2,h3,h4),和伪随机函数f和f1:h0:{0,1}*→{0,1}λ,h1:{0,1}*→{0,1}λ,h2:{0,1}*→{0,1}1+logn+2λ,h3:{0,1}*→{0,1}λ,h4:{0,1}*→{0,1}2λ,f:{0,1}λ×{0,1}λ→{0,1}λ,f1:{0,1}λ×{0,1}λ×{0,1}λ→{0,1}λ;

17、步骤s1.2、生成数据拥有者的密钥集合;

18、keygen(λ)→{υ}:数据拥有者使用安全参数λ生成密钥集合υ,包括:

19、k←{0,1}λ,ks←{0,1}λ,kf←{0,1}λ,ka←{0,1}λ,ke←{0,1}λ,

20、其中密钥k用于数据明文加密和密文解密,密钥ks用于生成关键字w的加密密钥sw,继而生成文件结点状态state*,密钥ke用于生成文件结点密钥key*,密钥kf用于为用户idj生成对指定文件的访问权限认证密钥auj,密钥ka用于为用户idj生成对关键字wi的搜索权限认证密钥

21、步骤s1.3、数据拥有者初始化一个与所有的数据使用者共享的公共缓冲区用来存放每一个关键字wi的文件块数以及对每一个关键字wi创建一个私有缓冲区

22、i∈[0,n-1],n表示关键字数,m表示该关键字拥有的文件数,用来存放每一个索引文件ind的状态,初始状态所有flag=0,若flag=0则表示该关键字下该文件还没有添加或已删除,若fag=1,则表示该文件已添加,如若需要更新,需要先删除再添加,其中缓冲区为一个用于存储少量数据的本地缓存。

23、进一步的,所述步骤2中,加密阶段:数据拥有者使用加密算法对明文数据进行加密并产生密文索引,再使用加密算法对索引进行加密,发送至云服务器,包括如下步骤:

24、步骤s2.1、数据拥有者加密明文m,生成密文cm:enc(m,k)→{cm};

25、步骤s2.2、数据拥有者将密文上传云服务器,云服务器存储并生成文件索引ind发送给数据拥有者;

26、步骤s2.3、数据拥有者对关键字wi、相应索引文件ind以及操作op进行加密并更新存储至云服务器,其中i∈[0,n-1],t∈[0,m-1],

27、

28、输入公共参数para,数据拥有者密钥γ,关键字wi,文件集ind和对应操作集op,还有公共缓冲区buffer以及私有缓冲区输出本文档来自技高网...

【技术保护点】

1.一种基于多项式的多用户多关键字可搜索加密系统,其特征在于,包括数据拥有者、数据使用者组和云服务器:

2.一种基于多项式的多用户多关键字可搜索加密方法,其特征在于,基于权利要求1所述的系统,包括以下步骤:

3.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤1中,初始化阶段:生成公共参数以及数据拥有者的密钥集合,包括如下步骤:

4.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,所述步骤2中,加密阶段:数据拥有者使用加密算法对明文数据进行加密并产生密文索引,再使用加密算法对索引进行加密,发送至云服务器,包括如下步骤:

5.根据权利要求4所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤S2.3中,数据拥有者对关键字wi、相应索引文件Ind以及操作Op进行加密并更新存储至云服务器,包括:

6.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤3中,授权阶段:数据拥有者使用数据使用者的身份id,通过授权算法为每一个数据使用者生成授权密钥,并发送给对应数据使用者,包括如下步骤:

7.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤4中,生成陷门阶段:数据使用者使用授权密钥以及要搜索的关键字生成搜索陷门,包括如下步骤:

8.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤5中,密文搜索阶段:云服务器使用接收到的搜索陷门通过搜索算法对数据拥有者的密文进行搜索,并将结果返回给数据使用者,包括如下步骤:

9.根据权利要求8所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤S5.5中,数据使用者具有对该关键字的搜索权限,便对关键字wi的文件进行循环遍历搜索,包括:

10.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤6中,解密阶段:数据使用者对密文进行解密得到明文数据,包括如下步骤:

...

【技术特征摘要】

1.一种基于多项式的多用户多关键字可搜索加密系统,其特征在于,包括数据拥有者、数据使用者组和云服务器:

2.一种基于多项式的多用户多关键字可搜索加密方法,其特征在于,基于权利要求1所述的系统,包括以下步骤:

3.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤1中,初始化阶段:生成公共参数以及数据拥有者的密钥集合,包括如下步骤:

4.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,所述步骤2中,加密阶段:数据拥有者使用加密算法对明文数据进行加密并产生密文索引,再使用加密算法对索引进行加密,发送至云服务器,包括如下步骤:

5.根据权利要求4所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于,步骤s2.3中,数据拥有者对关键字wi、相应索引文件ind以及操作op进行加密并更新存储至云服务器,包括:

6.根据权利要求2所述的基于多项式的多用户多关键字可搜索加密方法,其特征在于...

【专利技术属性】
技术研发人员:王鹏王化群王少辉
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1