CN115996131A - 基于区块链的密钥处理方法、装置、介质及电子设备 - Google Patents
基于区块链的密钥处理方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN115996131A CN115996131A CN202111221362.XA CN202111221362A CN115996131A CN 115996131 A CN115996131 A CN 115996131A CN 202111221362 A CN202111221362 A CN 202111221362A CN 115996131 A CN115996131 A CN 115996131A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- information
- key
- public key
- identity
- 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
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请的实施例提供了一种基于区块链的密钥处理方法、装置、介质及电子设备。该密钥处理方法包括:接收区块链使用方发送的用于进行密钥变更的第一交易信息,该第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对第一字符串的签名信息,以及区块链使用方的已认证公钥信息;根据已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份密钥;根据查询到的身份密钥对第一字符串的签名信息进行验证;若对第一字符串的签名信息验证通过,则通过区块链使用方的新公钥信息更新区块链使用方在区块链中的已认证公钥信息。本申请实施例的技术方案可以在不使用区块链使用方的私钥的情况下实现对区块链使用方的公钥进行更换。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种基于区块链的密钥处理方法、装置、介质及电子设备。
背景技术
在区块链技术中,链上数据资源一般会和链上地址绑定,若区块链使用方需要更换链上地址,则需要使用原先的公钥和私钥来创建用于更换链上地址的交易信息,然后通过将交易信息上链处理来实现链上地址的更换。但是,如果区块链使用方的私钥丢失,那么就无法对公钥进行更新,进而就无法找回区块链上的数据。
发明内容
本申请的实施例提供了一种基于区块链的密钥处理方法、装置、介质及电子设备,进而至少在一定程度上可以在不使用区块链使用方的原私钥的情况下实现对区块链使用方的公钥进行更换的目的,避免了由于私钥丢失而导致无法找回链上数据的问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种基于区块链的密钥处理方法,包括:接收区块链使用方发送的用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、所述区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;根据所述已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份密钥,其中,所述区块链使用方的身份密钥与所述区块链使用方的已认证公钥信息事先关联存储于所述区块链中;根据查询到的身份密钥对所述第一字符串的签名信息进行验证;若对所述第一字符串的签名信息验证通过,则通过所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
根据本申请实施例的一个方面,提供了一种基于区块链的密钥处理方法,包括:生成用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;向区块链共识节点发送所述第一交易信息,所述第一交易信息用于使所述区块链共识节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份密钥对所述第一字符串的签名信息进行验证,并在验证通过后,根据所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
根据本申请实施例的一个方面,提供了一种基于区块链的密钥处理装置,包括:接收单元,配置为接收区块链使用方发送的用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、所述区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;查询单元,配置为根据所述已认证公钥信息在所述区块链中查询与所述已认证公钥信息相关联的身份密钥,其中,所述区块链使用方的身份密钥与所述区块链使用方的已认证公钥信息事先关联存储于所述区块链中;验证单元,配置为根据查询到的身份密钥对所述第一字符串的签名信息进行验证;处理单元,配置为若对所述第一字符串的签名信息验证通过,则通过所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,所述第一交易信息由所述区块链使用方的新私钥信息进行签名;所述接收单元还配置为:在接收到所述第一交易信息之后,通过所述区块链使用方的新公钥信息对所述第一交易信息进行签名验证,并在验证通过后获取所述第一交易信息中包含的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,所述接收单元还配置为:在接收区块链使用方发送的第一交易信息之前,接收所述区块链使用方发送的用于进行身份密钥绑定的第二交易信息,所述第二交易信息中包含有第二字符串、所述身份密钥针对所述第二字符串的签名信息,以及所述身份密钥;所述验证单元还用于:根据所述身份密钥对所述第二字符串的签名信息进行验证;所述密钥处理装置还包括:存储单元,配置为若对所述第二字符串的签名信息验证通过,则将所述身份密钥与所述区块链使用方的已认证公钥信息关联存储于所述区块链中。
在本申请的一些实施例中,基于前述方案,所述身份密钥包括身份认证私钥和身份认证公钥,所述第二交易信息中包含的所述身份密钥是所述身份认证公钥,所述第二交易信息中包含的签名信息是所述身份认证私钥对所述第二字符串的签名信息。
在本申请的一些实施例中,基于前述方案,所述第二交易信息由所述区块链使用方的已认证公钥信息对应的私钥进行签名;所述接收单元还配置为:在接收到所述第二交易信息之后,通过所述区块链使用方的已认证公钥信息对所述第二交易信息进行签名验证,并在验证通过后获取所述第二交易信息中包含的所述身份密钥。
在本申请的一些实施例中,基于前述方案,所述身份密钥包括身份认证私钥和身份认证公钥,所述第一交易信息中包含的签名信息是所述身份认证私钥对所述第一字符串的签名信息;所述验证单元配置为:根据查询到的身份认证公钥对所述第一字符串的签名信息进行验证。
根据本申请实施例的一个方面,提供了一种基于区块链的密钥处理装置,包括:生成单元,配置为生成用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;发送单元,配置为向区块链共识节点发送所述第一交易信息,所述第一交易信息用于使所述区块链共识节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份密钥对所述第一字符串的签名信息进行验证,并在验证通过后,根据所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,所述生成单元还配置为:在向区块链共识节点发送所述第一交易信息之前,生成新公钥信息和所述新公钥信息对应的新私钥信息;所述密钥处理装置还包括:签名单元,配置为通过所述新私钥信息对所述第一交易信息进行签名,以将签名后的第一交易信息发送至所述区块链共识节点。
在本申请的一些实施例中,基于前述方案,所述生成单元还配置为:在生成用于进行密钥变更的第一交易信息之前,生成用于进行身份密钥绑定的第二交易信息,所述第二交易信息中包含有第二字符串、所述身份密钥针对所述第二字符串的签名信息,以及所述身份密钥;所述发送单元配置为:向区块链共识节点发送所述第二交易信息,所述第二交易信息用于使所述区块链共识节点在根据所述身份密钥对所述第二字符串的签名信息验证通过之后,将所述身份密钥与所述区块链使用方的已认证公钥信息关联存储于所述区块链中。
在本申请的一些实施例中,基于前述方案,所述第一交易信息中包含有指示字段,所述指示字段用于指示所述第一交易信息是用于变更所述区块链使用方的公钥信息。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的基于区块链的密钥处理方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中所述的基于区块链的密钥处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的基于区块链的密钥处理方法。
在本申请的一些实施例所提供的技术方案中,共识节点通过接收区块链使用方发送的用于进行密钥变更的第一交易信息,根据第一交易信息中包含的已认证公钥信息在区块链中查询与已认证公钥信息相关联的身份密钥,并根据查询到的身份密钥对第一字符串的签名信息进行验证,且在对第一字符串的签名信息验证通过之后,通过区块链使用方的新公钥信息更新区块链使用方在区块链中的已认证公钥信息,使得可以在不使用区块链使用方的私钥的情况下实现对区块链使用方的公钥进行更换的目的,避免了由于私钥丢失而导致无法找回链上数据的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了区块链网络的结构示意图;
图2示出了区块链中各区块的连接关系示意图;
图3示出了在账户模型中的账户变动示意图;
图4示出了UTXO模型的实现过程示意图;
图5示出了数据账户与链上地址的绑定关系示意图;
图6示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图7示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图;
图8示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图;
图9示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图;
图10示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图;
图11示出了根据本申请的一个实施例的链上地址与身份认证公钥的绑定关系示意图;
图12示出了根据本申请的一个实施例的身份认证公钥的绑定流程图;
图13示出了根据本申请的一个实施例的身份认证公钥的变更流程图;
图14示出了根据本申请的一个实施例的基于区块链的密钥处理装置的框图;
图15示出了根据本申请的一个实施例的基于区块链的密钥处理装置的框图;
图16示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在参考附图以更全面的方式描述示例实施方式。然而,示例的实施方式能够以各种形式实施,且不应被理解为仅限于这些范例;相反,提供这些实施方式的目的是使得本申请更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,本申请所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,有许多具体细节从而可以充分理解本申请的实施例。然而,本领域技术人员应意识到,在实施本申请的技术方案时可以不需用到实施例中的所有细节特征,可以省略一个或更多特定细节,或者可以采用其它的方法、元件、装置、步骤等。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
如上所述,区块链本质上是一个去中心化的数据库,而区块链是由区块链网络中的节点共同维护的。比如,在图1所示的区块链网络中,可以包括多个节点101,多个节点101可以是形成区块链网络的各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图2所示,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链网络中各个节点可以是服务器,也可以是终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在相关技术中,区块链主要有两种记录保存方式,一种是账户/余额模型,一种是UTXO(Unspent Transaction Output,未消费的交易输出)模型。为了说明这两种记录保存方式的不同,假设存在如下的场景:张三获得了12.5个虚拟资源。过了几天,张三将其中2.5个虚拟资源支付给李四。又过了几天,张三和李四各出资2.5个虚拟资源凑成5个虚拟资源付给王五。
如果是账户/余额模型的设计,那么张三、李四、王五这3个人在数据库中会各有一个账户,则他们三人的账户变化如图3所示,即每次账户变动仅更改账户中的余额即可。
如果是UTXO模型的设计,那么每笔交易都有若干交易输入,也就是资源来源,并且也都有若干笔交易输出,也就是资源去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是UTXO。
具体来说,图4中所示的交易号为#1001的交易是第一个交易,即张三意外获得了12.5个虚拟资源。第一个交易在被区块链中的各个节点共识确认后,记录在区块链网络中。
过了几天,张三打算付2.5个虚拟资源给李四,张三就发起一笔交易号为#2001的交易,这个交易的资源来源项写着“#1001(1)”,也就是#1001号交易(张三意外获得虚拟资源的那个交易)的第一项UTXO。然后在本交易的交易输出UTXO项中,把2.5个虚拟资源的收款人地址设为李四的地址。
需要注意的是,这一笔交易必须将前面产生那一项12.5个虚拟资源的输出项全部消耗,而由于张三只打算付给李四2.5个虚拟资源,为了要消耗剩下的10个虚拟资源,只好把剩余的那10个虚拟资源支付给自己,这样才能符合输入与输出配平的规则。
再过几天,张三和李四打算合起来给王五付5个虚拟资源。那么张三或李四发起一笔交易号为#3001的交易,在交易输入部分,有两个资源来源,分别是#2001(1)和#2001(2),代表第#2001号交易的第(1)和第(2)项UTXO。然后在这个交易的输出部分如法炮制,给王五5个虚拟资源,把张三剩下的7.5个虚拟资源发还给自己。以后王五若要再花这5个虚拟资源,就必须在交易里注明资源的来源是#3001(1)。
因此,在基于UTXO模型的区块链网络中,每个交易数据都会存在输入信息和输出信息,除了第一个交易之外,其它的交易数据的输入信息都会引用一个UTXO,并且输出信息都会产生一个UTXO。当一个新的交易数据的输入引用了一个UTXO之后,该被引用的UTXO会被删除,并且会新产生一个UTXO。
无论是账户/余额模型还是UTXO模型,链上数据资源一般都会和链上地址绑定,若区块链使用方需要更换链上地址,必须要将原地址的数据资源迁移到新公私钥对应的链上地址中,而原地址的数据资源分散在区块链系统和各个业务合约内部,迁移非常困难。为了解决数据资源迁移困难的问题,相关技术中提出了如下的解决方案:如图5所示,整个链上数据由所有的数据账户组成,链上地址在链上的所有数据全部由多个数据账户承载,并聚合在链上地址下,一个链上地址可以绑定多个业务数据账户,合约可以为链上地址建立一个合约内使用的数据账户(如图5中所示的系统数据账户),存储合约内该链上地址相关的数据(如余额balance等),当链上地址参与链上数据变更时,需要修改链上地址对应的数据账户的数据。该方案可以将链上数据的迁移转化为链上数据账户的迁移,解决了迁移成本大的问题。同时,若使用者想更换链上地址/公私钥,可以使用原公私钥创建迁移数据账户的交易,交易上链后,原链上地址对应的数据账户会迁移到新的地址下。但是,如果区块链使用方的私钥丢失,那么就无法对公钥进行更新,进而就无法找回区块链上的数据。
基于上述技术问题,在本申请的一个实施例中,如果区块链使用方想要不借助于私钥来实现更换公钥的目的,那么如图6所示,区块链使用方可以使用区块链使用方终端601生成用于进行身份密钥绑定的交易信息,该第二交易信息中包含有身份密钥、第二字符串(可以是随机字符串或指定字符串)、身份密钥针对该第二字符串的签名信息,然后区块链使用方终端601可以将该交易信息发送给区块链共识节点。
区块链共识节点在接收到区块链使用方终端601发送的用于进行身份密钥绑定的交易信息之后,根据其中的身份密钥对该交易信息中包含的第二字符串的签名信息进行验证,在对验证通过之后,可以将身份密钥与区块链使用方的已认证公钥信息关联存储于区块链中。
在完成上述身份密钥的绑定过程之后,如果区块链使用方需要变更公钥信息,则可以通过区块链使用方终端601生成用于进行密钥变更的交易信息,该交易信息中包含有第一字符串(可以是随机字符串或指定字符串)、区块链使用方的身份密钥针对第一字符串的签名信息,以及区块链使用方的已认证公钥信息。然后区块链使用方终端601将该交易信息发送给区块链共识节点。
区块链共识节点在接收到区块链使用方发送的用于进行密钥变更的交易信息之后,根据该交易信息中包含的已认证公钥信息在区块链中查询与已认证公钥信息相关联的身份密钥,然后根据查询到的身份密钥对第一字符串的签名信息进行验证,在对第一字符串的签名信息验证通过之后,通过区块链使用方的新公钥信息更新区块链使用方在区块链中的已认证公钥信息。
可见,本申请实施例的技术方案可以在不使用区块链使用方的私钥的情况下实现对区块链使用方的公钥进行更换的目的,避免了由于私钥丢失而导致无法找回链上数据的问题。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
图7示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图,该基于区块链的密钥处理方法可以由区块链共识节点来执行。具体而言,参照图7所示,该基于区块链的密钥处理方法至少包括步骤S710至步骤S740,详细介绍如下:
在步骤S710中,接收区块链使用方发送的用于进行密钥变更的第一交易信息,该第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对第一字符串的签名信息,以及区块链使用方的已认证公钥信息。
可选地,区块链使用方可以通过区块链使用方终端来发送密钥变更请求,区块链使用方终端比如可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等。区块链使用方可以通过区块链使用方终端来从区块链中获取业务数据,比如查询账户余额信息、交易信息等。
用于进行密钥变更的第一交易信息中包含的已认证公钥信息是指已经由区块链共识节点进行了认证,且存储在区块链中的公钥信息,也即区块链使用方原先的公钥信息。可选地,由于在区块链中,链上地址是根据公钥得到的,因此本申请实施例中的公钥信息可以指的是公钥或者也可以是链上地址。
区块链使用方的身份密钥是事先进行了认证并与区块链使用方的已认证公钥信息关联存储于区块链中的,用于进行链上公钥的更换。第一字符串比如可以是随机字符串或者可以是指定的字符串信息等。可选地,身份密钥可以包括身份认证私钥和身份认证公钥,那么第一交易信息中包含的签名信息可以是区块链使用方的身份认证私钥对第一字符串的签名信息。
在步骤S720中,根据区块链使用方的已认证公钥信息在区块链中查询与该已认证公钥信息相关联的身份密钥,其中,区块链使用方的身份密钥与区块链使用方的已认证公钥信息事先关联存储于区块链中。
在本申请的一个实施例中,由于区块链使用方的身份密钥与区块链使用方的已认证公钥信息已经事先关联存储于区块链中了,因此可以根据区块链使用方的已认证公钥信息在区块链中查询到相关联的身份密钥。
可选地,如果第一交易信息由区块链使用方的新私钥信息进行了签名,那么区块链共识节点在接收到第一交易信息之后,可以通过区块链使用方的新公钥信息对第一交易信息进行签名验证,并在验证通过后获取第一交易信息中包含的已认证公钥信息。
在步骤S730中,根据查询到的身份密钥对第一字符串的签名信息进行验证。
需要说明的是:根据查询到的身份密钥对第一字符串的签名信息进行验证可以是根据查询到的身份密钥对该签名信息进行逆签名运算,以确定是否能够得到原始的第一字符串。
可选地,如果身份密钥包括身份认证私钥和身份认证公钥,那么第一交易信息中包含的签名信息是身份认证私钥对第一字符串的签名信息;进而根据查询到的身份密钥对第一字符串的签名信息进行验证的过程具体是根据查询到的身份认证公钥对第一字符串的签名信息进行验证。
在步骤S740中,若对第一字符串的签名信息验证通过,则通过区块链使用方的新公钥信息更新区块链使用方在区块链中的已认证公钥信息。
在本申请的一个实施例中,通过区块链使用方的新公钥信息更新区块链使用方在区块链中的已认证公钥信息的过程即为将新公钥信息作为新的已认证公钥信息存储在区块链中。可选地,由于链上地址是根据公钥得到的,因此新公钥信息可以指的是新公钥或者也可以是新的链上地址。
可选地,区块链使用方的新公钥信息可以从区块链使用方发送的用于进行密钥变更的第一交易信息中获取到。具体地,区块链使用方可以使用新的链上地址来发送第一交易信息,进而区块链共识节点可以基于该第一交易信息来获取到新的链上地址;或者区块链使用方也可以将新公钥信息添加至该第一交易信息中,以便于区块链共识节点进行获取。
基于图7所示实施例的技术方案,图8示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图,该基于区块链的密钥处理方法可以由共识节点来执行。具体而言,参照图8所示,该基于区块链的密钥处理方法至少包括步骤S810至步骤S830,以及图7中所示的步骤S710至步骤S740,详细介绍如下:
在步骤S810中,接收区块链使用方发送的用于进行身份密钥绑定的第二交易信息,该第二交易信息中包含有第二字符串、身份密钥针对第二字符串的签名信息,以及身份密钥。
可选地,身份密钥可以包括身份认证私钥和身份认证公钥,那么第二交易信息中包含的身份密钥可以是身份认证公钥,第二交易信息中包含的签名信息是身份认证私钥对第二字符串的签名信息。第二字符串比如可以是随机字符串或者可以是指定的字符串信息等。
可选地,第二交易信息可以由区块链使用方的已认证公钥信息对应的私钥进行签名,在这种情况下,区块链共识节点在接收到第二交易信息之后,可以通过区块链使用方的已认证公钥信息对第二交易信息进行签名验证,并在验证通过后获取第二交易信息中包含的身份密钥。
在步骤S820中,根据身份密钥对第二字符串的签名信息进行验证。
需要说明的是:根据身份密钥对第二字符串的签名信息进行验证可以是根据身份密钥对该签名信息进行逆签名运算,以确定是否能够得到原始的第二字符串。
可选地,如果身份密钥包括身份认证私钥和身份认证公钥,那么第二交易信息中包含的签名信息是身份认证私钥对第二字符串的签名信息,进而可以根据身份认证公钥对第二字符串的签名信息进行验证。
在步骤S830中,若对第二字符串的签名信息验证通过,则将身份密钥与区块链使用方的已认证公钥信息关联存储于区块链中。
在本申请的一个实施例中,将身份密钥与区块链使用方的已认证公钥信息关联存储于区块链中的过程可以是将身份密钥与区块链使用方的已认证公钥信息进行关联,进而在接收到区块链使用方发送的用于进行密钥变更的第一交易信息时,可以基于区块链使用方的已认证公钥信息获取到关联的身份密钥,以对区块链使用方的身份进行认证,即执行如图7中所示的步骤S710至步骤S740。
以上从区块链共识节点的角度对本申请实施例的技术方案进行了阐述,以下从区块链使用方的角度对本申请实施例的技术方案的实现细节进行详细说明:
图9示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图,该基于区块链的密钥处理方法可以由区块链使用方来执行。具体而言,参照图9所示,该基于区块链的密钥处理方法至少包括步骤S910至步骤S920,详细介绍如下:
在步骤S910中,生成用于进行密钥变更的第一交易信息,该第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对第一字符串的签名信息,以及区块链使用方的已认证公钥信息。
可选地,已认证公钥信息是指已经由区块链共识节点进行了认证,且存储在区块链中的公钥信息,也即区块链使用方原先的公钥信息。由于在区块链中,链上地址是根据公钥得到的,因此本申请实施例中的公钥信息可以指的是公钥或者也可以是链上地址。
区块链使用方的身份密钥是事先进行了认证并与区块链使用方的已认证公钥信息关联存储于区块链中的,用于进行链上公钥的更换。第一字符串比如可以是随机字符串或者可以是指定的字符串信息等。可选地,身份密钥可以包括身份认证私钥和身份认证公钥,那么第一交易信息中包含的签名信息可以是区块链使用方的身份认证私钥对第一字符串的签名信息。
在步骤S920中,向区块链共识节点发送第一交易信息,该第一交易信息用于使区块链共识节点根据在区块链中查询到的与已认证公钥信息相关联的身份密钥对第一字符串的签名信息进行验证,并在验证通过后,根据区块链使用方的新公钥信息更新区块链使用方在区块链中的已认证公钥信息。
可选地,区块链共识节点在接收到第一交易信息之后的处理过程可以参照前述实施例的技术方案。
在本申请的一个实施例中,区块链使用方在向区块链共识节点发送第一交易信息之前,还可以生成新公钥信息和新公钥信息对应的新私钥信息,然后通过新私钥信息对第一交易信息进行签名,以将签名后的第一交易信息发送至区块链共识节点。在这种情况下,区块链共识节点在接收到第一交易信息之后,需要使用区块链使用方的新公钥来进行签名验证。
在本申请的一个实施例中,可选地,第一交易信息中还可以包含有指示字段,该指示字段用于指示第一交易信息是用于变更区块链使用方的公钥信息,进而区块链共识节点在接收到该第一交易信息之后,可以根据该第一交易信息中包含的指示字段确定第一交易信息的用途,以执行密钥变更的相关操作,即图7所示实施例的技术方案。
基于图9所示实施例的技术方案,图10示出了根据本申请的一个实施例的基于区块链的密钥处理方法的流程图,该基于区块链的密钥处理方法可以由区块链使用方来执行。具体而言,参照图10所示,该基于区块链的密钥处理方法至少包括步骤S1010至步骤S1020,以及图9中所示的步骤S910至步骤S920,详细介绍如下:
在步骤S1010中,生成用于进行身份密钥绑定的第二交易信息,该第二交易信息中包含有第二字符串、身份密钥针对第二字符串的签名信息,以及身份密钥。
可选地,身份密钥可以包括身份认证私钥和身份认证公钥,那么第二交易信息中包含的身份密钥可以是身份认证公钥,第二交易信息中包含的签名信息是身份认证私钥对第二字符串的签名信息。第二字符串比如可以是随机字符串或者可以是指定的字符串信息等。
可选地,第二交易信息可以由区块链使用方的已认证公钥信息对应的私钥进行签名,在这种情况下,区块链共识节点在接收到第二交易信息之后,可以通过区块链使用方的已认证公钥信息对第二交易信息进行签名验证,并在验证通过后获取第二交易信息中包含的身份密钥。
在步骤S1020中,向区块链共识节点发送第二交易信息,该第二交易信息用于使区块链共识节点在根据身份密钥对第二字符串的签名信息验证通过之后,将身份密钥与区块链使用方的已认证公钥信息关联存储于区块链中。
可选地,区块链共识节点在接收到第二交易信息之后的处理过程可以参照前述实施例的技术方案,不再赘述。
以下结合图11至图13对本申请实施例的技术方案的实现细节进行详细阐述:
在本申请的一个实施例中,区块链系统可以维护一个链上地址与身份密钥(可以是一个公私钥对)的映射集合,当区块链使用方需要使用链上地址私钥遗失更新的功能时,可以出示链上地址对应的身份密钥签发凭证(该身份密钥签发凭证的实现方式可以是一个身份密钥对特定字符串的签名),区块链共识节点通过验证身份密钥签发凭证是否匹配遗失私钥的链上地址,以确定区块链使用方是否有权限更换密钥。
可选地,身份密钥的实现方式可以是一对非对称密钥,也可以是CA(CertificateAuthority,证书授权)证书的形式,这种方式需要引入第三方链下证书签发权威机构来颁发CA证书。以下以身份密钥是非对称密钥为例(即身份密钥包括身份认证公钥和身份认证私钥)进行说明:
在本申请的一个实施例中,区块链使用方可以将链上地址绑定身份认证公钥,用于链上私钥的强制更换,具体如图11所示,一个链上地址可以绑定多个数据账户,链上地址在链上的所有数据(如业务A数据、业务N数据等)全部由多个数据账户(如数据账户1、数据账户N等)承载,并聚合在链上地址下,合约可以为链上地址建立一个合约内使用的数据账户(如图11中所示的系统数据账户),存储合约内该链上地址相关的数据(如余额balance等)。其中,链上地址绑定的多个数据账户可以形成一个数据账户树,链上地址关联的外部账户状态信息中包含了随机数nonce、数据账户树root和身份认证公钥。
在本申请的一个实施例中,如图12所示,身份认证公钥的绑定过程包括如下步骤:
步骤S1201,假设区块链使用方拥有链上地址,链上地址对应的业务数据账户已经绑定了该链上地址,那么区块链使用方可以构造“链上地址绑定身份密钥”交易,该交易内的参数包括:身份认证公钥、待签名字符串、身份认证私钥对待签名字符串的签名。区块链使用方采用链上地址对应的私钥对该交易进行签名,然后发送至区块链中的共识节点。
步骤S1202,区块链共识节点在接收到“链上地址绑定身份密钥”交易之后,对该交易进行验证,然后在区块链网络中进行共识,共识成功之后执行该交易,如果该交易执行成功,则代表完成了绑定链上地址与身份认证公钥之间的绑定。
当区块链使用方的私钥丢失或者需要更换链上公钥时,可以进行链上公私钥的变更申请操作,具体流程如图13所示,包括如下步骤:
步骤S1301,区块链使用方本地生成新的链上地址和对应的公私钥对,然后构造交易类型为“链上地址私钥遗失变更”的交易,交易参数包括:待签名随机字符串toSignStr、身份认证私钥对toSignStr的签名、旧的链上地址,然后区块链使用方采用新的私钥签名上链。
步骤S1302,区块链共识节点在接收到“链上地址私钥遗失变更”交易之后,对该交易进行验证,然后在区块链网络中进行共识,共识成功之后执行该交易,在执行该笔交易时,会根据旧的链上地址索引到当前对应的身份认证公钥,然后对交易参数中的身份认证私钥的签名进行验签。若验签通过,则会将链上地址变更为交易发送者的链上地址,即区块链使用方的新链上地址,变更完成。
本申请前述实施例的技术方案使得可以在不使用区块链使用方的私钥的情况下实现对区块链使用方的公钥进行更换的目的,避免了由于私钥丢失而导致无法找回链上数据的问题。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于区块链的密钥处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的基于区块链的密钥处理方法的实施例。
图14示出了根据本申请的一个实施例的基于区块链的密钥处理装置的框图,该基于区块链的密钥处理装置可以设置在区块链共识节点内。
参照图14所示,根据本申请的一个实施例的基于区块链的密钥处理装置1400,包括:接收单元1402、查询单元1404、验证单元1406和处理单元1408。
其中,接收单元1402配置为接收区块链使用方发送的用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、所述区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;查询单元1404配置为根据所述已认证公钥信息在所述区块链中查询与所述已认证公钥信息相关联的身份密钥,其中,所述区块链使用方的身份密钥与所述区块链使用方的已认证公钥信息事先关联存储于所述区块链中;验证单元1406配置为根据查询到的身份密钥对所述第一字符串的签名信息进行验证;处理单元1408配置为若对所述第一字符串的签名信息验证通过,则通过所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,所述第一交易信息由所述区块链使用方的新私钥信息进行签名;所述接收单元1402还配置为:在接收到所述第一交易信息之后,通过所述区块链使用方的新公钥信息对所述第一交易信息进行签名验证,并在验证通过后获取所述第一交易信息中包含的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,所述接收单元1402还配置为:在接收区块链使用方发送的第一交易信息之前,接收所述区块链使用方发送的用于进行身份密钥绑定的第二交易信息,所述第二交易信息中包含有第二字符串、所述身份密钥针对所述第二字符串的签名信息,以及所述身份密钥;所述验证单元1406还用于:根据所述身份密钥对所述第二字符串的签名信息进行验证;所述密钥处理装置1400还包括:存储单元,配置为若对所述第二字符串的签名信息验证通过,则将所述身份密钥与所述区块链使用方的已认证公钥信息关联存储于所述区块链中。
在本申请的一些实施例中,基于前述方案,所述身份密钥包括身份认证私钥和身份认证公钥,所述第二交易信息中包含的所述身份密钥是所述身份认证公钥,所述第二交易信息中包含的签名信息是所述身份认证私钥对所述第二字符串的签名信息。
在本申请的一些实施例中,基于前述方案,所述第二交易信息由所述区块链使用方的已认证公钥信息对应的私钥进行签名;所述接收单元1402还配置为:在接收到所述第二交易信息之后,通过所述区块链使用方的已认证公钥信息对所述第二交易信息进行签名验证,并在验证通过后获取所述第二交易信息中包含的所述身份密钥。
在本申请的一些实施例中,基于前述方案,所述身份密钥包括身份认证私钥和身份认证公钥,所述第一交易信息中包含的签名信息是所述身份认证私钥对所述第一字符串的签名信息;所述验证单元1406配置为:根据查询到的身份认证公钥对所述第一字符串的签名信息进行验证。
图15示出了根据本申请的一个实施例的基于区块链的密钥处理装置的框图,该基于区块链的密钥处理装置可以设置在区块链使用方终端内。
参照图15所示,根据本申请的一个实施例的基于区块链的密钥处理装置1500,包括:生成单元1502和发送单元1504。
其中,生成单元1502配置为生成用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;发送单元1504配置为向区块链共识节点发送所述第一交易信息,所述第一交易信息用于使所述区块链共识节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份密钥对所述第一字符串的签名信息进行验证,并在验证通过后,根据所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,所述生成单元1502还配置为:在向区块链共识节点发送所述第一交易信息之前,生成新公钥信息和所述新公钥信息对应的新私钥信息;所述密钥处理装置1500还包括:签名单元,配置为通过所述新私钥信息对所述第一交易信息进行签名,以将签名后的第一交易信息发送至所述区块链共识节点。
在本申请的一些实施例中,基于前述方案,所述生成单元1502还配置为:在生成用于进行密钥变更的第一交易信息之前,生成用于进行身份密钥绑定的第二交易信息,所述第二交易信息中包含有第二字符串、所述身份密钥针对所述第二字符串的签名信息,以及所述身份密钥;所述发送单元1504配置为:向区块链共识节点发送所述第二交易信息,所述第二交易信息用于使所述区块链共识节点在根据所述身份密钥对所述第二字符串的签名信息验证通过之后,将所述身份密钥与所述区块链使用方的已认证公钥信息关联存储于所述区块链中。
在本申请的一些实施例中,基于前述方案,所述第一交易信息中包含有指示字段,所述指示字段用于指示所述第一交易信息是用于变更所述区块链使用方的公钥信息。
图16示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图16示出的电子设备的计算机系统1600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图16所示,计算机系统1600包括中央处理单元(Central Processing Unit,CPU)1601,其可以根据存储在只读存储器(Read-Only Memory,ROM)1602中的程序或者从存储部分1608加载到随机访问存储器(Random Access Memory,RAM)1603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1603中,还存储有系统操作所需的各种程序和数据。CPU 1601、ROM 1602以及RAM 1603通过总线1604彼此相连。输入/输出(Input/Output,I/O)接口1605也连接至总线1604。
以下部件连接至I/O接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1607;包括硬盘等的存储部分1608;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入存储部分1608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被中央处理单元(CPU)1601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (15)
1.一种基于区块链的密钥处理方法,其特征在于,包括:
接收区块链使用方发送的用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、所述区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;
根据所述已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份密钥,其中,所述区块链使用方的身份密钥与所述区块链使用方的已认证公钥信息事先关联存储于所述区块链中;
根据查询到的身份密钥对所述第一字符串的签名信息进行验证;
若对所述第一字符串的签名信息验证通过,则通过所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
2.根据权利要求1所述的基于区块链的密钥处理方法,其特征在于,所述第一交易信息由所述区块链使用方的新私钥信息进行签名;
所述密钥处理方法还包括:在接收到所述第一交易信息之后,通过所述区块链使用方的新公钥信息对所述第一交易信息进行签名验证,并在验证通过后获取所述第一交易信息中包含的已认证公钥信息。
3.根据权利要求1所述的基于区块链的密钥处理方法,其特征在于,在接收区块链使用方发送的第一交易信息之前,所述密钥处理方法还包括:
接收所述区块链使用方发送的用于进行身份密钥绑定的第二交易信息,所述第二交易信息中包含有第二字符串、所述身份密钥针对所述第二字符串的签名信息,以及所述身份密钥;
根据所述身份密钥对所述第二字符串的签名信息进行验证;
若对所述第二字符串的签名信息验证通过,则将所述身份密钥与所述区块链使用方的已认证公钥信息关联存储于所述区块链中。
4.根据权利要求3所述的基于区块链的密钥处理方法,其特征在于,所述身份密钥包括身份认证私钥和身份认证公钥,所述第二交易信息中包含的所述身份密钥是所述身份认证公钥,所述第二交易信息中包含的签名信息是所述身份认证私钥对所述第二字符串的签名信息。
5.根据权利要求3所述的基于区块链的密钥处理方法,其特征在于,所述第二交易信息由所述区块链使用方的已认证公钥信息对应的私钥进行签名;
所述密钥处理方法还包括:在接收到所述第二交易信息之后,通过所述区块链使用方的已认证公钥信息对所述第二交易信息进行签名验证,并在验证通过后获取所述第二交易信息中包含的所述身份密钥。
6.根据权利要求1至5中任一项所述的基于区块链的密钥处理方法,其特征在于,所述身份密钥包括身份认证私钥和身份认证公钥,所述第一交易信息中包含的签名信息是所述身份认证私钥对所述第一字符串的签名信息;
根据查询到的身份密钥对所述第一字符串的签名信息进行验证,包括:根据查询到的身份认证公钥对所述第一字符串的签名信息进行验证。
7.一种基于区块链的密钥处理方法,其特征在于,包括:
生成用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;
向区块链共识节点发送所述第一交易信息,所述第一交易信息用于使所述区块链共识节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份密钥对所述第一字符串的签名信息进行验证,并在验证通过后,根据所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
8.根据权利要求7所述的基于区块链的密钥处理方法,其特征在于,在向区块链共识节点发送所述第一交易信息之前,所述密钥处理方法还包括:
生成新公钥信息和所述新公钥信息对应的新私钥信息;
通过所述新私钥信息对所述第一交易信息进行签名,以将签名后的第一交易信息发送至所述区块链共识节点。
9.根据权利要求7所述的基于区块链的密钥处理方法,其特征在于,在生成用于进行密钥变更的第一交易信息之前,所述密钥处理方法还包括:
生成用于进行身份密钥绑定的第二交易信息,所述第二交易信息中包含有第二字符串、所述身份密钥针对所述第二字符串的签名信息,以及所述身份密钥;
向区块链共识节点发送所述第二交易信息,所述第二交易信息用于使所述区块链共识节点在根据所述身份密钥对所述第二字符串的签名信息验证通过之后,将所述身份密钥与所述区块链使用方的已认证公钥信息关联存储于所述区块链中。
10.根据权利要求7至9中任一项所述的基于区块链的密钥处理方法,其特征在于,所述第一交易信息中包含有指示字段,所述指示字段用于指示所述第一交易信息是用于变更所述区块链使用方的公钥信息。
11.一种基于区块链的密钥处理装置,其特征在于,包括:
接收单元,配置为接收区块链使用方发送的用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、所述区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;
查询单元,配置为根据所述已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份密钥,其中,所述区块链使用方的身份密钥与所述区块链使用方的已认证公钥信息事先关联存储于所述区块链中;
验证单元,配置为根据查询到的身份密钥对所述第一字符串的签名信息进行验证;
处理单元,配置为若对所述第一字符串的签名信息验证通过,则通过所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
12.一种基于区块链的密钥处理装置,其特征在于,包括:
生成单元,配置为生成用于进行密钥变更的第一交易信息,所述第一交易信息中包含有第一字符串、区块链使用方的身份密钥针对所述第一字符串的签名信息,以及所述区块链使用方的已认证公钥信息;
发送单元,配置为向区块链共识节点发送所述第一交易信息,所述第一交易信息用于使所述区块链共识节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份密钥对所述第一字符串的签名信息进行验证,并在验证通过后,根据所述区块链使用方的新公钥信息更新所述区块链使用方在所述区块链中的已认证公钥信息。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的基于区块链的密钥处理方法。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至10中任一项所述的基于区块链的密钥处理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,使得所述计算机设备执行如权利要求1至10中任一项所述的基于区块链的密钥处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111221362.XA CN115996131A (zh) | 2021-10-20 | 2021-10-20 | 基于区块链的密钥处理方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111221362.XA CN115996131A (zh) | 2021-10-20 | 2021-10-20 | 基于区块链的密钥处理方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996131A true CN115996131A (zh) | 2023-04-21 |
Family
ID=85990841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111221362.XA Pending CN115996131A (zh) | 2021-10-20 | 2021-10-20 | 基于区块链的密钥处理方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996131A (zh) |
-
2021
- 2021-10-20 CN CN202111221362.XA patent/CN115996131A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4120114A1 (en) | Data processing method and apparatus, smart device and storage medium | |
US11159526B2 (en) | System and method for decentralized-identifier authentication | |
US11038670B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11025435B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11171789B2 (en) | System and method for implementing a resolver service for decentralized identifiers | |
CN110933108B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
US10965472B2 (en) | Secure bootstrap for a blockchain network | |
CN112000976B (zh) | 区块链系统的认证管理方法、装置、介质及电子设备 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
CN115996131A (zh) | 基于区块链的密钥处理方法、装置、介质及电子设备 | |
CN116015614A (zh) | 基于区块链系统的密钥处理方法、装置、介质及电子设备 | |
CN115776381A (zh) | 基于区块链系统的密钥处理方法、装置、介质及电子设备 | |
CN116010371A (zh) | 基于区块链系统的数据处理方法、装置、介质及电子设备 | |
CN116012009A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40085233 Country of ref document: HK |