CN110851850B - 一种可搜索加密系统的实现方法 - Google Patents
一种可搜索加密系统的实现方法 Download PDFInfo
- Publication number
- CN110851850B CN110851850B CN201911124180.3A CN201911124180A CN110851850B CN 110851850 B CN110851850 B CN 110851850B CN 201911124180 A CN201911124180 A CN 201911124180A CN 110851850 B CN110851850 B CN 110851850B
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- node
- private key
- keyword
- 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.)
- Active
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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于一般电路访问结构的可搜索加密系统,在云环境下实现了安全高效的基于属性关键字搜索和密文访问控制。本发明将支持一般电路访问结构的属性加密和可搜索加密相结合,实现了可支持一般电路访问结构的可搜索加密,只有产生陷门的用户的属性满足访问结构,才能成功进行关键字搜索和密文解密。本方法不仅支持更加灵活、细粒度的访问策略,并能解决回溯攻击问题,安全性更高。另外还对传统的基于一般电路的属性加密算法进行改进,使与门的秘密值直接相加,从而减少密文长度,减少计算和通信开销。最后由于部分解密工作由云服务器完成,极大的减轻了普通用户的计算负担。
Description
技术领域
本发明涉及一种可搜索加密系统的实现方法,属于云计算技术领域。
背景技术
云计算的概念自提出以来就受到科学界的广泛关注,已经发展成为一种成熟的商业计算模式。云计算大规模,低成本的特点,使得越来越多的用户将数据存储于云存储服务器,实现数据的存储和共享。云存储给数据存储带来便利的同时也到来了诸多安全隐患。而密文访问控制技术,即数据拥有者通过加密并控制用户的解密以实现安全的数据文件访问控制,是一种很好的解决云存储数据安全的方法。但是,加密会影响数据和文件的共享。在网络迅猛发展、信息爆炸的今天,如何安全、高效地搜索到用户所感兴趣的加密数据,对云计算环境是非常重要和必不可少的。可搜索加密技术是一种可以实现对密文进行关键字搜索的方法,能很好地实现了对密文的检索。可搜索加密充分利用云服务器庞大的计算资源进行密文上的关键字查找,不仅保证了用户数据的安全和隐私,而且能够节省大量的网络传输和计算开销。而结合了基于属性加密技术和可搜索加密技术的基于属性的可搜索加密中,用属性集表示用户的身份信息,只有当用户的属性满足访问策略时,才对密文进行检索和解密,不仅很好保护了用户隐私,还为用户提供安全高效的、细粒度的密文访问控制和关键字搜索,实现了一对多的数据共享和多用户搜索。
然而现有基于属性的密文搜索技术的访问策略不支持一般电路访问结构,仅支持“与”门、访问树和LSSS访问结构。与门访问结构只能表示受限的访问策略,树访问结构计算效率较低。而LSSS访问结构虽然计算效率较高,但其和树访问节构由于其各自的实现的数学原理的限制,两者能够表示的访问策略中每个节点只能有一个父亲节点,这制约了其能表示的访问策略的灵活度。而本方法采用的一般电路访问结构不仅访问策略更加灵活,并且能够有效解决树结构中的回溯攻击问题,可以构造扇出大于2的更加灵活的访问策略。另外本方法还将部分密文的解密工作交给云服务器来完成,极大的减轻了用户的负担。
发明内容
本发明的目的在于利用一般电路访问结构解决访问策略不够灵活、加密机制不够安全的问题,并对密文进行一定的优化,消除了与门部分的密文,在提高计算效率的同时,减少了密文长度。
本发明解决其技术问题所采取的技术方案是:一种基于一般电路访问结构的可搜索加密系统,包括初始化模块、私钥生成模、加密模块、陷门生成模块、搜索模块及解密模块。
步骤1)系统初始化模块:私钥生成中心(PKG)生成系统公共参数和系统主密钥,公开参数公开,主密钥由PKG保存;
步骤2)私钥生成模块:根据用户的属性集合生成用户解密密钥;
步骤3)加密模块:用户确定关键字W、消息明文M及访问结构后产生相对应的消息密文和关键字密文;
步骤4)陷门生成模块:用户使用想搜索的关键字W’及其私钥,产生对应的陷门,使得云服务提供者(CSP)进行搜索。
步骤5)搜索模块:CSP使用陷门对关键字进行搜索,并对搜索到的关键字对应的密文进行部分解密。
步骤6)解密模块:对部分密文,进行解密得到消息明文。
具体的,所述的加密解密模块使用的是基于属性的加密(Attribute-BasedEncryption,ABE)技术,通过利用用户相关属性作为资源授权的依据,适用于大规模分布式网络交互环境;所述的CP-ABE是指基于密文策略的属性加密算法 (Ciphertext-PolicyABE,CP-ABE),该算法中私钥与属性集相关,密文与访问结构相关,更容易实现数据拥有者对访问者的权限控制;采用一般电路访问结构,能够实现对访问者的属性细粒度地描述,灵活的控制访问权限。
本发明提供了一种基于一般电路访问结构的可搜索加密方法,该方法包括如下步骤:
步骤1:初始化
输入安全参数λ、电路最高高度l属性个数n,产生公共参数pk及私钥msk。运行g(1λ,k=l+1)产生群组G=(G1,...Gk),以及对应的各群的生成元g1,...gK,令g=g1;随机选择Hash函数H1:{0,1}*→Zp,随机选择a,b,c∈RZp,h1,...hn∈G1。计算ga,gb,
令msk={a,b,c}
步骤2:私钥生成
步骤3:加密
输入公共参数pk,关键字W明文M,访问结构f={q,n,A,B,GateType}产生密文CT其中q为门节点个数,n为输入节点个数,A为从父节点到第一个孩子节点的映射,B为从父节点到第二个孩子节点的映射,GateType判断当前门节点类型,为AND还是OR。
设att(w)为节点w所对应的属性,deh(w)为节点w的深度。首先为控制树产生对应密文{Cw}w∈f。产生{Cw}w∈f时,应从底向上按以下方式生成:
(3)对于w∈{n+1,n+q}且GateType(w)=AND。已知rA(w),rB(w)的情况下, rw=rA(w)+rB(w)。
最终生成的密文为CT={C,C0,CK,CM,{Cw}w∈f}
步骤4:陷门生成
输入私钥sk,关键字W′,及用户私钥sk所对应的属性集atts,产生陷门 TOK;随机s∈RZp,产生: T4=Ks=grs,用户保留s,s是产生陷门是的秘密值, T1,T2,T3,T4各是产生的陷门元素的标号;
最终令陷门为TOK={T1,T2,T3,T4,{Ti}i∈atts}
步骤5:搜索
输入公共参数pk,陷门TOK,密文CT。设TOK中关键字为W′,CT中关键字为W,搜索时应对CT中访问控制树中的节点w依次计算Ew。对于父节点w 需在知道孩子节点EA(w)及EB(w)后才能计算Ew。对于节点w计算Ew的方式如下:
(1)对于w∈{1,n},即为输入节点。计算:
(2)对于w∈{n+1,n+q}且GateType(w)=OR,即或门节点,其深度j=deh(w)。计算:
(3)对于w∈{n+1,n+q}且GateType(w)=AND,即与门节点。计算
对于树中的节点w,需要找到{Ti}i∈atts陷门中对应的属性的陷门,节点w的属性为att(w),则其att(w)对应的是Tatt(w)。
最后用户验证以下等式是否相等:
e(T2,C0)==e(C,T1)Y
若上式相等,则说明关键字W=W′即搜索到关键字和密文,则令 PCT={CT,Z},否则说明当前密文中不包含所检索的关键字。
步骤6:解密
输入公共参数pk,部分密文PCT,私钥sk,按以下方式计算得到明文M:
附图说明
图1 为本发明可搜索加密算法具体实现流程图;
图2 云计算环境中的系统模型图。
具体实施方式
一种基于一般电路访问结构的可搜索加密方法,该方法包括初始化模块、私钥生成模、加密模块、陷门产生模块、搜索模块及解密模块。
步骤1)系统初始化模块:私钥生成中心(PKG)生成系统公共参数和系统主密钥,公开参数公开,主密钥由PKG保存;
步骤2)私钥生成模块:根据用户的属性集合生成用户解密密钥;
步骤3)加密模块:用户确定关键字W、消息明文M及访问结构后产生相对应的消息密文和关键字密文;
步骤4)陷门生成模块:用户使用想搜索的关键字W’及其私钥,产生对应的陷门,使得云服务提供者(CSP)进行搜索。
步骤5)搜索模块:CSP使用陷门对关键字进行搜索,并对搜索到的关键字对应的密文进行部分解密。
步骤6)解密模块:对部分密文,进行解密得到消息明文。
具体的,所述的加密模块使用的是基于属性的加密(Attribute-BasedEncryption,ABE)技术,通过利用用户相关属性作为资源授权的依据,设计具体的访问控制结构,适用于大规模分布式网络交互环境;所述的CP-ABE是指基于密文策略的属性加密算法(Ciphertext-PolicyABE,CP-ABE),该算法中私钥与属性集相关,密文与访问结构相关,更容易实现数据拥有者对访问者的权限控制;采用一般电路访问结构,能够实现对访问者的属性细粒度地描述,灵活的控制访问权限。
本发明提供了一种基于一般电路访问结构的可搜索加密方法,该方法包括如下步骤:
步骤1:初始化
输入安全参数λ,电路最高高度l,属性个数n。产生公共参数pk及私钥msk。运行g(1λ,k=l+1)产生群组G=(G1,...Gk),以及对应的各群的生成元g1,...gK。令g=g1。随机选择Hash函数H1:{0,1}*→Zp。随机选择a,b,c∈RZp,h1,...hn∈G1。计算ga,gb,
令msk={a,b,c}
步骤2:私钥生成
输入公共参数pk,主密钥msk,属性集合atts,产生私钥sk。随机r∈RZp。
步骤3:加密
输入公共参数pk,关键字W明文M,访问结构f={q,n,A,B,GateType}产生密文CT。其中q为门节点个数,n为输入节点个数,A为从父节点到第一个孩子节点的映射,B为从父节点到第二个孩子节点的映射,GateType判断当前节点的类型,即为AND还是OR。
设att(w)为节点w所对应的属性,deh(w)为节点w的深度。首先为控制树产生对应密文{Cw}w∈f。产生{Cw}w∈f时,应从底向上按以下方式生成:
(3)对于w∈{n+1,n+q}且GateType(w)=AND。已知rA(w),rB(w)的情况下, rw=rA(w)+rB(w)。
最终生成的密文为CT={C,C0,CK,CM,{Cw}w∈f}
步骤4:陷门生成
最终令陷门为TOK={T1,T2,T3,T4,{Ti}i∈atts}
步骤5:搜索
输入公共参数pk,陷门TOK,密文CT。设TOK中关键字为W′,CT中关键字为W。搜索时应对CT中访问控制树中的节点w依次计算Ew。对于父节点w 若要计算Ew,需要得到孩子节点的EA(w)与EB(w)。对于节点w,计算Ew方式为:
(1)对于w∈{1,n},即为输入节点。计算:
(2)对于w∈{n+1,n+q}且GateType(w)=OR,即或门节点,其深度j=deh(w)。计算:
(3)对于w∈{n+1,n+q}且GateType(w)=AND,即与门节点。计算
最后用户验证以下等式是否相等:
e(T2,C0)==e(C,T1)Y
若上式相等,则说明关键字W=W′即搜索到关键字和密文,则令 PCT={CT,Z},否则说明当前密文中不包含所检索的关键字。
步骤6:解密
输入公共参数pk,部分密文PCT,私钥sk,通过以下方式计算得到明文M:
Claims (6)
1.一种可搜索加密系统的实现方法,其特征在于,包括如下步骤:
步骤1)系统初始化模块:私钥生成中心PKG生成系统公共参数和系统主密钥,公开参数公开,主密钥由PKG保存;
步骤2)私钥生成模块:根据用户的属性集合生成用户解密密钥;
步骤3)加密模块:用户确定关键字W、消息明文M及访问结构后,产生相对应的消息密文和关键字密文;
步骤4)陷门生成模块:用户使用想搜索的关键字W’及其私钥,产生对应的陷门,使得云服务提供者CSP进行搜索;
步骤5)搜索模块:CSP使用陷门对关键字进行搜索,并对搜索到的关键字对应的密文进行部分解密;
步骤6)解密模块:用户得到部分密文,使用其私钥进行解密得到消息明文;
步骤3):加密的具体方法为:
输入公共参数pk、关键字W、消息明文M,访问结构f={q,n,A,B,GateType},产生密文CT,其中q为门节点个数,n为属性个数,A为从父节点到第一个孩子节点的映射,B为从父节点到第二个孩子节点的映射,GateType则是判断当前门节点的类型,即为AND还是为OR;
设att(w)为节点w所对应的属性,deh(w)为节点w的深度,首先为控制树产生对应密文{Cw}w∈f,产生{Cw}w∈f时,应从底向上按以下方式生成:
(3)对于w∈{n+1,n+q}且GateType(w)=AND,已知rA(w),rB(w)的情况下,rw=rA(w)+rB(w),rA(w)为w节点的第一个孩子节点所对应的随机r值,rB(w)为w节点的第二个孩子节点所对应的随机r值;
最终生成的密文为CT={C,C0,CK,CM,{Cw}w∈f}。
5.根据权利要求4所述的一种可搜索加密系统的实现方法,其特征在于,步骤5:搜索的具体方法为:
输入公共参数pk、陷门TOK、密文CT,设TOK中关键字为W′,CT中关键字为W,搜索时应对CT中访问控制树中的节点w依次计算Ew;对于父节点w若要计算Ew,需得到孩子节点EA(w)与EB(w);对于节点w计算Ew方式为:
(1)对于w∈{1,n},即为输入节点,计算:
其中Ew的含义为临时变量,e为双线性运算;
(2)对于w∈{n+1,n+q}且GateType(w)=OR,即或门节点,其深度j=deh(w),计算:
(3)对于w∈{n+1,n+q}且GateType(w)=AND,即与门节点,计算
最后用户验证以下等式是否相等:
e(T2,C0)==e(C,T1)Y
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124180.3A CN110851850B (zh) | 2019-11-18 | 2019-11-18 | 一种可搜索加密系统的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911124180.3A CN110851850B (zh) | 2019-11-18 | 2019-11-18 | 一种可搜索加密系统的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851850A CN110851850A (zh) | 2020-02-28 |
CN110851850B true CN110851850B (zh) | 2022-11-08 |
Family
ID=69601014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911124180.3A Active CN110851850B (zh) | 2019-11-18 | 2019-11-18 | 一种可搜索加密系统的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851850B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244567B (zh) * | 2021-11-17 | 2023-09-05 | 西安邮电大学 | 一种云环境中支持电路结构的cp-abe方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418681A (zh) * | 2018-01-22 | 2018-08-17 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN110224986A (zh) * | 2019-05-07 | 2019-09-10 | 电子科技大学 | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 |
-
2019
- 2019-11-18 CN CN201911124180.3A patent/CN110851850B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418681A (zh) * | 2018-01-22 | 2018-08-17 | 南京邮电大学 | 一种支持代理重加密的基于属性的密文检索系统及方法 |
CN110224986A (zh) * | 2019-05-07 | 2019-09-10 | 电子科技大学 | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110851850A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224986B (zh) | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 | |
CN109660555B (zh) | 基于代理重加密的内容安全分享方法和系统 | |
CN108494768B (zh) | 一种支持访问控制的密文搜索方法及系统 | |
CN109450935B (zh) | 云存储中可验证的语义安全的多关键词搜索方法 | |
CN106375346B (zh) | 一种云环境下基于条件广播代理重加密的数据保护方法 | |
WO2016197680A1 (zh) | 面向云存储服务平台的访问控制系统及其访问控制方法 | |
CN103944711B (zh) | 一种云存储密文检索方法及其系统 | |
CN105323061B (zh) | 一种可关键字搜索的外包密钥生成和解密的属性基系统及解密方法 | |
CN111143471B (zh) | 一种基于区块链的密文检索方法 | |
CN111431898B (zh) | 用于云协助物联网的带搜索的多属性机构属性基加密方法 | |
CN109361644B (zh) | 一种支持快速搜索和解密的模糊属性基加密方法 | |
CN108092972B (zh) | 一种多授权中心基于属性的可搜索加密方法 | |
CN108156138A (zh) | 一种用于雾计算的细粒度可搜索加密方法 | |
WO2018049601A1 (zh) | 一种面向雾计算的外包访问控制方法及其系统 | |
CN114826703B (zh) | 基于区块链的数据搜索细粒度访问控制方法及系统 | |
CN110933033A (zh) | 智慧城市环境下多物联网域的跨域访问控制方法 | |
CN111902809A (zh) | 雾计算下基于cp-abe的密文搜索方法、装置、设备及存储介质 | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
CN107294701B (zh) | 具有高效密钥管理的多维密文区间查询装置及查询方法 | |
Li et al. | Secure and temporary access delegation with equality test for cloud-assisted IoV | |
CN114697042A (zh) | 一种基于区块链的物联网安全数据共享代理重加密方法 | |
CN110851850B (zh) | 一种可搜索加密系统的实现方法 | |
Yan et al. | Secure and efficient big data deduplication in fog computing | |
CN114640458B (zh) | 云边协同环境下细粒度的多用户安全可搜索加密方法 | |
CN108632257B (zh) | 支持分层搜索的加密健康记录的获取方法和系统 |
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 |