CN111294205A - 密钥管理方法及装置、计算机***以及可读存储介质 - Google Patents
密钥管理方法及装置、计算机***以及可读存储介质 Download PDFInfo
- Publication number
- CN111294205A CN111294205A CN202010114156.8A CN202010114156A CN111294205A CN 111294205 A CN111294205 A CN 111294205A CN 202010114156 A CN202010114156 A CN 202010114156A CN 111294205 A CN111294205 A CN 111294205A
- Authority
- CN
- China
- Prior art keywords
- key
- endorsement
- committee
- transaction
- nodes
- 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.)
- Pending
Links
Images
Classifications
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开提供了一种密钥管理方法,应用于包括多个节点的区块链网络,该方法包括:获取用于创建密钥委员会的创建事务,其中,密钥委员会用于管理区块链网络的密钥,密钥委员会中的成员为多个节点中的一个或多个节点,创建事务包括创建参数;对创建事务进行背书,得到第一背书结果;验证第一背书结果是否满足第一背书条件;以及在第一背书结果满足第一背书条件的情况下,基于创建参数创建密钥委员会,以便基于密钥委员会管理区块链网络的密钥。本公开还提供了一种密钥管理装置、一种计算机***以及一种可读存储介质。
Description
技术领域
本公开涉及一种密钥管理方法、一种密钥管理装置、一种计算机***以及一种可读存储介质。
背景技术
区块链具有去中心化、开放、透明和信息不可篡改的特性,基于这些特性可以构建以区块链为基础的信任基础设施,加速数据与价值在组织间的流转。但由于区块链的开放、透明特性,组织内或组织间的隐私数据并不适于存放在区块链上。数据隐私问题正成为限制区块链应用价值和领域的一个很重要的因素。其中,对隐私数据进行加密是一种保护手段,而在进行数据加密和解密过程中,密钥的生成和管理是非常重要的环节。在相关技术中,一般通过静态指定区块链网络中的节点用于管理和存储密钥,无法实现动态调整管理节点,难以适应动态管理的需求。
发明内容
本公开的一个方面提供了一种密钥管理方法,应用于包括多个节点的区块链网络,上述方法包括:获取用于创建密钥委员会的创建事务,其中,上述密钥委员会用于管理上述区块链网络的密钥,上述密钥委员会中的成员为上述多个节点中的一个或多个节点,上述创建事务包括创建参数;对上述创建事务进行背书,得到第一背书结果;验证上述第一背书结果是否满足第一背书条件;以及在上述第一背书结果满足上述第一背书条件的情况下,基于上述创建参数创建上述密钥委员会,以便基于上述密钥委员会管理上述区块链网络的密钥。
可选地,上述的方法还包括:获取用于向上述密钥委员会中添加成员的添加事务;对上述添加事务进行背书,得到第二背书结果;验证上述第二背书结果是否满足第二背书条件;以及在上述第二背书结果满足上述第二背书条件的情况下,将拟添加节点加入上述密钥委员会。
可选地,上述的方法还包括:获取用于删除上述密钥委员会中目标成员的删除事务;对上述删除事务进行背书,得到第三背书结果;验证上述第三背书结果是否满足第三背书条件;以及在上述第三背书结果满足上述第三背书条件的情况下,将上述目标成员从上述密钥委员会中删除。
可选地,上述区块链网络的密钥包括主密钥和多个密钥分部,上述密钥委员会包括多个成员,每个成员存储上述密钥的一个密钥分部,上述方法还包括:在创建得到上述密钥委员会之后,更新上述密钥委员会中每个成员存储的密钥分部。
可选地,更新上述密钥委员会中每个成员存储的密钥分部包括:获取更新准备事务;响应于上述更新准备事务,获取上述密钥委员会当前的配置信息,其中,上述配置信息包括上述密钥委员会当前的成员数量、当前每个成员的标识信息和恢复密钥的阈值;基于上述密钥委员会当前的配置信息,随机生成第一预设数量的系数;根据上述第一预设数量的系数构建目标多项式;将上述当前每个成员的标识信息输入上述目标多项式,得到上述当前每个成员对应的密钥子分部;以及将上述当前每个成员对应的密钥子分部发送给对应的成员,以便上述对应的成员基于接收到的密钥子分部更新对应的密钥分部。
可选地,上述的方法还包括:基于上述第一预设数量的系数生成与上述目标多项式对应的第一证明;以及将上述第一证明广播至上述区块链网络,以使上述多个节点将上述第一证明存入区块链。
可选地,上述的方法还包括:在将上述当前每个成员对应的密钥子分部发送给对应的成员之后,获取更新协商事务;响应于上述更新协商事务,对接收到的密钥子分部进行校验;以及在校验通过的情况下,基于上述接收到的密钥子分部更新成员本地存储的密钥分部。
本公开的另一个方面提供了一种密钥管理装置,应用于包括多个节点的区块链网络,上述装置包括:获取模块,用于获取用于创建密钥委员会的创建事务,其中,上述密钥委员会用于管理上述区块链网络的密钥,上述密钥委员会中的成员为上述多个节点中的一个或多个节点,上述创建事务包括创建参数;背书模块,用于对上述创建事务进行背书,得到第一背书结果;验证模块,用于验证上述第一背书结果是否满足第一背书条件;以及创建模块,用于在上述第一背书结果满足上述第一背书条件的情况下,基于上述创建参数创建上述密钥委员会,以便基于上述密钥委员会管理上述区块链网络的密钥。
本公开的另一个方面提供了一种计算机***,应用于包括多个节点的区块链网络中的至少一个节点,上述计算机***包括:处理器;可读存储介质,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。
本公开的另一个方面提供了一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,计算机程序包括计算机可执行指令,指令在被执行时用于实现如上的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的密钥管理方法、装置和计算机***的应用场景;
图2示意性示出了根据本公开实施例的密钥管理方法的流程图;
图3示意性示出了根据本公开实施例的在密钥委员会中添加成员的流程图;
图4示意性示出了根据本公开实施例的更新密钥委员会中每个成员存储的密钥分部的流程图;
图5示意性示出了根据本公开另一实施例的更新密钥委员会中每个成员存储的密钥分部的流程图;
图6示意性示出了根据本公开另一实施例的更新密钥委员会中每个成员存储的密钥分部的流程图;
图7示意性示出了根据本公开实施例的密钥管理装置的框图;以及
图8示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机***的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。
区块链一般可以分为公有链(public chain)和许可链(permissioned chain)。其中,许可链又可以根据数据维护方是否为单一个体(entity)分成联盟链(consortium)和私有链(private chain)。
在隐私保护领域,随着欧盟提出的GDPR需求(General Data ProtectionRegulation,简称GDPR,《通用数据保护条例》),对数据的拥有方也提出了必须提供隐私保护的要求。数据隐私问题正成为限制区块链应用价值和领域的一个很重要的因素。在一般情况下,可以基于区块链生成存储密钥,然后用该密钥对区块链上的数据进行加密。在相关技术中,一般通过静态指定区块链网络中的节点用于管理和存储密钥,无法在网络运行时动态调整区块链网络节点或对区块链网络节点进行管理,无法适应动态管理的需求。
本公开的实施例提供了一种密钥管理方法,应用于包括多个节点的区块链网络,该方法包括:获取用于创建密钥委员会的创建事务,其中,密钥委员会用于管理区块链网络的密钥,密钥委员会中的成员为多个节点中的一个或多个节点,创建事务包括创建参数;对创建事务进行背书,得到第一背书结果;验证第一背书结果是否满足第一背书条件;以及在第一背书结果满足第一背书条件的情况下,基于创建参数创建密钥委员会,以便基于密钥委员会管理区块链网络的密钥。
本公开的实施例实现了一套密钥委员会机制,密钥委员会负责管理维护密钥,并且可以动态添加和删除密钥委员会成员。由于密钥委员会成员可以伴随业务的发展进行动态调整,使得具有更好的扩展性。
图1示意性示出了根据本公开实施例的密钥管理方法、装置和计算机***的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,该应用场景示出了区块链网络100,其中,该区块链网络100可以包括节点(peer)1~节点(peer)5。节点1、节点2和节点4可以为密钥委员会101中的成员。节点1~节点5可以共同维护区块链102。
节点1~节点5可以是具有相同或不同计算能力的各种计算节点。例如可以是个人计算机、网络服务器、数据库服务器、智能手机等等,在此不做限定。节点1~节点5中任意两个节点之间可进行点对点通信。密钥管理装置可以部署于各节点中,以使各节点按照一定规则执行区块链网络中的各项事务和操作。区块链网络100中的任意节点都可以申请成为密钥委员会101中的成员。
区块链102可以是通过散列指针按时间顺序链接的区块(block)的分布式数据库。区块链的区块是按照时间顺序加入的,当满足预定条件时,区块链网络中的各节点允许当前节点创建区块并将该区块加入到区块链中,加入的区块作为该区块链上当前最新区块。在某一特定时刻,维护同一区块链的节点从区块链上获取的当前最新区块是相同的。
根据本公开的实施例,区块链网络100可以基于Hyperledger(超级账本)的Fabric项目(下文中简称为“Fabric***”)运行,该***仅为示例以说明本公开的实施原理,本公开实施例也可以适用于其他类型的区块链***,在此不做限制。
需要说明的是,图1所示的区块链网络100中的节点数量、密钥委员会101中的成员数量、区块链102中的区块数量仅仅是示意性的,本公开对节点数量、成员数量和区块数量不作限定。
图2示意性示出了根据本公开实施例的密钥管理方法的流程图。
该密钥管理方法可以应用于如图1所示的区块链网络,区块链网络可以包括多个节点。如图2所示,该方法包括操作S201~S204。
在操作S201,获取用于创建密钥委员会的创建事务。其中,密钥委员会用于管理区块链网络的密钥,密钥委员会中的成员为区块链网络中的一个或多个节点,创建事务包括创建参数。
根据本公开的实施例,发起创建密钥委员会的创建事务可以由区块链网络中的任一组织管理员发起,创建参数可以包括密钥委员会的大小N和恢复密钥的阈值K。其中,密钥委员会的大小N可以是成员数量。恢复密钥的阈值K可以是用于恢复密钥的密钥分部的最小数量,其中,一个密钥可以由分布在不同节点中的密钥分部组成。
在操作S202,对创建事务进行背书,得到第一背书结果。
根据本公开的实施例,对创建事务进行背书可以是区块链网络中的所有节点都进行背书,也可以是预设数量的节点进行背书。
在操作S203,验证第一背书结果是否满足第一背书条件。
根据本公开的实施例,第一背书条件不做限定,例如,可以与相关技术中的背书条件相同或类似。具体地,例如,第一背书条件可以是背书结果的数量大于或等于对创建事务进行背书的节点数量的三分之二。
在操作S204,在第一背书结果满足第一背书条件的情况下,基于创建参数创建密钥委员会,以便基于密钥委员会管理区块链网络的密钥。
根据本公开的实施例,密钥委员会可以利用用户链码或***链码进行管理,区块链网络中的节点可以采用PKI标识(public key infrastructure标识)作为身份标识,节点加入密钥委员会的序号可以用于密钥生成阶段的标识。链码可以包括但不限于以下接口:创建密钥委员会的接口、添加成员的接口和删除成员的接口。
根据本公开的实施例,在对创建事务进行背书的背书阶段,客户端可以将密钥委员会大小N及阈值K作为参数调用委员会管理链码;链码可以将上述参数作为参数值写入读写集,在区块链节点进行背书后将第一背书结果返回给客户端;客户端从所有背书节点收集背书结果后打包成一个事务发送给排序节点。排序节点收到客户端的事务,待收集到一定数量的事务后打包成区块,并发送给其它节点进行共识。其他节点收到块后,如果校验其中的事务满足背书条件,可以将读写集的修改提交到状态数据库。
本公开的实施例实现了一套密钥委员会机制,密钥委员会负责管理维护密钥。由于通过密钥委员会可以管理密钥委员会成员,密钥委员会成员可以伴随业务的发展进行动态调整,使得具有更好的扩展性。解决了通过静态指定区块链网络节点用于管理和存储密钥,无法实现动态调整管理节点的技术问题,达到了适应动态管理的需求的技术效果。
下面参考图3~图5,结合具体实施例对图2所示的方法做进一步说明。
图3示意性示出了根据本公开实施例的在密钥委员会中添加成员的流程图。
如图3所示,该方法包括操作S301~S304。
在操作S301,获取用于向密钥委员会中添加成员的添加事务。
在操作S302,对添加事务进行背书,得到第二背书结果。
在操作S303,验证第二背书结果是否满足第二背书条件。
根据本公开的实施例,第二背书条件不做限定,例如,可以与相关技术中的背书条件相同或类似。具体地,例如,第二背书条件可以是背书结果的数量大于或等于对添加事务进行背书的节点数量的三分之二。
在操作S304,在第二背书结果满足第二背书条件的情况下,将拟添加节点加入密钥委员会。
根据本公开的实施例,在对添加事务进行背书的背书阶段,客户端可以将节点证书作为参数,然后调用密钥委员会管理链码。例如通过调用管理链码中用于添加成员的接口,生成用于向密钥委员会中添加成员的添加事务,将某一组织下的一个网络节点加入密钥委员会。
链码可以根据背书请求里的证书计算节点的PKI标识,然后将该PKI标识加入委员会成员数组中,并将修改写入读写集。在节点背书后将背书结果返回给客户端。客户端从所有背书节点收集背书结果后打包成一个事务发送给排序节点。排序节点收到客户端的事务,待收集到一定数量的事务后打包成块,并发送给其它节点进行共识。其他节点收到块后,如果校验其中的事务满足背书条件,可以将读写集的修改提交到状态数据库。
根据本公开的实施例,还可以在密钥委员会中删除成员。具体流程可以是如下操作:获取用于删除密钥委员会中目标成员的删除事务;对删除事务进行背书,得到第三背书结果;验证第三背书结果是否满足第三背书条件;在第三背书结果满足第三背书条件的情况下,将目标成员从密钥委员会中删除。
根据本公开的实施例,在对删除事务进行背书的背书阶段,客户端可以将节点证书作为参数,然后调用密钥委员会管理链码。例如通过调用管理链码中用于删除成员的接口,生成用于删除密钥委员会中目标成员的删除事务,将某一组织下的一个网络节点移除出密钥委员会。根据本公开的实施例,第三背书条件不做限定,例如,可以与相关技术中的背书条件相同或类似。具体地,例如,第三背书条件可以是背书结果的数量大于或等于对删除事务进行背书的节点数量的三分之二。
管理链码可以根据背书请求里的证书计算节点的PKI标识,然后将该PKI标识从委员会成员数组中移除,并将修改写入读写集。在节点背书后将背书结果返回给客户端。客户端从所有背书节点收集背书结果后打包成一个事务发送给排序节点。排序节点收到客户端的事务,待收集到一定数量的事务后打包成区块,并发送给其它节点进行共识。其他节点收到块后,如果校验其中的事务满足背书条件,可以将读写集的修改提交到状态数据库。
通过本公开的实施例,实现了一套密钥委员会机制,委员会负责管理维护密钥,并且委员会成员可以动态添加和删除,达到了动态管理的效果。
根据本公开的实施例,在创建得到密钥委员会之后,可以参照现有密钥生成方案生成密钥。密钥委员会可以包括多个成员,在一般情况下,密钥委员会中的初始成员数必须大于恢复密钥的阈值K。区块链网络的密钥可以包括主密钥和多个密钥分部,每个成员存储密钥的一个密钥分部。本公开还可以更新密钥委员会中每个成员上存储的密钥分部,能够在不改变主密钥的前提下改变各成员节点上存储的密钥数据。
图4示意性示出了根据本公开实施例的更新密钥委员会中每个成员存储的密钥分部的流程图。
如图4所示,更新密钥委员会中每个成员存储的密钥分部包括操作S401~S406。
在操作S401,获取更新准备事务。
根据本公开的实施例,对于密钥委员会中的每个成员,可以由成员所在组织的管理员在节点上执行更新准备事务,这些更新准备事务可以并发或顺序执行。以节点i为例,客户端可以调用链码发起更新准备事务。更新准备事务是对成员节点进行初始化的过程,例如,可以由Fabric***中的组织管理者(organization)通过客户端发起,包括背书(endorsement)流程、共识(consensus)流程和提交(proposal)流程。
根据本公开的实施例,在链码收到更新准备事务的请求后,可以检查自身节点是否属于密钥委员会。如果自身节点不属于密钥委员会,则可以向客户端返回错误。如果自身节点属于密钥委员会,则可以开始更新准备过程,即响应更新准备事务。
在操作S402,响应于更新准备事务,获取密钥委员会当前的配置信息。其中,配置信息包括密钥委员会当前的成员数量N、当前每个成员的标识信息ID和恢复密钥的阈值K,N为大于1的正整数,k为大于3的整数。其他例子中,k也可以为大于1的正整数。
根据本公开的实施例,可以采用加入密钥委员会时的序号作为当前每个成员的标识信息ID。
在操作S403,基于密钥委员会当前的配置信息,随机生成第一预设数量的系数。
根据本公开的实施例,第一预设数量可以根据恢复密钥的阈值K进行确定。例如,随机生成K-1个多项式系数(ai1,ai2,...,ai(k-D)。
在操作S404,根据第一预设数量的系数构建目标多项式。
根据本公开的实施例,根据K-1个多项式系数(ai1,ai2,...,ai(k-1))得到如公式(1)所示的针对节点i的k-1阶多项式Pi(x)。其中,Pi(0)=0,i为大于等于1且小于等于N的整数,k为大于3的整数。其他例子中,k也可以为大于1的正整数。
在操作S405,将当前每个成员的标识信息输入目标多项式,得到当前每个成员对应的密钥子分部。
例如,对于成员l,节点i将成员l的标识信息(例如为“l”)输入上述所构建的高阶多项式Pi(x),得到节点i针对成员l的密钥子分部Pi(l),如公式(2)所示。其中,l为大于等于1且小于等于N的整数,l例如可以是加入密钥委员会时的序号。
在操作S406,将当前每个成员对应的密钥子分部发送给对应的成员,以便对应的成员基于接收到的密钥子分部更新对应的密钥分部。
根据本公开的实施例,如果l=i,则将密钥子分部Pi(l)存储在节点本地私有数据库。如果l≠i,则将密钥子分部Pi(l)以私有数据发送给对应的成员。
通过本公开的实施例,可以更新委员会成员上存储的密钥分部,能够在不改变主密钥的前提下改变各节点上存储的密钥数据。达到了动态更新节点上存储的密钥分部,降低了各个节点容易被各个击破的风险,保证了密钥的安全存储。
图5示意性示出了根据本公开另一实施例的更新密钥委员会中每个成员存储的密钥分部的流程图。
在该实施例中,除了包括操作S401~S406之外,还可以包括操作S501~S502。如图5所示,更新密钥委员会中每个成员存储的密钥分部包括操作S501~S502。
在操作S501,基于第一预设数量的系数生成与目标多项式对应的第一证明。
在操作S502,将第一证明广播至区块链网络,以使多个节点将第一证明存入区块链。
根据本公开的实施例,以节点i为例,节点i可以基于其所生成的K-1个多项式系数(ai1,ai2,...,ai(k-1))生成与节点i的目标多项式对应的第一证明,如公式(3)所示。
节点i可以将公式(3)所示的与节点i的目标多项式对应的第一证明作为一个事务(transaction)写入私有状态数据库。节点i对该事务执行的结果进行背书,并将背书结果响应给Fabric***的客户端(client),客户端接收到节点i的响应,将该事务发送至排序节点(orderer),使得排序节点进行共识流程。
在共识流程,排序节点接收到客户端的请求,待收集到一定数量的事务后将收集到的事务打包成区块,并发送至区块链网络中的其他节点。
在提交流程,各个节点收到区块后,对区块中的事务进行验证,在通过验证后将读写集(Read-Write set semantics)里面对状态的修改写入状态数据库中。换言之,可以将与节点i的目标多项式对应的第一证明添加至区块链网络所维护的区块链中。基于区块链中数据不可被篡改的特性,存入区块链的第一证明可以作为后续校验过程的可信凭证。
根据本公开的实施例,区块链网络中的每个节点可并发或按照一定顺序执行上述更新准备阶段,即初始化阶段。在各个节点的初始化阶段均完成后,可以进行协商阶段,用于在各个节点生成各自的密钥分部,并确定全局的密钥多项式。
图6示意性示出了根据本公开另一实施例的更新密钥委员会中每个成员存储的密钥分部的流程图。
如图6所示,该更新密钥委员会中每个成员存储的密钥分部除了可以包括上述操作S401~S406,操作S501~S502之外,还可以包括操作S601~S603。
在操作S601,在将当前每个成员对应的密钥子分部发送给对应的成员之后,获取更新协商事务。
根据本公开的实施例,可以通过节点所在组织的组织管理员在节点上执行协商阶段,各个节点的协商阶段可以并发或者顺序执行。例如,通过组织管理员在节点上通过客户端调用链码发起更新协商事务。链码收到更新协商事务的请求后,检查自己是否属于密钥委员会,如果不属于密钥委员会,则返回错误。如果属于密钥委员会,链码可以检查自己收到的密钥子分部Pi(l)的个数是否小于N-1,其中,N为密钥委员会中的成员个数。如果小于N-1,则返回错误。如果等于N-1,可以执行操作S602。
在操作S602,响应于更新协商事务,对接收到的密钥子分部进行校验。
根据本公开的实施例,节点本端可以对其他节点发送给本端的密钥子分部进行校验。
以节点l为例,首先,该节点l在接收到如公式(2)所示的节点i针对节点l的密钥子分部Pi(l)后,对该密钥子分部Pi(l)进行校验。示例性地,可以基于同态(homomorphism)映射原理以及如公式(3)所示的已存入区块链的第一证明,对来源于节点i的密钥子分部Pi(l)进行校验。例如,验证如下公式(4)是否成立。如果成立,则认为密钥子分部Pi(l)校验通过,如果不成立,则认为密钥子分部Pi(l)校验未通过。
同理,节点l对每个其他节点针对节点l生成的密钥子分部均按照上述校验方式进行校验。在各个节点针对节点l的密钥子分部均通过校验后,确定针对密钥子分部的校验通过,节点l执行下一步操作,否则节点l终止执行后续操作。
在操作S603,在校验通过的情况下,基于接收到的密钥子分部更新成员本地存储的密钥分部。
根据本公开的实施例,例如,基于接收到的密钥子分部更新成员本地存储的密钥分部P(l)可以按照如下公式(5)进行计算,其中,Pi(l)为其他节点针对节点l的密钥子分部,P′(l)为更新后的密钥分部。
节点l在更新得到密钥分部P′(l)之后,可以基于该密钥分部P′(l)生成针对节点l的第二证明。例如该第二证明可以为gP(l),节点l可以将该第二证明gP(l)作为一个事务写入私有状态数据库。节点l对该事务执行的结果进行背书,并将背书结果响应给Fabric***的客户端,客户端接收到节点l的响应,将该事务发送至排序节点,以使排序节点进行共识流程。
在共识流程,排序节点接收到客户端的请求,待收集到一定数量的事务后将收集到的事务打包成区块,并发送至区块链网络中的其他节点。
在提交流程,各个节点收到区块后,对区块中的事务进行验证,在通过验证后将读写集里面对状态的修改写入状态数据库中。换言之,将针对节点l的第二证明添加至区块链网络所维护的区块链中。基于区块链中数据不可被篡改的特性,存入区块链的第二证明可以作为后续校验过程的可信凭证。
同理,区块链网络中的每个节点可按照如上方式对接收到的密钥子分部进行校验,并在校验通过后生成各自的密钥分部,基于该密钥分部生成相应的第二证明,并将第二证明存入区块链中。区块链网络中的每个节点可并发或按照一定顺序执行上述协商阶段。
根据本公开的实施例,在各个节点的协商阶段均完成后,可以进入密钥恢复阶段,用于响应区块链网络中的任一节点的请求还原区块链网络的完整密钥。
在密钥恢复阶段,响应于区块链网络中的一个节点(可称为节点A,节点A可以是普通节点或密钥委员会中的成员)发起密钥恢复请求,可以从区块链网络的N个节点中任意选取第一数量个节点。例如该第一数量为K。节点A可以从该K个节点获取K个密钥分部,例如从节点i获取到密钥分部P(i),从节点l获取到密钥分部P(l),以此类推。节点A从区块链上获取这K个节点的第二证明,并基于该第二证明来校验所获取的K个密钥分部的安全性。
示例性地,对于K个密钥分部中的任一密钥分部P(i),该密钥分部P(i)来源于节点i,验证该密钥分部P(i)与节点i的第二证明gP(i)是否相匹配。如果匹配,则确定该密钥分部P(i)校验通过。如果不匹配,则确定该密钥分部P(i)校验未通过。在上述K个密钥分部的校验均通过后,确定针对密钥分部的校验通过。
在确定针对密钥分部的校验通过后,基于K个密钥分部还原完整密钥。例如,K个节点的标识信息为{n1,n2,n3,...,nK},获取到的K个密钥分部为{P(n1),P(n2),P(n3),...,P(nK)}。将{(n1,P(n1)),(n2,P(n2)),(n3,P(n3)),...,(nK,P(nK))}作为一组已知数据,进行多项式插值(interpolation),从而得到如公式(6)所示的密钥多项式。
然后,将指定参数输入至密钥多项式,以得到主密钥P(x)。例如指定参数为0,则本例中最终还原得到的主密钥为P(0)。可以利用该密钥进行区块链网络中数据的加密或解密操作,保证区块链网络中数据的安全。
通过本公开实施例的数据处理具有以下优点:首先,密钥的生成和存储具有去中心化特点。密钥由区块链网络中的多方共同参与生成与存储。其次,密钥的存储和使用安全。由于网络中任何一方都不持有整个密钥,任何一方只有收集足够的密钥数据后才能恢复整个密钥。再者,具有高可用的特点。整个区块链网络中只要异常的节点数不超过一定的阈值,就可以恢复整个密钥。例如该阈值为通过多项式插值恢复高阶多项式的最低已知数据数量。
图7示意性示出了根据本公开实施例的密钥管理装置的框图。
如图7所示,密钥管理装置700可以应用于包括多个节点的区块链网络,密钥管理装置700包括获取模块710、背书模块720、验证模块730和创建模块740。
获取模块710用于获取用于创建密钥委员会的创建事务,其中,所述密钥委员会用于管理所述区块链网络的密钥,所述密钥委员会中的成员为所述多个节点中的一个或多个节点,所述创建事务包括创建参数。
背书模块720用于对所述创建事务进行背书,得到第一背书结果。
验证模块730用于验证所述第一背书结果是否满足第一背书条件。
创建模块740用于在所述第一背书结果满足所述第一背书条件的情况下,基于所述创建参数创建所述密钥委员会,以便基于所述密钥委员会管理所述区块链网络的密钥。
本公开的实施例实现了一套密钥委员会机制,密钥委员会负责管理维护密钥。由于通过密钥委员会可以管理密钥委员会成员,密钥委员会成员可以伴随业务的发展进行动态调整,使得具有更好的扩展性。解决了通过静态指定区块链网络节点用于管理和存储密钥,无法实现动态调整管理节点的技术问题,达到了适应动态管理的需求的技术效果。
根据本公开的实施例,获取模块710还可以用于获取用于向所述密钥委员会中添加成员的添加事务。
根据本公开的实施例,背书模块720还可以用于对所述添加事务进行背书,得到第二背书结果。
根据本公开的实施例,验证模块730还可以用于验证所述第二背书结果是否满足第二背书条件。
根据本公开的实施例,密钥管理装置700还可以包括添加模块,用于在所述第二背书结果满足所述第二背书条件的情况下,将拟添加节点加入所述密钥委员会。
根据本公开的实施例,获取模块710还可以用于获取用于删除所述密钥委员会中目标成员的删除事务。
根据本公开的实施例,背书模块720还可以用于对所述删除事务进行背书,得到第三背书结果。
根据本公开的实施例,验证模块730还可以用于验证所述第三背书结果是否满足第三背书条件。
根据本公开的实施例,密钥管理装置700还可以包括删除模块,用于在所述第三背书结果满足所述第三背书条件的情况下,将所述目标成员从所述密钥委员会中删除。
根据本公开的实施例,所述区块链网络的密钥包括主密钥和多个密钥分部,所述密钥委员会包括多个成员,每个成员存储所述密钥的一个密钥分部。根据本公开的实施例,密钥管理装置700还可以包括更新模块,用于在创建得到所述密钥委员会之后,更新所述密钥委员会中每个成员存储的密钥分部。
根据本公开的实施例,更新所述密钥委员会中每个成员存储的密钥分部包括:获取更新准备事务;响应于所述更新准备事务,获取所述密钥委员会当前的配置信息,其中,所述配置信息包括所述密钥委员会当前的成员数量、当前每个成员的标识信息和恢复密钥的阈值;基于所述密钥委员会当前的配置信息,随机生成第一预设数量的系数;根据所述第一预设数量的系数构建目标多项式;将所述当前每个成员的标识信息输入所述目标多项式,得到所述当前每个成员对应的密钥子分部;将所述当前每个成员对应的密钥子分部发送给对应的成员,以便所述对应的成员基于接收到的密钥子分部更新对应的密钥分部。
密钥管理装置700还可以包括生成模块,用于基于所述第一预设数量的系数生成与所述目标多项式对应的第一证明。
密钥管理装置700还可以包括广播模块,用于将所述第一证明广播至所述区块链网络,以使所述多个节点将所述第一证明存入区块链。
根据本公开的实施例,获取模块710还可以用于在将所述当前每个成员对应的密钥子分部发送给对应的成员之后,获取更新协商事务。
根据本公开的实施例,验证模块730还可以用于响应于所述更新协商事务,对接收到的密钥子分部进行校验。
根据本公开的实施例,更新模块还可以用于在校验通过的情况下,基于所述接收到的密钥子分部更新成员本地存储的密钥分部。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块710、背书模块720、验证模块730和创建模块740中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块710、背书模块720、验证模块730和创建模块740中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块710、背书模块720、验证模块730和创建模块740中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本公开还提供了一种计算机***,应用于包括多个节点的区块链网络中的至少一个节点,所述计算机***包括:处理器;可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开所述的方法。
图8示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机***的框图。图8示出的计算机***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,计算机***800包括处理器810和可读存储介质820。该计算机***800可以执行根据本公开实施例的方法。
具体地,处理器810例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器810还可以包括用于缓存用途的板载存储器。处理器810可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
可读存储介质820,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
可读存储介质820可以包括计算机程序821,该计算机程序821可以包括代码/计算机可执行指令,其在由处理器810执行时使得处理器810执行根据本公开实施例的方法或其任何变形。
计算机程序821可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序821中的代码可以包括一个或多个程序模块,例如包括821A、模块821B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器810执行时,使得处理器810可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,获取模块710、背书模块720、验证模块730和创建模块740中的至少一个可以实现为参考图8描述的计算机程序模块,其在被处理器810执行时,可以实现上面描述的相应操作。
本公开还提供了一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现本公开所述的方法。该可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种密钥管理方法,应用于包括多个节点的区块链网络,所述方法包括:
获取用于创建密钥委员会的创建事务,其中,所述密钥委员会用于管理所述区块链网络的密钥,所述密钥委员会中的成员为所述多个节点中的一个或多个节点,所述创建事务包括创建参数;
对所述创建事务进行背书,得到第一背书结果;
验证所述第一背书结果是否满足第一背书条件;以及
在所述第一背书结果满足所述第一背书条件的情况下,基于所述创建参数创建所述密钥委员会,以便基于所述密钥委员会管理所述区块链网络的密钥。
2.根据权利要求1所述的方法,还包括:
获取用于向所述密钥委员会中添加成员的添加事务;
对所述添加事务进行背书,得到第二背书结果;
验证所述第二背书结果是否满足第二背书条件;以及
在所述第二背书结果满足所述第二背书条件的情况下,将拟添加节点加入所述密钥委员会。
3.根据权利要求1所述的方法,还包括:
获取用于删除所述密钥委员会中目标成员的删除事务;
对所述删除事务进行背书,得到第三背书结果;
验证所述第三背书结果是否满足第三背书条件;以及
在所述第三背书结果满足所述第三背书条件的情况下,将所述目标成员从所述密钥委员会中删除。
4.根据权利要求1所述的方法,其中,所述区块链网络的密钥包括主密钥和多个密钥分部,所述密钥委员会包括多个成员,每个成员存储所述密钥的一个密钥分部,所述方法还包括:
在创建得到所述密钥委员会之后,更新所述密钥委员会中每个成员存储的密钥分部。
5.根据权利要求4所述的方法,其中,更新所述密钥委员会中每个成员存储的密钥分部包括:
获取更新准备事务;
响应于所述更新准备事务,获取所述密钥委员会当前的配置信息,其中,所述配置信息包括所述密钥委员会当前的成员数量、当前每个成员的标识信息和恢复密钥的阈值;
基于所述密钥委员会当前的配置信息,随机生成第一预设数量的系数;
根据所述第一预设数量的系数构建目标多项式;
将所述当前每个成员的标识信息输入所述目标多项式,得到所述当前每个成员对应的密钥子分部;以及
将所述当前每个成员对应的密钥子分部发送给对应的成员,以便所述对应的成员基于接收到的密钥子分部更新对应的密钥分部。
6.根据权利要求5所述的方法,还包括:
基于所述第一预设数量的系数生成与所述目标多项式对应的第一证明;以及
将所述第一证明广播至所述区块链网络,以使所述多个节点将所述第一证明存入区块链。
7.根据权利要求5所述的方法,还包括:
在将所述当前每个成员对应的密钥子分部发送给对应的成员之后,获取更新协商事务;
响应于所述更新协商事务,对接收到的密钥子分部进行校验;以及
在校验通过的情况下,基于所述接收到的密钥子分部更新成员本地存储的密钥分部。
8.一种密钥管理装置,应用于包括多个节点的区块链网络,所述装置包括:
获取模块,用于获取用于创建密钥委员会的创建事务,其中,所述密钥委员会用于管理所述区块链网络的密钥,所述密钥委员会中的成员为所述多个节点中的一个或多个节点,所述创建事务包括创建参数;
背书模块,用于对所述创建事务进行背书,得到第一背书结果;
验证模块,用于验证所述第一背书结果是否满足第一背书条件;以及
创建模块,用于在所述第一背书结果满足所述第一背书条件的情况下,基于所述创建参数创建所述密钥委员会,以便基于所述密钥委员会管理所述区块链网络的密钥。
9.一种计算机***,应用于包括多个节点的区块链网络中的至少一个节点,所述计算机***包括:
处理器;
可读存储介质,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
10.一种可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010114156.8A CN111294205A (zh) | 2020-02-24 | 2020-02-24 | 密钥管理方法及装置、计算机***以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010114156.8A CN111294205A (zh) | 2020-02-24 | 2020-02-24 | 密钥管理方法及装置、计算机***以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111294205A true CN111294205A (zh) | 2020-06-16 |
Family
ID=71020298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010114156.8A Pending CN111294205A (zh) | 2020-02-24 | 2020-02-24 | 密钥管理方法及装置、计算机***以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111294205A (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108235806A (zh) * | 2017-12-28 | 2018-06-29 | 深圳达闼科技控股有限公司 | 安全访问区块链的方法、装置、***、存储介质及电子设备 |
CN108370318A (zh) * | 2015-12-21 | 2018-08-03 | 万事达卡国际股份有限公司 | 用于使用数字签名的区块链变型的方法和*** |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108712261A (zh) * | 2018-05-10 | 2018-10-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
CN109039649A (zh) * | 2018-08-03 | 2018-12-18 | 北京大学深圳研究生院 | 一种ccn中基于区块链的密钥管理方法、装置及存储介质 |
CN109669986A (zh) * | 2018-12-12 | 2019-04-23 | 深圳乐信软件技术有限公司 | 基于区块链的黑名单共享方法、装置、设备和存储介质 |
CN109672529A (zh) * | 2019-01-07 | 2019-04-23 | 苏宁易购集团股份有限公司 | 一种结合区块链和秘密共享的去匿名化的方法及*** |
CN109768863A (zh) * | 2019-01-16 | 2019-05-17 | 杭州趣链科技有限公司 | 一种基于椭圆曲线的区块链密钥共享和动态更新方法 |
CN110197082A (zh) * | 2019-05-31 | 2019-09-03 | 联想(北京)有限公司 | 数据处理方法、数据处理装置和计算机*** |
CN110245186A (zh) * | 2019-05-21 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 一种基于区块链的业务处理方法及相关设备 |
US20190305938A1 (en) * | 2018-03-30 | 2019-10-03 | Spyrus, Inc. | Threshold secret share authentication proof and secure blockchain voting with hardware security modules |
US20190342084A1 (en) * | 2018-05-03 | 2019-11-07 | International Business Machines Corporation | Blockchain for on-chain management of off-chain storage |
CN110503433A (zh) * | 2019-08-28 | 2019-11-26 | 北京百度网讯科技有限公司 | 一种区块链中背书的实现方法、装置、设备和介质 |
CN110602138A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN110688425A (zh) * | 2018-07-06 | 2020-01-14 | 国际商业机器公司 | 针对区块链的条件性延期事务 |
-
2020
- 2020-02-24 CN CN202010114156.8A patent/CN111294205A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108370318A (zh) * | 2015-12-21 | 2018-08-03 | 万事达卡国际股份有限公司 | 用于使用数字签名的区块链变型的方法和*** |
CN108418680A (zh) * | 2017-09-05 | 2018-08-17 | 矩阵元技术(深圳)有限公司 | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 |
CN108235806A (zh) * | 2017-12-28 | 2018-06-29 | 深圳达闼科技控股有限公司 | 安全访问区块链的方法、装置、***、存储介质及电子设备 |
US20190305938A1 (en) * | 2018-03-30 | 2019-10-03 | Spyrus, Inc. | Threshold secret share authentication proof and secure blockchain voting with hardware security modules |
US20190342084A1 (en) * | 2018-05-03 | 2019-11-07 | International Business Machines Corporation | Blockchain for on-chain management of off-chain storage |
CN108712261A (zh) * | 2018-05-10 | 2018-10-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
CN110688425A (zh) * | 2018-07-06 | 2020-01-14 | 国际商业机器公司 | 针对区块链的条件性延期事务 |
CN109039649A (zh) * | 2018-08-03 | 2018-12-18 | 北京大学深圳研究生院 | 一种ccn中基于区块链的密钥管理方法、装置及存储介质 |
CN109669986A (zh) * | 2018-12-12 | 2019-04-23 | 深圳乐信软件技术有限公司 | 基于区块链的黑名单共享方法、装置、设备和存储介质 |
CN109672529A (zh) * | 2019-01-07 | 2019-04-23 | 苏宁易购集团股份有限公司 | 一种结合区块链和秘密共享的去匿名化的方法及*** |
CN109768863A (zh) * | 2019-01-16 | 2019-05-17 | 杭州趣链科技有限公司 | 一种基于椭圆曲线的区块链密钥共享和动态更新方法 |
CN110245186A (zh) * | 2019-05-21 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 一种基于区块链的业务处理方法及相关设备 |
CN110197082A (zh) * | 2019-05-31 | 2019-09-03 | 联想(北京)有限公司 | 数据处理方法、数据处理装置和计算机*** |
CN110503433A (zh) * | 2019-08-28 | 2019-11-26 | 北京百度网讯科技有限公司 | 一种区块链中背书的实现方法、装置、设备和介质 |
CN110602138A (zh) * | 2019-09-26 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络的数据处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3721603B1 (en) | System and method for creating decentralized identifiers | |
JP7382108B2 (ja) | ブロックチェーンのための効率的な検証 | |
US10917230B2 (en) | Managing sensitive data elements in a blockchain network | |
US20200145223A1 (en) | System and method for blockchain-based notification | |
US11228452B2 (en) | Distributed certificate authority | |
KR102467596B1 (ko) | 블록 체인 구현 방법 및 시스템 | |
US11741083B2 (en) | Cross-shard private atomic commit | |
Zhu et al. | Cooperative provable data possession for integrity verification in multicloud storage | |
EP3362936B1 (en) | Trusted platforms using minimal hardware resources | |
JP2020528224A (ja) | 信頼できる実行環境におけるスマート契約動作のセキュアな実行 | |
US11387979B2 (en) | Partially-ordered blockchain | |
AU2019204712A1 (en) | Managing sensitive data elements in a blockchain network | |
CN112241919B (zh) | 具有数据流控制的多域区块链网络 | |
EP1978468A1 (en) | A method and a system for secure execution of workflow tasks in a distributed workflow management system within a decentralized network system | |
Thangavel et al. | Enabling ternary hash tree based integrity verification for secure cloud data storage | |
US11240003B2 (en) | Consent-based data management | |
US20210374112A1 (en) | Migration support system, migration support method, and node | |
JP2023524715A (ja) | ネットワーク間の識別情報プロビジョニング | |
JP6868728B2 (ja) | パーミッションドブロックチェーンアプリケーションの継続的デリバリのための方法及び装置 | |
Mishra et al. | Dynamic large branching hash tree based secure and efficient dynamic auditing protocol for cloud environment | |
JP2024509666A (ja) | ブロックチェーンデータセグリゲーション | |
Zhou et al. | An efficient and secure data integrity auditing scheme with traceability for cloud-based EMR | |
JP2023551124A (ja) | 自己監査ブロックチェーン | |
JP7319461B2 (ja) | コンソーシアムブロックチェーンを用いてプライベートデータを保持する方法および装置 | |
CN111355576B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200616 |