CN114710370B - 基于雾区块链和属性加密的细粒度访问控制方法及系统 - Google Patents

基于雾区块链和属性加密的细粒度访问控制方法及系统 Download PDF

Info

Publication number
CN114710370B
CN114710370B CN202210637715.2A CN202210637715A CN114710370B CN 114710370 B CN114710370 B CN 114710370B CN 202210637715 A CN202210637715 A CN 202210637715A CN 114710370 B CN114710370 B CN 114710370B
Authority
CN
China
Prior art keywords
data
attribute
key
ciphertext
fog
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
Application number
CN202210637715.2A
Other languages
English (en)
Other versions
CN114710370A (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.)
Shandong Computer Science Center National Super Computing Center in Jinan
Original Assignee
Shandong Computer Science Center National Super Computing Center in Jinan
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 Shandong Computer Science Center National Super Computing Center in Jinan filed Critical Shandong Computer Science Center National Super Computing Center in Jinan
Priority to CN202210637715.2A priority Critical patent/CN114710370B/zh
Publication of CN114710370A publication Critical patent/CN114710370A/zh
Application granted granted Critical
Publication of CN114710370B publication Critical patent/CN114710370B/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/3236Cryptographic 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 using cryptographic hash functions

Abstract

本发明提供了一种基于雾区块链和属性加密的细粒度访问控制方法及系统,其属于信息安全技术领域,所述方案引入了多属性权威机构,更符合细粒度访问控制需求,也避免了单点故障、密钥泄露等问题;所述方案通过将联盟链与雾节点结合,利用雾节点拥有一定的存储能力和计算能力,能为系统中属性权威和用户分配全局唯一身份标识并维护它们的身份列表,并存储多属性权威根据身份和属性集合生成的密钥,以便后续非法行为的追溯;为计算能力有限的用户完成解密过程中的密集型计算,而联盟链中PBFT共识机制的容错性能提高执行结果的正确性,减少用户的验证开销。

Description

基于雾区块链和属性加密的细粒度访问控制方法及系统
技术领域
本发明属于信息安全技术领域,尤其涉及一种基于雾区块链和属性加密的细粒度访问控制方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
随着工业互联网和移动互联网的快速发展,网络空间各类应用和服务遍布人们的日常生活和工作当中,并产生了海量的数据,导致了数据量爆炸式增长。由于产生这些数据的物联网设备和服务提供商普遍存在着存储和计算资源受限等问题,人们通常将数据存储和计算外包给存储和计算能力强大的云服务提供商。云服务提供商以虚拟化技术为基础,以网络为载体,提供充沛的存储和计算资源。然而,云服务提供商对数据是集中式存储和处理的,急速膨胀的数据存储和计算访问请求造成了网络拥塞和云平台响应时间延迟增大等问题。为了解决这些问题,作为云计算扩展的雾计算应运而生。雾计算是一种分布式信息基础设施,位于物联网设备/服务商网络节点和云服务提供商的中间层,拥有一定的存储能力和计算能力。将数据存储在物联网设备/服务商网络节点的附近,能够提高数据的安全性和外包服务的流畅性,也减少了服务器和设备之间的响应时间。
资源有限的物联网设备和服务商网络节点将数据外包存储到雾节点同样也面临着一些数据安全的问题。数据一旦外包存储,数据拥有者就会失去数据管理权和控制权。雾节点同云服务提供商一样,并不是完全可信的,可能为了自身利益与非法用户勾结或者泄露用户的数据,可能会给用户带来信息泄露等安全风险。访问控制技术是解决这一问题的有效措施,它能够保证只有符合访问控制策略要求的用户才能访问加密的指定数据。然而,基于传统密码算法的访问控制技术存在着访问控制不够细粒度、安全性不够高等问题。属性加密(ABE: attribute-based encryption,基于属性的加密)是目前广泛应用与于细粒度访问控制的加密算法。根据控制权所有者的不同,属性加密算法可以分为KP-ABE(key-policy ABE,基于密钥策略的属性加密)和CP-ABE(ciphertext-policy ABE,基于密文策略的属性加密)。在KP-ABE中,用户的密钥与访问策略相关联,密文与属性集合相关联,这种访问方式符合静态数据共享。在CP-ABE中,密文与访问策略相关联,用户的密钥与他拥有的属性集合相关联,由数据拥有者控制数据的访问权限,更适用于现实中的复杂应用场景中。
发明人发现,目前许多CP-ABE方案只有一个属性权威机构,该属性权威机构负责颁发和管理系统内的所有密钥。而在实际应用场景中,用户往往拥有多个属性权威机构赋予的属性;且单个权威机构容易造成单点故障、密钥泄露等问题;同时,一些资源有限的用户往往将解密过程中的密集型计算都外包给云或雾平台,首先,他们使用自身密钥生成转换密钥和解密密钥,然后将转换密钥发送给云/雾平台进行解密,这增加了用户密钥转换的计算开销。且因为云/雾平台并不完全可信的特点,需要对解密结果进行验证,又增加了用户对解密结果验证的计算开销。
发明内容
本发明为了解决上述问题,提供了一种基于雾区块链和属性加密的细粒度访问控制方法及系统,所述方案使用多属性权威机构为系统中用户分配属性集合,生成带有身份标识的转换密钥和用户密钥,更符合实际应用需求,且转换密钥存储在区块链中,方便可用于后续的追责;同时,解密过程中的密集型计算外包给区块链中的雾节点,可有效降低用户的解密开销和验证开销。
根据本发明实施例的第一个方面,提供了一种基于雾区块链和属性加密的细粒度访问控制方法,其用于由若干属性权威机构、数据拥有者、分布式存储系统以及数据访问者组成的访问系统,所述方法包括:
通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,初始化每个属性权威机构的属性集合,并生成每个属性权威机构对应的公钥和私钥;
数据拥有者对待发布的数据进行加密,并将数据密文进行存储;
基于数据拥有者预设的访问策略对所述数据加密密钥及存储地址进行加密,其中,所述访问策略为来自若干属性权威机构的属性构成的集合;
基于所述属性权威机构的公钥和私钥对所述数据访问者提供的属性集合生成转换密钥和用户解密密钥;判断所述数据访问者的属性集合是否满足访问策略,若满足则基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文;并基于所述用户解密密钥对所述转化密文进行最终解密,获得数据加密密钥及存储地址明文;
基于所述存储地址获得数据密文,并基于数据加密密钥对所述数据密文进行解密获得原始数据。
进一步的,所述基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文,具体为:通过联盟链中的雾节点进行解密计算,或,通过数据访问者自身计算资源进行解密计算。
进一步的,在进行所述解密计算前,需预先判断数据访问者的属性集合是否满足访问策略,若不满足,则禁止访问;若满足,则执行解密计算。
进一步的,所述数据拥有者对数据加密时,需计算数据密文的哈希值,用于数据解密时验证数据密文的完整性。
进一步的,所述数据拥有者对待发布的数据进行加密,具体采用对称密码算法及预设密钥进行加密。
进一步的,所述将数据密文进行存储,具体将数据密文存储于链外分布式存储系统中。
进一步的,所述通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,具体为:属性权威机构和数据访问者在区块链中进行注册,区块链选取一个系统安全参数和一个属性域,生成全局公共参数、属性权威机构全局唯一身份标识,用户全局唯一身份标识。
根据本发明实施例的第二个方面,提供了一种基于雾区块链和属性加密的细粒度访问控制系统,包括:
初始化单元,其用于通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,初始化每个属性权威机构的属性集合,并生成每个属性权威机构对应的公钥和私钥;
数据加密单元,其用于数据拥有者对待发布的数据进行加密,并将数据密文进行存储;
属性加密单元,其用于基于数据拥有者预设的访问策略对所述数据加密密钥及存储地址进行加密,其中,所述访问策略为来自若干属性权威机构的属性构成的集合;
数据访问单元,其用于基于所述属性权威机构的公钥和私钥对所述数据访问者提供的属性集合生成转换密钥和用户解密密钥;判断所述数据访问者的属性集合是否满足访问策略,若满足则基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文;并基于所述用户解密密钥对所述转化密文进行最终解密,获得数据加密密钥及存储地址明文;
原始数据获取单元,其用于基于所述存储地址获得数据密文,并基于数据加密密钥对所述数据密文进行解密获得原始数据。
根据本发明实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于雾区块链和属性加密的细粒度访问控制方法。
根据本发明实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于雾区块链和属性加密的细粒度访问控制方法。
与现有技术相比,本发明的有益效果是:
(1)本发明提供了一种基于雾区块链和属性加密的细粒度访问控制方法及系统,所述方案使用多属性权威机构为系统中用户分配属性集合,生成带有身份标识的转换密钥和用户密钥,更符合实际应用需求,且转换密钥存储在区块链中,方便可用于后续的追责;同时,解密过程中的密集型计算外包给区块链中的雾节点,可有效降低用户的解密开销和验证开销。
(2)与未使用区块链的现有技术对比,本发明使用联盟链发布并记录多属性权威、数据访问者的全局唯一身份标识,可利用链上数据的不可篡改性和交易的可追溯对非法用户进行追责;数据访问者属性和访问策略的匹配过程由智能合约自动执行,匹配过程公正可信;区块链节点维护一个<用户身份ID,转换密钥>列表,去中心化的存储能减少密钥托管的问题。
(3)与基于区块链的现有技术对比,本发明中联盟链中的背书节点由附件的雾节点组成,它们有一定的存储和计算能力,可以为存储能力有限的数据拥有者存储转换密钥,为计算能力有限的数据访问者完成解密过程中的密集型计算,并使用PBFT对执行结果达成共识。PBFT可以保证三分之一的容错性,减少了由雾节点潜在的懒惰和不诚实行为导致错误执行结果的可能性,从而降低了用户对不完全可信的第三方外包存储和计算的验证开销。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例中所述的基于雾区块链和属性加密的细粒度访问控制方法流程图;
图2为本发明实施例中所述的基于雾区块链和属性加密的细粒度访问控制系统结构示意图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
术语解释:
ABE:基于属性的加密(attribute-based encryption),数据拥有者根据指定的属性加密消息,无需关注接收者的身份,只有符合属性要求的数据访问者才能解密密文,保证了数据的机密性。根据属性集合和访问策略关联模式的不同,基于属性的加密可以分为KP-ABE和CP-ABE。
KP-ABE:基于密钥策略的属性加密(key-policy ABE),将策略嵌入到用户密钥中,属性嵌入到密文中。密钥对应于一个访问结构而密文对应于一个属性集合,解密当且仅当属性集合中的属性能够满足此访问策略。
CP-ABE:基于密文策略的属性加密(ciphertext-policy ABE), 将策略嵌入到密文中,属性嵌入到用户密钥中。密文对应于一个访问结构而密钥对应于一个属性集合,解密当且仅当属性集合中的属性能够满足此访问策略。
雾区块链:联盟链中的背书节点由附件的雾节点组成,它们有一定的存储和计算能力,可以为存储能力有限的数据拥有者存储转换密钥,为计算能力有限的数据访问者完成解密过程中的密集型计算,并使用PBFT对执行结果达成共识。
线性秘密共享方案(Linear Secret Sharing Scheme,LSSS):一个线性秘密共享方案是指用一个秘密值s对消息进行加密,该秘密值被分成多份被不同共享份额持有。解密的前提是恢复出秘密值s,达到一定的共享份额即可恢复出秘密值s。该方案包括秘密共享和秘密重构:
(1)秘密共享:在方案中,存在一个
Figure 537247DEST_PATH_IMAGE001
的共享矩阵M和映射函数
Figure 489023DEST_PATH_IMAGE002
Figure 368117DEST_PATH_IMAGE004
可以将矩阵中的每一行映射为一个属性。指定
Figure 12725DEST_PATH_IMAGE005
为待共享的秘密值,随机选取
Figure 859327DEST_PATH_IMAGE006
,构成随机列向量
Figure 614794DEST_PATH_IMAGE007
。计算
Figure 410711DEST_PATH_IMAGE008
Figure 101587DEST_PATH_IMAGE009
为M中第i行向量,
Figure 45272DEST_PATH_IMAGE010
为s在访问矩阵M中的第i份共享份额。
(2)秘密重构:设A为任意授权集合,定义
Figure 731993DEST_PATH_IMAGE011
,根据矩阵M,映射函数
Figure 710313DEST_PATH_IMAGE012
可以计算一个常量集合
Figure 306511DEST_PATH_IMAGE013
,有
Figure 737492DEST_PATH_IMAGE014
,则可以恢复秘密值
Figure 38023DEST_PATH_IMAGE015
。而对于非授权集合来说,不存在这样的常量集合,即无法恢复秘密值s。
PBFT:实用拜占庭容错算法(Practical Byzantine Fault Tolerance),其核心步骤为:客户端向主节点发起请求,主节点接收到请求后,向其他副本节点发送Pre-prepare消息,副本节点接收到Pre-prepare消息后,开始核心三阶段共识过程。
(1)Pre-prepare阶段:每一个副本节点向网络广播由客户端提交的交易请求。主节点对交易进行收集和排序,将交易存入列表并向网络广播列表;
(2)Prepare阶段:当前节点同意请求后会向其它节点发送 Prepare消息,因为多个节点同时进行该过程,该节点会收到其他共识节点发送的Prepare消息,该节点验证其他共识节点发送的Prepare消息和自己发送的Prepare消息数据值是否一致。若一致,该节点将将prepared (m,v,n) 设置为true。在一定的时间段内,如果收到超过 2f 个其他节点的prepare 消息,就代表prepare 阶段已经完成。则该节点发送commit消息并进入Commit阶段;
(3)Commit阶段:设f为实用拜占庭容错算法的容错数量,如果一个节点接收来自其他共识节点的2f个Commit消息(加上自己的共有2f+1个),验证这些Commit消息中的数据值和自己发送的Commit消息数据值一致后,该节点将committed-local(m,v,n)设置为true,表示共识节点确定消息已经在网络中得到至少2f+1个节点的共识。于是该节点执行请求,写入数据。
核心三阶段共识执行完成后,每个副本节点都向客户端发送回复<<REPLY, v, t,c, I, r>>,副本节点会把时间戳比已回复时间戳更小的请求丢弃,以保证请求只会被执行一次。当客户端收集到f+1个消息后,共识完成。
实施例一:
本实施例的目的是提供一种基于雾区块链和属性加密的细粒度访问控制方法。
如图1所示,一种基于雾区块链和属性加密的细粒度访问控制方法,其用于由若干属性权威机构、数据拥有者、分布式存储系统以及数据访问者组成的访问系统,所述方法包括:
通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,初始化每个属性权威机构的属性集合,并生成每个属性权威机构对应的公钥和私钥;
数据拥有者对待发布的数据进行加密,并将数据密文进行存储;
基于数据拥有者预设的访问策略对所述数据加密密钥及存储地址进行加密,其中,所述访问策略为来自若干属性权威机构的属性构成的集合;
基于所述属性权威机构的公钥和私钥对所述数据访问者提供的属性集合生成转换密钥和用户解密密钥;判断所述数据访问者的属性集合是否满足访问策略,若满足则基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文;并基于所述用户解密密钥对所述转化密文进行最终解密,获得数据加密密钥及存储地址明文;
基于所述存储地址获得数据密文,并基于数据加密密钥对所述数据密文进行解密获得原始数据。
进一步的,所述基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文,具体为:通过联盟链中的雾节点进行解密计算,或,通过数据访问者自身计算资源进行解密计算。
进一步的,在进行所述解密计算前,需预先判断数据访问者的属性集合是否满足访问策略,若不满足,则禁止访问;若满足,则执行解密计算。
进一步的,所述数据拥有者对数据加密时,需计算数据密文的哈希值,用于数据解密时验证数据密文的完整性。
进一步的,所述数据拥有者对待发布的数据进行加密,具体采用对称密码算法及预设密钥进行加密。
进一步的,所述将数据密文进行存储,具体将数据密文存储于链外分布式存储系统中。
进一步的,所述通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,具体为:属性权威机构和数据访问者在区块链中进行注册,区块链选取一个系统安全参数和一个属性域,生成全局公共参数、属性权威机构全局唯一身份标识,用户全局唯一身份标识。
具体的,为了便于理解,以下结合附图对本实施例所述方案进行详细说明:
一种基于雾区块链和属性加密的细粒度访问控制方法,其用于由属性权威机构、数据拥有者、分布式存储系统、背书节点(雾节点)、提交节点以及数据访问者组成的数据访问系统,所述方法具体包括如下步骤:
步骤1:区块链初始化
Figure 995484DEST_PATH_IMAGE016
:属性权威机构和数据访问者在区块链中进行注册,区块链选取一个系统安全参数
Figure 152796DEST_PATH_IMAGE018
和一个属性域U,生成全局公共参数GP、属性权威机构全局唯一身份标识aid,用户全局唯一身份标识uid
步骤2:属性权威机构初始化
Figure 946440DEST_PATH_IMAGE019
:身份为aid的属性权威机构
Figure 847399DEST_PATH_IMAGE020
管理的属性集合定义为
Figure 472416DEST_PATH_IMAGE021
,生成该属性权威机构的公钥
Figure 925263DEST_PATH_IMAGE022
,私钥
Figure 65257DEST_PATH_IMAGE023
步骤3:加密
步骤3.1:原始数据加密
Figure 645274DEST_PATH_IMAGE024
:数据拥有者使用对称密码算法和密钥为K加密原始数据data生成密文D,并将数据密文D外包存储在链外分布式存储系统中,分布式存储系统返回存储地址address,计算数据密文的哈希值H(D),用于验证数据的完整性;
步骤3.2:属性加密
Figure 452693DEST_PATH_IMAGE025
:记
Figure 76441DEST_PATH_IMAGE026
,数据拥有者制定访问策略
Figure 703732DEST_PATH_IMAGE027
,并使用
Figure 149757DEST_PATH_IMAGE028
对M进行加密;
其中,A为共享生成矩阵,用于分享数据所有者选定的秘密值,ρ为映射函数,即将矩阵A中的每一行向量映射为一个属性(即属性权威机构管理的属性),ρ(i)→atti。即矩阵共享秘密值得本质是属性共享秘密值。
步骤4:访问者属性密钥生成
Figure 421469DEST_PATH_IMAGE029
:数据访问者提交属性集合
Figure 357064DEST_PATH_IMAGE030
,全局唯一身份标识
Figure 599214DEST_PATH_IMAGE031
,属性权威机构为访问者生成转换密钥
Figure 380088DEST_PATH_IMAGE032
和用户解密密钥
Figure 99783DEST_PATH_IMAGE033
步骤5:密文外包解密
Figure 816066DEST_PATH_IMAGE034
:这部分可由联盟链中的雾节点执行,也可由访问者自己执行。在执行该算法之前,雾节点先检查访问者的属性集合是否满足访问结构,若不满足,返回错误;若满足,则可以找到一组常量
Figure 417949DEST_PATH_IMAGE035
,使得
Figure 392727DEST_PATH_IMAGE036
。雾节点将执行的解密结果返回给数据访问者;
其中,s为数据拥有者选定的秘密值,用于加密明文消息,
Figure 763665DEST_PATH_IMAGE037
为s在访问矩阵M中的第i份共享份额。如果存在一个常量集合
Figure 650850DEST_PATH_IMAGE038
,有
Figure 474449DEST_PATH_IMAGE039
,则可以恢复秘密值
Figure 65968DEST_PATH_IMAGE040
,随后授权用户可以使用密钥在和密文配对的解密过程中恢复出秘密值s。而未授权用户不存在该常量集合,所以无法重构出秘密值s,也就无法在解密过程中重构出s。
步骤6:用户解密
Figure 416046DEST_PATH_IMAGE041
:数据访问者使用包含身份标识的用户解密密钥
Figure 598766DEST_PATH_IMAGE042
对收到的转换密文
Figure 316186DEST_PATH_IMAGE043
执行最终解密,得到属性明文M
步骤7:数据密文存在性校验
根据属性明文
Figure 242554DEST_PATH_IMAGE044
中数据密文存储地址找到数据密文,计算数据密文的哈希并与区块链上的哈希对比
Figure 447139DEST_PATH_IMAGE045
,若值不相等,表明分布式存储系统数据密文完整性发生过改变,可能部分数据已经丢失或损坏;
步骤8:获取原始数据
Figure 66339DEST_PATH_IMAGE046
:根据属性明文
Figure 67793DEST_PATH_IMAGE047
中对称密码算法密钥K对数据密文D解密,获取原始数据data
以下结合图2对所述数据访问系统的各部分进行详细说明:
1.属性权威机构
为解决单属性权威机构存在的单点故障等缺陷,本发明引入多属性权威机构。各个属性域的属性权威机构都需要在联盟链中进行注册,获取全局唯一身份标识
Figure 673218DEST_PATH_IMAGE048
。数据访问者提交属性集合与自身身份标识
Figure 873255DEST_PATH_IMAGE049
,属性权威机构为访问者生成属性密钥。属性密钥包括外包转换密钥和用户解密密钥两部分,属性权威机构部署智能合约,将访问者身份标识
Figure 790920DEST_PATH_IMAGE050
和对应的转换密钥以存储交易的形式发送到区块链中。
其中,所述多属性权威机构为多个单属性(也可多属性)的权威机构,一个属性权威管理一个域内的属性,实际用户可能拥有来自多个属性域的属性,如医疗机构管理的{医院:中心医院,部门:心内科,编号:card-001},人才管理中心管理的{学历:博士,户籍:XX省XX市},组合成对应的属性集合{中心医院、心内科、card-001、博士、XX省XX市}的某个或某些医生,其中,用户信息由不同机构管理:户口信息由公安机关管理、工作档案由人才管理中心管理、社保信息由社保局管理。对于数据访问者提交的属性集合,例如:一个用户拥有多个属性,如某医生属性集合为{医院:中心医院,部门:心内科,性别:男,编号:card-001},根据这些描述性属性,生成对应的属性密钥。
2.数据拥有者
2.1原始数据加密:数据拥有者使用对称密码算法和密钥K加密原始数据data生成密文D,并将数据密文外包存储在分布式存储系统中,返回存储地址address,记
Figure 76408DEST_PATH_IMAGE051
2.2密钥和存储地址加密:数据拥有者制定一个访问策略,使用该访问策略加密对称密码算法的密钥K和数据密文的存储地址address,即
Figure 219945DEST_PATH_IMAGE052
,其中
Figure 477751DEST_PATH_IMAGE053
2.3.数据上链:数据拥有者部署智能合约,将数据密文哈希H(D)、属性密文CT、访问策略
Figure 438753DEST_PATH_IMAGE054
以存储交易的形式发送到联盟链中;
3.分布式存储系统
分布式数据库系统是在集中式数据库系统的基础上发展起来的,能够避免集中式存储系统带来的安全问题;用于存储原始数据的密文;
4.背书节点
联盟链中每个组织的背书节点由附近的雾节点组成。它们负责智能合约的执行,并使用实用型拜占庭容错共识机制(PBFT)对执行结果达成共识。PBFT可以保证三分之一的容错性,减少了雾节点潜在的懒惰和不诚实行为导致错误执行结果的可能性。执行结果被广播到链上的所有节点进行验证和同步。
5.提交节点
系统中的每个对等节点都是一个提交节点,它们负责链上执行结果的验证和同步。
6.数据访问者
6.1.访问请求:数据访问者在链上搜索密文,决定是独立解密还是将解密部分外包,若是独立解密,则转6.2,若是部分解密外包,则转6.3;
6.2.独立解密:数据访问者下载链上属性密文和对应身份标识uid的转换密钥,先使用转换密钥对密文部分解密生成半密文,再使用解密密钥对半密文进行最终解密;
6.3.解密部分外包:数据访问者部署智能合约,合约中指定信任的背书节点和自己的全局唯一身份标识uid;
6.3.1.属性匹配:背书节点判断数据访问者的属性是否满足访问结构,若满足,则可以找到一组常量
Figure 336171DEST_PATH_IMAGE055
,使得
Figure 408032DEST_PATH_IMAGE056
6.3.2.密文转换:雾节点通过数据访问者的身份标识找到对应的转换密钥,并对密文进行转换,即为多个密文组件和密钥组件进行密集型的配对计算;
6.3.3.用户验证:密文转换完成后,智能合约返回转换后的密文给用户,因为联盟链的PBFT共识机制有三分之一的容错性,能够避免雾节点返回错误结果,不需要用户进行额外的验证过程;
6.3.4.用户解密:数据访问者使用自己全局唯一的解密密钥对转换后的密文执行解密操作,只需一次幂操作即可恢复明文,其中明文
Figure DEST_PATH_IMAGE057
6.4.获取原始数据:数据访问者使用上述解密操作获得的数据密文地址去分布式存储系统下载密文数据,获得密文数据后,使用上述解密操作得到的对称密码算法密钥K对数据密文执行解密操作,得到原始数据明文data。
实施例二:
本实施例的目的是提供一种基于雾区块链和属性加密的细粒度访问控制系统。
一种基于雾区块链和属性加密的细粒度访问控制系统,包括:
初始化单元,其用于通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,初始化每个属性权威机构的属性集合,并生成每个属性权威机构对应的公钥和私钥;
数据加密单元,其用于数据拥有者对待发布的数据进行加密,并将数据密文进行存储;
属性加密单元,其用于基于数据拥有者预设的访问策略对所述数据加密密钥及存储地址进行加密,其中,所述访问策略为来自若干属性权威机构的属性构成的集合;
数据访问单元,其用于基于所述属性权威机构的公钥和私钥对所述数据访问者提供的属性集合生成转换密钥和用户解密密钥;判断所述数据访问者的属性集合是否满足访问策略,若满足则基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文;并基于所述用户解密密钥对所述转化密文进行最终解密,获得数据加密密钥及存储地址明文;
原始数据获取单元,其用于基于所述存储地址获得数据密文,并基于数据加密密钥对所述数据密文进行解密获得原始数据。
进一步的,本实施例所述系统与实施例一中所述方法相对应,其技术细节在实施例一中已经进行了详细描述,故此处不再赘述。
在更多实施例中,还提供:
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
上述实施例提供的基于雾区块链和属性加密的细粒度访问控制方法及系统可以实现,具有广阔的应用前景。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于雾区块链和属性加密的细粒度访问控制方法,其特征在于,其用于由多个属性权威机构、数据拥有者、分布式存储系统以及数据访问者组成的访问系统,所述方法包括:
通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,初始化每个属性权威机构的属性集合,并生成每个属性权威机构对应的公钥和私钥;
数据拥有者对待发布的数据进行加密,并将数据密文进行存储;所述将数据密文进行存储,具体将数据密文存储于链外分布式存储系统中;其中,数据拥有者部署智能合约,将数据密文哈希、属性密文及访问策略以存储交易的形式发送到联盟链中;
基于数据拥有者预设的访问策略对数据加密密钥及存储地址进行加密,其中,所述访问策略为来自多个属性权威机构的属性构成的集合;
基于所述属性权威机构的公钥和私钥对所述数据访问者提供的属性集合生成转换密钥和用户解密密钥;判断所述数据访问者的属性集合是否满足访问策略,若满足则基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文;并基于所述用户解密密钥对所述转换密文进行最终解密,获得数据加密密钥及存储地址明文;
基于所述存储地址获得数据密文,并基于数据加密密钥对所述数据密文进行解密获得原始数据;
所述方法使用多属性权威机构为系统中用户分配属性集合,生成带有身份标识的转换密钥和用户密钥,且转换密钥存储在区块链中;所述基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文,具体为:通过联盟链中的雾节点进行解密计算,在进行所述解密计算前,需预先判断数据访问者的属性集合是否满足访问策略,若不满足,则禁止访问;若满足,则执行解密计算;对于满足访问策略的数据访问者,所述雾节点基于数据访问者的属性集合获得一组常量
Figure DEST_PATH_IMAGE001
,使得
Figure 343548DEST_PATH_IMAGE002
,其中,s为数据拥有者选定的秘密值,用于加密明文消息,
Figure DEST_PATH_IMAGE003
为s在访问矩阵M中的第i份共享份额;雾节点通过数据访问者的身份标识找到对应的转换密钥,并对密文进行转换,即为多个密文组件和密钥组件进行密集型的配对计算;
其中,所述联盟链中的背书节点由雾节点组成,所述雾节点具有存储和计算能力,用于为存储能力有限的数据拥有者存储转换密钥,为计算能力有限的数据访问者完成解密过程中的密集型运算;同时使用PBFT对执行结果达成共识,减少由雾节点潜在的懒惰和不诚实行为导致错误执行结果的可能性,降低用户对不完全可信的第三方外包存储和计算的验证开销。
2.如权利要求1所述的一种基于雾区块链和属性加密的细粒度访问控制方法,其特征在于,所述数据拥有者对数据加密时,需计算数据密文的哈希值,用于数据解密时验证数据密文的完整性。
3.如权利要求1所述的一种基于雾区块链和属性加密的细粒度访问控制方法,其特征在于,所述数据拥有者对待发布的数据进行加密,具体采用对称密码算法及预设密钥进行加密。
4.如权利要求1所述的一种基于雾区块链和属性加密的细粒度访问控制方法,其特征在于,所述通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,具体为:属性权威机构和数据访问者在区块链中进行注册,区块链选取一个系统安全参数和一个属性域,生成全局公共参数、属性权威机构全局唯一身份标识,用户全局唯一身份标识。
5.一种基于雾区块链和属性加密的细粒度访问控制系统,其特征在于,包括:
初始化单元,其用于通过区块链注册为属性权威机构和数据访问者分别生成唯一身份标识,初始化每个属性权威机构的属性集合,并生成每个属性权威机构对应的公钥和私钥;
数据加密单元,其用于数据拥有者对待发布的数据进行加密,并将数据密文进行存储;所述将数据密文进行存储,具体将数据密文存储于链外分布式存储系统中,其中,数据拥有者部署智能合约,将数据密文哈希、属性密文及访问策略以存储交易的形式发送到联盟链中;
属性加密单元,其用于基于数据拥有者预设的访问策略对数据加密密钥及存储地址进行加密,其中,所述访问策略为来自多个属性权威机构的属性构成的集合;
数据访问单元,其用于基于所述属性权威机构的公钥和私钥对所述数据访问者提供的属性集合生成转换密钥和用户解密密钥;判断所述数据访问者的属性集合是否满足访问策略,若满足则基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文;并基于所述用户解密密钥对所述转换密文进行最终解密,获得数据加密密钥及存储地址明文;
原始数据获取单元,其用于基于所述存储地址获得数据密文,并基于数据加密密钥对所述数据密文进行解密获得原始数据;
所述系统使用多属性权威机构为系统中用户分配属性集合,生成带有身份标识的转换密钥和用户密钥,且转换密钥存储在区块链中;所述基于所述转换密钥将加密后的数据加密密钥及存储地址解密为转换密文,具体为:通过联盟链中的雾节点进行解密计算,在进行所述解密计算前,需预先判断数据访问者的属性集合是否满足访问策略,若不满足,则禁止访问;若满足,则执行解密计算;对于满足访问策略的数据访问者,所述雾节点基于数据访问者的属性集合获得一组常量
Figure 705390DEST_PATH_IMAGE001
,使得
Figure 590170DEST_PATH_IMAGE002
,其中,s为数据拥有者选定的秘密值,用于加密明文消息,
Figure 857203DEST_PATH_IMAGE003
为s在访问矩阵M中的第i份共享份额;雾节点通过数据访问者的身份标识找到对应的转换密钥,并对密文进行转换,即为多个密文组件和密钥组件进行密集型的配对计算;
其中,所述联盟链中的背书节点由雾节点组成,所述雾节点具有存储和计算能力,用于为存储能力有限的数据拥有着存储转换密钥,为计算能力有限的数据访问者完成解密过程中的密集型运算;同时使用PBFT对执行结果达成共识,减少由雾节点潜在的懒惰和不诚实行为导致错误执行结果的可能性,降低用户对不完全可信的第三方外包存储和计算的验证开销。
6.一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4任一项所述的一种基于雾区块链和属性加密的细粒度访问控制方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4任一项所述的一种基于雾区块链和属性加密的细粒度访问控制方法。
CN202210637715.2A 2022-06-08 2022-06-08 基于雾区块链和属性加密的细粒度访问控制方法及系统 Active CN114710370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210637715.2A CN114710370B (zh) 2022-06-08 2022-06-08 基于雾区块链和属性加密的细粒度访问控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210637715.2A CN114710370B (zh) 2022-06-08 2022-06-08 基于雾区块链和属性加密的细粒度访问控制方法及系统

Publications (2)

Publication Number Publication Date
CN114710370A CN114710370A (zh) 2022-07-05
CN114710370B true CN114710370B (zh) 2022-11-04

Family

ID=82177965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210637715.2A Active CN114710370B (zh) 2022-06-08 2022-06-08 基于雾区块链和属性加密的细粒度访问控制方法及系统

Country Status (1)

Country Link
CN (1) CN114710370B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117081803A (zh) * 2023-08-17 2023-11-17 云南财经大学 基于区块链的物联网密文访问控制方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111079191A (zh) * 2020-01-09 2020-04-28 内蒙古大学 一种基于区块链的cp-abe访问控制方案
CN111431897B (zh) * 2020-03-23 2022-05-10 齐鲁工业大学 用于云协助物联网的带追踪的多属性机构属性基加密方法
CN112087422A (zh) * 2020-07-28 2020-12-15 南京航空航天大学 一种边缘计算中基于属性加密的外包访问控制方法
CN112487443A (zh) * 2020-11-11 2021-03-12 昆明理工大学 一种基于区块链的能源数据细粒度访问控制方法
CN113193953B (zh) * 2021-04-16 2022-09-02 南通大学 一种基于区块链的多权威属性基加密方法
CN113360925B (zh) * 2021-06-04 2024-04-30 中国电力科学研究院有限公司 电力信息物理系统中可信数据的存储和访问方法及系统

Also Published As

Publication number Publication date
CN114710370A (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
US10924284B2 (en) System and method for decentralized-identifier authentication
US11356285B2 (en) Distributed key management for trusted execution environments
WO2021000419A1 (en) System and method for blockchain-based cross-entity authentication
US20190238311A1 (en) Blockchain system and data processing method for blockchain system
CN111797159A (zh) 数据库中的信息管理和访问控制
CN113328997B (zh) 联盟链跨链系统及方法
CN115296838B (zh) 基于区块链的数据共享方法、系统及存储介质
CN114205136A (zh) 一种基于区块链技术的交通数据资源共享方法及系统
JP2023524715A (ja) ネットワーク間の識別情報プロビジョニング
CN114710370B (zh) 基于雾区块链和属性加密的细粒度访问控制方法及系统
US11856092B2 (en) Limiting data availability on distributed ledger
Huynh et al. A reliability guaranteed solution for data storing and sharing
CN110276693B (zh) 保险理赔方法及系统
CN114239043A (zh) 一种基于区块链技术构建的共享加密存储系统
CN115599773B (zh) 分布式资源转移方法、装置、系统与计算机设备
US20230403161A1 (en) Aggregate anonymous credentials for decentralized identity in blockchain
CN116248283A (zh) 区块链平台的多重签名方法、多重签名验证方法以及装置
CN114363362A (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