CN116527261A - 密钥恢复方法、电子设备、存储介质 - Google Patents

密钥恢复方法、电子设备、存储介质 Download PDF

Info

Publication number
CN116527261A
CN116527261A CN202310805850.8A CN202310805850A CN116527261A CN 116527261 A CN116527261 A CN 116527261A CN 202310805850 A CN202310805850 A CN 202310805850A CN 116527261 A CN116527261 A CN 116527261A
Authority
CN
China
Prior art keywords
key
user
ciphertext
recovery server
key recovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310805850.8A
Other languages
English (en)
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202310805850.8A priority Critical patent/CN116527261A/zh
Publication of CN116527261A publication Critical patent/CN116527261A/zh
Pending legal-status Critical Current

Links

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Abstract

本申请提供密钥恢复方法、电子设备、存储介质,该方法包括:响应于用户端发送的密钥恢复请求,密钥恢复服务器基于密钥恢复服务器的第一私钥对用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,第一密文是用户端利用密钥恢复服务器的第一公钥对用户密钥或加密密钥进行加密得到的,第一公钥与第一私钥相对应。利用用户端的第二公钥对用户密钥的明文或用户密钥的加密密钥明文进行加密而得到用户密钥的第二密文。将第二密文发送给用户端,以使用户端利用与第二公钥相对应的第二私钥对第二密文进行处理而得到用户密钥的明文。上述方式,密钥恢复过程中,密钥始终处于密文状态,从而防止密钥泄露,提高密钥恢复的安全性。

Description

密钥恢复方法、电子设备、存储介质
技术领域
本申请的所公开实施例涉及数据安全技术领域,且更具体而言,涉及密钥恢复方法、电子设备、存储介质。
背景技术
在数据安全计算产品中,用户需使用用户密钥对用户数据密文进行解密得到用户数据明文,当用户端的数据安全计算产品中的安全密码模块损坏,或密钥生成时依赖的密钥派生因子变更、不可用等原因,导致无法使用安全密码模块中的用户密钥对用户数据密文进行解密或者还原出用户密钥的明文。但是目前密钥恢复过程中,存在密钥泄露的风险。
发明内容
根据本申请的实施例,本申请提出密钥恢复方法、电子设备、存储介质,以解决上述问题。
本申请提供一种密钥恢复方法,所述方法包括:响应于用户端发送的密钥恢复请求,密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,所述第一密文是所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥或所述加密密钥进行加密得到的,所述密钥恢复服务器的第一公钥与所述密钥恢复服务器的第一私钥相对应。利用所述用户端的第二公钥对所述用户密钥的明文或用户密钥的加密密钥明文进行加密而得到所述用户密钥的第二密文。将所述第二密文发送给用户端,以使所述用户端利用与所述第二公钥相对应的第二私钥对所述第二密文进行处理而得到所述用户密钥的明文。
本申请提供另一种密钥恢复方法,所述方法包括:用户端向密钥恢复服务器发起密钥恢复请求,所述密钥恢复请求包括所述用户端生成的第二公私钥对中的第二公钥。获取所述密钥恢复服务器基于所述密钥恢复请求处理得到的用户密钥的第二密文,所述第二密文是所述密钥恢复服务器利用所述用户端的第二公钥对所述用户密钥的明文或用户密钥的加密密钥明文进行加密而得到所述用户密钥的第二密文,所述用户密钥的明文或用户密钥的加密密钥明文是所述密钥恢复服务器响应于所述密钥恢复请求、利用密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到,所述第一密文是所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥或所述加密密钥进行加密得到的,所述密钥恢复服务器的第一公钥与所述密钥恢复服务器的第一私钥相对应。利用所述第二公私钥对中的第二私钥对所述第二密文进行处理而得到所述用户密钥的明文。
本申请提供另一种电子设备,包括存储器和处理器,所述存储器与所述处理器相互耦接,所述处理器用于执行所述存储器中存储的程序指令,以实现上述的密钥恢复方法。
本申请提供另一种非易失性计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时以实现上述的密钥恢复方法。
本申请的有益效果有:用户端向密钥恢复服务器发送密文,密钥恢复服务器在对密文进行解密得到用户密钥的明文或用户密钥的加密密钥明文,在对密钥恢复服务器再对用户密钥的明文或用户密钥的加密密钥明文加密,并将加密后的用户密钥的明文或用户密钥的加密密钥明文发送给用户端。其用户密钥的恢复过程中,用户密钥始终处于密文状态,从而防止用户密钥泄露,提高了用户密钥恢复的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
下面将结合附图及实施方式对本申请作进一步说明,附图中:
图1是本申请一实施例的密钥恢复方法的流程示意图;
图2是本申请另一实施例密钥恢复系统结构示意图;
图3是本申请实施例的电子设备的结构示意图;
图4是本申请实施例的非易失性计算机可读存储介质的结构示意图。
具体实施方式
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。另外,本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
为了更好理解本申请,在介绍本申请之前,先对本申请相关背景和模块进行介绍。
本申请涉及多方交互,包括:密钥恢复服务器端和用户端。用户端上可安装数据安全计算产品,该数据安全计算产品包括:主程序、安全密码模块和用户密钥恢复模块,其中,安全密码模块可以生成一对的公钥和私钥,该公钥和私钥相互对应。公钥用于对数据进行加密,即将明文加密为密文。私钥用于对该私钥对应的公钥加密后的数据进行解密,即将密文解密为明文。
密钥恢复服务器端可包括:用户密钥辅助恢复服务和密钥派生模块。用户密钥辅助恢复服务用于辅助用户端恢复用户密钥明文,密钥派生模块用于生成一对应的公钥和私钥。
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请的技术方案做进一步详细描述。
请参阅图1,图1是本申请一实施例的密钥恢复方法的流程示意图。该方法可以应用于具有计算等功能的电子设备。需注意的是,若有实质上相同的结果,本申请的方法并不以图1所示的流程顺序为限。
在一些可能的实现方式中,该方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现,如图1所示,该方法可以包括如下步骤:
步骤S11:响应于用户端发送的密钥恢复请求,密钥恢复服务器基于密钥恢复服务器的第一私钥对用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,第一密文是用户端利用密钥恢复服务器的第一公钥对用户密钥或加密密钥进行加密得到的,密钥恢复服务器的第一公钥与密钥恢复服务器的第一私钥相对应。
用户端向密钥恢复服务器发送密钥恢复请求,该密钥恢复请求中包括第一密文,响应于用户端发送的密钥恢复请求,密钥恢复服务器利用密钥派生模块生成的第一私钥对第一密文进行解密,得到用户密钥的明文或者用户密钥的加密密钥明文。其中,第一密文是用户端利用第一私钥对应的第一公钥对用户密钥的明文或者用户密钥的加密密钥明文进行加密得到的。
步骤S12:利用用户端的第二公钥对用户密钥的明文或用户密钥的加密密钥明文进行加密而得到用户密钥的第二密文。
密钥恢复请求还可以包括第二公钥,其中,第二公钥由用户端的数据安全计算产品的安全密码模块生成。在密钥恢复服务器处理得到用户密钥的明文或用户密钥的加密密钥明文后,密钥恢复服务器可利用第二公钥对用户密钥的明文或用户密钥的加密密钥明文进行加密,得到第二密文。
在其他实施例中,密钥恢复请求中也可不包含第二公钥,这种情况下在密钥恢复服务器处理得到用户密钥的明文或用户密钥的加密密钥明文后,密钥恢复服务器可利用用户端之前发送的第二公钥对用户密钥的明文或用户密钥的加密密钥明文进行加密,得到第二密文。即在某些实施例中,用户端生成的第二公私钥对可以在密钥恢复请求发送之前发送给密钥恢复服务器。
此外,用户端生成的第二公私钥的使用次数可以根据实际情况进行设定。
例如用户端生成的第二公私钥对可以仅使用一次,即在此次密钥恢复后,用户端就不会使用此次生成的第二公私钥对进行密钥恢复。
又例如,或者用户端生成的第二公私钥对也可以使用多次。在一个具体的例子中,用户端首次向密钥恢复服务器端发送密钥恢复请求中包含的用户端的数据安全计算产品的安全密码模块生成的第二公私钥对中的第二公钥,与用户端后续向密钥恢复服务器端发送密钥恢复请求中可以不包含第二公钥。其中,密钥恢复服务器在接收到用户端首次发送的密钥恢复请求后,将用户端首次发送的密钥恢复请求中的第二公钥保存,并建立该第二公钥和用户端之间的映射关系。当该用户端后续再次发送密钥恢复请求时,该密钥恢复请求可以不包含第二公钥,利用用户端的相关信息(例如mac地址、用户身份凭据信息等)找到对应的第二公钥。
可选的,密钥恢复服务器利用用户端发送的密钥恢复请求中包含的第二公钥对用户密钥的明文或用户密钥的加密密钥明文进行加密得到第二密文,在密钥恢复服务器将第二密文发送给用户端后,且确认用户端收到第二密文后,密钥恢复服务器可将用户密钥的相关数据删除掉,以避免密钥恢复服务器中发生用户密钥泄露。当然,在某些实施例中,密钥恢复服务器也可不进行用户密钥的相关数据的删除操作。
步骤S13:将第二密文发送给用户端,以使用户端利用与第二公钥相对应的第二私钥对第二密文进行处理而得到用户密钥的明文。
密钥恢复服务器将第二密文发送给用户端,用户端接收第二密文,用户端利用第二公钥对应的第二私钥对第二密文进行处理,得到用户密钥的明文或者用户密钥的加密密钥明文。
因此,在上述实施例中,用户端向密钥恢复服务器发送密文,密钥恢复服务器在对密文进行解密得到用户密钥的明文或用户密钥的加密密钥明文,在对密钥恢复服务器再对用户密钥的明文或用户密钥的加密密钥明文加密,并将加密后的用户密钥的明文或用户密钥的加密密钥明文发送给用户端。其用户密钥的恢复过程中,用户密钥始终处于密文状态,从而防止用户密钥泄露,提高了用户密钥恢复的安全性。同时,在此实施例的用户密钥的恢复过程中,不依赖用户口令等,需要用户记住或额外保管的信息,降低了用户安全运维的难度和成本,使得用户密钥在灾难场景下的可恢复性大大提升。
下面为更好说明本申请密钥恢复方法,提供以下密钥恢复具体实施例来示例性说明:
本申请的一实施例中,用户端向密钥恢复服务器发送密钥恢复请求,该密钥恢复请求包括用户端生成的第二公私钥对中的第二公钥和第一密文,第一密文为用户端利用密钥恢复服务器的第一公钥对用户密钥进行加密得到的。密钥恢复服务器基于密钥恢复服务器的第一私钥对用户端的第一密文进行解密得到用户密钥的明文。随后,密钥恢复服务器再利用密钥恢复请求中的第二公钥对用户密钥明文进行加密,得到以第二公钥对用户密钥加密后的密文,即第二密文。接着,密钥恢复服务器向用户端的数据安全计算产品的用户密码恢复模块发送第二密文,用户端的数据安全计算产品的安全密码模块将密钥恢复请求中第二公钥对应的第二私钥导入用户密码恢复模块,利用第二私钥对第二密文进行解密,得到用户密钥的明文。
在该实施例中,用户端将第一密文和第二公钥包含在密钥恢复请求中,再将密钥恢复请求发送给密钥恢复服务器。在密钥恢复服务器接收用户端发送的密钥恢复请求后,密钥恢复服务器可在其密钥派生模块中找到第一公钥对应的第一私钥,接着密钥恢复服务器可利用第一私钥对密钥恢复请求中包含的第一密文进行解密,得到用户密钥的明文。
而第一密文的生成步骤可以包括:用户端的数据安全计算产品的安全密码模块生成用户密钥;用户端利用密钥恢复服务器的密钥派生模块生成的第一公钥对用户密钥进行加密,得到用户密钥密文,即第一密文。
此外,第二公钥和第二私钥由用户端的数据安全计算产品的安全密码模块生成,第二公钥和第二私钥相互对应,即第二私钥可以对第二公钥加密后的密文进行解密。
可选的,用户端每次向密钥恢复服务器发送密钥恢复请求,安全密码模块可以生成不同的第二公私钥对,并将第二公钥放置在密钥恢复请求中,发送给密钥恢复服务器。
在其他实现方式中,用户端首次向密钥恢复服务器端发送的密钥恢复请求中可包含有用户端的数据安全计算产品的安全密码模块生成的第二公私钥对中的第二公钥,且用户端首次发送的密钥恢复请求中的第二公钥与用户端后续向密钥恢复服务器端发送密钥恢复请求中包含的第二公钥可以相同。
本申请的另一实施例中,用户端向密钥恢复服务器发送密钥恢复请求,该密钥恢复请求还包括第三密文,即:密钥恢复请求包括:用户端生成的第二公私钥对中的第二公钥、第一密文和第三密文,第三密文为用户端利用加密密钥对用户密钥加密得到的密文,第一密文为用户端利用密钥恢复服务器的第一公钥对用户密钥的加密密钥进行加密得到的。如此,密钥恢复服务器可以响应于用户端的密钥恢复请求,基于密钥恢复服务器的第一私钥对用户端的第一密文进行解密得到用户密钥的加密密钥明文;密钥恢复服务器利用加密密钥明文对第三密文进行解密得到用户密钥的明文。随后,密钥恢复服务器再利用密钥恢复请求中的第二公钥对用户密钥明文进行加密,得到以第二公钥对用户密钥加密后的密文,即第二密文。接着,密钥恢复服务器向用户端的数据安全计算产品的用户密码恢复模块发送第二密文,用户端的数据安全计算产品的安全密码模块将密钥恢复请求中第二公钥对应的第二私钥导入用户密码恢复模块,利用第二私钥对第二密文进行解密,得到用户密钥的明文。
在该实施例中,用户端将第一密文、第三密文和第二公钥包含在密钥恢复请求中,再将密钥恢复请求发送给密钥恢复服务器,以使得密钥恢复服务器接收用户端发送的密钥恢复请求后,在其密钥派生模块中找到第一公钥对应的第一私钥,并利用第一私钥对密钥恢复请求中包含的第一密文进行解密,得到用户密钥的加密密钥明文;接着利用用户密钥的加密密钥明文对第三密文进行解密即可得到用户密钥的明文。
可选地,在此次密钥恢复之前,可通过用户端的数据安全计算产品的安全密码模块生成用户密钥,并使用数字信封的方式对用户密钥进行加密并保存。具体地,使用数字信封的方式对用户密钥进行加密并保存的步骤可以包括:利用加密密钥对用户密钥进行加密,得到第一密文;用户端再利用密钥恢复服务器的密钥派生模块生成的第一公钥对加密密钥进行加密,得到加密密钥的密文,即第三密文;将第一密文和第三密文进行关联保存,如此便于后续在进行密钥恢复时将第一密文及与其相关联的第三密文加入到密钥恢复请求中。
本申请的又一实施例中,用户端向密钥恢复服务器发送密钥恢复请求,该密钥恢复请求包括用户端生成的第二公私钥对中的第二公钥和第一密文,第一密文为用户端利用密钥恢复服务器的第一公钥对用户密钥的加密密钥进行加密得到的。如此,密钥恢复服务器可以响应于用户端的密钥恢复请求,基于密钥恢复服务器的第一私钥对用户端的第一密文进行解密得到用户密钥的加密密钥明文。随后,密钥恢复服务器再利用密钥恢复请求中的第二公钥对加密密钥明文进行加密,得到以第二公钥对加密密钥明文加密后的密文,即第二密文。接着,密钥恢复服务器向用户端的数据安全计算产品的用户密码恢复模块发送第二密文,用户端的数据安全计算产品的安全密码模块将密钥恢复请求中第二公钥对应的第二私钥导入用户密码恢复模块,利用第二私钥对第二密文进行解密,得到加密密钥的明文;接着用户端可利用加密密钥的明文对第三密文进行解密,得到用户密钥的明文,其中,第三密钥为用户端利用加密密钥对用户密钥加密得到的密文。在该实施例中,用户端无需将第三密文发送给密钥恢复服务器,使得密钥恢复服务器在计算过程中也不会得到用户密钥的明文,进一步提高了用户密钥的安全性。
请参阅图2,图2是本申请另一实施例密钥恢复系统结构示意图。在此图中包括:密钥恢复服务器端、远程服务器端和用户端,其中,远程证明服务器为第三方可信实体,用于验证机密计算环境的真实性和完整性。机密计算环境是指:通过在基于硬件的可信执行环境中执行计算的方式来对使用中的数据进行保护,安全、隔离的可信执行环境可防止外部(包括操作系统、特权用户、恶意程序等)对使用中的应用程序和数据进行未经授权的访问或篡改。
其中,用户端上的数据安全计算产品中还包括远程证明发起验证模块,用于验证密钥恢复服务器是否处于机密计算环境,及密钥恢复服务器的机密计算环境中运行的应用程序是否真实、完整。
密钥恢复服务器端所处的计算环境分为机密计算环境和普通计算环境,在密钥恢复服务器的普通计算环境中部署远程证明代理模块,在密钥恢复服务器的机密计算环境中部署用户密钥辅助恢复服务、远程证明模块和密钥派生模块,用户密钥辅助恢复服务用于辅助用户端恢复用户密钥明文,密钥派生模块用于生成一对应的公钥和私钥。
在本申请的另一些实施例中,密钥恢复服务器在机密计算环境中生成第一公私钥对。响应于用户端发起远程证明,密钥恢复服务器通过远程证明报告将第一公钥发送给用户端,以在用户端确认密钥恢复服务器的远程证明通过时、将第一公钥导入到安全密码模块。
具体地,用户端的数据安全计算产品的远程证明发起验证模块向密钥恢复服务器发送远程证明请求。密钥恢复服务器响应该远程证明请求,向用户端发送远程证明报告,并通过远程证明报告将第一公钥发送给用户端。用户端接收该远程证明报告,当远程证明通过后,把第一公钥导入到用户端的数据安全计算产品的安全密码模块中。
可选的,在本申请的另一些实施例中,密钥恢复服务器在机密计算环境中生成第一公私钥对及其标识。密钥恢复服务器通过远程证明报告将第一公钥及其标识发送给用户端,以在用户端确认密钥恢复服务器的远程证明通过时、将第一公钥及其标识导入到安全密码模块。
具体地,密钥恢复服务器的机密计算环境中的密码派生模块生成对应的第一公钥和第一私钥,及公钥对应标识。用户端的数据安全计算产品的远程证明发起验证模块向密钥恢复服务器发送远程证明请求。密钥恢复服务器响应该远程证明请求,向用户端发送远程证明报告,并通过远程证明报告将第一公钥和公钥对应标识发送给用户端。用户端接收该远程证明报告,当远程证明通过后,把第一公钥及其公钥标识导入到用户端的数据安全计算产品的安全密码模块中。
因此,当用户端向密钥恢复服务器发送密钥恢复请求时,该密钥恢复请求包括:利用第一公钥对用户密钥的明文或用户密钥的加密密钥明文加密后得到的第一密文和第一公钥对应标识,密钥恢复服务器利用第一公钥对应标识,找到第一公钥对应的第一私钥,对第一密文进行解密得到用户密钥的明文或用户密钥的加密密钥明文。
在本申请的另一些实施例中,响应于用户端发起远程证明,密钥恢复服务器通过远程证明模块将第一公钥通过远程证明报告返回给远程证明代理模块,远程证明代理模块将第一公钥通过远程证明报告转发给用户端,以在用户端确认密钥恢复服务器的远程证明通过时、将第一公钥导入到安全密码模块。具体地,用户端的数据安全计算产品中的远程证明发起验证模块向密钥恢复服务器的普通计算环境中的远程证明代理模块发起验证,对密钥恢复服务器上的机密计算环境进行可信认证,密钥恢复服务器的普通计算环境中的远程证明代理模块再向密钥恢复服务器的机密计算环境中的远程证明模块发送远程证明报告请求,远程证明模块向远程证明代理模块返回证明报告,同时,也将第一公钥通过远程证明报告返回给远程证明代理模块,远程证明代理模块再向远程证明发起验证模块返回证明报告,并当远程证明通过后,把第一公钥及其公钥标识导入到用户端的数据安全计算产品的安全密码模块中。
在上述实施例中,通过远程证明报告返回第一公钥及其标识,且只有在远程证明通过后,才导入到用户端的安全密码模块中,可以进一步提升公钥的可信度。
可选的,在本申请的另一些实施例中,在用户端首次部署数据安全计算产品时,即可将第一公钥导入用户端。
在利用第一公私钥对执行上述实施方式的密钥恢复方法时,用户端可以先向密钥恢复服务器发起远程证明,以便通过远程证明验证密钥恢复服务器的机密计算环境。示例性地,远程证明通过,则代表密钥恢复服务器上的机密计算环境和在机密计算环境中运行的用户密钥辅助恢复服务是真实、完整、可信,用户端可以通过与密钥恢复服务器交互执行上述的密钥恢复方法。但若远程证明不通过,则终止当前的用户密钥恢复过程。
如此,在上述实施例用户密钥的恢复过程中,用户密钥始终处于密文状态,且用户密钥的明文只出现在密钥恢复服务器的机密计算环境和用户端的安全密码模块中,从而防止用户密钥泄露。
在某些实施例中,密钥恢复服务器也可以在普通计算环境中进行密钥恢复。
在本申请的另一些实施例中,密钥恢复请求包括用户身份凭据信息。响应于用户端发送的密钥恢复请求,密钥恢复服务器基于用户身份凭据信息对用户身份的真实性进行验证。若验证通过,基于密钥恢复服务器的第一私钥对用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文。
具体地,密钥恢复请求中还包括用户身份凭据信息,当用户端向密钥恢复服务器发送密钥恢复请求后,在密钥恢复服务器的机密计算环境的用户密钥辅助恢复服务中,通过密钥恢复请求中的用户身份凭据信息对用户身份的真实性进行验证,验证通过后,在密钥恢复服务器的密钥派生模块中找到第一公钥对应的第一私钥,利用第一私钥对密钥恢复请求中包含的第一密文进行解密,得到用户密钥的明文或者得到加密密钥的明文。
在某些实施例中,密钥恢复请求中也可以不包含用户身份凭据信息,密钥恢复服务器可以通过密钥派生模块中找到第一公钥对应的第一私钥,即可验证用户端。
本申请提供的另一种密钥恢复方法,该方法包括:用户端向密钥恢复服务器发起密钥恢复请求,密钥恢复请求包括用户端生成的第二公私钥对中的第二公钥。获取密钥恢复服务器基于密钥恢复请求处理得到的用户密钥的第二密文,第二密文是密钥恢复服务器利用用户端的第二公钥对用户密钥的明文或用户密钥的加密密钥明文进行加密而得到用户密钥的第二密文,用户密钥的明文或用户密钥的加密密钥明文是密钥恢复服务器响应于密钥恢复请求、利用密钥恢复服务器的第一私钥对用户端的第一密文进行处理而得到,第一密文是用户端利用密钥恢复服务器的第一公钥对用户密钥或加密密钥进行加密得到的,密钥恢复服务器的第一公钥与密钥恢复服务器的第一私钥相对应。利用第二公私钥对中的第二私钥对第二密文进行处理而得到用户密钥的明文。
在此实施例中,用户端的数据安全计算产品的安全密码模块利用密钥恢复服务器端的机密计算环境中的密钥派生模块生成的第一公钥,对用户密钥的明文或加密密钥的明文进行加密,得到第一密文,将第一密文和安全密码模块生成的第二公钥放置在密钥恢复请求中,将密钥恢复请求发送给密钥恢复服务器。密钥恢复服务器接收用户端发送的密钥恢复请求,找到第一公钥对应的第一私钥,对第一密文进行解密得到用户密钥的明文或加密密钥的明文,再利用第二公钥对用户密钥的明文或加密密钥的明文进行加密得到第二密文,并向用户端发送第二密文。用户端接收第二密文,并利用第二私钥对第二密文进行解密,得到用户密钥的明文或加密密钥的明文。同时,在此实施例的用户密钥的恢复过程中,不依赖用户口令等,需要用户记住或额外保管的信息,降低了用户安全运维的难度和成本,使得用户密钥在灾难场景下的可恢复性大大提升。
在本申请的另一些实施例中,用户端向密钥恢复服务器发起密钥恢复请求,之前包括:确认密钥恢复服务器是否处于机密计算环境。若处于,则向密钥恢复服务器发起密钥恢复请求,且密钥恢复请求还包括第一密文。
具体地,用户端的数据安全计算产品中的远程证明发起验证模块向密钥恢复服务器的普通计算环境中的远程证明代理模块发起验证,对密钥恢复服务器上的机密计算环境进行可信认证,密钥恢复服务器的普通计算环境中的远程证明代理模块再向密钥恢复服务器的机密计算环境中的远程证明模块发送远程证明报告请求,远程证明模块向远程证明代理模块返回证明报告,远程证明通过,则代表密钥恢复服务器上的机密计算环境和在机密计算环境中运行的用户密钥辅助恢复服务是真实、完整、可信,用户端可以通过密钥恢复服务器恢复密钥的明文,即向密钥恢复服务器发送密钥恢复请求。但若远程证明不通过,则终止当前的用户密钥恢复过程。
因此,在此实施例中,密钥恢复服务器的用户密钥恢复过程在机密计算环境中执行,密钥恢复服务器的管理人员、操作系统、恶意程序都无法获取用户密钥的明文,从而防止供应商侧管理人员和黑客窃取用户密钥。
进一步的,确认密钥恢复服务器是否处于机密计算环境,包括:基于与密钥恢复服务器和远程证明服务器之间的通信交互,确认密钥恢复服务器是否处于机密计算环境。即远程证明服务器向密钥恢复服务器验证其机密计算环境的真实性和完整性。
在本申请的另一些实施例中,用户端向密钥恢复服务器发起密钥恢复请求,之前包括:用户端利用用户密钥对用户数据进行加密,得到用户数据密文,用户端将第一密文和用户数据密文进行关联保存和/或关联备份。即:用户密钥在用户端上以密文形式进行备份保存。具体保存方式为,将第一密文与使用用户密钥加密的用户数据密文一起备份,使得第一密文和用户数据密文有相同的生命周期。
可选的,第一密文为用户端利用密钥恢复服务器的第一公钥对用户密钥进行加密得到的;用户端将第一密文和用户数据密文进行关联备份,包括:用户端将用户密钥备份数据和用户数据密文进行关联备份,用户密钥备份数据由第一密文和第一公钥的标识组成。
具体的,利用第一公钥对用户密钥的明文进行加密得到第一密文。第一公钥对应标识和第一密文组成用户密钥备份数据,且用户密钥备份数据与用户数据密文进行关联备份,即:当其中一方保存过程中失效或丢失时,另一方也会失效。
可选的,在本申请的另一些实施例中,第一密文为用户端利用密钥恢复服务器的第一公钥对用户密钥的加密密钥进行加密得到的;用户端将第一密文和用户数据密文进行关联备份,包括:用户端将用户密钥备份数据和用户数据密文进行关联备份,用户密钥备份数据由第一密文、第三密文和第一公钥的标识组成,第三密文为用户端利用加密密钥对用户密钥加密得到的密文。
具体的,利用加密密钥对用户密钥明文进行加密得到第三密文,再利用第一公钥对加密密钥的明文进行加密得到第一密文,第一密文、第三密文和第一公钥的标识组成用户密钥备份数据,且用户密钥备份数据与用户数据密文进行关联备份,即:当其中一方保存过程中失效或丢失使,另一方也会失效。
上述实施例使得用户密钥备份数据和用户数据密文有相同的生命周期,可以防止出现用户密钥加密的用户数据密文还在,但是用户密钥丢失的情形,且如果用户数据密文丢失了,用户密钥没有恢复的必要。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
请参阅图3,图3是本申请实施例的电子设备的结构示意图。电子设备60包括相互耦接的存储器61和处理器62,处理器62用于执行存储器61中存储的程序指令,以实现上述密钥恢复方法的实施例的步骤。在一个具体的实施场景中,电子设备60可以包括但不限于:微型计算机或密钥恢复服务器,在此不做限定。
具体而言,处理器62用于控制其自身以及存储器61以实现上述密钥恢复方法的实施例的步骤。处理器62还可以称为CPU(Central Processing Unit,中央处理单元),处理器62可能是一种集成电路芯片,具有信号的处理能力。处理器62还可以是通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application SpecificIntegrated Circuit, ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件或分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器62可以由集成电路芯片共同实现。
请参阅图4,图4是本申请实施例的非易失性计算机可读存储介质的结构示意图。非易失性计算机可读存储介质70用于存储计算机程序71,计算机程序71在被处理器62执行时,用于实现上述密钥恢复方法的实施例的步骤。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和相关设备,可以通过其它的方式实现。例如,以上所描述的相关设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信断开连接可以是通过一些接口,装置或单元的间接耦合或通信断开连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,密钥恢复服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)或磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员易知,可在保持本申请的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。

Claims (13)

1.一种密钥恢复方法,其特征在于,所述方法包括:
响应于用户端发送的密钥恢复请求,密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,所述第一密文是所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥或所述加密密钥进行加密得到的,所述密钥恢复服务器的第一公钥与所述密钥恢复服务器的第一私钥相对应;
利用所述用户端的第二公钥对所述用户密钥的明文或用户密钥的加密密钥明文进行加密而得到所述用户密钥的第二密文;
将所述第二密文发送给用户端,以使所述用户端利用与所述第二公钥相对应的第二私钥对所述第二密文进行处理而得到所述用户密钥的明文。
2.根据权利要求1所述的密钥恢复方法,其特征在于,所述密钥恢复请求包括所述用户端生成的第二公私钥对中的第二公钥和所述第一密文,
所述第一密文为所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥进行加密得到的;所述密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,包括:所述密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行解密得到用户密钥的明文;或,
所述密钥恢复请求还包括第三密文,所述第三密文为所述用户端利用所述加密密钥对所述用户密钥加密得到的密文,所述第一密文为所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥的加密密钥进行加密得到的;所述密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,包括:所述密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行解密得到用户密钥的加密密钥明文;所述密钥恢复服务器利用所述加密密钥明文对所述第三密文进行解密得到所述用户密钥的明文。
3.根据权利要求1所述的密钥恢复方法,其特征在于,所述方法还包括:
所述密钥恢复服务器在机密计算环境中生成第一公私钥对;
响应于所述用户端发起远程证明,所述密钥恢复服务器通过远程证明报告将所述第一公钥发送给所述用户端,以在所述用户端确认所述密钥恢复服务器的远程证明通过时、将所述第一公钥导入到安全密码模块。
4.根据权利要求3所述的密钥恢复方法,其特征在于,
所述密钥恢复服务器在机密计算环境中生成第一公私钥对,包括:所述密钥恢复服务器在机密计算环境中生成第一公私钥对及其标识;
所述密钥恢复服务器通过远程证明报告将所述第一公钥发送给所述用户端,以在所述用户端确认所述密钥恢复服务器的远程证明通过时、将所述第一公钥导入到安全密码模块,包括:所述密钥恢复服务器通过远程证明报告将所述第一公钥及其标识发送给所述用户端,以在所述用户端确认所述密钥恢复服务器的远程证明通过时、将所述第一公钥及其标识导入到安全密码模块;
所述密钥恢复请求包括所述第一公钥的标识,所述密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,包括:所述密钥恢复服务器利用所述第一公钥的标识获取到所述第一私钥。
5.根据权利要求3所述的密钥恢复方法,其特征在于,
所述密钥恢复服务器调用密钥派生模块生成第一公私钥对;
响应于所述用户端发起远程证明,所述密钥恢复服务器通过远程证明模块将所述第一公钥通过远程证明报告返回给远程证明代理模块,所述远程证明代理模块将所述第一公钥通过远程证明报告转发给所述用户端,以在所述用户端确认所述密钥恢复服务器的远程证明通过时、将所述第一公钥导入到安全密码模块,
其中,所述密钥派生模块和所述远程证明模块部署在所述密钥恢复服务器的机密计算环境,所述远程证明代理模块部署在所述密钥恢复服务器的普通计算环境。
6.根据权利要求1所述的密钥恢复方法,其特征在于,所述密钥恢复请求包括用户身份凭据信息;
所述响应于用户端发送的密钥恢复请求,密钥恢复服务器基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文,包括:
响应于用户端发送的密钥恢复请求,所述密钥恢复服务器基于所述用户身份凭据信息对用户身份的真实性进行验证;
若验证通过,基于密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到用户密钥的明文或用户密钥的加密密钥明文。
7.一种密钥恢复方法,其特征在于,所述方法包括:
用户端向密钥恢复服务器发起密钥恢复请求,所述密钥恢复请求包括所述用户端生成的第二公私钥对中的第二公钥;
获取所述密钥恢复服务器基于所述密钥恢复请求处理得到的用户密钥的第二密文,所述第二密文是所述密钥恢复服务器利用所述用户端的第二公钥对所述用户密钥的明文或用户密钥的加密密钥明文进行加密而得到所述用户密钥的第二密文,所述用户密钥的明文或用户密钥的加密密钥明文是所述密钥恢复服务器响应于所述密钥恢复请求、利用密钥恢复服务器的第一私钥对所述用户端的第一密文进行处理而得到,所述第一密文是所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥或所述加密密钥进行加密得到的,所述密钥恢复服务器的第一公钥与所述密钥恢复服务器的第一私钥相对应;
利用所述第二公私钥对中的第二私钥对所述第二密文进行处理而得到所述用户密钥的明文。
8.根据权利要求7所述的密钥恢复方法,其特征在于,所述用户端向密钥恢复服务器发起密钥恢复请求,之前包括:
确认所述密钥恢复服务器是否处于机密计算环境;
若处于,则向密钥恢复服务器发起密钥恢复请求,且所述密钥恢复请求还包括所述第一密文。
9.根据权利要求8所述的密钥恢复方法,其特征在于,所述确认所述密钥恢复服务器是否处于机密计算环境,包括:
基于与所述密钥恢复服务器和远程证明服务器之间的通信交互,确认所述密钥恢复服务器是否处于机密计算环境。
10.根据权利要求7所述的密钥恢复方法,其特征在于,所述用户端向密钥恢复服务器发起密钥恢复请求,之前包括:
所述用户端利用所述用户密钥对用户数据进行加密,得到用户数据密文;
所述用户端将所述第一密文和所述用户数据密文进行关联备份。
11.根据权利要求10所述的密钥恢复方法,其特征在于,
所述第一密文为所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥进行加密得到的;所述用户端将所述第一密文和所述用户数据密文进行关联备份,包括:所述用户端将所述用户密钥备份数据和所述用户数据密文进行关联备份,所述用户密钥备份数据由所述第一密文和所述第一公钥的标识组成;或,
所述第一密文为所述用户端利用所述密钥恢复服务器的第一公钥对所述用户密钥的加密密钥进行加密得到的;所述用户端将所述第一密文和所述用户数据密文进行关联备份,包括:所述用户端将所述用户密钥备份数据和所述用户数据密文进行关联备份,所述用户密钥备份数据由所述第一密文、第三密文和所述第一公钥的标识组成,所述第三密文为所述用户端利用所述加密密钥对所述用户密钥加密得到的密文。
12.一种电子设备,其特征在于,包括存储器和处理器,所述存储器与所述处理器相互耦接,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至11任一项所述的密钥恢复方法。
13.一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时以实现权利要求1至11任一项所述的密钥恢复方法。
CN202310805850.8A 2023-07-03 2023-07-03 密钥恢复方法、电子设备、存储介质 Pending CN116527261A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310805850.8A CN116527261A (zh) 2023-07-03 2023-07-03 密钥恢复方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310805850.8A CN116527261A (zh) 2023-07-03 2023-07-03 密钥恢复方法、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN116527261A true CN116527261A (zh) 2023-08-01

Family

ID=87401561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310805850.8A Pending CN116527261A (zh) 2023-07-03 2023-07-03 密钥恢复方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116527261A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112488685A (zh) * 2020-12-23 2021-03-12 杨宁波 一种用于区块链的用户私钥保护方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567780A (zh) * 2009-03-20 2009-10-28 武汉理工大学 一种针对加密数字证书的密钥管理与恢复方法
US20110293098A1 (en) * 2010-05-28 2011-12-01 Christina Fu Key recovery mechanism
CN103248476A (zh) * 2013-05-02 2013-08-14 华为数字技术(苏州)有限公司 数据加密密钥的管理方法、系统及终端
CN107171796A (zh) * 2017-06-27 2017-09-15 济南浪潮高新科技投资发展有限公司 一种多kmc密钥恢复方法
CN107528688A (zh) * 2017-09-30 2017-12-29 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
CN109379189A (zh) * 2018-12-17 2019-02-22 江苏恒宝智能系统技术有限公司 区块链账户密钥备份及恢复方法、装置、终端及系统
CN109922084A (zh) * 2019-04-10 2019-06-21 北京阿尔山区块链联盟科技有限公司 密钥管理方法、装置以及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567780A (zh) * 2009-03-20 2009-10-28 武汉理工大学 一种针对加密数字证书的密钥管理与恢复方法
US20110293098A1 (en) * 2010-05-28 2011-12-01 Christina Fu Key recovery mechanism
CN103248476A (zh) * 2013-05-02 2013-08-14 华为数字技术(苏州)有限公司 数据加密密钥的管理方法、系统及终端
CN107171796A (zh) * 2017-06-27 2017-09-15 济南浪潮高新科技投资发展有限公司 一种多kmc密钥恢复方法
CN107528688A (zh) * 2017-09-30 2017-12-29 矩阵元技术(深圳)有限公司 一种基于加密委托技术的区块链密钥保管及恢复方法、装置
CN109379189A (zh) * 2018-12-17 2019-02-22 江苏恒宝智能系统技术有限公司 区块链账户密钥备份及恢复方法、装置、终端及系统
CN109922084A (zh) * 2019-04-10 2019-06-21 北京阿尔山区块链联盟科技有限公司 密钥管理方法、装置以及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112488685A (zh) * 2020-12-23 2021-03-12 杨宁波 一种用于区块链的用户私钥保护方法
CN112488685B (zh) * 2020-12-23 2023-12-12 杨宁波 一种用于区块链的用户私钥保护方法

Similar Documents

Publication Publication Date Title
CN109361668B (zh) 一种数据可信传输方法
CN109728909B (zh) 基于USBKey的身份认证方法和系统
US11729612B2 (en) Secure BLE just works pairing method against man-in-the-middle attack
WO2018050081A1 (zh) 设备身份认证的方法、装置、电子设备及存储介质
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
US20160080157A1 (en) Network authentication method for secure electronic transactions
US9531540B2 (en) Secure token-based signature schemes using look-up tables
CN109981562B (zh) 一种软件开发工具包授权方法及装置
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US10263782B2 (en) Soft-token authentication system
Lounis et al. Bad-token: denial of service attacks on WPA3
WO2022022009A1 (zh) 消息处理方法、装置、设备及存储介质
CN111030814A (zh) 秘钥协商方法及装置
CN109525565B (zh) 一种针对短信拦截攻击的防御方法及系统
CN113626802B (zh) 一种设备密码的登录验证系统及方法
WO2014038926A1 (en) A system and method of mutual trusted authentication and identity encryption
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
CN114244522B (zh) 信息保护方法、装置、电子设备及计算机可读存储介质
CN113472793A (zh) 一种基于硬件密码设备的个人数据保护系统
CN112765626A (zh) 基于托管密钥授权签名方法、装置、系统及存储介质
CN116527261A (zh) 密钥恢复方法、电子设备、存储介质
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
WO2022042198A1 (zh) 身份验证方法、装置、计算机设备和存储介质
CN109891823B (zh) 用于凭证加密的方法、系统以及非暂态计算机可读介质
CN112491933A (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