CN112765669A - 基于时间授权的正则语言可搜索加密系统 - Google Patents
基于时间授权的正则语言可搜索加密系统 Download PDFInfo
- Publication number
- CN112765669A CN112765669A CN202110134343.7A CN202110134343A CN112765669A CN 112765669 A CN112765669 A CN 112765669A CN 202110134343 A CN202110134343 A CN 202110134343A CN 112765669 A CN112765669 A CN 112765669A
- Authority
- CN
- China
- Prior art keywords
- data
- cloud server
- time
- key
- data user
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于时间授权的正则语言可搜索加密系统。首先,本发明为了满足云存储环境中不同用户的密文搜索需求,系统根据用户持有密钥的情况,设计了两种陷门生成方式(交互式与非交互式),以实现不同权限用户灵活便捷地在云存储中进行密文搜索查询,陷门生成过程中不会泄露查询内容的任何明文信息。其次,本发明将指定的时间和关键字嵌入密文中,用户仅可以在指定时间授权范围内对密文进行解密。同时,本发明支持正则语言加密和确定性有限自动机(DFA)搜索,允许用户请求搜索任意长度的关键字字符串的密文数据而且无需预定义符号集合。
Description
技术领域
本发明涉及一种基于时间授权的正则语言可搜索加密系统。
背景技术
随着云计算技术的飞速发展,全球数据量逐年激增。面对海量的数据存储需求,需要定期存储和维护的传统存储方式逐渐被云储存技术所取代。云存储是从云计算中延伸和发展出的一种新兴的网络存储技术,通过采用集群应用、网格技术、分布式系统等为用户提供了低开销、可扩展和便捷的服务。云存储允许用户随时随地通过任何设备灵活地访问数据,特别是允许团队成员协同管理和维护成员之间的共享文档。但是由于数据是存储在多个云服务器上,用户无法完全掌握其数据,因此用户的数据信息很容易被非法获取。近年来,云存储平台用户隐私数据泄露的事件不胜枚举。所以,为了保护自己的隐私信息,用户通常是将隐私数据加密,然后上传到云存储平台中,这种方法能确保数据的安全性,但同时搜索数据的效率就降低了。可搜索加密技术是一种支持对加密数据进行搜索的技术,并且不会泄露加密数据中的任何明文信息。
这些年的研究为密文数据的搜索增加了许多新功能。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);
所在本发明一实施例中,述时间服务器生成时间令牌的具体过程如下:
时间服务器执行TokenGen算法,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌;
在本发明一实施例中,所述数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储的具体过程如下:
数据拥有者终端执行Enc算法,使用正则语言的关键字字符串W=(w1,···,wm)描述其文档,其中m为该关键字字符串的长度,之后利用其公钥pku将关键字字符串W加密为密文索引CT;
在本发明一实施例中,所述数据用户类型Ⅰ的陷门生成具体过程如下:
数据用户类型Ⅰ持有生成陷门的数据密钥,可以直接利用密钥生成DFA陷门;首先数据用户类型Ⅰ将正则语言的关键字字符串∑=(σ1,...,σn)定义为其中Q被定义为包含{q0,···,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,n表示DFA中字符的数量。将每一个状态转移函数a∈T表示为三元组而是状态转移函数的集合,令表示状态转移函数的长度;
Trapdooruser(sku,pkcs,M)→TKu:用户输入其私钥sku,云服务器的公钥pkcs及随机选择d,d0,v,v′,计算dN=γ2·v,可得然后,计算如下:T2=gd,T3=gv,T3′=gv′,
最后,它输出搜索陷门TKu=(T1,T2,T3,T3′,T4,T5,{T6,a,T7,a,T8,a,T9,a}a∈[1,N]),发送TKu到云服务器中请求搜索,云服务器执行搜索算法,最后给数据用户类型Ⅰ返回匹配密文索引所对应的文档。
在本发明一实施例中,所述数据用户类型Ⅱ的陷门生成具体过程如下:
数据用户类型Ⅱ没有生成陷门的数据密钥,无法直接生成陷门,因此需要在TGC的辅助下才能产生搜索陷门;数据用户类型Ⅱ先将正则语言的关键字字符串∑=(σ1,...,σn)表示为其中Q被定义为包含{q0,···,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,将每一个状态转移函数a∈T表示为三元组而是状态转移的集合,令表示状态转移集合中元素的长度;之后与TGC进行交互,生成完整的DFA陷门;
由数据用户类型Ⅱ执行交互算法的第一步,对进行如下操作:首先,选择随机值c,u,ψ,并计算ε1,j=sjσj/c,生成密文TK1=({ε1,j}j∈[1,N],ε2,ε3);然后,获取TGC所指定的未来时间点tu,使用TGC的公钥和时间服务器的公钥pkT计算E1=zψ,E2=gψ, 生成时间密文Etu=(E1,E2,{E3,j,E4,j}j∈[1,N]);此算法生成了两部分密文,一部分是嵌入M的密文TK1,另一部分嵌入用户要搜索的关键字以及未来时间点tu的时间密文Etu;最后,数据用户类型Ⅱ将(TK1,Etu)发送给TGC,以请求进一步构造陷门;
TokenGenTGC(Ⅱ)(TSK,TK1)→TK2:由TGC执行第二步,首先,TGC先将Etu进行存储,该密文在tu之后才能解密;然后,随机选择λ,λ0,θ,θ′,令λn-1=γ2·θ,可得接着,计算G1=H(e(pkcs,G3′)θ)·I·Y1 θ·zλ,G2=gλ,G3=gθ,G3′=gθ′, 输出TK2=(G1,G2,G3,G3′,G4,G5,{G6,j,G7,j,G8,j,G9,j}j∈[0,N]);最后,将部分DFA陷门TK2发送给数据用户类型Ⅱ;
数据用户类型Ⅱ将搜索陷门TKG发送到云服务器,云服务器将执行搜索算法,最后给数据用户类型Ⅱ返回匹配密文索引所对应的文档。
在本发明一实施例中,所述云服务器响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户的具体过程如下:
云服务器执行Test算法,云服务器收到数据用户搜索请求后,对搜索陷门与加密数据进行测试计算;为了抵抗关键字猜测攻击,算法要求输入云服务器的私钥;
Test(CT,TK,skcs)→0/1:将密文索引CT,搜索陷门TK和云服务器私钥skcs作为输入,云服务器进行如下计算:
然后,云服务器计算是否成立,如果等式成立,则意味着搜索陷门中嵌入的M接受密文索引中的关键字字符串W,则返回1,表示匹配成功;否则,返回0;当数据用户类型Ⅰ发送搜索请求时,云服务器执行Test(CT,TKu,skcs);当数据用户类型Ⅱ发送搜索请求时,云服务器执行Test(CT,TKG,skcs)。
在本发明一实施例中,所述用户要搜索的关键字的解密方式如下:
到TGC指定的时间点tu时,时间服务器生成tu的时间令牌Ktu;然后,TGC利用其私钥和获得的时间令牌执行DecKeyword算法,解密出时间密文中的用户要搜索的关键字;
相较于现有技术,本发明具有以下有益效果:
(1)密文数据的灵活共享:本发明能允许持有陷门生成密钥的用户直接使用其密钥生成搜索陷门;而没有陷门生成密钥的用户可通过与可信第三方进行三步交互生成搜索陷门。两种生成陷门的方式,都不会泄露用户搜索内容,又同样能发起搜索查询请求。
(2)时间控制的密文解密:本发明将指定的时间点和用户搜索的关键字嵌入密文中,该密文必须在该指定时间之后才能被解密密钥解密,从而获得密文中的搜索关键字。实现了在不泄露用户身份隐私的前提下,收集到用户请求搜索的关键字。用户所请求搜索的关键字是很重要的数据,可以进一步利用,如进行数据分析及系统优化。
(3)正则语言搜索:本发明采用了正则语言搜索,与其它方案相比,本发明可以提供更灵活的搜索模式。允许用户请求搜索任意长度的关键字字符串的加密数据。
(4)灵活扩展符号集:本发明支持动态增添搜索符号集。方案不需要预定义系统中搜索符号的集合,允许容纳任意多的搜索符号,更满足实际需求。
用途:在大数据时代的背景下,云存储服务以低开销和便捷的优势被广大用户所接受。然而,云服务器是不可信的,用户在将数据上传到云端后无法保证数据安全和隐私。因此,用户通常选择将数据加密后再上传到云端,但又引入了一个新的挑战:如何在海量的加密数据中进行数据搜索,同时确保数据的安全性。可搜索方案为这类问题提供了有效的解决方案,其可以在保证数据安全性的同时实现密文数据的搜索。本发明提出了一种灵活高效的密文共享的正则语言可搜索加密方案。与其他现有方案相比,本发明的优点在于它支持密文数据的灵活共享。满足了不同用户对密文数据搜索的需求。时间控制的密文解密允许系统收集用户搜索的关键字同时保证不泄露该用户的隐私,使得系统后期能根据收集到的用户搜索关键字进行进一步的优化。
附图说明
图1为本发明系统框架。
图2为本发明中DFA的工作过程。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种基于时间授权的正则语言可搜索加密系统,包括:密钥生成中心、数据拥有者、数据用户、陷门生成中心、时间服务器和云服务器;
密钥生成中心,负责初始化系统参数并为每个实体生成公/私钥对;
数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储,即通过数据拥有者终端使用正则语言描述外包文档,描述内容表现为关键字字符串的形式,对该外包文档和关键字字符串加密后,上传到云服务器中;
数据用户,通过数据用户终端向云服务器发出搜索的请求,即数据用户获得陷门后,将陷门通过数据用户终端发送到云服务器,以发起对密文文档执行搜索操作的请求;数据用户根据是否拥有生成陷门的数据密钥分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ,其中,数据用户类型Ⅰ持有生成陷门的数据密钥,数据用户类型Ⅱ没有生成陷门的数据密钥;数据用户包括数据拥有者;
陷门生成中心TGC,可获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门;
时间服务器,负责生成当前时间的时间令牌,在生成时间令牌期间,它不需要与其他实体进行交互;
云服务器,为系统实体提供存储和计算服务;首先,云服务器为数据拥有者上传的加密数据提供云存储服务,此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户。
以下为本发明的具体实现过程。
图1为本发明的系统框架。本发明系统包括以下六种类型的实体:密钥生成中心、数据拥有者、数据用户(类型Ⅰ和Ⅱ)、陷门生成中心、时间服务器和云服务器。每个实体的特点和功能介绍如下:
密钥生成中心(KGC):KGC是系统中完全可信任的实体。它负责初始化系统参数并为每个用户生成公/私钥对。
数据拥有者:数据拥有者将其文档外包给云服务器进行存储。使用正则语言描述外包文档,描述内容表现为关键字字符串的形式。对该外包文档和关键字字符串加密后,上传到云服务器中。数据拥有者也可以是数据用户。
数据用户:数据用户向云服务器发出搜索的请求。根据是否拥有生成陷门的数据密钥,将数据用户分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ。其中数据用户类型Ⅰ持有生成陷门的密钥,而数据用户类型Ⅱ没有生成陷门的密钥。数据用户获得陷门后,将陷门发送到云服务器,以发起对密文文档执行搜索操作的请求。
陷门生成中心(TGC):TGC可以获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门。
时间服务器:时间服务器负责生成当前时间的时间令牌。在生成时间令牌期间,它不需要与其他实体进行交互。
云服务器:云服务器为系统实体提供存储和计算服务。首先,云服务器为数据拥有者上传的数据提供云存储服务。此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给用户。
本发明中的部分符号定义如下表1。
表1
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)。
2、时间令牌生成
TokenGen算法由时间服务器执行,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌。
3、加密
Enc算法由数据拥有者执行,数据拥有者使用正则语言的关键字字符串W=(w1,···,wm)描述其文档,之后利用其公钥pku将关键字字符串W加密为密文索引CT。
4、数据用户类型Ⅰ陷门生成
数据用户类型Ⅰ拥有陷门生成密钥,可以直接利用密钥生成DFA陷门。首先用户将正则语言的关键字字符串∑=(σ1,...,σn)定义为其中Q被定义为包含{q0,···,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态。将每一个状态转移函数表示为三元组而是状态转移函数的集合,
Trapdooruser(sku,pkcs,M)→TKu:用户输入其私钥sku,云服务器的公钥pkcs及随机选择d,d0,v,v′,计算dN=γ2·v,可得然后,计算如下:T1=H(e(pkcs,T3′)v)·I·Y1 v·zd,T2=gd,T3=gv,T3′=gv′,
最后,它输出陷门TKu=(T1,T2,T3,T3′,T4,T5,{T6,a,T7,a,T8,a,T9,a}a∈[1,N]),用户发送TKu到云服务器中请求搜索,云服务器执行Test(CT,TKu)算法。
5、数据用户类型Ⅱ陷门生成
数据用户类型Ⅱ没有所要搜索数据的陷门生成密钥,无法直接生成陷门,因此需要在TGC的辅助下才能产生搜索陷门。同样地,用户Ⅱ先将正则语言的关键字字符串∑=(σ1,...,σn)表示为之后与TGC进行交互,生成完整的DFA陷门。
由用户执行交互算法的第一步,对进行如下操作:首先,选择随机值c,u,ψ,并计算ε1,j=sjσj/c,生成密文TK1=({ε1,j}j∈[1,N],ε2,ε3)。然后,获取TGC所指定的未来时间点tu,使用TGC的公钥和时间服务器的公钥pkT计算E1=zψ,E2=gψ,生成时间密文Etu=(E1,E2,{E3,j,E4,j}j∈[1,N])。此算法生成了两部分密文,一部分是嵌入了M的密文TK1,另一部分嵌入了用户要搜索的关键字以及未来时间点tu的时间密文Etu。最后,用户将(TK1,Etu)发送给TGC,以请求进一步构造陷门。
TokenGenTGC(Ⅱ)(TSK,TK1)→TK2:由TGC执行第二步:首先,TGC先将Etu进行存储,该密文在tu之后才能解密。然后,随机选择λ,λ0,θ,θ′,令λn-1=γ2·θ,可得接着,计算G1=H(e(pkcs,G3′)θ)·I·Y1 θ·zλ,G2=gλ,G3=gθ,G3′=gθ′, 输出TK2=(G1,G2,G3,G3′,G4,G5,{G6,j,G7,j,G8,j,G9,j}j∈[0,N])。最后,将部分DFA陷门TK2(无法直接用于密文搜索)发送给用户。
虽然用户Ⅱ得到的陷门TKG与用户Ⅰ的陷门TKu生成方式不同,但是他们的请求搜索的功能没有区别。用户Ⅱ将陷门TKG发送到云服务器,云服务器将执行Test(CT,TKG)以搜索陷门TKG的匹配项。最后给类型Ⅱ用户返回匹配密文索引所对应的文档。
6、测试
由云服务器执行Test算法。云服务器收到用户搜索请求后,对陷门与密文进行测试计算。为了抵抗关键字猜测攻击,算法要求输入云服务器的私钥。
Test(CT,TK,skcs)→0/1:将密文索引CT,陷门TK和云服务器私钥skcs作为输入。云服务器进行如下计算:
7、搜索关键字解密
到TGC指定的时间点tu时,时间服务器生成tu的时间令牌Ktu。然后,TGC利用其私钥和获得的时间令牌执行DecKeyword算法,解密出时间密文中的用户搜索关键字。
一、双线性对
设p是一个大素数,令G和GT是两个阶为p的乘法循环群,g是G的生成元。e:G×G→GT是G到GT的双线性映射。双线性映射e具有下面的性质:
(1)双线性:对于任何u,v∈G和x,y∈Zp,都有e(ux,vy)=e(uv)xy;
(2)非退化性:e(g,g)≠1;
(3)可计算性:对于任意g1,g2∈G,e(g1,g2)都可以被有效计算。
二、困难性假设
假设1(DBDH:判定性双线性Diffie-Hellman假设)。随机选择x,y,对素数阶为p的群G及其生成元g,给定随机四元组R=(g,gx,gy,gz)和元素Y(从GT中随机选择),攻击者很难将e(g,g)xyz与元素Y区分开来。
三、确定性有限自动机概述
确定性有限自动机能够根据给定的输入符号,确定地转移到下一个状态的位置。通过形式化定义将一个确定性有限自动机M描述成是一个有限自动机的五元组(Q,Σ,δ,q0,F)。
(1)Q=(q0,···,qn)是有限个状态组成的集合;
(2)Σ=(σ1,···,σn)是输入符号的集合;
(3)δ:Q×∑→Q是转移函数,用于规定DFA的状态转移规则;
(4)q0∈Q是初始状态;
假设W=(w1,w2,...,wl)∈Σ为一个字符串,若DFA M能够接受字符串W,当且仅当存在一个状态序列r0,r1,...,rn∈Q,并满足条件:
(1)r0=q0;
(2)对于i∈(0,n-1),有转移函数δ(ri,ri+1,wi+1);
(3)rn∈F。
若DFA M能够接受字符串W,则用符号ACCEPT(M,W)表示;反之则用符号REJECT(M,W)表示。如果有一种语言L,使得M能接受所有属于语言L的字符串并且拒绝所有不属于语言L的字符串,则称确定性有限自动机M能识别语言L,而L则称为正则语言。
图2,q0是初始状态,q4是终止状态。假设当前状态为q0,如果此时输入的是w1,将会从状态q0转移到状态q1。随着符号wi不断输入,状态将会根据预定义集合里的状态转移函数持续地发生变化。从图中可以得出,DFA会接受的字符串,如(w1,w5,w3,w4,w6);DFA会拒绝的字符串,如(w1,w3,w6)。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (8)
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);
5.根据权利要求4所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述数据用户类型Ⅰ的陷门生成具体过程如下:
数据用户类型Ⅰ持有生成陷门的数据密钥,可以直接利用密钥生成DFA陷门;首先数据用户类型Ⅰ将正则语言的关键字字符串∑=(σ1,...,σn)定义为其中Q被定义为包含{q0,…,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,n表示DFA中字符的数量,将每一个状态转移函数表示为三元组而是状态转移的集合,令表示状态转移集合中元素的数量;
Trapdooruser(sku,pkcs,M)→TKu:用户输入其私钥sku,云服务器的公钥pkcs及随机选择d,d0,v,v′,计算dN=γ2·v,可得然后,计算如下:T1=H(e(pkcs,T3′)v)·I·Y1 v·zd,T2=gd,T3=gv,T3′=gv′,
最后,它输出搜索陷门TKu=(T1,T2,T3,T3′,T4,T5,{T6,a,T7,a,T8,a,T9,a}a∈[1,N]),发送TKu到云服务器中请求搜索,云服务器执行搜索算法,最后给数据用户类型Ⅰ返回匹配密文索引所对应的文档。
6.根据权利要求5所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述数据用户类型Ⅱ的陷门生成具体过程如下:
数据用户类型Ⅱ没有生成陷门的数据密钥,无法直接生成陷门,因此需要在TGC的辅助下才能产生搜索陷门;数据用户类型Ⅱ先将正则语言的关键字字符串∑=(σ1,...,σn)表示为其中Q被定义为包含{q0,…,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,将每一个状态转移函数表示为三元组而是状态转移函数的集合,令状态转移集合中元素的数量;之后与TGC进行交互,生成完整的DFA陷门;
由数据用户类型Ⅱ执行交互算法的第一步,对进行如下操作:首先,选择随机值c,u,ψ,并计算ε1,j=sjσj/c,生成密文TK1=({ε1,j}j∈[1,N],ε2,ε3);然后,获取TGC所指定的未来时间点tu,使用TGC的公钥和时间服务器的公钥pkT计算E1=zψ,E2=gψ, 生成时间密文Etu=(E1,E2,{E3,j,E4,j}j∈[1,N]);此算法生成了两部分密文,一部分是嵌入M的密文TK1,另一部分嵌入用户要搜索的关键字以及未来时间点tu的时间密文Etu;最后,数据用户类型Ⅱ将(TK1,Etu)发送给TGC,以请求进一步构造陷门;
TokenGenTGC(Ⅱ)(TSK,TK1)→TK2:由TGC执行第二步,首先,TGC先将Etu进行存储,该密文在tu之后才能解密;然后,随机选择λ,λ0,令可得接着,计算G1=H(e(pkcs,G3′)θ)·I·Y1 θ·zλ,G2=gλ,G3=gθ,G3′=gθ′, 输出TK2=(G1,G2,G3,G3′,G4,G5,{G6,j,G7,j,G8,j,G9,j}j∈[0,N]);最后,将部分DFA陷门TK2发送给数据用户类型Ⅱ;
数据用户类型Ⅱ将搜索陷门TKG发送到云服务器,云服务器将执行搜索算法,最后给数据用户类型Ⅱ返回匹配密文索引所对应的文档。
7.根据权利要求6所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述云服务器响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户的具体过程如下:
云服务器执行Test算法,云服务器收到数据用户搜索请求后,对搜索陷门与加密数据进行测试计算;为了抵抗关键字猜测攻击,算法要求输入云服务器的私钥;
Test(CT,TK,skcs)→0/1:将密文索引CT,搜索陷门TK和云服务器私钥skcs作为输入,云服务器进行如下计算:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134343.7A CN112765669B (zh) | 2021-02-01 | 2021-02-01 | 基于时间授权的正则语言可搜索加密系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134343.7A CN112765669B (zh) | 2021-02-01 | 2021-02-01 | 基于时间授权的正则语言可搜索加密系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765669A true CN112765669A (zh) | 2021-05-07 |
CN112765669B CN112765669B (zh) | 2023-04-18 |
Family
ID=75704388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110134343.7A Active CN112765669B (zh) | 2021-02-01 | 2021-02-01 | 基于时间授权的正则语言可搜索加密系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765669B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257446A (zh) * | 2021-12-20 | 2022-03-29 | 湖北工业大学 | 基于可搜索加密的数据访问控制方法、计算机设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023637A (zh) * | 2012-12-25 | 2013-04-03 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
CN107491497A (zh) * | 2017-07-25 | 2017-12-19 | 福州大学 | 支持任意语言查询的多用户多关键词排序可搜索加密系统 |
CN107679408A (zh) * | 2017-09-27 | 2018-02-09 | 福州大学 | 安全云存储中的正则语言检索系统 |
CN107734054A (zh) * | 2017-11-06 | 2018-02-23 | 福州大学 | 安全云存储中的加密数据检索系统 |
CN108259517A (zh) * | 2018-04-24 | 2018-07-06 | 上海海事大学 | 一种实现密文策略的密钥隔离属性的加密方法 |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
US20180375838A1 (en) * | 2017-06-27 | 2018-12-27 | Salesforce.Com, Inc. | Filtering and unicity with deterministic encryption |
-
2021
- 2021-02-01 CN CN202110134343.7A patent/CN112765669B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023637A (zh) * | 2012-12-25 | 2013-04-03 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
CN105681280A (zh) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | 一种云环境中基于中文的可搜索加密方法 |
US20180375838A1 (en) * | 2017-06-27 | 2018-12-27 | Salesforce.Com, Inc. | Filtering and unicity with deterministic encryption |
CN107491497A (zh) * | 2017-07-25 | 2017-12-19 | 福州大学 | 支持任意语言查询的多用户多关键词排序可搜索加密系统 |
CN107679408A (zh) * | 2017-09-27 | 2018-02-09 | 福州大学 | 安全云存储中的正则语言检索系统 |
CN107734054A (zh) * | 2017-11-06 | 2018-02-23 | 福州大学 | 安全云存储中的加密数据检索系统 |
CN108632032A (zh) * | 2018-02-22 | 2018-10-09 | 福州大学 | 无密钥托管的安全多关键词排序检索系统 |
CN108259517A (zh) * | 2018-04-24 | 2018-07-06 | 上海海事大学 | 一种实现密文策略的密钥隔离属性的加密方法 |
Non-Patent Citations (1)
Title |
---|
林涛等: "面向移动云的高效可搜索加密方案", 《万方数据期刊库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257446A (zh) * | 2021-12-20 | 2022-03-29 | 湖北工业大学 | 基于可搜索加密的数据访问控制方法、计算机设备 |
CN114257446B (zh) * | 2021-12-20 | 2023-05-23 | 湖北工业大学 | 基于可搜索加密的数据访问控制方法、计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112765669B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220368545A1 (en) | Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption | |
Liang et al. | Searchable attribute-based mechanism with efficient data sharing for secure cloud storage | |
Sun et al. | An efficient non-interactive multi-client searchable encryption with support for boolean queries | |
Wang et al. | Ciphertext-policy attribute-based encryption with delegated equality test in cloud computing | |
CN109450935B (zh) | 云存储中可验证的语义安全的多关键词搜索方法 | |
CN104021157B (zh) | 云存储中基于双线性对的关键词可搜索加密方法 | |
Wang et al. | Verifiable and multi-keyword searchable attribute-based encryption scheme for cloud storage | |
CN111930881B (zh) | 基于国密算法的连接关键词认证可搜索加密方法 | |
CN107256248A (zh) | 云存储安全中基于通配符的可搜索加密方法 | |
CN108111587B (zh) | 一种基于时间释放的云存储搜索方法 | |
Chenam et al. | A designated cloud server-based multi-user certificateless public key authenticated encryption with conjunctive keyword search against IKGA | |
Xiao et al. | Attribute-based hierarchical access control with extendable policy | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
Jiang et al. | Private keyword-search for database systems against insider attacks | |
Wang et al. | Ks-abeswet: A keyword searchable attribute-based encryption scheme with equality test in the internet of things | |
Xu et al. | Enabling comparable search over encrypted data for IoT with privacy-preserving | |
CN109740383B (zh) | 一种面向雾计算医疗系统的隐私保护控制方法 | |
Chen et al. | Multi-user boolean searchable encryption supporting fast ranking in mobile clouds | |
CN114697042A (zh) | 一种基于区块链的物联网安全数据共享代理重加密方法 | |
CN112765669B (zh) | 基于时间授权的正则语言可搜索加密系统 | |
Yan et al. | Secure and efficient big data deduplication in fog computing | |
Chen et al. | Attribute-based keyword search with proxy re-encryption in the cloud | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
Ye et al. | A verifiable dynamic multi-user searchable encryption scheme without trusted third parties | |
Zhang et al. | Multi-user and keyword-based searchable encryption scheme |
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 |