一种基于区块链和CP-ABE的分布式密钥生成方法
- 国知局
- 2024-11-25 15:11:06
本发明涉及区块链,具体涉及一种基于区块链和cp-abe的分布式密钥生成方法。
背景技术:
1、分布式密钥生成(distributedkey generation,dkg)协议作为众多密钥管理系统的核心组件,它允许一组参与者在缺乏可信第三方中介的环境下,协作生成一个共享密钥。在共享密钥生成的过程中,由于参与者都独立生成其自身的密钥份额,攻击者无法在未持有其他参与者的密钥份额的情况下单独推导出共享密钥,能有效避免各种阈值密码系统中的可信设置,如阈值加密、阈值签名、通用阈值硬币等技术可作为构建区块链、共识协议的基本模块。考虑到分布式密钥生成协议在实际应用中的广泛性,迫切需要开发更高效的分布式密钥生成协议。
2、理想的dkg协议包括共享和重构两个阶段:共享阶段生成协议主公钥,重构阶段计算协议主私钥。为了在共享阶段生成协议主公钥,并在重构阶段实现阈值恢复,可验证秘密共享(verifiable secret sharing,vss)和公开可验证秘密共享(public verifiablesecret sharing,pvss)被广泛用于实现dkg协议。通常,vss通过为每个份额附加非交互式零知识证明来确保各参与节点能够验证其收到的份额,如文献publicly verifiablehomomorphic secret sharing for polynomial evaluation。
3、然而,由于参与节点的份额均是通过私有信道中进行传输,参与节点可能会在共享阶段发送不正确的份额以发起dos攻击,诚实的参与节点就需要对争议进行单独处理。pvss为vss整合了额外的公开密钥加密方案,使份额可以加密和公开验证,使用pvss取代vss后,就可以在公共通道上构建dkg协议。然而,在基于pvss的dkg协议中,加密的份额仅能由持有相应份额的用户解密。因此,当外部用户启动重构阶段时,不可避免的会带来严重的计算成本和通信开销。
4、密文策略属性加密(cipher-policy attribute-based encryption,cp-abe)是一种提供细粒度访问控制的加密技术,它允许用户根据特定的属性或属性组合来加密数据,且能够实现对密文的外部解密,被广泛应用于需要对数据进行细粒度访问控制的环境,如云计算、医疗健康、金融服务等。尽管pvss和cp-abe都能让每个参与节点在与多个参与者交互的过程隐藏其秘密份额,并进行公开验证和阈值恢复。但由于cp-abe具有外部解密的特性(即外部用户可以解密密文),这为设计具有高效重构阶段的dkg协议提供了创新的解决策略。
5、然而,在传统的cp-abe中,由于解密特权由具有相同属性的多个用户共享,因此在给定公开的密钥时,很难识别原始密钥所有者。这使得恶意用户有机会泄露他们的数据以谋取收益,严重损害了数据安全性。此外,现有的cp-abe访问控制方案大多涉及中介实体,存在信任建立成本高、单点故障等问题。因此,如何结合cp-abe设计高效的dkg协议仍然是亟待解决的挑战。
技术实现思路
1、本发明的目的是提供一种基于区块链和cp-abe的分布式密钥生成方法,降低在共享阶段和重构阶段的计算复杂度和通信复杂度,减少计算成本和通信开销和信任建立成本,提高安全性。
2、本发明提供了一种基于区块链和cp-abe的分布式密钥生成方法,包括:
3、步骤1:共享阶段,n个参与节点独立选择随机值作为其密钥份额,使用cp-abe算法对每个参与节点生成的密钥份额进行加密,生成相应的cp-abe密文;
4、利用区块链作为公开信道进行密钥份额的加密和传输;
5、参与节点计算其协议子公钥,并生成与密文和协议子公钥相关联的哈希承诺;并通过智能合约提交其密文、协议子公钥和对应的哈希承诺;
6、通过区块链上的智能合约对每个参与节点的协议子公钥和对应的cp-abe密文进行有效性验证,并且验证过程包括对哈希承诺的校验;
7、进一步地,将cp-abe算法作为密码原语,构建基于区块链和cp-abe的可验证dkg协议。在该协议中,各参与节点在共享阶段协作生成协议公钥,共享阶段的验证复杂度为o(1)。
8、步骤2:重构阶段,在外部用户发起重构协议主私钥的请求后,所述参与节点响应请求,生成并提供其对应的解密密钥;
9、所述外部用户收集至少t个对应的解密密钥,使用收集到的解密密钥解密对应的密文,进而重构出协议的主私钥。
10、进一步地,诚实的参与节点在重构阶段共同恢复对应的协议私钥,外部用户只需o(n)的通信和计算复杂度。
11、进一步地,一旦外部用户发起重构协议主私钥msk的请求,在规定时间内,各参与节点调用attrkeygen算法生成其密文组件对应的解密密钥kθ,并将其离线发送给外部用户。若外部用户收到至少t个解密密钥,就可以解密对应的密文,计算出dkg协议的主私钥
12、所述cp-abe算法包括:
13、安全参数输入算法,用于生成全局参数和主密钥;
14、授权设置算法,用于生成长期密钥和公钥对;
15、属性密钥生成算法,根据属性集和主密钥生成属性私钥;
16、加密算法,根据访问结构和消息和公共参数生成密文;
17、解密算法,根据属性私钥和密文解密消息。
18、进一步地,cp-abe的灵活性和细粒度的访问控制能力,使dkg协议中的密文能够从外部解密,为分布式系统中的密钥生成和密钥管理有更高的效率。
19、进一步地,将哈希承诺引入cp-abe算法,所述外部用户可以检查cp-abe密文进行有效性验证。
20、进一步地,通过哈希承诺算法在所述智能合约上提供cp-abe密文和协议子公钥的可验证性属性,具体的验证过程均在以太坊平台上完成,确保提交内容的一致性和不可篡改性。在该协议中引入基于哈希的通用承诺算法,在共享阶段智能合约通过检查该承诺来对cp-abe密文以及协议子公钥进行可验证性。
21、进一步地,所述智能合约自动执行以下操作:
22、接收参与节点提交的密文组件和承诺;
23、验证参与节点在共享阶段提交的密文组件和对应的承诺;
24、在有效时间后自动执行以计算协议主公钥;
25、在重构阶段,提供协议主公钥和其他必要的凭据以协助外部用户计算协议主私钥。
26、进一步地,区块链平台,如以太坊,集成了智能合约执行引擎,允许开发者编写和部署自动执行的合约,这些合约一旦部署,就可以在满足预设条件时自动执行。以太坊作为一个无需许可的区块链平台,它允许用户存储经过身份验证的数据,这些数据一旦上链,就具有防篡改的特性,为用户提供了数据存储的安全保障。以太坊虚拟机(evm)提供了一个图灵完备的执行环境,确保智能合约的有效运行。智能合约通常使用solidity编程语言编写,这些合约一旦部署到区块链上,就可以执行复杂的逻辑和操作,且所有操作都是可公开验证的。
27、进一步地,所述t为预设的重构阈值,阈值t定义为大于参与节点总数一半的最小整数。
28、进一步地,所述共享阶段和重构阶段的通信复杂度和计算复杂度均为o(n)。
29、本发明还提供了一种用于执行所述分布式密钥生成方法的系统,其特征在于,包括:
30、多个参与节点,每个节点能够生成密钥份额并使用cp-abe算法加密;
31、一个区块链网络,用于传输加密的密钥份额和协议子公钥;
32、一个智能合约,部署在区块链上,用于验证密钥份额和协议子公钥的有效性,获取协议主公钥和其他必要的凭据以计算协议主私钥。
33、本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现所述的基于区块链和cp-abe的分布式密钥生成方法。
34、本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述的基于区块链和cp-abe的分布式密钥生成方法。
35、本发明的有益效果
36、1)使用区块链作为公开信道、cp-abe作为密码原语,提出了基于区块链和cp-abe的分布式密钥生成方法,只需要一轮就可以生成一个分布式主公钥,协议的通信复杂度和计算复杂度都为o(n)。
37、2)设计了通用的基于哈希的承诺,并将该承诺整合至cp-abe加密算法,使得外部参与者可以对cp-abe密文进行有效性验证。
38、3)dkg协议在共享阶段需要更少的验证开销,且在协议主私钥重构阶段提供了可验证解密的能力,同时很少降低效率。
本文地址:https://www.jishuxx.com/zhuanli/20241125/336542.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表