CN115776381A - 基于区块链系统的密钥处理方法、装置、介质及电子设备 - Google Patents
基于区块链系统的密钥处理方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN115776381A CN115776381A CN202111045761.5A CN202111045761A CN115776381A CN 115776381 A CN115776381 A CN 115776381A CN 202111045761 A CN202111045761 A CN 202111045761A CN 115776381 A CN115776381 A CN 115776381A
- Authority
- CN
- China
- Prior art keywords
- identity
- public key
- user
- block chain
- information
- 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示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在参考附图以更全面的方式描述示例实施方式。然而,示例的实施方式能够以各种形式实施,且不应被理解为仅限于这些范例;相反,提供这些实施方式的目的是使得本申请更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,本申请所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,有许多具体细节从而可以充分理解本申请的实施例。然而,本领域技术人员应意识到,在实施本申请的技术方案时可以不需用到实施例中的所有细节特征,可以省略一个或更多特定细节,或者可以采用其它的方法、元件、装置、步骤等。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,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所示,设置了身份认证节点501,身份认证节点501可以与区块链网络进行通信,并且可以与区块链使用方终端进行交互。如果区块链使用方想要使用不借助于私钥来更换公钥的功能,则区块链使用方可以通过区块链使用方终端502来向身份认证节点501进行身份认证。具体而言,区块链使用方可以通过区块链使用方终端502向身份认证节点501发送身份认证信息,如果身份认证节点501根据该身份认证信息对区块链使用方的身份认证通过,则可以生成针对该区块链使用方的身份凭证,并将该身份凭证与区块链使用方的公钥信息进行关联后存储至区块链中。
如果区块链使用方需要变更公钥信息,则可以通过区块链使用方终端502向身份认证节点501发送密钥变更请求,该密钥变更请求中包含有已认证公钥信息和新公钥信息。进而身份认证节点501可以根据该已认证公钥信息在区块链中查询与已认证公钥信息相关联的身份凭证,并根据该身份凭证对区块链使用方的身份进行验证,在对区块链使用方的身份验证通过之后,通过新公钥信息更新区块链中与该身份凭证相关联的已认证公钥信息。
当身份认证节点501通过区块链使用方的新公钥信息更新区块链中与区块链使用方的身份凭证相关联的已认证公钥信息之后,可以向区块链使用方终端502发送变更成功的通知消息,进而区块链使用方可以根据新公钥信息向区块链网络中的共识节点发起对业务账户所关联的公钥信息的变更申请。具体地,区块链使用方可以通过区块链使用方终端502生成针对业务账户所关联的公钥信息进行变更的交易信息,并通过新公钥信息对应的私钥信息进行签名,然后将该交易信息发送至区块链网络中的共识节点,之后区块链网络中的共识节点可以根据业务账户绑定的身份凭证获取区块链使用方的已认证公钥信息,并通过获取的已认证公钥信息对该交易信息的签名进行验证,在验证通过后,使用新公钥信息更新区块链使用方的业务账户所关联的公钥信息。
可见,本申请实施例的技术方案可以在不使用区块链使用方的私钥的情况下实现对区块链使用方的公钥进行更换的目的,避免了由于私钥丢失而导致无法找回链上数据的问题。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
图6示出了根据本申请的一个实施例的基于区块链系统的密钥处理方法的流程图,该区块链系统包括共识节点和身份认证节点,该基于区块链系统的密钥处理方法可以由身份认证节点来执行。具体而言,参照图6所示,该基于区块链系统的密钥处理方法至少包括步骤S610至步骤S640,详细介绍如下:
在步骤S610中,接收区块链使用方发送的密钥变更请求,该密钥变更请求中包含有已认证公钥信息和新公钥信息。
可选地,区块链使用方可以通过区块链使用方终端来发送密钥变更请求,区块链使用方终端比如可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等。区块链使用方可以通过区块链使用方终端来从区块链中获取业务数据,比如查询账户余额信息、交易信息等。
密钥变更请求中包含的已认证公钥信息是指已经由身份认证节点进行了认证,且存储在区块链中的公钥信息,也即区块链使用方原先的公钥信息,而新公钥信息是指区块链使用方将要更换的公钥信息。可选地,由于在区块链中,链上地址是根据公钥得到的,因此本申请实施例中的公钥信息可以指的是公钥或者也可以是链上地址。
在步骤S620中,根据已认证公钥信息在区块链中查询与已认证公钥信息相关联的身份凭证,该身份凭证是事先针对区块链使用方生成并存储在区块链中的。
可选地,该身份凭证可以是身份认证节点对区块链使用方的身份进行认证之后生成的,身份认证节点在生成身份凭证之后,可以将身份凭证与区块链使用方的公钥信息进行关联,然后存储至区块链中。可选地,该身份凭证比如可以包括区块链使用方的链上身份标识、链上地址、认证材料等信息。
在步骤S630中,根据查询到的身份凭证对区块链使用方的身份进行验证。
可选地,根据查询到的身份凭证对区块链使用方的身份进行验证的过程即为验证区块链使用方的身份是否与查询到的身份凭证中所包含的身份标识信息相匹配。如果区块链使用方的身份与查询到的身份凭证中所包含的身份标识信息相匹配,则确定对区块链使用方的身份验证通过;如果区块链使用方的身份与查询到的身份凭证中所包含的身份标识信息不匹配,则确定对区块链使用方的身份验证未通过。
在本申请的一个实施例中,如果根据已认证公钥信息在区块链中未查询到与已认证公钥信息相关联的身份凭证,则可以确定密钥变更失败。
在步骤S640中,若对区块链使用方的身份验证通过,则通过新公钥信息更新区块链中与身份凭证相关联的已认证公钥信息。
在本申请的一个实施例中,通过新公钥信息更新区块链中与身份凭证相关联的已认证公钥信息的过程即为将新公钥信息作为新的已认证公钥信息来与身份凭证进行关联。可选地,可以将原先的已认证公钥信息与身份认证进行解绑,然后将新公钥信息作为新的已认证公钥信息来与身份凭证进行绑定。
在本申请的一个实施例中,如果对区块链使用方的身份验证通过,则可以将区块链使用方在进行密钥变更时所使用的资料作为区块链使用方的公钥信息变更记录存储至区块链中。该实施例的技术方案使得可以保留密钥变更过程中所使用的资料,以便于后续进行核对处理。
可选地,将区块链使用方在进行密钥变更时所使用的资料作为区块链使用方的公钥信息变更记录存储至区块链中的过程可以是对区块链使用方在进行密钥变更时所使用的资料进行加密,得到加密文件,然后将加密文件作为区块链使用方的公钥信息变更记录存储至区块链中,以保证密钥变更时所使用的资料的安全性。
基于图6所示实施例的技术方案,图7示出了根据本申请的一个实施例的基于区块链系统的密钥处理方法的流程图,该基于区块链系统的密钥处理方法可以由身份认证节点来执行。具体而言,参照图7所示,该基于区块链系统的密钥处理方法至少包括步骤S710至步骤S740,以及图6中所示的步骤S610至步骤S640,详细介绍如下:
在步骤S710中,接收区块链使用方发送的身份认证信息。
在本申请的一个实施例中,区块链使用方发送的身份认证信息可以包括身份标识信息、区块链使用方的公钥信息和区块链使用方的私钥签名。
可选地,身份标识信息比如可以是生物特征信息、数字密码信息等;区块链使用方的公钥信息可以是区块链使用方原先的公钥信息,即原先已经认证的公钥信息;区块链使用方的私钥签名可以是使用区块链使用方的私钥对一个字符串进行签名得到的签名信息,该字符串比如可以是随机字符串或者可以是指定的字符串信息等,比如可以是通过私钥对区块链使用方的生物特征信息、数字密钥信息等进行签名得到的签名信息。
在步骤S720中,根据身份认证信息对区块链使用方的身份进行认证。
在本申请的一个实施例中,根据身份认证信息对区块链使用方的身份进行认证的过程可以是根据身份认证信息中包含的身份标识信息验证区块链使用方的身份,并验证已认证公钥信息与身份认证信息中包含的公钥信息和私钥签名是否匹配,如果根据身份标识信息对区块链使用方的身份验证通过,且已认证公钥信息与身份认证信息中包含的公钥信息和私钥签名匹配,则确定对区块链使用方的身份验证通过。
可选地,根据身份认证信息中包含的身份标识信息验证区块链使用方的身份的过程可以采用基于信息秘密的身份认证技术、基于信任物体的身份认证或者采用基于生物特征的身份认证技术。
基于信息秘密的身份认证技术是根据你所知道的信息来证明你的身份(即whatyou know,你知道什么),比如静态密码。静态密码及由用户自己设定自己的密码,在网络登录时输入正确的密码,计算机就认为操作者就是合法用户。
基于信任物体的身份认证技术是根据你所拥有的东西来证明你的身份(即whatyou have,你有什么),比如智能卡(即IC卡)、短信密码、动态口令等。智能卡是一种内置集成电路的芯片,芯片中存有与用户身份相关的数据,智能卡由专门的厂商通过专门的设备生产,是不可复制的硬件,智能卡由合法用户随身携带,登录时必须将智能卡插入专用的读卡器读取其中的信息,以验证用户的身份。短信密码以手机短信形式请求包含6位(也可以是4位等)随机数的动态密码,身份认证系统以短信形式发送随机的6位密码到用户的手机上,用户在登录或者交易认证时候输入此动态密码,从而确保系统身份认证的安全性。动态口令是用户手持用来生成动态密码的终端,主流的是基于时间同步方式的,每60秒变换一次动态口令,口令一次有效,即产生6位动态数字进行一次一密的方式认证。
基于生物特征的身份认证技术是直接根据独一无二的生物特征来证明你的身份(who you are,你是谁)。生物特征分为身体特征和行为特征两类。身体特征包括:声纹、指纹、掌型、视网膜、虹膜、人体气味、脸型、手的血管和DNA等;行为特征包括:签名、语音、行走步态等。目前部分研究者将视网膜识别、虹膜识别和指纹识别等归为高级生物识别技术;将掌型识别、脸型识别、语音识别和签名识别等归为次级生物识别技术;将血管纹理识别、人体气味识别、DNA识别等归为“深奥的”生物识别技术。
继续参照图7所示,在步骤S730中,若对区块链使用方的身份认证通过,则生成针对区块链使用方的身份凭证。
可选地,该身份凭证可以是身份认证节点在对区块链使用方的身份认证通过之后,向区块链使用方签发的凭证,其中可以包括区块链使用方的链上身份标识、链上地址、认证材料等。
在步骤S740中,将身份凭证与区块链使用方的公钥信息进行关联,并存储至区块链中。
在本申请的一个实施例中,将身份凭证与区块链使用方的公钥信息进行关联的过程可以是将身份凭证与区块链使用方的已认证公钥信息进行关联,进而在接收到区块链使用方发送的密钥变更请求时,可以基于区块链使用方的已认证公钥信息获取到的对应的身份凭证,以对区块链使用方的身份进行认证,即执行如图6中所示的步骤S610至步骤S640。
以上从身份认证节点的角度对本申请实施例的技术方案进行了阐述,以下从区块链使用方的角度对本申请实施例的技术方案的实现细节进行详细说明:
图8示出了根据本申请的一个实施例的基于区块链系统的密钥处理方法的流程图,该区块链系统包括共识节点和身份认证节点,该基于区块链系统的密钥处理方法可以由区块链使用方来执行。具体而言,参照图8所示,该基于区块链系统的密钥处理方法至少包括步骤S810至步骤S830,详细介绍如下:
在步骤S810中,向身份认证节点发送密钥变更请求,该密钥变更请求中包含有已认证公钥信息和新公钥信息。
可选地,区块链使用方可以通过区块链使用方终端来向身份认证节点发送密钥变更请求,区块链使用方终端比如可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等。区块链使用方可以通过区块链使用方终端来从区块链中获取业务数据,比如查询账户余额信息、交易信息等。
密钥变更请求中包含的已认证公钥信息是指已经由身份认证节点进行了认证,且存储在区块链中的公钥信息,也即区块链使用方原先的公钥信息,而新公钥信息是指区块链使用方将要更换的公钥信息。可选地,由于在区块链中,链上地址是根据公钥得到的,因此本申请实施例中的公钥信息可以指的是公钥或者也可以是链上地址。
在步骤S820中,接收身份认证节点针对密钥变更请求发送的变更成功的通知消息,该变更成功的通知消息是身份认证节点根据在区块链中查询到的与已认证公钥信息相关联的身份凭证对区块链使用方的身份验证通过,并在通过新公钥信息更新区块链中与身份凭证相关联的已认证公钥信息之后发送的。
可选地,身份认证节点对区块链使用方的身份进行验证,以及通过新公钥信息更新区块链中与身份凭证相关联的已认证公钥信息的过程可以参照前述实施例的技术方案,不再赘述。
在步骤S830中,根据新公钥信息向共识节点发起对业务账户所关联的公钥信息的变更申请。
可选地,区块链使用方在获取到身份认证节点签发的身份凭证之后,可以将身份凭证与区块链使用方在区块链中的业务账户进行绑定。进而当区块链使用方向共识节点发起对业务账户所关联的公钥信息的变更申请之后,共识节点可以根据业务账户绑定的身份凭证获取区块链使用方的已认证公钥信息,并通过获取的已认证公钥信息对区块链使用方发起的变更申请进行验证,以在验证通过后,使用新公钥信息更新业务账户所关联的公钥信息。
可选地,业务账户是用于区块链使用方在区块链上进行业务数据处理的账户,比如用于进行虚拟资源管理的账户、进行业务数据查询的账户等,区块链使用方可以根据实际需求在区块链平台上注册相应的业务账户。
基于图8所示实施例的技术方案,图9示出了根据本申请的一个实施例的基于区块链系统的密钥处理方法的流程图,该基于区块链系统的密钥处理方法可以由区块链使用方来执行。具体而言,参照图9所示,该基于区块链系统的密钥处理方法至少包括步骤S910至步骤S930,以及图8中所示的步骤S810至步骤S830,详细介绍如下:
在步骤S910中,向身份认证节点发送身份认证信息。
在本申请的一个实施例中,区块链使用方发送的身份认证信息可以包括身份标识信息、区块链使用方的公钥信息和区块链使用方的私钥签名。
可选地,身份标识信息比如可以是生物特征信息、数字密码信息等;区块链使用方的公钥信息可以是区块链使用方原先的公钥信息,即原先已经认证的公钥信息;区块链使用方的私钥签名可以是使用区块链使用方的私钥对一个字符串进行签名得到的签名信息,该字符串比如可以是随机字符串或者可以是指定的字符串信息等,比如可以是通过私钥对区块链使用方的生物特征信息、数字密钥信息等进行签名得到的签名信息。
在步骤S920中,接收身份认证节点在根据身份认证信息对区块链使用方的身份验证通过之后发送的身份凭证。
可选地,身份认证节点对区块链使用方的身份验证过程可以参照前述实施例的技术方案。该身份凭证是身份认证节点在对区块链使用方的身份认证通过之后,向区块链使用方签发的凭证,其中可以包括区块链使用方的链上身份标识、链上地址、认证材料等。
在步骤S930中,将身份凭证与业务账户进行绑定处理。
在本申请的一个实施例中,将身份凭证与业务账户进行绑定处理可以是生成用于进行绑定处理的第一交易信息,该第一交易信息中包含有身份凭证,且该第一交易信息通过区块链使用方的已认证公钥信息进行签名,该已认证公钥信息与业务账户关联存储至区块链中,然后由区块链使用方对第一交易信息进行上链处理,以将身份凭证与业务账户进行绑定处理。
在步骤S930之后,可以执行图8中所示的步骤S810至步骤S830。在这种情况下,步骤S830中根据新公钥信息向共识节点发起对业务账户所关联的公钥信息的变更申请,包括:生成针对业务账户所关联的公钥信息进行变更的第二交易信息,该第二交易信息通过新公钥信息对应的私钥信息进行签名;将第二交易信息发送至共识节点,该第二交易信息用于使共识节点根据业务账户绑定的身份凭证获取区块链使用方的已认证公钥信息,并通过获取的已认证公钥信息对第二交易信息的签名进行验证,以在验证通过后,使用新公钥信息更新业务账户所关联的公钥信息。
可选地,第二交易信息中可以包含有指示字段,该指示字段用于指示第二交易信息是用于变更业务账户所关联的公钥信息,进而使得共识节点可以基于该指示字段识别出第二交易信息并非是普通的交易信息,以基于该第二交易信息来更新业务账户所关联的公钥信息。
以下结合图10和图11对本申请实施例的技术方案的实现细节进行详细阐述:
如图10所示,区块链系统中的节点包括常规的共识节点和新引入的身份认证节点,共识节点负责整个区块链系统的状态存储和计算,身份认证节点负责认证区块链使用方的真实身份并在链上签发身份凭证。其中,签发身份凭证的过程包括如下步骤:
步骤S1001,当区块链使用方需要使用不依赖于私钥来更新公钥的功能时,需要先找身份认证节点进行身份认证。可选地,身份认证节点可提供的认证方式包括不限于:基于信息秘密技术、基于信任物体技术、基于生物特征技术等等。区块链使用方需要提交的资料除了现实身份相关的之外,还需要证明链上地址/链上公钥是属于他的,实现方式可以使提供一个链上公钥对应的私钥签名。
步骤S1002,身份认证节点对区块链使用方的身份认证通过后,会签发一个身份凭证(如数字证书),并将该身份凭证和链上地址/链上公钥的映射关系上链。
步骤S1003,区块链系统中的共识节点存储区块链使用方的身份凭证。该身份凭证可以包括身份凭证ID、链上地址、认证资料等。
步骤S1004,区块链使用方在业务数据账户中绑定身份凭证ID,用于不依赖于私钥来更新公钥,具体绑定操作可以是生成一个交易信息,然后使用身份凭证已认证公钥进行交易签名,且已认证公钥和业务数据账户绑定的公钥一致。
步骤S1005,共识节点在接收到区块链使用方发起的绑定身份凭证ID的交易信息之后,对该交易信息进行验证,在验证通过之后,将身份凭证ID与业务数据账户进行绑定。
当区块链使用方的私钥丢失时,无法获取到区块链上的数据资产,此时可以进行链上公私钥的变更申请操作,具体流程如图11所示,包括如下步骤:
步骤S1101,区块链使用方向身份认证节点申请链上地址私钥遗失变更,提交旧的链上地址/链上公钥和新的链上地址/链上公钥。
步骤S1102,身份认证节点去链上查询链上公钥绑定的身份凭证。若不存在,直接报错;若存在,执行步骤S1103。
步骤S1103,身份认证节点对区块链使用方进行现实身份的验证,比如身体特征信息、现实拥有可信证物等。若验证失败,则直接报错;若验证成功,则继续下一步。
步骤S1104,身份认证节点修改链上的身份凭证与链上公钥的映射关系,将旧的公钥替换为新的公钥,并将变更申请过程资料加密上链,该资料用于证明变更申请是区块链使用方发起的,尽量避免产生纠纷。
步骤S1105,区块链使用方向链上申请变更业务数据账户的公钥,比如可以构造特殊类型的交易(该交易区别于普通交易,比如可以添加指示字段),使用新的私钥签名上链。
步骤S1106,区块链系统的共识节点执行该笔交易时,会去获取需变更的业务数据账户绑定的身份凭证ID,根据身份凭证ID获取当前的已认证公钥,判断已认证公钥和申请变更交易的发送者公钥是否一致,若不一致,直接报错,若一致,代表是同一个发起者,变更完成。
综上,本申请实施例的技术方案使得可以在不使用区块链使用方的私钥的情况下实现对区块链使用方的公钥进行更换的目的,避免了由于私钥丢失而导致无法找回链上数据的问题。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于区块链系统的密钥处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的基于区块链系统的密钥处理方法的实施例。
图12示出了根据本申请的一个实施例的基于区块链系统的密钥处理装置的框图,该区块链系统包括共识节点和身份认证节点,该基于区块链系统的密钥处理装置可以设置在身份认证节点内。
参照图12所示,根据本申请的一个实施例的基于区块链系统的密钥处理装置1200,包括:第一接收单元1202、查询单元1204、验证单元1206和第一处理单元1208。
其中,第一接收单元1202配置为接收区块链使用方发送的密钥变更请求,所述密钥变更请求中包含有已认证公钥信息和新公钥信息;查询单元1204配置为根据所述已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份凭证,所述身份凭证是事先针对所述区块链使用方生成并存储在所述区块链中的;验证单元1206配置为根据所述身份凭证对所述区块链使用方的身份进行验证;第一处理单元1208配置为若对所述区块链使用方的身份验证通过,则通过所述新公钥信息更新所述区块链中与所述身份凭证相关联的已认证公钥信息。
在本申请的一些实施例中,基于前述方案,第一接收单元1202还配置为:在接收区块链使用方发送的密钥变更请求之前,接收所述区块链使用方发送的身份认证信息;所述密钥处理装置1200还包括:认证单元,配置为根据所述身份认证信息对所述区块链使用方的身份进行认证;生成单元,配置为若对所述区块链使用方的身份认证通过,则生成针对所述区块链使用方的身份凭证;存储单元,配置为将所述身份凭证与所述区块链使用方的公钥信息进行关联,并存储至所述区块链中。
在本申请的一些实施例中,基于前述方案,所述认证单元配置为:根据所述身份认证信息中包含的身份标识信息验证所述区块链使用方的身份,并验证所述已认证公钥信息与所述身份认证信息中包含的公钥信息和私钥签名是否匹配;若根据所述身份标识信息对所述区块链使用方的身份验证通过,且所述已认证公钥信息与所述身份认证信息中包含的公钥信息和私钥签名匹配,则确定对所述区块链使用方的身份验证通过。
在本申请的一些实施例中,基于前述方案,所述第一处理单元1208还配置为:若对所述区块链使用方的身份验证通过,则将所述区块链使用方在进行密钥变更时所使用的资料作为所述区块链使用方的公钥信息变更记录存储至所述区块链中。
在本申请的一些实施例中,基于前述方案,所述第一处理单元1208配置为:对所述区块链使用方在进行密钥变更时所使用的资料进行加密,得到加密文件;将所述加密文件作为所述区块链使用方的公钥信息变更记录存储至所述区块链中。
在本申请的一些实施例中,基于前述方案,所述第一处理单元1208还配置为:若根据所述已认证公钥信息在所述区块链中未查询到与所述已认证公钥信息相关联的身份凭证,则确定密钥变更失败。
在本申请的一些实施例中,基于前述方案,所述已认证公钥信息包括以下信息中的至少一个:已认证的公钥、已认证的链上地址;所述新公钥信息包括以下信息中的至少一个:新的公钥、新的链上地址。
在本申请的一些实施例中,基于前述方案,所述验证单元1206配置为:根据所述身份凭证,验证所述区块链使用方的身份是否与所述身份凭证中所包含的身份标识信息相匹配;若所述区块链使用方的身份与所述身份凭证中所包含的身份标识信息相匹配,则确定对所述区块链使用方的身份验证通过;若所述区块链使用方的身份与所述身份凭证中所包含的身份标识信息不匹配,则确定对所述区块链使用方的身份验证失败。
图13示出了根据本申请的一个实施例的基于区块链系统的密钥处理装置的框图,该区块链系统包括共识节点和身份认证节点,该基于区块链系统的密钥处理装置可以设置在区块链使用方的终端内。
参照图13所示,根据本申请的一个实施例的基于区块链系统的密钥处理装置1300,包括:发送单元1302、第二接收单元1304和第二处理单元1306。
其中,发送单元1302配置为向所述身份认证节点发送密钥变更请求,所述密钥变更请求中包含有已认证公钥信息和新公钥信息;第二接收单元1304配置为接收所述身份认证节点针对所述密钥变更请求发送的变更成功的通知消息,所述变更成功的通知消息是所述身份认证节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份凭证对所述区块链使用方的身份验证通过,并在通过所述新公钥信息更新所述区块链中与所述身份凭证相关联的已认证公钥信息之后发送的;第二处理单元1306配置为根据所述新公钥信息向所述共识节点发起对业务账户所关联的公钥信息的变更申请。
在本申请的一些实施例中,基于前述方案,所述发送单元1302还配置为:在向所述身份认证节点发送密钥变更请求之前,向所述身份认证节点发送身份认证信息;所述第二接收单元1304还配置为:接收所述身份认证节点在根据所述身份认证信息对所述区块链使用方的身份验证通过之后发送的身份凭证;所述密钥处理装置1300还包括:绑定单元,配置为将所述身份凭证与所述业务账户进行绑定处理。
在本申请的一些实施例中,基于前述方案,所述绑定单元配置为:生成用于进行绑定处理的第一交易信息,所述第一交易信息中包含有所述身份凭证,所述第一交易信息通过所述区块链使用方的已认证公钥信息进行签名,所述已认证公钥信息与所述业务账户关联存储至区块链中;对所述第一交易信息进行上链处理,以将所述身份凭证与所述业务账户进行绑定处理。
在本申请的一些实施例中,基于前述方案,所述绑定单元配置为:将所述第一交易信息发送给所述共识节点,所述第一交易信息用于使所述共识节点查询与所述已认证公钥信息相关联的业务账户,并在查询到所述业务账户后,将所述第一交易信息中包含的身份凭证与查询到的业务账户进行绑定处理。
在本申请的一些实施例中,基于前述方案,所述第二处理单元1306配置为:生成针对所述业务账户所关联的公钥信息进行变更的第二交易信息,所述第二交易信息通过所述新公钥信息对应的私钥信息进行签名;将所述第二交易信息发送至所述共识节点,所述第二交易信息用于使所述共识节点根据所述业务账户绑定的身份凭证获取所述区块链使用方的已认证公钥信息,并通过获取的已认证公钥信息对所述第二交易信息的签名进行验证,以在验证通过后,使用所述新公钥信息更新所述业务账户所关联的公钥信息。
在本申请的一些实施例中,基于前述方案,所述第二交易信息中包含有指示字段,所述指示字段用于指示所述第二交易信息是用于变更业务账户所关联的公钥信息。
在本申请的一些实施例中,基于前述方案,所述身份认证信息包括所述区块链使用方的身份标识信息、所述区块链使用方的已认证公钥信息和所述区块链使用方的私钥签名;其中,所述私钥签名是使用所述区块链使用方的私钥对字符串进行签名得到的签名信息。
图14示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图14示出的电子设备的计算机系统1400仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括中央处理单元(Central Processing Unit,CPU)1401,其可以根据存储在只读存储器(Read-Only Memory,ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(Random Access Memory,RAM)1403中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1403中,还存储有系统操作所需的各种程序和数据。CPU 1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(Input/Output,I/O)接口1405也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(CPU)1401执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (20)
1.一种基于区块链系统的密钥处理方法,其特征在于,所述区块链系统包括共识节点和身份认证节点,所述密钥处理方法由所述身份认证节点执行,所述密钥处理方法包括:
接收区块链使用方发送的密钥变更请求,所述密钥变更请求中包含有已认证公钥信息和新公钥信息;
根据所述已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份凭证,所述身份凭证是事先针对所述区块链使用方生成并存储在所述区块链中的;
根据所述身份凭证对所述区块链使用方的身份进行验证;
若对所述区块链使用方的身份验证通过,则通过所述新公钥信息更新所述区块链中与所述身份凭证相关联的已认证公钥信息。
2.根据权利要求1所述的基于区块链系统的密钥处理方法,其特征在于,在接收区块链使用方发送的密钥变更请求之前,所述密钥处理方法还包括:
接收所述区块链使用方发送的身份认证信息;
根据所述身份认证信息对所述区块链使用方的身份进行认证;
若对所述区块链使用方的身份认证通过,则生成针对所述区块链使用方的身份凭证;
将所述身份凭证与所述区块链使用方的公钥信息进行关联,并存储至所述区块链中。
3.根据权利要求2所述的基于区块链系统的密钥处理方法,其特征在于,根据所述身份认证信息对所述区块链使用方的身份进行认证,包括:
根据所述身份认证信息中包含的身份标识信息验证所述区块链使用方的身份,并验证所述已认证公钥信息与所述身份认证信息中包含的公钥信息和私钥签名是否匹配;
若根据所述身份标识信息对所述区块链使用方的身份验证通过,且所述已认证公钥信息与所述身份认证信息中包含的公钥信息和私钥签名匹配,则确定对所述区块链使用方的身份验证通过。
4.根据权利要求1所述的基于区块链系统的密钥处理方法,其特征在于,所述密钥处理方法还包括:
若对所述区块链使用方的身份验证通过,则将所述区块链使用方在进行密钥变更时所使用的资料作为所述区块链使用方的公钥信息变更记录存储至所述区块链中。
5.根据权利要求4所述的基于区块链系统的密钥处理方法,其特征在于,将所述区块链使用方在进行密钥变更时所使用的资料作为所述区块链使用方的公钥信息变更记录存储至所述区块链中,包括:
对所述区块链使用方在进行密钥变更时所使用的资料进行加密,得到加密文件;
将所述加密文件作为所述区块链使用方的公钥信息变更记录存储至所述区块链中。
6.根据权利要求1至5中任一项所述的基于区块链系统的密钥处理方法,其特征在于,所述密钥处理方法还包括:
若根据所述已认证公钥信息在所述区块链中未查询到与所述已认证公钥信息相关联的身份凭证,则确定密钥变更失败。
7.根据权利要求1至5中任一项所述的基于区块链系统的密钥处理方法,其特征在于,所述已认证公钥信息包括以下信息中的至少一个:已认证的公钥、已认证的链上地址;所述新公钥信息包括以下信息中的至少一个:新的公钥、新的链上地址。
8.根据权利要求1至5中任一项所述的基于区块链系统的密钥处理方法,其特征在于,根据所述身份凭证对所述区块链使用方的身份进行验证,包括:
根据所述身份凭证,验证所述区块链使用方的身份是否与所述身份凭证中所包含的身份标识信息相匹配;
若所述区块链使用方的身份与所述身份凭证中所包含的身份标识信息相匹配,则确定对所述区块链使用方的身份验证通过;
若所述区块链使用方的身份与所述身份凭证中所包含的身份标识信息不匹配,则确定对所述区块链使用方的身份验证失败。
9.一种基于区块链系统的密钥处理方法,其特征在于,所述区块链系统包括共识节点和身份认证节点,所述密钥处理方法由区块链使用方执行,所述密钥处理方法包括:
向所述身份认证节点发送密钥变更请求,所述密钥变更请求中包含有已认证公钥信息和新公钥信息;
接收所述身份认证节点针对所述密钥变更请求发送的变更成功的通知消息,所述变更成功的通知消息是所述身份认证节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份凭证对所述区块链使用方的身份验证通过,并在通过所述新公钥信息更新所述区块链中与所述身份凭证相关联的已认证公钥信息之后发送的;
根据所述新公钥信息向所述共识节点发起对业务账户所关联的公钥信息的变更申请。
10.根据权利要求9所述的基于区块链系统的密钥处理方法,其特征在于,在向所述身份认证节点发送密钥变更请求之前,所述密钥处理方法还包括:
向所述身份认证节点发送身份认证信息;
接收所述身份认证节点在根据所述身份认证信息对所述区块链使用方的身份验证通过之后发送的身份凭证;
将所述身份凭证与所述业务账户进行绑定处理。
11.根据权利要求10所述的基于区块链系统的密钥处理方法,其特征在于,将所述身份凭证与所述业务账户进行绑定处理,包括:
生成用于进行绑定处理的第一交易信息,所述第一交易信息中包含有所述身份凭证,所述第一交易信息通过所述区块链使用方的已认证公钥信息进行签名,所述已认证公钥信息与所述业务账户关联存储至区块链中;
对所述第一交易信息进行上链处理,以将所述身份凭证与所述业务账户进行绑定处理。
12.根据权利要求11所述的基于区块链系统的密钥处理方法,其特征在于,对所述第一交易信息进行上链处理,包括:
将所述第一交易信息发送给所述共识节点,所述第一交易信息用于使所述共识节点查询与所述已认证公钥信息相关联的业务账户,并在查询到所述业务账户后,将所述第一交易信息中包含的身份凭证与查询到的业务账户进行绑定处理。
13.根据权利要求10所述的基于区块链系统的密钥处理方法,其特征在于,根据所述新公钥信息向所述共识节点发起对业务账户所关联的公钥信息的变更申请,包括:
生成针对所述业务账户所关联的公钥信息进行变更的第二交易信息,所述第二交易信息通过所述新公钥信息对应的私钥信息进行签名;
将所述第二交易信息发送至所述共识节点,所述第二交易信息用于使所述共识节点根据所述业务账户绑定的身份凭证获取所述区块链使用方的已认证公钥信息,并通过获取的已认证公钥信息对所述第二交易信息的签名进行验证,以在验证通过后,使用所述新公钥信息更新所述业务账户所关联的公钥信息。
14.根据权利要求13所述的基于区块链系统的密钥处理方法,其特征在于,所述第二交易信息中包含有指示字段,所述指示字段用于指示所述第二交易信息是用于变更业务账户所关联的公钥信息。
15.根据权利要求10所述的基于区块链系统的密钥处理方法,其特征在于,所述身份认证信息包括所述区块链使用方的身份标识信息、所述区块链使用方的已认证公钥信息和所述区块链使用方的私钥签名;
其中,所述私钥签名是使用所述区块链使用方的私钥对字符串进行签名得到的签名信息。
16.一种基于区块链系统的密钥处理装置,其特征在于,所述区块链系统包括共识节点和身份认证节点,所述密钥处理装置设置在所述身份认证节点内,所述密钥处理装置包括:
第一接收单元,配置为接收区块链使用方发送的密钥变更请求,所述密钥变更请求中包含有已认证公钥信息和新公钥信息;
查询单元,配置为根据所述已认证公钥信息在区块链中查询与所述已认证公钥信息相关联的身份凭证,所述身份凭证是事先针对所述区块链使用方生成并存储在所述区块链中的;
验证单元,配置为根据所述身份凭证对所述区块链使用方的身份进行验证;
第一处理单元,配置为若对所述区块链使用方的身份验证通过,则通过所述新公钥信息更新所述区块链中与所述身份凭证相关联的已认证公钥信息。
17.一种基于区块链系统的密钥处理装置,其特征在于,所述区块链系统包括共识节点和身份认证节点,所述密钥处理装置设置在区块链使用方内,所述密钥处理装置包括:
发送单元,配置为向所述身份认证节点发送密钥变更请求,所述密钥变更请求中包含有已认证公钥信息和新公钥信息;
第二接收单元,配置为接收所述身份认证节点针对所述密钥变更请求发送的变更成功的通知消息,所述变更成功的通知消息是所述身份认证节点根据在区块链中查询到的与所述已认证公钥信息相关联的身份凭证对所述区块链使用方的身份验证通过,并在通过所述新公钥信息更新所述区块链中与所述身份凭证相关联的已认证公钥信息之后发送的;
第二处理单元,配置为根据所述新公钥信息向所述共识节点发起对业务账户所关联的公钥信息的变更申请。
18.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至15中任一项所述的基于区块链系统的密钥处理方法。
19.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至15中任一项所述的基于区块链系统的密钥处理方法。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取并执行所述计算机指令,使得所述计算机设备执行如权利要求1至15中任一项所述的基于区块链系统的密钥处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111045761.5A CN115776381A (zh) | 2021-09-07 | 2021-09-07 | 基于区块链系统的密钥处理方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111045761.5A CN115776381A (zh) | 2021-09-07 | 2021-09-07 | 基于区块链系统的密钥处理方法、装置、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115776381A true CN115776381A (zh) | 2023-03-10 |
Family
ID=85387753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111045761.5A Pending CN115776381A (zh) | 2021-09-07 | 2021-09-07 | 基于区块链系统的密钥处理方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115776381A (zh) |
-
2021
- 2021-09-07 CN CN202111045761.5A patent/CN115776381A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11159526B2 (en) | System and method for decentralized-identifier authentication | |
US11533164B2 (en) | System and method for blockchain-based cross-entity authentication | |
US10917246B2 (en) | System and method for blockchain-based cross-entity authentication | |
EP3788522B1 (en) | System and method for mapping decentralized identifiers to real-world entities | |
US10965472B2 (en) | Secure bootstrap for a blockchain network | |
JP2019160312A (ja) | ブロックチェーン・ノード、ブロックチェーン・ノードの方法、およびブロックチェーン・ノードのコンピュータ・プログラム | |
KR102118962B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
JP7090161B2 (ja) | セキュアな取引のための装置の自己認証 | |
JP7462903B2 (ja) | 利用者端末、認証者端末、登録者端末、管理システムおよびプログラム | |
JP2023087665A (ja) | システム、方法、およびコンピュータプログラム製品(許可型ブロックチェーンのためのマルチ発行者匿名クレデンシャル) | |
JP2019161405A (ja) | 認証サーバ装置、認証システム及び認証方法 | |
CN115776381A (zh) | 基于区块链系统的密钥处理方法、装置、介质及电子设备 | |
WO2022102418A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN115996131A (zh) | 基于区块链的密钥处理方法、装置、介质及电子设备 | |
CN111275461A (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: 40084171 Country of ref document: HK |