System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于区块链和属性基加密的访问控制方法技术_技高网

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

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

【技术实现步骤摘要】

本专利技术属于访问控制方法,具体涉及一种基于区块链和属性基加密的访问控制方法


技术介绍

1、属性基加密(attribute-based encryption,abe)将密文、密钥与属性集合、访问结构相关联,当且仅当属性集合满足访问结构的时候,方能解密成功。在传统的公钥加密中,加密方需要为个用户加密数据次。而abe允许加密方根据目标用户的属性的加密数据,且对于个用户只需执行1次加密,无需关注接收者的身份,只有符合属性要求的用户才能解密密文,该特点使abe适用于云环境下数据共享等海量用户、多种访问权限的场景。

2、传统的abe算法使用一个中心化的属性机构,用户需要从该机构处获得属性密钥,但在实际情况下,设置一个管理全局属性的属性机构是不现实的,因此提出了多机构的属性基加密方案被(multi-authority attribute-based encryption,ma-abe)。ma-abe使用多个独立的属性机构,分别管理不同的属性集合。虽然ma-abe方案将单一属性机构拆分为多个机构,但每个机构在本质上仍然是中心化的,对容错能力提升有限。如果其中的某一属性机构出现崩溃错误,用户无法得到由该机构管理的属性密钥,系统的可用性仍然无法得到保证。此外,在敌手的攻击下,密钥颁发过程中的消息可能被篡改、伪造,产生拜占庭错误,也会破坏系统的可用性。因此,将传统abe算法用于访问控制系统,中心化的属性机构会成为该系统的性能瓶颈,影响系统的可用性、可扩展性。

3、针对传统属性基加密算法容错能力低、基于传统abe的访问控制系统中心化程度过高的问题,本方法提出基于委员会的属性基加密算法,并将其应用于去中心化的访问控制系统。首先,使用由多个节点组成的属性委员会代替单一的属性机构。每次为用户颁发密钥时,由领导者提出一个密钥,委员会内部对该密钥进行两轮投票,最终生成的密钥通过多于的节点的验证。用户在收到属性密钥后可以根据委员会对该密钥的签名验证该密钥,确保用户收到密钥的正确性,增强了容错能力。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种基于区块链和属性基加密的访问控制方法,本专利技术实现基于委员会的属性基加密算法,将属性机构修改为由多个节点组成的委员会,并对委员会初始化、属性密钥颁发进行设计;委员会颁发密钥时,使用门限签名(threshold signature,ts)进行两轮投票,确保委员会可以容忍个拜占庭节点,保证颁发密钥的正确性。本专利技术应用基于委员会的属性基加密算法实现去中心化的访问控制,将基于委员会的属性基加密用于颁发用户属性密钥、加密对称密钥,实现云端数据的加密传输;将用户属性信息、密文的完整性证据等信息记录在区块链上,保证数据的完整性、不可篡改。

2、为达到上述目的,本专利技术提供如下技术方案:

3、一种基于区块链和属性基加密的访问控制方法,包括以下步骤:

4、s1:构建基于委员会的abe方法;

5、s2:初始化阶段:进行全局初始化和委员会初始化;

6、s3:用户注册阶段:用户构造注册请求,发送给委员会,注册请求中请求包含用户的属性集合和用户身份标识;委员会收到注册请求后,生成包含该注册请求的交易,运行共识算法,共识完成后将注册请求上链;

7、s4:密钥生成阶段:用户向委员会发出请求,委员会内部由领导者提议密钥,委员会成员验证该密钥进行两轮投票,每轮需要超过个节点验证通过,最终为用户颁发属性密钥,用户验证密钥对应的聚合签名;

8、s5:数据上传阶段:数据拥有者使用对称密钥加密原始消息,再使用访问矩阵、委员会的公钥加密该对称密钥,向委员会发送上传请求,将密文上传到服务器;

9、s6:用户访问阶段:用户上传访问请求,获得密文后使用访问矩阵对应的属性密钥解密,得到明文。

10、进一步,步骤s1所述基于委员会的abe方法包括以下步骤:

11、s11:全局初始化:输入安全参数,输出全局参数;

12、s12:委员会初始化:属性委员会包括个节点,维护属性集合,输入全局参数,输出私钥、公钥、节点进行门限签名的公私钥份额和委员会的总公钥;

13、s13:加密:输入消息、访问矩阵、与访问矩阵中属性对应的委员会的公钥,输出密文;

14、s14:密钥生成:输入用户属性、用户标识、私钥,输出属性密钥以及委员会对该密钥的聚合签名;由领导者生成密钥,委员会内每个节点进行验证,经过两轮投票后,超过的节点验证通过后将密钥颁发给用户;

15、s15:解密:输入密文、属性密钥集合,用户使用对应的访问策略解密,输出消息。

16、进一步,步骤s2具体包括以下步骤:

17、s21:全局初始化:在管理属性的所有节点中运行委员会选举算法,从中选举出委员会;在委员会内部运行领导者选举算法,选举出领导者;初始化hotstuff算法及其相关的密码学参数,在委员会内生成门限签名的公私钥份额和总公钥,由委员会维护区块链;调用,生成属性基加密算法的全局参数;初始化委员会管理的属性集合,根据现实情况为用户分配属性;

18、s22:委员会初始化:调用,得到属性基加密算法的对应于属性集合的私钥和公钥;将参数、集合、属性基加密算法的公钥和门限签名算法的总公钥构造为交易,运行hotstuff算法,在委员会节点之间对该参数达成共识,并得到共识结果,每个节点写入本地作为属性基加密算法、门限签名的全局参数。

19、进一步,步骤s3具体包括以下步骤:

20、s31:用户发送注册请求:待注册的用户自行调用密钥生成算法,生成公私钥对;用户将自己的公钥,自身的属性信息,全局标识符,时间戳,打包为注册请求;使用签名该请求得到,将请求发送到委员会;

21、s32:委员会记录注册请求:领导者收到后,使用的公钥验证用户签名,检查时间戳判断消息是否有效;查询链上存储的数据,验证该是否对应属性,以及该是否已被注册;领导者将请求构造为,运行hotstuff算法,领导者提议该请求,在委员会节点之间对该请求达成共识,并得到共识结果;具体过程为:节点收到提议后,首先根据用户在本地查找该用户是否具有对应属性,然后检查该用户是否已被注册;如果节点对的哈希值生成门限签名份额,发送给领导者;若验证不通过,则对空值签名,生成签名份额,发送给;领导者收集到至少个合法签名份额后,聚合得到对的完整签名作为准备证书,并向所有节点广播;节点收到后,验证该准备证书是否对应于,进行投票,生成门限签名份额,发送给领导者;若不同意,则对空值签名,生成签名份额,发送给;领导者收集到至少个合法签名份额后,聚合得到完整签名作为承诺证书,;将对的完整签名用表示,每个节点将写入本地区块链上。

22、进一步,步骤s4包括以下步骤:

23、s41:用户发送密钥请求:用户构造密钥请求,包含用户属性和gid,发送到委员会;

24、s42:委员会记录密钥请求:委员会收到请求后,生成本文档来自技高网...

【技术保护点】

1.一种基于区块链和属性基加密的访问控制方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S1所述基于委员会的ABE方法包括以下步骤:

3.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S2具体包括以下步骤:

4.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S3具体包括以下步骤:

5.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S4包括以下步骤:

6.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S5具体包括以下步骤:

7.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤S6具体包括以下步骤:

【技术特征摘要】

1.一种基于区块链和属性基加密的访问控制方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤s1所述基于委员会的abe方法包括以下步骤:

3.根据权利要求1所述的基于区块链和属性基加密的访问控制方法,其特征在于:步骤s2具体包括以下步骤:

4.根据权利要求1所述的基于区块链和属性基加密的访问...

【专利技术属性】
技术研发人员:刘懿中秦榜宏刘建伟邢馨心张骞允李东禹李大伟关振宇
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1