掌桥专利:专业的专利平台
掌桥专利
首页

前向安全基于属性的可搜索加密方法、装置、系统及介质

文献发布时间:2024-04-18 19:58:30


前向安全基于属性的可搜索加密方法、装置、系统及介质

技术领域

本发明涉及一种前向安全基于属性的可搜索加密方法、装置、系统及介质,属于信息安全领域。

背景技术

随着数据量的快速膨胀,云存储服务正日益普及,越来越多的组织和个人选择将私有数据储存在云服务器上,以便减轻数据存储和管理的负担,并实现数据共享。尽管云服务器为用户带来了巨大利益,但也伴随着一些潜在漏洞,即无法确保数据的机密性。近年来,云服务器中储存的用户数据泄露问题频繁发生,用户的个人信息面临极高的泄露风险。为了保护敏感数据免遭泄露,人们开始广泛研究并实际应用加密技术,先对数据进行加密,再上传至云服务器。然而,由于数据以密文形式存储在云服务器中,这破坏了数据的可用性。当用户需要查询特定数据时,只能下载并解密存储在云服务器上的所有加密数据,然后在本地进行检索,这无疑给用户增加了巨大的计算成本和通信开销,显然是不切实际的。如何高效地从云服务器中检索加密数据成为一项艰巨的任务。

公钥可搜索加密技术被视为解决数据可用性问题的可行且有效的解决方案,这项技术可以解决上述的问题,高效安全地检索加密数据,同时不泄露用户的个人隐私信息。用户在加密时嵌入有关密文消息的关键字,然后将其上传到云端进行存储。比如在车联网中,当第三方机构想要搜索数据时,它首先生成与感兴趣的关键字相关联的陷门,然后将这个陷门提交给云服务器。最后,云服务器执行搜索操作,并将搜索结果返回给第三方机构。

虽然公钥可搜索加密技术解决了对加密数据的检索问题,但它缺乏对数据的细粒度访问控制。为了实现灵活有效的访问控制功能,基于属性的加密的概念被提出。基于属性的加密将属性集是否满足访问结构作为判断用户访问权限的标准,从而实现细粒度的访问控制功能,非常适合多用户环境。根据访问策略是在密文中还是在密钥中,基于属性的加密方案可以分为密钥策略的基于属性的加密和密文策略的基于属性的加密方案。为了同时实现细粒度访问控制和密文检索的优点,将基于属性的加密和公钥可搜索加密技术结合起来,提出了一种新的密码原语,即基于属性的可搜索加密方案。

然而,在上述基于属性的可搜索加密方案中,由于陷门的生命周期是无限的,用户上传的陷门有被云服务滥用的风险。用户把陷门提交给云服务器后,云服务器可以把它存储起来,在该用户上传新的密文之后,云服务器可以用该陷门对新上传的密文进行搜索测试,从而可能造成数据泄露严重的后果,因此,在基于属性的可搜索加密方案中强调前向安全的重要性是至关重要的,它要求新添加的数据不能与以前的陷门相关联,以防止陷门被滥用。然而,现有的基于属性的可搜索加密方案还未能实现前向安全性。

发明内容

有鉴于此,本发明提供了一种前向安全基于属性的可搜索加密方法、装置、系统、计算机设备及存储介质,其在基于属性的可搜索加密的基础上,限制授权陷门的使用期限以解决上述现有技术的问题。

本发明的第一个目的在于提供一种前向安全基于属性的可搜索加密方法。

本发明的第二个目的在于提供一种前向安全基于属性的可搜索加密装置。

本发明的第三个目的在于提供一种前向安全基于属性的可搜索加密系统。

本发明的第四个目的在于提供一种计算机设备。

本发明的第五个目的在于提供一种计算机可读存储介质。

本发明的第一个目的通过采取如下技术方案达到:

一种前向安全基于属性的可搜索加密方法,所述方法包括:

获取公共参数和主私钥;

提取待加密消息的关键字,根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器;

根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥;

根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器;

将关键字密文以及对应的授权陷门输入至云服务器,以使云服务器对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

进一步的,所述获取公共参数和主私钥,具体包括:

输入安全参数λ,给定一个双线性群

随机选取三个元素

根据随机参数和哈希函数,输出公共参数

进一步的,所述根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,具体包括:

输入公共参数PP、数据拥有者的属性集合S={A

通过计算H(t

选取η+1个随机数,

C=e(g,g)

其中,kw为待加密消息的关键字,H为公共参数中的哈希函数;

对于集合

其中,τ∈[1,η],η为集合

进一步的,所述根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥,具体包括:

对当前的第二系统时间t′用1编码进行处理,得到集合

对数据用户的访问控制权限用线性秘密共享方案来表示,其中线性秘密共享方案表示为(M,ρ),M为访问控制矩阵,ρ为其映射函数,

假设访问控制矩阵M有l行和n列,选择n-1个随机数

对于访问控制矩阵M,选择l个随机数,

其中,τ∈[1,l]。

进一步的,所述根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,具体包括:

选择l个随机数,

进一步的,所述对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果,具体包括:

解析关键字密文以及对应的授权陷门,分别为

在访问控制矩阵M中找到

计算

本发明的第二个目的通过采取如下技术方案达到:

一种前向安全基于属性的可搜索加密装置,所述装置包括:

获取模块,用于获取公共参数和主私钥;

密文生成模块,用于提取待加密消息的关键字,根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器;

密钥生成模块,用于根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥;

授权陷门生成模块,用于根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器;

搜索模块,用于将关键字密文以及对应的授权陷门输入至云服务器,以使云服务器对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

本发明的第三个目的通过采取如下技术方案达到:

一种前向安全基于属性的可搜索加密系统,所述系统包括数据拥有者、数据用户、云服务器、系统时钟和属性授权机构,所述云服务器分别与数据拥有者、数据用户相连;

所述系统时钟,用于获取第一系统时间和第二系统时间;

所述属性授权机构,用于获取公共参数和主私钥;输入当前的第二系统时间,根据数据用户的访问控制权限和主私钥,计算得到数据用户的私钥;

所述数据拥有者,用于提取待加密消息的关键字,输入公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器

所述数据用户,用于输入数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器;

所述云服务器,用于在关键字密文以及对应的授权陷门,对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

本发明的第四个目的通过采取如下技术方案达到:

一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的可搜索加密方法。

本发明的第五个目的通过采取如下技术方案达到:

一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现上述的前向安全基于属性的可搜索加密方法。

本发明相对于现有技术具有如下的有益效果:

1、本发明引入了时间的授权方式,使得授权陷门的生命周期不是无限的,而是具有一定的有效使用期限,保证前向安全,云服务器接收到授权陷门之后,只能对在其之前生成的密文进行密文搜索,返回相匹配的搜索结果;而对于在其之后生成的密文,服务器不能够进行密文搜索操作;可应用于物联网设备数据的隐私保护和检索系统,使之更加安全有效。

2、本发明只需使用一个授权陷门即可对该陷门生成之前的所有密文授权测试,比每个时间段都需要生成一个授权陷门的方式、需要撤销和更新的方式更加高效,并且仍然可以控制授权陷门的使用期限。

3、本发明与现有前向安全的可搜索加密方法相比,适用于细粒度访问控制搜索的场景;其次,公共参数和陷门需要更少存储空间,减小了存储代价和通讯开销,公共参数的存储空间仅为相关方案的0.98%,陷门所需的存储空间仅为相关方案的0.697%;最后,加密、陷门生成以及搜索算法的计算效率都有显著提高,为数据用户,数据拥有者和云服务器都减轻了不少负担。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例1的前向安全基于属性的可搜索加密系统的结构框图。

图2为本发明实施例1的前向安全基于属性的可搜索加密系统的实现流程图。

图3为本发明实施例1的前向安全基于属性的可搜索加密方法的原理图。

图4为本发明实施例1的前向安全基于属性的可搜索加密方法的流程图。

图5为本发明实施例2的前向安全基于属性的可搜索加密装置的结构框图。

图6为本发明实施例3的计算机设备的结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

如图1所示,本实施例提供了一种前向安全基于属性的可搜索加密系统,该系统包括数据拥有者、数据用户、云服务器、系统时钟和属性授权机构,云服务器分别与数据拥有者、数据用户相连;系统时钟用于获取第一系统时间和第二系统时间;属性授权机构为可信机构,用于生成公共参数、主私钥以及数据用户私钥;数据拥有者用于将数据加密,并上传到云服务器;数据用户用于生成授权陷门,并上传到云服务器;云服务器用于根据授权陷门进行密文搜索,并返回搜索结果。

如图1和图2所示,本实施例的可搜索加密系统具体实现过程如下:

(1)系统初始化

通过属性授权机构完成系统初始化,具体包括:

输入安全参数λ,给定一个双线性群

随机选取三个元素

根据随机参数和哈希函数,输出公共参数

(2)数据加密

数据加密过程通过数据拥有者完成,具体包括:

数据拥有者根据待加密消息的内容统计词语在文本中的出现频率,然后选择出现频率较高的词语作为关键词,作为待加密消息的关键字,输入公共参数、当前的第一系统时间和数据拥有者的属性集合,进行以下操作计算得到关键字密文:

第一步、输入公共参数PP、数据拥有者的属性集合S={A

第二步、通过计算H(t

第三步、选取η+1个随机数,

C=e(g,g)

其中,kw为待加密消息的关键字,H为公共参数中的哈希函数;

第四步、对于集合

其中,τ∈[1,η],η为集合

(3)数据用户密钥生成

数据用户的密钥生成过程通过属性授权机构完成,具体包括:

输入当前的第二系统时间,根据数据用户的访问控制权限和主私钥,进行以下操作计算得到数据用户的私钥:

第一步、对当前的第二系统时间t′用1编码进行处理,得到集合

第二步、对数据用户的访问控制权限用线性秘密共享方案来表示,其中线性秘密共享方案表示为(M,ρ),M为访问控制矩阵,ρ为其映射函数,

第三步、假设访问控制矩阵M有l行和n列,选择n-1个随机数

第四步、对于访问控制矩阵M,选择l个随机数,

其中,τ∈[1,l]。

(4)授权陷门生成

授权陷门生成通过数据用户完成,具体包括:

输入数据用户私钥和数据用户感兴趣的关键字,进行以下操作计算得到授权陷门:

选择l个随机数,

(5)密文搜索

密文搜索过程通过云服务器完成,具体包括:

第一步、解析关键字密文以及对应的授权陷门,分别为

第二步、在访问控制矩阵M中找到

第三步、计算

以下是B的计算过程:

在搜索过程开始前,判断第一系统时间和第二系统时间的大小关系,若t>t′,即第一系统时间大于第二系统时间,则关键字密文和授权陷门不符合前向安全的要求,测试失败。

如图3和图4所示,一种前向安全基于属性的可搜索加密方法,该方法主要通过上述步骤(1)~(5)实现,具体如下:

S401、获取公共参数和主私钥。

S402、提取待加密消息的关键字,根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器。

S403、根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥。

S404、根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器。

S405、将关键字密文以及对应的授权陷门输入至云服务器,以使云服务器对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

应当注意,尽管在附图中以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

实施例2:

如图5所示,本实施例提供了一种前向安全基于属性的可搜索加密装置,该装置包括获取模块501、密文生成模块502、密钥生成模块503、授权陷门生成模块504和搜索模块505,各个模块的具体功能如下:

获取模块501,用于获取公共参数和主私钥。

密文生成模块502,用于提取待加密消息的关键字,根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器。

密钥生成模块503,用于根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥。

授权陷门生成模块504,用于根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器。

搜索模块505,用于将关键字密文以及对应的授权陷门输入至云服务器,以使云服务器对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

需要说明的是,上述实施例提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

实施例3:

本实施例提供了一种计算机设备,如图6所示,其通过系统总线601连接的处理器602、存储器、输入装置603、显示装置604和网络接口605,该处理器用于提供计算和控制能力,该存储器包括非易失性存储介质606和内存储器607,该非易失性存储介质606存储有操作系统、计算机程序和数据库,该内存储器607为非易失性存储介质中的操作系统和计算机程序的运行提供环境,处理器602执行存储器存储的计算机程序时,实现上述实施例1的可搜索加密方法,如下:

获取公共参数和主私钥;

提取待加密消息的关键字,根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器;

根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥;

根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器;

将关键字密文以及对应的授权陷门输入至云服务器,以使云服务器对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

实施例4:

本实施例提供了一计算机可读存储介质,其存储有计算机程序,计算机程序被处理器执行时,实现上述实施例1的可搜索加密方法,如下:

获取公共参数和主私钥;

提取待加密消息的关键字,根据公共参数、当前的第一系统时间和数据拥有者的属性集合,计算得到关键字密文,并将关键字密文上传至云服务器;

根据当前的第二系统时间、数据用户的访问控制权限和主私钥,计算得到数据用户私钥;

根据数据用户私钥和数据用户感兴趣的关键字,计算得到授权陷门,并将授权陷门上传至云服务器;

将关键字密文以及对应的授权陷门输入至云服务器,以使云服务器对关键字密文以及对应的授权陷门进行搜索,并返回搜索结果。

本实施例的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

综上所述,本发明引入了时间的授权方式,使得授权陷门的生命周期不是无限的,而是具有一定的有效使用期限,保证前向安全,云服务器接收到授权陷门之后,只能对在其之前生成的密文进行密文搜索,返回相匹配的搜索结果;而对于在其之后生成的密文,服务器不能够进行密文搜索操作;可应用于物联网设备数据的隐私保护和检索系统,使之更加安全有效。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。

相关技术
  • 基于用户身份的加密方法、装置、系统、设备和介质
  • AR搜索装置、基于AR搜索装置的物品搜索系统及方法
  • 外轮廓模型属性变更方法、系统、装置及可读存储介质
  • 区块链上基于属性的具有前向和后向隐私的可搜索加密方法及系统
  • 基于异或加密链的前向安全动态可搜索加密方法及系统
技术分类

06120116504146