CN116032469A - 一种密钥更新方法及装置、系统 - Google Patents
一种密钥更新方法及装置、系统 Download PDFInfo
- Publication number
- CN116032469A CN116032469A CN202211738111.3A CN202211738111A CN116032469A CN 116032469 A CN116032469 A CN 116032469A CN 202211738111 A CN202211738111 A CN 202211738111A CN 116032469 A CN116032469 A CN 116032469A
- Authority
- CN
- China
- Prior art keywords
- account
- daemon
- key
- update
- blockchain system
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种密钥更新方法及装置、系统。该系统包括:被守护方、若干守护方、区块链系统;所述被守护方,维护有所持有被守护账户的公私钥对;用于向所述若干守护方发起密钥更新指示;所述若干守护方,响应于所述密钥更新指示,基于所持有的守护账户向所述区块链系统发起针对所述被守护账户的公私钥对的密钥更新请求;所述区块链系统,维护有所述被守护账户与所述若干守护账户之间的守护关系;以及,响应于所述若干守护方发起的密钥更新请求,执行针对所述被守护账户的密钥更新操作。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种密钥更新方法及装置、系统。
背景技术
区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
在相关技术中,用户需要优先在区块链系统中注册账户,才能够参与该区块链系统的运作。其中,在注册账户的同时,需要创建与账户对应的公私钥对,以便区块链系统核验后续接收到的交易是否由已在链上注册账户的用户发起。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种密钥更新方法及装置、系统。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种密钥更新系统,包括:被守护方、若干守护方、区块链系统;
所述被守护方,维护有所持有被守护账户的公私钥对;用于向所述若干守护方发起密钥更新指示;
所述若干守护方,响应于所述密钥更新指示,基于所持有的守护账户向所述区块链系统发起针对所述被守护账户的公私钥对的密钥更新请求;
所述区块链系统,维护有所述被守护账户与所述若干守护账户之间的守护关系;以及,响应于所述若干守护方发起的密钥更新请求,执行针对所述被守护账户的密钥更新操作。
根据本说明书一个或多个实施例的第二方面,提出了一种密钥更新方法,应用于区块链系统,所述区块链系统维护有:被守护账户与其守护账户之间的守护关系;所述方法包括:
接收持有所述守护账户的守护方发起的密钥更新请求,所述密钥更新请求由所述守护方在接收到持有所述被守护账户的被守护方发起的密钥更新指示的情况下发起;
执行针对所述被守护账户的密钥更新操作。
根据本说明书一个或多个实施例的第三方面,提出了一种密钥更新装置,应用于区块链系统,所述区块链系统维护有:被守护账户与其守护账户之间的守护关系;所述装置包括:
接收单元,接收持有所述守护账户的守护方发起的密钥更新请求,所述密钥更新请求由所述守护方在接收到持有所述被守护账户的被守护方发起的密钥更新指示的情况下发起;
执行单元,执行针对所述被守护账户的密钥更新操作。
根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种密钥更新系统的示意图。
图2是一示例性实施例提供的一种密钥更新方法的流程图。
图3是一示例性实施例提供的一种守护账户设置方法的流程图。
图4是一示例性实施例提供的另一种密钥更新方法的流程图。
图5是一示例性实施例提供的一种设备的结构示意图。
图6是一示例性实施例提供的一种密钥更新装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
在诸如以太坊的区块链系统中,若用户需要发起交易,以使用区块链系统提供的功能,则必然需要优先在该区块链系统中注册账户,并创建与该账户对应的公私钥对。其中,私钥由用户保存,而公钥则被维护于区块链系统中。那么,当用户需要发起交易时,即可基于自身保存的私钥对生成的交易进行签名,并将签名后的交易发送至区块链系统,而区块链系统则可以基于维护的公钥对交易进行验签,以确定该交易是否为已注册有账户的用户发起,且仅在是的情况下,对接收到的交易进行处理。
然而,在实际使用过程中,难免出现私钥泄露的情况,例如,由于私钥较为复杂且冗长,用户日常可能将其存储于U盘、移动硬盘等可移动存储器中,在需要发起交易时再从存储器中提取出来,在该情况下,极有可能由于U盘丢失等原因造成私钥泄露;再例如,在用户发起交易时,可能由于网络环境被非法分子入侵,而导致私钥泄露。
应当理解的是,在私钥泄露时,非法分子可以基于该私钥发起交易,且由于区块链系统将私钥作为识别交易是否可信的凭证,显然无法识别出由非法分子发起的交易。因此,为了保证交易可靠性,相关技术为用户提供了密钥更新的功能,以便用户在发现私钥泄露的情况下,及时对用于发起交易的公私钥对进行更新。
在相关技术中,可以在为用户注册的账户创建上述用于发起交易的公私钥对以外,还可以创建用于对该公私钥对进行更新的另一组公私钥对。换言之,在注册账户的过程中,可以创建两组密钥,一组为用于发起交易的交易密钥,另一组为用于对交易密钥进行更新的更新密钥。其中,两组密钥的私钥均由用户保存,公钥均被维护于区块链系统中。那么,当用户发现交易密钥的私钥发生泄露时,即可基于更新密钥的私钥向区块链系统发起针对交易密钥的更新交易,以使区块链系统在基于维护的更新密钥的公钥对更新交易验签成功的情况下,对交易密钥进行更新。
不难看出,相关技术是通过额外创建一组密钥的方式,实现对交易密钥的更新。然而,这种方式仍存在诸多弊端。
其一为:私钥通常是复杂、冗长、且没有规律的,若由用户记忆,对于常人而言,单个私钥尚且难以记忆,更何况两个。
其二为:若通过诸如U盘等移动存储器存储更新密钥,更新密钥同样存在丢失的风险,一旦更新密钥丢失,便无法通过相关技术中的方式进行交易密钥的更新;且对于用户而言,为方便存储可能将交易密钥和更新密钥存储于同一存储器中,那么,极有可能在丢失交易密钥的同时丢失更新密钥,同样无法采用相关技术中的密钥更新方式;若分别通过不同的存储器对更新密钥和交易密钥进行存储,则需要额外准备存储器,存储成本较高。除此之外,需要用户随身携带存储器才能够使用相关技术中的密钥更新方式,无法实现随时随地的密钥更新,这可能导致密钥更新不及时,而给用户带来较大的损失。
为此,本说明书提出了一种密钥更新系统,能够在无需为交易密钥额外创建更新密钥的前提下,实现对交易密钥的更新。
图1为本说明书一示例性实施例示出的一种密钥更新系统的示意图。如图1所示,该系统可以包括:被守护方11、若干守护方12、区块链系统13;
被守护方11,维护有所持有被守护账户的公私钥对;用于向若干守护方12发起密钥更新指示;
若干守护方12,响应于所述密钥更新指示,基于所持有的守护账户向所述区块链系统发起针对所述被守护账户的公私钥对的密钥更新请求;
区块链系统13,维护有所述被守护账户与所述若干守护账户之间的守护关系;以及,响应于若干守护方12发起的密钥更新请求,执行针对所述被守护账户的密钥更新操作。
由上述介绍可知,正是由于相关技术通过为交易密钥额外创建更新密钥的方式,实现针对交易密钥的密钥更新,致使相关技术存在私钥难以记忆、密钥更新不及时等问题。
有鉴于此,本说明书不再采用为交易密钥创建更新密钥的方式实现交易密钥的更新。取而代之的是,本说明书可以在区块链系统中维护各个账户之间的守护关系,进而基于该守护关系执行针对交易密钥的更新操作。
在本说明书中,守护关系中可以包含守护账户和被守护账户,被守护账户的持有者为上述被守护方11、守护账户的持有者则为上述守护方12。其中,被守护方11维护有被守护账户的公私钥对,且可以在需要对该公私钥对进行更新时,向自身所对应的各个守护方12发起密钥更新指示。而各个守护方12则可以在接收到密钥更新指示的情况下,基于自身持有的守护账户向区块链系统13发起针对上述公私钥对的密钥更新请求。而区块链系统13则可以响应于接收到的各个密钥更新请求,执行针对被守护账户的密钥更新操作。
应当理解的是,本说明书是依赖于链上维护的各个账户之间的守护关系,实现对被守护账户的密钥更新操作,无需针对交易密钥额外创建更新密钥。一方面,无需额外记忆或存储更新密钥;另一方面,可以避免由于无法实时获取更新密钥,而导致交易密钥更新不及时的问题。
在本说明书中,用户可以通过向区块链系统发起守护账户设置请求的方式,设置自身所持有账户的守护账户。在设置守护账户时,该用户即为被守护方11,所持有的账户即为被守护账户,相应的,其所发起的请求即为针对被守护账户的守护账户设置请求。其中,被守护方11可以在该请求中添加需要设置为守护账户的特定账户的账户信息,那么,区块链系统13在接收到该请求的情况下,即可从中读取至少一个特定账户的账户信息,以将该至少一个特定账户设置为被守护账户的守护账户。
在实际使用过程中,被守护方11可能维护有被守护账户的多个公私钥对。在该情况下,可以为被守护账户的各个公私钥对分别设置守护账户。例如,在需要对多个公私钥对中的目标公私钥对进行密钥更新时,可以向区块链系统13发起针对目标公私钥对的守护账户设置请求。区块链系统13在接收到该请求之后,即可读取其中包含的至少一个特定账户的账户信息,以将该至少一个特定账户设置为用于对目标公私钥对进行更新的守护账户。
值得注意的是,本说明书中的被守护方11可以在多种情况下维护被守护账户的多个公私钥对。例如,被守护账户的多个公私钥对均被同一被守护方11维护,其中的任一均可用于发起交易。再例如,被守护账户可以为多个用户的公用账户,这多个用户均被视为持有该被守护账户的被守护方11,而为被守护账户创建的多个公私钥对可以为“与各个被守护方11分别对应的交易密钥”,可以由各个被守护方11自行维护,在该举例的一种情况下,任一被守护方11可以基于自身维护的私钥向区块链系统13发起交易;在该举例的另一种情况下,可以预先为各个被守护方11设置用于发起交易的权重,唯有请求发起交易的各个被守护方的权重总值大于预设值的情况下,才向区块链系统13发起交易,或者,各个被守护方可以基于自身持有的私钥向区块链系统13发起交易,但区块链系统13唯有在接收到的各个交易的发起方的权重总值大于预设值的情况下,才对该交易进行响应。当然,此处举例仅是示意性的,具体如何为被守护账户设置多个公私钥对,以及多个公私钥对如何维护、具有何种作用,均可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
还需注意的是,本说明书中的被守护方11可以根据自身与其他用户的关系,将特定用户的账户设置为被守护账户的守护账户,例如,可以将家人、朋友等设置为被守护账户的守护账户。其中,在区块链系统13中维护有各个账户的持有者之间的关系时,被守护方11发起的守护账户设置请求中可以仅包含某种特定关系,那么,区块链系统13即可将与被守护方11的关系为该特定关系的所有用户所持有的账户设置为该被守护账户的守护账户。当然,该举例仅是示意性的,守护方12与被守护方11具体为何种关系,可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
在本说明书中,区块链系统13在接收到守护账户设置请求的情况下,既可以未经特定账户的持有者确认,直接将请求中指定的特定账户设置为被守护账户的守护账户;也可以在请求中指定的特定账户的持有者对该请求进行确认的情况下,再将该特定账户设置为被守护账户的守护账户,例如,区块链系统13可以向该请求中包含的至少一个特定账户的持有者发起守护账户确认请求,其中,在接收到任一特定账户的持有者返回的确认消息时,即可将相应的特定账户设置为被守护账户的守护账户。当然,此处举例仅是示意性的,在设置守护账户时,是否需要经由相应账户的持有者确认,以及具体如何设置守护账户,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
在本说明书中,在设置守护账户的同时,还可以为各个守护账户分配更新权重,该更新权重表征的为:相应守护账户触发被守护账户的密钥更新操作的权重。例如,被守护方11可以在守护账户设置请求中添加更新权重分配信息,以表征为各个守护账户分配的更新权重,那么,区块链系统13在将请求中包含的特定账户设置为被守护账户的守护账户后,即可根据该更新权重分配信息为各个守护账户分配更新权重。
在本说明书中,在完成守护账户的设置之后,相当于在区块链系统13中创建并维护了被守护账户与守护账户之间的守护关系。在此基础上,即可在需要时触发针对被守护账户的密钥更新操作。
其中,在被守护账户对应有多个守护账户的情况下,被守护方11即可向多个守护方12分别发送密钥更新指示,以由各个守护方12分别向区块链系统13发起密钥更新请求。若预先为各个守护账户分别设置有更新权重,区块链系统13则可以确定接收到的各个密钥更新请求的发起方的更新权重,并累计各个发起方的更新权重的权重总值,以在权重总值达到预设阈值的情况下,执行针对被守护账户的密钥更新操作。在实际执行过程中,区块链系统13可以预先部署包含用于累计更新权重的已累计权重字段的密钥更新合约,那么,区块链系统13在接收到各个发起方发起的密钥更新请求的情况下,即可基于相应发起方的更新权重对密钥更新合约中包含的已累计权重字段进行更新,并判断更新后的已累计权重是否达到预设阈值,若是,则执行针对被守护账户的密钥更新操作。
在本说明书中,区块链系统13可以通过多种方式实现针对被守护账户的密钥更新操作。例如,可以由被守护方11自行生成更新后公私钥对,被守护方11一方面可以自行保存更新后公私钥对中的更新后私钥,另一方面,可以将更新后公私钥对中的更新后公钥提供给区块链系统13,区块链系统13可以将被守护账户的验签公钥替换为接收到的更新后公钥。通过该方式,更新后私钥仍仅由被守护方11维护,同时实现了链上维护的验签公钥的变更。
当然,该举例仅是示意性的,具体如何执行针对被守护账户的密钥更新操作,可由本领域技术人员根据实际需求确定,例如,对于重新生成新密钥的操作,可以不由被守护方11生成更新后公私钥对,而由第三方权威机构生成更新后公私钥对,相类似的,在其他诸如交互过程、更新验签公钥等方面均可进行适应性变化,本说明书对此不作限制。
需要声明的是,本说明书中的区块链系统13既可以基于区块链技术的传统架构部署,即区块链系统13中的所有节点均通过在相应实体设备上部署区块链代码而形成,大多数情况下,每个节点均对应于一个实体设备;本说明书的区块链系统13也可以基于区块链技术中的BaaS(Blockchain as a Service)架构部署,即区块链系统13中的所有节点均通过云服务在云端实现的虚拟机上部署区块链代码而形成,区块链节点无需一一对应于相应的实体设备。
由上述技术方案可知,本说明书可以预先在区块链系统中维护守护账户与被守护账户之间的守护关系,使得被守护方在需要对持有的被守护账户进行密钥更新操作时,只需向守护账户的持有者发起密钥更新指示,即可通过守护账户触发区块链系统对被守护账户的密钥更新操作。
应当理解的是,本说明书的技术方案相当于将密钥更新操作的触发权限交由预先设置的守护账户,使得本说明书无需额外创建交易密钥的更新密钥,即可实现针对相应账户的密钥更新操作,避免了相关技术中由于需要额外创建更新密钥,而导致私钥记忆难度增大的问题、私钥存储组件不在身边而造成无法及时更新密钥的问题,以及更新私钥也容易丢失而导致无法更新密钥的问题。
需要强调的是,尽管在上文的介绍中以对交易密钥进行更新为例,但该方法同样适用于其他密钥,不应将本说明书的技术方案局限于交易密钥的更新。
在本说明书中,还公开了一种密钥更新方法。在该方法中,大多数操作方式,例如,如何为被守护账户设置守护账户,如何进行密钥更新操作等,均与上文所述的密钥更新系统一致,该方法仅仅是以区块链系统作为执行主体进行介绍,相关内容均可参照上述密钥更新系统的介绍,在下文中不再赘述。
图2为本说明书一示例性实施例示出的一种密钥更新方法的流程图。该方法应用于区块链系统,该区块链系统维护有:被守护账户与其守护账户之间的守护关系;如图2所示,该方法可以包括以下步骤:
步骤202,接收持有所述守护账户的守护方发起的密钥更新请求,所述密钥更新请求由所述守护方在接收到持有所述被守护账户的被守护方发起的密钥更新指示的情况下发起。
如上所述,本说明书不再采用为交易密钥创建更新密钥的方式实现交易密钥的更新。取而代之的是,本说明书可以在区块链系统中维护各个账户之间的守护关系,进而基于该守护关系执行针对交易密钥的更新操作。
如上所述,区块链系统可以响应于被守护方发起的针对所持有被守护账户的守护账户设置请求,读取该守护账户设置请求中包含的至少一个特定账户的账户信息,以将该至少一个特定账户设置为被守护账户的守护账户。其中,被守护方可以维护有所持有被守护账户的多个公私钥对,那么,区块链系统可以响应于被守护方发起的针对多个公私钥对中的目标公私钥对的守护账户设置请求,读取该守护账户设置请求中包含的至少一个特定账户的账户信息,以将该至少一个特定账户设置为用于对目标公私钥对进行更新的守护账户。
如上所述,区块链系统在接收到守护账户设置请求的情况下,还可以向请求中包含的至少一个特定账户发起守护账户确认请求,在接收到该任一特定账户返回的确认消息的情况下,即可将相应的特定账户设置为被守护账户的守护账户。
如上所述,守护账户设置请求中还可以包含权重分配信息,那么,区块链系统即可根据守护账户设置请求中包含的更新权重分配信息,为设置得到的各个守护账户分配更新权重;其中,更新权重用于表征:相应守护账户触发密钥更新操作的权重。
步骤204,执行针对所述被守护账户的密钥更新操作。
如上所述,若为各个守护账户设置有更新权重,区块链系统可以优先确定接收到的各个密钥更新请求的发起方的更新权重,并在各个发起方的更新权重的权重总值达到预设阈值的情况下,执行针对被守护账户的密钥更新操作。在实际执行中,区块链系统可以调用密钥更新合约,以在接收到各个发起方发起的密钥更新请求的情况下,基于相应发起方的更新权重对密钥更新合约中包含的已累计权重字段进行更新,并在已累计权重达到预设阈值的情况下,执行针对被守护账户的密钥更新操作。
如上所述,区块链系统在实际执行密钥更新操作时,可以接收被守护方发送的更新后公钥,并将被守护账户的验签公钥替换为接收到的更新后公钥;其中,与更新后公钥对应的更新后私钥则由被守护方维护。
由上述技术方案可知,本说明书可以预先在区块链系统中维护守护账户与被守护账户之间的守护关系,使得被守护方在需要对持有的被守护账户进行密钥更新操作时,只需向守护账户的持有者发起密钥更新指示,即可通过守护账户触发区块链系统对被守护账户的密钥更新操作。
应当理解的是,本说明书的技术方案相当于将密钥更新操作的触发权限交由预先设置的守护账户,使得本说明书即便无需额外创建交易密钥的更新密钥,也可以实现针对相应账户的密钥更新操作,避免了相关技术中由于需要额外创建更新密钥,而导致私钥记忆难度增大的问题、私钥存储组件不在身边而造成无法及时更新密钥的问题,以及更新私钥也容易丢失而导致无法更新密钥的问题。
下面,以具体实施例为例,分别对守护账户的设置过程和密钥更新过程进行介绍。
图3为本说明书一示例性实施例示出的一种守护账户设置方法的流程图。如图3所示,该方法可以包括以下步骤:
步骤301,用户A通过账户a向区块链系统发起守护账户设置请求。
在本实施例中,以“用户A请求将用户B、C、D分别持有的账户b、c、d,设置为自身持有的账户a的守护账户”为例进行介绍。
在实际设置过程中,用户A可以在自身持有的终端,如智能手机中安装客户端侧的区块链代码,以形成与区块链系统对应的客户端,并在该客户端中登录自身所持有的账号a,在此基础上,用户即可在客户端中输入需要设置为账户a的守护账户的特定账户的账户信息,以使客户端生成守护账户设置请求,并发送至区块链系统。
步骤302,区块链系统分别向守护账户设置请求中指定的账户b、c、d发送守护账户确认请求。
在本实施例中,区块链系统在从守护账户设置请求中获取到用户A指定的特定账户,即账户b、c、d的账户信息的情况下,即可分别向账户b、c、d发送守护账户确认请求,以由其持有者进行确认。
步骤303,用户B、C、D通过账户b、c、d向区块链系统返回确认消息。
在本实施例中,与用户A相类似的,用户B、C、D也可以在自身持有的终端中安装客户端侧的区块链代码,以形成与区块链系统对应的客户端,进而在各自的客户端中登录账户b、c、d。
在此基础上,用户B、C、D即可通过各自的客户端接收到区块链系统发出的守护账户确认请求,并在客户端中操作以表征自己是否同意将所持有账户设置为账户a的守护账户,若同意,客户端即可向区块链系统返回用于表征相应用户同意将自身持有账户设置为账户a的守护账户的确认消息。
步骤304,区块链系统创建账户a与账户b、c、d中的守护关系。
在本实施例中,区块链系统在接收到账户b、c、d中的任一账户返回的确认消息的情况下,即可创建相应账户与账户a之间的守护关系。
假设用户B、C、D均基于所持有账户返回了确认消息,那么,区块链系统创建的守护关系可以如下表1所示:
表1
需要声明的是,用户A还可以在发起守护账户设置请求时,在请求中添加为各个守护账户分配的更新权重,那么,区块链系统在将账户b、c、d设置为账户a的守护账户后,还可以记录账户b、c、d的更新权重,那么,区块链系统创建的守护关系可以如下表2所示:
表2
在实际的设置过程中,用户A可以根据自身对用户B、C、D的信任程度为各个账户设置更新权重,具体的,可以为信任程度更高的用户的账户设置更高的更新权重。
由上述技术方案可知,任一用户可以通过向区块链系统发送守护账户设置请求的方式,在区块链系统中创建自身所持有账户的守护关系,以便在后续需要更新交易密钥时,基于该守护关系进行密钥更新。
图4为本说明书一示例性实施例示出的另一种密钥更新方法的流程图。如图4所示,该方法可以包括以下步骤:
步骤401,用户A向用户C、D发出密钥更新指示。
在本实施例中,以“用户A通过守护账户c、d实现针对账户a的密钥更新”为例进行介绍。在实际执行过程中,用户A可以通过私下协商的方式向用户C、D发出密钥更新指示,例如,用户A可以通过口头传达的方式或者通讯设备传输的方式告知用户C、D自身存在对账户a的密钥进行更新的需求。
步骤402,用户C、D分别向区块链系统发出密钥更新请求。
在本实施例中,用户C、D在获取到用户A发出的密钥更新指示的情况下,即可基于自身所持有的账户c、d分别向区块链系统发出针对账户a的密钥更新请求。
步骤403,区块链系统调用密钥更新合约,并更新已累计权重字段。
在本实施例中,区块链系统在接收到密钥更新请求的情况下,即可调用并执行密钥更新合约,以对账户a的密钥进行更新。
其中,在如表2所示为各个守护账户设置有更新权重的情况下,密钥更新合约在执行过程中,可以基于接收到的密钥更新请求更新已累计权重字段,例如,若接收到账户c发出的密钥更新请求,则可以将已累计权重字段更新为30,若后续继续接收到账户d发出的密钥更新请求,则可以将已累计权重字段更新为110。
步骤404,区块链系统在确定已累计更新字段记录的已累计更新权重超出100时,向账户a发出更新后公钥获取请求。
在本实施例中,当已累计更新权重超出100时,执行针对账户a的密钥更新操作,否则不执行密钥更新操作。
承接上述举例,在接收到账户c、d发出的密钥更新操作时,由于已累计更新权重为110,已超出100,则执行密钥更新操作;与此相对的,若发起密钥更新请求的守护账户为账户b、c,由于两者更新权重相加为90,未超过100,则不执行针对账户a的密钥更新操作。
在本实施例中,更新后密钥可以由用户A自行创建,以避免更新后密钥中的私钥在传输过程中被窃取的问题。因此,区块链系统在确定已累计更新权重超出100时,即可向账户a发出更新后公钥的获取请求,以指示账户a将创建更新后密钥,并将其中包含的更新后公钥上传至区块链系统,以由区块链系统进行维护。
步骤405,用户A创建更新后密钥,并将更新后密钥中包含的更新后公钥返回至区块链系统。
步骤406,区块链系统维护接收到的更新后公钥。
由上述技术方案可知,本实施例中的用户A只需向其守护账户的持有者发出密钥更新指令,即可通过守护账户向区块链系统发起针所持有账户a的密钥更新请求,以使区块链系统执行针对账户a的密钥更新操作,避免了相关技术中需要额外创建用于对交易密钥进行更新的更新密钥的情况。
除此之外,本实施例中的区块链系统唯有在多个密钥更新请求的发起方的更新权重总值超出权重阈值的情况下,才执行密钥更新操作。可见,即便非法分子控制了某一守护账户,仍无法实现针对被守护账户的密钥更新操作,进一步增强了密钥的安全性。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,密钥更新装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,该密钥更新装置应用于区块链系统,该区块链系统维护有:被守护账户与其守护账户之间的守护关系;该装置可以包括:
接收单元601,接收持有所述守护账户的守护方发起的密钥更新请求,所述密钥更新请求由所述守护方在接收到持有所述被守护账户的被守护方发起的密钥更新指示的情况下发起;
执行单元602,执行针对所述被守护账户的密钥更新操作。
可选的,还包括:
设置单元603,响应于所述被守护方发起的针对所述被守护账户的守护账户设置请求,读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为所述被守护账户的守护账户。
可选的,所述被守护方维护有所持有被守护账户的多个公私钥对;设置单元603被进一步用于:
响应于所述被守护方发起的针对所述多个公私钥对中的目标公私钥对的守护账户设置请求,读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为用于对所述目标公私钥对进行更新的守护账户。
可选的,设置单元603被进一步用于:
向所述至少一个特定账户发起守护账户确认请求,并在接收到任一特定账户返回的确认消息的情况下,将相应的特定账户设置为所述被守护账户的守护账户。
可选的,设置单元603还被用于:
根据所述守护账户设置请求中包含的更新权重分配信息,为设置得到的各个守护账户分配更新权重;
其中,所述更新权重用于表征:相应守护账户触发所述密钥更新操作的权重。
可选的,执行单元602被进一步用于:
确定接收到的各个密钥更新请求的发起方的更新权重,并在各个发起方的更新权重的权重总值达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作。
可选的,执行单元602被进一步用于:
调用密钥更新合约,以在接收到各个发起方发起的密钥更新请求的情况下,基于相应发起方的更新权重对所述密钥更新合约中包含的已累计权重字段进行更新,并在所述已累计权重达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作。
可选的,执行单元602被进一步用于:
接收所述被守护方发送的更新后公钥,并将所述被守护账户的验签公钥替换为接收到的更新后公钥;其中,与所述更新后公钥对应的更新后私钥由所述被守护方维护。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (19)
1.一种密钥更新系统,包括:被守护方、若干守护方、区块链系统;
所述被守护方,维护有所持有被守护账户的公私钥对;用于向所述若干守护方发起密钥更新指示;
所述若干守护方,响应于所述密钥更新指示,基于所持有的守护账户向所述区块链系统发起针对所述被守护账户的公私钥对的密钥更新请求;
所述区块链系统,维护有所述被守护账户与所述若干守护账户之间的守护关系;以及,响应于所述若干守护方发起的密钥更新请求,执行针对所述被守护账户的密钥更新操作。
2.根据权利要求1所述的系统,
所述被守护方,还用于:向所述区块链系统发起针对所述被守护账户的守护账户设置请求;
所述区块链系统,还用于:读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为所述被守护账户的守护账户。
3.根据权利要求2所述的系统,所述被守护方维护有所持有被守护账户的多个公私钥对;
所述被守护方,向所述区块链系统发起针对所述被守护账户的守护账户设置请求,包括:向所述区块链系统发起针对所述多个公私钥对中的目标公私钥对的守护账户设置请求;
所述区块链系统,读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为所述被守护账户的守护账户,包括:读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为用于对所述目标公私钥对进行更新的守护账户。
4.根据权利要求2所述的系统,
所述区块链系统,将所述至少一个特定账户设置为所述被守护账户的守护账户,包括:向所述至少一个特定账户的持有者发起守护账户确认请求,在接收到任一特定账户的持有者返回的确认消息的情况下,将相应的特定账户设置为所述被守护账户的守护账户。
5.根据权利要求2所述的系统,
所述区块链系统,还用于:根据所述守护账户设置请求中包含的更新权重分配信息,为设置得到的各个守护账户分配更新权重;
其中,所述更新权重用于表征:相应守护账户触发所述密钥更新操作的权重。
6.根据权利要求1所述的系统,
所述区块链系统,执行针对所述被守护账户的密钥更新操作,包括:确定接收到的各个密钥更新请求的发起方的更新权重,并在各个发起方的更新权重的权重总值达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作。
7.根据权利要求6所述的系统,
所述区块链系统,在各个发起方的更新权重的权重总值达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作,包括:调用密钥更新合约,以在接收到各个发起方发起的密钥更新请求的情况下,基于相应发起方的更新权重对所述密钥更新合约中包含的已累计权重字段进行更新,并在所述已累计权重达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作。
8.根据权利要求1所述的系统,
所述区块链系统,执行针对所述被守护账户的密钥更新操作,包括:接收所述被守护方发送的更新后公钥,并将所述被守护账户的验签公钥替换为接收到的更新后公钥;其中,与所述更新后公钥对应的更新后私钥由所述被守护方维护。
9.一种密钥更新方法,应用于区块链系统,所述区块链系统维护有:被守护账户与其守护账户之间的守护关系;所述方法包括:
接收持有所述守护账户的守护方发起的密钥更新请求,所述密钥更新请求由所述守护方在接收到持有所述被守护账户的被守护方发起的密钥更新指示的情况下发起;
执行针对所述被守护账户的密钥更新操作。
10.根据权利要求9所述的方法,还包括:
响应于所述被守护方发起的针对所述被守护账户的守护账户设置请求,读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为所述被守护账户的守护账户。
11.根据权利要求10所述的方法,所述被守护方维护有所持有被守护账户的多个公私钥对;所述响应于所述被守护方发起的针对所述被守护账户的守护账户设置请求,读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为所述被守护账户的守护账户,包括:
响应于所述被守护方发起的针对所述多个公私钥对中的目标公私钥对的守护账户设置请求,读取所述守护账户设置请求中包含的至少一个特定账户的账户信息,以将所述至少一个特定账户设置为用于对所述目标公私钥对进行更新的守护账户。
12.根据权利要求10所述的方法,所述将所述至少一个特定账户设置为所述被守护账户的守护账户,包括:
向所述至少一个特定账户发起守护账户确认请求,并在接收到任一特定账户返回的确认消息的情况下,将相应的特定账户设置为所述被守护账户的守护账户。
13.根据权利要求10所述的方法,还包括:
根据所述守护账户设置请求中包含的更新权重分配信息,为设置得到的各个守护账户分配更新权重;
其中,所述更新权重用于表征:相应守护账户触发所述密钥更新操作的权重。
14.根据权利要求9所述的方法,所述执行针对所述被守护账户的密钥更新操作,包括:
确定接收到的各个密钥更新请求的发起方的更新权重,并在各个发起方的更新权重的权重总值达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作。
15.根据权利要求14所述的方法,所述在各个发起方的更新权重的权重总值达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作,包括:
调用密钥更新合约,以在接收到各个发起方发起的密钥更新请求的情况下,基于相应发起方的更新权重对所述密钥更新合约中包含的已累计权重字段进行更新,并在所述已累计权重达到预设阈值的情况下,执行针对所述被守护账户的密钥更新操作。
16.根据权利要求9所述的方法,所述执行针对所述被守护账户的密钥更新操作,包括:
接收所述被守护方发送的更新后公钥,并将所述被守护账户的验签公钥替换为接收到的更新后公钥;其中,与所述更新后公钥对应的更新后私钥由所述被守护方维护。
17.一种密钥更新装置,应用于区块链系统,所述区块链系统维护有:被守护账户与其守护账户之间的守护关系;所述装置包括:
接收单元,接收持有所述守护账户的守护方发起的密钥更新请求,所述密钥更新请求由所述守护方在接收到持有所述被守护账户的被守护方发起的密钥更新指示的情况下发起;
执行单元,执行针对所述被守护账户的密钥更新操作。
18.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求9-16中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求9-16中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211738111.3A CN116032469A (zh) | 2022-12-30 | 2022-12-30 | 一种密钥更新方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211738111.3A CN116032469A (zh) | 2022-12-30 | 2022-12-30 | 一种密钥更新方法及装置、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116032469A true CN116032469A (zh) | 2023-04-28 |
Family
ID=86075503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211738111.3A Pending CN116032469A (zh) | 2022-12-30 | 2022-12-30 | 一种密钥更新方法及装置、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032469A (zh) |
-
2022
- 2022-12-30 CN CN202211738111.3A patent/CN116032469A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182581B (zh) | 一种区块链的记账方法及装置 | |
KR102437812B1 (ko) | 자산 관리 방법과 장치, 및 전자 디바이스 | |
CN112307455B (zh) | 基于区块链的身份认证方法及装置、电子设备 | |
KR20200083544A (ko) | 자산 관리 방법 및 장치, 및 전자 디바이스 | |
CN110046998B (zh) | 跨链用权系统及方法、装置、电子设备、存储介质 | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
KR20200081441A (ko) | 자산 관리 방법 및 장치, 및 전자 디바이스 | |
KR20200084009A (ko) | 자산 관리 방법 및 장치, 및 전자 디바이스 | |
CN110020854B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN110020945B (zh) | 一种基于多个区块链网络的数据读取方法及系统 | |
CN111476572A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN110032846B (zh) | 身份数据的防误用方法及装置、电子设备 | |
CN113179266A (zh) | 业务请求处理方法及装置、电子设备、存储介质 | |
CN114500119B (zh) | 区块链服务的调用方法和装置 | |
CN113268742A (zh) | 数据授权方法、装置及电子设备 | |
CN111245897B (zh) | 数据处理方法、装置、系统、存储介质及处理器 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN114884962A (zh) | 负载均衡方法及装置和电子设备 | |
CN112990925B (zh) | 资产凭证的管理方法及装置 | |
CN114064780A (zh) | 会话信息的处理方法、系统、装置、存储介质及电子设备 | |
CN113327169B (zh) | 基于区块链的理赔方法及装置、电子设备 | |
CN116032469A (zh) | 一种密钥更新方法及装置、系统 | |
CN115118434A (zh) | 基于区块链的密钥管理方法及装置 | |
CN114880300A (zh) | 基于区块链文件的处理方法和装置、处理器及电子设备 | |
CN114547655A (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 |