HK40019998A - 联盟区块链网络中的非对称密钥管理 - Google Patents
联盟区块链网络中的非对称密钥管理 Download PDFInfo
- Publication number
- HK40019998A HK40019998A HK62020009844.5A HK62020009844A HK40019998A HK 40019998 A HK40019998 A HK 40019998A HK 62020009844 A HK62020009844 A HK 62020009844A HK 40019998 A HK40019998 A HK 40019998A
- Authority
- HK
- Hong Kong
- Prior art keywords
- key
- participant
- service
- service key
- computer
- Prior art date
Links
Description
背景技术
分布式账本系统(DLS),也可以称为共识网络和/或区块链网络,使参与实体能够安全地且不可篡改地存储数据。在不引用任何特殊用例(例如,加密货币)的情况下,DLS通常被称为区块链网络。区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。公有区块链网络向所有实体开放使用DLS,并开放参与共识过程。针对特定实体提供私有区块链网络,由该特定实体集中控制读写权限。针对选择的实体组群提供联盟区块链网络,该实体组群控制共识过程,联盟区块链网络包括访问控制层。
联盟区块链网络可以被描述为轻度中心化的或多中心的,联盟区块链网络的每个节点被联盟中的参与者操作。也就是说,参与者加入区块链网络以形成具有相同服务请求的联盟,并且每个节点维护区块链操作。在联盟区块链网络中,联盟区块链建立起被授权的联盟参与者的信任基础。与其中所有交易信息以明文形式存储在公有区块链中的公有区块链网络不同,联盟区块链网络中的数据被加密,并作为密文存储在联盟区块链上。因此,联盟区块链网络需要密钥管理功能来实现隐私隔离以及联盟区块链网络中的共享。
发明内容
本说明书的实施方式包括用于管理区块链网络中的加密密钥的计算机实现的方法。更具体地,本说明书的实施方式涉及联盟区块链网络中的非对称加密密钥的管理。
本说明书的实施方式提供了对区块链即服务(BaaS)平台内的联盟区块链网络的服务密钥的管理。在一些实施方式中,操作包括:接收BaaS平台内提供的联盟区块链网络中的参与者对服务密钥的请求,基于记录联盟区块链网络内的参与者特权的服务授权表来确定参与者被授权服务密钥,提供包括服务密钥的加密私钥和服务密钥的公钥的密钥包,并将密钥包发送给参与者,该参与者使用与该参与者关联的公钥来解密服务密钥的私钥。其他实施方式包括被配置为执行编码在计算机存储设备上的方法的动作的相应的系统、装置和计算机程序。
这些以及其他实施方式各自可选地包括以下特征中的一个或多个:操作还包括:在接收参与者对服务密钥的请求之前,从参与者接收身份证书;该身份证书作为加密身份证书被接收,并且BaaS平台使用参与者的公钥解密该身份证书;动作项还包括:使用与参与者相关联的公钥来加密服务密钥的私钥;响应于确定参与者被授权服务密钥,使用密钥导出函数(KDF)密钥树生成服务密钥;在将密钥包发送给参与者之后,BaaS平台中不存在服务密钥;并且参与者使用服务密钥的私钥来加密与联盟区块链网络内的一个或多个其他参与者的交易。
本说明书还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。
本说明书还提供了用于实施本文提供的所述方法的系统。该系统包括一个或多个处理器,以及耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。
应了解,根据本说明书的方法可包括本文描述的方面和特征的任何组合。也就是说,根据本说明书的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任何组合。
在以下附图和描述中阐述了本说明书的一个或多个实施方式的细节。根据说明书和附图以及权利要求,本说明书的其他特征和优点将显而易见。
附图说明
图1描绘了可用于执行本说明书的实施方式的示例环境。
图2描绘了根据本说明书的实施方式的示例概念架构。
图3A描绘了根据本说明书的实施方式的示例模块架构。
图3B描绘了根据本说明书的实施方式的示例流程图。
图4描绘了根据本说明书的实施方式的可执行的示例过程。
各附图中的相同附图标记表示相同要素。
具体实施方式
本说明书的实施方式包括用于管理区块链网络中的加密密钥的计算机实现的方法。更具体地,本说明书的实施方式涉及联盟区块链网络中的服务密钥的管理,所述服务密钥被提供为非对称加密密钥。
本说明书的实施方式提供了对区块链即服务(BaaS)平台内的联盟区块链网络的服务密钥的管理。在一些实施方式中,操作包括:从BaaS平台内提供的联盟区块链网络中的参与者接收对服务密钥的请求,基于联盟区块链网络内的记录参与者特权的服务授权表来确定该参与者被授权服务密钥,提供包括服务密钥的加密私钥和服务密钥的公钥的密钥包,并将密钥包发送给该参与者,该参与者使用与该参与者关联的公钥解密服务密钥的私钥。
为本说明书实施方式提供进一步的背景,并且如上所述,分布式账本系统(DLS)也可以称为共识网络(例如,由点对点节点组成)和区块链网络,使参与实体能够安全地、不可篡改地进行交易和存储数据。尽管术语“区块链”一词通常与比特币加密货币网络相关联,但是本文所使用的区块链在不涉及任何特殊用例的情况下,通常指代DLS。如上所述,区块链网络可以被提供为公有区块链网络、私有区块链网络或联盟区块链网络。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,数百、数千、甚至数百万个实体可以协同运作公有区块链网络,每个实体操作公共区块链网络中的至少一个节点。因此,公共区块链网络可以被认为是针对参与实体的公有网络。在一些示例中,大多数实体(节点)必须对每个区块签名从而使得该区块有效,并被添加到区块链网络的区块链(分布式账本)中。示例性公有区块链网络包括作为点对点支付网络的比特币网络。比特币网络利用称为区块链的分布式账本。然而,如上所述,术语“区块链”通常用于指代分布式账本,而不特别指代比特币网络。
通常,公有区块链网络支持公开交易。公开交易在公有区块链网络内的所有节点间共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链。也就是说,所有节点相对于全局区块链处于完全共识状态。为了达成共识(例如,同意向区块链添加区块),在公有区块链网络内实施共识协议。示例性共识协议包括但不限于在比特币网络中实施的工作量证明(POW)机制。
通常,为特定实体提供私有区块链网络,该特定实体集中控制读写权限。该特定实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其限制允许谁参与网络,以及它们的参与级别(例如,仅在某些交易中)。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制准入)。
通常,联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由被授权的节点组控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构,保险公司)组成的联盟可以操作联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。因此,联盟区块链网络可以被认为是关于参与实体的私有网络。在一些示例中,每个实体(节点)必须对每个区块进行签名,从而使得该区块有效并且被添加到区块链中。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个区块签名,从而使区块有效并且被添加到区块链中。
本文参考联盟区块链网络进一步详细描述了本说明书的实施方式,该联盟区块链网络在参与实体中是部分公有的。然而,可以预期,本说明书的实施方式可以在任何适当类型的区块链网络中实现。
为了提供本说明书的实施方式的上下文说明,并且如上所述,联盟区块链网络可以被认为是轻度中心化的或多中心的,因为联盟区块链网络的每个节点由联盟中的参与者操作。例如,参与者(例如,企业)形成参与在联盟区块链网络中的联盟,在该联盟区块链网络中使用相同类型的服务请求,并且每个节点维护区块链的操作。在联盟区块链网络中,区块链建立起被授权的联盟参与者的信任基础。这与公有区块链网络形成对比,例如,在该公有区块链网络中,所有交易信息以明文存储在公有区块链中,并且对所有参与者是透明的。在联盟区块链网络中,数据被加密为密文,并被存储在区块链上。
因此,联盟区块链网络利用密钥管理功能来实现隐私隔离(例如,将数据与联盟区块链网络中的其他参与者隔离),以及参与者之间的共享。也就是说,为了在联盟区块链网络内启用加密,参与者使用加密密钥。例如,每个参与者都有私钥、公钥对(私钥-公钥对),其用于加密/解密数据和验证交易。例如,参与者的公钥可用于验证参与者发起的交易的数据。鉴于此,在联盟区块链网络中实现密钥管理功能,以确保隐私隔离以及联盟区块链网络内的共享。
在一些实施方式中,用于在联盟区块链网络内加密交易的加密密钥对可以被称为服务密钥(即,私钥-公钥对)。在一些示例中,服务密钥以服务类型为单位导出。每个服务密钥具有不同的参与者,并且参与者可以在联盟区块链网络内具有多个服务密钥。例如,服务密钥可以对应于联盟区块链网络内的参与者之间的交易。作为非限制性示例,第一参与者和第二参与者可以具有使得能够在联盟区块链网络内的第一参与者和第二参与者之间进行私人交易的相应服务密钥。第一参与者和第三参与者可以具有使得能够在联盟区块链网络内的第一参与者和第三参与者之间进行私人交易的相应服务密钥。在该示例中,第一参与者具有一组服务密钥,其中一个服务密钥用于与第二参与者的交易,另一个服务密钥用于与第三参与者的交易。
为了提供进一步的上下文说明,企业可以代表用户提供区块链网络。例如,企业可以提供区块链即服务(BaaS)模型,通过该模型可以建立多个不同的区块链网络。作为非限制性示例,企业可以提供BaaS平台,并且第一联盟参与者可以参与BaaS平台内的第一联盟区块链网络,并且第二联盟参与者可以参与BaaS平台内的第二联盟区块链网络。通常,运营BaaS平台的企业提供基础设施和管理服务,以及许多其他服务。
BaaS平台上承载的联盟区块链网络中的每个参与者向BaaS平台提供身份证明。例如,每个参与者向BaaS平台提供身份证书。在一些示例中,身份证书能够启用利用安全协议的通信。示例性安全协议包括但不限于传输层安全(TLS)和安全套接字层(SSL)。例如,OpenSSL可用于生成用于参与者和BaaS平台(例如,BaaS服务器)之间的安全通信的身份证书(SSL证书)。BaaS平台使用身份证书来确认通信源的身份。
在提供联盟区块链网络时,BaaS平台需要确保管理员和每个联盟区块链网络的参与者可以简单且安全地配置并获得服务密钥。管理员可以使用多种密钥分发技术来向参与者传输密钥。示例性密钥分发技术可以包括但不限于Diffie-Hellman密钥交换和离线密钥分发。Diffie-Hellman密钥交换是一种在不受信任的信道环境中实现密钥交换的加密技术。离线密钥分发通过借助邮件或其他信道向指定的接收者发送密钥来使密钥与联盟区块链网络分离。
虽然传统的密钥分发技术对于单个密钥的传输是有效的,但是在联盟区块链网络中的多个服务密钥的情况下,这种技术是不可取的。特别是由于每个服务密钥可能有不同的参与者组合这种情况。此外,在传统技术中,服务密钥需要存储在中心化的数据库中,这增加了整体系统风险。此外,传统的密钥分发技术高度依赖于信道安全性。例如,如果在公有环境中执行密钥分发,则很容易泄漏密钥,并使系统面临风险。
鉴于以上描述,本说明书的实施方式涉及联盟区块链网络中的非对称加密密钥(服务密钥)的管理。在一些实施方式中,并且如本文中进一步详细描述的,BaaS平台使用非对称密钥导出技术来导出服务密钥。但是,BaaS平台不保存服务密钥。根据本说明书的实施方式,联盟区块链网络的管理员可以通过BaaS平台根据不同的服务密钥来授权参与者。在一些实施方式中,使用包含在相应参与者的身份证书中的公钥(例如,上传到BaaS平台的联盟区块链网络中的参与者的身份证书)来加密服务密钥。以这种方式,确保了只有指定的参与者才可以解密服务密钥(如上所述,服务密钥被提供为私钥-公钥对)的私钥。
图1描绘了可用于执行本说明书的实施方式的示例环境100。在一些示例中,示例环境100使得实体能够参与联盟区块链网络102中。示例环境100包括计算系统106、108和网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且将网站、用户设备(例如,计算设备)和后端系统连接起来。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。
在所描绘的示例中,计算系统106、108可以各自包括能够作为联盟区块链网络102中的节点参与的任何适当的计算系统。示例计算设备包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备和智能电话。在一些示例中,计算系统106、108承载一个或多个由计算机实现的服务,用于与联盟区块链网络102交互。例如,计算系统106可以承载第一实体(例如,用户A)的计算机实现的服务,例如第一实体用来管理其与一个或多个其他实体(例如,其他用户)的交易的交易管理系统。计算系统108可以承载第二实体(例如,用户B)的计算机实现的服务,例如第二实体用来管理其与一个或多个其他实体(例如,其他用户)的交易的交易管理系统。在图1的示例中,联盟区块链网络102被表示为节点的点对点网络(Peer-to-peer network),并且计算系统106、108分别提供参与联盟区块链网络102的第一实体和第二实体的节点。
图2描绘了根据本说明书的实施方式的示例概念架构200。示例概念架构200包括实体层202、承载服务层204和区块链网络层206。在所描绘的示例中,实体层202包括三个实体,实体1(E1)、实体2(E2)和实体3(E3),每个实体具有相应的交易管理系统208。
在所描绘的示例中,承载服务层204包括用于每个交易管理系统208接口210。在一些示例中,相应的交易管理系统208利用协议(例如,超文本传输协议安全(HTTPS))在网络上(例如,图1的网络110)与相应的接口210通信。在一些示例中,每个接口210提供相应的交易管理系统208与区块链网络层206之间的通信连接。更具体地,接口210与区块链网络层206的区块链网络212通信。在一些示例中,使用远程过程调用(RPC)来进行接口210与区块链网络层206之间的通信。在一些示例中,接口210“承载”用于相应交易管理系统208的区块链网络节点。例如,接口210提供用于访问区块链网络212的应用编程接口(API)。
如本文所述,区块链网络212被提供为点对点网络,其包括在区块链216中不可篡改地记录信息的多个节点214。尽管示意性地描绘了单个区块链216,但是在区块链网络212上提供并维护了区块链216的多个副本。例如,每个节点214存储区块链的副本。在一些实施方式中,区块链216存储与在参与联盟区块链网络的两个或更多个实体之间执行的交易相关联的信息。
如上所述,本说明书的实施方式涉及联盟区块链网络中的非对称加密密钥的管理。在一些实施方式中,管理员使用密钥导出函数(KDF)密钥树来为联盟区块链网络中的参与者生成服务密钥。如本文所述,管理员不保存服务密钥。取而代之的是,管理员维护一数据表,该数据表定义每个参与者对相应服务密钥的访问。继续上面的示例,联盟区块链网络可以使得能够在第一参与者和第二参与者以及第一参与者和第三参与者之间进行私有交易。因此,在该示例中,数据表指示第一参与者具有与第二参与者和第三参与者的交易的访问特权,第二参与者具有与第一参与者的交易的访问特权,并且第三参与者具有与第一参与者的交易的访问特权。
当参与者(例如,向BaaS平台)发送对服务密钥的请求时,基于数据表验证参与者的访问权限,服务密钥由BaaS平台创建并被提供给参与者。继续上面的示例,第一参与者可以请求用于与第二参与者的安全交易的服务密钥。BaaS平台可以参照数据表来确定第一参与者具有用于与第二参与者的安全交易的访问权限,并且作为响应,BaaS平台可以生成服务密钥(私钥-公钥对),加密服务密钥的至少一部分(例如,加密私钥),并将服务密钥发送给第一参与者。然而,服务密钥不存储在BaaS平台上。
如本文所述,本说明书的实施方式将服务密钥的加密与BaaS平台上的联盟区块链网络参与者的身份证书相结合。以这种方式,使用与身份证书相关联的公钥来加密服务密钥,并且只有参与者可以解密(使用用于身份证书的私钥)并获得未加密的服务密钥。
更详细地,参与者i的身份证书与私(秘)钥(SKID_i)和公钥(PKID_i)相关联。参与者存储私钥(SKID_i),并且该私钥不被共享。公钥(PKID_i)被BaaS平台共享。BaaS平台为参与者i生成的服务密钥包括私钥(SKSK_i)和公钥(PKSK_i)。根据本说明书的实施方式,BaaS平台创建发送给参与者的服务密钥包(数据包)。在一些示例中,BaaS平台使用参与者的公钥加密服务密钥的私钥(例如,PKID_i(SKSK_i)),并且提供作为服务密钥的公钥以及服务密钥的加密私钥(例如,[PKSK_i,PKID_i(SKSK_i)])的密钥包。参与者接收密钥包,并使用私钥(SKID_i)解密私钥(SKSK_i)。以这种方
式,参与者获得用于在联盟区块链网络内进行交易的服务密钥。
图3A描绘了根据本说明书的实施方式的示例架构300。示例架构300包括BaaS服务器302和客户端304。客户端304各自与BaaS平台内提供的联盟区块链网络中的相应参与者相关联。在一些实施方式中,BaaS服务器302包括参与者管理模块306、密钥授权模块308和密钥计算模块310。
在一些示例中,参与者管理模块306管理在BaaS平台内提供的每个联盟区块链网络中的参与者。例如,参与者管理模块306存储用于联盟区块链网络中的每个参与者的身份证书和相应的公钥。在一些示例中,密钥授权模块308处理来自参与者的、对服务密钥的请求,以确定参与者是否有权获得所请求的服务密钥。在一些示例中,密钥计算模块310使用KDF密钥树来生成针对各个参与者的服务密钥。
出于说明的目的,将参考图3A和图3B描述来自客户端304(客户端A)的示例服务密钥请求。
图3B描绘了根据本说明书的实施方式的示例流程图320。该示例流程图320包括客户端304(第一参与者(参与者1))和BaaS服务器302。客户端304由BaaS平台提供的联盟区块链网络中的第一参与者操作或代表其进行操作。如本文所述,BaaS服务器302在BaaS平台内提供管理功能。
在一些实施方式中,如本文所述,多个参与者加入BaaS平台以在BaaS平台内建立包括与客户端304相关联的参与者在内的联盟区块链网络。作为建立联盟区块链网络的一部分,参与者接收来自管理员(例如,来自BaaS服务器302)的邀请以将相应的身份证书上传到BaaS平台。
在图3A和图3B的示例中,客户端304使用其私钥加密其身份证书,并将加密的身份证书(例如[SKIC_1(IC1)])上传到BaaS服务器302。BaaS服务器302使用相应的公钥(PKIC_1)解密身份证书,并确认参与者的身份。BaaS服务器302配置联盟区块链网络中的服务密钥许可(访问特权)。例如,并且继续上述示例,BaaS平台302可以在数据表中记录第一参与者被许可分别与第二参与者和第三参与者各自进行私有交易。
客户端304将服务密钥请求发送到BaaS服务器302。在所描绘的示例中,客户端304发送针对服务密钥的服务密钥请求(例如REQ1-2),该服务密钥用以加密第一参与者与第二参与者之间的交易。响应于该请求,BaaS服务器302检查第一参与者的访问权限(例如,使用数据表),并确认第一参与者被授权与第二参与者进行私有交易。作为响应,BaaS服务器302使用KDF密钥树计算相应的服务密钥。
BaaS服务器302提供密钥包以将服务密钥传输到客户端304。如本文所述,BaaS服务器302使用与身份证书相关联的第一参与者的公钥(例如,PKIC_1)来加密服务密钥的私钥(例如,PKIC_1(SKSK_1))。密钥包包括服务密钥的公钥以及服务密钥的加密的私钥(例如,[PKSK_1,PKIC_1(SKSK_1)])。BaaS服务器302将数据包发送到客户端304。客户端304使用与第一参与者的身份证书相关联的私钥(例如,SKIC_1)来解密服务密钥的加密的私钥。
每次第一参与者需要新的服务密钥时,重复示例流程图320的至少一部分。例如,为了与第三参与者进行交易,第一参与者发送针对服务密钥的另一服务密钥请求(例如,REQ1-3)),该服务密钥用以加密第一参与者与第二参与者之间的交易。作为响应,BaaS服务器302可以向第一参与者提供另一服务密钥,以使第一参与者能够与联盟区块链网络内的第三参与者安全地通信。因此,第一参与者维护至少两组服务密钥(例如,用于与第二参与者进行交易的服务密钥,以及用于与第三参与者进行交易的服务密钥),而BaaS平台不存储服务密钥。
图4描绘了可以根据本说明书的实施方式执行的示例过程400。在一些实施方式中,可以使用一个或多个计算设备执行的一个或多个计算机可执行程序来执行示例过程400。
请求参与者身份证书(402)。例如,作为在BaaS平台内建立联盟区块链网络的一部分,BaaS服务器向联盟区块链网络的每个参与者发送身份证书请求。接收参与者身份证书(404)。例如,响应于身份证书请求,各参与者向BaaS服务器发送身份证书(例如,使用参与者的私钥加密的身份证书),并且BaaS服务器使用参与者的公钥解密该身份证书。
记录各个参与者的访问特权(406)。例如,对于每个参与者,BaaS服务器在服务授权表(数据表)中记录一个或多个服务类型。继续上面的第一、第二、第三参与者示例,服务授权表可以分别记录第一参与者能够与第二参与者、第三参与者进行安全交易,记录第二参与者能够与第一参与者进行安全交易,以及记录第三参与者能够与第一参与者进行安全交易。
接收服务密钥请求(408)。例如,为了能够在联盟区块链网络内进行安全交易,参与者需要首先请求适当的服务密钥。例如,对于与第二参与者(或第三参与者)进行安全交易的第一参与者,第一参与者向BaaS平台发送相应的服务密钥请求。确定是否对参与者授权了所请求的服务密钥(410)。例如,BaaS服务器参考服务授权表以确定是否对发送请求的参与者授权了该服务。如果参与者未被授权所请求的服务密钥,则发送错误(412)。
如果参与者被授权所请求的服务密钥,则生成服务密钥(414)。例如,BaaS服务器使用KDF密钥树生成服务密钥(私钥-公钥对)。提供密钥包(416)。例如,BaaS服务器使用参与者的公钥加密服务密钥的私钥,并创建包括服务密钥的公钥和加密私钥的服务密钥包。服务密钥包被发送给参与者(418)。BaaS服务器将服务密钥包发送给参与者。如本文所述,参与者使用参与者的私钥解密服务密钥的加密的私钥。
所描述的特征可以在数字电子电路中实现,或者在计算机硬件、固件、软件或它们的组合中实现。该装置可以以有形地体现在信息载体中(例如,在机器可读存储设备中)的计算机程序产品的形式实现,以被可编程处理器执行;且方法步骤可以由可编程处理器执行指令程序来进行,以通过对输入数据进行操作并生成输出来执行上述实施方式的功能。所描述的特征可有利地在可编程系统上执行的一个或多个计算机程序中实现,所述可编程系统包括至少一个可编程处理器,该可编程处理器被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向其发送数据和指令。计算机程序是可以直接或间接地在计算机中使用以执行特定活动或带来某种结果的一组指令。计算机程序可以用包括编译或解释语言的任何形式的编程语言编写,并且可以以任何形式部署,包括部署作为独立程序或作为模块、组件、子程序或适合用于计算环境的其他单元。
用于执行指令程序的合适处理器包括,例如,通用和专用微处理器、以及任何类型的计算机的唯一处理器或多个处理器之一。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还可以包括或可操作地耦合以与用于存储数据文件的一个或多个大容量存储设备通信;这些设备包括磁盘,例如内部硬盘和可移动磁盘;磁光盘;和光盘。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备,诸如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以补充有专用集成电路(ASIC)或集成在专用集成电路(ASIC)中。
为了提供与用户的交互,这些特征可以在计算机上实现,该计算机具有用于向用户显示信息的诸如阴极射线管(CRT)或液晶显示器(LCD)监视器之类的显示设备,以及用户可以用来向计算机提供输入的键盘和诸如鼠标或轨迹球的指针设备。
这些特征可以在包括后端组件(例如数据服务器)、或者包括中间件组件(例如应用服务器或因特网服务器)、或者包括前端组件(例如具有图形用户界面或因特网浏览器的客户端计算机)、或者它们的任意组合的计算机系统中实现。系统的组件可以通过诸如通信网络的任何形式或介质的数字数据通信连接。通信网络的示例包括例如局域网(LAN)、广域网(WAN)以及形成因特网的计算机和网络。
计算机系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过网络(例如所描述的网络)进行交互。客户端和服务器的关系借助在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
另外,图中描绘的逻辑流程不需要按所示的特定顺序或顺序次序来实现期望的结果。另外,可以从所描述的流程中提供其他步骤,或者可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的系统或从所述系统中移除该组件。因此,其他实施方式在以下权利要求的范围内。
已经描述了本说明书的多种实施方式。然而,应该理解,在不脱离本说明书的主旨和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。
Claims (21)
1.一种计算机实现的方法,所述方法用于管理区块链即服务BaaS平台内的联盟区块链网络的服务密钥,所述方法包括:
接收所述BaaS平台内提供的联盟区块链网络中的参与者对服务密钥的请求;
基于记录所述联盟区块链网络内的参与者特权的服务授权表,确定所述参与者被授权所述服务密钥;
提供包括所述服务密钥的加密私钥和所述服务密钥的公钥的密钥包;以及
将所述密钥包发送给所述参与者,所述参与者使用与所述参与者相关联的私钥来解密所述服务密钥的所述私钥。
2.如权利要求1所述的方法,所述方法还包括:
在接收所述参与者对所述服务密钥的请求之前,从所述参与者接收身份证书。
3.如权利要求2所述的方法,其中,
所述身份证书作为加密的身份证书被接收,并且
所述BaaS平台使用所述参与者的公钥来解密所述身份证书。
4.如权利要求1所述的方法,所述方法还包括:
使用与所述参与者相关联的公钥来加密所述服务密钥的所述私钥。
5.如权利要求1所述的方法,其中,响应于确定所述参与者被授权所述服务密钥,使用密钥导出函数KDF密钥树来生成所述服务密钥。
6.如权利要求1所述的方法,其中,在将所述密钥包发送给所述参与者之后,所述BaaS平台中不存在所述服务密钥。
7.如权利要求1所述的方法,其中,所述参与者使用所述服务密钥的所述私钥来加密与所述联盟区块链网络内的一个或多个其他参与者的交易。
8.一个或多个计算机可读存储介质,所述计算机可读存储介质编码有指令,所述指令在被一个或多个计算机执行时,促使所述一个或多个计算机执行用于管理区块链即服务BaaS平台内的联盟区块链网络的服务密钥的操作,所述操作包括:
接收所述BaaS平台内提供的联盟区块链网络中的参与者对服务密钥的请求;
基于记录所述联盟区块链网络内的参与者特权的服务授权表,确定所述参与者被授权所述服务密钥;
提供包括所述服务密钥的加密私钥和所述服务密钥的公钥的密钥包;以及
将所述密钥包发送给所述参与者,所述参与者使用与所述参与者相关联的私钥来解密所述服务密钥的所述私钥。
9.如权利要求8所述的计算机可读存储介质,其中,所述操作还包括:在接收所述参与者对所述服务密钥的请求之前,从所述参与者接收身份证书。
10.如权利要求9所述的计算机可读存储介质,其中,所述身份证书作为加密的身份证书被接收,并且所述BaaS平台使用所述参与者的公钥来解密所述身份证书。
11.如权利要求8所述的计算机可读存储介质,其中,所述操作还包括:使用与所述参与者相关联的公钥来加密所述服务密钥的所述私钥。
12.如权利要求8所述的计算机可读存储介质,其中,响应于确定所述参与者被授权所述服务密钥,使用密钥导出函数KDF密钥树来生成所述服务密钥。
13.如权利要求8所述的计算机可读存储介质,其中,在将所述密钥包发送给所述参与者之后,所述BaaS平台中不存在所述服务密钥。
14.如权利要求8所述的计算机可读存储介质,其中,所述参与者使用所述服务密钥的所述私钥来加密与所述联盟区块链网络内的一个或多个其他参与者的交易。
15.一种系统,包括:
一个或多个计算机;以及
一个或多个计算机可读存储器,所述一个或多个计算机可读存储器耦合到所述一个或多个计算机并配置有所述一个或多个计算机可执行的指令,所述一个或多个计算机执行所述指令以:
接收所述BaaS平台内提供的联盟区块链网络中的参与者对服务密钥的请求;
基于记录所述联盟区块链网络内的参与者特权的服务授权表,确定所述参与者被授权所述服务密钥;
提供包括所述服务密钥的加密私钥和所述服务密钥的公钥的密钥包;以及
将所述密钥包发送给所述参与者,所述参与者使用与所述参与者相关联的私钥来解密所述服务密钥的所述私钥。
16.如权利要求15所述的系统,其中,所述一个或多个计算机可读存储器配置有所述一个或多个计算机可执行的进一步指令,所述一个或多个计算机执行所述指令以:
在接收所述参与者对所述服务密钥的请求之前,从所述参与者接收身份证书。
17.如权利要求16所述的系统,其中,所述身份证书作为加密的身份证书被接收,并且所述BaaS平台使用所述参与者的公钥来解密所述身份证书。
18.如权利要求15所述的系统,其中,所述一个或多个计算机可读存储器配置有所述一个或多个计算机可执行的进一步指令,所述一个或多个计算机执行所述指令以:
使用与所述参与者相关联的公钥来加密所述服务密钥的所述私钥。
19.如权利要求15所述的系统,其中,响应于确定所述参与者被授权所述服务密钥,使用密钥导出函数KDF密钥树来生成所述服务密钥。
20.如权利要求15所述的系统,其中,在将所述密钥包发送给所述参与者之后,所述BaaS平台中不存在所述服务密钥。
21.如权利要求15所述的系统,其中,所述参与者使用所述服务密钥的所述私钥来加密与所述联盟区块链网络内的一个或多个其他参与者的交易。
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40019998A true HK40019998A (zh) | 2020-10-16 |
| HK40019998B HK40019998B (zh) | 2022-11-18 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110622464B (zh) | 联盟区块链网络中的非对称密钥管理 | |
| EP3654578B1 (en) | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information | |
| US10673626B2 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
| JP6811317B2 (ja) | ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元 | |
| CN108418680B (zh) | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 | |
| CN107528688B (zh) | 一种基于加密委托技术的区块链密钥保管及恢复方法、装置 | |
| US12014361B2 (en) | Systems and methods for improved hot wallet security | |
| CN117396869B (zh) | 用于使用分布式账本技术进行安全密钥管理的系统和方法 | |
| JP2023520372A (ja) | 企業環境におけるブロックチェーンの統合、グループ権限とアクセスの管理 | |
| CN115296838B (zh) | 基于区块链的数据共享方法、系统及存储介质 | |
| CN115913513B (zh) | 支持隐私保护的分布式可信数据交易方法、系统及装置 | |
| Shen et al. | SecDM: Securing data migration between cloud storage systems | |
| HK40019998B (zh) | 联盟区块链网络中的非对称密钥管理 | |
| HK40019998A (zh) | 联盟区块链网络中的非对称密钥管理 | |
| US12445265B2 (en) | Systems and methods for secure key management using distributed ledger technology | |
| Parvathi et al. | Trust Your Cloud Service Provider: User Based Crypto Model. | |
| Latha et al. | A New Security Business Frame Work for Resource Attestation in Cloud Environment |