当前位置: 首页 > 专利查询>福州大学专利>正文

基于时间授权的正则语言可搜索加密系统技术方案

技术编号:28374722 阅读:17 留言:0更新日期:2021-05-08 00:02
本发明专利技术涉及一种基于时间授权的正则语言可搜索加密系统。首先,本发明专利技术为了满足云存储环境中不同用户的密文搜索需求,系统根据用户持有密钥的情况,设计了两种陷门生成方式(交互式与非交互式),以实现不同权限用户灵活便捷地在云存储中进行密文搜索查询,陷门生成过程中不会泄露查询内容的任何明文信息。其次,本发明专利技术将指定的时间和关键字嵌入密文中,用户仅可以在指定时间授权范围内对密文进行解密。同时,本发明专利技术支持正则语言加密和确定性有限自动机(DFA)搜索,允许用户请求搜索任意长度的关键字字符串的密文数据而且无需预定义符号集合。

【技术实现步骤摘要】
基于时间授权的正则语言可搜索加密系统
本专利技术涉及一种基于时间授权的正则语言可搜索加密系统。
技术介绍
随着云计算技术的飞速发展,全球数据量逐年激增。面对海量的数据存储需求,需要定期存储和维护的传统存储方式逐渐被云储存技术所取代。云存储是从云计算中延伸和发展出的一种新兴的网络存储技术,通过采用集群应用、网格技术、分布式系统等为用户提供了低开销、可扩展和便捷的服务。云存储允许用户随时随地通过任何设备灵活地访问数据,特别是允许团队成员协同管理和维护成员之间的共享文档。但是由于数据是存储在多个云服务器上,用户无法完全掌握其数据,因此用户的数据信息很容易被非法获取。近年来,云存储平台用户隐私数据泄露的事件不胜枚举。所以,为了保护自己的隐私信息,用户通常是将隐私数据加密,然后上传到云存储平台中,这种方法能确保数据的安全性,但同时搜索数据的效率就降低了。可搜索加密技术是一种支持对加密数据进行搜索的技术,并且不会泄露加密数据中的任何明文信息。这些年的研究为密文数据的搜索增加了许多新功能。Golle等人设计了一个支持联结关键字搜索的方案,在单个搜索查询中就可以搜索多个关键字的加密数据。Boneh等人介绍了一个多关键字的公钥加密搜索方案,具有多种搜索功能。Cash和Li等人研究了如何将联结关键字搜索和布尔搜索进行结合。Zheng等人提出了基于属性的可验证单关键字搜索加密方案。Cui等人基于素数阶双线性群,构造了支持合取、析取或任何单调布尔表达式表示关键字搜索策略(即访问结构)的可搜索加密方案。但它们支持的搜索方式有限,例如单关键字搜索、联结关键字搜索和布尔搜索等。由此可见,大多数可搜索加密方案不支持正则语言搜索。而从实际的角度来看,我们日常描述一般用的是正则语言,其语言描述可以是任意长度的单词、句子或段落。所以,将表达更灵活的正则语言引入可搜索加密的搜索方式中,将会得到更精确的密文数据搜索结果。Liang等人在2016年提出了支持正则语言检索的可搜索加密方案,但是,它存在一些问题:首先用户无法独立发出搜索查询请求。其次,系统初始化时,需预先定义符号集合。第三,计算和传输开销大。Yang等人在2018年时提出的云存储中支持正则语言的可搜索加密方案中对以上的不足进行了改进。然而,现有的正则语言可搜索加密方案无法实现灵活的数据共享,这往往给数据拥有者带来不小的开销或破坏其密钥的隐私性。当数据拥有者想与其他用户共享数据时,其必须为共享用户生成搜索陷门或利用对方公钥加密数据并上传到云端,这会给数据拥有者带来沉重的负担。又或者是,数据拥有者直接将其私钥委托给代理第三方以生成搜索陷门,但这将破坏数据拥有者密钥的隐私性。同时,可搜索加密方案中,系统可通过收集用户的搜索关键字以用于数据分析或系统优化等工作。然而,用户的搜索关键字收集过程具有一定的困难性:一方面,用户提交的陷门是密文形式,因此很难直接获取到其中的关键字;另一方面,若系统能通过解密陷门获得关键字,则会泄露用户的隐私(例如,泄露用户身份与搜索关键词的关联关系)。
技术实现思路
本专利技术的目的在于针对现有的正则语言可搜索加密方案中,数据共享不灵活、缺乏授权期限管理、无法灵活扩展符号集等问题,提供一种基于时间授权的正则语言可搜索加密系统,该系统支持密文数据的灵活共享、支持时间控制的密文解密、支持正则语言搜索、支持灵活扩展符号集。为实现上述目的,本专利技术的技术方案是:一种基于时间授权的正则语言可搜索加密系统,包括:密钥生成中心、数据拥有者、数据用户、陷门生成中心、时间服务器和云服务器;密钥生成中心,负责初始化系统参数并为每个实体生成公/私钥对;数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储,即通过数据拥有者终端使用正则语言描述外包文档,描述内容表现为关键字字符串的形式,对该外包文档和关键字字符串加密后,上传到云服务器中;数据用户,通过数据用户终端向云服务器发出搜索的请求,即数据用户获得陷门后,将陷门通过数据用户终端发送到云服务器,以发起对密文文档执行搜索操作的请求;数据用户根据是否拥有生成陷门的数据密钥分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ,其中,数据用户类型Ⅰ持有生成陷门的数据密钥,数据用户类型Ⅱ没有生成陷门的数据密钥;数据用户包括数据拥有者;陷门生成中心TGC,可获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门;时间服务器,负责生成当前时间的时间令牌,在生成时间令牌期间,它不需要与其他实体进行交互;云服务器,为系统实体提供存储和计算服务;首先,云服务器为数据拥有者上传的加密数据提供云存储服务,此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户。在本专利技术一实施例中,所述密钥生成中心,初始化系统参数并为每个实体生成公/私钥对的具体过程如下:密钥生成中心KGC运行初始化算法为系统生成公共参数,并运行密钥生成算法为系统中各个实体生成公/私钥对,之后将其分配;此过程包括五个算法:Setup,KeyGencs,KeyGenu,KeyGenT和KeyGenTGC;Setup算法生成公共参数pp;用idcs作为云服务器CS的身份标识,用idu作为用户u的身份标识;(1)Setup(1κ)→pp:KGC将安全参数1κ作为输入;令g是群G的生成元,群G的素数阶为p,H:{0,1}*→G是哈希函数,随机选择h0,h1,h2,z,以及α,计算和I=gα;最后输出公共参数(2)KeyGencs(pp,idcs)→(pkcs,skcs):KGC输入公共参数pp和云服务器CS的身份标识idcs,随机选择然后计算h=gμ,最后输出云服务器的公/私钥对(pkcs,skcs)=(h,μ);(3)KeyGenu(pp,idu)→(pku,sku,TSK):KGC利用公共参数pp和用户的身份标识idu作为输入.随机选择r′,r″,并计算和最后,将公钥定义为pku=(D1,D2,Y2),私钥定义为sku=(r′,r″,γ2);用户收到其公/私钥对后,选择一个随机值计算设TSK=(X1,X2,X3);最后,将密钥TSK授权给TGC,用于辅助没有陷门生成密钥的数据用户Ⅱ生成陷门;(4)KeyGenT(pp)→(pkT,skT):KGC将公共参数pp作为输入,它在中随机选择ξ,并计算X=gξ;将时间服务器的公/私钥对设为(pkT,skT)=(X,ξ);(5)KGC输入公共参数pp,选择一个随机值然后计算A=gτ;输出TGC的公/私钥对为所在本专利技术一实施例中,述时间服务器生成时间令牌的具体过程如下:时间服务器执行TokenGen算法,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌;TokenGen(skT,t0)→Kt0:时间服务器输入当前时间点t0及时间服务器私钥skT,计算然后,随机选择并计算K1=g∈,K2=f(t0)ξ·z∈,输出时间令牌为Kt0=(K1,K2)。在本专利技术一实施例中,所述数据拥有者,通过数本文档来自技高网
...

【技术保护点】
1.一种基于时间授权的正则语言可搜索加密系统,其特征在于,包括:密钥生成中心、数据拥有者、数据用户、陷门生成中心、时间服务器和云服务器;/n密钥生成中心,负责初始化系统参数并为每个实体生成公/私钥对;/n数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储,即通过数据拥有者终端使用正则语言描述外包文档,描述内容表现为关键字字符串的形式,对该外包文档和关键字字符串加密后,上传到云服务器中;/n数据用户,通过数据用户终端向云服务器发出搜索的请求,即数据用户获得陷门后,将陷门通过数据用户终端发送到云服务器,以发起对密文文档执行搜索操作的请求;数据用户根据是否拥有生成陷门的数据密钥分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ,其中,数据用户类型Ⅰ持有生成陷门的数据密钥,数据用户类型Ⅱ没有生成陷门的数据密钥;数据用户包括数据拥有者;/n陷门生成中心TGC,可获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门;/n时间服务器,负责生成当前时间的时间令牌,在生成时间令牌期间,它不需要与其他实体进行交互;/n云服务器,为系统实体提供存储和计算服务;首先,云服务器为数据拥有者上传的加密数据提供云存储服务,此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户。/n...

【技术特征摘要】
1.一种基于时间授权的正则语言可搜索加密系统,其特征在于,包括:密钥生成中心、数据拥有者、数据用户、陷门生成中心、时间服务器和云服务器;
密钥生成中心,负责初始化系统参数并为每个实体生成公/私钥对;
数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储,即通过数据拥有者终端使用正则语言描述外包文档,描述内容表现为关键字字符串的形式,对该外包文档和关键字字符串加密后,上传到云服务器中;
数据用户,通过数据用户终端向云服务器发出搜索的请求,即数据用户获得陷门后,将陷门通过数据用户终端发送到云服务器,以发起对密文文档执行搜索操作的请求;数据用户根据是否拥有生成陷门的数据密钥分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ,其中,数据用户类型Ⅰ持有生成陷门的数据密钥,数据用户类型Ⅱ没有生成陷门的数据密钥;数据用户包括数据拥有者;
陷门生成中心TGC,可获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门;
时间服务器,负责生成当前时间的时间令牌,在生成时间令牌期间,它不需要与其他实体进行交互;
云服务器,为系统实体提供存储和计算服务;首先,云服务器为数据拥有者上传的加密数据提供云存储服务,此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户。


2.根据权利要求1所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述密钥生成中心,初始化系统参数并为每个实体生成公/私钥对的具体过程如下:
密钥生成中心KGC运行初始化算法为系统生成公共参数,并运行密钥生成算法为系统中各个实体生成公/私钥对,之后将其分配;此过程包括五个算法:Setup,KeyGencs,KeyGenu,KeyGenT和KeyGenTGC;Setup算法生成公共参数pp;用idcs作为云服务器CS的身份标识,用idu作为用户u的身份标识;
(1)Setup(1κ)→pp:KGC将安全参数1κ作为输入;令g是群G的生成元,群G的素数阶为p,H:{0,1}*→G是哈希函数,随机选择h0,h1,h2,z,以及α,计算和I=gα;最后输出公共参数
(2)KeyGencs(pp,idcs)→(pkcs,skcs):KGC输入公共参数pp和云服务器CS的身份标识idcs,随机选择然后计算h=gμ,最后输出云服务器的公/私钥对(pkcs,skcs)=(h,μ);
(3)KeyGenu(pp,idu)→(pku,sku,TSK):KGC利用公共参数pp和用户的身份标识idu作为输入.随机选择r′,r″,并计算和最后,将公钥定义为pku=(D1,D2,Y2),私钥定义为sku=(r′,r″,γ2);
用户收到其公/私钥对后,选择一个随机值计算设TSK=(X1,X2,X3);最后,将密钥TSK授权给TGC,用于辅助没有陷门生成密钥的数据用户Ⅱ生成陷门;
(4)KeyGenT(pp)→(pkT,skT):KGC将公共参数pp作为输入,它在中随机选择ξ,并计算X=gξ;将时间服务器的公/私钥对设为(pkT,skT)=(X,ξ);
(5)KGC输入公共参数pp,选择一个随机值然后计算A=gτ;输出TGC的公/私钥对为


3.根据权利要求2所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述时间服务器生成时间令牌的具体过程如下:
时间服务器执行TokenGen算法,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌;
TokenGen(skT,t0)→Kt0:时间服务器输入当前时间点t0及时间服务器私钥skT,计算然后,随机选择并计算K1=g∈,K2=f(t0)ξ·z∈,输出时间令牌为Kt0=(K1,K2)。


4.根据权利要求2所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储的具体过程如下:
数据拥有者终端执行Enc算法,使用正则语言的关键字字符串W=(w1,···,wm)描述其文档,其中m为该关键字字符串的长度,之后利用其公钥pku将关键字字符串W加密为密文索引CT;
Enc(pku,W=(w1,…,wm))→CT:随机从中选择r,r0,r1…rm并计算C1=gr,C2=zr,
最终输出密文索引为:最后将密文索引CT和加密文档一起外包给云服务器。


5.根据权利要求4所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述数据用户类型Ⅰ的陷门生成具体过程如下:
数据用户类型Ⅰ持有生成陷门的数据密钥...

【专利技术属性】
技术研发人员:杨旸卢可心詹永华
申请(专利权)人:福州大学
类型:发明
国别省市:福建;35

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

1