CN114049121B - 基于区块链的账户重置方法和设备 - Google Patents

基于区块链的账户重置方法和设备 Download PDF

Info

Publication number
CN114049121B
CN114049121B CN202111405515.6A CN202111405515A CN114049121B CN 114049121 B CN114049121 B CN 114049121B CN 202111405515 A CN202111405515 A CN 202111405515A CN 114049121 B CN114049121 B CN 114049121B
Authority
CN
China
Prior art keywords
account
reset
ciphertext
authentication device
blockchain
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
Application number
CN202111405515.6A
Other languages
English (en)
Other versions
CN114049121A (zh
Inventor
张龙
范瑞彬
张开翔
毛嘉宇
储雨知
王越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202111405515.6A priority Critical patent/CN114049121B/zh
Publication of CN114049121A publication Critical patent/CN114049121A/zh
Priority to PCT/CN2022/124274 priority patent/WO2023093319A1/zh
Application granted granted Critical
Publication of CN114049121B publication Critical patent/CN114049121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions

Abstract

本申请提供一种基于区块链的账户重置方法和设备,包括:获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据重置信息和至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求;向每个认证设备发送对应的重置通知请求;重置交易请求是每个认证设备根据对应的重置通知请求和其上登录的关联账户的密文生成的;各个关联账户的验证结果是区块链系统根据每个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文进行身份验证获得的,区块链系统用于在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理,通过将关联账户加密存储在区块链上,可以提高账户安全性。

Description

基于区块链的账户重置方法和设备
技术领域
本申请涉及金融科技(Finteh)领域,尤其涉及一种基于区块链的账户重置方法和设备。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变。区块链(Block-Chain)技术也不例外,但由于金融行业的安全性、实时性要求,也对区块链技术提出的更高的要求。尤其是在对区块链账户进行重置时安全性要求更高。
发明内容
本申请一实施例提供一种基于区块链的账户重置方法,方法应用于请求设备,重置系统包括请求设备、区块链系统及多个认证设备,方法包括:
针对每个认证设备,获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据重置信息和至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求;
向每个认证设备发送对应的重置通知请求;其中,重置交易请求是每个认证设备根据对应的重置通知请求和其上登录的关联账户的密文生成的;
其中,各个关联账户的验证结果是区块链系统根据每个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文进行身份验证获得的,区块链系统还用于在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
本申请另一实施例提供一种基于区块链的账户重置方法,方法应用于区块链系统,方法包括:
接收各个认证设备发送的重置交易请求;其中,各个重置交易请求是对应的认证设备根据对应的认证设备上登录的关联账户的密文和重置通知请求生成的;各个认证设备对应的重置通知请求是请求设备根据至少一个其他认证设备上登录的关联账户的密文和重置信息生成的;
根据各个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文对各个关联账户进行身份验证,获得各个关联账户的验证结果;
在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
本申请另一实施例提供一种请求设备,包括:处理器,及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现上述实施例提供的账户重置方法。
本申请另一实施例提供一种认证设备,包括:处理器,及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现上述实施例提供的账户重置方法。
本申请另一实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述实施例提供的账户重置方法。
本申请提供的基于区块链的账户重置方法和设备,将用于重置私钥和对应外部账户的多个关联账户以联合密文方式存储在区块链中,关联账户的数据安全性高,可以防止登录有其中一个关联账户的认证设备在区块链上获取其他关联账户而作恶,联合其他关联账户发起重置私钥和对应外部账户的交易,为了便于对认证设备发起的重置交易请求进行身份验证,在请求设备向认证设备发起重置通知请求时,基于至少一个关联账户密文生成通知请求,以使认证设备可以多个关联账户密文生成重置交易请求,区块链系统可以根据多个关联账户密文进行关联账户验证,从而实现私钥和对应外部账户的重置。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的区块链账户的一种模型示意图;
图2为本申请一实施例提供的建立新区块链账户的流程示意图;
图3为本申请提供基于图1所示的区块链账户模型的实例示意图;
图4为本申请提供基于图3所示的区块链账户被重置后的实例示意图;
图5为本申请提供的重置系统的结构示意图;
图6为本申请又一实施例提供的账户重置方法的流程示意图;
图7为本申请另一实施例提供的账户重置方法的流程示意图;
图8为本申请提供的区块链账户的另一种模型示意图;
图9为本申请再一实施例提供的生成联合关联账户密文的原理示意图;
图10为本申请提供基于图8所示的区块链账户模型的实例示意图;
图11为本申请提供基于图10所示的区块链账户被重置后的实例示意图;
图12为本申请另一实施例提供的账户重置装置的结构示意图;
图13为本申请再一实施例提供的账户重置装置的结构示意图;
图14为本申请又一实施例提供的账户重置装置的结构示意图;
图15为本申请又一实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在区块链系统中,通常采用公钥体系对区块链账户进行操作和管理,用户保存私钥,并将基于公钥生成的账户保存在区块链上。在发起交易请求时,通过私钥对交易请求进行签名,区块链系统通过区块链上的账户对交易签名进行验证。也就是,私钥是进行区块链账户的身份验证的唯一凭证,一旦私钥丢失,则意味着用户将丢失当前区块链账户下的所有资产和权益。
为了解决个问题,作为其中一种技术方案,通常通过助记词方式,用户需要保存助记词,当用户丢失私钥后,可以通过助记词获得丢失私钥。作为另外一种技术方案,也会通过密码托管系统保存加密私钥,由于密码托管系统托管加密私钥,需要用户保存用于私钥加密的口令密码。虽然,助记词和和口令密码能够提升用户体验,用户不需要再去记忆复杂的私钥。但助记词和密码仍然存在丢失或者被盗取的风险,本质上并没有解决私钥丢失的问题。
为了从本质上解决私钥丢失的问题,又提出一种基于双层账户体系的区块链账户模型,便于在私钥丢失时通过重置私钥和外部账户的方式获得新私钥和新外部账户。并且,用户所有的资产、权益均和内部账户绑定,外部账户仅用于验证交易签名。当重置外部账户后,用户的资产和权益不会受到任何影响。
如图1,所提出的双层账户体系的区块链账户模型包括外部账户和内部账户。外部账户是基于公钥实现的,也就是,请求设备随机生成非对称密钥,并将基于公钥生成的外部账户保存在区块链上,由用户保存私钥。在请求设备发起交易请求时,通过私钥对交易请求进行签名,区块链系统通过区块链上的外账户对交易签名进行验证。
内部账户用于实现私钥和外部账户的重置。内部账户包括内部合约账户信息、关联账户列表以及重置阈值。其中,内部合约账户信息为区块链系统在响应请求设备发起的注册请求时随机生成,并形成内部合约账户信息和外部账户之间的映射关系。关联账户列表中包含多个关联账户,每个关联账户为一个区块链账户的外部账户,用于重置用户保存的私钥和区块链中保存的外部账户。重置阈值为在私钥和外部账户重置时关联账户签名的最小数量。
如图2所示,在区块链系统中新建一个区块链账户的过程具体包括:
S101、请求设备随机生成非对称密钥,并根据非对称密钥中公钥生成外部账户。
在该步骤中,将请求设备随机生成非对称密钥记为:
<privateKey,publicKey>
其中,privateKey表示私钥,私钥用于在向区块链系统发起交易进行签名。publicKey表示公钥,私钥用于生成区块链账户中的外部账户,将外部账户记为publicKeyAddress。
S102、请求设备根据外部账户生成注册请求,并用私钥对注册请求进行签名。
S103、请求设备向区块链系统发送注册请求。
S104、区块链系统根据注册请求新建区块链账户。
其中,区块链系统在接收到注册请求后,区块链系统首先随机生成内部合约账户信息,将其记为:randomAddress。然后根据签名获得外部账户,将其记为:publicKeyAddress,最后建立外部账户和内部合约账户信息的映射关系,将映射关系记录在区块链上。映射关系记为:(publicKeyAddress,randomAddress)。
在通过执行S101至S104完成区块链的注册后,还需要在内部账户中添加新建区块链账户的关联账户以及重置阈值。
设置关联账户的本质是提供一个冗余的多因子身份认证。当由用户保存的私钥丢失或者被盗,可以通过关联账户所登录的设备发起账户重置交易,由区块链系统用新私钥对应的公钥生成的外部账户替换旧私钥对应的公钥生成的外部账户,形成新的映射关系,并以多方签名的方式确保账户重置的安全性。
在添加关联账户和重置阈值时,由请求设备获取关联账户和重置阈值,并根据关联账户和重置阈值发起添加交易请求,由请求设备对添加交易请求进行签名后发送到区块链系统。也就是请求设备是以明文的形式发送到区块链系统。在区块链系统接收到添加交易请求后,也是以明文的方式保存在区块链上的。
例如:在区块链系统新建一个区块链账户后,设置重置阈值为3,所添加的区块链账户的关联账户列表为:
{publicKeyAddressA
publicKeyAddressB
publicKeyAddressC
publicKeyAddressD}
其中,publicKeyAddressA表示区块链账户A的外部账户,publicKeyAddressB表示区块链账户B的外部账户,publicKeyAddressC表示区块链账户C的外部账户,publicKeyAddressD表示区块链账户D的外部账户。
重置阈值为在私钥和外部账户重置过程中同意重置的区块链账户的最少数量。也就是当重置私钥和外部账户时,在区块链账户A至区块链账户D中至少需要3个区块链账户的签名才能完成重置操作。此时用户的区块链账户模型如图3所示。
当用户保存的私钥泄露或者丢失时,可以由请求设备向关联账户所登录的认证设备发起重置通知请求,以使认证设备向区块链发起账户重置交易请求,并由区块链系统通过多方签名的方式完成账户和私钥的重置。具体步骤如下:
S201、请求设备随机生成非对称密钥,并根据非对称密钥中的公钥生成新外部账户。
其中,在私钥丢失后,请求设备随机生成非对称密钥,将其记为:
(privateKey′,publicKey′)
其中,privateKey′为新私钥,publicKey′为新公钥。
根据新公钥publicKey′计算新的外部账户,将新的外部账户记为publicKeyAddress′。
S202、请求设备根据新外部账户和旧外部账户生成账户重置通知请求。
S203、请求设备向关联账户所登录的认证设备发送重置通知请求。
在该步骤中,关联账户列表包括区块链账户A至区块链账户D,则向区块链账户A至区块链账户D所登录的认证设备发送重置通知请求,以新的外部账户publicKeyAddress′和旧外部账户publicKeyAddress发送给块链账户A至区块链账户D所登录的认证设备。
S204、各个认证设备根据新外部地址和旧外部地址生成私钥重置交易请求。
其中,关联账户为区块链账户A至区块链账户D,区块链账户A至区块链账户C所登录的认证设备发送签名后的重置交易请求。
由区块链账户A至区块链账户C发起的签名后的重置交易请求记为TXA、TXB和TXC,具体为:
TXA=(publicKeyAddress′,publicKeyAddress,signatureA)
TXB=(publicKeyAddress′,publicKeyAddress,signatureB)
TXC=(publicKeyAddress′,publicKeyAddress,signatureC)
其中,publicKeyAddress′为新的外部账户,publicKeyAddress为丢失私钥对应的外部账户,也就是旧外部账户,signatureA为区块链账户A的签名,signatureB为区块链账户B的签名,signaturec为区块链账户C的签名。
S205、区块链系统根据各个认证设备发送的重置交易请求和区块链上的关联账户列表进行签名验证,并根据签名验证结果进行账户重置。
在该步骤中,区块链系统在接收到区块链账户A所登录的认证设备发送的重置交易请求后,根据区块链账户A的交易签名signatureA解析出外部地址,如果外部地址在区块链上的关联账户列表中,验证通过,累加验证通过的签名数量。依次对区块链账户B和区块链账户C所登录的认证设备发送的重置交易请求进行认验证,累加验证通过的签名数量。
判断累加结果是否大于或等于重置阈值,若累加结果小于重置阈值,则不响应重置交易请求,交易失败。若累加结果等于或大于重置阈值,则响应重置交易请求,交易成功。
由于区块链账户A至区块链账户C为关联账户,累加签名数量为3,此时累加结果等于重置阈值,区块链系统将就外部账户更新为新的外部账户,更新模型为:
(publicKeyAddress,randomAddress)
→(publicKeyAddress′,randomAddress)
重置后的区块链账户如图4所示,由于内部账户不变,所以用户的资产和权益并未丢失,且将外部账户重置为新私钥privateKey′对应的外部账户publicKeyAddress′,所以用户通过新的私钥对发起的交易进行签名,签名可以验证通过,可以继承旧私钥对应账户的资产和权益,旧私钥将会失效。
上述基于双层账户体系的私钥和外部账户重置解决方案能够在私钥泄露或者丢失的情况下,通过关联账户对私钥和外部账户进行重置,从而确保账户的资产和权益不受损失。
但是安全是多维度的,这种私钥和外部账户的重置算法是建立在关联账户不作恶或者关联账户私钥不被盗取的情况下的。由于区块链账户的关联账户列表是明文存储在区块链上的。当关联账户作恶时,也会与其他关联账户共谋发起重置交易请求,将对应区块链账户的外部账户重置,以获取区块链账户的资产和相关权益。又或者,攻击设备攻击关联账户所登录的设备,直到获得最多的关联账户的私钥,就可以对对应区块链账户的私钥发起重置交易请求,从而获得区块链账户的资产和相关权益。
综上,导致上述作恶风险或攻击手段出现的根本原因是因为关联账户在区块链上以明文保存。基于上述分析,本申请提供一种安全性更高的账户重置方案。将关联账户以密文保存在上区块链上,且将关联账户进行联合加密,以使作攻击设备无法根据联合加密后的关联账户确定区块链账户的关联账户,并且在需要重置账户时仍可以通过联合加密进行关联账户的身份验证,从而实现账户重置。
如图5所示,本申请一实施例提供一种账户重置系统,该账户重置系统包括区块链系统300、请求设备100和认证设备200。区块链系统300与认证设备200之间通信连接,以使认证设备200向区块链系统300发起重置交易请求。区块链系统300与请求设备100之间也通信连接,以使请求设备100也可以向区块链系统300发起注册请求和初始化交易请求。
在区块链系统300上运行的区块链内存储有区块链账户,请求设备100和认证设备200之间通信连接,以使请求设备100可以向认证设备发起重置通知请求,认证设备200在接收到重置通知请求后向区块链系统发送账户重置交易请求,以使区块链系统重置区块链账户。
如图6所示,本申请一实施例提供一种基于区块链的账户重置方法,该方法应用于账户重置系统,该方法包括如下步骤:
S301、针对每个认证设备,请求设备获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据重置信息和至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求。
在该步骤中,重置信息包括待重置私钥对应的区块链账户内的外部账户,也称之为旧外部账户。还包括基于新私钥对应的公钥所生成的新外部账户。
针对每个认证设备,请求设备都会生成一个重置通知请求。在为某一个认证设备生成重置通知请求时,获取除去该认证设备以外的其他认证设备上登录的关联账户,关联账户是待重置的私钥对应的区块链账户内的关联账户,并对在其他认证设备上登录的关联账户进行加密获得至少一个关联账户密文。
在获得重置信息和至少一个关联账户的密文后,先根据至少一个关联账户的密文生成认证设备的证明信息,再根据认证设备的证明信息和重置信息生成重置通知请求。
在生成认证设备的证明信息时,可以对至少一个关联账户的密文进行分组,对每组内密文进行加密处理,以生成该认证设备的证明信息。其中,分组方式与在生成存储在区块链上的联合关联账户密文时的分组方式相同。还可以直接将获得的至少一个关联账户的密文直接作为认证设备的证明信息。
通过分组生成认证设备的证明信息后再进一步生成重置通知请求方式,关联账户被恶意攻击后获取的难度更高,可以提高账户重置的安全性。
S302、请求设备向各个认证设备发送对应的重置通知请求。
在该步骤,请求设备会为每个认证设备生成对应的重置通知请求,针对某一认证设备,仅使用其他认证设备上登录的关联账户的密文生成重置通知请求,因此,每个认证设备的重置通知请求不同。
S303、每个认证设备根据对应的重置通知请求和认证设备上登录的关联账户的密文生成重置交易请求。
在该步骤,针对任意认证设备,该认证设备接收重置通知请求,并从重置通知请求中解析出重置信息和该认证设备的证明信息,在获取自身设备上登录的关联账户的密文,再基于自身设备上登录的关联账户的密文、该认证设备的证明信息和重置信息生成重置交易请求。也就是重置交易请求需要基于所有关联账户的密文。该认证设备还使用其上登录的关联账户对应的私钥对重置交易请求进行签名。
S304、各个认证设备向区块链系统发送重置交易请求。
在该步骤,在每个认证设备接收到重置通知请求后,在不作恶的情况下,都会生成签名后的重置交易请求,并向区块链系统发送重置交易请求。
S305、区块链系统根据各个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文对关联账户进行身份验证,获得关联账户的验证结果。
在该步骤,区块链系统针对每个认证设备发送的重置交易请求进行身份验证,获得每个认证设备上登录的关联账户的验证结果。
针对每个认证设备发送的重置交易请求,区块链系统中任意节点解析重置交易请求,获得该认证设备的证明信息、该认证设备上登录的关联账户的密文以及重置信息,对该认证设备的证明信息和该认证设备上登录的关联账户的密文进行加密生成合成密文,再将合成密文与区块链上存储的联合关联账户密文进行比较,若一致则生成验证通过的验证结果,若不一致则生成验证失败的验证结果。
S306、区块链系统在关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
在该步骤,满足预设重置条件包括验证结果为验证通过的关联账户的数量大于或等于重置阈值。不满足预设重置条件包括验证结果为验证通过的关联账户的数量小于重置阈值。
区块链系统统计关联账户的验证结果,获得验证通过的关联账户的数量,判断验证通过的关联账户的数量是否大于或等于重置阈值,若是,则使用新外部账户更新旧外部账户,并形成新外部账户与旧外部账户对应的内部账户之间的映射关系。
在上述技术方案中,用于重置私钥和对应外部账户的多个关联账户以联合密文方式存储在区块链中,关联账户的数据安全性高,可以防止登录有其中一个关联账户的认证设备在区块链上获取其他关联账户而作恶,联合其他关联账户发起重置私钥和对应外部账户的交易,也可以抵抗攻击设备的攻击。为了便于对认证设备发起的重置交易请求进行身份验证,在请求设备向认证设备发起重置通知请求时,基于至少一个关联账户密文生成通知请求,以使认证设备可以多个关联账户密文生成重置交易请求,区块链系统可以根据多个关联账户密文进行关联账户验证,从而实现私钥和对应外部账户的重置。
如图7所示,本申请一实施例提供一种基于区块链的账户重置方法,该方法应用于账户重置系统,该方法包括如下步骤:
S401、请求设备对旧外部账户关联的所有关联账户进行加密,生成联合关联账户密文。
其中,旧外部账户是请求设备根据随机生成的第二非对称密钥中公钥生成的。请求设备在生成各个认证账户的证明信息的方式与请求设备在生成联合关联账户密文时的方式相同。
若在生成联合关联账户密文时,没有对关联账户密文进行分组后再加密,则认证账户的证明信息也就是仅包括各个其他认证设备上登录的关联账户的密文。
若联合关联账户密文是通过对各个关联账户的密文分组后再分别加密后获得的,则生成认证账户的证明信息时也需要对各个其他认证设备上登录的关联账户的密文进行分组。
更具体地,对旧外部账户关联的各个关联账户进行哈希计算,以获得旧外部账户关联的各个关联账户密文。对旧外部账户关联的各个关联账户密文进行分组,并对各个分组内的密文进行哈希计算获得各个分组的哈希值,循环执行将各个分组的哈希值分组后对分组内哈希值进行哈希计算获得多个分组的哈希值直至分组数量满足第二循环停止条件。并将最后获得的多个分组的哈希值进行哈希计算,获得联合关联账户密文。
在一实施例中,在对各个关联账户密文进行分组以及对各个分组进行再分组时,保证分组后的每个分组内有个两个哈希值或者两个关联账户密文。
满足第二循环停止条件包括分组数量等于2,不满足第二循环停止条件包括分组数量不等于2。
S402、请求设备根据联合关联账户密文和重置阈值生成初始化交易请求,并使用第二非对称密钥中私钥对初始化交易请求进行签名。
其中,初始化请求用于在区块链账户内增加关联账户信息和重置阈值,关联账户信息以联合关联账户密文方式存储。利用第二非对称密钥中私钥对初始化交易请求进行签名,以使区块链系统对请求设备进行身份验证。
S403、请求设备向区块链系统发送初始化交易请求。
S404、区块链系统响应初始化交易请求。
在该步骤中,利用区块链账户的外部账户对初始化交易请求中签名进行验证,在验证通过后建立联合关联账户密文与内部账户之间的对应关系,并建立重置阈值与内部账户之间的对应关系,在区块链上存储旧外部账户和内部账户之间的映射关系,如图8所示。
在上述技术方案中,在生成联合关联账户密文时通过对各个哈希值进行循环分组再次计算分组哈希值,以树形加密方式获得联合关联账户密文,增加联合关联账户密文在区块链存储的数据安全性,在进行账户重置时也无需对联合关联账户密文进行解密,直接基于认证设备的证明信息和认证设备上登录的关联账户的哈希值进行再次哈希运算后,再与区块链中存储的联合关联账户密文比较,完成身份验证,可以进一步抵抗攻击设备的攻击以及作恶的认证设备在破解关联账户后联合进行账户重置交易。
本申请一实施例提供一种基于区块链的账户重置方法,该方法应用于账户重置系统,该方法包括如下步骤:
S501、针对每个认证设备,请求设备获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据重置信息和至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求。
在该步骤中,重置信息包括待重置私钥对应的区块链账户内的外部账户,也称之为旧外部账户。重置信息还包括新外部账户。为获取新外部账户,随机生成第一非对称密钥,并根据第一非对称密钥中公钥生成新外部账户。
为获得每个关联账户的密文,以其中一个认证设备为例,获取认证设备上登录的关联账户,对认证设备上登录的关联账户进行哈希处理,获得认证设备上登录的关联账户的密文,从而获得多个关联账户的密文。
为获得每个认证设备的证明信息,将至少一个关联账户的密文进行分组,并对各个分组内的密文进行哈希计算获得各个分组的哈希值。也就是针对每个分组,计算分组内所有密文之间的哈希值,将其作为该分组的哈希值。例如:分组包括2个密文,则计算2个密文之间的哈希值,分组包括3个密文,则计算3个密文之间哈希值。
在获得各个分组的哈希值后,循环执行将各个分组的哈希值分组后对分组内哈希值进行哈希计算获得多个分组的哈希值直至分组数量满足第一循环停止条件。也就是在获得多个分组的哈希值后,进一步对多个分组的哈希值进行分组,获得新分组,再对每个新分组,计算新分组内哈希值之间的哈希值,将其作为新分组的哈希值,从而获得多个新分组的哈希值,完成一次循环。通过多次循环以获得各个分组的哈希值。并将多个分组的哈希值作为认证设备的证明信息。
其中,满足第一循环停止条件包括分组数量等于第一阈值,第一阈值是根据获得联合关联账户密文的方式确定,以保证区块链系统在接收到认证设备发送的重置交易请求时,基于各分组的哈希值和该认证设备上登录的关联账户的哈希值可以获得联合关联账户密文,再与区块链上存储的联合关联账户密文进行比较而实现认证设备的验证。
在获得每个认证设备的证明信息后,根据每个认证设备和证明信息和重置信息生成每个认证设备的重置通知请求。
S502、请求设备向各个认证设备发送对应的重置通知请求。
S503、针对每个认证设备,认证设备对其上登录的关联账户进行哈希处理,获得该认证设备上登录的关联账户的密文,以获得各个认证设备上登录的关联账户的密文。
S504、针对每个认证设备,认证设备根据接收到的重置通知请求和其上登录的关联账户的密文生成重置交易请求,以获得各个认证设备生成的重置交易请求。
S505、各个认证设备向区块链系统发送重置交易请求。
S506、区块链系统根据各个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文对各个关联账户进行身份验证,获得各个关联账户的验证结果。
在该步骤中,针对任意一个重置交易请求,解析重置交易请求获得认证设备的证明信息和认证设备上登录的关联账户的密文,并对证明信息和关联账户的密文进行加密处理生成合成密文,将合成密文与联合关联账户密文进行比较获得关联账户的验证结果,以获得一个关联账户的验证结果。
通过重复执行上述步骤,以获得所有重置交易请求对应的关联账户的验证结果。
S507、区块链系统在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
在该步骤中,统计所获得的关联账户的验证结果,以获得验证结果为验证通过的关联账户数量,当验证结果为验证通过的关联账户数量大于或等于重置阈值时,在区块链中使用新外部账户更新旧外部账户,并将新外部账户与旧外部账户对应的内部账户关联,内部账户包括联合关联账户密文以及重置阈值。
在上述技术方案中,为实现认证设备的身份验证,由请求设备针对每个认证设备生成身份证明,以使区块链可以基于重置交易请求中身份证明和认证设备的关联账户的密文进行身份验证,在保证关联账户在区块链上存储的安全性的同时也能便于区块链系统进行身份验证。
本申请另一实施例提供一种基于区块链的账户重置方法,该方法应用于账户重置系统,该方法包括如下步骤:
S601、请求设备对旧外部账户关联的所有关联账户进行加密,生成联合关联账户密文。
在该步骤中,在区块链中已经创建待重置的区块链账户,该区块链账户的外部账户记为publicKeyAddress,随机生成的内部合约账户信息记为randomAddress,并将内部合约账户信息作为内部账户地址,并使外部账户和内部合约账户信息形成映射关系,并记录在区块链上,映射关系模型为:
(publicKeyAddress,randomAddress)
外部账户是根据非对称密钥中公钥生成的,非对称密钥记为<privateKey,publicKey>privateKey为私钥,publicKey为公钥。
外部账户的关联账户为区块链账户A、区块链账户B、区块链账户C以及区块链账户D。获取四个账户的外部账户,又称之为公钥地址信息,具体如下:
publicKeyAddressA
publicKeyAddressB
publicKeyAddressC
publicKeyAddressD
对外部账户进行哈希计算,获得关联账户的哈希值:
H(A)=Hash(publicKeyAddressA)
H(B)=Hash(publicKeyAddressB)
H(C)=Hash(publicKeyAddressC)
H(D)=Hash(publicKeyAddressD)
如图9所示,然后通过树形哈希运算获得联合关联账户密文,标记为H(ABCD)。将四个哈希值进行分组,第一个分组为H(A)和H(B),第二个分组为H(C)和H(D)。
第一个分组的哈希值标记为H(AB):
H(AB)=H(H(A)+H(B))
第二个分组的哈希值标记为H(CD):
H(CD)=H(H(C)+H(D))
将两个分组的哈希值进行哈希计算,获得联合关联账户密文H(ABCD
H(ABCD)=H(H(AB)+H(CD))
S602、请求设备根据联合关联账户密文和重置阈值生成初始化交易请求,并使用第二非对称密钥中私钥对初始化交易请求进行签名。
在该步骤中,联合关联账户密文H(ABCD)用于设置关联账户的信息,并设置重置阈值,例如:重置阈值为3。
S603、请求设备向区块链系统发送初始化交易请求。
S604、区块链系统响应初始化交易请求。
在该步骤中,通过对初始化交易请求进行签名验证后,再将联合关联账户密文H(ABCD)和重置阈值存储在区块链中,如图10所示。
在上述技术方案中,由于哈希函数的防碰撞特性,从联合关联账户密文H(ABCD)获得各个关联账户的可能性极低,认证设备或者其他攻击设备无法再联合其他关联账户恶意重置区块链账户,确保了关联账户的隐私性和安全性。
本申请一实施例提供一种基于区块链的账户重置方法,该方法应用于账户重置系统,该方法包括如下步骤:
S701、针对每个认证设备,请求设备获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据重置信息和至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求。
在该步骤中,当私钥丢失或者存在泄露的风险,请求设备重新生成公私钥对(privateKey′,publicKey′),并根据新公钥publicKey′计算新的外部账户publicKeyAddress′。
每个认证设备上登录有一个关联账户,请求设备根据关联账户生成每个认证设备的证明信息,以根据认证设备上登录的关联账户的密文和认证信息构建联合关联账户密文。由于区块链上只存储了树形加密方式的根哈希值H(ABCD),所以需要证明发送某个私钥重置交易请求的请求设备上登录的区块链账户是否为关联账户,只需要根据证明信息能够构建出根哈希值,且和区块链上的存储的根哈希值H(ABCD)相等,则证明认证设备上登录账户为关联账户,否则认证设备上登录账户不是关联账户。
以区块链账户A为关联账户为例,要计算H(ABCD),只需要知道区块链账户B的哈希值H(,B)、区块链账户C的哈希值和区块链账户D的哈希值之间的哈希值H(CD)即可。认证设备再计算区块链账户A的哈希值H(A),并根据H(A)和H(B)计算出H(AB),再根据H(AB)和H(CD)计算出H(ABCD),所以关联账户A的证明信息ProofA为:ProofA={H(B),H(CD)}。
在获得各个认证设备的证明信息,根据重置信息和认证设备的证明信息生成重置通知请求。重置信息包括新的外部账户publicKeyAddress′和旧外部账户publicKeyAddress。
S702、请求设备向各个认证设备发送对应的重置通知请求。
S703、针对每个认证设备,认证设备对其上登录的关联账户进行哈希处理,获得该认证设备上登录的关联账户的密文,以获得各个认证设备上登录的关联账户的密文。
在该步骤中,每个认证设备上登录有关联账户,每个认证设备对其上登录的关联账户进行哈希计算,获得关联账户的密文。
例如:第一个认证设备上登陆有区块链账户A,则第一个认证设备200对区块链账户A的外部账户进行加密,获得关联账户的密文。第二个认证设备200上登陆有区块链账户B,则第二个认证设备对区块链账户B的外部账户进行加密,获得关联账户的密文。
S704、针对每个认证设备,认证设备根据接收到的重置通知请求和其上登录的关联账户的密文生成重置交易请求,以获得各个认证设备生成的重置交易请求。
在该步骤中,当每个认证设备接收到重置通知请求后,发起重置交易请求,并进行签名。
例如:区块链账户A所在设备发起重置交易请求记为TXA
TXA=(publicKeyAddress′,publicKeyAddress,signatureA,ProofA)
其中,publicKeyAddress′为新外部账户,publicKeyAddress为九外部账户,signatureA为区块链账户A的签名,ProofA为区块链账户A的证明信息。
相应地,区块链账户A所在设备发起重置交易请求记为TXA,区块链账户B所在设备发起重置交易请求记为TXB
TXB=(publicKeyAddress′,publicKeyAddress,signatureB,ProofB)
TXC=(publicKeyAddress′,publicKeyAddress,signatureC,ProofC)
signatureB为区块链账户B的签名,ProofB为区块链账户B的证明信息,signatureC为区块链账户C的签名,ProofC为区块链账户C的证明信息。
S705、各个认证设备向区块链系统发送重置交易请求。
S706、区块链系统根据各个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文对各个关联账户进行身份验证,获得各个关联账户的验证结果。
在该步骤中,区块链网络根据交易签名对交易的发起设备上的区块链账户进行身份验证。区块链系统根据交易签名解析出发起重置交易请求的关联账户,并根据关联账户及对应的证明信息构建根哈希值,如果根哈希值和区块链上存储的联合关联账户密文相同,则重置交易请求的发起账户为关联账户,验证通过,交易成功;如果不相同,则不是关联账户,验证失败,交易失败。且累加验证通过的关联账户的数量,并判断是否达到重置阈值。
S707、区块链系统在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
在该步骤中,对于重置交易请求TXA,校验出交易TXA的发起设备上登陆的区块链账户A为关联账户,则累加签名个数为1,但仍未达到签名个数阈值要求,所以并不会进行账户重置。
由于认证设备上登陆的区块链账户B和认证设备上登陆的区块链账户C为关联账户,对重置交易请求TXB和重置交易请求TXC的发起设备上登陆的区块链账户进行验证,两个都验证通过,并累加签名个数到3,此时签名个数等于重置阈值,区块链系统将旧外部账户更新为新外部账户,模型如下:
(publicKeyAddress,randomAddress)
→(publicKeyAddress′,randomAddress)
更新后的区块链模型如图11。由于内部账户不变,所以用户的资产和权益并未丢失,且将外部账户重置为基于新私钥privateKey′对应的公钥生成的外部账户publicKeyAddress′,所以认证设备通过新的私钥对发起交易请求进行签名后可以验证通过,继承了原私钥对应账户的资产和权益,原来的私钥将会失效。
在上述技术方案中,添加关联账户时不采用明文添加,而是对关联账户进行加密后添加,同时通过证明信息验证重置交易请求发起账户是否为多个关联账户中的其中一个,可降低关联账户被攻击,也无法从区块链中获取其他关联账户信息,可以防止关联账户合谋。
如图12所示,本申请一实施例提供一种基于区块链的账户重置装置800,装置包括:
第一处理模块801,用于针对每个认证设备,获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据重置信息和至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求;
第一发送模块802,用于向每个认证设备发送对应的重置通知请求;其中,重置交易请求是每个认证设备根据对应的重置通知请求和其上登录的关联账户的密文生成的;
其中,各个关联账户的验证结果是区块链系统根据每个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文进行身份验证获得的,区块链系统还用于在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
在一实施例中,第一处理模块801,具体用于:
根据至少一个关联账户的密文生成认证设备的证明信息;
根据认证设备的证明信息和重置信息生成重置通知请求。
在一实施例中,第一处理模块801,具体用于:
将至少一个关联账户的密文进行分组,并对各个分组内的密文进行哈希计算,获得各个分组的哈希值;
循环执行将各个分组的哈希值分组后对分组内哈希值进行哈希计算获得多个分组的哈希值直至分组数量满足第一循环停止条件;
将多个分组的哈希值作为认证设备的证明信息。
在一实施例中,第一处理模块801,具体用于:
针对每个认证设备,获取认证设备上登录的关联账户,并对关联账户进行哈希处理生成关联账户的密文,以获得多个关联账户的密文。
在一实施例中,第一处理模块801,具体用于:
随机生成第一非对称密钥,并根据第一非对称密钥中公钥生成新外部账户。
在一实施例中,第一发送模块802,具体用于:
对旧外部账户关联的所有关联账户进行加密,生成联合关联账户密文;其中,旧外部账户是根据第二非对称密钥中公钥生成的;
根据联合关联账户密文和重置阈值生成初始化交易请求,并使用第二非对称密钥中私钥对初始化交易请求进行签名;
向区块链系统发送签名后的初始化交易请求;
其中,初始化交易请求用于使区块链系统在区块链上存储旧外部账户和内部账户之间的映射关系,内部账户包括联合关联账户密文和重置阈值。
在一实施例中,第一处理模块801,具体用于:
对旧外部账户关联的各个关联账户进行哈希计算,获得旧外部账户关联的各个关联账户密文;
对旧外部账户关联的各个关联账户密文进行分组,并对各个分组内的密文进行哈希计算,获得各个分组的哈希值;
循环执行将各个分组的哈希值分组后对分组内哈希值进行哈希计算获得多个分组的哈希值直至分组数量满足第二循环停止条件;
将多个分组的哈希值进行哈希计算,获得联合关联账户密文。
如图13所示,本申请一实施例提供一种基于区块链的账户重置装置900,装置包括:
第一接收模块901,用于接收请求设备发送的重置通知请求;其中,重置通知请求是根据重置信息和其他认证设备上登录的关联账户的密文生成的;
第二处理模块902,用于根据重置通知请求和认证设备上登录的关联账户的密文生成重置交易请求;
第二发送模块903,用于向区块链系统发送重置交易请求;其中,各个关联账户的验证结果是区块链系统根据各个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文进行身份验证获得的,区块链系统还用于当各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
在一实施例中,第二处理模块902具体用于:
对认证设备上登录的关联账户进行哈希处理,获得认证设备上登录的关联账户的密文。
如图14所示,本申请一实施例提供一种基于区块链的账户重置装置110,装置包括:
第二接收模块111,用于接收各个认证设备发送的重置交易请求;其中,各个重置交易请求是对应的认证设备根据对应的认证设备上登录的关联账户的密文和重置通知请求生成的;各个认证设备对应的重置通知请求是请求设备根据至少一个其他认证设备上登录的关联账户的密文和重置信息生成的;
第三处理模块112,用于根据各个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文对各个关联账户进行身份验证,获得各个关联账户的验证结果;
在各个关联账户的验证结果满足预设重置条件时根据重置信息进行账户重置处理。
在一实施例中,第三处理模块112具体用于:
针对每个重置交易请求,解析重置交易请求获得认证设备的证明信息和认证设备上登录的关联账户的密文,并对证明信息和关联账户的密文进行加密处理生成合成密文,以获得多个合成密文;
针对每个合成密文,将合成密文与联合关联账户密文进行比较获得关联账户的验证结果,以获得多个关联账户的验证结果。
在一实施例中,第三处理模块112具体用于:
当验证结果为验证通过的关联账户的数量超过重置阈值时,在区块链中使用新外部账户更新旧外部账户,并建立新外部账户与旧外部账户对应的内部账户之间的映射关系;
其中,内部账户包括联合关联账户密文以及重置阈值。
在一实施例中,第三处理模块112具体用于:
接收请求设备发送的初始化交易请求;
在区块链上存储旧外部账户和内部账户之间的映射关系;
其中,旧外部账户包括联合关联账户密文和重置阈值。
如图15所示,本申请一实施例提供一种电子设备120,电子设备120包括存储器121和处理器122。
其中,存储器121用于存储处理器可执行的计算机指令;
处理器122在执行计算机指令时实现上述实施例中方法中的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,上述存储器121既可以是独立的,也可以跟处理器122集成在一起。当存储器121独立设置时,该电子设备还包括总线,用于连接存储器121和处理器122。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当处理器执行计算机指令时,实现上述实施例中方法中的各个步骤。
本申请实施例还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述实施例中方法中的各个步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (14)

1.一种基于区块链的账户重置方法,其特征在于,所述方法应用于请求设备,重置系统包括请求设备、区块链系统及多个认证设备,所述方法包括:
针对每个认证设备,获取重置信息和至少一个其他认证设备上登录的关联账户的密文,并根据所述重置信息和所述至少一个关联账户的密文生成重置通知请求,以获得每个认证设备对应的重置通知请求;所述重置信息包括新外部账户和旧外部账户;所述关联账户是待重置的私钥对应的区块链账户内的关联账户;所述旧外部账户为待重置私钥对应的区块链账户内的外部账户;所述新外部账户是基于新私钥对应的公钥生成的外部账户;
向每个认证设备发送对应的重置通知请求;
其中,各个关联账户的验证结果是所述区块链系统根据所述每个认证设备发送的重置交易请求和区块链上存储的联合关联账户密文进行身份验证获得的,重置交易请求是所述每个认证设备根据对应的重置通知请求和其上登录的关联账户的密文生成的;所述区块链系统还用于当所述验证结果为验证通过的关联账户的数量超过重置阈值时,在所述区块链中使用新外部账户更新旧外部账户,并建立所述新外部账户与所述旧外部账户对应的内部账户之间的映射关系;所述内部账户包括联合关联账户密文以及所述重置阈值。
2.根据权利要求1所述的方法,其特征在于,根据所述重置信息和所述至少一个关联账户的密文生成重置通知请求,具体包括:
根据所述至少一个关联账户的密文生成所述认证设备的证明信息;
根据所述认证设备的证明信息和所述重置信息生成所述重置通知请求。
3.根据权利要求2所述的方法,其特征在于,根据所述至少一个关联账户的密文生成所述认证设备的证明信息,具体包括:
将所述至少一个关联账户的密文进行分组,并对各个分组内的密文进行哈希计算,获得各个分组的哈希值;
循环执行将各个分组的哈希值分组后对分组内哈希值进行哈希计算获得多个分组的哈希值直至分组数量满足第一循环停止条件;
将多个分组的哈希值作为所述认证设备的证明信息。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,获取至少一个其他认证设备上登录的关联账户的密文,具体包括:
针对每个认证设备,获取所述认证设备上登录的关联账户,并对所述关联账户进行哈希处理生成关联账户的密文,以获得多个关联账户的密文。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,所述重置信息包括新外部账户,所述获取重置信息,具体包括:
随机生成第一非对称密钥,并根据所述第一非对称密钥中公钥生成新外部账户。
6.根据权利要求1至3中任意一项所述的方法,其特征在于,所述重置信息包括旧外部账户,在获取重置信息和至少一个其他认证设备上登录的关联账户的密文之前,所述方法包括:
对所述旧外部账户关联的所有关联账户进行加密,生成联合关联账户密文;
根据所述联合关联账户密文和重置阈值生成初始化交易请求,并使用第二非对称密钥中私钥对所述初始化交易请求进行签名;
向所述区块链系统发送签名后的初始化交易请求;
其中,所述初始化交易请求用于使所述区块链系统在所述区块链上存储所述旧外部账户和内部账户之间的映射关系,所述内部账户包括所述联合关联账户密文和所述重置阈值。
7.根据权利要求6所述的方法,其特征在于,对所述旧外部账户关联的所有关联账户进行加密,生成联合关联账户密文,具体包括:
对所述旧外部账户关联的各个关联账户进行哈希计算,获得所述旧外部账户关联的各个关联账户密文;
对所述旧外部账户关联的各个关联账户密文进行分组,并对各个分组内的密文进行哈希计算,获得各个分组的哈希值;
循环执行将各个分组的哈希值分组后对分组内哈希值进行哈希计算获得多个分组的哈希值直至分组数量满足第二循环停止条件;
将所述多个分组的哈希值进行哈希计算,获得所述联合关联账户密文。
8.一种基于区块链的账户重置方法,其特征在于,所述方法应用于认证设备,所述方法包括:
接收请求设备发送的重置通知请求;其中,所述重置通知请求是根据重置信息和其他认证设备上登录的关联账户的密文生成的;所述重置信息包括新外部账户和旧外部账户;所述关联账户是待重置的私钥对应的区块链账户内的关联账户;所述旧外部账户为待重置私钥对应的区块链账户内的外部账户;所述新外部账户是基于新私钥生成的外部账户;
根据所述重置通知请求和所述认证设备上登录的关联账户的密文生成重置交易请求;
向区块链系统发送所述重置交易请求;其中,各个关联账户的验证结果是所述区块链系统根据各个认证设备发送的所述重置交易请求和区块链上存储的联合关联账户密文进行身份验证获得的,所述区块链系统还用于当所述验证结果为验证通过的关联账户的数量超过重置阈值时,在所述区块链中使用新外部账户更新旧外部账户,并建立所述新外部账户与所述旧外部账户对应的内部账户之间的映射关系;所述内部账户包括联合关联账户密文以及所述重置阈值。
9.根据权利要求8所述的方法,其特征在于,在根据所述认证设备上登录的关联账户的密文、所述其他认证设备上登录的关联账户的密文以及所述请求设备上登录的重置信息生成重置交易请求之前,所述方法还包括:
对所述认证设备上登录的关联账户进行哈希处理,获得所述认证设备上登录的关联账户的密文。
10.一种基于区块链的账户重置方法,其特征在于,所述方法应用于区块链系统,所述方法包括:
接收各个认证设备发送的重置交易请求;其中,各个所述重置交易请求是对应的认证设备根据所述对应的认证设备上登录的关联账户的密文和重置通知请求生成的;各个认证设备对应的重置通知请求是请求设备根据至少一个其他认证设备上登录的关联账户的密文和重置信息生成的;所述重置信息包括新外部账户和旧外部账户;所述关联账户是待重置的私钥对应的区块链账户内的关联账户;所述旧外部账户为待重置私钥对应的区块链账户内的外部账户;所述新外部账户是基于新私钥对应的公钥生成的外部账户;
根据各个认证设备发送的所述重置交易请求和区块链上存储的联合关联账户密文对各个关联账户进行身份验证,获得所述各个关联账户的验证结果;
当所述验证结果为验证通过的关联账户的数量超过重置阈值时,在所述区块链中使用新外部账户更新旧外部账户,并建立所述新外部账户与所述旧外部账户对应的内部账户之间的映射关系;所述内部账户包括联合关联账户密文以及所述重置阈值。
11.根据权利要求10所述的方法,其特征在于,所述根据各个认证设备发送的所述重置交易请求和所述区块链上存储的联合关联账户密文对各个关联账户进行身份验证,获得所述各个关联账户的验证结果,具体包括:
针对每个重置交易请求,解析所述重置交易请求获得认证设备的证明信息和认证设备上登录的关联账户的密文,并对所述证明信息和所述关联账户的密文进行加密处理生成合成密文,以获得多个合成密文;
针对每个合成密文,将所述合成密文与所述联合关联账户密文进行比较获得所述关联账户的验证结果,以获得多个关联账户的验证结果。
12.根据权利要求10或11所述的方法,其特征在于,在接收各个认证设备发送的重置交易请求之前,所述方法还包括:
接收所述请求设备发送的初始化交易请求;
在所述区块链上存储旧外部账户和内部账户之间的映射关系;
其中,所述旧外部账户包括所述联合关联账户密文和重置阈值。
13.一种电子设备,包括:处理器,及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7中任一项,或者,8或9所述的账户重置方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项,8或9,或者,10至12中任意一项所述的账户重置方法。
CN202111405515.6A 2021-11-24 2021-11-24 基于区块链的账户重置方法和设备 Active CN114049121B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111405515.6A CN114049121B (zh) 2021-11-24 2021-11-24 基于区块链的账户重置方法和设备
PCT/CN2022/124274 WO2023093319A1 (zh) 2021-11-24 2022-10-10 基于区块链的账户重置方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111405515.6A CN114049121B (zh) 2021-11-24 2021-11-24 基于区块链的账户重置方法和设备

Publications (2)

Publication Number Publication Date
CN114049121A CN114049121A (zh) 2022-02-15
CN114049121B true CN114049121B (zh) 2023-04-07

Family

ID=80210877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111405515.6A Active CN114049121B (zh) 2021-11-24 2021-11-24 基于区块链的账户重置方法和设备

Country Status (2)

Country Link
CN (1) CN114049121B (zh)
WO (1) WO2023093319A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114049121B (zh) * 2021-11-24 2023-04-07 深圳前海微众银行股份有限公司 基于区块链的账户重置方法和设备
CN115941354B (zh) * 2022-12-31 2024-04-19 广州市鑫澳康科技有限公司 基于区块链的跨链交互身份认证方法、装置及计算机可读介质
CN116455676B (zh) * 2023-06-14 2024-01-26 章和技术(广州)有限公司 一种设备改密方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474424A (zh) * 2018-12-17 2019-03-15 江苏恒宝智能系统技术有限公司 区块链账户密钥备份及恢复的方法、系统
CN109951295A (zh) * 2019-02-27 2019-06-28 百度在线网络技术(北京)有限公司 密钥处理和使用方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10439812B2 (en) * 2018-02-02 2019-10-08 SquareLink, Inc. Technologies for private key recovery in distributed ledger systems
US11367066B2 (en) * 2018-06-28 2022-06-21 Coinbase, Inc. Wallet recovery method
EP3811259B1 (en) * 2018-09-21 2023-08-16 NEC Corporation Method for signing a new block in a decentralized blockchain consensus network
US20200311666A1 (en) * 2019-03-28 2020-10-01 Ebay Inc. Encoding sensor data and responses in a distributed ledger
CN110022316A (zh) * 2019-03-29 2019-07-16 阿里巴巴集团控股有限公司 创建区块链账户及重置账户密钥的方法和装置
CN114207643A (zh) * 2019-04-19 2022-03-18 科恩巴斯公司 用于区块链经营的系统和方法
KR102332004B1 (ko) * 2019-05-10 2021-11-29 주식회사 메디블록 블록체인 네트워크에서 계정을 관리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN111311260A (zh) * 2020-02-19 2020-06-19 深圳前海微众银行股份有限公司 一种账户私钥的重置方法及装置
CN111339199B (zh) * 2020-02-28 2023-08-29 中国工商银行股份有限公司 一种区块链密钥恢复方法和装置
CN114049121B (zh) * 2021-11-24 2023-04-07 深圳前海微众银行股份有限公司 基于区块链的账户重置方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474424A (zh) * 2018-12-17 2019-03-15 江苏恒宝智能系统技术有限公司 区块链账户密钥备份及恢复的方法、系统
CN109951295A (zh) * 2019-02-27 2019-06-28 百度在线网络技术(北京)有限公司 密钥处理和使用方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2023093319A1 (zh) 2023-06-01
CN114049121A (zh) 2022-02-15

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
CN110914851B (zh) 提高区块链网络与外部数据源之间的通信的完整性
CN110603783B (zh) 采用可信硬件的安全动态阈值签名方案
WO2020087805A1 (zh) 基于双密值和混沌加密的可信测控网络认证方法
CN114049121B (zh) 基于区块链的账户重置方法和设备
TWI773199B (zh) 安全運算裝置、安全運算方法、驗證器及裝置驗證方法
CN110932870B (zh) 一种量子通信服务站密钥协商系统和方法
US11063941B2 (en) Authentication system, authentication method, and program
US9531540B2 (en) Secure token-based signature schemes using look-up tables
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
TW201918049A (zh) 可信遠端證明方法、裝置和系統
CN108616504B (zh) 一种基于物联网的传感器节点身份认证系统及方法
CN109359464B (zh) 一种基于区块链技术的无线安全认证方法
JP2014523192A (ja) デバイス及びサーバの通信におけるファジーな認証情報を用いた暗号化によるセキュリティ
CN113987554B (zh) 获取数据授权的方法、装置及系统
CN113079132B (zh) 海量物联网设备认证方法、存储介质、信息数据处理终端
TW201426383A (zh) 身份驗證系統及方法
WO2020215572A1 (zh) 一种认证通信的方法、装置、存储介质及计算机设备
Bouchaala et al. Enhancing security and efficiency in cloud computing authentication and key agreement scheme based on smart card
CN111740995B (zh) 一种授权认证方法及相关装置
CN116388995A (zh) 一种基于puf的轻量级智能电网认证方法
CN115955320A (zh) 一种视频会议身份认证方法
Kwon et al. Certificate transparency with enhanced privacy
CN112422534B (zh) 电子证书的信用评估方法以及设备
CN116484426A (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