CN106657059A - 一种具有访问控制功能的数据库查询方法和系统 - Google Patents

一种具有访问控制功能的数据库查询方法和系统 Download PDF

Info

Publication number
CN106657059A
CN106657059A CN201611189991.8A CN201611189991A CN106657059A CN 106657059 A CN106657059 A CN 106657059A CN 201611189991 A CN201611189991 A CN 201611189991A CN 106657059 A CN106657059 A CN 106657059A
Authority
CN
China
Prior art keywords
key
query
data
ciphertext
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
CN201611189991.8A
Other languages
English (en)
Other versions
CN106657059B (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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN201611189991.8A priority Critical patent/CN106657059B/zh
Publication of CN106657059A publication Critical patent/CN106657059A/zh
Priority to PCT/CN2017/115845 priority patent/WO2018113563A1/zh
Application granted granted Critical
Publication of CN106657059B publication Critical patent/CN106657059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L63/045Network 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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种具有访问控制功能的数据库查询方法和系统,属于数据库查询领域。本发明系统包括密钥产生中心:用于生成主密钥、查询密钥和密钥;数据上传者:对每一条记录建立属性索引,并对记录及属性索引加密,得到记录密文和索引密文,然后将查询密钥进行加密,并把加密后的查询密钥发送给数据查询用户;数据查询用户:采用密钥和加密后的查询密钥解密得到查询密钥,然后通过查询密钥和查询条件生成谓词陷门,发送给服务器,并采用密钥解密记录密文,得到查询结果;服务器:用于对数据库的数据进行查询,将符合条件的记录密文数据返回给数据查询用户。本发明既能够对数据查询用户访问数据库的权限进行控制,又能够保证数据和查询条件的机密性。

Description

一种具有访问控制功能的数据库查询方法和系统
技术领域
本发明涉及数据库查询领域,尤其涉及一种具有访问控制功能的数据库查询方法,还涉及一种实现上述方法的系统。
背景技术
随着云计算的迅速发展,用户开始将数据存储在云服务器上,以避免繁琐地本地数据管理并获得更加便捷的服务。但是在现实生活中,云服务器肯定不会是绝对安全的,黑客会通过各种意想不到的方法入侵云服务器;云服务器管理员可能会受到利益的诱惑,故意向恶意份子泄露数据库中的数据,这些后果是很严重的。为了保护用户数据的隐私,数据一般是以密文的形式存储在云服务器中。对隐私数据加密是保证数据不被泄露的有效方法。但是数据以密文的形式存储在云服务器中也带来了新的问题:如何根据用户访问权限对密文数据进行查询,现有的算法不能在密文数据库下支持具有访问控制功能的查询。例如,无法做到在医疗系统中,病人只能对其本人的病历记录进行查询;医生只能对其诊治的病人的病历记录进行查询;院长可以对该医院诊治的所有病人的病历记录进行查询。
发明内容
为解决现有技术中的问题,本发明提供一种具有访问控制功能的数据库查询方法,还提供一种实现上述方法的系统。
本发明具有访问控制功能的数据库查询方法包括如下步骤:
初始化步骤:数据上传者生成查询密钥;
数据加密步骤:数据上传者对上传至服务器数据库中的每一条记录建立属性索引,并对每一条记录及属性索引加密,得到记录密文和索引密文,然后将查询密钥进行加密,并把加密后的查询密钥发送给数据查询用户;
密钥产生步骤:数据查询用户根据自身的用户属性生成对应的密钥;
陷门生成步骤:数据查询用户采用密钥和加密后的查询密钥解密得到查询密钥,然后通过查询密钥和查询条件生成谓词陷门,发送给服务器;
查询步骤:服务器对数据库的数据进行查询,将符合条件的记录密文数据返回给数据查询用户;
解密步骤:数据查询用户采用密钥解密服务器返回的记录密文数据,得到查询结果。。
本发明作进一步改进,在初始化步骤中,所述数据上传者输入安全参数λ以及属性全集U,通过ABE算法和POE算法,密钥产生中心生成公共参数pp和主密钥msk;数据上传者生成公钥pk和查询密钥sk。
本发明作进一步改进,在数据加密步骤中,数据上传者为每一条记录m建立属性索引并使用公共参数pp、公钥pk和访问控制结构(M,ρ)在本地对每一条记录m和属性索引进行加密,得到记录密文和索引密文(C′,Cp);使用公共参数pp和访问控制结构(M,ρ)对查询密钥sk进行加密得到Csk,并将其发送给系统中的数据查询用户。
本发明作进一步改进,在密钥产生步骤中,数据查询用户将用户属性I发送给密钥产生中心,密钥产生中心使用主密钥msk生成对应的密钥skI并发回给用户。
本发明作进一步改进,在陷门生成步骤中,用户属性I满足访问控制结构(M,ρ)的数据查询用户用密钥skI解密Csk得到查询密钥sk,然后使用sk和查询条件也就是谓词产生谓词陷门并发送给服务器。
本发明作进一步改进,在查询步骤中,服务器根据索引密文Cp和谓词陷门对记录密文数据逐条进行查询,当查询条件和属性索引匹配时,返回记录密文C′,否者返回⊥。
本发明作进一步改进,在解密步骤中,用户属性I满足访问控制结构(M,ρ)的数据查询用户采用密钥skI,解密服务器返回的记录密文C′,获得查询结果m。
本发明作进一步改进,所述数据加密方法采用密文-策略属性加密法和谓词加密法。
本发明作进一步改进,所述密文-策略属性加密法采用的算法包括:
(1)初始化算法:(ABE.pk,ABE.msk)←ABE.Setup(U),输入属性全集U,产生阶为素数p的循环群G0,生成元为g,随机选取元素h1,…,hU∈G0与系统属性集合U相关联,另外随机选择α,a∈Zp,初始化算法输出系统公钥和主密钥:
ABE.pk=(g,ga,e(g,g)α,h1,…,hU);ABE.msk=gα
(2)密钥产生算法:ABE.sk←ABE.KeyGen(ABE.msk,I),输入主密钥ABE.msk以及某个用户的用户属性集I,随机选择t∈Zp,密钥产生算法输出:
(3)加密算法:CT←ABE.Encrypt(ABE.pk,m,M,ρ),输入消息记录m、系统公钥ABE.pk以及访问控制结构(M,ρ),其中M为l×n矩阵,ρ是一个函数,它为矩阵M的行向量与用户属性集中的属性建立一一对应的关系。随机选择向量则有随机选择r1,…,rl∈Zp,加密算法输出密文:
(4)解密算法:m←ABE.Decrypt(ABE.sk,CT),输入访问控制结构为(M,ρ)的密文CT,属性集合为I的用户密钥,如果属性集合满足访问控制结构,设定义S={i:ρ(i)∈I},其中则可以找到属性集合{ωi∈Zp}i∈S使得∑i∈Sωiλi=s,通过以下解密算法得到记录m:
C/e(g,g)αs=m·e(g,g)αs/e(g,g)αs=m。
本发明作进一步改进,所述谓词加密法采用的算法包括:
(1)初始化算法:(POE.pk,POE.sk)←POE.Setup(λ),输入安全参数λ,得到(p,q,r,G,GT),其中G=Gp·Gq·Gr且p,q,r都为素数,Gp,Gq,Gr的生成元分别为gp,gq,gr,对于1≤i≤n,随机选择R1,i,R2,i∈Gr、h1,i,h2,i∈Gp和R0∈Gr,初始化算法输出:
(2)谓词加密算法:输入xi∈Zn和公钥POE.pk,加密算法随机选择s,α,β∈Zn,R3,i,R4,i∈Gr,其中1≤i≤n,谓词加密算法输出密文:
(3)谓词陷门生成算法:输入密钥POE.sk和谓词密钥生成算法随机的选择r1,i,r2,i∈Zn,R5∈Gr,f1,f2∈Zn,Q6∈Gq,密钥生成算法输出谓词陷门:
(4)查询算法:输入密文C和谓词陷门谓词陷门算法计算以下值:
如果y=1,则算法输出查询结果1;否则,输出0。
本发明还提供了一种实现上述方法的系统,包括
密钥产生中心:用于生成主密钥、查询密钥,并将生成的查询密钥发送给数据上传者,根据数据查询用户提供的用户属性生成密钥并发送给数据查询用户;
数据上传者:对上传至服务器数据库中的每一条记录建立属性索引,并对每一条记录及属性索引加密,得到记录密文和索引密文,然后将查询密钥进行加密,并把加密后的查询密钥发送给数据查询用户;
数据查询用户:采用密钥和加密后的查询密钥解密得到查询密钥,然后通过查询密钥和查询条件生成谓词陷门,发送给服务器,并采用密钥解密服务器返回的记录密文数据,得到查询结果;
服务器:用于对数据库的数据进行查询,将符合条件的记录密文数据返回给数据查询用户。
与现有技术相比,本发明的有益效果是:本发明利用密文-策略属性加密对用户的查询权限进行控制;利用谓词加密建立索引,以实现查询的功能,其中,密文-策略属性加密能保证数据的机密性;谓词加密具有属性隐藏的特性,可保证查询条件的机密性。因此,本发明既能够对数据查询用户访问数据库的权限进行控制,又能够保证数据和查询条件的机密性。
附图说明
图1为本发明系统结构示意图;
图2为本发明方法流程示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,本例提供一种数据库查询系统,包括:
(1)密钥产生中心:用于生成主密钥msk、查询密钥sk,并将生成的查询密钥sk发送给数据上传者,根据数据查询用户提供的用户属性I生成密钥skI并发送给数据查询用户;
(2)数据上传者:对上传至服务器数据库中的每一条记录m建立属性索引并对每一条记录m及属性索引加密,得到记录密文和索引密文(C′,Cp),然后将查询密钥sk进行加密,并把加密后的查询密钥发送给数据查询用户,此处,用户属性与属性索引中的属性相同;
(3)数据查询用户:采用密钥skI和加密后的查询密钥解密得到查询密钥sk,然后通过查询密钥sk和查询条件生成谓词陷门发送给服务器,并采用密钥skI解密服务器返回的记录密文数据C′,得到查询结果;
(4)服务器:用于对数据库的数据进行查询,将符合条件的记录密文数据C′返回给数据查询用户。
本发明的采用的服务器优选为信息存储量大的云服务器。
本发明还提供了一种基于上述系统的数据库查询方法,本例的数据库查询方法采用密文-策略属性加密法和谓词加密法。其中,本例的密文-策略属性加密法中的策略是指本发明采用的基于访问控制结构(M,ρ)的访问控制策略。下面对其详细说明。
1、本例密文-策略属性加密法包括以下四个算法:
(1)初始化算法:(ABE.pk,ABE.msk)←ABE.Setup(U),输入属性全集U,产生阶为素数p的循环群G0,生成元为g。随机选取元素h1,…,hU∈G0与系统属性集合U相关联,另外随机选择α,a∈Zp,初始化算法输出系统公钥和主密钥:
ABE.pk=(g,ga,e(g,g)α,h1,…,hU);ABE.msk=gα
(2)密钥产生算法:ABE.sk←ABE.KeyGen(ABE.msk,I),输入主密钥ABE.msk以及某个用户的用户属性集I,随机选择t∈Zp,密钥产生算法输出:
(3)属性加密算法:CT←ABE.Encrypt(ABE.pk,m,M,ρ),输入消息记录m、系统公钥ABE.pk以及访问控制结构(M,ρ),其中,设M为l×n矩阵,ρ是一个函数,它为矩阵M的行向量与用户属性集中的属性建立一一对应的关系。随机选择向量则有随机选择r1,…,rl∈Zp,属性加密算法输出密文:
(4)解密算法:m←ABE.Decrypt(ABE.sk,CT),输入访问控制结构为(M,ρ)的密文CT,属性集合为I的用户密钥,如果属性集合满足访问控制结构,设定义S={i:ρ(i)∈I},其中则可以找到属性集合{ωi∈Zp}i∈S使得∑i∈Sωiλi=s,通过以下解密算法得到记录m:
C/e(g,g)αs=m·e(g,g)αs/e(g,g)αs=m。
采用所述密文-策略属性加密法的算法时,数据上传者需要对其正确性进行验证,具体验证方法为:
顺序执行以上四个算法,要求对于所有的用户属性U和被ABE.Setup(U)产生的(ABE.pk,ABE.msk)、所有的I和被ABE.KeyGen(ABE.msk,I)产生的ABE.sk以及任意的(M,ρ),如果满足以下两个条件,则说明此密文-策略属性法加密成功。
A、当用户属性I满足访问控制结构(M,ρ)时,
ABE.Decrypt(ABE.sk,ABE.Encrypt(ABE.pk,m,M,ρ))=m;
B、当用户属性I不满足访问控制结构(M,ρ)时,
ABE.Decrypt(ABE.sk,ABE.Encrypt(ABE.pk,m,M,ρ))≠m;
2、本例谓词加密法包括以下四个算法:
(1)初始化算法:(POE.pk,POE.sk)←POE.Setup(λ),输入安全参数λ,得到(p,q,r,G,GT),其中G=Gp·Gq·Gr且p,q,r都为素数,Gp,Gq,Gr的生成元分别为gp,gq,gr,对于1≤i≤n,随机选择R1,i,R2,i∈Gr、h1,i,h2,i∈Gp和R0∈Gr,初始化算法输出:
(2)谓词加密算法:输入xi∈Zn和公钥POE.pk,加密算法随机选择s,α,β∈Zn,R3,i,R4,i∈Gr,其中1≤i≤n,谓词加密算法输出密文:
(3)谓词陷门生成算法:输入密钥POE.sk和谓词密钥生成算法随机的选择r1,i,r2,i∈Zn,R5∈Gr,f1,f2∈Zn,Q6∈Gq,密钥生成算法输出谓词陷门:
(4)查询算法:输入密文C和谓词陷门谓词陷门算法计算以下值:
如果y=1,则算法输出查询结果1;否则,输出0。
采用所述谓词加密法的算法时,数据上传者需要对其正确性进行验证,具体验证方法为:
顺序执行以上四个算法,要求对于所有的安全参数λ和被POE.Setup(λ)产生的(POE.pk,POE.sk)、所有的谓词,也就是查询条件和被产生的以及任意的属性索引如果满足以下两个条件,说明本谓词加密法加密成功。
A、当数据属性索引和谓词满足时,
B、当时,
如图2所示,综合上述两种方法,本例的数据库加密及查询方法具体如下:
(1)初始化步骤(pp,msk,pk,sk)←Setup(λ,U):
数据上传者输入安全参数λ以及属性全集U,通过ABE算法和POE算法,密钥产生中心生成公共参数pp和主密钥msk;数据上传者生成公钥pk和查询密钥sk。
具体地,输入安全参数λ和属性全集U,密钥产生中心执行(ABE.pk,ABE.msk)←ABE.Setup(U)生成公共参数pp=ABE.pk和主密钥msk=ABE.msk;数据上传者执行(POE.pk,POE.sk)←POE.Setup(λ)生成公钥pk=POE.pk和查询密钥sk=POE.sk,公式如下:
pp=(g,ga,e(g,g)α,h1,…,hU);
msk=gα
(2)数据加密步骤
数据上传者为每一条记录m建立属性索引并使用公共参数pp、公钥pk和访问控制结构(M,ρ)在本地对每一条记录m和属性索引进行加密,得到记录密文和索引密文(C′,Cp);使用公共参数pp和访问控制结构(M,ρ)对查询密钥sk进行加密得到Csk,并将其发送给系统中的数据查询用户。
数据拥有者利用ABE.pk加密数据库中的每一条记录m产生C′←ABE.Encrypt(pp,m,(M,ρ)),并使用公钥pk对这条记录m建立密文索引 其中(M,ρ)为访问控制策略,为每条记录所对应的属性索引,将(C′,Cp)一起发送给云服务器,然后利用公共参数pp对查询密钥sk进行加密得到密文Csk←ABE.Encrypt(pp,sk,M,ρ),将Csk发送给所有查询用户。最后得到密文(C′,Cp,Csk),算法如下:
C=(C′,Cp,Csk)。
(3)密钥产生步骤skI←KeyGen(msk,I):
数据查询用户将用户属性I发送给密钥产生中心,密钥产生中心使用主密钥msk生成对应的密钥skI并发回给用户,其中,
(4)陷门生成步骤
用户属性I满足访问控制结构(M,ρ)的数据查询用户用密钥skI解密Csk得到查询密钥sk,然后使用sk和查询条件也就是谓词产生谓词陷门并发送给服务器。
具体地,用户属性I满足访问控制策略(M,ρ)的查询用户使用skI就能解密Csk得到查询密钥sk=ABE.Decrypt(skI,Csk)。例如在上述技术背景所提到的例子中,假设加密查询密钥sk所用到的访问控制策略是只有用户属性是医院院长才能解密,那么只有院长才能拿到查询密钥sk。然后数据查询用户使用查询密钥sk和查询条件(谓词)产生谓词陷门最后用户将发送给云服务器,其中,
(5)查询步骤
服务器根据索引密文Cp和谓词陷门对记录密文数据逐条进行查询,结果为如果结果为1,说明查询条件和属性索引匹配,返回所有包含该陷门对应的记录密文C′,否者返回⊥,其中,
(6)解密步骤m←Decrypt(skI,C′):
当数据查询用户的用户属性I满足访问控制结构(M,ρ)时,数据库会返回记录密文C′,数据查询用户采用密钥skI,解密服务器返回的记录密文C′,获得明文查询结果m=ABE.Decrypt(skI,C′),其中,
C/e(g,g)αs=m·e(g,g)αs/e(g,g)αs=m。
本方法的正确性验证:依次执行以上六个步骤,要求对于所有的安全参数λ、属性全集U和被Setup(λ,U)产生的(pp,msk,pk,sk)、所有的I和被KeyGen(msk,I)产生的skI、所有的和被产生的以及任意的和(M,ρ),当数据属性集和谓词满足且用户属性集I满足访问控制结构(M,ρ)时,用户能够得到所有满足查询条件的明文数据;当上述两个条件不能同时满足时,用户不能得到满足查询条件的明文数据;则此方案正确。
本发明利用密文-策略属性加密对用户的查询权限进行控制;利用谓词加密建立索引,以实现查询的功能,其中,密文-策略属性加密能保证数据的机密性;谓词加密具有属性隐藏的特性,可保证查询条件的机密性。因此,本发明既能够对数据查询用户访问数据库的权限进行控制,又能够保证数据和查询条件的机密性。
以上所述之具体实施方式为本发明的较佳实施方式,并非以此限定本发明的具体实施范围,本发明的范围包括并不限于本具体实施方式,凡依照本发明所作的等效变化均在本发明的保护范围内。

Claims (10)

1.一种具有访问控制功能的数据库查询方法,其特征在于包括如下步骤:
初始化步骤:数据上传者生成查询密钥;
数据加密步骤:数据上传者对上传至服务器数据库中的每一条记录建立属性索引,并对每一条记录及属性索引加密,得到记录密文和索引密文,然后将查询密钥进行加密,并把加密后的查询密钥发送给数据查询用户;
密钥产生步骤:数据查询用户根据自身的用户属性生成对应的密钥;
陷门生成步骤:数据查询用户采用密钥和加密后的查询密钥解密得到查询密钥,然后通过查询密钥和查询条件生成谓词陷门,发送给服务器;
查询步骤:服务器对数据库的数据进行查询,将符合条件的记录密文数据返回给数据查询用户;
解密步骤:数据查询用户采用密钥解密服务器返回的记录密文数据,得到查询结果。
2.根据权利要求1所述的数据库查询方法,其特征在于:在初始化步骤中,所述数据上传者输入安全参数λ以及属性全集U,通过ABE算法和POE算法,密钥产生中心生成公共参数pp和主密钥msk;数据上传者生成公钥pk和查询密钥sk。
3.根据权利要求2所述的数据库查询方法,其特征在于:在数据加密步骤中,数据上传者为每一条记录m建立属性索引并使用公共参数pp、公钥pk和访问控制结构(M,ρ)在本地对每一条记录m和属性索引进行加密,得到记录密文和索引密文(C′,Cp);使用公共参数pp和访问控制结构(M,ρ)对查询密钥sk进行加密得到Csk,并将其发送给系统中的数据查询用户。
4.根据权利要求3所述的数据库查询方法,其特征在于:在密钥产生步骤中,数据查询用户将用户属性I发送给密钥产生中心,密钥产生中心使用主密钥msk生成对应的密钥skI并发回给用户。
5.根据权利要求4所述的数据库查询方法,其特征在于:在陷门生成步骤中,用户属性I满足访问控制结构(M,ρ)的数据查询用户用密钥skI解密Csk得到查询密钥sk,然后使用sk和查询条件也就是谓词产生谓词陷门并发送给服务器。
6.根据权利要求5所述的数据库查询方法,其特征在于:在查询步骤和解密步骤中,服务器根据索引密文Cp和谓词陷门对记录密文数据逐条进行查询,当查询条件和属性索引匹配时,返回记录密文C′,否者返回⊥,当返回记录密文C′时,数据查询用户采用密钥skI,解密所述记录密文C′,获得查询结果m。
7.根据权利要求1-6任一项所述的数据库查询方法,其特征在于:所述数据加密方法采用密文-策略属性加密法和谓词加密法。
8.根据权利要求7所述的数据库查询方法,其特征在于:所述密文-策略属性加密法采用的算法包括:
(1)初始化算法:(ABE.pk,ABE.msk)←ABE.Setup(U),输入属性全集U,产生阶为素数p的循环群G0,生成元为g,随机选取元素h1,…,hU∈G0与系统属性集合U相关联,另外随机选择α,a∈Zp,初始化算法输出系统公钥和主密钥:
ABE.pk=(g,ga,e(g,g)α,h1,…,hU);ABE.msk=gα
(2)密钥产生算法:ABE.sk←ABE.KeyGen(ABE.msk,I),输入主密钥ABE.msk以及某个用户的用户属性集I,随机选择t∈Zp,密钥产生算法输出:
A B E . s k = ( K = g α g a t , L = g t , ∀ x ∈ I : K x = h x t ) ;
(3)加密算法:CT←ABE.Encrypt(ABE.pk,m,M,ρ),输入消息记录m、系统公钥ABE.pk以及访问控制结构(M,ρ),其中,设M为l×n矩阵,随机选择向量 则有随机选择r1,…,rl∈Zp,加密算法输出密文:
C T = ( C = m · e ( g , g ) α s , C ‾ = g s , { C i = g aλ i h ρ ( i ) - r i , D i = g r i } i = 1 l ) ;
(4)解密算法:m←ABE.Decrypt(ABE.sk,CT),输入访问控制结构为(M,ρ)的密文CT,属性集合为I的用户密钥,如果属性集合满足访问控制结构,设定义S={i:ρ(i)∈I},其中则可以找到属性集合{ωi∈Zp}i∈S使得∑i∈Sωiλi=s,通过以下解密算法得到记录m:
e ( C ‾ , K ) / ( Π i ∈ S ( e ( C i , L ) e ( D i , K ρ ( i ) ) ) ω i ) = e ( g , g ) α s ,
C/e(g,g)αs=m·e(g,g)αs/e(g,g)αs=m。
9.根据权利要求8所述的数据库查询方法,其特征在于:所述谓词加密法采用的算法包括:
(1)初始化算法:(POE.pk,POE.sk)←POE.Setup(λ),输入安全参数λ,得到(p,q,r,G,GT),其中G=Gp·Gq·Gr且p,q,r都为素数,Gp,Gq,Gr的生成元分别为gp,gq,gr,对于1≤i≤n,随机选择R1,i,R2,i∈Gr、h1,i,h2,i∈Gp和R0∈Gr,初始化算法输出:
P O E . p k = ( g p , g r , Q = g q R 0 , { H 1 , i = h 1 , i R 1 , i , H 2 , i = h 2 , i R 2 , i } i = 1 n ) ,
P O E . s k = ( p , q , r , g p , { h 1 , i , h 2 , i } i = 1 n ) ;
(2)谓词加密算法:输入xi∈Zn和公钥POE.pk,加密算法随机选择s,α,β∈Zn,R3,i,R4,i∈Gr,其中1≤i≤n,谓词加密算法输出密文:
C = ( C 0 = g p s , { C 1 , i = H 1 , i s Q αx i R 3 , i , C 2 , i = H 2 , i s Q αx i R 4 , i } i = 1 n ) ;
(3)谓词陷门生成算法:输入密钥POE.sk和谓词vi∈Zn,密钥生成算法随机的选择r1,i,r2,i∈Zn,R5∈Gr,f1,f2∈Zn,Q6∈Gq,密钥生成算法输出谓词陷门:
P O E . sk v → = ( K = R 5 Q 6 Π i = 1 n h 1 , i - r 1 , i h 2 , i - r 2 , i , { K 1 , i = g p r 1 , i g q r 1 , i , K 2 , i = g p r 2 , i g q r 2 , i } i = 1 n ) ;
(4)查询算法:输入密文C和谓词陷门谓词陷门算法计算以下值:
如果y=1,则算法输出查询结果1;否则,输出0。
10.一种实现权利要求1-9任一项所述数据库查询方法的系统,其特征在于包括:
密钥产生中心:用于生成主密钥、查询密钥,并将生成的查询密钥发送给数据上传者,根据数据查询用户提供的用户属性生成密钥并发送给数据查询用户;
数据上传者:对上传至服务器数据库中的每一条记录建立属性索引,并对每一条记录及属性索引加密,得到记录密文和索引密文,然后将查询密钥进行加密,并把加密后的查询密钥发送给数据查询用户;
数据查询用户:采用密钥和加密后的查询密钥解密得到查询密钥,然后通过查询密钥和查询条件生成谓词陷门,发送给服务器,并采用密钥解密服务器返回的记录密文数据,得到查询结果;
服务器:用于对数据库的数据进行查询,将符合条件的记录密文数据返回给数据查询用户。
CN201611189991.8A 2016-12-21 2016-12-21 一种具有访问控制功能的数据库查询方法和系统 Active CN106657059B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611189991.8A CN106657059B (zh) 2016-12-21 2016-12-21 一种具有访问控制功能的数据库查询方法和系统
PCT/CN2017/115845 WO2018113563A1 (zh) 2016-12-21 2017-12-13 一种具有访问控制功能的数据库查询方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611189991.8A CN106657059B (zh) 2016-12-21 2016-12-21 一种具有访问控制功能的数据库查询方法和系统

Publications (2)

Publication Number Publication Date
CN106657059A true CN106657059A (zh) 2017-05-10
CN106657059B CN106657059B (zh) 2020-04-21

Family

ID=58834442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611189991.8A Active CN106657059B (zh) 2016-12-21 2016-12-21 一种具有访问控制功能的数据库查询方法和系统

Country Status (2)

Country Link
CN (1) CN106657059B (zh)
WO (1) WO2018113563A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113563A1 (zh) * 2016-12-21 2018-06-28 哈尔滨工业大学深圳研究生院 一种具有访问控制功能的数据库查询方法和系统
CN110263570A (zh) * 2019-05-10 2019-09-20 电子科技大学 一种实现高效相似性查询和访问控制的基因数据脱敏方法
CN110730167A (zh) * 2019-09-26 2020-01-24 支付宝(杭州)信息技术有限公司 数据发送方法、数据查询方法、装置、电子设备和系统
CN111931214A (zh) * 2020-08-31 2020-11-13 平安国际智慧城市科技股份有限公司 数据处理方法、装置、服务器及存储介质
CN115688141A (zh) * 2022-11-07 2023-02-03 东莞理工学院 一种个人信息拆分脱敏存储与重构方法及系统
CN116881947A (zh) * 2023-08-01 2023-10-13 江苏恒为信息科技有限公司 一种基于区块链的企业数据库安全访问控制方法及装置
CN117235796A (zh) * 2023-09-27 2023-12-15 青岛中企英才集团文化传媒有限公司 一种电子商务数据的处理方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556048B (zh) * 2020-04-26 2022-04-01 山东师范大学 一种支持密文模式匹配的属性基安全通信方法及系统
CN112751670B (zh) * 2020-12-30 2022-11-11 西安邮电大学 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN112733111B (zh) * 2020-12-31 2023-05-23 暨南大学 一种基于片段分割的阈值谓词加密生物特征认证方法
CN112800445B (zh) * 2021-01-21 2022-12-09 西安电子科技大学 一种用于密文数据的前后向安全和可验证的布尔查询方法
CN113836447B (zh) * 2021-09-29 2024-04-09 安徽大学 一种云平台下的安全轨迹相似性查询方法及系统
CN114417068B (zh) * 2022-01-20 2023-06-09 三未信安科技股份有限公司 一种具有隐私性保护的大规模图数据匹配方法
CN114726503B (zh) * 2022-03-30 2024-06-18 北京理工大学 一种区块链车联网中的隐私保护数据订阅方法
CN115102733B (zh) * 2022-06-13 2023-11-21 西安电子科技大学 一种高效打包的图像加密检索方法
CN115361167B (zh) * 2022-07-14 2024-08-16 北京理工大学 一种支持任意地理范围查询的非线性效率用户选择方法
CN115174072B (zh) * 2022-07-15 2024-05-14 杭州师范大学 一种保护隐私的医疗信息相似范围查询方法
CN117220897A (zh) * 2023-03-17 2023-12-12 山西大学 一种具有完全策略隐藏的可追踪可撤销属性基加密方法
CN117596036B (zh) * 2023-11-20 2024-06-11 北京邮电大学 多时间粒度约束的动态属性基加密访问控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938767A (zh) * 2012-11-13 2013-02-20 西安电子科技大学 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN103095733A (zh) * 2013-03-04 2013-05-08 淮阴工学院 一种面向云存储的关键字密文检索方法
CN104584509A (zh) * 2014-12-31 2015-04-29 深圳大学 一种共享数据的访问控制方法、装置及系统
CN104899517A (zh) * 2015-05-15 2015-09-09 陕西师范大学 基于短语的可搜索对称加密方法
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077747A2 (en) * 2001-03-27 2002-10-03 Microsoft Corporation Distributed, scalable cryptographic access control
US9258122B1 (en) * 2014-01-13 2016-02-09 Symantec Corporation Systems and methods for securing data at third-party storage services
CN106131029B (zh) * 2016-07-19 2019-03-29 南京邮电大学 一种抵抗属性密钥滥用的高效密文搜索方法
CN106657059B (zh) * 2016-12-21 2020-04-21 哈尔滨工业大学深圳研究生院 一种具有访问控制功能的数据库查询方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938767A (zh) * 2012-11-13 2013-02-20 西安电子科技大学 基于云数据外包系统的高效可验证的模糊关键词搜索方法
CN103095733A (zh) * 2013-03-04 2013-05-08 淮阴工学院 一种面向云存储的关键字密文检索方法
CN104584509A (zh) * 2014-12-31 2015-04-29 深圳大学 一种共享数据的访问控制方法、装置及系统
CN104899517A (zh) * 2015-05-15 2015-09-09 陕西师范大学 基于短语的可搜索对称加密方法
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐秋霞等: ""基于矩阵的内积函数加密"", 《广州大学学报(自然科学版)》 *
李永忠: "《物联网信息安全》", 31 May 2016, 西安:西安电子科技大学出版社 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113563A1 (zh) * 2016-12-21 2018-06-28 哈尔滨工业大学深圳研究生院 一种具有访问控制功能的数据库查询方法和系统
CN110263570A (zh) * 2019-05-10 2019-09-20 电子科技大学 一种实现高效相似性查询和访问控制的基因数据脱敏方法
CN110263570B (zh) * 2019-05-10 2020-09-25 电子科技大学 一种实现高效相似性查询和访问控制的基因数据脱敏方法
CN110730167A (zh) * 2019-09-26 2020-01-24 支付宝(杭州)信息技术有限公司 数据发送方法、数据查询方法、装置、电子设备和系统
CN110730167B (zh) * 2019-09-26 2022-02-22 支付宝(杭州)信息技术有限公司 数据发送方法、数据查询方法、装置、电子设备和系统
CN111931214A (zh) * 2020-08-31 2020-11-13 平安国际智慧城市科技股份有限公司 数据处理方法、装置、服务器及存储介质
CN115688141A (zh) * 2022-11-07 2023-02-03 东莞理工学院 一种个人信息拆分脱敏存储与重构方法及系统
CN115688141B (zh) * 2022-11-07 2024-05-28 东莞理工学院 一种个人信息拆分脱敏存储与重构方法及系统
CN116881947A (zh) * 2023-08-01 2023-10-13 江苏恒为信息科技有限公司 一种基于区块链的企业数据库安全访问控制方法及装置
CN117235796A (zh) * 2023-09-27 2023-12-15 青岛中企英才集团文化传媒有限公司 一种电子商务数据的处理方法
CN117235796B (zh) * 2023-09-27 2024-05-07 宁远县大麦电子商务有限公司 一种电子商务数据的处理方法

Also Published As

Publication number Publication date
WO2018113563A1 (zh) 2018-06-28
CN106657059B (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN106657059A (zh) 一种具有访问控制功能的数据库查询方法和系统
Yang et al. Privacy-preserving smart IoT-based healthcare big data storage and self-adaptive access control system
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN108494768B (zh) 一种支持访问控制的密文搜索方法及系统
US20200404023A1 (en) Method and system for cryptographic attribute-based access control supporting dynamic rules
CN104363215B (zh) 一种基于属性的加密方法和系统
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
CN106534085A (zh) 一种基于区块链技术的隐私保护方法
CN108632032A (zh) 无密钥托管的安全多关键词排序检索系统
CN105100083B (zh) 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN112365945A (zh) 基于区块链的电子病历细粒度访问控制和密文可搜索方法
CN108040056A (zh) 基于物联网的安全医疗大数据系统
CN112751670B (zh) 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN107635018B (zh) 支持紧急接入访问控制和安全去重的跨域医疗云存储系统
Hu et al. Securing communications between external users and wireless body area networks
CN108171066A (zh) 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
CN108092972A (zh) 一种多授权中心基于属性的可搜索加密方法
CN106059763A (zh) 云环境下属性基多机构层次化密文策略权重加密方法
Xu et al. Enabling authorized encrypted search for multi-authority medical databases
CN104270448B (zh) 可外包重构的电子医疗记录的秘密共享云存储方法
CN106875325A (zh) 一种可搜索图像加密算法
CN106131225A (zh) 用于医疗病例信息访问的安全系统
CN115361126B (zh) 一种可验证外包的部分策略隐藏属性加密方法及系统
CN116469501A (zh) 基于区块链的电子病历共享方法、系统、设备及存储介质
CN114598472A (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