CN114039726B - 一种密钥生成的方法、密钥获取的方法、相关装置及介质 - Google Patents

一种密钥生成的方法、密钥获取的方法、相关装置及介质 Download PDF

Info

Publication number
CN114039726B
CN114039726B CN202111314408.2A CN202111314408A CN114039726B CN 114039726 B CN114039726 B CN 114039726B CN 202111314408 A CN202111314408 A CN 202111314408A CN 114039726 B CN114039726 B CN 114039726B
Authority
CN
China
Prior art keywords
key
private key
identity
sub
hash value
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
CN202111314408.2A
Other languages
English (en)
Other versions
CN114039726A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111314408.2A priority Critical patent/CN114039726B/zh
Publication of CN114039726A publication Critical patent/CN114039726A/zh
Application granted granted Critical
Publication of CN114039726B publication Critical patent/CN114039726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本申请公开了一种密钥生成的方法,应用场景至少包括各类终端,如:手机、电脑、车载终端等,本申请包括:获取第一密钥查询请求,第一密钥查询请求携带第一父身份哈希值和第一加密信息;响应第一密钥查询请求,根据第一父身份哈希值确定第一父私钥;采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值;根据第一子身份哈希值确定第一索引路径所对应的第一索引值;根据第一父私钥和第一索引值生成第一子私钥,第一子私钥存储于第一索引路径所指示的存储位置。本申请还提供了一种密钥获取的方法、装置及介质。本申请在私钥丢失或者被篡改的情况下可直接恢复出私钥,恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。

Description

一种密钥生成的方法、密钥获取的方法、相关装置及介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种密钥生成的方法、密钥获取的方法、相关装置及介质。
背景技术
随着互联网应用的使用场景与功能越来越广泛,互联网应用也开始越来越多的涉及信息的安全问题。对此,在许多应用中设置有权限管理。权限管理一般指根据系统设置的安全规则或安全策略,用户可以访问而且只能访问自己被授权的资源。
目前,主要通过数据库技术和密钥技术实现身份权限的管理。通常情况下,密钥系统会生成一对密钥(即,一个公钥和一个私钥),可将公钥分发给用户,并将对应的私钥和用户的权限信息保存于数据库中。
发明人发现现有方案中至少存在如下问题,私钥可能存在丢失或者被篡改等风险。一旦私钥丢失或者被篡改,密钥系统就需要生成新的密钥对。然而,重新生成密钥对不仅需要花费较多时间,而且会导致系统资源(例如,处理器和内存等)消耗较大。
发明内容
本申请实施例提供了一种密钥生成的方法、密钥获取的方法、相关装置及介质。本申请在私钥丢失或者被篡改的情况下可直接恢复出私钥,恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
有鉴于此,本申请一方面提供一种密钥生成的方法,包括:
获取第一密钥查询请求,其中,第一密钥查询请求携带第一父身份哈希值和第一加密信息,第一父身份哈希值为对第一父身份信息进行哈希计算后得到的,第一加密信息为采用第一父公钥对第一子身份哈希值进行加密后得到的,第一子身份哈希值为对第一子身份信息进行哈希计算后得到的;
响应第一密钥查询请求,根据第一父身份哈希值确定第一父私钥;
采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值;
根据第一子身份哈希值确定第一索引路径所对应的第一索引值;
根据第一父私钥和第一索引值生成第一子私钥,其中,第一子私钥存储于第一索引路径所指示的存储位置。
本申请另一方面提供一种密钥生成的方法,包括:
获取密钥查询请求,其中,密钥查询请求携带父身份哈希值和加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,加密信息为采用父密钥对子身份哈希值进行加密后得到的,子身份哈希值为对子身份信息进行哈希计算后得到的;
响应密钥查询请求,根据父身份哈希值确定父密钥;
采用父密钥对加密信息进行解密,得到子身份哈希值;
根据子身份哈希值确定索引路径所对应的索引值;
根据父密钥和索引值生成子密钥,其中,子密钥存储于索引路径所指示的存储位置。
本申请另一方面提供一种密钥获取的方法,包括:
向服务器发送第一业务请求,其中,第一业务请求携带原始加密信息,原始加密信息为采用第一子公钥对目标身份哈希值进行哈希计算后得到的,目标身份哈希值为对目标身份身份信息进行哈希计算后得到的;
若服务器对原始加密信息解密失败,则向服务器发送第二业务请求,其中,第二业务请求携带父身份哈希值和目标加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,目标加密信息为采用父公钥对目标身份哈希值进行加密后得到的;
接收业务响应,其中,业务响应携带第二子公钥,第二公钥为根据子私钥生成的,子私钥为根据父私钥和索引值生成的,父私钥为根据父身份哈希值确定的,索引值为根据目标身份哈希值确定的。
本申请另一方面提供一种密钥生成装置,包括:
获取模块,用于获取第一密钥查询请求,其中,第一密钥查询请求携带第一父身份哈希值和第一加密信息,第一父身份哈希值为对第一父身份信息进行哈希计算后得到的,第一加密信息为采用第一父公钥对第一子身份哈希值进行加密后得到的,第一子身份哈希值为对第一子身份信息进行哈希计算后得到的;
确定模块,用于响应第一密钥查询请求,根据第一父身份哈希值确定第一父私钥;
解密模块,用于采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值;
确定模块,还用于根据第一子身份哈希值确定第一索引路径所对应的第一索引值;
生成模块,用于根据第一父私钥和第一索引值生成第一子私钥,其中,第一子私钥存储于第一索引路径所指示的存储位置。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于若第一索引路径所指示的存储位置未存储待验证子私钥,则执行获取第一密钥查询请求的步骤。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,密钥生成装置还包括处理模块;
处理模块,用于根据第一父私钥和第一索引值生成第一子私钥之后,若第一索引路径所指示的存储位置已存储待验证子私钥,则将待验证子私钥与第一子私钥进行比对;
处理模块,还用于若待验证子私钥与第一子私钥比对不一致,则根据第一索引路径所指示的存储位置将待验证子私钥更新为第一子私钥。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,密钥生成装置还包括发送模块和接收模块;
发送模块,用于向终端设备发送处理请求;
接收模块,用于若处理请求解密失败,则接收终端设备发送的密钥重置请求,其中,密钥重置请求携带第一子身份哈希值;
处理模块,还用于响应密钥重置请求,若第一索引路径所指示的存储位置已存储待验证子私钥,则将待验证子私钥与第一子私钥进行比对;
处理模块,还用于若待验证子私钥与第一子私钥比对不一致,则从第一索引路径所指示的存储位置删除待验证子私钥,并将第一子私钥保存于第一索引路径所指示的存储位置。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
生成模块,还用于将待验证子私钥与第一子私钥进行比对之后,若待验证子私钥与第一子私钥比对一致,则根据第一子私钥生成第一子公钥;
发送模块,还用于向终端设备发送密钥重置响应,其中,密钥重置响应携带第一子公钥。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
接收模块,还用于根据第一父私钥和第一索引值生成第一子私钥之后,接收终端设备发送的公钥重置请求;
生成模块,还用于响应公钥重置请求,根据第一子私钥生成第一子公钥;
发送模块,还用于向终端设备发送公钥重置响应,其中,公钥重置响应携带第一子公钥。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于根据第一父身份哈希值获取第一父私钥和第一父链码;
根据第一父私钥和第一索引值生成第一子私钥,包括:
基于第一父私钥、第一父链码和第一索引值,通过单向哈希函数获取第一子私钥。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
接收模块,还用于接收终端设备发送的密钥申请请求,其中,密钥申请请求携带主身份哈希值,主身份哈希值为对主身份信息进行哈希计算后得到的;
生成模块,还用于响应密钥申请请求,生成助记词;
生成模块,还用于根据助记词和主身份哈希值生成根种子;
生成模块,还用于根据根种子生成主公钥和主私钥;
处理模块,还用于将主私钥存储至目标索引路径所指示的存储位置;
发送模块,还用于向终端设备发送密钥申请响应,其中,密钥申请响应携带主公钥。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
生成模块,具体用于基于根种子,通过单向哈希函数获取主私钥和主链码;
根据主私钥生成主公钥;
将主私钥存储至目标索引路径所指示的存储位置,包括:
将主私钥和主链码存储至目标索引路径所指示的存储位置。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于获取第二密钥查询请求,其中,第二密钥查询请求携带第一父身份哈希值和第二加密信息,第二加密信息为采用第一父公钥对第二子身份哈希值进行加密后得到的,第二子身份哈希值为对第二子身份信息进行哈希计算后得到的;
获取模块,还用于响应第二密钥查询请求,根据第一父身份哈希值获取第一父私钥;
获取模块,还用于采用第一父私钥对第二加密信息进行解密,得到第二子身份哈希值;
确定模块,还用于根据第二子身份哈希值确定第二索引路径所对应的第二索引值,其中,第二索引路径与第一索引路径指示相同的权限层级;
生成模块,还用于根据第一父私钥和第二索引值生成第二子私钥,其中,第二子私钥存储于第二索引路径所指示的存储位置。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于获取第三密钥查询请求,其中,第三密钥查询请求携带第二父身份哈希值和第三加密信息,第二父身份哈希值为对第二父身份信息进行哈希计算后得到的,第三加密信息为采用第二父公钥对第三子身份哈希值进行加密后得到的,第三子身份哈希值为对第三子身份信息进行哈希计算后得到的;
获取模块,还用于响应第三密钥查询请求,根据第二父身份哈希值获取第二父私钥;
获取模块,还用于采用第二父私钥对第三加密信息进行解密,得到第三子身份哈希值;
确定模块,还用于根据第三子身份哈希值确定第三索引路径所对应的第三索引值,其中,第三索引路径与第一索引路径指示相同的权限层级;
生成模块,还用于根据第二父私钥和第三索引值生成第三子私钥,其中,第三子私钥存储于第三索引路径所指示的存储位置。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于获取第四密钥查询请求,其中,第四密钥查询请求携带第一子身份哈希值和第四加密信息,第四加密信息为采用第一子公钥对孙身份哈希值进行加密后得到的,孙身份哈希值为对孙身份信息进行哈希计算后得到的;
获取模块,还用于响应第四密钥查询请求,根据第一子身份哈希值获取第一子私钥;
获取模块,还用于采用第一子私钥对第四加密信息进行解密,得到孙身份哈希值;
确定模块,还用于根据孙身份哈希值确定第四索引路径,其中,第四索引路径包括第四索引值,第一索引路径指示第一权限层级,第四索引路径指示第二权限层级,第二权限层级为第一权限层级的下一权限层级;
生成模块,还用于根据第一子私钥和第四索引值生成孙私钥,其中,孙私钥存储于第四索引路径所指示的存储位置。
本申请另一方面提供一种密钥生成装置,包括:
获取模块,用于获取密钥查询请求,其中,密钥查询请求携带父身份哈希值和加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,加密信息为采用父密钥对子身份哈希值进行加密后得到的,子身份哈希值为对子身份信息进行哈希计算后得到的;
确定模块,用于响应密钥查询请求,根据父身份哈希值确定父密钥;
解密模块,用于采用父密钥对加密信息进行解密,得到子身份哈希值;
确定模块,还用于根据子身份哈希值确定索引路径所对应的索引值;
生成模块,用于根据父密钥和索引值生成子密钥,其中,子密钥存储于索引路径所指示的存储位置。
本申请另一方面提供一种密钥获取装置,包括:
发送模块,用于向服务器发送第一业务请求,其中,第一业务请求携带原始加密信息,原始加密信息为采用第一子公钥对目标身份哈希值进行哈希计算后得到的,目标身份哈希值为对目标身份身份信息进行哈希计算后得到的;
发送模块,还用于若服务器对原始加密信息解密失败,则向服务器发送第二业务请求,其中,第二业务请求携带父身份哈希值和目标加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,目标加密信息为采用父公钥对目标身份哈希值进行加密后得到的;
接收模块,用于接收业务响应,其中,业务响应携带第二子公钥,第二公钥为根据子私钥生成的,子私钥为根据父私钥和索引值生成的,父私钥为根据父身份哈希值确定的,索引值为根据目标身份哈希值确定的。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,密钥获取装置还包括显示模块;
显示模块,用于在接收业务响应之后,显示目标队伍所对应的会话界面;
或,
显示模块,还于在接收业务响应之后,在目标队伍所对应的会话界面上显示输入会话;
或,
显示模块,还于在接收业务响应之后,在目标队伍所对应的群组中显示通知消息。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种密钥生成的方法,首先,获取第一密钥查询请求,第一密钥查询请求携带第一父身份哈希值和第一加密信息。基于此,响应第一密钥查询请求,根据第一父身份哈希值确定第一父私钥,并采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值。于是,根据第一子身份哈希值确定第一索引路径所对应的第一索引值,最后,根据第一父私钥和第一索引值找回第一子私钥。通过上述方式,私钥丢失或者被篡改的情况下,可采用上一权限层级的私钥和索引值恢复私钥,相比于重新生成密钥对而言,直接恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
附图说明
图1为本申请实施例中基于对称密钥实现加密和解密的一个场景示意图;
图2为本申请实施例中基于非对称密钥实现加密和解密的一个场景示意图;
图3为本申请实施例中密钥生成系统的一个架构示意图;
图4为本申请实施例中密钥生成方法的一个流程示意图;
图5为本申请实施例中子身份对象申请子公钥的一个流程示意图;
图6为本申请实施例中恢复子公钥的一个流程示意图;
图7为本申请实施例中主身份对象申请主公钥的一个流程示意图;
图8为本申请实施例中基于相同父私钥生成子私钥的一个示意图;
图9为本申请实施例中基于不同父私钥生成子私钥的一个示意图;
图10为本申请实施例中分层身份权限管理的一个示意图;
图11为本申请实施例中密钥生成方法的另一个流程示意图;
图12为本申请实施例中分层身份权限管理的另一个示意图;
图13为本申请实施例中密钥获取方法的一个流程示意图;
图14为本申请实施例中基于目标队伍进入会话的界面示意图;
图15为本申请实施例中会话界面的示意图;
图16为本申请实施例中消息通知界面的示意图;
图17为本申请实施例中密钥生成装置的一个示意图;
图18为本申请实施例中密钥生成装置的另一个示意图;
图19为本申请实施例中密钥获取装置的一个示意图;
图20为本申请实施例中服务器的一个结构示意图;
图21为本申请实施例中终端设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种密钥生成的方法、密钥获取的方法、相关装置及介质。本申请在私钥丢失或者被篡改的情况下可直接恢复出私钥,恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着计算机网络技术的飞速发展,信息网络已经成为社会发展的重要保证。随着全球信息化步伐的加快,网络安全问题越发凸显出来,网络信息安全也越来越重要。信息加密技术包含但不仅限于监控、检测、加密、认证和防攻击等几个方面,其中,加密技术是信息案子的核心技术,它渗透到大部分安全产品之中。在计算机通信中,采用加密技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使得信息在传输过程中即使被窃取或截获,窃取者也无法了解信息内容,从而保证信息传输的安全。
应理解,本申请提供的密钥生成方法可应用于数据加密场景,包含但不仅限于电竞比赛,收发电子邮件,进行电子交易,服务器认证身份,数字签名以及智能卡消费等。示例性地,用户甲具有最高权限(例如,群组群主、电竞战队队长或部门经理等),用户乙具有次高权限(例如,群组副群主、电竞战队副队长或者部门副经理等)。当用户乙向某个用户发送消息时,可采用其对应权限层级(例如,权限层级B)的公钥对消息进行加密,一旦该公钥丢失或者被篡改,那么用户乙可通过用户甲对应权限层级(例如,权限层级A)的公钥,恢复出用户乙对应权限层级(例如,权限层级B)的公钥。
基于此,下面将结合图示介绍加密系统的处理过程,加密系统包括未加密的报文(即,“明文”),加密后的报文(即,“密文”),加密解密的算法以及加密解密的密钥。
一、对称加密;
为了便于理解,请参阅图1,图1为本申请实施例中基于对称密钥实现加密和解密的一个场景示意图,如图所示,在对称的算法中,用于加密和解密的密钥是相同的。采用密钥对用户的明文身份信息(例如,手机号或者身份证号等)进行加密,得到密文身份信息。采用同样的密钥对密文身份信息进行解密后,即可得到明文身份信息。
二、非对称加密;
为了便于理解,请参阅图2,图2为本申请实施例中基于非对称密钥实现加密和解密的一个场景示意图,如图所示,在非对称的算法中,用来加密和解密的密钥是不同的,公钥和私钥协同工作,只有特定的私钥才能解开由特定的公钥加密过的数据。基于私钥生成对应的公钥,然后采用公钥对用户的明文身份信息进行加密,得到密文身份信息。采用对应的私钥对密文身份信息进行解密后,即可得到明文身份信息。
在实际应用中,公钥和私钥既可以用于加密,也可以用于解密。一种情况下,在向特定用户发送消息时,可采用公钥进行加密,只有私钥拥有方可进行解密。另一种情况下,在向公众发布用私钥加密后的消息,接收方需要采用公钥进行解密,例如,区块链上每个节点都需要处理其中一个节点发起的交易,发起交易的节点通过私钥对交易数据加密,其他节点可以通过该节点的公钥进行解密,然后处理交易。
为了找回正确的密钥(包括公钥或私钥中的至少一种),本申请实施例提供了一种密钥生成的方法,该方法应用于图3所示的密钥生成系统,如图所示,密钥生成系统包括身份管理系统和客户端,且客户端部署于终端设备上,其中,客户端可以通过浏览器的形式运行于终端设备上,也可以通过独立的应用程序(application,APP)的形式运行于终端设备上等,对于客户端的具体展现形式,此处不做限定。身份管理系统包括应用服务器、数据库服务器以及可信第三方服务器,其中,应用服务器用于与客户端通信,数据库服务器可存储用户的身份信息以及公钥等,可信第三方服务器可存储具有最高权限用户的身份信息以及私钥等。
本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表、车载设备、可穿戴设备等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。本申请提供的方案可以由终端设备独立完成,也可以由服务器独立完成,还可以由终端设备与服务器配合完成,对此,本申请并不做具体限定。
鉴于本申请涉及到一些相关领域的术语,为了便于理解,下面将集中介绍。
(1)密钥对:在非对称加密技术中有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有且不可公布的,公钥是密钥对持有者公布给他人的。
(2)对称加密技术:使用同一个密钥对数据进行加密和解密。对称加密技术的优势在于算法公开,计算量小,加密速度快,且加密效率高。常用的对称加密算法包含但不仅限于数据加密标准(data encryption standard,DES),基于DES的对称算法(triple DES,3DES),国际数据加密算法(international data encryption algorithm,IDEA)以及高级加密标准(advanced encryption standard,AES)。
(3)非对称加密技术:在这个加密过程中,需要一对密钥,不公开的密钥称为私钥,公开的密钥称为公钥。非对称加密技术的优势在于密钥数目较少,安全性较高。常用的非对称加密算法包含但不仅限于椭圆曲线加密(elliptic curves cryptography,ECC)算法、RSA加密算法以及数字签名算法(digital signature algorithm,DSA)。
(4)单向加密:将数据进行计算变成另一种固定长度的值,而且这种行为不可逆。
(5)哈希消息认证码(hash-based message authentication code,HMAC):可以与迭代散列函数捆绑使用。在HMAC中使用一个单向散列函数和一个密钥,根据单向散列函数的强度可分为安全散列算法(secure hash algorithm,SHA)-512,SHA-256以及MD5信息摘要算法(MD5 message-digest algorithm)等。
(6)盐值(salt):属于随机值,为了加强单向散列计算的安全性,会给散列算法加盐值,盐值相当于加密的密钥,增加破解的难度。
结合上述介绍,下面将对本申请中密钥生成的方法进行介绍,请参阅图4,本申请实施例中密钥生成方法的一个实施例包括:
110、获取第一密钥查询请求,其中,第一密钥查询请求携带第一父身份哈希值和第一加密信息,第一父身份哈希值为对第一父身份信息进行哈希计算后得到的,第一加密信息为采用第一父公钥对第一子身份哈希值进行加密后得到的,第一子身份哈希值为对第一子身份信息进行哈希计算后得到的;
在一个或多个实施例中,身份管理系统可接收终端设备发送的针对于第一对象的第一密钥查询请求,或,身份管理系统定时(例如,每10分钟)生成针对于第一对象的第一密钥查询请求,其中,第一对象的权限层级低于最高权限层级。
具体地,第一密钥查询请求携带第一父身份哈希值和第一加密信息。其中,对第一父身份信息进行哈希计算后可得到第一父身份哈希值,采用第一父公钥对第一子身份哈希值进行加密后得到第一加密信息。第一子身份信息为第一对象的身份信息,第一父身份信息为第二对象的身份信息,第一对象的权限层级仅次于第二对象的权限层级,通常情况下,第一对象与第二对象具有关联关系。示例性地,第二对象可以是主身份对象(例如,群主),第一对象可以是子身份对象(例如,副群主)。示例性地,第二对象可以是子身份对象(例如,副群主),第一对象可以是孙身份对象(例如,成员)。
需要说明的是,身份管理系统可部署于服务器,也可以部署于终端设备,还可以部署于由服务器和终端设备构成的系统,本申请以部署于服务器为例进行说明,然而,这不应理解为对本申请的限定。
120、响应第一密钥查询请求,根据第一父身份哈希值确定第一父私钥;
在一个或多个实施例中,身份管理系统对第一密钥查询请求进行解析后,可得到第一父身份哈希值。通过第一父身份哈希值可从可信第三方或本地查找其对应的第一父私钥。
为了便于理解,请参阅表1,表1为身份哈希值与私钥之间映射关系的一个示意。
表1
身份信息 身份哈希值 私钥
13611111111 966634ebf2fc1357… 453dfc4e06c5f6a59…
13822222222 07d6753692bf4b1e… 27ca8996d53094f52…
15888888888 114re45sd4we55s4… 8948ec39ca8ed1fb7…
13699999999 6gf78486fdw4ss51… 6ae3a532bbfefoa57…
13766666666 5fs4xk1wdk41ojfe… 156e6ds6pomh52w21…
由表1可知,基于身份哈希值可查找对应的私钥,例如,第一父身份哈希值为“114re45sd4we55s4…”,则对应的第一父私钥为“8948ec39ca8ed1fb7…”。
可以理解的是,表1所示的映射关系仅为一个示意,不应理解为对本申请的限定。
130、采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值;
在一个或多个实施例中,身份管理系统对第一密钥查询请求进行解析后,可得到第一加密信息。由于第一父私钥与第一父公钥是成对的,因此,采用第一父私钥对第一加密信息解密后,即可得到第一子身份哈希值。
140、根据第一子身份哈希值确定第一索引路径所对应的第一索引值;
在一个或多个实施例中,身份管理系统通过第一子身份哈希值可从可信第三方或本地查找其对应的第一索引路径,再基于第一索引路径确定对应的第一索引值。
为了便于理解,请参阅表2,表2为身份哈希值与索引路径之间映射关系的一个示意。
表2
对象类型 权限层级 身份哈希值 索引路径
队长 层级1 966634ebf2fc1357… m
副队长A 层级2 07d6753692bf4b1e… m/0
副队长B 层级2 114re45sd4we55s4… m/1
队员 层级3 6gf78486fdw4ss51… m/0/0
队员 层级3 5fs4xk1wdk41ojfe… m/1/1
由表2可知,基于身份哈希值可查找对应的索引路径,相同权限层级的索引路径长度相同,但具有不同的索引值。例如,第一子身份哈希值为“6gf78486fdw4ss51…”,则对应的第一索引路径为“m/0/0”,其对应的第一索引值为“0”。
可以理解的是,表2所示的映射关系仅为一个示意,不应理解为对本申请的限定。
150、根据第一父私钥和第一索引值生成第一子私钥,其中,第一子私钥存储于第一索引路径所指示的存储位置。
在一个或多个实施例中,可将第一父私钥和第一索引值作为HMAC算法的输入,以此得到第一子私钥,进而将第一子私钥存储于第一索引路径所指示的存储位置。
可以理解的是,恢复得到的子私钥是准确的,在保证子私钥准确的情况下,恢复处理的子公钥也是准确的。
需要说明的是,本申请中的“子私钥”可能成为下一个权限层级的“父私钥”,类似地,“子公钥”也可能成为下一个权限层级的“父公钥”。而“子私钥”对应下一个权限层级的私钥是该“子私钥”对应上一个权限层级的“孙私钥”,类似地,“子公钥”对应下一个权限层级的公钥是该“子公钥”对应上一个权限层级的“孙公钥”,以此类推。故在本申请中涉及的“子私钥”即表示非最高权限层级的私钥,“子公钥”可表示非最高权限层级的公钥。
本申请实施例中,提供了一种密钥生成的方法。通过上述方式,私钥丢失或者被篡改的情况下,可采用上一权限层级的私钥和索引值恢复私钥,相比于重新生成密钥对而言,直接恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
若第一索引路径所指示的存储位置未存储待验证子私钥,则执行获取第一密钥查询请求的步骤。
在一个或多个实施例中,介绍了一种自查丢失子私钥的方式。由前述实施例可知,通常情况下,在索引路径指示的存储位置中应保存私钥,但可能出现私钥丢失的情况。因此,需要找回丢失的私钥。
具体地,以第一索引路径为例,第一索引路径所指示的存储位置应存储待验证的子私钥,如果无法从该存储位置读取子私钥,则生成第一密钥查询请求,并基于第一密钥查询请求进行后续的子私钥恢复操作。
其次,本申请实施例中,提供了一种自查丢失子私钥的方式,通过上述方式,身份管理系统可查询各个索引路径下是否存储有子私钥,如果发现未存储子私钥,则执行子私钥的恢复流程,由此,有利于及时进行子私钥的恢复,从而提升方案的可行性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一父私钥和第一索引值生成第一子私钥之后,还可以包括:
若第一索引路径所指示的存储位置已存储待验证子私钥,则将待验证子私钥与第一子私钥进行比对;
若待验证子私钥与第一子私钥比对不一致,则根据第一索引路径所指示的存储位置将待验证子私钥更新为第一子私钥。
在一个或多个实施例中,介绍了一种自查私钥篡改情况的方式。由前述实施例可知,通常情况下,在索引路径指示的存储位置中应保存私钥,但可能出现私钥被篡改的情况。因此,需要找回正确的私钥。
具体地,以第一索引路径为例,第一索引路径所指示的存储位置应存储待验证的子私钥,与此同时,基于第一密钥查询请求可进行后续的子私钥恢复操作,由此得到第一子私钥。如果第一子私钥和第一索引路径下保存的待验证子私钥相同,则表示待验证子私钥是正确的。反之,如果第一子私钥和第一索引路径下保存的待验证子私钥不同,则表示待验证子私钥被篡改了,因此,需要将待验证子私钥删除,并将恢复得到的第一子私钥保存至第一索引路径所指示的存储位置。
其次,本申请实施例中,提供了一种自查私钥篡改情况的方式,通过上述方式,身份管理系统可查询各个索引路径下是否存储有子私钥,如果发现存储子私钥,则继续执行子私钥的恢复流程,由此,可通过定期比对已存储的子私钥和恢复得到的子私钥是否相同,确定已存储的子私钥是否被篡改,从而达到及时恢复子私钥的目的。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
向终端设备发送处理请求;
若处理请求解密失败,则接收终端设备发送的密钥重置请求,其中,密钥重置请求携带第一子身份哈希值;
响应密钥重置请求,若第一索引路径所指示的存储位置已存储待验证子私钥,则将待验证子私钥与第一子私钥进行比对;
若待验证子私钥与第一子私钥比对不一致,则从第一索引路径所指示的存储位置删除待验证子私钥,并将第一子私钥保存于第一索引路径所指示的存储位置。
在一个或多个实施例中,介绍了一种恢复子私钥的方式。由前述实施例可知,身份管理系统可使用第一索引路径下保存的待验证子私钥对处理请求进行加密,然后发送至终端设备,如果终端设备无法对处理请求进行解密,则终端设备主动触发密钥重置请求,基于此,身份管理系统将执行后续的子私钥恢复操作。
具体地,基于第一密钥查询请求可进行后续的子私钥恢复操作,由此得到第一子私钥。如果第一索引路径所指示的存储位置保存有待验证的子私钥,则比对待验证子私钥与第一子私钥是否一致,如果不一致,则表示待验证子私钥被篡改了,因此,需要从第一索引路径所指示的存储位置删除待验证子私钥,并将恢复得到的第一子私钥保存至第一索引路径所指示的存储位置。
其次,本申请实施例中,提供了一种恢复子私钥的方式,通过上述方式,如果其他身份对象无法对处理请求进行解密,则身份管理系统可基于其他身份对象反馈的密钥重置请求更新子私钥,从而提升密钥的可用性。在海量用户的场景下,可以对被篡改的子私钥进行快速的自动修复,由此提升可靠性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,将待验证子私钥与第一子私钥进行比对之后,还可以包括:
若待验证子私钥与第一子私钥比对一致,则根据第一子私钥生成第一子公钥;
向终端设备发送密钥重置响应,其中,密钥重置响应携带第一子公钥。
在一个或多个实施例中,介绍了一种恢复子公钥的方式。由前述实施例可知,身份管理系统可使用第一索引路径下保存的待验证子私钥对处理请求进行加密,然后发送至终端设备,如果终端设备无法对处理请求进行解密,则终端设备主动触发密钥重置请求,基于此,身份管理系统将执行后续的子公钥恢复操作。
具体地,基于第一密钥查询请求可进行后续的子公钥恢复操作,由此得到第一子公钥。如果第一索引路径所指示的存储位置保存有待验证的子私钥,则比对待验证子私钥与第一子私钥是否一致,如果一致,则表示待验证子私钥是正确的,因此,无法解密的原因可能是因为与待验证子私钥对应的子公钥被篡改。于是,采用ECC算法、RSA加密算法或者DSA算法等,可生成第一子私钥对应的第一子公钥。
为了便于理解,请参阅图5,图5为本申请实施例中子身份对象申请子公钥的一个流程示意图,如图所示,以采用HMAC-SHA512算法生成私钥为例,HMAC-SHA512算法需要采用父公钥和父链码来生成子私钥和子链码,具体地:
在步骤A1中,作为子身份对象(例如,第一对象)的身份申请人输入身份信息,采用哈希算法对该身份信息进行计算后得到子身份哈希值。
在步骤A2中,采用父公钥对子身份哈希值进行加密,得到加密信息,然后将加密信息和父身份哈希值通过可信信道传输至身份管理系统。
在步骤A3中,身份管理系统通过父身份哈希值查找对应的父私钥和父链码。
在步骤A4中,身份管理系统采用父私钥对加密信息进行解密,得到子身份哈希值,然后利用子身份哈希值查找到对应的索引路径,进而确定索引值。
在步骤A5中,身份管理系统使用索引值、父私钥和父链码,生成子私钥和子链码,然后采用非对称加密算法生成子公钥。此外,需要存储子身份哈希值、索引路径、子私钥和子链码。
在步骤A6中,身份管理系统向身份申请人使用的终端设备反馈子公钥。
在步骤A7中,子身份对象保存自身的子身份哈希值以及对应的子公钥。
再次,本申请实施例中,提供了一种恢复子公钥的方式,通过上述方式,如果其他身份对象无法对处理请求进行解密,则身份管理系统可基于其他身份对象反馈的密钥重置请求更新子公钥,从而提升密钥的可用性。在海量用户的场景下,可以对被篡改的子公钥进行快速的自动修复,由此提升可靠性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一父私钥和第一索引值生成第一子私钥之后,还可以包括:
接收终端设备发送的公钥重置请求;
响应公钥重置请求,根据第一子私钥生成第一子公钥;
向终端设备发送公钥重置响应,其中,公钥重置响应携带第一子公钥。
在一个或多个实施例中,介绍了一种上报丢失子公钥的方式。由前述实施例可知,子公钥也可能出现丢失的情况,基于此,子身份对象还可以通过终端设备请求下发子公钥,即,向身份管理系统发送公钥重置请求,其中,公钥重置请求可携带该子身份对象所对应的子身份哈希值。
具体地,身份管理系统响应公钥重置请求,首先,根据第一父身份哈希值确定第一父私钥,然后采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值,再根据第一子身份哈希值确定第一索引路径所对应的第一索引值。接下来,可以根据第一父私钥和第一索引值生成第一子私钥,最后,采用非对称加密算法生成第一子私钥所对应的第一子公钥,并以携带于公钥重置响应的形式发送至子身份对象使用的终端设备。
为了便于理解,请参阅图6,图6为本申请实施例中恢复子公钥的一个流程示意图,如图所示,以采用HMAC-SHA512算法生成私钥为例,HMAC-SHA512算法需要采用父公钥和父链码来生成子私钥和子链码,具体地:
在步骤B1中,作为子身份对象(例如,第一对象)的身份申请人输入身份信息,采用哈希算法对该身份信息进行计算后得到子身份哈希值。采用父公钥对子身份哈希值进行加密,得到加密信息,然后将加密信息和父身份哈希值通过可信信道传输至身份管理系统。
在步骤B2中,身份管理系统通过父身份哈希值查找对应的父私钥和父链码。
在步骤B3中,身份管理系统采用父私钥对加密信息进行解密,得到子身份哈希值,然后利用子身份哈希值查找到对应的索引路径,进而确定索引值。
在步骤B4中,身份管理系统使用索引值、父私钥和父链码重新生成子私钥和子链码,然后采用非对称加密算法生成子公钥。此外,需要存储子身份哈希值、索引路径、子私钥和子链码。
在步骤B5中,身份管理系统向身份申请人使用的终端设备反馈子公钥。
在步骤B6中,子身份对象重新恢复对应的子公钥。
其次,本申请实施例中,提供了一种上报丢失子公钥的方式,通过上述方式,在子身份对象进行解密时,如果发现未子公钥,则执行子公钥的恢复流程,由此,有利于及时进行子公钥的恢复,从而提升方案的可行性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一父身份哈希值确定第一父私钥,具体可以包括:
根据第一父身份哈希值获取第一父私钥和第一父链码;
根据第一父私钥和第一索引值生成第一子私钥,具体可以包括:
基于第一父私钥、第一父链码和第一索引值,通过单向哈希函数获取第一子私钥。
在一个或多个实施例中,介绍了一种生成子私钥的方式。由前述实施例可知,可散列函数或伪随机函数生成子私钥,散列函数包含但不仅限于HMAC-512、SHA-256和HMAC-MD5,伪随机函数包含但不仅限于消息认证码算法(message authentication code,MAC)。
具体地,以采用HMAC-512算法生成子私钥为例,先基于第一父身份哈希值获取第一父私钥和第一父链码,由第一父私钥(或,第一父公钥)、第一父链码和第一索引值作为HMAC-512算法的输入,继续衍生出下一层的私钥(即,第一子私钥)以及链码。
示例性地,使用第一父私钥进行推导的方式称为“强化衍生”,使用第一父公钥进行推导的方式称为“普通衍生”。这个推导过程是确定(即相同的输入会有相同的输出也是单向的)且单向的,子密钥(即,子私钥和子公钥)不能推导出同层级的兄弟密钥,因为子密钥并不知道父链码,也不能推出父密钥(即,父私钥和父公钥)。类似地,如果没有子链码也不能推导出孙密钥(即,孙私钥和孙公钥)。
其次,本申请实施例中,提供了一种生成子私钥的方式,通过上述方式,可以从一个父公钥生成其他的子私钥和子公钥,实现层级式的权限控制,即相同权限层级之间无法推导出公钥和私钥,但是借助上一个权限层级的公钥可实现推导。这样,一方面可实现权限控制,另一方面,对于海量身份权限的结构组织与分层管理依靠算法来保证,而不是人工,从而提升可靠。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
接收终端设备发送的密钥申请请求,其中,密钥申请请求携带主身份哈希值,主身份哈希值为对主身份信息进行哈希计算后得到的;
响应密钥申请请求,生成助记词;
根据助记词和主身份哈希值生成根种子;
根据根种子生成主公钥和主私钥;
将主私钥存储至目标索引路径所指示的存储位置;
向终端设备发送密钥申请响应,其中,密钥申请响应携带主公钥。
在一个或多个实施例中,介绍了一种主身份申请人申请密钥的方式。由前述实施例可知,对于最高权限层级所对应的对象而言,可主动向身份管理系统发起密钥申请请求,其中,密钥申请请求携带主身份哈希值,该主身份哈希值为对主身份信息进行哈希计算后得到的,主身份信息即为最高权限层级对应的身份信息。
具体地,基于比特币改进提议(Bitcoin Improvement Proposals,BIP)-32或者BIP-39规范等,根据主身份信息可生成助记词。然后,将主身份哈希值作为盐值(salt),与助记词共同作为基于密码的密钥派生函数-2(password-based key derivation function2,PBKDF2)算法的输入,由此得到根种子。其中,根种子可通过可信信道传输至可信第三方进行保存。通过根种子和HMAC算法得到主私钥和主公钥,示例性地,假设采用HMAC-SHA512算法,则生成到主私钥、主公钥以及主链码。于是,可以将主私钥存储至可信第三方,或者,将主私钥和主链码存储至可信第三方,即,存储至目标索引路径所指示的存储位置。而将主公钥以密钥申请响应分配给主身份申请人。
需要说明的是,分层的权限控制基于单一个根种子产生一树状结构储存多组密钥对。根种子产生算法,即密钥派生算法可使用密钥延伸(key stretching)算法,包含但不仅限于PBKDF2、bcrypt以及scrypt。其中,PBKDF2的基本原理是通过一个伪随机函数(pseudorandom function,PRF)(例如,HMAC函数),把明文和盐值作为输入参数,然后重复进行运算最终产生根种子。
为了便于理解,请参阅图7,图7为本申请实施例中主身份对象申请主公钥的一个流程示意图,以采用HMAC-SHA512算法生成私钥为例,具体地:
在步骤C1中,作为主身份对象(例如,第二对象)的身份申请人输入身份信息,采用哈希算法对该身份信息进行计算后得到主身份哈希值,然后将主身份哈希值通过可信信道传输至身份管理系统。
在步骤C2中,身份管理系统根据分层身份权限管理规则生成主私钥和主链码,再基于主私钥生成主公钥。
在步骤C3中,身份管理系统可将主身份哈希值及其对应的根种子、主私钥和主链码,通过可信信道传输至可信第三方保存。
在步骤C4中,身份管理系统通过可信信道将主公钥返回至主身份对象。
在步骤C5中,主身份对象负责把总公钥派发给其他需要申请身份(即,权限层级在最高权限层级以下)的对象。
在步骤C6中,主身份对象存储主身份哈希值及其对应的主公钥。
其次,本申请实施例中,提供了一种主身份申请人申请密钥的方式,通过上述方式,利用BIP规范生成助记词及对应的根种子,通过根种子和散列函数生成主公钥和主私钥,在后续的衍生推导中,基于主公钥和主私钥可推导出其他的私钥(例如,子私钥和孙私钥等),从而达到分层推导的目的,避免人工管理大量私钥。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
获取第二密钥查询请求,其中,第二密钥查询请求携带第一父身份哈希值和第二加密信息,第二加密信息为采用第一父公钥对第二子身份哈希值进行加密后得到的,第二子身份哈希值为对第二子身份信息进行哈希计算后得到的;
响应第二密钥查询请求,根据第一父身份哈希值获取第一父私钥;
采用第一父私钥对第二加密信息进行解密,得到第二子身份哈希值;
根据第二子身份哈希值确定第二索引路径所对应的第二索引值,其中,第二索引路径与第一索引路径指示相同的权限层级;
根据第一父私钥和第二索引值生成第二子私钥,其中,第二子私钥存储于第二索引路径所指示的存储位置。
在一个或多个实施例中,介绍了一种在同一权限层级下基于相同父私钥生成子私钥的方式。由前述实施例可知,身份管理系统可接收终端设备发送的第二密钥查询请求,或,身份管理系统定时生成第二密钥查询请求。采用第一父公钥对第二子身份哈希值进行加密后得到第二加密信息,第二子身份哈希值为对第二子身份信息进行哈希计算后得到的。
具体地,为了便于理解,请参阅图8,图8为本申请实施例中基于相同父私钥生成子私钥的一个示意图,如图所示,假设第一父私钥为“主私钥”,第一父链码为“主链码”,第一父身份哈希值为“主身份哈希值”,采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值,并采用第一父私钥对第二加密信息进行解密,得到第二子身份哈希值。第一子身份哈希值对应的第一索引路径为“m/0”,第一索引值为“0”。第二子身份哈希值对应的第二索引路径为“m/1”,第二索引值为“1”。可见,第二索引路径与第一索引路径指示相同的权限层级,但所属相同的父身份,以图8为例,第二索引路径与第一索引路径均指示第二个权限层级。
利用父私钥、父链码和索引号可生成子身份对应的子私钥,并将子私钥、子链码以及索引路径存储至可信第三方。示例性地,利用第一父私钥、第一父链码和第一索引号可生成第一子私钥。利用第一父私钥、第一父链码和第二索引号可生成第二子私钥。可调整索引值生成同一个权限层级下属于同一个父身份下的多个子私钥和子公钥。
其次,本申请实施例中,提供了一种在同一权限层级下基于相同父私钥生成子私钥的方式,通过上述方式,可采用同一个父私钥恢复与之关联的其他子私钥,从而提升方案的可行性和可操作性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
获取第三密钥查询请求,其中,第三密钥查询请求携带第二父身份哈希值和第三加密信息,第二父身份哈希值为对第二父身份信息进行哈希计算后得到的,第三加密信息为采用第二父公钥对第三子身份哈希值进行加密后得到的,第三子身份哈希值为对第三子身份信息进行哈希计算后得到的;
响应第三密钥查询请求,根据第二父身份哈希值获取第二父私钥;
采用第二父私钥对第三加密信息进行解密,得到第三子身份哈希值;
根据第三子身份哈希值确定第三索引路径所对应的第三索引值,其中,第三索引路径与第一索引路径指示相同的权限层级;
根据第二父私钥和第三索引值生成第三子私钥,其中,第三子私钥存储于第三索引路径所指示的存储位置。
在一个或多个实施例中,介绍了一种在同一权限层级下基于不同父私钥生成子私钥的方式。由前述实施例可知,身份管理系统可接收终端设备发送的第三密钥查询请求,或,身份管理系统定时生成第三密钥查询请求。对第二父身份信息进行哈希计算后得到第三父身份哈希值,第三父身份哈希值与第一父身份哈希值不同。采用第二父公钥对第三子身份哈希值进行加密后得到第三加密信息,对第三子身份信息进行哈希计算后得到第三子身份哈希值。
具体地,为了便于理解,请参阅图9,图9为本申请实施例中基于不同父私钥生成子私钥的一个示意图,如图所示,假设第一父私钥为“主私钥A”,第二父私钥为“主私钥B”,第一父链码为“主链码A”,第二父链码为“主链码B”,第一父身份哈希值为“主身份哈希值A”,第三父身份哈希值为“主身份哈希值B”。采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值,并采用第二父私钥对第三加密信息进行解密,得到第三子身份哈希值。第一子身份哈希值对应的第一索引路径为“m/0”,第一索引值为“0”。第三子身份哈希值对应的第三索引路径为“n/0”,第三索引值为“0”。可见,第三索引路径与第一索引路径指示相同的权限层级,但所属不同的父身份,以图9为例,第二索引路径与第一索引路径均指示第二个权限层级。
利用父私钥、父链码和索引号可生成子身份对应的子私钥,并将子私钥、子链码以及索引路径存储至可信第三方。示例性地,利用第一父私钥、第一父链码和第一索引号可生成第一子私钥。利用第二父私钥、第二父链码和第三索引号可生成第三子私钥。
其次,本申请实施例中,提供了一种在同一权限层级下基于不同父私钥生成子私钥的方式,通过上述方式,可采用不同父私钥分别恢复与之关联的其他子私钥,从而提升方案的可行性和可操作性。
可选地,在上述图4对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
获取第四密钥查询请求,其中,第四密钥查询请求携带第一子身份哈希值和第四加密信息,第四加密信息为采用第一子公钥对孙身份哈希值进行加密后得到的,孙身份哈希值为对孙身份信息进行哈希计算后得到的;
响应第四密钥查询请求,根据第一子身份哈希值获取第一子私钥;
采用第一子私钥对第四加密信息进行解密,得到孙身份哈希值;
根据孙身份哈希值确定第四索引路径,其中,第四索引路径包括第四索引值,第一索引路径指示第一权限层级,第四索引路径指示第二权限层级,第二权限层级为第一权限层级的下一权限层级;
根据第一子私钥和第四索引值生成孙私钥,其中,孙私钥存储于第四索引路径所指示的存储位置。
在一个或多个实施例中,介绍了一种生成孙私钥的方式。由前述实施例可知,身份管理系统可接收终端设备发送的第四密钥查询请求,或,身份管理系统定时生成第四密钥查询请求。对孙身份信息进行哈希计算后得到孙身份哈希值,采用第一子公钥对孙身份哈希值进行加密后得到第四加密信息。
具体地,为了便于理解,请参阅图10,图10为本申请实施例中分层身份权限管理的一个示意图,如图所示,假设第一子私钥为“子私钥A”,第一子链码为“子链码A”,孙私钥为“孙私钥A”,孙链码为“孙链码A”。采用第一子私钥对第四加密信息进行解密,得到孙身份哈希值。孙身份哈希值对应的第四索引路径为“m/0/0”,第四索引值为“0”。第一子身份哈希值对应的第一索引路径为“m/0”。可见,第四索引路径与第一索引路径指示不同的权限层级,以图10为例,第四索引路径指示第二权限层级,第一索引路径指示第一权限层级,即,第二权限层级为第一权限层级的下一权限层级。
利用子私钥、子链码和索引号可生成孙身份对应的孙私钥,并将孙私钥、孙链码以及索引路径存储至可信第三方。示例性地,利用第一子私钥、第一子链码和第四索引号可生成第一孙私钥。
其次,本申请实施例中,提供了一种生成孙私钥的方式,通过上述方式,采用递归的方式实现身份权限的分层管理控制,无需人工管理,减少了人力成本。
结合上述介绍,下面将对本申请中密钥生成的方法进行介绍,请参阅图11,本申请实施例中密钥生成方法的另一个实施例包括:
210、获取密钥查询请求,其中,密钥查询请求携带父身份哈希值和加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,加密信息为采用父密钥对子身份哈希值进行加密后得到的,子身份哈希值为对子身份信息进行哈希计算后得到的;
在一个或多个实施例中,身份管理系统可接收终端设备发送的针对于第一对象的密钥查询请求,或,身份管理系统定时(例如,每10分钟)生成针对于第一对象的密钥查询请求,其中,第一对象的权限层级低于最高权限层级。
具体地,密钥查询请求携带父身份哈希值和加密信息。其中,对父身份信息进行哈希计算后可得到父身份哈希值,采用父密钥对子身份哈希值进行加密后得到加密信息。子身份信息为第一对象的身份信息,父身份信息为第二对象的身份信息,第一对象的权限层级仅次于第二对象的权限层级。
220、响应密钥查询请求,根据父身份哈希值确定父密钥;
在一个或多个实施例中,身份管理系统对密钥查询请求进行解析后,可得到父身份哈希值。通过父身份哈希值可从可信第三方或本地查找其对应的父密钥。
230、采用父密钥对加密信息进行解密,得到子身份哈希值;
在一个或多个实施例中,身份管理系统对密钥查询请求进行解析后,可得到加密信息。终端设备侧保存的父密钥与身份管理系统侧(例如,可信第三方)保存的父密钥一致时,可采用父密钥对加密信息解密后,即可得到子身份哈希值。
240、根据子身份哈希值确定索引路径所对应的索引值;
在一个或多个实施例中,身份管理系统通过子身份哈希值可从可信第三方或本地查找其对应的索引路径,再基于索引路径确定对应的索引值。
250、根据父密钥和索引值生成子密钥,其中,子密钥存储于索引路径所指示的存储位置。
在一个或多个实施例中,可将父密钥和索引值作为HMAC算法的输入。示例性地,可将父密钥、索引值以及父链码作为HMAC-SHA512算法的输入,以此得到子密钥,进而将子密钥存储于索引路径所指示的存储位置。
为了便于理解,请参阅图12,图12为本申请实施例中分层身份权限管理的另一个示意图,如图所示,属于相同权限层级的不同索引路径分别存储不同的子链码和子密钥,可调整索引值生成同一个权限层级下属于同一个父身份下的多个子密钥。
本申请实施例中,提供了一种密钥生成的方法。通过上述方式,密钥丢失或者被篡改的情况下,可采用上一权限层级的密钥和索引值恢复密钥,相比于重新生成密钥而言,直接恢复密钥的过程所花费的时间较少,且所占用的系统资源也较少。
结合上述介绍,下面将对本申请中密钥获取的方法进行介绍,请参阅图13,本申请实施例中密钥获取方法的一个实施例包括:
310、向服务器发送第一业务请求,其中,第一业务请求携带原始加密信息,原始加密信息为采用第一子公钥对目标身份哈希值进行哈希计算后得到的,目标身份哈希值为对目标身份身份信息进行哈希计算后得到的;
在一个或多个实施例中,子身份对象通过终端设备向身份管理系统发送第一业务请求,第一业务请求携带原始加密信息。对目标身份身份信息进行哈希计算后得到的目标身份哈希值,采用第一子公钥对目标身份哈希值进行哈希计算后得到原始加密信息。
320、若服务器对原始加密信息解密失败,则向服务器发送第二业务请求,其中,第二业务请求携带父身份哈希值和目标加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,目标加密信息为采用父公钥对目标身份哈希值进行加密后得到的;
在一个或多个实施例中,如果身份管理系统无法对原始加密信息进行解密,则身份管理系统可通知终端设备解密失败,由此,终端设备可向服务器发送第二业务请求。其中,第二业务请求携带父身份哈希值和目标加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,目标加密信息为采用父公钥对目标身份哈希值进行加密后得到的。
330、接收业务响应,其中,业务响应携带第二子公钥,第二公钥为根据子私钥生成的,子私钥为根据父私钥和索引值生成的,父私钥为根据父身份哈希值确定的,索引值为根据目标身份哈希值确定的。
在一个或多个实施例中,身份管理系统根据父身份哈希值确定父私钥,采用父私钥对目标加密信息进行解密,得到目标身份哈希值。根据目标身份哈希值确定索引路径所对应的索引值,根据父私钥和索引值生成子私钥,并根据子私钥生成第二子公钥(即,更新后的子公钥)。最后,将第二子公钥携带于业务响应反馈至终端设备。
本申请实施例中,提供了一种密钥获取的方法。通过上述方式,私钥丢失或者被篡改的情况下,可采用上一权限层级的私钥和索引值恢复私钥,相比于重新生成密钥对而言,直接恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
可选地,在上述图对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,接收业务响应之后,还可以包括:
显示目标队伍所对应的会话界面;
或,
在目标队伍所对应的会话界面上显示输入会话;
或,
在目标队伍所对应的群组中显示通知消息。
在一个或多个实施例中,介绍了一种基于权限等级执行相应业务方式。以即时通讯应用为例,在即时通讯应用可建立一个信息沟通渠道,用于报名电竞比赛,队员之间沟通比赛时间和赛事相关信息,电竞战队队长和比赛裁判通知大家比赛关键信息等。基于此,在一个目标队伍中,队长、裁判以及队员分别对应不同的权限层级,例如,队长属于最高权限层级(即,对应主身份),裁判属于第二个权限层级(即,对应子身份),队员属于第三个权限层级(即,对应孙身份)。
具体地,为了便于理解,请参阅图14,图14为本申请实施例中基于目标队伍进入会话的界面示意图,如图14中(A)图所示,D1用于指示进入队伍聊天室的入口,点击后可进入队伍聊天室,队伍聊天室包括队友和队长。如图14中(B)图所示,D2用于指示进入对战聊天室的入口,点击后可进入对战聊天室包括队友、队长、对手和裁判。
示例性地,请参阅图15,图15为本申请实施例中会话界面的示意图,如图15中(A)图所示,以目标队伍(例如,“无敌战队”)的队员为例,在密钥校验通过后,在目标队伍的会话界面上显示子身份对象输入的会话。如图15中(B)图所示,如果在其他队伍(例如,“超级战队”)中未通过密钥校验,则无法发送会话内容。
示例性地,以裁判为例,请参阅图16,图16为本申请实施例中消息通知界面的示意图,如图16中(A)图所示,裁判可在“聊天公告”中输入通知消息,输入完成后,如图16中(B)图所示,即显示通知消息。
需要说明的的是,图14、图15和图16所示的界面仅为一个示意,不应理解为对本申请的限定。
其次,本申请实施例中,提供了一种基于权限等级执行相应业务方式,通过上述方式,能够将密钥权限与对象权限进行关联,实现业务分级的目的,从而提升方案的可行性和可操作性。
下面对本申请中的密钥生成装置进行详细描述,请参阅图17,图17为本申请实施例中密钥生成装置的一个实施例示意图,密钥生成装置40包括:
获取模块410,用于获取第一密钥查询请求,其中,第一密钥查询请求携带第一父身份哈希值和第一加密信息,第一父身份哈希值为对第一父身份信息进行哈希计算后得到的,第一加密信息为采用第一父公钥对第一子身份哈希值进行加密后得到的,第一子身份哈希值为对第一子身份信息进行哈希计算后得到的;
确定模块420,用于响应第一密钥查询请求,根据第一父身份哈希值确定第一父私钥;
解密模块430,用于采用第一父私钥对第一加密信息进行解密,得到第一子身份哈希值;
确定模块420,还用于根据第一子身份哈希值确定第一索引路径所对应的第一索引值;
生成模块440,用于根据第一父私钥和第一索引值生成第一子私钥,其中,第一子私钥存储于第一索引路径所指示的存储位置。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,私钥丢失或者被篡改的情况下,可采用上一权限层级的私钥和索引值恢复私钥,相比于重新生成密钥对而言,直接恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
获取模块410,还用于若第一索引路径所指示的存储位置未存储待验证子私钥,则执行获取第一密钥查询请求的步骤。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,密钥生成装置可查询各个索引路径下是否存储有子私钥,如果发现未存储子私钥,则执行子私钥的恢复流程,由此,有利于及时进行子私钥的恢复,从而提升方案的可行性。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,密钥生成装置40还包括处理模块450;
处理模块450,用于根据第一父私钥和第一索引值生成第一子私钥之后,若第一索引路径所指示的存储位置已存储待验证子私钥,则将待验证子私钥与第一子私钥进行比对;
处理模块450,还用于若待验证子私钥与第一子私钥比对不一致,则根据第一索引路径所指示的存储位置将待验证子私钥更新为第一子私钥。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,密钥生成装置可查询各个索引路径下是否存储有子私钥,如果发现存储子私钥,则继续执行子私钥的恢复流程,由此,可通过定期比对已存储的子私钥和恢复得到的子私钥是否相同,确定已存储的子私钥是否被篡改,从而达到及时恢复子私钥的目的。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,密钥生成装置40还包括发送模块460和接收模块470;
发送模块460,用于向终端设备发送处理请求;
接收模块470,用于若处理请求解密失败,则接收终端设备发送的密钥重置请求,其中,密钥重置请求携带第一子身份哈希值;
处理模块450,还用于响应密钥重置请求,若第一索引路径所指示的存储位置已存储待验证子私钥,则将待验证子私钥与第一子私钥进行比对;
处理模块450,还用于若待验证子私钥与第一子私钥比对不一致,则从第一索引路径所指示的存储位置删除待验证子私钥,并将第一子私钥保存于第一索引路径所指示的存储位置。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,如果其他身份对象无法对处理请求进行解密,则密钥生成装置可基于其他身份对象反馈的密钥重置请求更新子私钥,从而提升密钥的可用性。在海量用户的场景下,可以对被篡改的子私钥进行快速的自动修复,由此提升可靠性。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
生成模块440,还用于将待验证子私钥与第一子私钥进行比对之后,若待验证子私钥与第一子私钥比对一致,则根据第一子私钥生成第一子公钥;
发送模块460,还用于向终端设备发送密钥重置响应,其中,密钥重置响应携带第一子公钥。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,如果其他身份对象无法对处理请求进行解密,则密钥生成装置可基于其他身份对象反馈的密钥重置请求更新子公钥,从而提升密钥的可用性。在海量用户的场景下,可以对被篡改的子公钥进行快速的自动修复,由此提升可靠性。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
接收模块470,还用于根据第一父私钥和第一索引值生成第一子私钥之后,接收终端设备发送的公钥重置请求;
生成模块440,还用于响应公钥重置请求,根据第一子私钥生成第一子公钥;
发送模块460,还用于向终端设备发送公钥重置响应,其中,公钥重置响应携带第一子公钥。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,在子身份对象进行解密时,如果发现未子公钥,则执行子公钥的恢复流程,由此,有利于及时进行子公钥的恢复,从而提升方案的可行性。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
确定模块420,具体用于根据第一父身份哈希值获取第一父私钥和第一父链码;
根据第一父私钥和第一索引值生成第一子私钥,包括:
基于第一父私钥、第一父链码和第一索引值,通过单向哈希函数获取第一子私钥。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,可以从一个父公钥生成其他的子私钥和子公钥,实现层级式的权限控制,即相同权限层级之间无法推导出公钥和私钥,但是借助上一个权限层级的公钥可实现推导。这样,一方面可实现权限控制,另一方面,对于海量身份权限的结构组织与分层管理依靠算法来保证,而不是人工,从而提升可靠。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
接收模块470,还用于接收终端设备发送的密钥申请请求,其中,密钥申请请求携带主身份哈希值,主身份哈希值为对主身份信息进行哈希计算后得到的;
生成模块440,还用于响应密钥申请请求,生成助记词;
生成模块440,还用于根据助记词和主身份哈希值生成根种子;
生成模块440,还用于根据根种子生成主公钥和主私钥;
处理模块450,还用于将主私钥存储至目标索引路径所指示的存储位置;
发送模块460,还用于向终端设备发送密钥申请响应,其中,密钥申请响应携带主公钥。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,利用BIP规范生成助记词及对应的根种子,通过根种子和散列函数生成主公钥和主私钥,在后续的衍生推导中,基于主公钥和主私钥可推导出其他的私钥(例如,子私钥和孙私钥等),从而达到分层推导的目的,避免人工管理大量私钥。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
获取模块410,还用于获取第二密钥查询请求,其中,第二密钥查询请求携带第一父身份哈希值和第二加密信息,第二加密信息为采用第一父公钥对第二子身份哈希值进行加密后得到的,第二子身份哈希值为对第二子身份信息进行哈希计算后得到的;
获取模块410,还用于响应第二密钥查询请求,根据第一父身份哈希值获取第一父私钥;
获取模块410,还用于采用第一父私钥对第二加密信息进行解密,得到第二子身份哈希值;
确定模块420,还用于根据第二子身份哈希值确定第二索引路径所对应的第二索引值,其中,第二索引路径与第一索引路径指示相同的权限层级;
生成模块440,还用于根据第一父私钥和第二索引值生成第二子私钥,其中,第二子私钥存储于第二索引路径所指示的存储位置。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,可采用同一个父私钥恢复与之关联的其他子私钥,从而提升方案的可行性和可操作性。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
获取模块410,还用于获取第三密钥查询请求,其中,第三密钥查询请求携带第二父身份哈希值和第三加密信息,第二父身份哈希值为对第二父身份信息进行哈希计算后得到的,第三加密信息为采用第二父公钥对第三子身份哈希值进行加密后得到的,第三子身份哈希值为对第三子身份信息进行哈希计算后得到的;
获取模块410,还用于响应第三密钥查询请求,根据第二父身份哈希值获取第二父私钥;
获取模块410,还用于采用第二父私钥对第三加密信息进行解密,得到第三子身份哈希值;
确定模块420,还用于根据第三子身份哈希值确定第三索引路径所对应的第三索引值,其中,第三索引路径与第一索引路径指示相同的权限层级;
生成模块440,还用于根据第二父私钥和第三索引值生成第三子私钥,其中,第三子私钥存储于第三索引路径所指示的存储位置。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,可采用不同父私钥分别恢复与之关联的其他子私钥,从而提升方案的可行性和可操作性。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥生成装置40的另一实施例中,
获取模块410,还用于获取第四密钥查询请求,其中,第四密钥查询请求携带第一子身份哈希值和第四加密信息,第四加密信息为采用第一子公钥对孙身份哈希值进行加密后得到的,孙身份哈希值为对孙身份信息进行哈希计算后得到的;
获取模块410,还用于响应第四密钥查询请求,根据第一子身份哈希值获取第一子私钥;
获取模块410,还用于采用第一子私钥对第四加密信息进行解密,得到孙身份哈希值;
确定模块420,还用于根据孙身份哈希值确定第四索引路径,其中,第四索引路径包括第四索引值,第一索引路径指示第一权限层级,第四索引路径指示第二权限层级,第二权限层级为第一权限层级的下一权限层级;
生成模块440,还用于根据第一子私钥和第四索引值生成孙私钥,其中,孙私钥存储于第四索引路径所指示的存储位置。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,采用递归的方式实现身份权限的分层管理控制,无需人工管理,减少了人力成本。
下面对本申请中的密钥生成装置进行详细描述,请参阅图18,图18为本申请实施例中密钥生成装置的另一个实施例示意图,密钥生成装置50包括:
获取模块510,用于获取密钥查询请求,其中,密钥查询请求携带父身份哈希值和加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,加密信息为采用父密钥对子身份哈希值进行加密后得到的,子身份哈希值为对子身份信息进行哈希计算后得到的;
确定模块520,用于响应密钥查询请求,根据父身份哈希值确定父密钥;
解密模块530,用于采用父密钥对加密信息进行解密,得到子身份哈希值;
确定模块520,还用于根据子身份哈希值确定索引路径所对应的索引值;
生成模块540,用于根据父密钥和索引值生成子密钥,其中,子密钥存储于索引路径所指示的存储位置。
本申请实施例中,提供了一种密钥生成装置。采用上述装置,密钥丢失或者被篡改的情况下,可采用上一权限层级的密钥和索引值恢复密钥,相比于重新生成密钥而言,直接恢复密钥的过程所花费的时间较少,且所占用的系统资源也较少。
下面对本申请中的密钥获取装置进行详细描述,请参阅图19,图19为本申请实施例中密钥获取装置的另一个实施例示意图,密钥获取装置60包括:
发送模块610,用于向服务器发送第一业务请求,其中,第一业务请求携带原始加密信息,原始加密信息为采用第一子公钥对目标身份哈希值进行哈希计算后得到的,目标身份哈希值为对目标身份身份信息进行哈希计算后得到的;
发送模块610,还用于若服务器对原始加密信息解密失败,则向服务器发送第二业务请求,其中,第二业务请求携带父身份哈希值和目标加密信息,父身份哈希值为对父身份信息进行哈希计算后得到的,目标加密信息为采用父公钥对目标身份哈希值进行加密后得到的;
接收模块620,用于接收业务响应,其中,业务响应携带第二子公钥,第二公钥为根据子私钥生成的,子私钥为根据父私钥和索引值生成的,父私钥为根据父身份哈希值确定的,索引值为根据目标身份哈希值确定的。
本申请实施例中,提供了一种密钥获取装置。采用上述装置,私钥丢失或者被篡改的情况下,可采用上一权限层级的私钥和索引值恢复私钥,相比于重新生成密钥对而言,直接恢复私钥的过程所花费的时间较少,且所占用的系统资源也较少。
可选地,在上述图17所对应的实施例的基础上,本申请实施例提供的密钥获取装置60的另一实施例中,密钥获取装置60还包括显示模块630;
显示模块630,用于在接收业务响应之后,显示目标队伍所对应的会话界面;
或,
显示模块630,还于在接收业务响应之后,在目标队伍所对应的会话界面上显示输入会话;
或,
显示模块630,还于在接收业务响应之后,在目标队伍所对应的群组中显示通知消息。
本申请实施例中,提供了一种密钥获取装置。采用上述装置,能够将密钥权限与对象权限进行关联,实现业务分级的目的,从而提升方案的可行性和可操作性。
图20是本申请实施例提供的一种服务器结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。
服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图20所示的服务器结构。
图21是本申请实施例提供的一种终端设备结构示意图,如图21所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、销售终端设备(Point of Sales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:
图21示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图21,手机包括:射频(Radio Frequency,RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图21中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图21对手机的各个构成部件进行具体的介绍:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图21中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图21示出了WiFi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;可选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机还包括给各个部件供电的电源890(比如电池),可选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述实施例中由终端设备所执行的步骤可以基于该图21所示的终端设备结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (17)

1.一种密钥生成的方法,其特征在于,包括:
获取第一密钥查询请求,其中,所述第一密钥查询请求携带第一父身份哈希值和第一加密信息,所述第一父身份哈希值为对第一父身份信息进行哈希计算后得到的,所述第一加密信息为采用第一父公钥对第一子身份哈希值进行加密后得到的,所述第一子身份哈希值为对第一子身份信息进行哈希计算后得到的;
响应所述第一密钥查询请求,根据所述第一父身份哈希值确定第一父私钥;
采用所述第一父私钥对所述第一加密信息进行解密,得到所述第一子身份哈希值;
根据所述第一子身份哈希值确定第一索引路径所对应的第一索引值;
根据所述第一父私钥和所述第一索引值生成第一子私钥,其中,所述第一子私钥存储于所述第一索引路径所指示的存储位置。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一索引路径所指示的存储位置未存储待验证子私钥,则执行所述获取第一密钥查询请求的步骤。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一父私钥和所述第一索引值生成第一子私钥之后,所述方法还包括:
若所述第一索引路径所指示的存储位置已存储待验证子私钥,则将所述待验证子私钥与所述第一子私钥进行比对;
若所述待验证子私钥与所述第一子私钥比对不一致,则根据所述第一索引路径所指示的存储位置将所述待验证子私钥更新为所述第一子私钥。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向终端设备发送处理请求;
若所述处理请求解密失败,则接收所述终端设备发送的密钥重置请求,其中,所述密钥重置请求携带所述第一子身份哈希值;
响应所述密钥重置请求,若所述第一索引路径所指示的存储位置已存储待验证子私钥,则将所述待验证子私钥与所述第一子私钥进行比对;
若所述待验证子私钥与所述第一子私钥比对不一致,则从所述第一索引路径所指示的存储位置删除所述待验证子私钥,并将所述第一子私钥保存于所述第一索引路径所指示的存储位置。
5.根据权利要求4所述的方法,其特征在于,所述将所述待验证子私钥与所述第一子私钥进行比对之后,所述方法还包括:
若所述待验证子私钥与所述第一子私钥比对一致,则根据所述第一子私钥生成第一子公钥;
向所述终端设备发送密钥重置响应,其中,所述密钥重置响应携带所述第一子公钥。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一父私钥和所述第一索引值生成第一子私钥之后,所述方法还包括:
接收终端设备发送的公钥重置请求;
响应所述公钥重置请求,根据所述第一子私钥生成第一子公钥;
向所述终端设备发送公钥重置响应,其中,所述公钥重置响应携带所述第一子公钥。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一父身份哈希值确定第一父私钥,包括:
根据所述第一父身份哈希值获取所述第一父私钥和第一父链码;
所述根据所述第一父私钥和所述第一索引值生成第一子私钥,包括:
基于所述第一父私钥、所述第一父链码和第一索引值,通过单向哈希函数获取所述第一子私钥。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的密钥申请请求,其中,所述密钥申请请求携带主身份哈希值,所述主身份哈希值为对主身份信息进行哈希计算后得到的;
响应所述密钥申请请求,生成助记词;
根据所述助记词和所述主身份哈希值生成根种子;
根据所述根种子生成主公钥和主私钥;
将所述主私钥存储至目标索引路径所指示的存储位置;
向所述终端设备发送密钥申请响应,其中,所述密钥申请响应携带所述主公钥。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第二密钥查询请求,其中,所述第二密钥查询请求携带所述第一父身份哈希值和第二加密信息,所述第二加密信息为采用所述第一父公钥对第二子身份哈希值进行加密后得到的,所述第二子身份哈希值为对第二子身份信息进行哈希计算后得到的;
响应所述第二密钥查询请求,根据所述第一父身份哈希值获取所述第一父私钥;
采用所述第一父私钥对所述第二加密信息进行解密,得到所述第二子身份哈希值;
根据所述第二子身份哈希值确定第二索引路径所对应的第二索引值,其中,所述第二索引路径与所述第一索引路径指示相同的权限层级;
根据所述第一父私钥和所述第二索引值生成第二子私钥,其中,所述第二子私钥存储于所述第二索引路径所指示的存储位置。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第三密钥查询请求,其中,所述第三密钥查询请求携带第二父身份哈希值和第三加密信息,所述第二父身份哈希值为对第二父身份信息进行哈希计算后得到的,所述第三加密信息为采用第二父公钥对第三子身份哈希值进行加密后得到的,所述第三子身份哈希值为对第三子身份信息进行哈希计算后得到的;
响应所述第三密钥查询请求,根据所述第二父身份哈希值获取所述第二父私钥;
采用所述第二父私钥对所述第三加密信息进行解密,得到所述第三子身份哈希值;
根据所述第三子身份哈希值确定第三索引路径所对应的第三索引值,其中,所述第三索引路径与所述第一索引路径指示相同的权限层级;
根据所述第二父私钥和所述第三索引值生成第三子私钥,其中,所述第三子私钥存储于所述第三索引路径所指示的存储位置。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第四密钥查询请求,其中,所述第四密钥查询请求携带所述第一子身份哈希值和第四加密信息,所述第四加密信息为采用第一子公钥对孙身份哈希值进行加密后得到的,所述孙身份哈希值为对孙身份信息进行哈希计算后得到的;
响应所述第四密钥查询请求,根据所述第一子身份哈希值获取所述第一子私钥;
采用所述第一子私钥对所述第四加密信息进行解密,得到所述孙身份哈希值;
根据所述孙身份哈希值确定第四索引路径,其中,所述第四索引路径包括第四索引值,所述第一索引路径指示第一权限层级,所述第四索引路径指示第二权限层级,所述第二权限层级为所述第一权限层级的下一权限层级;
根据所述第一子私钥和所述第四索引值生成孙私钥,其中,所述孙私钥存储于所述第四索引路径所指示的存储位置。
12.一种密钥生成的方法,其特征在于,包括:
获取密钥查询请求,其中,所述密钥查询请求携带父身份哈希值和加密信息,所述父身份哈希值为对父身份信息进行哈希计算后得到的,所述加密信息为采用父密钥对子身份哈希值进行加密后得到的,所述子身份哈希值为对子身份信息进行哈希计算后得到的;
响应所述密钥查询请求,根据所述父身份哈希值确定所述父密钥;
采用所述父密钥对所述加密信息进行解密,得到所述子身份哈希值;
根据所述子身份哈希值确定索引路径所对应的索引值;
根据所述父密钥和所述索引值生成子密钥,其中,所述子密钥存储于所述索引路径所指示的存储位置。
13.一种密钥获取的方法,其特征在于,包括:
向服务器发送第一业务请求,其中,所述第一业务请求携带原始加密信息,所述原始加密信息为采用第一子公钥对目标身份哈希值进行哈希计算后得到的,所述目标身份哈希值为对目标身份身份信息进行哈希计算后得到的;
若所述服务器对所述原始加密信息解密失败,则向所述服务器发送第二业务请求,其中,所述第二业务请求携带父身份哈希值和目标加密信息,所述父身份哈希值为对父身份信息进行哈希计算后得到的,所述目标加密信息为采用父公钥对所述目标身份哈希值进行加密后得到的;
接收业务响应,其中,所述业务响应携带第二子公钥,所述第二公钥为根据子私钥生成的,所述子私钥为根据父私钥和索引值生成的,所述父私钥为根据所述父身份哈希值确定的,所述索引值为根据所述目标身份哈希值确定的。
14.根据权利要求13所述的方法,其特征在于,所述接收业务响应之后,所述方法还包括:
显示目标队伍所对应的会话界面;
或,
在所述目标队伍所对应的会话界面上显示输入会话;
或,
在所述目标队伍所对应的群组中显示通知消息。
15.一种密钥生成装置,其特征在于,包括:
获取模块,用于获取第一密钥查询请求,其中,所述第一密钥查询请求携带第一父身份哈希值和第一加密信息,所述第一父身份哈希值为对第一父身份信息进行哈希计算后得到的,所述第一加密信息为采用第一父公钥对第一子身份哈希值进行加密后得到的,所述第一子身份哈希值为对第一子身份信息进行哈希计算后得到的;
确定模块,用于响应所述第一密钥查询请求,根据所述第一父身份哈希值确定第一父私钥;
解密模块,用于采用所述第一父私钥对所述第一加密信息进行解密,得到所述第一子身份哈希值;
所述确定模块,还用于根据所述第一子身份哈希值确定第一索引路径所对应的第一索引值;
生成模块,用于根据所述第一父私钥和所述第一索引值生成第一子私钥,其中,所述第一子私钥存储于所述第一索引路径所指示的存储位置。
16.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至11中任一项所述的方法,或执行权利要求12所述的方法,或执行权利要求13至14中任一项所述的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
17.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的方法,或执行权利要求12所述的方法,或执行权利要求13至14中任一项所述的方法。
CN202111314408.2A 2021-11-08 2021-11-08 一种密钥生成的方法、密钥获取的方法、相关装置及介质 Active CN114039726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111314408.2A CN114039726B (zh) 2021-11-08 2021-11-08 一种密钥生成的方法、密钥获取的方法、相关装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111314408.2A CN114039726B (zh) 2021-11-08 2021-11-08 一种密钥生成的方法、密钥获取的方法、相关装置及介质

Publications (2)

Publication Number Publication Date
CN114039726A CN114039726A (zh) 2022-02-11
CN114039726B true CN114039726B (zh) 2022-11-11

Family

ID=80143397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111314408.2A Active CN114039726B (zh) 2021-11-08 2021-11-08 一种密钥生成的方法、密钥获取的方法、相关装置及介质

Country Status (1)

Country Link
CN (1) CN114039726B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697019B (zh) * 2022-02-24 2023-12-15 南京工程学院 一种用户账号隐私保护方法及系统
CN114760054A (zh) * 2022-06-14 2022-07-15 浙江毫微米科技有限公司 基于数字钱包的密钥管理方法、装置及存储介质
WO2024162915A1 (en) * 2023-01-30 2024-08-08 Coruh Arge Ve Teknoloji Sanayi Ticaret Limited Sirketi Method for updating and revoking security keys and sensitive data over remote secure channels

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411506B (zh) * 2016-08-31 2019-04-16 飞天诚信科技股份有限公司 适用于数字货币的密钥派生方法及装置
CN109067526A (zh) * 2018-08-15 2018-12-21 数字钱包(北京)科技有限公司 层次公私钥对生成方法和装置
CN111639361B (zh) * 2020-05-15 2023-06-20 中国科学院信息工程研究所 一种区块链密钥管理方法、多人共同签名方法及电子装置

Also Published As

Publication number Publication date
CN114039726A (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
CN112733107B (zh) 一种信息验证的方法、相关装置、设备以及存储介质
US11456864B2 (en) Information storage method, device, and computer-readable storage medium
CN111600710B (zh) 密钥存储方法、装置、终端、服务器及可读介质
CN114039726B (zh) 一种密钥生成的方法、密钥获取的方法、相关装置及介质
CN111475841B (zh) 一种访问控制的方法、相关装置、设备、系统及存储介质
CN106656476B (zh) 一种密码保护方法、装置及计算机可读存储介质
CN110545190B (zh) 一种签名处理的方法、相关装置以及设备
CN113395159B (zh) 一种基于可信执行环境的数据处理方法以及相关装置
CN106789089B (zh) 管理证书的方法、装置、和系统以及服务器
CN104836664B (zh) 一种执行业务处理的方法、装置和系统
CN107070909A (zh) 信息发送方法、信息接收方法、装置及系统
CN109600223A (zh) 验证方法、激活方法、装置、设备及存储介质
CN107154935B (zh) 业务请求方法及装置
CN111475832B (zh) 一种数据管理的方法以及相关装置
CN103095457A (zh) 一种应用程序的登录、验证方法
CN106845177A (zh) 密码管理方法及系统
US11445374B2 (en) Systems and methods for authenticating a subscriber identity module swap
US20220158839A1 (en) Methods and devices for secure application authentication using a one-way encrypted authentication token
CN112533202A (zh) 身份鉴别方法及装置
US20240305450A1 (en) Authentication system for a multiuser device
CN114547082A (zh) 一种数据聚合的方法、相关装置、设备以及存储介质
CN114389802A (zh) 一种信息解密的方法、装置、电子设备及可读存储介质
US12047502B2 (en) Systems and methods for backing up a hardware key
US11949772B2 (en) Optimized authentication system for a multiuser device
CN114389825B (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