CN111586010A - 一种密钥分发方法及装置 - Google Patents
一种密钥分发方法及装置 Download PDFInfo
- Publication number
- CN111586010A CN111586010A CN202010355290.7A CN202010355290A CN111586010A CN 111586010 A CN111586010 A CN 111586010A CN 202010355290 A CN202010355290 A CN 202010355290A CN 111586010 A CN111586010 A CN 111586010A
- Authority
- CN
- China
- Prior art keywords
- attribute
- key
- blockchain
- public key
- broadcast message
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/065—Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种密钥分发方法,包括:在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,其中,公共参数是预先生成的,在区块链中广播携带区块链成员列表的第二广播信息,区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥,各区块链成员加密后的基于属性的私钥是利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。本发明实施例提供的方法能够安全地向区块链中的各成员分发系统公钥、身份属性集、公共参数和加密后的基于属性的私钥,从而使得各成员分别获得自己的基于属性的私钥,也可以生成基于属性的公钥,密钥分发过程安全可靠、简单便捷,有利于群组通信,节省了网络资源。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种密钥分发方法及装置。
背景技术
一个组织可以在区块链中面向特定的用户发布保密信息,只希望以群组通信的方式共享该信息,不希望非群组人员看到该信息,比如组织管理元可以使用群组内每个用户的区块链公钥来加密待发布的保密信息,然后将加密后的信息和公钥对应的用户标识发布在区块链上,对应的用户采用自己的私钥解密该信息,而区块链上的其他用户由于没有公钥对应的密钥而无法解密,可以很好的保证共享信息的安全性,但是在群组通信中,如果采用点到点方式来通信,则会生成大量的不同密钥和重复的加密信息,造成网络带宽的浪费,但是当参与方比较多的时候,如果协商密钥则协商密钥过程又会比较复杂。而且自组群的时候,每组一个群就要协商一次本群组通信的密钥,这样将非常不方便。
发明内容
为此,本发明提供一种密钥分发方法及装置,以解决现有技术中由于区块链中的成员进行群组通信时协商密钥的过程较为复杂的问题。
为了实现上述目的,本发明第一方面提供一种密钥分发方法,该方法包括:
在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,其中,所述公共参数是预先生成的;
在区块链中广播携带区块链成员列表的第二广播信息,所述区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥,所述各区块链成员加密后的基于属性的私钥是利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。
优选地,所述在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息之前,所述方法还包括:
利用本设备的区块链私钥对所述系统公钥、身份属性集和公共参数签名;
所述在区块链中广播携带区块链成员列表的第二广播信息之前,所述方法还包括:
利用本设备的区块链私钥对所述区块链成员列表签名。
本发明第二方面提供一种密钥分发方法,该方法包括:
接收管理节点广播的第一广播消息,获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数,并根据所述系统公钥、身份属性集和公共参数生成基于属性的公钥;
接收管理节点广播的第二广播消息,获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥,并根据本设备的区块链私钥解密所述加密后的基于属性的私钥,以获得本设备的基于属性的私钥。
优选地,所述方法还包括:
利用所述基于属性的公钥对通信内容加密;
在区块链中广播携带加密后的通信内容的第三广播消息。
优选地,所述方法还包括:
若所述通信内容为会话密钥且需要向发送所述通信内容的其他成员节点发送回复消息,则利用所述会话密钥对回复消息加密;
若所述通信内容不为会话密钥且需要向所述其他成员节点发送回复消息,则根据所述系统公钥、身份属性集和公共参数重新生成基于属性的公钥并利用重新生成的基于属性的公钥对回复消息加密。
优选地,所述接收管理节点广播的第一广播消息之后、所述获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数之前,所述方法还包括:
根据所述管理节点的区块链公钥验证所述第一广播消息,若验证通过,则获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数;
所述接收管理节点广播的第二广播消息之后、所述获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥之前,所述方法还包括:
根据所述管理节点的区块链公钥验证所述第二广播消息,若验证通过,则获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥。
本发明第三方面提供一种管理节点,所述管理节点包括广播模块、生成模块和加密模块;
所述广播模块用于,在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,以及在区块链中广播携带区块链成员列表的第二广播信息,所述区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥;
所述生成模块用于,预先生成所述公共参数;
所述加密模块用于,利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到所述各区块链成员加密后的基于属性的私钥。
本发明第四方面提供一种成员节点,所述成员节点包括接收模块、获取模块、生成模块和解密模块;
所述接收模块用于,接收管理节点广播的第一广播消息,以及接收管理节点广播的第二广播消息;
所述获取模块用于,获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数,以及获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥;
所述生成模块用于,根据所述系统公钥、身份属性集和公共参数生成基于属性的公钥;
所述解密模块用于,根据本设备的区块链私钥解密所述加密后的基于属性的私钥,以获得本设备的基于属性的私钥。
优选地,所述成员节点还包括加密模块和广播模块;
所述加密模块用于,利用所述基于属性的公钥对通信内容加密;
所述广播模块用于,在区块链中广播携带加密后的通信内容的第三广播消息。
优选地,所述成员节点还包括判断模块;
所述判断模块用于,判断所述通信内容是否为会话密钥且是否需要向发送所述通信内容的其他成员节点发送回复消息;
所述加密模块还用于,若所述通信内容为会话密钥且需要向发送所述通信内容的其他成员节点发送回复消息,则利用所述会话密钥对回复消息加密,以及利用重新生成的基于属性的公钥对回复消息加密;
所述生成模块还用于,若所述通信内容不为会话密钥且需要向所述其他成员节点发送回复消息,则根据所述系统公钥、身份属性集和公共参数重新生成基于属性的公钥。
本发明实施例提供的密钥分发方法,在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,其中,公共参数是预先生成的,在区块链中广播携带区块链成员列表的第二广播信息,区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥,各区块链成员加密后的基于属性的私钥是利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。本发明实施例提供的方法能够安全地向区块链中的各成员分发系统公钥、身份属性集、公共参数和加密后的基于属性的私钥,从而使得各成员分别获得自己的基于属性的私钥,也可以自发生成基于属性的公钥,密钥分发过程安全可靠、简单便捷,有利于群组通信,节省了网络资源。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明实施例提供的密钥分发方法的流程示意图一;
图2为本发明实施例提供的密钥分发方法的流程示意图二;
图3为本发明实施例提供的管理节点的结构示意图;
图4为本发明实施例提供的成员节点的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
区块链是一种去中心化的数据库,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个时间戳和一个与前一区块的链接:设计区块链使得数据不可篡改,一旦记录下来,在一个区块中的数据将不可逆。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链(Blockchain)是比特币的一个重要概念,火币网联合清华大学五道口金融学院互联网金融实验室、新浪科技发布的《2014—2016全球比特币发展研究报告》提到区块链是比特币的底层技术和基础架构,本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算。区块链的设计是一种保护措施,比如(应用于)高容错的分布式计算系统。区块链使混合一致性成为可能,区块链适合记录事件、标题、医疗记录和其他需要收录数据的活动、身份识别管理,交易流程管理和出处证明管理。区块链对于金融脱媒有巨大的潜能,对于引领全球贸易有着巨大的影响。2008年由中本聪第一次提出了区块链的概念,在随后的几年中,比特币成为了电子货币的核心组成部分:作为所有交易的公共账簿,通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理,为比特币而发明的区块链使比特币成为第一个解决重复消费问题的数字货币,比特币的设计已经成为其他应用程序的灵感来源。
如图1所示,本发明实施例提供的密钥分发方法,可以包括以下步骤:
步骤11,在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,其中,公共参数是预先生成的。
在本步骤中,管理节点可以在区块链中以广播消息的方式来发布系统公钥PK_A、身份属性集{Attribute1,Attribute2…}和公共参数A_PubParas,以使得区块链中的任意成员节点均可以根据系统公钥、公共参数和身份属性集中的某几个属性生成基于属性的公钥。身份属性集中记录了区块链中各成员的属性,公共参数是管理节点预先根据初始化算法生成的,同时生成的还有管理节点的掩码MaskterKey,但掩码一般由管理节点自己保密保存。
需要说明的是,管理节点可以是身份属性权威管理部门,例如国家公安机关、学校、企业或者组织等,一般由管理节点和多个其他成员共同定义并成立成员身份属性区块链。各成员均有自己的区块链公私钥对,各成员的区块链公钥在区块链中发布PK(PrimaryKey,主键),区块链私钥则由各自保密管理,除此之外,区块链中的各成员还分别有一对基于属性的公钥和基于属性的私钥。
若后续某一成员节点想与区块链中多个其他成员节点进行群组通信,则可以根据身份属性集生成群组成员的公共属性,然后根据系统公钥、公共属性和公共参数生成群组成员的基于属性的公钥,后续利用基于属性的公钥对通信内容加密,避免了分别使用不同的密钥对通信内容加密,降低了通信过程的复杂程度。
步骤12,在区块链中广播携带区块链成员列表的第二广播信息,区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥,各区块链成员加密后的基于属性的私钥是利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。
在本步骤中,管理节点可以在区块链中以广播消息的方式来发布区块链成员列表,区块链成员列表中可以包括区块链中各成员的成员标识a1、a2、a3......an和各区块链成员的加密后的基于属性的私钥Abe_SKa1、Abe_SKa2、Abe_SKa3......Abe_SKan。各区块链成员加密后的基于属性的私钥是管理节点利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。以区块链成员a1为例,a1能够用自己的区块链私钥对加密后的Abe_SKa1进行解密以获得Abe_SKa1,由于a1没有a2、a3等成员的区块链私钥,a1无法获得a2、a3等成员的Abe_SKa2、Abe_SKa3等,同理,其他成员也无法获得a1的Abe_SKa1。
通过上述步骤11-12可以看出,本发明实施例提供的密钥分发方法,在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,其中,公共参数是预先生成的,在区块链中广播携带区块链成员列表的第二广播信息,区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥,各区块链成员加密后的基于属性的私钥是利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。本发明实施例提供的方法能够安全地向区块链中的各成员分发系统公钥、身份属性集、公共参数和加密后的基于属性的私钥,从而使得各成员分别获得自己的基于属性的私钥,也可以自发生成基于属性的公钥,密钥分发过程安全可靠、简单便捷,有利于群组通信,节省了网络资源。
如图2所示,本发明另一实施例提供的密钥分发方法,可以包括以下步骤:
步骤21,接收管理节点广播的第一广播消息,获取第一广播消息中携带的系统公钥、身份属性集和公共参数,并根据系统公钥、身份属性集和公共参数生成基于属性的公钥。
在本步骤中,区块链中的成员节点可以接收管理节点广播的第一广播消息,并获取其中携带的系统公钥、身份属性集和公共参数。由于身份属性集中记录了区块链中各成员的属性,成员节点可以根据系统公钥、身份属性集中的某几个属性和公共参数生成本设备或者其他成员节点的基于属性的公钥。
步骤22,接收管理节点广播的第二广播消息,获取第二广播信息中携带的本设备的加密后的基于属性的私钥,并根据本设备的区块链私钥解密加密后的基于属性的私钥,以获得本设备的基于属性的私钥。
在本步骤中,成员节点可以接收管理节点广播的第二广播消息,第二广播消息可以包括区块链成员列表,成员节点可以从区块链成员列表中获取本成员标识对应的加密后的基于属性的私钥。由于本设备的基于属性的私钥被管理节点利用本设备的区块链公钥加密,因此成员节点可以利用本设备的区块链私钥对加密后的基于属性的私钥解密,以获得本设备的基于属性的私钥。
通过上述步骤21-22可以看出,本发明实施例提供的密钥分发方法,接收管理节点广播的第一广播消息,获取第一广播消息中携带的系统公钥、身份属性集和公共参数,并根据系统公钥、身份属性集和公共参数生成基于属性的公钥,接收管理节点广播的第二广播消息,获取第二广播信息中携带的本设备的加密后的基于属性的私钥,并根据本设备的区块链私钥解密加密后的基于属性的私钥,以获得本设备的基于属性的私钥。本发明实施例提供的方法可以使得成员节点能够获得管理节点分发的基于属性的私钥,但无法获得其他成员节点的基于属性的私钥,还使得成员节点可以根据管理节点发送的系统公钥、身份属性集和公共参数生成本设备或其他成员节点的基于属性的公钥。密钥分发过程安全可靠、简单便捷,节省了网络资源。
在一些实施例中,本发明实施例提供的密钥分发方法,还可以包括以下步骤:利用基于属性的公钥对通信内容加密,在区块链中广播携带加密后的通信内容的第三广播消息。
在本步骤中,由于成员节点可以生成基于属性的公钥且具有本设备的基于属性的私钥,则可以利用基于属性的公钥与本设备的基于属性的私钥与区块链中的其他任意成员节点通信,具体的,成员节点可以利用其他成员节点的基于属性的公钥对通信内容加密,然后将加密后的通信内容发送给该其他节点,只有该其他节点接收加密后的通信内容后,才可以利用该其他节点的基于属性的私钥解密获得通信内容。
若成员节点想与区块链中的多个节点通信,采用点对点的通信方法会生成大量的不同密钥,以及大量重复的加密信息,造成网络资源大量的浪费,而如果多个成员节点之间协商密钥,协商密钥过程又将比较复杂。因此,当某个成员节点想与多个其他成员节点进行群组通信时,该成员节点可以根据身份属性集确定出群组成员的公共属性,然后根据系统公钥、公共属性和公共参数生成整个群组中成员的基于属性的公钥,然后使用基于属性的公钥对通信内容加密,然后在区块链中广播携带加密后的通信内容的第三广播消息。由于只有这个群组的成员具备这个公共属性,因此只有该群组中的成员的基于属性的私钥才能够与基于属性的公钥对应,只有该群组中的成员接收到第三广播消息后才能够利用本设备的基于属性的私钥解密获得通信内容。通过这种方式,成员节点无需再分别使用不同的密钥对通信内容加密,然后分别与各成员节点进行通信,并且区块链中的任何成员节点都可以组建或加入一个新的群组。本发明实施例提供的方法,实现了基于属性加密的安全的区块链群组通信,提升了群组通信的安全性和可靠性,保障了用户的利益。
在一些实施例中,本发明实施例提供的密钥分发方法,还可以包括以下步骤:若通信内容为会话密钥且需要向发送通信内容的其他成员节点发送回复消息,则利用会话密钥对回复消息加密,若通信内容不为会话密钥且需要向其他成员节点发送回复消息,则根据系统公钥、身份属性集和公共参数重新生成基于属性的公钥并利用重新生成的基于属性的公钥对回复消息加密。
在本步骤中,通信内容可以为会话密钥,也可以为其他内容。区块链中的成员节点可以使用基于属性加密的密钥分发方法继续分发会话密钥,这种分发会话密钥的方式能够使得各成员节点之间的通信更加安全。若当前成员节点接收到区块链中的其他成员节点发送的会话密钥,且需要向该其他成员节点发送回复消息,则可以直接利用会话密钥对回复消息加密,这种协商会话密钥的方式较为简单。若当前成员节点接收到区块链中的其他成员节点发送的非会话密钥的通信内容,且需要向该其他成员节点发送回复消息,则成员节点可以根据系统公钥、身份属性集和公共参数重新生成该其他成员节点基于属性的公钥,并利用该其他成员节点的基于属性的公钥对回复消息加密。
在一些实施例中,在步骤11之前,密钥分发方法还可以包括以下步骤:管理节点利用本设备的区块链私钥对系统公钥、身份属性集和公共参数签名。在步骤12之前,密钥分发方法还可以包括以下步骤:管理节点利用本设备的区块链私钥对区块链成员列表签名。
相应的,在一些实施例中,在成员节点接收管理节点广播的第一广播消息之后、成员节点获取第一广播消息中携带的系统公钥、身份属性集和公共参数之前,密钥分发方法还可以包括以下步骤:成员节点根据管理节点的区块链公钥验证第一广播消息,若验证通过,则获取第一广播消息中携带的系统公钥、身份属性集和公共参数。
在成员节点接收管理节点广播的第二广播消息之后、成员节点获取第二广播信息中携带的本设备的加密后的基于属性的私钥之前,密钥分发方法还可以包括以下步骤:成员节点根据管理节点的区块链公钥验证第二广播消息,若验证通过,则获取第二广播信息中携带的本设备的加密后的基于属性的私钥。
基于相同的发明构思,本发明实施例还提供一种管理节点,如图3所示,该管理节点可以包括广播模块101、生成模块102和加密模块103。
广播模块101用于,在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,以及在区块链中广播携带区块链成员列表的第二广播信息,区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥。
生成模块102用于,预先生成所述公共参数。
加密模块103用于,利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到各区块链成员加密后的基于属性的私钥。
在一些实施例中,加密模块103还用于,利用本设备的区块链私钥对系统公钥、身份属性集和公共参数签名,以及利用本设备的区块链私钥对区块链成员列表签名。
本发明实施例还提供一种成员节点,如图4所示,该成员节点可以包括接收模块201、获取模块202、生成模块203和解密模块204。
接收模块201用于,接收管理节点广播的第一广播消息,以及接收管理节点广播的第二广播消息。
获取模块202用于,获取第一广播消息中携带的系统公钥、身份属性集和公共参数,以及第二广播信息中携带的本设备的加密后的基于属性的私钥。
生成模块203用于,根据系统公钥、身份属性集和公共参数生成基于属性的公钥。
解密模块204用于,根据本设备的区块链私钥解密加密后的基于属性的私钥,以获得本设备的基于属性的私钥。
在一些实施例中,成员节点还可以包括加密模块和广播模块。
加密模块用于,利用基于属性的公钥对通信内容加密。
广播模块用于,在区块链中广播携带加密后的通信内容的第三广播消息。
在一些实施例中,成员节点还可以包括判断模块。
判断模块用于,判断通信内容是否为会话密钥且是否需要向发送通信内容的其他成员节点发送回复消息。
加密模块还用于,若通信内容为会话密钥且需要向发送通信内容的其他成员节点发送回复消息,则利用会话密钥对回复消息加密,以及利用重新生成的基于属性的公钥对回复消息加密。
生成模块203还用于,若通信内容不为会话密钥且需要向其他成员节点发送回复消息,则根据系统公钥、身份属性集和公共参数重新生成基于属性的公钥。
在一些实施例中,成员节点还可以包括验证模块和获取模块。
验证模块用于,根据管理节点的区块链公钥验证第一广播消息和第二广播消息。
获取模块用于,若验证通过,则获取第一广播消息中携带的系统公钥、身份属性集和公共参数以及获取第二广播信息中携带的本设备的加密后的基于属性的私钥。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种密钥分发方法,其特征在于,所述方法包括:
在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,其中,所述公共参数是预先生成的;
在区块链中广播携带区块链成员列表的第二广播信息,所述区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥,所述各区块链成员加密后的基于属性的私钥是利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到的。
2.根据权利要求1所述的方法,其特征在于,所述在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息之前,所述方法还包括:
利用本设备的区块链私钥对所述系统公钥、身份属性集和公共参数签名;
所述在区块链中广播携带区块链成员列表的第二广播信息之前,所述方法还包括:
利用本设备的区块链私钥对所述区块链成员列表签名。
3.一种密钥分发方法,其特征在于,所述方法包括:
接收管理节点广播的第一广播消息,获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数,并根据所述系统公钥、身份属性集和公共参数生成基于属性的公钥;
接收管理节点广播的第二广播消息,获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥,并根据本设备的区块链私钥解密所述加密后的基于属性的私钥,以获得本设备的基于属性的私钥。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
利用所述基于属性的公钥对通信内容加密;
在区块链中广播携带加密后的通信内容的第三广播消息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述通信内容为会话密钥且需要向发送所述通信内容的其他成员节点发送回复消息,则利用所述会话密钥对回复消息加密;
若所述通信内容不为会话密钥且需要向所述其他成员节点发送回复消息,则根据所述系统公钥、身份属性集和公共参数重新生成基于属性的公钥并利用重新生成的基于属性的公钥对回复消息加密。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述接收管理节点广播的第一广播消息之后、所述获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数之前,所述方法还包括:
根据所述管理节点的区块链公钥验证所述第一广播消息,若验证通过,则获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数;
所述接收管理节点广播的第二广播消息之后、所述获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥之前,所述方法还包括:
根据所述管理节点的区块链公钥验证所述第二广播消息,若验证通过,则获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥。
7.一种管理节点,其特征在于,所述管理节点包括广播模块、生成模块和加密模块;
所述广播模块用于,在区块链中广播携带系统公钥、身份属性集和公共参数的第一广播消息,以及在区块链中广播携带区块链成员列表的第二广播信息,所述区块链成员列表包括区块链成员标识和各区块链成员加密后的基于属性的私钥;
所述生成模块用于,预先生成所述公共参数;
所述加密模块用于,利用各区块链成员的区块链公钥分别对各区块链成员的基于属性的私钥加密得到所述各区块链成员加密后的基于属性的私钥。
8.一种成员节点,其特征在于,所述成员节点包括接收模块、获取模块、生成模块和解密模块;
所述接收模块用于,接收管理节点广播的第一广播消息,以及接收管理节点广播的第二广播消息;
所述获取模块用于,获取所述第一广播消息中携带的系统公钥、身份属性集和公共参数,以及获取所述第二广播信息中携带的本设备的加密后的基于属性的私钥;
所述生成模块用于,根据所述系统公钥、身份属性集和公共参数生成基于属性的公钥;
所述解密模块用于,根据本设备的区块链私钥解密所述加密后的基于属性的私钥,以获得本设备的基于属性的私钥。
9.根据权利要求8所述的成员节点,其特征在于,所述成员节点还包括加密模块和广播模块;
所述加密模块用于,利用所述基于属性的公钥对通信内容加密;
所述广播模块用于,在区块链中广播携带加密后的通信内容的第三广播消息。
10.根据权利要求9所述的成员节点,其特征在于,所述成员节点还包括判断模块;
所述判断模块用于,判断所述通信内容是否为会话密钥且是否需要向发送所述通信内容的其他成员节点发送回复消息;
所述加密模块还用于,若所述通信内容为会话密钥且需要向发送所述通信内容的其他成员节点发送回复消息,则利用所述会话密钥对回复消息加密,以及利用重新生成的基于属性的公钥对回复消息加密;
所述生成模块还用于,若所述通信内容不为会话密钥且需要向所述其他成员节点发送回复消息,则根据所述系统公钥、身份属性集和公共参数重新生成基于属性的公钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355290.7A CN111586010B (zh) | 2020-04-29 | 2020-04-29 | 一种密钥分发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355290.7A CN111586010B (zh) | 2020-04-29 | 2020-04-29 | 一种密钥分发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111586010A true CN111586010A (zh) | 2020-08-25 |
CN111586010B CN111586010B (zh) | 2022-04-01 |
Family
ID=72111815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010355290.7A Active CN111586010B (zh) | 2020-04-29 | 2020-04-29 | 一种密钥分发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111586010B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992418A (zh) * | 2021-10-29 | 2022-01-28 | 南京联了么信息技术有限公司 | 一种基于区块链技术的IoT设备管理方法 |
CN114142995A (zh) * | 2021-11-05 | 2022-03-04 | 支付宝(杭州)信息技术有限公司 | 面向区块链中继通信网络的密钥安全分发方法及装置 |
CN116506119A (zh) * | 2023-05-23 | 2023-07-28 | 中安网脉(北京)技术股份有限公司 | 一种基于路由寻址的密钥分发网络组建方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465725A (zh) * | 2007-12-18 | 2009-06-24 | 中国电子科技集团公司第五十研究所 | 一种基于身份的公钥系统的密钥分配方法 |
WO2013027206A1 (en) * | 2011-08-24 | 2013-02-28 | Ben-Gurion University Of The Negev Research & Development Authority | A method for attribute based broadcast encryption with permanent revocation |
CN105262587A (zh) * | 2015-10-30 | 2016-01-20 | 西安电子科技大学 | 基于代理重加密的机器类型通信群组密钥分发方法 |
CN105959269A (zh) * | 2016-04-25 | 2016-09-21 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
CN107483198A (zh) * | 2017-09-25 | 2017-12-15 | 中国科学院信息工程研究所 | 一种可监管的区块链系统及方法 |
CN107947923A (zh) * | 2017-11-29 | 2018-04-20 | 重庆邮电大学 | 一种无可信中心的属性密钥分发方法 |
CN109559117A (zh) * | 2018-11-14 | 2019-04-02 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN110098919A (zh) * | 2019-04-26 | 2019-08-06 | 西安电子科技大学 | 基于区块链的数据权限的获取方法 |
CN110266482A (zh) * | 2019-06-21 | 2019-09-20 | 郑州轻工业学院 | 一种基于区块链的非对称群组密钥协商方法 |
JP2019174995A (ja) * | 2018-03-27 | 2019-10-10 | Kddi株式会社 | アクセス制限システム、アクセス制限方法及びアクセス制限プログラム |
-
2020
- 2020-04-29 CN CN202010355290.7A patent/CN111586010B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465725A (zh) * | 2007-12-18 | 2009-06-24 | 中国电子科技集团公司第五十研究所 | 一种基于身份的公钥系统的密钥分配方法 |
WO2013027206A1 (en) * | 2011-08-24 | 2013-02-28 | Ben-Gurion University Of The Negev Research & Development Authority | A method for attribute based broadcast encryption with permanent revocation |
CN105262587A (zh) * | 2015-10-30 | 2016-01-20 | 西安电子科技大学 | 基于代理重加密的机器类型通信群组密钥分发方法 |
CN105959269A (zh) * | 2016-04-25 | 2016-09-21 | 北京理工大学 | 一种基于身份的可认证动态群组密钥协商方法 |
CN107483198A (zh) * | 2017-09-25 | 2017-12-15 | 中国科学院信息工程研究所 | 一种可监管的区块链系统及方法 |
CN107947923A (zh) * | 2017-11-29 | 2018-04-20 | 重庆邮电大学 | 一种无可信中心的属性密钥分发方法 |
JP2019174995A (ja) * | 2018-03-27 | 2019-10-10 | Kddi株式会社 | アクセス制限システム、アクセス制限方法及びアクセス制限プログラム |
CN109559117A (zh) * | 2018-11-14 | 2019-04-02 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN110098919A (zh) * | 2019-04-26 | 2019-08-06 | 西安电子科技大学 | 基于区块链的数据权限的获取方法 |
CN110266482A (zh) * | 2019-06-21 | 2019-09-20 | 郑州轻工业学院 | 一种基于区块链的非对称群组密钥协商方法 |
Non-Patent Citations (2)
Title |
---|
MOHAMED NABEEL: "Poster: towards attribute based group key management", 《CCS"11:PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》 * |
陈汝伟: "基于身份的群密钥分发方案", 《第十七届全国网络与数据通信学术会议(NDCC2010)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992418A (zh) * | 2021-10-29 | 2022-01-28 | 南京联了么信息技术有限公司 | 一种基于区块链技术的IoT设备管理方法 |
CN114142995A (zh) * | 2021-11-05 | 2022-03-04 | 支付宝(杭州)信息技术有限公司 | 面向区块链中继通信网络的密钥安全分发方法及装置 |
CN114142995B (zh) * | 2021-11-05 | 2023-08-22 | 支付宝(杭州)信息技术有限公司 | 面向区块链中继通信网络的密钥安全分发方法及装置 |
CN116506119A (zh) * | 2023-05-23 | 2023-07-28 | 中安网脉(北京)技术股份有限公司 | 一种基于路由寻址的密钥分发网络组建方法 |
CN116506119B (zh) * | 2023-05-23 | 2024-01-26 | 中安网脉(北京)技术股份有限公司 | 一种基于路由寻址的密钥分发网络组建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111586010B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109377198B (zh) | 一种基于联盟链多方共识的签约系统 | |
CN108600227B (zh) | 一种基于区块链的医疗数据共享方法及装置 | |
US11184394B1 (en) | Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system | |
US20230070963A1 (en) | Blockchain-implemented method for control and distribution of digital content | |
CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
US11895248B2 (en) | Method and apparatus for generating blockchain transaction | |
JP6524347B2 (ja) | 情報共有システム | |
CN110417750B (zh) | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 | |
CN111586010B (zh) | 一种密钥分发方法及装置 | |
KR102307574B1 (ko) | 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법 | |
Azzaoui et al. | Blockchain-based delegated Quantum Cloud architecture for medical big data security | |
US20130061035A1 (en) | Method and system for sharing encrypted content | |
KR20210041459A (ko) | 블록체인과 ipfs 기반의 암호화 데이터 공유 시스템 | |
CN113162752A (zh) | 基于混合同态加密的数据处理方法和装置 | |
WO2021154157A1 (en) | Blockchain-based data exchange | |
CN114205136A (zh) | 一种基于区块链技术的交通数据资源共享方法及系统 | |
CN113901512A (zh) | 数据共享方法及系统 | |
CN115049398A (zh) | 一种完备的数据资产可信管理和价值流转系统和方法 | |
CN112908442A (zh) | 医疗数据共享方法、装置、设备及计算机可读介质 | |
CN110012024B (zh) | 一种数据共享方法、系统、设备及计算机可读存储介质 | |
US11327946B2 (en) | Hybrid centralized and decentralized enterprise system | |
KR20210041458A (ko) | 블록체인과 ipfs 기반의 그룹별 데이터 공유 시스템 | |
Pugazhenthi et al. | Data access control and secured data sharing approach for health care data in cloud environment | |
CN112654972A (zh) | 具有受限交易的区块链设置 | |
Xenya et al. | Decentralized distributed blockchain ledger for financial transaction backup 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 |