CN117614610B - 基于区块链和属性基加密的访问控制方法 - Google Patents

基于区块链和属性基加密的访问控制方法 Download PDF

Info

Publication number
CN117614610B
CN117614610B CN202410093152.4A CN202410093152A CN117614610B CN 117614610 B CN117614610 B CN 117614610B CN 202410093152 A CN202410093152 A CN 202410093152A CN 117614610 B CN117614610 B CN 117614610B
Authority
CN
China
Prior art keywords
committee
key
attribute
user
request
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
CN202410093152.4A
Other languages
English (en)
Other versions
CN117614610A (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN202410093152.4A priority Critical patent/CN117614610B/zh
Publication of CN117614610A publication Critical patent/CN117614610A/zh
Application granted granted Critical
Publication of CN117614610B publication Critical patent/CN117614610B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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 key encryption key
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/3247Cryptographic 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 digital signatures
    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Abstract

本发明公开了一种基于区块链和属性基加密的访问控制方法,属于访问控制方法技术领域,本发明实现基于委员会的属性基加密:将属性机构修改为由多个节点组成的委员会,并对委员会初始化、属性密钥发布进行设计;委员会内通过两轮投票生成密钥,增强容错能力,确保委员会可以容忍1/3个拜占庭节点。本发明应用基于委员会的属性基加密实现云存储场景中的去中心化访问控制:将基于委员会的属性基加密应用于发布用户属性密钥、加密会话密钥阶段,实现云端数据加密传输;将用户属性信息、密文哈希值等信息记录在区块链上,保证完整性、不可篡改。

Description

基于区块链和属性基加密的访问控制方法
技术领域
本发明属于访问控制方法技术领域,具体涉及一种基于区块链和属性基加密的访问控制方法。
背景技术
属性基加密(Attribute-Based Encryption,ABE)将密文、密钥与属性集合、访问结构相关联,当且仅当属性集合满足访问结构的时候,方能解密成功。在传统的公钥加密中,加密方需要为个用户加密数据/>次。而ABE允许加密方根据目标用户的属性的加密数据,且对于/>个用户只需执行1次加密,无需关注接收者的身份,只有符合属性要求的用户才能解密密文,该特点使ABE适用于云环境下数据共享等海量用户、多种访问权限的场景。
传统的ABE算法使用一个中心化的属性机构,用户需要从该机构处获得属性密钥,但在实际情况下,设置一个管理全局属性的属性机构是不现实的,因此提出了多机构的属性基加密方案被(Multi-Authority Attribute-Based Encryption,MA-ABE)。MA-ABE使用多个独立的属性机构,分别管理不同的属性集合。虽然MA-ABE方案将单一属性机构拆分为多个机构,但每个机构在本质上仍然是中心化的,对容错能力提升有限。如果其中的某一属性机构出现崩溃错误,用户无法得到由该机构管理的属性密钥,系统的可用性仍然无法得到保证。此外,在敌手的攻击下,密钥颁发过程中的消息可能被篡改、伪造,产生拜占庭错误,也会破坏系统的可用性。因此,将传统ABE算法用于访问控制系统,中心化的属性机构会成为该系统的性能瓶颈,影响系统的可用性、可扩展性。
针对传统属性基加密算法容错能力低、基于传统ABE的访问控制系统中心化程度过高的问题,本方法提出基于委员会的属性基加密算法,并将其应用于去中心化的访问控制系统。首先,使用由多个节点组成的属性委员会代替单一的属性机构。每次为用户颁发密钥时,由领导者提出一个密钥,委员会内部对该密钥进行两轮投票,最终生成的密钥通过多于的节点的验证。用户在收到属性密钥后可以根据委员会对该密钥的签名验证该密钥,确保用户收到密钥的正确性,增强了容错能力。
发明内容
有鉴于此,本发明的目的在于提供一种基于区块链和属性基加密的访问控制方法,本发明实现基于委员会的属性基加密算法,将属性机构修改为由多个节点组成的委员会,并对委员会初始化、属性密钥颁发进行设计;委员会颁发密钥时,使用门限签名(Threshold Signature,TS)进行两轮投票,确保委员会可以容忍个拜占庭节点,保证颁发密钥的正确性。本发明应用基于委员会的属性基加密算法实现去中心化的访问控制,将基于委员会的属性基加密用于颁发用户属性密钥、加密对称密钥,实现云端数据的加密传输;将用户属性信息、密文的完整性证据等信息记录在区块链上,保证数据的完整性、不可篡改。
为达到上述目的,本发明提供如下技术方案:
一种基于区块链和属性基加密的访问控制方法,包括以下步骤:
S1:构建基于委员会的ABE方法;
S2:初始化阶段:进行全局初始化和委员会初始化;
S3:用户注册阶段:用户构造注册请求,发送给委员会,注册请求中请求包含用户的属性集合和用户身份标识;委员会收到注册请求后,生成包含该注册请求的交易,运行共识算法,共识完成后将注册请求上链;
S4:密钥生成阶段:用户向委员会发出请求,委员会内部由领导者提议密钥,委员会成员验证该密钥进行两轮投票,每轮需要超过个节点验证通过,最终为用户颁发属性密钥,用户验证密钥对应的聚合签名;
S5:数据上传阶段:数据拥有者使用对称密钥加密原始消息,再使用访问矩阵、委员会的公钥加密该对称密钥,向委员会发送上传请求,将密文上传到服务器;
S6:用户访问阶段:用户上传访问请求,获得密文后使用访问矩阵对应的属性密钥解密,得到明文。
进一步,步骤S1所述基于委员会的ABE方法包括以下步骤:
S11:全局初始化:输入安全参数/>,输出全局参数/>
S12:委员会初始化:属性委员会/>包括/>个节点,维护属性集合/>,输入全局参数/>,输出私钥/>、公钥/>、节点进行门限签名的公私钥份额/>和委员会的总公钥/>
S13:加密:输入消息/>、访问矩阵/>、与访问矩阵中属性对应的委员会的公钥/>,输出密文/>
S14:密钥生成:输入用户属性/>、用户标识/>、私钥/>,输出属性密钥以及委员会对该密钥的聚合签名;由领导者生成密钥,委员会内每个节点进行验证,经过两轮投票后,超过/>的节点验证通过后将密钥颁发给用户;
S15:解密:输入密文/>、属性密钥集合/>,用户使用对应的访问策略解密,输出消息/>
进一步,步骤S2具体包括以下步骤:
S21:全局初始化:在管理属性的所有节点中运行委员会选举算法,从中选举出委员会;在委员会/>内部运行领导者选举算法,选举出领导者/>;初始化HotStuff算法及其相关的密码学参数,在委员会内生成门限签名的公私钥份额和总公钥/>,由委员会/>维护区块链;/>调用/>,生成属性基加密算法的全局参数/>;初始化委员会管理的属性集合/>,根据现实情况为用户分配属性;
S22:委员会初始化:调用/>,得到属性基加密算法的对应于属性集合/>的私钥/>和公钥/>;将参数/>、集合/>、属性基加密算法的公钥和门限签名算法的总公钥/>构造为交易/>,运行HotStuff算法,在委员会节点之间对该参数达成共识,并得到共识结果/>,每个节点写入本地作为属性基加密算法、门限签名的全局参数。
进一步,步骤S3具体包括以下步骤:
S31:用户发送注册请求:待注册的用户自行调用密钥生成算法,生成公私钥对;用户/>将自己的公钥/>,自身的属性信息/>,全局标识符/>,时间戳,打包为注册请求/>;使用/>签名该请求得到,将请求/>发送到委员会;
S32:委员会记录注册请求:领导者收到/>后,使用/>的公钥/>验证用户签名,检查时间戳/>判断消息是否有效;查询链上存储的数据,验证该/>是否对应属性/>,以及该/>是否已被注册;领导者/>将请求/>构造为/>,运行HotStuff算法,领导者/>提议该请求,在委员会节点/>之间对该请求达成共识,并得到共识结果;具体过程为:节点收到提议后,首先根据用户/>在本地查找该用户是否具有对应属性/>,然后检查该用户是否已被注册;如果节点/>对/>的哈希值生成门限签名份额/>,发送给领导者/>;若验证不通过,则对空值/>签名,生成签名份额/>,发送给/>;领导者/>收集到至少/>个合法签名份额后,聚合得到对/>的完整签名作为准备证书,并向所有节点广播/>;节点/>收到后,验证该准备证书是否对应于/>,进行投票,生成门限签名份额,发送给领导者/>;若不同意,则对空值/>签名,生成签名份额/>,发送给/>;领导者/>收集到至少/>个合法签名份额后,聚合得到完整签名/>作为承诺证书,;将对/>的完整签名/>用/>表示,每个节点将/>写入本地区块链上。
进一步,步骤S4包括以下步骤:
S41:用户发送密钥请求:用户构造密钥请求,包含用户属性和GID,发送到委员会;
S42:委员会记录密钥请求:委员会收到请求后,生成包含该请求的交易,委员会运行共识算法,节点验证该请求中的用户属性后,将其上链;
S43:委员会生成密钥:领导者节点在查询到链上包含密钥请求的交易后,根据用户属性、用户生成密钥,在委员会内提出密钥,经过两轮投票后对密钥达成共识,向用户返回密钥和对应的聚合签名;
S44:用户验证密钥:用户收到密钥后,验证聚合后的签名;签名验证通过,则用户确认超过的委员会节点已验证该密钥。
进一步,步骤S5具体包括以下步骤:
S51:数据拥有者第一次加入系统时需要从链上获取当前委员会管理的属性集合,并生成公私钥对,提交公钥;
S52:数据拥有方加密:数据拥有者使用对称密钥加密原始文件,将对称密钥进行属性基加密,密文包括对称加密的密文和属性基加密的密文;
S53:数据拥有者上传密文:数据拥有者上传密文到云服务器,得到密文存储地址,计算密文的哈希值,构造上传请求,其中包含密文存储地址和密文的哈希值,向委员会发送该请求。云服务器收到上传的密文后,验证密文完整性;
S54:委员会记录上传请求:委员会收到数据拥有者发送的上传请求,生成包含上传请求的交易,运行共识算法,共识完成后上链;
S55:云服务器存储密文:云服务器查询到链上对应的上传请求后,云服务器将存储对应的密文。
进一步,步骤S6具体包括以下步骤:
S61:用户发送访问请求:用户从区块链上查询对应的上传记录,发送访问请求;
S62:委员会记录访问请求:委员会收到请求,生成包含该请求的交易,运行共识,共识结束后上链;
S63:云服务器发送密文:云服务器查询到链上存在对应的访问请求后向用户发送密文;
S64:用户解密密文:用户先根据密文哈希验证密文的完整性,然后使用属性密钥解密密文,得到对称密钥,最后解密得到原始数据。
本发明的有益效果在于:1)设计基于委员会的属性基加密算法,解决传统ABE的中心化问题,更适合在分布式的场景中使用。2)使用委员会代替属性机构,在密钥生成时通过两轮投票,增强容错能力,确保委员会可以容忍1/3个拜占庭节点。3)应用基于委员会的属性基加密算法和区块链实现访问控制,解决传统访问控制系统中心化架构存在的单点故障、信任集中等问题。4)使用区块链存储访问控制系统中的各种记录,保证访问记录、完整性证据的不可篡改。
本发明的其他优点、目标和特征将在随后的说明书中进行阐述,并且在某种程度上对本领域技术人员而言是显而易见的,或者本领域技术人员可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明所述基于区块链和属性基加密的访问控制方法总体流程图;
图2为本发明所述访问控制协议总体架构图;
图3为本发明所述属性基加密算法流程图;
图4为本发明所述访问控制协议总体流程图。
具体实施方式
如图1~4所示,本发明提供一种基于区块链和属性基加密的访问控制方法,分为两部分,第一部分为提供一种基于委员会的ABE算法,包括步骤1~7,具体步骤如下:
步骤1:全局初始化:
是长度为/>的素数,构造合数阶双线性群/>,阶数为/>,/>的子群的生成元/>。/>将/>映射为/>中的元素,令/>
步骤2:委员会初始化:
委员会包括/>个节点,需要预先执行门限签名初始化算法/>得到相关参数,并执行门限签名的密钥生成算法/>,门限值为/>,每个节点/>生成公私钥份额/>,以及/>聚合得到的委员会总公钥/>
委员会内所有节点共同维护的属性集合为/>,对于每个属性/>,委员会领导者/>随机选择/>,计算/>,令/>,委员会/>中的每个节点/>都保存该/>和/>
步骤3:加密:
矩阵是一个/>的矩阵,使用/>加密消息/>,/>是将矩阵的行/>映射到属性的映射函数,令/>,执行如下操作:
(1)随机选择,,以/>为首项的列向量/>,以0为首项的列向量/>,计算/>
(2)对于中的行/>,随机选择/>,计算/>,计算密文
(3)返回密文
步骤4:密钥生成:
委员会中的节点/>,运行共识算法生成密钥,令/>,计算
(1)领导者计算/>,在委员会内广播提议
(2)节点收到提议后,根据属性/>和用户/>,计算/>。如果,节点对/>的哈希值生成门限签名份额,发送给领导者/>;若不同意,则对空值/>签名,生成签名份额/>,发送给/>
(3)领导者收集到至少/>个合法签名份额后,聚合得到对/>的完整签名作为准备证书/>,并向所有节点广播
(4)节点收到后,验证该准备证书是否对应于/>,进行投票,生成门限签名份额/>,发送给领导者/>;若不同意,则对空值/>签名,生成签名份额/>,发送给/>
(5)领导者收集到至少/>个合法签名份额后,聚合得到完整签名作为承诺证书,/>,输出/>
步骤5:解密:
加密方使用访问矩阵加密数据,解密方拥有属性密钥/>,进行如下计算:
(1)对于每一行,设/>,用户计算:
(2)选择,使其满足/>,则。计算
(3)输出明文
本发明的第二部分提供一种访问控制协议,分为五个阶段。
第一阶段为初始化,属性委员会初始化生成全局参数;委员会对区块链、维护的属性集合初始化,执行委员会初始化生成节点的公私钥,生成门限签名的公私钥份额以及委员会的总公钥;用户在加入系统时需要进行注册,向委员会发出注册请求,经委员会对注册信息达成共识后生成交易上链。
第二阶段为用户注册阶段,
第三阶段为密钥生成阶段,用户向委员会发出请求,委员会内部由领导者提议密钥,委员会成员验证该密钥进行两轮投票,每轮需要超过个节点验证通过,最终为用户颁发属性密钥,用户验证密钥对应的聚合签名。
第四阶段为数据上传阶段,数据拥有者使用对称密钥加密原始消息,再使用访问矩阵、委员会的公钥加密该对称密钥,向委员会发送上传请求,将密文上传到服务器。
第五阶段为用户访问阶段,用户上传访问请求,获得密文后使用访问矩阵对应的属性密钥解密,得到明文。
阶段1:初始化:包括步骤1~2,进行全局初始化、委员会初始化。
步骤1:全局初始化
(1)在管理属性的所有节点中运行委员会选举算法,从中选举出委员会。在委员会/>内部运行领导者选举算法,选举出领导者/>
(2)初始化HotStuff算法及其相关的密码学参数,在委员会内生成门限签名的公私钥份额和总公钥,由委员会/>维护区块链。
(3)调用/>,生成属性基加密算法的全局参数/>。初始化委员会管理的属性集合/>,根据现实情况为用户分配属性。
步骤2:委员会初始化
(1)调用/>,得到属性基加密算法的对应于属性集合/>的私钥/>和公钥/>
(2)将参数、集合/>、属性基加密算法的公钥/>和门限签名算法的总公钥/>构造为交易/>,运行HotStuff算法,在委员会节点之间对该参数达成共识,并得到共识结果,每个节点写入本地作为属性基加密算法、门限签名的全局参数。
阶段2:用户注册:包括步骤3~4,用户发送请求、委员会上链。
步骤3:发送注册请求
(1)待注册的用户自行调用密钥生成算法,生成公私钥对/>
(2)用户将自己的公钥/>,自身的属性信息/>,全局标识符/>,时间戳,打包为注册请求/>。使用/>签名该请求得到,将请求/>发送到委员会。
步骤4:记录注册请求
(1)领导者收到/>后,使用/>的公钥/>验证用户签名,检查时间戳判断消息是否有效。查询链上存储的数据,验证该/>是否对应属性/>,以及该/>是否已被注册。
(2)领导者将请求/>构造为/>,运行HotStuff算法,领导者/>提议该请求,在委员会节点/>之间对该请求达成共识,并得到共识结果。具体过程为:节点收到提议后,首先根据用户/>在本地查找该用户是否具有对应属性/>,然后检查该用户是否已被注册。如果,节点/>对/>的哈希值生成门限签名份额/>,发送给领导者/>;若验证不通过,则对空值/>签名,生成签名份额,发送给/>。领导者/>收集到至少/>个合法签名份额后,聚合得到对/>的完整签名作为准备证书,并向所有节点广播/>。节点/>收到后,验证该准备证书是否对应于/>,进行投票,生成门限签名份额,发送给领导者/>;若不同意,则对空值/>签名,生成签名份额/>,发送给/>。领导者/>收集到至少/>个合法签名份额后,聚合得到完整签名/>作为承诺证书,。将对/>的完整签名/>用/>表示,每个节点将/>写入本地区块链上。
阶段3:密钥生成:包括步骤5~8,用户发出密钥请求,委员会将密钥请求上链,委员会生成属性密钥及对应的聚合签名,该属性密钥与用户属性、绑定以防止用户合谋攻击,用户使用委员会的总公钥进行验证。
步骤5:用户发出密钥请求
用户将全局标识符,属性集合/>和时间戳/>,构造密钥请求,签名后将/>发送给委员会的/>
步骤6:记录密钥请求
(1)领导者使用/>的公钥/>验证注册请求的签名,检查时间戳/>判断消息是否有效,并验证该/>是否具有对应的属性,验证通过后继续执行。
(2)领导者生成包含/>的交易/>,进行签名,运行HotStuff算法,在委员会节点之间对该参数达成共识,并得到共识结果/>,共识的具体过程和记录注册请求的共识过程相同,最后每个节点将/>写入本地区块链上。
步骤7:颁发密钥
在链上查询到包含密钥请求的交易后,获得用户属性集合/>。对,在委员会内运行/>,由/>提议属性密钥,其他节点对密钥进行投票,最终委员会对每次生成的密钥达成共识,将属性/>对应的密钥/>、对该密钥的完整签名/>和时间戳/>打包,返回给用户。
步骤8:验证密钥
(1)用户查询链上信息,获得委员会门限签名的总公钥,使用总公钥/>验证签名/>,验证其中包含的属性密钥的哈希值是否对应于/>。检查时间戳/>,判断消息是否有效。
(2)验证通过,则用户确认该密钥为属性对应的密钥;否则,向委员会再次发送请求。
阶段4:数据上传:包括步骤9~13,数据拥有方加密数据,上传密文到云服务器同时上传完整性证据到委员会,云服务器验证密文完整性。
步骤9:数据拥有方加入系统
如果数据拥有方是第一次加入系统,执行如下操作:
(1)从链上获取属性基加密算法的公钥和委员会管理的属性集合/>
(2)自行调用密钥生成算法,生成公私钥对
步骤10:数据拥有方加密
(1)生成对称密钥,调用对称加密算法/>,得到/>
(2)根据数据的性质,自定义数据的访问策略,其中/>为/>的矩阵。
(3)调用,其中/>是对称密钥。
步骤11:密文上传
(1)数据拥有方设置数据的/>,计算/>,上传/>到云服务器/>,其中/>
(2)云服务器收到密文后,首先验证对应密文的完整性,如果/>,向用户返回错误信息;如果/>,为该密文预分配存储空间,得到存储地址/>,返回给数据拥有方。
(2)数据拥有方,构造请求/>,签名后将发送给委员会。
步骤12:记录上传请求
(1)领导者使用/>的公钥/>验证上传请求/>的签名,验证通过后检查时间戳/>判断请求是否有效,验证通过后继续执行。
(2)领导者生成包含/>的交易/>,进行签名,运行HotStuff算法,在委员会节点/>之间对该交易达成共识,并得到共识结果/>,共识的具体过程和记录注册请求的共识过程相同,每个节点将/>写入本地区块链上。
步骤13:服务器存储密文
云服务器在链上查找到/>对应的上传请求后,确定存储对应密文,向用户返回存储成功的信息。
阶段5:数据访问:包括步骤14~17,用户向云服务器发送访问请求,获得密文后解密。
步骤14:发送访问请求
(1)用户根据数据/>查询链上数据,得到密文的哈希值/>,文件地址/>
(2)构造访问请求,签名后将/>发送给委员会和云服务器/>
步骤15:记录访问请求
(1)领导者使用/>的公钥/>验证访问请求的签名,检查时间戳/>判断请求是否有效,并验证该请求与链上存储的哈希值/>及文件地址/>是否一致,验证通过后继续执行。
(2)领导者生成包含/>的交易/>,进行签名,运行HotStuff算法,在委员会节点之间对该交易达成共识,并得到共识结果/>,共识的具体过程和记录注册请求的共识过程相同,每个节点将/>写入本地区块链上。
步骤16:发送密文
(1)云服务器收到后使用/>的公钥/>验证用户签名,查询区块链,验证链上是否已记录用户对应的访问请求/>
(2)若存在匹配的请求,允许用户从云服务器获取数据,将发送给用户/>;否则拒绝向该用户提供服务。
步骤17:用户解密密文
用户收到云服务器/>发送的密文/>
(1)验证密文的完整性,如果,输出/>;如果/>,继续解密。
(2)用户从密文中获得访问策略,选择满足访问策略的属性密钥/>,调用/>进行解密,得到对称密钥/>
(3)使用对称密钥,调用/>解密/>得到/>
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

Claims (4)

1.一种基于区块链和属性基加密的访问控制方法,其特征在于:包括以下步骤:
S1:构建基于委员会的ABE方法;
S2:初始化阶段:进行全局初始化和委员会初始化;
S3:用户注册阶段:用户构造注册请求,发送给委员会,注册请求中包含用户的属性集合和用户身份标识;委员会收到注册请求后,生成包含该注册请求的交易,运行共识算法,共识完成后将注册请求上链;
S4:密钥生成阶段:用户向委员会发出请求,委员会内部由领导者提议密钥,委员会成员验证该密钥进行两轮投票,每轮需要超过2f+1个节点验证通过,最终为用户颁发属性密钥,用户验证密钥对应的聚合签名;
S5:数据上传阶段:数据拥有者使用对称密钥加密原始消息,再使用访问矩阵、委员会的公钥加密该对称密钥,向委员会发送上传请求,将密文上传到服务器;
S6:用户访问阶段:用户上传访问请求,获得密文后使用访问矩阵对应的属性密钥解密,得到明文;
步骤S1所述基于委员会的ABE方法包括以下步骤:
S11:全局初始化GlobalSetup:输入安全参数1κ,输出全局参数GP;
S12:委员会初始化CommitteeSetup:属性委员会AC包括n个节点,维护属性集合S,输入全局参数GP,输出私钥SK、公钥PK、节点进行门限签名的公私钥份额pki,ski和委员会的总公钥pkt
S13:加密Encrypt:输入消息M、访问矩阵(A,ρ)、与访问矩阵中属性对应的委员会的公钥PK,输出密文CT;
S14:密钥生成KeyGen:输入用户属性k、用户标识GID、私钥SK,输出属性密钥以及委员会对该密钥的聚合签名;由领导者生成密钥,委员会内每个节点进行验证,经过两轮投票后,2f+1个节点验证通过后将密钥颁发给用户;
S15:解密Decrypt:输入密文CT、属性密钥集合{Ki,GID},用户使用对应的访问策略解密,输出消息M;
步骤S2具体包括以下步骤:
S21:全局初始化:在管理属性的所有节点中运行委员会选举算法,从中选举出委员会AC;在委员会AC内部运行领导者选举算法,选举出领导者ACleader;初始化HotStuff算法及其相关的密码学参数,在委员会内生成门限签名的公私钥份额和总公钥({pki,ski},pkt),由委员会AC维护区块链;ACleader调用GlobalSetup(1κ)→GP,生成属性基加密算法的全局参数GP;初始化委员会管理的属性集合S={S1,...,Sn},根据现实情况为用户分配属性;
S22:委员会初始化:ACleader调用CommitteeSetup(GP)→(SK,PK),得到属性基加密算法的对应于属性集合S的私钥SK和公钥PK;将参数GP、集合S、属性基加密算法的公钥PK和门限签名算法的总公钥pkt构造为交易tx,运行HotStuff算法,在委员会节点之间对该参数达成共识,并得到共识结果(GP,S,PK,pkt,<H(GP||S||PK||pkt)>CM),每个节点将共识结果写入本地作为属性基加密算法、门限签名的全局参数;
步骤S3具体包括以下步骤:
S31:用户发送注册请求:待注册的用户U自行调用密钥生成算法,生成公私钥对(skU,pkU);用户U将自己的公钥pkU,自身的属性信息(a1,...,an),全局标识符GID,时间戳Timestamp,打包为注册请求RR=(GID,a1,...,an,pkU,Timestamp);使用skU签名该请求得到将请求/>发送到委员会;
S32:委员会记录注册请求:领导者ACleader收到RR后,使用U的公钥pkU验证用户签名,检查时间戳Timestamp判断消息是否有效;查询链上存储的数据,验证该GID是否对应属性(a1,...,an),以及该GID是否已被注册;领导者ACleader将请求RR构造为tx,运行HotStuff算法,领导者ACleader提议该请求,在委员会节点ACi之间对该请求达成共识,并得到共识结果;具体过程为:节点收到提议后,首先根据用户GID在本地查找该用户是否具有对应属性k,然后检查该用户是否已被注册;如果验证用户属性合法且未被注册,节点ACi对RR的哈希值生成门限签名份额发送给领导者ACleader;若验证不通过,则对空值Null签名,生成签名份额/>发送给ACleader;领导者ACleader收集到至少2f+1个合法签名份额后,聚合得到对H(RR)的完整签名作为准备证书并向所有节点广播(H(RR),σPrepare);节点ACi收到后,验证该准备证书是否对应于H(RR),进行投票,若同意该用户注册,则生成门限签名份额发送给领导者ACleader;若不同意,则对空值Null签名,生成签名份额/>发送给ACleader;领导者ACleader收集到至少2f+1个合法签名份额后,聚合得到完整签名σCommit作为承诺证书,/> 将对H(RR)的完整签名σCommit用<H(RR)>CM表示,每个节点将(RR,<H(RR)>CM)写入本地区块链上。
2.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S4包括以下步骤:
S41:用户发送密钥请求:用户构造密钥请求,包含用户属性和GID,发送到委员会;
S42:委员会记录密钥请求:委员会收到请求后,生成包含该请求的交易,委员会运行共识算法,节点验证该请求中的用户属性后,将其上链;
S43:委员会生成密钥:领导者节点在查询到链上包含密钥请求的交易后,根据用户属性、用户GID生成密钥,在委员会内提出密钥,经过两轮投票后对密钥达成共识,向用户返回密钥和对应的聚合签名;
S44:用户验证密钥:用户收到密钥后,验证聚合后的签名;签名验证通过,则用户确认超过2/3的委员会节点已验证该密钥。
3.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S5具体包括以下步骤:
S51:数据拥有者第一次加入系统时需要从链上获取当前委员会管理的属性集合,并生成公私钥对,提交公钥;
S52:数据拥有方加密:数据拥有者使用对称密钥加密原始文件,将对称密钥进行属性基加密,密文包括对称加密的密文和属性基加密的密文;
S53:数据拥有者上传密文:数据拥有者上传密文到云服务器,得到密文存储地址,计算密文的哈希值,构造上传请求,其中包含密文存储地址和密文的哈希值,向委员会发送该请求;云服务器收到上传的密文后,验证密文完整性;
S54:委员会记录上传请求:委员会收到数据拥有者发送的上传请求,生成包含上传请求的交易,运行共识算法,共识完成后上链;
S55:云服务器存储密文:云服务器查询到链上对应的上传请求后,云服务器将存储对应的密文。
4.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S6具体包括以下步骤:
S61:用户发送访问请求:用户从区块链上查询对应的上传记录,发送访问请求;
S62:委员会记录访问请求:委员会收到请求,生成包含该请求的交易,运行共识,共识结束后上链;
S63:云服务器发送密文:云服务器查询到链上存在对应的访问请求后向用户发送密文;
S64:用户解密密文:用户先根据密文哈希验证密文的完整性,然后使用属性密钥解密密文,得到对称密钥,最后解密得到原始数据。
CN202410093152.4A 2024-01-23 2024-01-23 基于区块链和属性基加密的访问控制方法 Active CN117614610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410093152.4A CN117614610B (zh) 2024-01-23 2024-01-23 基于区块链和属性基加密的访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410093152.4A CN117614610B (zh) 2024-01-23 2024-01-23 基于区块链和属性基加密的访问控制方法

Publications (2)

Publication Number Publication Date
CN117614610A CN117614610A (zh) 2024-02-27
CN117614610B true CN117614610B (zh) 2024-04-02

Family

ID=89950276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410093152.4A Active CN117614610B (zh) 2024-01-23 2024-01-23 基于区块链和属性基加密的访问控制方法

Country Status (1)

Country Link
CN (1) CN117614610B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416708A (zh) * 2020-03-16 2020-07-14 北京有链科技有限公司 一种区块链拜占庭容错共识方法及系统
CN116112244A (zh) * 2023-01-13 2023-05-12 重庆邮电大学 一种基于区块链和属性基加密的访问控制方法
CN117201132A (zh) * 2023-09-11 2023-12-08 北京航空航天大学 一种完全去中心化的多委员会属性基加密方法及其应用

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230063640A (ko) * 2021-11-02 2023-05-09 한국전자통신연구원 속성 기반 암호를 이용한 분산형 데이터 관리 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416708A (zh) * 2020-03-16 2020-07-14 北京有链科技有限公司 一种区块链拜占庭容错共识方法及系统
CN116112244A (zh) * 2023-01-13 2023-05-12 重庆邮电大学 一种基于区块链和属性基加密的访问控制方法
CN117201132A (zh) * 2023-09-11 2023-12-08 北京航空航天大学 一种完全去中心化的多委员会属性基加密方法及其应用

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Blockchain-enabled Data Governance for Privacy-Preserved Sharing of Confidential Data;Jingchi Zhang等;arXiv:2309.04125v1;20230908;第1-23页 *
Building Blocks of Sharding Blockchain Systems: Concepts, Approaches, and Open Problems;Yizhong Liu等;arXiv:2102.13364v1;20210226;第1-53页 *
基于属性基加密的区块链隐私保护与访问控制方法;汪金苗;谢永恒;王国威;李易庭;;信息网络安全;20200910(第09期);全文 *

Also Published As

Publication number Publication date
CN117614610A (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
CN112019591B (zh) 一种基于区块链的云数据共享方法
CN110636500B (zh) 支持跨域数据共享的访问控制系统及方法、无线通信系统
CN109145612B (zh) 基于区块链实现防数据篡改、用户共谋的云数据共享方法
Zhu et al. A secure anti-collusion data sharing scheme for dynamic groups in the cloud
CN104901942A (zh) 一种基于属性加密的分布式访问控制方法
Guo et al. TABE-DAC: Efficient traceable attribute-based encryption scheme with dynamic access control based on blockchain
CN111147460B (zh) 一种基于区块链的协同细粒度访问控制方法
KR20190012969A (ko) 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법
CN114039790B (zh) 一种基于区块链的细粒度云存储安全访问控制方法
CN113761582B (zh) 基于群签名的可监管区块链交易隐私保护方法及系统
CN112784306B (zh) 一种基于密钥分片多签的跨链托管方法及系统
CN111431897B (zh) 用于云协助物联网的带追踪的多属性机构属性基加密方法
CN110830244A (zh) 基于身份秘密共享和联盟链的抗量子计算车联网方法及系统
CN112383550A (zh) 一种基于隐私保护的动态权限访问控制方法
CN117201132A (zh) 一种完全去中心化的多委员会属性基加密方法及其应用
Sammy et al. An efficient blockchain based data access with modified hierarchical attribute access structure with CP-ABE using ECC scheme for patient health record
CN113360944B (zh) 一种电力物联网的动态访问控制系统与方法
CN117200966A (zh) 一种基于分布式身份和联盟链的可信授权数据共享方法
CN115883102B (zh) 基于身份可信度的跨域身份认证方法、系统及电子设备
Noh et al. A novel user collusion-resistant decentralized multi-authority attribute-based encryption scheme using the deposit on a blockchain
CN117614610B (zh) 基于区块链和属性基加密的访问控制方法
Zhang et al. A revocable multi-authority fine-grained access control architecture against ciphertext rollback attack for mobile edge computing
CN106612173A (zh) 云存储中一种可信任密钥的加密方案
CN114629640A (zh) 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法
CN111585756A (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