CN114257446A - 基于可搜索加密的数据访问控制方法、计算机设备 - Google Patents

基于可搜索加密的数据访问控制方法、计算机设备 Download PDF

Info

Publication number
CN114257446A
CN114257446A CN202111563881.4A CN202111563881A CN114257446A CN 114257446 A CN114257446 A CN 114257446A CN 202111563881 A CN202111563881 A CN 202111563881A CN 114257446 A CN114257446 A CN 114257446A
Authority
CN
China
Prior art keywords
ciphertext
data
user
access control
control structure
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
CN202111563881.4A
Other languages
English (en)
Other versions
CN114257446B (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.)
Hubei University of Technology
Original Assignee
Hubei University 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 Hubei University of Technology filed Critical Hubei University of Technology
Priority to CN202111563881.4A priority Critical patent/CN114257446B/zh
Publication of CN114257446A publication Critical patent/CN114257446A/zh
Application granted granted Critical
Publication of CN114257446B publication Critical patent/CN114257446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种基于可搜索加密的数据访问控制方法,包括:由区块链共识节点对数据获取者要查询的关键词生成搜索令牌Tok,并发送给云服务器;云服务器将令牌Tok在密文索引Index中进行搜索,产生密文列表;云服务器通过数据获取者的用户身份秘钥UKUID与密文列表中的单一密文验证所述是否满足数据访问权限,当用户属性集满足用户访问控制结构、密文属性集满足密文访问控制结构,对密文进行预解密,并将中间密文D返回给数据获取者;所述数据获取者接收来自云服务器的中间密文D,对中间密文进行解密。从而提供基于密文搜索、云服务器的外包解密和双向访问控制的访问控制方法,将有助于区块链在物联网、大数据环境下数据共享中的应用。

Description

基于可搜索加密的数据访问控制方法、计算机设备
技术领域
本发明涉及数据安全技术领域,特别是涉及一种基于可搜索加密的数据访问控制方法、计算机设备。
背景技术
如今,区块链技术越来越多的用于非交易场景,如供应链、物联网、智慧医疗和公共安全领域中,这些场景中的海量数据往往包含用户隐私数据。因此,数据不能与传统金融场景中的交易数据一样向所有人完全公开,而只能在有限的范围内进行数据共享。
而在警务信息共享领域,通过对警务信息数据共享的研究,将数据上传、分析、修改、查询等各个环节的信息存储在区块链上,实现完整的数据来源可追溯性和防止数据篡改,确保了数据信息可追溯、可问责。
然而,这些与警务信息也涉及大量的个人隐私数据,如果完全披露或共享,将会损害数据相关方各自的利益。因此,因传统的区块链将所有交易数据完全公开,且仅仅提供简单的用户认证机制和单向访问控制,无法满足警务信息共享领域中个人、企业和管理部门间按照用户需求对共享信息进行反向访问控制的访问需求,且无法扩展区块链在物联网、大数据环境下数据共享中的数据安全应用。
发明内容
有鉴于此,本发明提供一种基于可搜索加密的数据访问控制方法以及计算机设备、可存储介质,提供密文搜索、云服务器提供的外包解密和双向访问控制的访问控制方法,有利于满足区块链在物联网、大数据环境下数据共享中的数据安全应用的需求。
为实现上述发明目的,本发明实施例提供一种基于可搜索加密的数据访问控制方法,所述方法包括:
S4.区块链共识节点根据数据获取者所要查询的关键词生成搜索令牌Tok,将搜索令牌发送给云服务器;
S5.云服务器将包含搜索关键词的搜索令牌Tok在密文索引Index中进行搜索,并生成密文列表DL={D1,D2,…,Dn};
S6.云服务器通过所述数据获取者的用户身份秘钥UKUID与密文列表中的单一密文,验证所述数据获取者与单一密文是否相互满足所对应的访问控制结构,当用户属性满足用户访问控制结构、密文属性满足密文访问控制结构时,云服务器对该密文进行预解密,并将预解密的中间密文D′返回给数据获取者;
S7.所述数据获取者接收来自云服务器的中间密文D′,使用用户身份秘钥UKUID对中间密文进行解密,生成明文M。
进一步的,所述方法还包括:
S11、区块链共识节点选取具有生成元g和双线性映射G0×G0→GT的q阶双线性群G0
S12、区块链共识节点选择哈希函数H:{0,1}*→G0,将用户标识UID映射到双线性群G0
S13、区块链共识节点产生全局公钥GP={g,H};
S14、区块链各共识节点进行分布式秘钥共享,每个参与秘钥生成的授权节点获取秘密值相应的份额;
S15、设区块链中的共识节点个数为n,共识节点CNi(i∈n)管理所有用户的用户属性集
Figure BDA0003421350000000021
和密文属性集
Figure BDA0003421350000000022
共识节点CNi根据属性集合
Figure BDA0003421350000000023
选择随机参数
Figure BDA0003421350000000024
其中,用户属性集
Figure BDA0003421350000000025
密文属性集
Figure BDA0003421350000000026
由所有用户共同确定,α、β为整数,q、d为对应属性集中的属性值,
Figure BDA0003421350000000027
为整数域,所述所有用户包括数据发布者和数据获取者;
S16、区块链共识节点为数据发布者和数据获取者生成公钥
Figure BDA0003421350000000031
和私钥SK={αi,βi}。
进一步的,所述方法还包括:
S2.由区块链各共识节点为每个数据获取者生成用户身份秘钥UKUID,所述用户身份秘钥UKUID包含用户标识UID、该数据获取者的单一用户属性集合K和密文访问控制结构(P,η);
其中,单一用户的用户属性集
Figure BDA0003421350000000033
用来验证该数据获取者的用户属性集是否满足数据发布者所设定的用户访问控制结构,即数据获取者是否满足数据发布者的访问要求;
P为一个lo×ko的矩阵,lo表示矩阵P的行数,ko表示矩阵P的列数,η将P中的行映射到密文访问控制结构中的对应属性,密文访问控制结构(P,η)由数据获取者设定,用来验证密文中的密文属性集是否满足密文访问控制结构,即密文是否符合数据获取者的文件需求。
进一步的,所述方法还包括:
S3.数据发布者根据自身的密文属性集Λ和用户访问控制结构(F,ρ)对要分享的数据文件设定文件访问权限;并将明文文件加密成密文D,同时产生密文索引Index,将所述密文索引Index和密文D发送给云服务器。
其中,密文D包含了用户访问控制结构与密文属性集,数据发布者的密文属性集
Figure BDA0003421350000000032
用来验证密文中密文属性集是否满足数据获取者的密文访问控制结构(P,η),即验证密文是否满足数据获取者的文件需求;
F为一个le×ke的矩阵,le表示矩阵F的行数,ke表示矩阵F的列数,ρ将F中的行映射到用户访问控制结构的对应属性,用户访问控制结构(F,ρ)由数据发布者设定,用来验证数据获取者的用户属性集是否满足数据发布者所设定的用户访问控制结构,即数据获取者是否满足数据发布者的访问要求。
优选的,S2具体包括:
S21、区块链共识节点获取所述全局公钥GP、用户公钥PK和用户私钥SK,同时获取用户标识UID、用户属性集K和密文访问控制结构(P,η);
S22、区块链共识节点随机选取
Figure BDA0003421350000000041
其中,
Figure BDA0003421350000000042
为所要共享的密文秘密值,若密文属性集满足密文访问控制结构则共享该密文秘密值,且
Figure BDA0003421350000000043
为整数,yi为整数;
S23、区块链共识节点令Px是矩阵P的第x行,并生成向量
Figure BDA0003421350000000044
和向量
Figure BDA0003421350000000045
计算
Figure BDA0003421350000000046
其中,σx、τx用来具体验证密文属性集是否满足密文访问控制结构;
S24、区块链共识节点通过计算产生用户身份秘钥UKUID,并将用户身份秘钥发送给数据获取者;
S25、数据获取者接收并保存用户身份秘钥UKUID
优选的,所述将明文文件加密成密文D,产生密文索引Index具体包括:
S311、数据发布者取所述全局公钥GP、自身的用户公钥PK和用户私钥SK,同时获取自身的用户标识UID、明文M、用户访问控制结构(F,ρ)和密文属性集Λ;
S312、数据发布者随机选取
Figure BDA0003421350000000047
其中,s是所要共享的用户秘密值,若用户属性集满足用户访问控制结构则共享用户秘密值,且s为整数,
Figure BDA0003421350000000048
为整数;
S313、数据发布者令Fx是矩阵F的第x行,并生成向量
Figure BDA0003421350000000049
和向量
Figure BDA00034213500000000410
计算
Figure BDA00034213500000000411
其中,λx、μx用来具体验证用户属性集是否满足用户访问控制结构;
S314、数据发布者通过加密计算得出密文D,将密文D发送给云服务器。
优选的,所述产生密文索引Index具体包括:
S321、数据发布者获取全局公钥GP、自身的用户公钥PK和共享密文中的关键词KW;
S322、生成所述密文索引为
Figure BDA0003421350000000051
并将密文索引与密文进行关联,其中,
Figure BDA0003421350000000052
k表示关键词的个数,Uw为数据关键词集合,i∈Ui,数据发布者将所述密文索引发送给云服务器CS。
优选的,S4具体包括:
S41、区块链共识节点获取所述全局公钥GP、所述数据获取者的用户身份秘钥UKUID和数据获取者所要查询的关键词kw;
S42、生成搜索令牌为:Tok={toki},其中,
Figure BDA0003421350000000053
区块链共识节点将搜索令牌Tok发送给云服务器CS;
S43、云服务器CS保存用户搜索令牌Tok。
优选的,S6具体过程如下:
S61、云服务器获取数据获取者的用户身份秘钥UKUID和密文D;
S62、云服务器判断数据获取者的用户属性是否符合数据发布者所制定的密文访问权限和密文文件是否符合数据获取者的文件需求,即用户属性集K是否满足用户访问控制结构(F,ρ),密文属性集Λ是否满足密文访问控制结构(P,η);
S63、当验证数据获取者的用户属性集是否符合访问用户访问控制结构时,云服务器随机选择
Figure BDA0003421350000000054
使得∑x∈Kcxλx=s,∑x∈Kcxμx=0则说明用户属性集满足数据发布者所制定的用户访问控制结构;同时,当验证密文属性集是否符合密文访问控制结构时,云服务器随机选择
Figure BDA0003421350000000055
使得
Figure BDA0003421350000000056
y∈Λdyτy=0,则说明密文属性集符合密文访问控制结构,即密文满足数据获取者的文件需求;
S64、云服务器对密文进行预解密服务生成中间密文D′,并将密文及中间密文D′发送给数据获取者。
另一方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如前所述的基于可搜索加密的数据访问控制方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如前所述的基于可搜索加密的数据访问控制方法。
本发明实施例提供的基于可搜索加密的数据访问控制方法中,通过密文方式对数据进行上传,可以有效防止铭文数据被恶意截获的风险,实现了密文下文件的检索,并且检索结果也为密文,从而不符合访问权限的数据需求用户无法查看明文信息,同时,搜索令牌可以隐藏数据获取者所要搜索的关键字,云服务器无法获取关于关键字的明文信息,从而有效防止数据的泄露,保证数据安全共享。
附图说明
下面将结合附图说明对本发明的具体实施方式进行举例说明。
图1为现有技术中双向属性访问控制系统的示意图;
图2为本发明实施例提供的一种基于可搜索加密的双向属性访问控制系统的示意图;
图3为本发明实施例提供的一种基于可搜索加密的数据访问控制方法的流程示意图;
图4为示出另一种基于可搜索加密的数据访问控制方法的示意图;
图5为本发明实施例提供的基于可搜索加密数据访问控制方法中云服务器的控制方法的示意图;
图6为本发明实施例提供的计算机设备的结构框图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中的只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。
如图1所示,为现有技术中基于区块链的双向访问控制方法的网络结构图,传统的区块链将所有交易数据完全公开,且仅仅提供简单的用户认证机制和单向访问控制,无法满足区块链在物联网、大数据环境下数据共享中的数据安全应用需求。
为了实现本发明的发明目的,本发明实施例的技术方案利用可搜索加密、基于属性的访问控制结构,主要解决现有技术中属性访问控制无法进行双向访问控制的同时提供密文搜索的问题。
本发明实施例公开了一种基于可搜索加密的访问控制方法,所述方法应用在基于可搜索加密的双向属性访问控制系统中,如图2所示为所述基于可搜索加密的双向属性访问控制系统模型,主要包括四类实体:一个区块链网络(Blockchain,BC)、一个云服务器(CloudServer,CS)、多个数据发布者(DataPublisher,DP)和多个数据获取者(DataAcquirer,DA)。
在本发明实施例中,区块链网络(BC)用于进行系统全局公钥的生成、用户公私钥对的生成、用户私有秘钥的生成和数据获取者的搜索令牌的生成;其中,在本实施例中所使用的的区块链为联盟区块链。
云服务器(CS)用于存储数据发布者的文件密文及密文索引,并为数据获取者提供密文搜索服务;同时验证数据获取者的用户权限是否满足数据发布者的用户访问控制结构和密文属性集是否满足数据获取者的密文访问控制结构,并在解密过程中为满足上述要求的数据获取者提供密文预解密服务。
数据发布者(DP)用于在本地服务器上对含有密文属性集和用户访问控制结构的明文数据进行加密操作产生密文及其对应的密文索引,并将密文和密文索引上传至云服务器。数据发布者可以是人及任意物联网设备。
数据获取者(DA)用于接收来自区块链网络中含有自己用户属性集、密文访问控制结构和用户标识的用户身份秘钥;如果数据获取者通过了数据发布者所设定的用户访问控制结构,同时密文属性集通过了数据获取者所设定的密文访问控制结构,则该数据获取者与密文互相满足访问权限,数据获取者可以获取来自云服务器中符合自己需求的密文文件的中间密文,并利用自己的用户身份秘钥对中间密文进行解密并查看。
值得注意的是,系统中的每个用户可以是数据发布者也可以是数据获取者。
在本发明实施例中,所述基于可搜索加密的双向属性访问控制系统可以是实际应用中进行数据共享的系统,例如警务信息共享系统,其中,数据发布者可以是基层民警、各种警用物联网设备等,数据获取者可以是上级部门、警务信息管理人员等,可共享的数据可以是情报信息、执法信息等;在实现数据发布者对数据权限设定防止数据外流而造成利益流失的同时,又保证了数据获取者根据自身需求访问共享数据,从而确保数据的共享更加安全高效。
如图3所示,本实施例中基于可搜索加密的数据访问控制方法,具体如下:
S4.由区块链共识节点对数据获取者所要查询的关键词生成搜索令牌Tok,将搜索令牌发送给云服务器;
S5.云服务器将包含搜索关键字的搜索令牌Tok在密文索引Index中进行搜索,并生成密文列表DL={D1,D2,…,Dn};
S6.云服务器通过所述数据获取者的用户身份秘钥UKUID与密文列表中的单一密文验证所述数据获取者与密文是否相互满足所对应的访问控制结构,当用户属性满足用户访问控制结构、密文属性满足密文访问控制结构时,云服务器对该密文进行预解密,并将预解密的中间密文D′返回给数据获取者;
S7.所述数据获取者接收来自云服务器的中间密文D′,使用用户身份秘钥UKUID对中间密文进行解密,生成明文M。
优选的,其中,所述方法还包括:
S1.区块链中的共识节点初始化全局公钥GP,并为所有用户派发公私钥对SK,PK,所述所有用户包括数据发布者和数据获取者
其中,如图4所示,S1具体包括:
S11、区块链共识节点选取具有生成元g和双线性映射G0×G0→GT的q阶双线性群G0
S12、区块链共识节点选择哈希函数H:{0,1}*→G0,将用户标识UID映射到双线性群G0
S13、区块链共识节点产生全局公钥GP={g,H};
S14、区块链各共识节点进行分布式秘钥共享,每个参与秘钥生成的授权节点获取秘密值相应的份额;
其中,分布式秘钥共享协议是指由多个共识节点参与秘钥的生成,每个共识节点中包含秘钥中的一部分。当需要使用秘钥时,必须满足满足(t,n)共享规则,其中t为参与秘钥生成的共识节点个数,n为阈值,即t个共识节点生成的秘钥至少需要n个共识节点共享该秘密才能使用秘钥;授权节点为参与秘钥生成的区块链共识节点;
S15、设区块链中的共识节点个数为n,共识节点CNi(i∈n)管理所有用户的用户属性集
Figure BDA0003421350000000091
和密文属性集
Figure BDA0003421350000000092
共识节点CNi根据属性集合
Figure BDA0003421350000000093
选择随机参数
Figure BDA0003421350000000101
其中,用户属性集
Figure BDA0003421350000000102
密文属性集
Figure BDA0003421350000000103
由所有用户共同确定,α、β为整数,q、d为对应属性集中的属性值,
Figure BDA0003421350000000104
为整数域;
S16、区块链共识节点为数据发布者和数据获取者生成公钥
Figure BDA0003421350000000105
和私钥SK={αi,yi}。
进一步的,所述方法还包括:
S2.由区块链各共识节点为每个数据获取者生成用户身份秘钥UKUID,所述用户身份秘钥UKUID包含用户标识UID、该数据获取者的单一用户属性集合K和密文访问控制结构(P,η);
其中,单一用户的用户属性集
Figure BDA00034213500000001012
用来验证该数据获取者的用户属性集是否满足数据发布者所设定的用户访问控制结构,即数据获取者是否满足数据发布者的访问要求;
P为一个lo×ko的矩阵,lo表示矩阵P的行数,ko表示矩阵P的列数,η将P中的行映射到密文访问控制结构中的对应属性,密文访问控制结构(P,η)由数据获取者设定,用来验证密文中的密文属性集是否满足密文访问控制结构,即密文是否符合数据获取者的文件需求。
其中,S2具体包括:
S21、区块链共识节点获取所述全局公钥GP、用户公钥PK和用户私钥SK,同时获取用户标识UID、用户属性集K和密文访问控制结构(P,η);
S22、区块链共识节点随机选取
Figure BDA0003421350000000106
其中,
Figure BDA0003421350000000107
为所要共享的密文秘密值,若密文属性集满足密文访问控制结构则共享该密文秘密值,且
Figure BDA0003421350000000108
为整数,yi为整数;
S23、区块链共识节点令Px是矩阵P的第x行,并生成向量
Figure BDA0003421350000000109
和向量
Figure BDA00034213500000001010
计算
Figure BDA00034213500000001011
其中,σx、τx用来具体验证密文属性集是否满足密文访问控制结构;
S24、区块链共识节点通过计算产生用户身份秘钥UKUID,并将用户身份秘钥发送给数据获取者;
S25、数据获取者接收并保存用户身份秘钥UKUID
如图4所示,所述方法还包括:
S3.数据发布者根据自身的密文属性集Λ和用户访问控制结构(F,ρ)对要分享的数据文件设定文件访问权限;并将明文文件加密成密文D,同时产生密文索引Index,将所述密文索引Index和密文D发送给云服务器。
其中,密文D包含了用户访问控制结构与密文属性集,数据发布者的密文属性集
Figure BDA0003421350000000111
用来验证密文中密文属性集是否满足数据获取者的密文访问控制结构(P,η),即验证密文是否满足数据获取者的文件需求;
F为一个le×ke的矩阵,le表示矩阵F的行数,ke表示矩阵F的列数,ρ将F中的行映射到用户访问控制结构的对应属性,用户访问控制结构(F,ρ)由数据发布者设定,用来验证数据获取者的用户属性集是否满足数据发布者所设定的用户访问控制结构,即数据获取者是否满足数据发布者的访问要求。
S3具体包括:
(1)密文的产生:
S311、数据发布者取所述全局公钥GP、自身的用户公钥PK和用户私钥SK,同时获取自身的用户标识UID、明文M、用户访问控制结构(F,ρ)和密文属性集Λ;
S312、数据发布者随机选取
Figure BDA0003421350000000112
其中,s是所要共享的用户秘密值,若用户属性集满足用户访问控制结构则共享用户秘密值,且s为整数,
Figure BDA0003421350000000113
为整数;
S313、数据发布者令Fx是矩阵F的第x行,并生成向量
Figure BDA0003421350000000114
和向量
Figure BDA0003421350000000115
计算
Figure BDA0003421350000000116
其中,λx、μx用来具体验证用户属性集是否满足用户访问控制结构;
S314、数据发布者通过加密计算得出密文D,将密文D发送给云服务器。
S315、云服务器接收并保存密文。
(2)密文索引的产生:
S321、数据发布者获取全局公钥GP、自身的用户公钥PK和共享密文中的关键词KW;
S322、生成所述密文索引为
Figure BDA0003421350000000121
并将密文索引与密文进行关联。其中,
Figure BDA0003421350000000122
k表示关键词的个数,Uw为数据关键词集合,i∈Ui,数据发布者将所述密文索引发送给云服务器CS;
S323、云服务器CS保存密文索引Index。
优选的,S4具体过程如下:
S41、区块链共识节点获取所述全局公钥GP、所述数据获取者的用户身份秘钥UKUID和数据获取者所要查询的关键词kw;
S42、搜索令牌可表示为:Tok={toki},其中,
Figure BDA0003421350000000123
区块链共识节点将搜索令牌Tok发送给云服务器;
S43、云服务器CS保存用户搜索令牌Tok。
优选的,S5具体过程如下:
S51、云服务器获取所述全局公钥GP、所述密文索引Index和所述搜索令牌Tok;
S52、云服务器验证等式
Figure BDA0003421350000000124
是否相等;
S53、若云服务器验证通过,云服务器输出密文索引所对应的密文D。
如图5所示,S6具体过程如下:
S61、云服务器获取数据获取者的用户身份秘钥UKUID和密文D;
S62、云服务器判断数据获取者的用户属性是否符合数据发布者所制定的密文访问权限和密文文件是否符合数据获取者的文件需求,即用户属性集K是否满足用户访问控制结构(F,ρ),密文属性集Λ是否满足密文访问控制结构(P,η);
S63、当验证数据获取者的用户属性集是否符合访问用户访问控制结构时,云服务器随机选择
Figure BDA0003421350000000131
使得∑x∈Kcxλx=s,∑x∈Kcxμx=0则说明用户属性集满足数据发布者所制定的用户访问控制结构;同时,当验证密文属性集是否符合密文访问控制结构时,云服务器随机选择
Figure BDA0003421350000000132
使得
Figure BDA0003421350000000133
y∈Λdyτy=0,则说明密文属性集符合密文访问控制结构,即密文满足数据获取者的文件需求。
S64、云服务器对密文进行预解密服务生成中间密文D′,并将密文及中间密文D′发送给数据获取者。
在本发明实施例提供的访问控制方法中,由于在双向属性访问控制中加入可搜索加密,使得数据可以在密文状态下进行查询,保障了数据的安全性。同时,为了减少用户开销,用户访问权限的验证在云服务器端进行,同时给予符合条件的用户提供预解密服务,使得涉及到属性验证和密文解密的大量计算都不必在移动端进行,减少了用户的计算开销,降低了轻量级用户的入门门槛,助于区块链在物联网、大数据环境下数据共享中的应用。
优选的,S7具体包括:
S65、数据获取者接收来自云服务器的密文及中间密文D′;
S66、数据获取者获取步骤S1中的全局公钥GP和步骤S2中的用户身份秘钥UKUID,对中间密文D′进行解密计算得到明文M。
本发明实施例将用户属性集和密文访问控制结构、密文属性集和用户访问控制结构进行绑定,能够在验证密文数据的密文属性的同时验证数据获取者的用户属性,以实现密文与数据获取者的双向权限验证,使得数据的访问更加安全精准;另外,还实现密文下对文件的查询,有效防止文件数据在传输过程中的泄露问题。本发明实施例的技术方案有益效果如下:
1.实现了区块链下的数据双向访问,数据发布者可以对数据获取者的身份权限进行验证,只有符合数据发布者设定的用户访问控制结构的数据获取者才能获取密文;同时数据获取者也可以对密文属性集进行验证,只有满足数据获取者设定的密文访问控制结构的密文才能被数据获取者所使用;通过这种双向访问控制的设定,可以提高用户在海量文件中查找时,文件查找的准确性。
2.实现了密文搜索。在一些属性访问控制中,如果没有使用密文形式对数据进行共享,那么攻击者可以在文件上传、下载的过程中截获他人的隐私文件数据。在本发明实施例中,文件或数据通过数据发布者加密后将密文及密文索引上传至云服务器,通过该方式减少隐私数据泄露的可能。同时,通过云服务器实现对密文文件的搜索,不会因为使用密文的方式而增加用户对文件搜索的计算压力。
3.提供了预解密服务。在基于属性的访问控制方法中,如果没有使用云服务器为用户提供的密文的预解密服务,而是由用户对密文进行直接解密,这种方式增大了用户端轻量级设备的计算压力,十分不友好。在本发明实施例中通过云服务器验证数据获取者与密文是否互相匹配,然后为符合要求的用户提供预解密服务,大大减少了用户端解密的计算量,降低了移动端等轻量级物联网设备的入门门槛。
请参考图6,其示出了本申请一个实施例提供的计算机设备1500的结构示意图。该计算机设备1500可用于实施上述实施例中提供的基于可搜索加密的数据访问控制方法。
具体来讲:所述计算机设备1500包括中央处理单元(CPU)1501、包括随机存取存储器(RAM)1502和只读存储器(ROM)1503的系统存储器1504,以及连接系统存储器1504和中央处理单元1501的系统总线1505。所述计算机设备1500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1506,和用于存储操作系统1513、应用程序1514和其他程序模块1515的大容量存储设备1507。
所述基本输入/输出系统1506包括有用于显示信息的显示器1508和用于用户输入信息的诸如鼠标、键盘之类的输入设备1509。其中,所述显示器1508和输入设备1509都通过连接到系统总线1505的输入输出控制器1510连接到中央处理单元1501。所述基本输入/输出系统1506还可以包括输入输出控制器1510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1510还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1507通过连接到系统总线1505的大容量存储控制器(未示出)连接到中央处理单元1501。所述大容量存储设备1507及其相关联的计算机可读介质为计算机设备1500提供非易失性存储。也就是说,所述大容量存储设备1507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。
当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1504和大容量存储设备1507可以统称为存储器。
根据本申请的各种实施例,所述计算机设备1500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1500可以通过连接在所述系统总线1505上的网络接口单元1511连接到网络1512,或者说,也可以使用网络接口单元1511来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于实现上述基于可搜索加密的数据访问控制方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被终端的处理器执行时实现上述实施例的基于可搜索加密的数据访问控制方法。可选地,上述计算机可读存储介质可以是ROM(Read-OnlyMemory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、CD-ROM(CompactDiscRead-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述基于可搜索加密的数据访问控制方法。
两个以上“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于可搜索加密的数据访问控制方法,其特征在于,所述方法包括:
S4.由区块链共识节点对数据获取者所要查询的关键词生成搜索令牌Tok,将搜索令牌发送给云服务器;
S5.云服务器将包含搜索关键字的搜索令牌Tok在密文索引Index中进行搜索,并生成密文列表DL={D1,D2,…,Dn};
S6.云服务器通过所述数据获取者的用户身份秘钥UKUID与密文列表中的单一密文验证所述数据获取者与密文是否相互满足所对应的访问控制结构,当用户属性满足用户访问控制结构、密文属性满足密文访问控制结构时,云服务器对该密文进行预解密,并将预解密的中间密文D′返回给数据获取者;
S7.所述数据获取者接收来自云服务器的中间密文D′,使用用户身份秘钥UKUID对中间密文进行解密,生成明文M。
2.如权利要求1所述的基于可搜索加密的数据访问控制方法,其特征在于,所述方法还包括:
S11、区块链共识节点选取具有生成元g和双线性映射G0×G0→GT的q阶双线性群G0
S12、区块链共识节点选择哈希函数H:{0,1}*→G0,将用户标识UID映射到双线性群G0
S13、区块链共识节点产生全局公钥GP={g,H};
S14、区块链各共识节点进行分布式秘钥共享,每个参与秘钥生成的授权节点获取秘密值相应的份额;
S15、设区块链中的共识节点个数为n,共识节点CNi(i∈n)管理所有用户的用户属性集
Figure FDA0003421349990000011
和密文属性集
Figure FDA0003421349990000012
共识节点CNi根据属性集合
Figure FDA0003421349990000013
选择随机参数
Figure FDA0003421349990000021
其中,用户属性集
Figure FDA0003421349990000022
密文属性集
Figure FDA0003421349990000023
由所有用户共同确定,α、β为整数,q、d为对应属性集中的属性值,
Figure FDA0003421349990000024
为整数域,所述所有用户包括数据发布者和数据获取者;
S16、区块链共识节点为数据发布者和数据获取者生成公钥
Figure FDA0003421349990000025
Figure FDA0003421349990000026
和私钥SK={αi,βi}。
3.如权利要求2所述的基于可搜索加密的数据访问控制方法,其特征在于,所述方法还包括:
S2.由区块链各共识节点为每个数据获取者生成用户身份秘钥UKUID,所述用户身份秘钥UKUID包含用户标识UID、该数据获取者的单一用户属性集合K和密文访问控制结构(P,η);
其中,单一用户的用户属性集
Figure FDA0003421349990000027
用来验证该数据获取者的用户属性集是否满足数据发布者所设定的用户访问控制结构,即数据获取者是否满足数据发布者的访问要求;
P为一个lo×ko的矩阵,lo表示矩阵P的行数,ko表示矩阵P的列数,η将P中的行映射到密文访问控制结构中的对应属性,密文访问控制结构(P,η)由数据获取者设定,用来验证密文中的密文属性集是否满足密文访问控制结构,即密文是否符合数据获取者的文件需求。
4.如权利要求2所述的基于可搜索加密的数据访问控制方法,其特征在于,所述方法还包括:
S3.数据发布者根据自身的密文属性集Λ和用户访问控制结构(F,ρ)对要分享的数据文件设定文件访问权限;并将明文文件加密成密文D,同时产生密文索引Index,将所述密文索引Index和密文D发送给云服务器;
其中,密文D包含了用户访问控制结构与密文属性集,数据发布者的密文属性集
Figure FDA0003421349990000031
用来验证密文中密文属性集是否满足数据获取者的密文访问控制结构(P,η),即验证密文是否满足数据获取者的文件需求;
F为一个le×ke的矩阵,le表示矩阵F的行数,ke表示矩阵F的列数,ρ将F中的行映射到用户访问控制结构的对应属性,用户访问控制结构(F,ρ)由数据发布者设定,用来验证数据获取者的用户属性集是否满足数据发布者所设定的用户访问控制结构,即数据获取者是否满足数据发布者的访问要求。
5.如权利要求3所述的基于可搜索加密的数据访问控制方法,其特征在于,S2具体包括:
S21、区块链共识节点获取所述全局公钥GP、用户公钥PK和用户私钥SK,同时获取用户标识UID、用户属性集K和密文访问控制结构(P,η);
S22、区块链共识节点随机选取
Figure FDA0003421349990000032
其中,
Figure FDA0003421349990000033
为所要共享的密文秘密值,若密文属性集满足密文访问控制结构则共享该密文秘密值,且
Figure FDA0003421349990000034
为整数,yi为整数;
S23、区块链共识节点令Px是矩阵P的第x行,并生成向量
Figure FDA0003421349990000035
和向量
Figure FDA0003421349990000036
计算
Figure FDA0003421349990000037
其中,σx、τx用来具体验证密文属性集是否满足密文访问控制结构;
S24、区块链共识节点通过计算产生用户身份秘钥UKUID,并将用户身份秘钥发送给数据获取者。
6.如权利要求4所述的基于可搜索加密的数据访问控制方法,其特征在于,所述将明文文件加密成密文D具体包括:
S311、数据发布者取所述全局公钥GP、自身的用户公钥PK和用户私钥SK,同时获取自身的用户标识UID、明文M、用户访问控制结构(F,ρ)和密文属性集Λ;
S312、数据发布者随机选取
Figure FDA0003421349990000041
其中,s是所要共享的用户秘密值,若用户属性集满足用户访问控制结构则共享用户秘密值,且s为整数,
Figure FDA0003421349990000042
为整数;
S313、数据发布者令Fx是矩阵F的第x行,并生成向量
Figure FDA0003421349990000043
和向量
Figure FDA0003421349990000044
计算
Figure FDA0003421349990000045
其中,λx、μx用来具体验证用户属性集是否满足用户访问控制结构;
S314、数据发布者通过加密计算得出密文D,将密文D发送给云服务器。
7.如权利要求4所述的基于可搜索加密的数据访问控制方法,其特征在于,所述产生密文索引Index具体包括:
S321、数据发布者获取全局公钥GP、自身的用户公钥PK和共享密文中的关键词KW;
S322、生成所述密文索引为
Figure FDA0003421349990000046
并将密文索引与密文进行关联,其中,
Figure FDA0003421349990000047
k表示关键词的个数,Uw为数据关键词集合,i∈Ui,数据发布者将所述密文索引发送给云服务器CS。
8.如权利要求7所述的基于可搜索加密的数据访问控制方法,其特征在于,S4具体包括:
S41、区块链共识节点获取所述全局公钥GP、所述数据获取者的用户身份秘钥UKUID和数据获取者所要查询的关键词kw;
S42、生成搜索令牌为:Tok={toki},其中,
Figure FDA0003421349990000048
区块链共识节点将搜索令牌Tok发送给云服务器CS;
S43、云服务器CS保存用户搜索令牌Tok。
9.如权利要求8所述的基于可搜索加密的数据访问控制方法,其特征在于,S6具体过程如下:
S61、云服务器获取数据获取者的用户身份秘钥UKUID和密文D;
S62、云服务器判断数据获取者的用户属性是否符合数据发布者所制定的密文访问权限和密文文件是否符合数据获取者的文件需求,即用户属性集K是否满足用户访问控制结构(F,ρ),密文属性集Λ是否满足密文访问控制结构(P,η);
S63、当验证数据获取者的用户属性集是否符合访问用户访问控制结构时,云服务器随机选择
Figure FDA0003421349990000051
使得∑x∈Kcxλx=s,∑x∈Kcxμx=0则说明用户属性集满足数据发布者所制定的用户访问控制结构;同时,当验证密文属性集是否符合密文访问控制结构时,云服务器随机选择
Figure FDA0003421349990000052
使得
Figure FDA0003421349990000053
Figure FDA0003421349990000054
y∈Λdyτy=0,则说明密文属性集符合密文访问控制结构,即密文满足数据获取者的文件需求;
S64、云服务器对密文进行预解密服务生成中间密文D′,并将密文及中间密文D′发送给数据获取者。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至9任一项所述的基于可搜索加密的数据访问控制方法。
CN202111563881.4A 2021-12-20 2021-12-20 基于可搜索加密的数据访问控制方法、计算机设备 Active CN114257446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111563881.4A CN114257446B (zh) 2021-12-20 2021-12-20 基于可搜索加密的数据访问控制方法、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111563881.4A CN114257446B (zh) 2021-12-20 2021-12-20 基于可搜索加密的数据访问控制方法、计算机设备

Publications (2)

Publication Number Publication Date
CN114257446A true CN114257446A (zh) 2022-03-29
CN114257446B CN114257446B (zh) 2023-05-23

Family

ID=80796036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111563881.4A Active CN114257446B (zh) 2021-12-20 2021-12-20 基于可搜索加密的数据访问控制方法、计算机设备

Country Status (1)

Country Link
CN (1) CN114257446B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049466A (zh) * 2012-05-14 2013-04-17 深圳市朗科科技股份有限公司 一种基于分布式密文存储的全文检索方法及系统
CN107104982A (zh) * 2017-05-26 2017-08-29 福州大学 移动电子医疗中具有叛逆者追踪功能的可搜索加密系统
CN107256248A (zh) * 2017-06-07 2017-10-17 福州大学 云存储安全中基于通配符的可搜索加密方法
CN108092972A (zh) * 2017-12-13 2018-05-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
JP2018148493A (ja) * 2017-03-08 2018-09-20 日本放送協会 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム
CN109740364A (zh) * 2019-01-04 2019-05-10 大连大学 可控搜索权限的基于属性的密文搜索方法
CN110224986A (zh) * 2019-05-07 2019-09-10 电子科技大学 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
CN112039880A (zh) * 2020-08-30 2020-12-04 河南大学 基于区块链分布式外包的双重策略访问控制方法
US20200404023A1 (en) * 2017-11-09 2020-12-24 University Of Science & Technology Beijing Method and system for cryptographic attribute-based access control supporting dynamic rules
CN112187798A (zh) * 2020-09-28 2021-01-05 安徽大学 一种应用于云边数据共享的双向访问控制方法及系统
CN112751670A (zh) * 2020-12-30 2021-05-04 西安邮电大学 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN112765669A (zh) * 2021-02-01 2021-05-07 福州大学 基于时间授权的正则语言可搜索加密系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049466A (zh) * 2012-05-14 2013-04-17 深圳市朗科科技股份有限公司 一种基于分布式密文存储的全文检索方法及系统
JP2018148493A (ja) * 2017-03-08 2018-09-20 日本放送協会 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム
CN107104982A (zh) * 2017-05-26 2017-08-29 福州大学 移动电子医疗中具有叛逆者追踪功能的可搜索加密系统
CN107256248A (zh) * 2017-06-07 2017-10-17 福州大学 云存储安全中基于通配符的可搜索加密方法
US20200404023A1 (en) * 2017-11-09 2020-12-24 University Of Science & Technology Beijing Method and system for cryptographic attribute-based access control supporting dynamic rules
CN108092972A (zh) * 2017-12-13 2018-05-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
CN109740364A (zh) * 2019-01-04 2019-05-10 大连大学 可控搜索权限的基于属性的密文搜索方法
CN110224986A (zh) * 2019-05-07 2019-09-10 电子科技大学 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
CN112039880A (zh) * 2020-08-30 2020-12-04 河南大学 基于区块链分布式外包的双重策略访问控制方法
CN112187798A (zh) * 2020-09-28 2021-01-05 安徽大学 一种应用于云边数据共享的双向访问控制方法及系统
CN112751670A (zh) * 2020-12-30 2021-05-04 西安邮电大学 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN112765669A (zh) * 2021-02-01 2021-05-07 福州大学 基于时间授权的正则语言可搜索加密系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
牛淑芬;刘文科;陈俐霞;王彩芬;杜小妮;: "基于联盟链的可搜索加密电子病历数据共享方案", 通信学报 *

Also Published As

Publication number Publication date
CN114257446B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
Zhang et al. PIC: Enable large-scale privacy preserving content-based image search on cloud
JP6877448B2 (ja) 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
Li et al. Privacy computing: concept, computing framework, and future development trends
WO2019220318A1 (en) Improved systems and methods for storage, generation and verification of tokens used to control access to a resource
CN106776904A (zh) 一种不可信云计算环境中支持动态验证的模糊查询加密方法
Tang et al. Differentially private publication of vertically partitioned data
Qiu et al. Categorical quantum cryptography for access control in cloud computing
Ge et al. Toward verifiable phrase search over encrypted cloud-based IoT data
Zhu et al. Secure k-NN query on encrypted cloud data with limited key-disclosure and offline data owner
Raj et al. Enhanced encryption for light weight data in a multi-cloud system
CN108650268A (zh) 一种实现多级访问的可搜索加密方法及系统
Di Crescenzo et al. Practical and privacy-preserving policy compliance for outsourced data
Balobaid et al. Modeling of blockchain with encryption based secure education record management system
Le et al. Distributed secure search in the personal cloud
EP4035305A1 (en) Partitioning a request into transactions for a blockchain
Sucharitha et al. Enhancing secure communication in the cloud through blockchain assisted-cp-dabe
CN114257446B (zh) 基于可搜索加密的数据访问控制方法、计算机设备
Brandao Cloud computing security
Sui et al. An encrypted database with enforced access control and blockchain validation
Hua et al. Practical m‐k‐Anonymization for Collaborative Data Publishing without Trusted Third Party
Kumar et al. A hybrid solution for secure privacy-preserving cloud storage & information retrieval
Tang et al. A Blockchain-Based Framework for Secure Storage and Sharing of Resumes.
Chennam et al. An efficient two stage encryption for securing personal health records in cloud computing
Rajhi et al. A Cryptographic Iterative Hash Function Scheme for Wireless Sensor Network (WSNs) Security Enhancement for Sensor Data Transmission in Blockchain
Mustaçoğlu Blockchain-Based Data Sharing and Managing Sensitive Data

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