CN111339571B - 一种区块链密钥管理方法、装置、设备和存储介质 - Google Patents
一种区块链密钥管理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111339571B CN111339571B CN202010129569.3A CN202010129569A CN111339571B CN 111339571 B CN111339571 B CN 111339571B CN 202010129569 A CN202010129569 A CN 202010129569A CN 111339571 B CN111339571 B CN 111339571B
- Authority
- CN
- China
- Prior art keywords
- key
- current
- user
- transaction request
- current transaction
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims description 34
- 238000012545 processing Methods 0.000 claims abstract description 146
- 238000000034 method Methods 0.000 claims abstract description 103
- 230000008569 process Effects 0.000 claims abstract description 57
- 238000012795 verification Methods 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 23
- 230000008901 benefit Effects 0.000 description 18
- 238000012546 transfer Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种区块链密钥管理方法、装置、设备和存储介质,涉及区块链技术领域。由用户终端设备执行时,具体实现方案为:若用户存在当前事务处理需求,则生成用户的第一备用密钥;其中,第一备用密钥用于处理用户的下次事务处理需求;采用用户的第一当前密钥,对当前事务数据和第一备用密钥进行签名,得到签名结果;向区块链节点发送包括当前事务数据、第一备用密钥和签名结果的当前事务请求,以使区块链节点采用第一当前密钥对当前事务请求进行处理,且将第一备用密钥和得到的当前处理结果上链存储。本申请用户每次处理事务处理需求时,所采用的密钥都不相同,从而提高了用户账户的安全性。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及区块链技术领域,具体涉及一种区块链密钥管理方法、装置、设备和存储介质。
背景技术
目前,区块链通常采用密钥签名技术来确定用户身份,例如,用户节点可以采用其密钥(如私钥)对交易数据进行签名,得到签名结果,其他节点可以通过用户的密钥(如公钥)验证签名结果,进而实现对用户身份确认。但是现有技术中用户的密钥是其注册区块链账户后,确定的唯一且固定的密钥对,当用户密钥泄漏后,该用户的账户身份就可能被他人盗用,严重威胁用户的账户安全。
发明内容
本申请实施例公开了一种区块链密钥管理方法、装置、设备和存储介质,用户每次处理事务处理需求时,所采用的密钥都不相同,从而提高了用户账户的安全性。
第一方面,本申请实施例公开了一种区块链密钥管理方法,由用户终端设备执行,该方法包括:
若用户存在当前事务处理需求,则生成所述用户的第一备用密钥;其中,所述第一备用密钥用于处理所述用户的下次事务处理需求;
采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名,得到签名结果;
向区块链节点发送包括所述当前事务数据、所述第一备用密钥和所述签名结果的当前事务请求,以使所述区块链节点采用所述第一当前密钥对所述当前事务请求进行处理,且将所述第一备用密钥和得到的当前处理结果上链存储。
上述申请中的一个实施例具有如下优点或有益效果:当用户存在当前事务处理需求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,以使区块链节点根据用户的第一当前密钥对该事务请求进行处理,并将第一备用密钥和当前处理结果上链存储。本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,即第一当前密钥只用于当前事务请求的生成和验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
另外,根据本申请上述实施例的区块链密钥管理方法,还可以具有如下附加的技术特征:
可选的,采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名之前,还包括:
将处理上次事务处理需求过程中生成的第二备用密钥,作为所述用户的所述第一当前密钥。
上述申请中的一个实施例具有如下优点或有益效果:在对当前事务数据和第一备用密钥进行签名之前,需要根据上次事务处理需求处理过程中生成的第二备用密钥对用户的第一当前密钥进行一次更新,以提高用户的账户安全。
可选的,生成所述用户的第一备用密钥,包括:
采用分层确定性加密技术或随机算法生成所述用户的所述第一备用密钥。
上述申请中的一个实施例具有如下优点或有益效果:可以采用分层确定性加密技术或者随机算法生成第一备用密钥,在提高密钥的安全性的同时,也提高了密钥生成方式的灵活性。
可选的,生成所述用户的第一备用密钥之后,还包括:
将所述第一备用密钥存储在本地可信存储空间。
上述申请中的一个实施例具有如下优点或有益效果:将本次生成的第一备用密钥存储在本地可信存储空间,保证密钥的安全性,降低了密钥的泄漏风险。
第二方面,本申请实施例公开了一种区块链密钥管理方法,由区块链节点执行,该方法包括:
获取用户发送的当前事务请求;其中,所述当前事务请求包括当前事务数据、第一备用密钥和签名结果;所述签名结果通过采用所述用户的第一当前密钥对所述当前事务数据和所述第一备用密钥进行签名得到;
采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证;
若验证通过,则得到所述第一备用密钥,且对所述当前事务请求进行处理以得到当前处理结果;
将所述当前处理结果和所述第一备用密钥上链存储。
上述申请中的一个实施例具有如下优点或有益效果:区块链节点在接收到用户发送的当前事务请求后,先通过该用户的第一当前密钥对当前事务请求中的签名结果进行验证,完成对该用户身份验证,若验证通过,方可得到第一备用密钥,且对该事务请求进行处理,以得到当前处理结果,并将当前处理结果和第一备用密钥上链存储,由于本申请实施例中区块链节点每次处理用户的事务处理请求时,所采用的该用户的密钥都不相同,即第一当前密钥只用于当前事务请求中签名结果的验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
另外,根据本申请上述实施例的区块链密钥管理方法,还可以具有如下附加的技术特征:
可选的,采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证之前,还包括:
将处理上次事务请求过程中得到的第二备用密钥,作为所述用户的所述第一当前密钥。
上述申请中的一个实施例具有如下优点或有益效果:区块链节点采用第一当前密钥对当前事务请求的签名结果进行验证之前,需要通过上次事务请求中的第二备用密钥对用户的当前密钥进行一次更新,以提高用户的账户安全。
第三方面,本申请实施例公开了一种区块链管理装置,配置于用户终端设备中,该装置包括:
密钥生成模块,用于若用户存在当前事务处理需求,则生成所述用户的第一备用密钥;其中,所述第一备用密钥用于处理所述用户的下次事务处理需求;
密钥签名模块,用于采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名,得到签名结果;
事务请求发送模块,用于向区块链节点发送包括所述当前事务数据、所述第一备用密钥和所述签名结果的当前事务请求,以使所述区块链节点采用所述第一当前密钥对所述当前事务请求进行处理,且将所述第一备用密钥和得到的当前处理结果上链存储;
上述申请中的一个实施例具有如下优点或有益效果:当用户存在当前事务处理需求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,以使区块链节点根据用户的第一当前密钥对该事务请求进行处理,并将第一备用密钥和当前处理结果上链存储。本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,即第一当前密钥只用于当前事务请求的生成和验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
第四方面,本申请实施例公开了一种区块链管理装置,配置于区块链节点中,该装置包括:
请求获取模块,用于获取用户发送的当前事务请求;其中,所述当前事务请求包括当前事务数据、第一备用密钥和签名结果;所述签名结果通过采用所述用户的第一当前密钥对所述当前事务数据和所述第一备用密钥进行签名得到;
签名验证模块,用于采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证;
请求处理模块,用于若验证通过,则得到所述第一备用密钥,且对所述当前事务请求进行处理以得到当前处理结果;
数据上链模块,用于将所述当前处理结果和所述第一备用密钥上链存储。
上述申请中的一个实施例具有如下优点或有益效果:区块链节点在接收到用户发送的当前事务请求后,先通过该用户的第一当前密钥对当前事务请求中的签名结果进行验证,完成对该用户身份验证,若验证通过,方可得到第一备用密钥,且对该事务请求进行处理,以得到当前处理结果,并将当前处理结果和第一备用密钥上链存储,由于本申请实施例中区块链节点每次处理用户的事务处理请求时,所采用的该用户的密钥都不相同,即第一当前密钥只用于当前事务请求中签名结果的验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
第五方面,本申请实施例还公开了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请任一实施例所述的区块链密钥管理方法。
第六方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请任一实施例所述的区块链密钥管理方法。
上述申请中的一个实施例具有如下优点或有益效果:当用户存在当前事务处理需求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,以使区块链节点根据用户的第一当前密钥对该事务请求进行处理,并将第一备用密钥和当前处理结果上链存储。本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,即第一当前密钥只用于当前事务请求的生成和验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例提供的区块链密钥管理方法的流程图;
图2是根据本申请第二实施例提供的区块链密钥管理方法的流程图;
图3是根据本申请第三实施例提供的区块链密钥管理方法的信令图;
图4是根据本申请第四实施例提供的区块链密钥管理装置的结构框图;
图5是根据本申请第五实施例提供的区块链密钥管理装置的结构框图;
图6是用来实现本申请第六实施例提供的区块链密钥管理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
第一实施例
图1是根据本申请第一实施例提供的区块链密钥管理方法的流程图;本实施例可适用于对区块链网络中的各用户的区块链账户密钥进行管理的情况,尤其适用于在用户发起事务请求时,如何对用户的区块链账户密钥进行管理的情况。该方法可以由用户终端设备来执行,其中,本申请的用户终端设备可以是用户的手机、个人计算机以及可穿戴设备等。该用户终端设备可以是区块链节点,如可以是区块链网络中的普通节点,或轻量级节点,还可以不是区块链节点,但是可以通过区块链节点提供的接口,与区块链网络进行交互。具体的,该方法可以由本申请实施例四提供的区块链密钥管理装置来执行,该装置可采用硬件和/或软件的方式实现,并可集成于用户终端设备中。参见图1,该方法具体可以包括:
S101,若用户存在当前事务处理需求,则生成所用户的第一备用密钥。
其中,当前事务处理需求可以是用户需要对当前的事务数据进行处理的需求,例如,可以包括但不限于,转账交易需求、链上数据写入或修改需求、链上数据查询需求等。
可选的,区块链网络中的用户都有一对可以证明其身份的区块链账户密钥,在现有技术中,用户的区块链账户密钥是在其注册区块链账户时确定的,每个用户只有唯一且固定的一对密钥。而在本申请中,用户的密钥在每次存在当前事务处理需求时,都重新生成一对,重新生成的该对密钥即为处理用户下次事务处理需求所需的备用密钥。第一备用密钥可以是指针对用户的当前事务处理需求,生成的备用密钥,该第一备用密钥可用于处理用户的下次事务处理需求。例如,生成该用户下次事务处理需求对应的下次事务处理请求中的签名结果,以及对下次事务请求中的签名结果进行验证。
可选的,在本申请实施例中,当用户存在当前事务处理需求时,会按照预设算法生成一对密钥,作为该用户的第一备用密钥。具体的生成过程可以是采用分层确定性加密技术或随机算法生成该用户的第一备用密钥。其中,生成的第一备用密钥包括公钥和私钥。可选的,采用分层确定性加密技术生成用户的第一备用密钥,可以降低密钥被泄露和破解的可能性,并且该技术支持业务层抗量子攻击,可以保护隐私轨迹。分层确定性加密技术通过相对独立且不相同的分层,将密钥、隐私轨迹、用户端等信息分隔开来,以降低泄漏风险,并加密每个分层,每个分层有不同的加密方式,让偷窃者解密多层也不一定能获得密钥进入个人账户。极大的提高了生成的密钥的安全性。采用随机算法随机生成一对预设个数的字符串作为该用户的第一备用密钥,在能够达到密钥安全性的前提下,极大的降低了密钥生成过程的复杂性。可以根据实际需求选择具体的密钥生成算法。需要说明的是,本申请实施例除了可以采用上述介绍的分层确定性加密技术或随机算法外,还可以采用其他算法生成用户的第一备用密钥,对此本申请实施例不进行限定。
可选的,本申请实施例在生成用户的第一备用密钥后,可以将生成的该第一备用密钥存储在本地可信存储空间。具体的,可以是在新生成的该第一备用密钥未被使用(即没有用其进行签名或验证事务请求)之前,将其存在本地的可信且安全的存储空间中,后续需要使用该第一备用密钥时,可以从本地可信存储空间中获取。这样设置的好处是,保证密钥的安全性,降低了密钥的泄漏风险。
S102,采用用户的第一当前密钥,对当前事务数据和第一备用密钥进行签名,得到签名结果。
其中,在本申请中,当前事务数据可以是当前事务处理需求对应的需要请求区块链节点进行处理的数据,例如,若当前事务处理需求为转账交易需求,则当前事务数据为转账交易的具体转账交易数据,如用户A向用户B转账100元。若当前事务处理需求为链上数据写入或修改需求,则当前事务数据为需要在区块链网络中进行上链或修改的具体数据内容。若当前事务处理需求为链上数据查询需求,则当前事务数据为具体的数据查询条件。
可选的,第一当前密钥是用于处理用户的当前事务处理需求的密钥,其确定方式可以是:将处理上次事务处理需求过程中生成的第二备用密钥,作为所述用户的第一当前密钥。其中,第二备用密钥是用户在上次存在事务处理需求时,生成的备用密钥,其与第一备用密钥的生成和存储方法类似,区别在于第一备用密钥是处理当前事务处理需求时生成的,第二备用密钥是处理上次事务处理需求时生的。具体的,由于用户的上次事务处理需求已经处理完成,在本次用户又要处理当前事务需求时,可以是将处理上次事务处理需求时,进行签名操作所采用的密钥作为失效密钥,并将上次存在事务处理需求时,生成的第二备用密钥更新为所述用户的第一当前密钥。需要说明的是,本申请中,第一当前密钥用于处理用户的当前事务处理需求,第一备用密钥用于处理用户的下次事务处理需求,即处理用户的每个事务处理需求都对应一个专属的密钥。此外,第一当前密钥和第一备用密钥都可以包括公钥和私钥,私钥可用于用户终端设备进行数据签名,公钥可用于区块链节点对私钥的签名结果进行验证,从而实现对事务请求的发起方进行用户身份验证。
可选的,区块链节点为了保证处理的当前事务请求的安全性和可靠性,针对其接收到的当前事务请求,通常需要先对该当前事务请求进行发起方用户的身份验证。所以对于发起当前事务请求的用户,其发起的当前事务请求中需要包含可以用于验证其身份的签名结果。本申请中,该签名结果可以是用户终端设备采用用户的第一当前密钥对当前事务处理需求对应的当前事务数据和S101生成的第一备用密钥进行签名得到的。具体执行过程可以是,用户终端设备将用户的第一当前密钥、当前事务数据以及第一备用密钥作为输入数据,调用并运行密钥签名相关的应用程序代码,即可完成采用用户的第一当前密钥,对当前事务数据和第一备用密钥进行签名的过程。优选的,本申请实施例中,可以采用用户的第一当前密钥中的私钥,对当前事务数据和第一备用密钥中的公钥进行签名,得到签名结果。
S103,向区块链节点发送包括当前事务数据、第一备用密钥和签名结果的当前事务请求,以使区块链节点采用第一当前密钥对当前事务请求进行处理,且将第一备用密钥和得到的当前处理结果上链存储。
可选的,在本申请实施例中,用户终端设备在执行完S102得到签名结果后,可以是将当前事务处理需求对应的当前事务数据,S101生成的第一备用密钥和S102的签名结果作为输入数据,调用并运行智能合约,从而生成包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,并向区块链节点发送该当前事务请求。区块链节点在接收到该当前事务请求后,会采用用户的第一当前密钥,先对当前事务请求中的签名结果进行验证,如果验证通过,说明该当前事务请求确实是该用户发布的,此时可以对当前事务请求进行处理,得到当前处理结果。由于本申请实施例中用户的第一当前密钥只能用于验证本次接收到的当前事务请求,该用户下次发送的下次事务请求,需要当前事务请求中包含的第一备用密钥进行验证,所以区块链节点在对当前事务请求的签名结果验证通过后,还需要从当前事务请求中获取第一备用密钥,并将当前处理结果和第一备用密钥进行上链存储。优选的,本申请实施例中,可以是向区块链节点发送包括当前事务数据、第一备用密钥中的公钥和签名结果的当前事务请求,以使区块链节点采用第一当前密钥中的公钥对当前事务请求进行处理,且将第一备用密钥中的公钥和得到的当前处理结果上链存储。
可选的,在本申请中,用户终端设备向区块链节点发送的当前事务请求中,除了包括当前事务数据、第一备用密钥和签名结果外,还可以包括用户的第一当前密钥,相应的,此时区块链节点在对当前事务请求中的签名结果进行验证时,可以直接从当前事务请求中快速获取用户的第一当前密钥进行签名结果的验证,提高用户身份的验证效率。还可以是从当前事务请求中获取用户的第一当前密钥与本地或区块链网络中存储的用户的第一当前密钥进行一致性比对,若一致再进行签名结果的验证,提高用户身份验证的准确性。
需要说明的是,本申请实施例中用户的第一当前密钥只能用于处理当前事务处理需求,即第一当前密钥中的私钥只用于对生成当前事务处理需求对应的当前事务请求中包含的签名结果,第一当前密钥中的公钥只用于对当前事务请求中包含的签名结果进行验证。当前事务处理需求处理完成后,当前事务处理需求对应的第一当前密钥也就失效了。当用户存在下次事务处理需求时,将当前事务请求中包含的第一备用密钥作为处理下次事务处理需求所需的密钥,对下次事务处理需求进行处理。
可选的,本申请实施例中,用户终端设备在处理完当前事务处理需求后,在本地维护的用户密钥数据中,添加第一当前密钥与当前事务请求之间的关联关系,可选的,用户密钥数据可以是通过列表、键值对等形式进行维护,便于后续查找。
需要说明的是,在本申请实施例中若用户存在的当前事务处理需求,不是用户注册区块链账户后的首次事务处理需求,则S102对当前事务数据和所述第一备用密钥进行签名采用的第一当前密钥可以是用户终端设备生成的上次事务请求中包含的第二备用密钥。若用户存在的当前事务处理需求是用户注册区块链账户后的首次事务处理需求,则此时S102对当前事务数据和第一备用密钥进行签名采用的是在所述用户创建区块链账户时,为所述用户生成的第二当前密钥。此时第一当前密钥即为第二当前密钥。其中,所述第二当前密钥就是用于处理所述用户的首次事务处理需求。可选的,用户创建区块链账户时,可以是区块链网络按照预设的密钥生成算法,给该用户分配第二当前密钥,也可以是用户终端设备本地按照预设的密钥生成算法,在本地生成第二当前密钥。可选的,在所述用户创建区块链账户时,也可以是采用与上述生成第一备用密钥相类似的方法,采用分层确定性加密技术或者随机算法为所述用户生成第二当前密钥,并将其存储在本地可信存储空间中。
本实施例的技术方案,当用户存在当前事务处理需求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,以使区块链节点根据用户的第一当前密钥对该事务请求进行处理,并将第一备用密钥和当前处理结果上链存储。本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,即第一当前密钥只用于当前事务请求的生成和验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
第二实施例
图2是根据本申请第二实施例提供的区块链密钥管理方法的流程图;本实施例可适用于对区块链网络中的各用户的区块链账户密钥进行管理的情况,尤其适用于区块链节点在响应接收到的事务请求时,如何对用户的区块链账户密钥进行管理的情况。该方法可以由区块链节点来执行,其中,该区块链节点可以是当前区块生成节点,还可以是区块链网络中的其他节点。具体的,该方法可以由本申请实施例五提供的区块链密钥管理装置来执行,该装置可采用硬件和/或软件的方式实现,并可集成于区块链节点设备中。参见图2,该方法具体可以包括:
S201,获取用户发送的当前事务请求。
其中,当前事务请求包括当前事务数据、第一备用密钥和签名结果;签名结果通过采用用户的第一当前密钥对当前事务数据和第一备用密钥进行签名得到。
具体的,在本申请实施例中,用户存在当前事务处理需求时,先生成该用户的第一备用密钥,然后采用用户的第一当前密钥,对当前事务数据和生成的第一备用密钥进行签名,得到签名结果,进而生成包括当前事务数据、第一备用密钥和签名结果的当前事务请求发送至区块链节点,区块链节点接收该当前事务请求。需要说明的是,用户终端设备如何生成当前事务请求的过程在上述实施例一中已经进行了详细的介绍,在此本实施例不进行赘述。
S202,采用第一当前密钥对当前事务请求中的签名结果进行验证。
可选的,在本申请实施例中,区块链节点接收到用户发送的包括当前事务数据、第一备用签名和签名结果的当前事务请求后,需要先对发送该当前事务请求的用户身份进行验证,具体的验证过程可以是,区块链节点获取发送该当前事务请求的用户的第一当前密钥,将该第一当前密钥和签名结果作为输入数据,调用并运行签名验证的相关程序代码,此时该相关程序代码就会输出该签名结果是否验证通过,若验证通过,则说明对该事务请求的用户身份验证通过,即该事务请求确实是该用户发送的。优选的,本申请实施例可以是采用第一当前密钥中的公钥对当前事务请求中的签名结果进行验证。
可选的,本申请实施例中,区块链节点验证签名结果所采用的户的第一当前密钥可以通过如下方式确定:将处理上次事务请求过程中得到的第二备用密钥,作为所述用户的第一当前密钥。具体的,区块链节点可以将其处理该用户的上次事务请求时,对上次事务请求中的签名结果进行验证的密钥作为失效密钥,并将上次事务请求中包含的第二备用密钥更新为所述用户的第一当前密钥。
可选的,本申请实施例中,用户的第一当前密钥的获取途径有很多,对此本实施例不进行限定。
方式一、区块链节点从链上查找用户的第一当前密钥。具体的,由于用户终端设备发布上次事务请求时,在上次事务请求中添加了用户的第二备用密钥,且区块链节点也会在每次执行完上次事务请求后,将上次事务请求中包含的第二备用密钥进行上链存储,由于上次事务请求中包含的第二备用密钥就是当前事务请求对应的第一当前密钥,所以此时区块链节点可以是从链上查找获取用户的第二备用密钥作为第一当前密钥。
方式二、区块链节点从本地查找用户的第一当前密钥。具体的,区块链节点可以在本地维护一个用户密钥数据,即区块链节点每次将事务请求中包含的备用密钥上链存储时,在本地的该用户密钥数据中也进行记录,此时区块链节点可以直接从其本地维护的用户密钥数据中,获取用户处理上次事务请求时记录的第二备用密钥作为第一当前密钥。
方式三、区块链节点从接收到的事务请求中获取用户的第一当前密钥。具体的,可以是用户终端设备生成的当前事务请求中,除了包括当前事务数据、第一备用密钥和签名结果外,还包括用户的第一当前密钥,此时区块链节点可以直接从当前事务请求中快速获取用户的第一当前密钥,提高第一当前密钥获取的便捷性。还可以是从当前事务请求中获取用户的第一当前密钥后与链上或本地维护的用户的第一当前密钥进行一致性比对,若一致,则将其作为用户的第一当前密钥,避免当前事务请求中包含的用户第一当前密钥造假。
S203,若验证通过,则得到第一备用密钥,且对当前事务请求进行处理以得到当前处理结果。
可选的,在本申请中,若区块链节点采用用户的第一当前密钥对事务请求中的签名结果验证通过,则说明对该事务请求的用户身份验证通过,此时可以对当前事务请求进行处理,得到当前处理结果。例如,若该当前事务请求为转账事务请求,此时区块链节点可以处理该转账事务请求,对转账交易双方的资产进行转移后,将本次转账交易的相关数据(如该事务请求、转账后双方的资产余额以及区块链节点标识等)作为当前处理结果。此外,由于本申请实施例中用户的第一当前密钥只能用于验证本次接收到的当前事务请求中的签名结果,该用户下次发送的下次事务请求,需要当前事务请求中包含的第一备用密钥对下次事务请求中的签名结果进行验证,所以区块链节点在对当前事务请求的签名结果验证通过后,还需要从当前事务请求中获取第一备用密钥。优选的,本申请实施例中,若验证通过,得到的可以是第一备用密钥中的公钥,相应的,S204中上链存储的也是第一备用密钥中的公钥。
S204,将当前处理结果和第一备用密钥上链存储。
可选的,在本申请实施例中,将当前处理结果进行上链存储,在保证本次事务处理请求处理过程安全可靠的同时,还实现了对本次处理过程的可追溯性。将该第一备用密钥进行上链存储,保证用户密钥的安全性。该第一备用密钥用于在接收到该用户发送的下次事务请求时,采用该第一备用密钥对下次事务请求中包含的签名结果进行验证。
可选的,区块链节点在将第一备用密钥进行上链存储后,还可以将该第一备用密钥在本地进行存储,便于对下次事务请求中的签名结果进行验证时,快速查找用户的第一备用密钥。
可选的,本申请实施例中,区块链节点在将当前处理结果和第一备用密钥上链存储之后,还可以在本地或区块链网络维护的用户密钥数据中,添加第一当前密钥与当前事务请求之间的关联关系,可选的,用户密钥数据可以是通过列表、键值对等形式进行维护,便于后续查找。例如,若某一区块链节点需要对用户A之前发送的某一个事务请求进行身份验证时,就可以通过用户A的密钥数据,查找该事务请求对应的第一当前密钥,通过该第一当前密钥对该事务请求进行用户A身份验证。
需要说明的是,在本申请实施例中若区块链节点获取的当前事务请求不是该用户首次发送的事务请求,则此时该用户的第一当前密钥可以是处理上次事务请求过程中得到的第二备用密钥。若区块链节点获取的当前事务请求是该用户首次发送的事务请求,则此时,该用户的第一当前密钥可以是该用户创建区块链账户时生成的第二当前密钥。
本实施例的技术方案,区块链节点在接收到用户发送的当前事务请求后,先通过该用户的第一当前密钥对当前事务请求中的签名结果进行验证,完成对该用户身份验证,若验证通过,方可得到第一备用密钥,且对该事务请求进行处理,以得到当前处理结果,并将当前处理结果和第一备用密钥上链存储,由于本申请实施例中区块链节点每次处理用户的事务处理请求时,所采用的该用户的密钥都不相同,即第一当前密钥只用于当前事务请求中签名结果的验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
第三实施例
图3是根据本申请第三实施例的一种区块链密钥管理方法的信令图。本实施例在上述各实施例的基础上进行优化,给出了一个用户终端设备和区块链网络节点交互实现区块链密钥管理过程的优选实例。如图3所示,该方法可以包括:
S301,若用户存在当前事务处理需求,则用户终端设备生成用户的第一备用密钥。
其中,该第一备用密钥用于处理用户的下次事务处理需求。
可选的,本步骤可以采用分层确定性加密技术或随机算法生成所述用户的第一备用密钥。本步骤生成的第一备用密钥可存储在本地可信存储空间。
S302,用户终端设备采用用户的第一当前密钥,对当前事务数据和第一备用密钥进行签名,得到签名结果。
可选的,若用户存在的该当前事务处理需求不是用户注册区块链账户后的首次事务处理需求,则本步骤对当前事务数据和第一备用密钥进行签名的第一当前密钥可以是处理上次事务处理需求过程中生成的第二备用密钥。若用户存在的当前事务处理需求是用户注册区块链账户后的首次事务处理需求,则此时本步骤对当前事务数据和第一备用密钥进行签名的第一当前密钥可以是在该用户创建区块链账户时,为该用户生成的第二当前密钥。
S303,用户终端设备向区块链节点发送包括当前事务数据、第一备用密钥和签名结果的当前事务请求。
S304,区块链节点获取用户发送的当前事务请求。
其中,所述当前事务请求包括当前事务数据、第一备用密钥和签名结果;所述签名结果通过采用所述用户的第一当前密钥对所述当前事务数据和所述第一备用密钥进行签名得到。
S305,区块链节点采用第一当前密钥对当前事务请求中的签名结果进行验证。
可选的,若区块链节点获取的当前事务请求不是该用户首次发送的事务请求,则此时该用户的第一当前密钥可以是处理上次事务请求过程中得到的第二备用密钥。若区块链节点获取的当前事务请求是该用户首次发送的事务请求,则此时该用户的第一当前密钥可以是该用户创建区块链账户时,为所述用户生成的第二当前密钥。
S306,若验证通过,则区块链节点得到第一备用密钥,且对当前事务请求进行处理以得到当前处理结果。
S307,区块链节点将当前处理结果和第一备用密钥上链存储。
本实施例的技术方案,当用户需要发布当前事务请求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,区块链节点在接收到当前事务请求后,先通过该用户的第一当前密钥对当前事务请求中的签名结果进行验证,若验证通过,方可得到第一备用密钥,且对该事务请求进行处理,以得到当前处理结果,并将当前处理结果和第一备用密钥上链存储。由于本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,因此即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
第四实施例
图4是根据本申请第四实施例的一种区块链密钥管理装置的结构示意图;本实施例可适用于对区块链网络中的各用户的区块链账户密钥进行管理的情况,尤其适用于在用户发起事务请求时,如何对用户的区块链账户密钥进行管理的情况。该装置可实现本申请第一和第三实施例所述的区块链密钥管理方法。该装置配置于用户终端设备中,该装置400具体包括如下:
密钥生成模块401,用于若用户存在当前事务处理需求,则生成所述用户的第一备用密钥;其中,所述第一备用密钥用于处理所述用户的下次事务处理需求;
密钥签名模块402,用于采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名,得到签名结果;
事务请求发送模块403,用于向区块链节点发送包括所述当前事务数据、所述第一备用密钥和所述签名结果的当前事务请求,以使所述区块链节点采用所述第一当前密钥对所述当前事务请求进行处理,且将所述第一备用密钥和得到的当前处理结果上链存储。
本实施例的技术方案,当用户存在当前事务处理需求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,以使区块链节点根据用户的第一当前密钥对该事务请求进行处理,并将第一备用密钥和当前处理结果上链存储。本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,即第一当前密钥只用于当前事务请求的生成和验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
进一步的,所述装置还包括:
密钥更新模块,用于将处理上次事务处理需求过程中生成的第二备用密钥,作为所述用户的所述第一当前密钥。
进一步的,所述密钥生成模块401具体用于:
采用分层确定性加密技术或随机算法,生成所述用户的第一备用密钥。
进一步的,所述装置还包括:
密钥存储模块,用于将所述第一备用密钥存储在本地可信存储空间。
进一步的,所述密钥生成模块401还用于:
在所述用户创建区块链账户时,为所述用户生成第二当前密钥;其中,所述第二当前密钥用于处理所述用户的首次事务处理需求。
第五实施例
图5是根据本申请第五实施例的一种区块链密钥管理装置的结构示意图;本实施例可适用于对区块链网络中的各用户的区块链账户密钥进行管理的情况,尤其适用于区块链节点在响应接收到的事务请求时,如何对用户的区块链账户密钥进行管理的情况。该装置可实现本申请第二和第三实施例所述的区块链密钥管理方法。该装置配置于区块链节点设备中,该装置500具体包括如下:
请求获取模块501,用于获取用户发送的当前事务请求;其中,所述当前事务请求包括当前事务数据、第一备用密钥和签名结果;所述签名结果通过采用所述用户的第一当前密钥对所述当前事务数据和所述第一备用密钥进行签名得到;
签名验证模块502,用于采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证;
请求处理模块503,用于若验证通过,则得到所述第一备用密钥,且对所述当前事务请求进行处理以得到当前处理结果;
数据上链模块504,用于将所述当前处理结果和所述第一备用密钥上链存储。
本实施例的技术方案,区块链节点在接收到用户发送的当前事务请求后,先通过该用户的第一当前密钥对当前事务请求中的签名结果进行验证,完成对该用户身份验证,若验证通过,方可得到第一备用密钥,且对该事务请求进行处理,以得到当前处理结果,并将当前处理结果和第一备用密钥上链存储,由于本申请实施例中区块链节点每次处理用户的事务处理请求时,所采用的该用户的密钥都不相同,即第一当前密钥只用于当前事务请求中签名结果的验证,所以即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
进一步的,所述装置还包括:
密钥更新模块,用于将处理上次事务请求过程中得到的第二备用密钥,作为所述用户的所述第一当前密钥。
第六实施例
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请第六实施例的区块链密钥管理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置,诸如,耦合至接口的显示设备,其上显示图形用户界面(Graphical User Interface,GUI)的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作,例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的区块链密钥管理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的区块链密钥管理方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的区块链密钥管理方法对应的程序指令/模块,例如,附图4所示的密钥生成模块401、密钥签名模块402和事务请求发送模块403,或者如附图5所示的请求获取模块501、签名验证模块502、请求处理模块503和数据上链模块504。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的区块链密钥管理方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据区块链密钥管理方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至区块链密钥管理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
区块链密钥管理方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与区块链密钥管理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置和触觉反馈装置等,其中,辅助照明装置例如发光二极管(LightEmitting Diode,LED);触觉反馈装置例如,振动电机等。该显示设备可以包括但不限于,液晶显示器(Liquid Crystal Display,LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用集成电路(Application Specific Integrated Circuit,ASIC)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序,也称作程序、软件、软件应用、或者代码,包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置,例如,磁盘、光盘、存储器、可编程逻辑装置(Programmable Logic Device,PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置,例如,阴极射线管(Cathode Ray Tube,CRT)或者LCD监视器;以及键盘和指向装置,例如,鼠标或者轨迹球,用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈、或者触觉反馈;并且可以用任何形式,包括声输入、语音输入或者、触觉输入,来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统,例如,作为数据服务器、或者包括中间件部件的计算系统,例如,应用服务器、或者实施在包括前端部件的计算系统,例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互、或者实施在包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信,例如,通信网络,来将系统的部件相互连接。通信网络的示例包括:局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,当用户需要发布当前事务请求时,生成其第一备用密钥,采用其第一当前密钥对当前事务数据和第一备用密钥进行签名,得到签名结果,并向区块链节点发送包括当前事务数据、第一备用密钥以及签名结果的当前事务请求,区块链节点在接收到当前事务请求后,先通过该用户的第一当前密钥对当前事务请求中的签名结果进行验证,若验证通过,方可得到第一备用密钥,且对该事务请求进行处理,以得到当前处理结果,并将当前处理结果和第一备用密钥上链存储。由于本申请实施例中用户每次处理事务处理需求时,所采用的密钥都不相同,因此即使用户的第一当前密钥泄漏,也无法用于该用户的下次事务请求的生成和验证,也不会对用户账户造成较大威胁,提高了用户账户的安全性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (11)
1.一种区块链密钥管理方法,其特征在于,由用户终端设备执行,所述方法包括:
若用户存在当前事务处理需求,则生成所述用户的第一备用密钥;其中,所述第一备用密钥用于处理所述用户的下次事务处理需求;
采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名,得到签名结果;
向区块链节点发送包括所述当前事务数据、所述第一备用密钥和所述签名结果的当前事务请求,以使所述区块链节点采用所述第一当前密钥对所述当前事务请求进行处理,且将所述第一备用密钥和得到的当前处理结果上链存储;
其中,所述第一当前密钥用于当前事务请求的生成和验证。
2.根据权利要求1所述的方法,其特征在于,采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名之前,还包括:
将处理上次事务处理需求过程中生成的第二备用密钥,作为所述用户的所述第一当前密钥。
3.根据权利要求1所述的方法,其特征在于,生成所述用户的第一备用密钥,包括:
采用分层确定性加密技术或随机算法,生成所述用户的所述第一备用密钥。
4.根据权利要求1所述的方法,其特征在于,生成所述用户的第一备用密钥之后,还包括:
将所述第一备用密钥存储在本地可信存储空间。
5.根据权利要求1所述的方法,其特征在于,在用户存在当前事务处理需求之前,还包括:
在所述用户创建区块链账户时,为所述用户生成第二当前密钥;其中,所述第二当前密钥用于处理所述用户的首次事务处理需求。
6.一种区块链密钥管理方法,其特征在于,由区块链节点执行,所述方法包括:
获取用户发送的当前事务请求;其中,所述当前事务请求包括当前事务数据、第一备用密钥和签名结果;所述签名结果通过采用所述用户的第一当前密钥对所述当前事务数据和所述第一备用密钥进行签名得到;
采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证;
若验证通过,则得到所述第一备用密钥,且对所述当前事务请求进行处理以得到当前处理结果;
将所述当前处理结果和所述第一备用密钥上链存储;
其中,所述第一当前密钥用于当前事务请求的生成和验证;所述第一备用密钥用于处理所述用户的下次事务处理需求。
7.根据权利要求6所述的方法,其特征在于,采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证之前,还包括:
将处理上次事务请求过程中得到的第二备用密钥,作为所述用户的所述第一当前密钥。
8.一种区块链密钥管理装置,其特征在于,配置于用户终端设备中,所述装置包括:
密钥生成模块,用于若用户存在当前事务处理需求,则生成所述用户的第一备用密钥;其中,所述第一备用密钥用于处理所述用户的下次事务处理需求;
密钥签名模块,用于采用所述用户的第一当前密钥,对当前事务数据和所述第一备用密钥进行签名,得到签名结果;
事务请求发送模块,用于向区块链节点发送包括所述当前事务数据、所述第一备用密钥和所述签名结果的当前事务请求,以使所述区块链节点采用所述第一当前密钥对所述当前事务请求进行处理,且将所述第一备用密钥和得到的当前处理结果上链存储;
其中,所述第一当前密钥用于当前事务请求的生成和验证。
9.一种区块链密钥管理装置,其特征在于,配置于区块链节点中,所述装置包括:
请求获取模块,用于获取用户发送的当前事务请求;其中,所述当前事务请求包括当前事务数据、第一备用密钥和签名结果;所述签名结果通过采用所述用户的第一当前密钥对所述当前事务数据和所述第一备用密钥进行签名得到;
签名验证模块,用于采用所述第一当前密钥对所述当前事务请求中的所述签名结果进行验证;
请求处理模块,用于若验证通过,则得到所述第一备用密钥,且对所述当前事务请求进行处理以得到当前处理结果;
数据上链模块,用于将所述当前处理结果和所述第一备用密钥上链存储;
其中,所述第一当前密钥用于当前事务请求的生成和验证;所述第一备用密钥用于处理所述用户的下次事务处理需求。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5或6-7中任一项所述的区块链密钥管理方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5或6-7中任一项所述的区块链密钥管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129569.3A CN111339571B (zh) | 2020-02-28 | 2020-02-28 | 一种区块链密钥管理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010129569.3A CN111339571B (zh) | 2020-02-28 | 2020-02-28 | 一种区块链密钥管理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339571A CN111339571A (zh) | 2020-06-26 |
CN111339571B true CN111339571B (zh) | 2022-08-23 |
Family
ID=71185786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010129569.3A Active CN111339571B (zh) | 2020-02-28 | 2020-02-28 | 一种区块链密钥管理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111339571B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827175B (zh) * | 2021-01-18 | 2023-08-22 | 成都质数斯达克科技有限公司 | 注册方法、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515768A (zh) * | 2016-01-08 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种更新密钥的方法、装置和系统 |
CN106411503A (zh) * | 2016-11-28 | 2017-02-15 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
JP2017098806A (ja) * | 2015-11-26 | 2017-06-01 | 株式会社bitFlyer | 電子データの存在証明プログラムおよび存在証明サーバ |
CN110719165A (zh) * | 2019-10-12 | 2020-01-21 | 杭州云象网络技术有限公司 | 一种区块链分布式动态网络密钥生成和加密方法 |
-
2020
- 2020-02-28 CN CN202010129569.3A patent/CN111339571B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017098806A (ja) * | 2015-11-26 | 2017-06-01 | 株式会社bitFlyer | 電子データの存在証明プログラムおよび存在証明サーバ |
CN105515768A (zh) * | 2016-01-08 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种更新密钥的方法、装置和系统 |
CN106411503A (zh) * | 2016-11-28 | 2017-02-15 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
CN110719165A (zh) * | 2019-10-12 | 2020-01-21 | 杭州云象网络技术有限公司 | 一种区块链分布式动态网络密钥生成和加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111339571A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683071B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN111143890B (zh) | 一种基于区块链的计算处理方法、装置、设备和介质 | |
CN111125763B (zh) | 隐私数据的处理方法、装置、设备和介质 | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN110958223A (zh) | 基于区块链的委托授权方法、装置、设备和介质 | |
CN111460429A (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
CN111310216A (zh) | 区块链数据处理方法、装置、电子设备和介质 | |
CN110765137B (zh) | 电子证照处理方法、装置、设备、平台和介质 | |
US20220100777A1 (en) | Transaction request construction method and apparatus, transaction request processing method and apparatus, device and storage medium | |
CN112231652B (zh) | 可信环境远程验证方法、装置、设备、系统及介质 | |
CN110493009A (zh) | 签名的生成方法和验证方法、装置、设备和介质 | |
CN112989400B (zh) | 一种隐私事务处理方法、装置、电子设备和介质 | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
CN110610101A (zh) | 一种数据存证方法、装置、设备及存储介质 | |
CN111339569A (zh) | 区块链数据处理方法、装置、电子设备和介质 | |
CN111464297A (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN111741012B (zh) | 授权签名生成方法、节点管理方法、装置、设备和介质 | |
CN116011590A (zh) | 联邦学习方法、装置和系统 | |
CN114363088B (zh) | 用于请求数据的方法和装置 | |
CN111343177A (zh) | 轻量级节点的监管方法、装置、设备和介质 | |
CN112565225B (zh) | 用于数据发送的方法、装置、电子设备及可读存储介质 | |
CN111339571B (zh) | 一种区块链密钥管理方法、装置、设备和存储介质 | |
CN113935070A (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
CN113609156B (zh) | 数据的查询与写入方法、装置、电子设备及可读存储介质 | |
CN110765210B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |