CN112765669A - 基于时间授权的正则语言可搜索加密系统 - Google Patents

基于时间授权的正则语言可搜索加密系统 Download PDF

Info

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
Application number
CN202110134343.7A
Other languages
English (en)
Other versions
CN112765669B (zh
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.)
Fuzhou University
Original Assignee
Fuzhou 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 Fuzhou University filed Critical Fuzhou University
Priority to CN202110134343.7A priority Critical patent/CN112765669B/zh
Publication of CN112765669A publication Critical patent/CN112765669A/zh
Application granted granted Critical
Publication of CN112765669B publication Critical patent/CN112765669B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/321Cryptographic 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/3213Cryptographic 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,
Figure BDA0002926214600000031
以及α,
Figure BDA0002926214600000032
计算
Figure BDA0002926214600000033
和I=gα;最后输出公共参数
Figure BDA0002926214600000034
(2)KeyGencs(pp,idcs)→(pkcs,skcs):KGC输入公共参数pp和云服务器CS的身份标识idcs,随机选择
Figure BDA0002926214600000035
然后计算h=gμ,最后输出云服务器的公/私钥对(pkcs,skcs)=(h,μ);
(3)KeyGenu(pp,idu)→(pku,sku,TSK):KGC利用公共参数pp和用户的身份标识idu作为输入.随机选择r′,r″,
Figure BDA0002926214600000036
并计算
Figure BDA0002926214600000037
Figure BDA0002926214600000038
最后,将公钥定义为pku=(D1,D2,Y2),私钥定义为sku=(r′,r″,γ2);
用户收到其公/私钥对后,选择一个随机值
Figure BDA0002926214600000039
计算
Figure BDA00029262146000000310
设TSK=(X1,X2,X3);最后,将密钥TSK授权给TGC,用于辅助没有陷门生成密钥的数据用户Ⅱ生成陷门;
(4)KeyGenT(pp)→(pkT,skT):KGC将公共参数pp作为输入,它在
Figure BDA00029262146000000311
中随机选择ξ,并计算X=gξ;将时间服务器的公/私钥对设为(pkT,skT)=(X,ξ);
(5)
Figure BDA00029262146000000312
KGC输入公共参数pp,选择一个随机值
Figure BDA00029262146000000313
然后计算A=gτ;输出TGC的公/私钥对为
Figure BDA00029262146000000314
所在本发明一实施例中,述时间服务器生成时间令牌的具体过程如下:
时间服务器执行TokenGen算法,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌;
TokenGen(skT,t0)→Kt0:时间服务器输入当前时间点t0及时间服务器私钥skT,计算
Figure BDA00029262146000000318
然后,随机选择
Figure BDA00029262146000000315
并计算K1=g,K2=f(t0)ξ·z,输出时间令牌为Kt0=(K1,K2)。
在本发明一实施例中,所述数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储的具体过程如下:
数据拥有者终端执行Enc算法,使用正则语言的关键字字符串W=(w1,···,wm)描述其文档,其中m为该关键字字符串的长度,之后利用其公钥pku将关键字字符串W加密为密文索引CT;
Enc(pku,W=(w1,···,wm))→CT:随机从
Figure BDA00029262146000000316
中选择r,r0,r1···rm并计算
Figure BDA00029262146000000317
C1=gr,C2=zr
Figure BDA0002926214600000041
最终输出密文索引为:
Figure BDA0002926214600000042
最后将密文索引CT和加密文档一起外包给云服务器。
在本发明一实施例中,所述数据用户类型Ⅰ的陷门生成具体过程如下:
数据用户类型Ⅰ持有生成陷门的数据密钥,可以直接利用密钥生成DFA陷门;首先数据用户类型Ⅰ将正则语言的关键字字符串∑=(σ1,...,σn)定义为
Figure BDA0002926214600000043
其中Q被定义为包含{q0,···,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,n表示DFA中字符的数量。将每一个状态转移函数a∈T表示为三元组
Figure BDA0002926214600000044
Figure BDA0002926214600000045
是状态转移函数的集合,令
Figure BDA0002926214600000046
表示状态转移函数的长度;
Trapdooruser(sku,pkcs,M)→TKu:用户输入其私钥sku,云服务器的公钥pkcs
Figure BDA0002926214600000047
随机选择d,d0
Figure BDA00029262146000000424
v,v′,
Figure BDA0002926214600000048
计算dN=γ2·v,可得
Figure BDA0002926214600000049
然后,计算如下:
Figure BDA00029262146000000410
T2=gd,T3=gv,T3′=gv′
Figure BDA00029262146000000411
Figure BDA00029262146000000412
最后,它输出搜索陷门TKu=(T1,T2,T3,T3′,T4,T5,{T6,a,T7,a,T8,a,T9,a}a∈[1,N]),发送TKu到云服务器中请求搜索,云服务器执行搜索算法,最后给数据用户类型Ⅰ返回匹配密文索引所对应的文档。
在本发明一实施例中,所述数据用户类型Ⅱ的陷门生成具体过程如下:
数据用户类型Ⅱ没有生成陷门的数据密钥,无法直接生成陷门,因此需要在TGC的辅助下才能产生搜索陷门;数据用户类型Ⅱ先将正则语言的关键字字符串∑=(σ1,...,σn)表示为
Figure BDA00029262146000000413
其中Q被定义为包含{q0,···,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,将每一个状态转移函数a∈T表示为三元组
Figure BDA00029262146000000414
Figure BDA00029262146000000415
是状态转移的集合,令
Figure BDA00029262146000000416
表示状态转移集合中元素的长度;之后与TGC进行交互,生成完整的DFA陷门;
Figure BDA00029262146000000417
TGC与数据用户类型Ⅱ之间的交互算法分为以下三步:
Figure BDA00029262146000000418
由数据用户类型Ⅱ执行交互算法的第一步,对
Figure BDA00029262146000000419
进行如下操作:首先,选择随机值c,u,ψ,
Figure BDA00029262146000000420
并计算ε1,j=sjσj/c,
Figure BDA00029262146000000421
生成密文TK1=({ε1,j}j∈[1,N]23);然后,获取TGC所指定的未来时间点tu,使用TGC的公钥
Figure BDA00029262146000000422
和时间服务器的公钥pkT计算E1=zψ,E2=gψ
Figure BDA00029262146000000423
Figure BDA0002926214600000051
生成时间密文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,θ,θ′,
Figure BDA0002926214600000052
令λn-1=γ2·θ,可得
Figure BDA0002926214600000053
接着,计算G1=H(e(pkcs,G3′)θ)·I·Y1 θ·zλ,G2=gλ,G3=gθ,G3′=gθ′
Figure BDA0002926214600000054
Figure BDA0002926214600000055
输出TK2=(G1,G2,G3,G3′,G4,G5,{G6,j,G7,j,G8,j,G9,j}j∈[0,N]);最后,将部分DFA陷门TK2发送给数据用户类型Ⅱ;
TokenGenTGC(Ⅲ)(TK2)→TKG:接收到TK2后,数据用户类型Ⅱ执行最后一步:令
Figure BDA0002926214600000056
Figure BDA0002926214600000057
最后,得到完整的DFA陷门为
Figure BDA0002926214600000058
数据用户类型Ⅱ将搜索陷门TKG发送到云服务器,云服务器将执行搜索算法,最后给数据用户类型Ⅱ返回匹配密文索引所对应的文档。
在本发明一实施例中,所述云服务器响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户的具体过程如下:
云服务器执行Test算法,云服务器收到数据用户搜索请求后,对搜索陷门与加密数据进行测试计算;为了抵抗关键字猜测攻击,算法要求输入云服务器的私钥;
Test(CT,TK,skcs)→0/1:将密文索引CT,搜索陷门TK和云服务器私钥skcs作为输入,云服务器进行如下计算:
Figure BDA0002926214600000059
Figure BDA00029262146000000510
然后,云服务器计算
Figure BDA00029262146000000511
是否成立,如果等式成立,则意味着搜索陷门中嵌入的M接受密文索引中的关键字字符串W,则返回1,表示匹配成功;否则,返回0;当数据用户类型Ⅰ发送搜索请求时,云服务器执行Test(CT,TKu,skcs);当数据用户类型Ⅱ发送搜索请求时,云服务器执行Test(CT,TKG,skcs)。
在本发明一实施例中,所述用户要搜索的关键字的解密方式如下:
到TGC指定的时间点tu时,时间服务器生成tu的时间令牌Ktu;然后,TGC利用其私钥和获得的时间令牌执行DecKeyword算法,解密出时间密文中的用户要搜索的关键字;
Figure BDA0002926214600000061
算法输入TGC的私钥
Figure BDA0002926214600000062
时间密文Etu和tu的时间令牌Ktu,通过如下计算,解密关键字σ:
Figure BDA0002926214600000063
相较于现有技术,本发明具有以下有益效果:
(1)密文数据的灵活共享:本发明能允许持有陷门生成密钥的用户直接使用其密钥生成搜索陷门;而没有陷门生成密钥的用户可通过与可信第三方进行三步交互生成搜索陷门。两种生成陷门的方式,都不会泄露用户搜索内容,又同样能发起搜索查询请求。
(2)时间控制的密文解密:本发明将指定的时间点和用户搜索的关键字嵌入密文中,该密文必须在该指定时间之后才能被解密密钥解密,从而获得密文中的搜索关键字。实现了在不泄露用户身份隐私的前提下,收集到用户请求搜索的关键字。用户所请求搜索的关键字是很重要的数据,可以进一步利用,如进行数据分析及系统优化。
(3)正则语言搜索:本发明采用了正则语言搜索,与其它方案相比,本发明可以提供更灵活的搜索模式。允许用户请求搜索任意长度的关键字字符串的加密数据。
(4)灵活扩展符号集:本发明支持动态增添搜索符号集。方案不需要预定义系统中搜索符号的集合,允许容纳任意多的搜索符号,更满足实际需求。
用途:在大数据时代的背景下,云存储服务以低开销和便捷的优势被广大用户所接受。然而,云服务器是不可信的,用户在将数据上传到云端后无法保证数据安全和隐私。因此,用户通常选择将数据加密后再上传到云端,但又引入了一个新的挑战:如何在海量的加密数据中进行数据搜索,同时确保数据的安全性。可搜索方案为这类问题提供了有效的解决方案,其可以在保证数据安全性的同时实现密文数据的搜索。本发明提出了一种灵活高效的密文共享的正则语言可搜索加密方案。与其他现有方案相比,本发明的优点在于它支持密文数据的灵活共享。满足了不同用户对密文数据搜索的需求。时间控制的密文解密允许系统收集用户搜索的关键字同时保证不泄露该用户的隐私,使得系统后期能根据收集到的用户搜索关键字进行进一步的优化。
附图说明
图1为本发明系统框架。
图2为本发明中DFA的工作过程。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种基于时间授权的正则语言可搜索加密系统,包括:密钥生成中心、数据拥有者、数据用户、陷门生成中心、时间服务器和云服务器;
密钥生成中心,负责初始化系统参数并为每个实体生成公/私钥对;
数据拥有者,通过数据拥有者终端将其文档加密外包给云服务器进行存储,即通过数据拥有者终端使用正则语言描述外包文档,描述内容表现为关键字字符串的形式,对该外包文档和关键字字符串加密后,上传到云服务器中;
数据用户,通过数据用户终端向云服务器发出搜索的请求,即数据用户获得陷门后,将陷门通过数据用户终端发送到云服务器,以发起对密文文档执行搜索操作的请求;数据用户根据是否拥有生成陷门的数据密钥分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ,其中,数据用户类型Ⅰ持有生成陷门的数据密钥,数据用户类型Ⅱ没有生成陷门的数据密钥;数据用户包括数据拥有者;
陷门生成中心TGC,可获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门;
时间服务器,负责生成当前时间的时间令牌,在生成时间令牌期间,它不需要与其他实体进行交互;
云服务器,为系统实体提供存储和计算服务;首先,云服务器为数据拥有者上传的加密数据提供云存储服务,此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户。
以下为本发明的具体实现过程。
图1为本发明的系统框架。本发明系统包括以下六种类型的实体:密钥生成中心、数据拥有者、数据用户(类型Ⅰ和Ⅱ)、陷门生成中心、时间服务器和云服务器。每个实体的特点和功能介绍如下:
密钥生成中心(KGC):KGC是系统中完全可信任的实体。它负责初始化系统参数并为每个用户生成公/私钥对。
数据拥有者:数据拥有者将其文档外包给云服务器进行存储。使用正则语言描述外包文档,描述内容表现为关键字字符串的形式。对该外包文档和关键字字符串加密后,上传到云服务器中。数据拥有者也可以是数据用户。
数据用户:数据用户向云服务器发出搜索的请求。根据是否拥有生成陷门的数据密钥,将数据用户分为两类:数据用户类型Ⅰ和数据用户类型Ⅱ。其中数据用户类型Ⅰ持有生成陷门的密钥,而数据用户类型Ⅱ没有生成陷门的密钥。数据用户获得陷门后,将陷门发送到云服务器,以发起对密文文档执行搜索操作的请求。
陷门生成中心(TGC):TGC可以获得数据拥有者加密后的密钥,用于辅助数据用户类型Ⅱ生成陷门。
时间服务器:时间服务器负责生成当前时间的时间令牌。在生成时间令牌期间,它不需要与其他实体进行交互。
云服务器:云服务器为系统实体提供存储和计算服务。首先,云服务器为数据拥有者上传的数据提供云存储服务。此外,它会响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给用户。
本发明中的部分符号定义如下表1。
表1
Figure BDA0002926214600000081
Figure BDA0002926214600000091
在本发明中,|Σ|不用预定义大小,即无限大小,且DFA只有一种终止状态,所以将DFA的表示由原来的(Q,Σ,δ,q0,F)定义成
Figure BDA0002926214600000092
令n=|Q|,N=|T|,
Figure BDA0002926214600000093
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
Figure BDA0002926214600000094
以及α,
Figure BDA0002926214600000095
计算
Figure BDA0002926214600000096
和I=gα。最后输出公共参数
Figure BDA0002926214600000097
(2)KeyGencs(pp,idcs)→(pkcs,skcs):KGC输入公共参数pp和云服务器cs的身份标识idcs,随机选择
Figure BDA0002926214600000098
然后计算h=gμ,最后输出云服务器的公/私钥对(pkcs,skcs)=(h,μ)。
(3)KeyGenu(pp,idu)→(pku,sku,TSK):KGC利用公共参数pp和用户的身份标识idu作为输入.随机选择r′,r″,
Figure BDA0002926214600000099
并计算
Figure BDA00029262146000000910
Figure BDA00029262146000000911
最后,将公钥定义为pku=(D1,D2,Y2),私钥定义为sku=(r′,r″,γ2)。
用户收到其公/私钥对后,选择一个随机值
Figure BDA00029262146000000912
计算
Figure BDA00029262146000000913
设TSK=(X1,X2,X3)。最后,将密钥TSK授权给TGC,用于辅助没有陷门生成密钥的用户Ⅱ生成陷门。
(4)KeyGenT(pp)→(pkT,skT):KGC将公共参数pp作为输入,它在
Figure BDA00029262146000000914
中随机选择ξ,并计算X=gξ。将时间服务器的公/私钥对设为(pkT,skT)=(X,ξ)。
(5)
Figure BDA00029262146000000915
KGC输入公共参数pp,选择一个随机值
Figure BDA00029262146000000916
然后计算A=gτ。输出TGC的公/私钥对为
Figure BDA00029262146000000917
2、时间令牌生成
TokenGen算法由时间服务器执行,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌。
TokenGen(skT,t0)→Kt0:时间服务器输入当前时间点t0及时间服务器私钥skT,计算
Figure BDA0002926214600000101
然后,随机选择
Figure BDA0002926214600000102
并计算K1=g,K2=f(t0)ξ·z。输出时间令牌为Kt0=(K1,K2)。
3、加密
Enc算法由数据拥有者执行,数据拥有者使用正则语言的关键字字符串W=(w1,···,wm)描述其文档,之后利用其公钥pku将关键字字符串W加密为密文索引CT。
Enc(pku,W=(w1,···,wm))→CT:数据拥有者随机从
Figure BDA0002926214600000103
中选择r,r0,r1···rm并计算
Figure BDA0002926214600000104
C1=gr,C2=zr
Figure BDA0002926214600000105
最终输出密文索引为:
Figure BDA0002926214600000106
最后将密文索引CT和加密文档一起外包给云服务器。
4、数据用户类型Ⅰ陷门生成
数据用户类型Ⅰ拥有陷门生成密钥,可以直接利用密钥生成DFA陷门。首先用户将正则语言的关键字字符串∑=(σ1,...,σn)定义为
Figure BDA0002926214600000107
其中Q被定义为包含{q0,···,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态。将每一个状态转移函数
Figure BDA0002926214600000108
表示为三元组
Figure BDA0002926214600000109
Figure BDA00029262146000001010
是状态转移函数的集合,
Figure BDA00029262146000001011
Trapdooruser(sku,pkcs,M)→TKu:用户输入其私钥sku,云服务器的公钥pkcs
Figure BDA00029262146000001012
随机选择d,d0
Figure BDA00029262146000001019
v,v′,
Figure BDA00029262146000001013
计算dN=γ2·v,可得
Figure BDA00029262146000001014
然后,计算如下:T1=H(e(pkcs,T3′)v)·I·Y1 v·zd,T2=gd,T3=gv,T3′=gv′
Figure BDA00029262146000001015
Figure BDA00029262146000001016
最后,它输出陷门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)表示为
Figure BDA00029262146000001017
之后与TGC进行交互,生成完整的DFA陷门。
Figure BDA00029262146000001018
TGC与数据用户Ⅱ之间的交互算法分为以下三步:
Figure BDA0002926214600000111
由用户执行交互算法的第一步,对
Figure BDA0002926214600000112
进行如下操作:首先,选择随机值c,u,ψ,
Figure BDA0002926214600000113
并计算ε1,j=sjσj/c,
Figure BDA0002926214600000114
生成密文TK1=({ε1,j}j∈[1,N]23)。然后,获取TGC所指定的未来时间点tu,使用TGC的公钥
Figure BDA0002926214600000115
和时间服务器的公钥pkT计算E1=zψ,E2=gψ
Figure BDA0002926214600000116
生成时间密文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,θ,θ′,
Figure BDA0002926214600000117
令λn-1=γ2·θ,可得
Figure BDA0002926214600000118
接着,计算G1=H(e(pkcs,G3′)θ)·I·Y1 θ·zλ,G2=gλ,G3=gθ,G3′=gθ′
Figure BDA0002926214600000119
Figure BDA00029262146000001110
输出TK2=(G1,G2,G3,G3′,G4,G5,{G6,j,G7,j,G8,j,G9,j}j∈[0,N])。最后,将部分DFA陷门TK2(无法直接用于密文搜索)发送给用户。
TokenGenTGC(Ⅲ)(TK2)→TKG:接收到TK2后,用户执行最后一步:令
Figure BDA00029262146000001111
Figure BDA00029262146000001112
最后,得到完整的DFA陷门为
Figure BDA00029262146000001113
虽然用户Ⅱ得到的陷门TKG与用户Ⅰ的陷门TKu生成方式不同,但是他们的请求搜索的功能没有区别。用户Ⅱ将陷门TKG发送到云服务器,云服务器将执行Test(CT,TKG)以搜索陷门TKG的匹配项。最后给类型Ⅱ用户返回匹配密文索引所对应的文档。
6、测试
由云服务器执行Test算法。云服务器收到用户搜索请求后,对陷门与密文进行测试计算。为了抵抗关键字猜测攻击,算法要求输入云服务器的私钥。
Test(CT,TK,skcs)→0/1:将密文索引CT,陷门TK和云服务器私钥skcs作为输入。云服务器进行如下计算:
Figure BDA00029262146000001114
Figure BDA00029262146000001115
然后,云服务器计算
Figure BDA00029262146000001116
是否成立。如果等式成立,则意味着搜索陷门中嵌入的M接受密文索引中的关键字字符串W,则返回1,表示匹配成功;否则,返回0。
7、搜索关键字解密
到TGC指定的时间点tu时,时间服务器生成tu的时间令牌Ktu。然后,TGC利用其私钥和获得的时间令牌执行DecKeyword算法,解密出时间密文中的用户搜索关键字。
Figure BDA0002926214600000121
算法输入TGC的私钥
Figure BDA0002926214600000122
时间密文Etu和tu的时间令牌Ktu。通过如下计算,解密关键字σ:
Figure BDA0002926214600000123
一、双线性对
设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,
Figure BDA0002926214600000124
对素数阶为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是初始状态;
(5)
Figure BDA0002926214600000125
是终止状态的集合。
本文使用符号
Figure BDA0002926214600000126
表示转移函数δ组成的转移集合。如果转移函数为
Figure BDA0002926214600000127
则对应的转移集
Figure BDA0002926214600000128
表示为
Figure BDA0002926214600000129
其中
Figure BDA00029262146000001210
假设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,
Figure FDA0002926214590000011
以及α,
Figure FDA0002926214590000012
计算
Figure FDA0002926214590000013
和I=gα;最后输出公共参数
Figure FDA0002926214590000014
(2)KeyGencs(pp,idcs)→(pkcs,skcs):KGC输入公共参数pp和云服务器CS的身份标识idcs,随机选择
Figure FDA0002926214590000015
然后计算h=gμ,最后输出云服务器的公/私钥对(pkcs,skcs)=(h,μ);
(3)KeyGenu(pp,idu)→(pku,sku,TSK):KGC利用公共参数pp和用户的身份标识idu作为输入.随机选择r′,r″,
Figure FDA0002926214590000021
并计算
Figure FDA0002926214590000022
Figure FDA0002926214590000023
最后,将公钥定义为pku=(D1,D2,Y2),私钥定义为sku=(r′,r″,γ2);
用户收到其公/私钥对后,选择一个随机值
Figure FDA0002926214590000024
计算
Figure FDA0002926214590000025
设TSK=(X1,X2,X3);最后,将密钥TSK授权给TGC,用于辅助没有陷门生成密钥的数据用户Ⅱ生成陷门;
(4)KeyGenT(pp)→(pkT,skT):KGC将公共参数pp作为输入,它在
Figure FDA0002926214590000026
中随机选择ξ,并计算X=gξ;将时间服务器的公/私钥对设为(pkT,skT)=(X,ξ);
(5)
Figure FDA0002926214590000027
KGC输入公共参数pp,选择一个随机值
Figure FDA0002926214590000028
然后计算A=gτ;输出TGC的公/私钥对为
Figure FDA0002926214590000029
3.根据权利要求2所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述时间服务器生成时间令牌的具体过程如下:
时间服务器执行TokenGen算法,时间服务器只生成当前时间点的时间令牌,不会提前生成未来时间点的时间令牌;
TokenGen(skT,t0)→Kt0:时间服务器输入当前时间点t0及时间服务器私钥skT,计算
Figure FDA00029262145900000210
然后,随机选择
Figure FDA00029262145900000211
并计算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:随机从
Figure FDA00029262145900000212
中选择r,r0,r1…rm并计算
Figure FDA00029262145900000213
C1=gr,C2=zr
Figure FDA00029262145900000214
最终输出密文索引为:
Figure FDA00029262145900000215
最后将密文索引CT和加密文档一起外包给云服务器。
5.根据权利要求4所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述数据用户类型Ⅰ的陷门生成具体过程如下:
数据用户类型Ⅰ持有生成陷门的数据密钥,可以直接利用密钥生成DFA陷门;首先数据用户类型Ⅰ将正则语言的关键字字符串∑=(σ1,...,σn)定义为
Figure FDA00029262145900000216
其中Q被定义为包含{q0,…,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,n表示DFA中字符的数量,将每一个状态转移函数
Figure FDA0002926214590000031
表示为三元组
Figure FDA00029262145900000324
Figure FDA0002926214590000032
是状态转移的集合,令
Figure FDA0002926214590000033
表示状态转移集合中元素的数量;
Trapdooruser(sku,pkcs,M)→TKu:用户输入其私钥sku,云服务器的公钥pkcs
Figure FDA0002926214590000034
随机选择d,d0,
Figure FDA0002926214590000035
v,v′,
Figure FDA0002926214590000036
计算dN=γ2·v,可得
Figure FDA0002926214590000037
然后,计算如下:T1=H(e(pkcs,T3′)v)·I·Y1 v·zd,T2=gd,T3=gv,T3′=gv′
Figure FDA0002926214590000038
Figure FDA0002926214590000039
最后,它输出搜索陷门TKu=(T1,T2,T3,T3′,T4,T5,{T6,a,T7,a,T8,a,T9,a}a∈[1,N]),发送TKu到云服务器中请求搜索,云服务器执行搜索算法,最后给数据用户类型Ⅰ返回匹配密文索引所对应的文档。
6.根据权利要求5所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述数据用户类型Ⅱ的陷门生成具体过程如下:
数据用户类型Ⅱ没有生成陷门的数据密钥,无法直接生成陷门,因此需要在TGC的辅助下才能产生搜索陷门;数据用户类型Ⅱ先将正则语言的关键字字符串∑=(σ1,...,σn)表示为
Figure FDA00029262145900000310
其中Q被定义为包含{q0,…,qn-1}的有限状态集,q0是初始状态,qn-1是终止状态,将每一个状态转移函数
Figure FDA00029262145900000311
表示为三元组
Figure FDA00029262145900000325
Figure FDA00029262145900000312
是状态转移函数的集合,令
Figure FDA00029262145900000313
状态转移集合中元素的数量;之后与TGC进行交互,生成完整的DFA陷门;
Figure FDA00029262145900000314
TGC与数据用户类型Ⅱ之间的交互算法分为以下三步:
Figure FDA00029262145900000315
由数据用户类型Ⅱ执行交互算法的第一步,对
Figure FDA00029262145900000316
进行如下操作:首先,选择随机值c,u,ψ,
Figure FDA00029262145900000317
并计算ε1,j=sjσj/c,
Figure FDA00029262145900000318
生成密文TK1=({ε1,j}j∈[1,N]23);然后,获取TGC所指定的未来时间点tu,使用TGC的公钥
Figure FDA00029262145900000319
和时间服务器的公钥pkT计算E1=zψ,E2=gψ
Figure FDA00029262145900000320
Figure FDA00029262145900000321
生成时间密文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,
Figure FDA00029262145900000322
Figure FDA00029262145900000323
可得
Figure FDA0002926214590000041
接着,计算G1=H(e(pkcs,G3′)θ)·I·Y1 θ·zλ,G2=gλ,G3=gθ,G3′=gθ′
Figure FDA0002926214590000042
Figure FDA0002926214590000043
输出TK2=(G1,G2,G3,G3′,G4,G5,{G6,j,G7,j,G8,j,G9,j}j∈[0,N]);最后,将部分DFA陷门TK2发送给数据用户类型Ⅱ;
TokenGenTGC(Ⅲ)(TK2)→TKG:接收到TK2后,数据用户类型Ⅱ执行最后一步:令
Figure FDA0002926214590000044
Figure FDA0002926214590000045
最后,得到完整的DFA陷门为
Figure FDA0002926214590000046
数据用户类型Ⅱ将搜索陷门TKG发送到云服务器,云服务器将执行搜索算法,最后给数据用户类型Ⅱ返回匹配密文索引所对应的文档。
7.根据权利要求6所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述云服务器响应数据用户的搜索查询,进行保护隐私的测试计算,最后将匹配的数据返回给数据用户的具体过程如下:
云服务器执行Test算法,云服务器收到数据用户搜索请求后,对搜索陷门与加密数据进行测试计算;为了抵抗关键字猜测攻击,算法要求输入云服务器的私钥;
Test(CT,TK,skcs)→0/1:将密文索引CT,搜索陷门TK和云服务器私钥skcs作为输入,云服务器进行如下计算:
Figure FDA0002926214590000047
Figure FDA0002926214590000048
然后,云服务器计算
Figure FDA0002926214590000049
是否成立,如果等式成立,则意味着搜索陷门中嵌入的M接受密文索引中的关键字字符串W,则返回1,表示匹配成功;否则,返回0;当数据用户类型Ⅰ发送搜索请求时,云服务器执行Test(CT,TKu,skcs);当数据用户类型Ⅱ发送搜索请求时,云服务器执行Test(CT,TKG,skcs)。
8.根据权利要求6所述的基于时间授权的正则语言可搜索加密系统,其特征在于,所述用户要搜索的关键字的解密方式如下:
到TGC指定的时间点tu时,时间服务器生成tu的时间令牌Ktu;然后,TGC利用其私钥和获得的时间令牌执行DecKeyword算法,解密出时间密文中的用户要搜索的关键字;
Figure FDA00029262145900000410
算法输入TGC的私钥
Figure FDA00029262145900000411
时间密文Etu和tu的时间令牌Ktu,通过如下计算,解密关键字σ:
Figure FDA0002926214590000051
CN202110134343.7A 2021-02-01 2021-02-01 基于时间授权的正则语言可搜索加密系统 Active CN112765669B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257446A (zh) * 2021-12-20 2022-03-29 湖北工业大学 基于可搜索加密的数据访问控制方法、计算机设备

Citations (8)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
林涛等: "面向移动云的高效可搜索加密方案", 《万方数据期刊库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
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