CN113890731B - 一种密钥管理方法、装置、电子设备及存储介质 - Google Patents

一种密钥管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113890731B
CN113890731B CN202111150740.XA CN202111150740A CN113890731B CN 113890731 B CN113890731 B CN 113890731B CN 202111150740 A CN202111150740 A CN 202111150740A CN 113890731 B CN113890731 B CN 113890731B
Authority
CN
China
Prior art keywords
key
component
components
ciphertext
ciphertext data
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
CN202111150740.XA
Other languages
English (en)
Other versions
CN113890731A (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111150740.XA priority Critical patent/CN113890731B/zh
Publication of CN113890731A publication Critical patent/CN113890731A/zh
Application granted granted Critical
Publication of CN113890731B publication Critical patent/CN113890731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种密钥管理方法、装置、电子设备及存储介质,该方法包括:获取多个密钥分量的密文数据,并对多个密钥分量的密文数据进行解密,获得多个密钥分量;使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,获得主密钥。在上述的实现过程中,通过获取事先对主密钥进行门限秘密分割后的多个密钥分量的密文数据,然后使用秘密共享密码机制中的门限方案对所述多个密钥分量进行恢复,使得主密钥的存储和恢复不需要依赖可信区域技术或者硬件技术的,也避免了以明文存储的方式存储主密钥,同时利用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。

Description

一种密钥管理方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及计算机安全和信息加密安全的技术领域,具体而言,涉及一种密钥管理方法、装置、电子设备及存储介质。
背景技术
主密钥(Master Key),是指电子设备上用于保护其它类型密钥的安全传输和存储的密钥,此处的其它类型密钥例如:应用程序使用的通信密钥或者数据存储密钥等等。
目前,主密钥的存储和恢复都是基于明文存储的方式或者基于可信执行环境(Trusted Execution Environment,TEE)来保证主密钥的存储安全和使用安全的,具体例如:采用高级精简指令集计算机(Reduced Instruction Set Computer,RISC)机器(Advanced RISC Machines,ARM)的可信区域(Trust Zone)技术来实现可信执行环境,并在可信执行环境中存储和恢复电子设备的主密钥。
发明内容
本申请实施例的目的在于提供一种密钥管理方法、装置、电子设备及存储介质,用于改善主密钥在存储和恢复过程中的安全性不够的问题。
本申请实施例提供了一种密钥管理方法,应用于电子设备,包括:获取多个密钥分量的密文数据,并对多个密钥分量的密文数据进行解密,获得多个密钥分量,其中,多个密钥分量是对主密钥进行门限秘密分割后的密钥分量中挑选出的;使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,获得主密钥。在上述的实现过程中,通过获取事先对主密钥进行门限秘密分割后的多个密钥分量的密文数据,然后使用秘密共享密码机制中的门限方案对所述多个密钥分量进行恢复,使得主密钥的存储和恢复不需要依赖可信区域技术或者硬件技术的,也避免了以明文存储的方式存储主密钥,同时利用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。
可选地,在本申请实施例中,多个密钥分量包括:第一密钥分量;对多个密钥分量的密文数据进行解密,获得多个密钥分量,包括:获取第一管理用户输入的原始密钥,并根据原始密钥派生出用于加密第一密钥分量的第一加密密钥;使用第一加密密钥对第一密钥分量的密文数据进行解密,获得第一密钥分量。在上述的实现过程中,相较于直接存储完整主密钥,或者主密钥分割后进行分量存储但并未做安全性处理的方式,通过根据原始密钥派生出用于加密第一密钥分量的第一加密密钥,并使用第一加密密钥对第一密钥分量的密文数据进行解密,从而避免了以明文存储的方式存储主密钥,同时利用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。
可选地,在本申请实施例中,多个密钥分量包括:第二密钥分量;获取多个密钥分量的密文数据,并对多个密钥分量的密文数据进行解密,获得多个密钥分量,包括:获取钥匙设备发送的第二密钥分量的密文数据,以及第二密钥分量对应的第二加密密钥;使用第二加密密钥对第二密钥分量的密文数据进行解密,获得第二密钥分量。在上述的实现过程中,相较于直接存储完整主密钥,或者主密钥分割后进行分量存储但并未做安全性处理的方式,通过分开存储多个密钥分量的密文数据,在需要使用密钥分量的时候才从钥匙设备中获取并解密第二密钥分量的密文数据,从而避免了以明文存储的方式存储主密钥,且避免了两个密钥分量同时存放在相同的设备上,使用外部强安全存储介质与电子设备存储相结合的方式增加了主密钥被破解的难度;与此同时,利用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。
可选地,在本申请实施例中,第二加密密钥为随机密钥;获取钥匙设备发送的第二密钥分量的密文数据,以及第二密钥分量对应的第二加密密钥,包括:接收钥匙设备发送的数字信封,数字信封包括:随机密钥密文和第二密钥分量的密文数据,第二密钥分量的密文数据是钥匙设备使用随机密钥对第二密钥分量进行加密获得的;获取电子设备的设备私钥,并使用设备私钥对随机密钥密文进行解密,获得随机密钥,随机密钥密文是钥匙设备使用设备私钥对应的设备公钥加密获得的。在上述的实现过程中,通过数字信封这种嵌套加密的方式有效地增加了主密钥被破解的难度,且使用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。
可选地,在本申请实施例中,电子设备上存储有设备私钥的密文数据;获取电子设备的设备私钥,包括:使用第一密钥分量对设备私钥的密文数据进行解密,获得设备私钥,设备私钥的密文数据是使用第一密钥分量派生出的加密密钥加密获得的。在上述的实现过程中,通过主密钥相关的第一密钥分量来加密设备私钥,从而以加密形式存储设备私钥的密文数据,有效地增加了设备私钥的密文数据被攻击者破解的难度,且使用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。
可选地,在本申请实施例中,在接收钥匙设备发送的数字信封之前,还包括:获取钥匙设备的钥匙公钥;使用钥匙公钥对第二密钥分量进行加密,获得第二密钥密文;向钥匙设备发送第二密钥密文,以使钥匙设备使用钥匙公钥对应的钥匙私钥对第二密钥密文进行解密,获得第二密钥分量。
可选地,在本申请实施例中,分割后的密钥分量的数量为正整数m,多个密钥分量的数量为正整数n;其中,m和n满足的条件为n≥2m-1且m>n/2。
本申请实施例还提供了一种密钥管理装置,应用于电子设备,包括:密钥密文获取模块,用于获取多个密钥分量的密文数据,并对多个密钥分量的密文数据进行解密,获得多个密钥分量,其中,多个密钥分量是对主密钥进行门限秘密分割后的密钥分量中挑选出的;密钥分量恢复模块,用于使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,获得主密钥。
可选地,在本申请实施例中,多个密钥分量包括:第一密钥分量;密钥密文获取模块,包括:原始密钥派生模块,用于获取第一管理用户输入的原始密钥,并根据原始密钥派生出用于加密第一密钥分量的第一加密密钥;第一密钥获得模块,用于使用第一加密密钥对第一密钥分量的密文数据进行解密,获得第一密钥分量。
可选地,在本申请实施例中,多个密钥分量包括:第二密钥分量;密钥密文获取模块,包括:加密密钥获取模块,用于获取钥匙设备发送的第二密钥分量的密文数据,以及第二密钥分量对应的第二加密密钥;第二密钥获得模块,用于使用第二加密密钥对第二密钥分量的密文数据进行解密,获得第二密钥分量。
可选地,在本申请实施例中,第二加密密钥为随机密钥;加密密钥获取模块,包括:数字信封接收模块,用于接收钥匙设备发送的数字信封,数字信封包括:随机密钥密文和第二密钥分量的密文数据,第二密钥分量的密文数据是钥匙设备使用随机密钥对第二密钥分量进行加密获得的;随机密钥获取模块,用于获取电子设备的设备私钥,并使用设备私钥对随机密钥密文进行解密,获得随机密钥,随机密钥密文是钥匙设备使用设备私钥对应的设备公钥加密获得的。
可选地,在本申请实施例中,电子设备上存储有设备私钥的密文数据;随机密钥获取模块,包括:设备私钥获得模块,用于使用第一密钥分量对设备私钥的密文数据进行解密,获得设备私钥,设备私钥的密文数据是使用第一密钥分量派生出的加密密钥加密获得的。
可选地,在本申请实施例中,密钥管理装置,还包括:钥匙公钥获取模块,用于获取钥匙设备的钥匙公钥;密钥密文获得模块,用于使用钥匙公钥对第二密钥分量进行加密,获得第二密钥密文;密钥密文发送模块,用于向钥匙设备发送第二密钥密文,以使钥匙设备使用钥匙公钥对应的钥匙私钥对第二密钥密文进行解密,获得第二密钥分量。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的采用分层次存储的密钥结构示意图;
图2示出的本申请实施例提供的密钥管理方法的流程示意图;
图3示出的本申请实施例提供的密钥管理装置的结构示意图;
图4示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例的选定实施例。基于本申请实施例的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在介绍本申请实施例提供的密钥管理方法之前,先介绍本申请实施例中所涉及的一些概念:
秘密分割(secret splitting)是一种信息安全保护措施,是指将秘密信息分割成许多碎片,每一碎片本身并不能代表什么,但把它们放到一起,秘密信息就会重现出来。
对称加密算法(Symmetric-key algorithm),又称为对称加密或者共享密钥加密,是指加密和解密使用相同密钥的加密算法,也就是说,加密和解密时使用的通信双方均知晓的加密密码。
非对称加密算法是指加密和解密使用不同密钥的加密算法,也称为公私钥加密,也就是说,加密和解密时使用的是加密密钥,加密密钥包括公钥和私钥,公钥是公开的密钥,私钥是非公开的密钥。
需要说明的是,本申请实施例提供的密钥管理方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的终端设备或者上述的服务器,终端设备例如:专用密码设备(又被简称为密码设备)、智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)或者移动上网设备(mobileInternet device,MID)等。服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。其中,密码设备是以密码技术为基础开发的专用于密码运算的平台,是一种在密钥作用下,实现明文到密文变换或者密文到明文变换的设备。
下面介绍该密钥管理方法适用的应用场景,这里的应用场景包括但不限于:使用该密钥管理方法增加电子设备上存储的主密钥的安全性,具体例如:使用该密钥管理方法保护密码设备中的主密钥的存储和使用的安全,将主密钥的存储安全和使用安全依赖于ARM的可信区域技术是相对安全的,但是相对于ARM公司来说,ARM公司可以通过可信区域技术的漏洞很容易窃取可信区域中存储的主密钥。因此,目前的主密钥在存储和恢复过程中的安全性是不够的,且可以使用该密钥管理方法增加电子设备上存储的主密钥的安全性等。
请参见图1示出的本申请实施例提供的采用分层次存储的密钥结构示意图;可以理解的是,密码设备是用于加密的电子设备,该电子设备都是采用分层次的密钥结构,通过上层密钥来加密下层密钥,从而保护下层密钥的安全性。如果上层密钥的安全性被破坏,那么下层密钥的安全性也很容易被破坏,因此,最基础且最重要的上层密钥被称为主密钥。主密钥可以用于保护次主密钥,即使用主密钥来加密次主密钥,从而使得次主密钥在传输和存储过程中都是安全状态的目的。同理地,次主密钥可以用来加密数据密钥,使得数据密钥在传输和存储过程中都是安全状态。为了主密钥的安全考虑,主密钥的存储应该采用强安全措施,即不能以明文的方式出现在电子设备的外部环境,且在电子设备的内部环境也是以加密方式存储的。
在电子设备获取多个密钥分量的密文数据之前,先介绍主密钥进行安全存储的过程,该过程需要对主密钥进行门限秘密分割,并从分割后的密钥分量中挑选出上面的多个密钥分量。假设对主密钥进行门限秘密分割后的密钥分量的数量为正整数m,多个密钥分量的数量为正整数n;其中,m和n满足的条件为n≥2m-1且m>n/2。上面的m和n是可以根据具体情况来调整和设置的,可以将其中一个密钥分量(例如value1)加密存储在电子设备中(即存储的是第一密钥分量的密文数据),其余的密钥分量(例如value2或value3等)分别加密存储在不同的钥匙设备中(即将其他密钥分量的密文数据分别存储在其它不同的钥匙设备中)。具体例如:假设m设置为3,即将主密钥进行门限秘密分割为3个密钥分量,n为4(即总共生成4个密钥分量),则可以将其中一个密钥分量直接丢弃或者删除,留下3个密钥分量,这3个密钥分量分别是:第一密钥分量、第二密钥分量和第三密钥分量,然后将第一密钥分量加密存储在电子设备中,并将第二密钥分量和第三密钥分量分别加密存储在不同的钥匙设备中。当然在具体实践中,也可以设置更多数量的密钥分量,并将密钥分量分别存储于不同设备中,其原理都是类似的,或者,加密保存备用密钥分量。
上面的例子又例如将m设置为3,即将主密钥进行门限秘密分割为3个密钥分量,可以将其中一个密钥分量直接丢弃或者删除,留下第一密钥分量和第二密钥分量,在需要使用主密钥时,可以使用秘密共享密码机制中的门限方案根据第一密钥分量和第二密钥分量恢复出上面的主密钥。当然在具体实践过程中,也可以加密保存一个备用密钥分量,以免存在其它密钥分量丢失或者不可恢复的情况出现。
上述主密钥进行安全存储的过程具体例如:首先在可信执行环境(TrustedExecution Environment,TEE)中使用非对称加密算法生成代表该电子设备的公私钥对,其中,一般采用的非对称加密算法例如:RSA和SM2等等。该公私钥对可以表示为(PubKey_HSM、PriKey_HSM),即PubKey_HSM表示电子设备中硬件安全模块(Hardware Security Module,HSM)的设备公钥(Public Key,PubKey),且PriKey_HSM表示电子设备中硬件安全模块(HSM)的设备私钥(Private Key,PriKey)。采用Shamir算法等门限秘密分割(2,3)的机制(表示分割为3个密钥分量,获取3个中的2个密钥分量即可还原出主密钥),将主密钥Key_HSM进行分割,得到共3份分量值,分别为第一密钥分量(表示为Value1)、第二密钥分量(表示为Value2)、第三密钥分量(表示为Value3),在实际中可以使用Value1和Value2即可,直接将Value3丢弃或者删除。然后,将Value1和Value2均以密文数据的形式分别存储在电子设备(例如密码设备)和钥匙设备中,针对Value2具体可以采用钥匙设备的钥匙公钥对Value2进行加密,传输给钥匙设备,以使钥匙设备利用其钥匙私钥对接收到的数据进行解密,获得Value2。在具体实践过程中,还可以将上面的设备私钥PriKey_HSM以密文数据的方式进行存储,具体例如:在获得Value1时,使用密钥派生算法(例如X9.63_KDF算法)对Value1进行派生,获得用于对私钥PriKey_HSM加密的加密密钥EncKey_Value1,然后,使用该加密密钥EncKey_Value1对设备私钥PriKey_HSM进行对称加密,获得的私钥密文可以表示为Cipher_PriKey。其中,可以使用的对称加密算法:SM4、SM1、DES、3DES、RC4、RC5、RC6和AES等,此处的SM4和SM1是国密算法。
下面介绍电子设备获取密钥分量的密文数据,并对密钥分量的密文数据进行解密获得密钥分量(Value1和Value2),并使用Value1和Value2还原出主密钥的过程。
请参见图2示出的本申请实施例提供的密钥管理方法的流程示意图;该密钥管理方法可以应用于电子设备,该密钥管理方法的主要思路是,通过获取事先对主密钥进行门限秘密分割后的多个密钥分量的密文数据,然后使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,使得主密钥的存储和恢复不需要依赖可信区域技术或者硬件技术的,也避免了以明文存储的方式存储主密钥,同时利用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。上述的密钥管理方法可以包括:
步骤S110:电子设备获取多个密钥分量的密文数据,并对多个密钥分量的密文数据进行解密,获得多个密钥分量,其中,多个密钥分量是对主密钥进行门限秘密分割后的密钥分量中挑选出的。
上述的步骤S110的实施方式有很多种,包括但不限于如下几种:
第一种实施方式,由电子设备来获取管理员的原始密钥,并使用原始密钥派生的密钥来解密其中一个密钥分量的密文数据,该实施方式包括:
步骤S111:电子设备获取多个密钥分量的密文数据,并获取第一管理用户输入的原始密钥,然后根据原始密钥派生出用于加密第一密钥分量的第一加密密钥。
上述步骤S111的实施方式例如:电子设备获取多个密钥分量的密文数据(包括第一密钥分量的密文数据,可以表示为Cipher_Value1),并获取第一管理用户(可以表示为admin1)输入的原始密钥(可以表示为OriKey),并使用密钥派生算法(例如X9.63_KDF算法)对原始密钥OriKey进行派生,从而派生出用于加密第一密钥分量的第一加密密钥,此处的第一加密密钥可以表示为EncKey_OriKey。
步骤S112:使用第一加密密钥对第一密钥分量的密文数据进行解密,获得第一密钥分量。
上述步骤S112的实施方式例如:使用第一加密密钥EncKey_OriKey对第一密钥分量的密文数据(即Cipher_Value1)进行解密,获得第一密钥分量(即Value1)。在具体实践过程中,还可以使用密钥派生算法(例如X9.63_KDF算法)对第一密钥分量(即Value1)进行派生,获得用于解密私钥PriKey_HSM的加密密钥EncKey_Value1,然后,使用该加密密钥EncKey_Value1对私钥密文Cipher_PriKey进行解密,获得明文形式的私钥PriKey_HSM。
第二种实施方式,由钥匙设备来获取加密密钥,并通过电子设备来接收并使用该加密密钥来解密其中一个密钥分量的密文数据,该实施方式包括:
步骤S113:获取钥匙设备发送的第二密钥分量的密文数据,以及第二密钥分量对应的第二加密密钥。
其中,上述的第二加密密钥可以是随机密钥。
可以理解的是,在钥匙设备发送的第二密钥分量的密文数据之前,还需要先获取第二密钥分量,获取第二密钥分量的方式包括但不限于:在电子设备(例如密码设备)上被插入智能的钥匙设备后,第二管理员(表示为admin2)在电子设备或者钥匙设备上输入个人识别码(Personal Identification Number,PIN)之后,钥匙设备才能向电子设备发送加密后的钥匙公钥。电子设备接收钥匙设备加密后发送的钥匙公钥,然后解密后获取钥匙设备的钥匙公钥。使用钥匙公钥对第二密钥分量进行加密,获得第二密钥密文。电子设备向钥匙设备发送第二密钥密文,以使钥匙设备使用钥匙公钥对应的钥匙私钥对第二密钥密文进行解密,获得第二密钥分量。此处的钥匙设备获取电子设备发送的第二密钥密文的作用有两个:第一,为了安全存储该第二密钥密文;第二,为了后续进行主密钥恢复时,可以通过数字信封的形式发送至电子设备;也就是说,在数字信封转换的过程中,需要先让钥匙设备使用钥匙私钥解密出第二密钥分量的明文,然后再使用随机密钥加密第二密钥分量的明文,而该随机密钥在传输过程中本身是需要使用电子设备的设备公钥加密后传输的,从而进一步增加了数据传输过程的安全性。
上述步骤S113中的第二密钥分量的密文数据和第二加密密钥的获取方式有很多种:第一种获取方式,以数字信封(Digital Envelope)的方式获取,具体例如:钥匙设备先使用钥匙私钥PriKey_Ukey对第二密钥密文进行解密获得第二密钥分量(Value2)的明文数据,再生成随机对称密钥(表示为Key_Random),使用该随机对称密钥(Key_Random)对第二密钥分量(Value2)进行加密,获得第二密钥分量的密文数据(表示为CipherRdm_Value2);再获取电子设备(例如密码设备)的设备公钥PubKey_HSM,并使用该设备公钥PubKey_HSM加密该随机密钥(Key_Random)得到随机密钥密文(表示为Cipher_KeyRdm);最后,按照数字信封的格式将该设备公钥(表示为PubKey_HSM)、第二密钥分量的密文数据(CipherRdm_Value2)和随机密钥密文(Cipher_KeyRdm)封装为数字信封(表示为Digital_Value2)。电子设备接收钥匙设备发送的数字信封(Digital_Value2),数字信封包括:随机密钥密文(Cipher_KeyRdm)和第二密钥分量的密文数据(CipherRdm_Value2),值得注意的是,该第二密钥分量的密文数据(CipherRdm_Value2)是钥匙设备使用随机密钥(Key_Random)对第二密钥分量(Value2)进行加密获得的。
步骤S114:使用第二加密密钥对第二密钥分量的密文数据进行解密,获得第二密钥分量。
可以理解的是,第二加密密钥可以采用对称加密算法中的密钥,具体可以采用上述的随机密钥(Key_Random),当然也可以采用非对称加密算法中的私钥或者公钥等,下面以随机密钥(Key_Random)作为第二加密密钥为例进行说明。
上述步骤S114的实施方式例如:电子设备在接收到该数字信封(Digital_Value2)之后,先将该数字信封解封,获得随机密钥密文(Cipher_KeyRdm)和第二密钥分量的密文数据(CipherRdm_Value2)。然后,获取电子设备的设备私钥(PriKey_HSM),并使用设备私钥(PriKey_HSM)对随机密钥密文(Cipher_KeyRdm)进行解密,获得随机密钥(Key_Random),随机密钥密文是在钥匙设备内使用设备私钥对应的设备公钥加密获得的。最后,使用该随机密钥(Key_Random)对第二密钥分量的密文数据(CipherRdm_Value2)进行解密,获得第二密钥分量(Value2)的明文数据。上述的获取电子设备的设备私钥的具体过程例如:使用第一密钥分量(Value1)以及第一密钥分量派生出的加密密钥(EncKey_Value1)对设备私钥的密文数据进行解密,获得设备私钥(PriKey_HSM),设备私钥的密文数据是使用第一密钥分量派生出的加密密钥(EncKey_Value1)加密获得的。
在步骤S110之后,执行步骤S120:使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,获得主密钥。
上述步骤S120的实施方式例如:假设共获取到第一密钥分量(Value1)和第二密钥分量(Value2),且第一密钥分量和第二密钥分量是采用Shamir算法等门限秘密分割(2,3)的机制分割的(第三密钥分量Value3可以被丢弃或者删除),因此,可以使用秘密共享密码机制中的门限方案对第一密钥分量和第二密钥分量进行恢复,获得恢复出的主密钥。
可以理解的是,将电子设备上的主密钥使用秘密共享密码机制中的门限方案(例如Shamir算法等等)进行分割,将分割产生的一分部分量加密存储在密码设备中(例如第一密钥分量的密文数据),主密钥分割产生的另外一部分分量加密存储在智能密码钥匙中(例如第二密钥分量的密文数据),在需要使用时通过数字信封的方式进行交换,保证了数据在传输过程中的安全性。因此,通过分开加密存储部分密钥分量在不同的物理安全介质中,这种方式增加了获取完整的主密钥明文的难度,有效地解决了主密钥安全存储的问题。在电子设备上的主密钥需要使用时,由于其他密钥(例如次主密钥和数据密钥)是由主密钥进行加密存储的,所以需要通过主密钥解密后才能使用。然而,主密钥需要密钥派生、对称加解密、非对称加解密、数字信封封装和数字信封解封等过程,这些过程均是在电子设备内部进行的,这些过程增加了获取完整的主密钥明文的难度,从而保证了主密钥在使用过程中的安全性。
在上述的实现过程中,通过获取事先对主密钥进行门限秘密分割后的多个密钥分量的密文数据,然后使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,使得主密钥的存储和恢复不需要依赖可信区域技术或者硬件技术的,也避免了以明文存储的方式存储主密钥,同时利用密码学中的密钥分量解密难度和门限秘密分割方法来增加主密钥在存储和恢复过程中的安全性。
请参见图3示出的本申请实施例提供的密钥管理装置的结构示意图;本申请实施例提供了一种密钥管理装置200,应用于电子设备,包括:
密钥密文获取模块210,用于获取多个密钥分量的密文数据,并对多个密钥分量的密文数据进行解密,获得多个密钥分量,其中,多个密钥分量是对主密钥进行门限秘密分割后的密钥分量中挑选出的。
密钥分量恢复模块220,用于使用秘密共享密码机制中的门限方案对多个密钥分量进行恢复,获得主密钥。
可选地,在本申请实施例中,多个密钥分量包括:第一密钥分量;密钥密文获取模块,包括:
原始密钥派生模块,用于获取第一管理用户输入的原始密钥,并根据原始密钥派生出用于加密第一密钥分量的第一加密密钥。
第一密钥获得模块,用于使用第一加密密钥对第一密钥分量的密文数据进行解密,获得第一密钥分量。
可选地,在本申请实施例中,多个密钥分量包括:第二密钥分量;密钥密文获取模块,包括:
加密密钥获取模块,用于获取钥匙设备发送的第二密钥分量的密文数据,以及第二密钥分量对应的第二加密密钥。
第二密钥获得模块,用于使用第二加密密钥对第二密钥分量的密文数据进行解密,获得第二密钥分量。
可选地,在本申请实施例中,第二加密密钥为随机密钥;加密密钥获取模块,包括:
数字信封接收模块,用于接收钥匙设备发送的数字信封,数字信封包括:随机密钥密文和第二密钥分量的密文数据,第二密钥分量的密文数据是钥匙设备使用随机密钥对第二密钥分量进行加密获得的。
随机密钥获取模块,用于获取电子设备的设备私钥,并使用设备私钥对随机密钥密文进行解密,获得随机密钥,随机密钥密文是钥匙设备使用设备私钥对应的设备公钥加密获得的。
可选地,在本申请实施例中,电子设备上存储有设备私钥的密文数据;随机密钥获取模块,包括:
设备私钥获得模块,用于使用第一密钥分量对设备私钥的密文数据进行解密,获得设备私钥,设备私钥的密文数据是使用第一密钥分量派生出的加密密钥加密获得的。
可选地,在本申请实施例中,密钥管理装置,还包括:
钥匙公钥获取模块,用于获取钥匙设备的钥匙公钥。
密钥密文获得模块,用于使用钥匙公钥对第二密钥分量进行加密,获得第二密钥密文。
密钥密文发送模块,用于向钥匙设备发送第二密钥密文,以使钥匙设备使用钥匙公钥对应的钥匙私钥对第二密钥密文进行解密,获得第二密钥分量。
可选地,在本申请实施例中,分割后的密钥分量的数量为正整数m,多个密钥分量的数量为正整数n;其中,m和n满足的条件为n≥2m-1且m>n/2。
应理解的是,该装置与上述的密钥管理方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图4示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质330,该计算机可读存储介质330上存储有计算机程序,该计算机程序被处理器310运行时执行如上的方法。
其中,计算机可读存储介质330可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。

Claims (8)

1.一种密钥管理方法,其特征在于,应用于电子设备,包括:
获取多个密钥分量的密文数据,并对所述多个密钥分量的密文数据进行解密,获得多个密钥分量,其中,所述多个密钥分量是对主密钥进行门限秘密分割后的密钥分量中挑选出的;所述分割后的密钥分量的数量为正整数m,所述多个密钥分量的数量为正整数n;其中,m和n满足的条件为n≥2m-1且m>n/2;
使用秘密共享密码机制中的门限方案对所述多个密钥分量进行恢复,获得所述主密钥;
所述多个密钥分量包括第二密钥分量,以及在所述获取多个密钥分量的密文数据之前,所述方法还包括:
在接收钥匙设备加密后发送的钥匙公钥之后,将所述钥匙公钥解密后获取所述钥匙设备的钥匙公钥;其中,在电子设备上被插入钥匙设备后,第二管理员在电子设备或者钥匙设备上输入个人识别码之后,钥匙设备才能向电子设备发送加密后的钥匙公钥;
使用所述钥匙公钥对所述第二密钥分量进行加密,获得第二密钥密文;
向所述钥匙设备发送所述第二密钥密文,以使所述钥匙设备使用所述钥匙公钥对应的钥匙私钥对所述第二密钥密文进行解密,获得所述第二密钥分量;
其中,所述钥匙设备以数字信封形式发送所述第二密钥分量,在发送过程中通过第二加密密钥加密所述第二密钥分量;所述第二加密密钥为随机密钥;所述随机密钥由所述电子设备的设备公钥加密后传输;
所述多个密钥分量包括:第一密钥分量;所述对所述多个密钥分量的密文数据进行解密,获得多个密钥分量,包括:
获取第一管理员输入的原始密钥,并根据所述原始密钥派生出用于加密所述第一密钥分量的第一加密密钥;
使用所述第一加密密钥对所述第一密钥分量的密文数据进行解密,获得所述第一密钥分量;
所述第一密钥分量存储在电子设备中,所述第二密钥分量存储在钥匙设备中。
2.根据权利要求1所述的方法,其特征在于,所述多个密钥分量包括:第二密钥分量;所述获取多个密钥分量的密文数据,并对所述多个密钥分量的密文数据进行解密,获得多个密钥分量,包括:
获取钥匙设备发送的所述第二密钥分量的密文数据,以及所述第二密钥分量对应的第二加密密钥;
使用所述第二加密密钥对所述第二密钥分量的密文数据进行解密,获得所述第二密钥分量。
3.根据权利要求2所述的方法,其特征在于,所述第二加密密钥为随机密钥;所述获取钥匙设备发送的所述第二密钥分量的密文数据,以及所述第二密钥分量对应的第二加密密钥,包括:
接收所述钥匙设备发送的数字信封,所述数字信封包括:所述随机密钥密文和所述第二密钥分量的密文数据,所述第二密钥分量的密文数据是所述钥匙设备使用所述随机密钥对所述第二密钥分量进行加密获得的;
获取所述电子设备的设备私钥,并使用所述设备私钥对所述随机密钥密文进行解密,获得所述随机密钥,所述随机密钥密文是所述钥匙设备使用所述设备私钥对应的设备公钥加密获得的。
4.根据权利要求3所述的方法,其特征在于,所述电子设备上存储有设备私钥的密文数据;所述获取所述电子设备的设备私钥,包括:
使用所述第一密钥分量对所述设备私钥的密文数据进行解密,获得所述设备私钥,所述设备私钥的密文数据是使用所述第一密钥分量派生出的加密密钥加密获得的。
5.根据权利要求3所述的方法,其特征在于,在所述接收所述钥匙设备发送的数字信封之前,还包括:
获取所述钥匙设备的钥匙公钥;
使用所述钥匙公钥对所述第二密钥分量进行加密,获得第二密钥密文;
向所述钥匙设备发送所述第二密钥密文,以使所述钥匙设备使用所述钥匙公钥对应的钥匙私钥对所述第二密钥密文进行解密,获得所述第二密钥分量。
6.一种密钥管理装置,其特征在于,应用于电子设备,包括:
密钥密文获取模块,用于获取多个密钥分量的密文数据,并对所述多个密钥分量的密文数据进行解密,获得多个密钥分量,其中,所述多个密钥分量是对主密钥进行门限秘密分割后的密钥分量中挑选出的;所述多个密钥分量包括:第一密钥分量;所述对所述多个密钥分量的密文数据进行解密,获得多个密钥分量,包括:获取第一管理员输入的原始密钥,并根据所述原始密钥派生出用于加密所述第一密钥分量的第一加密密钥;使用所述第一加密密钥对所述第一密钥分量的密文数据进行解密,获得所述第一密钥分量;所述分割后的密钥分量的数量为正整数m,所述多个密钥分量的数量为正整数n;其中,m和n满足的条件为n≥2m-1且m>n/2;
密钥分量恢复模块,用于使用秘密共享密码机制中的门限方案对所述多个密钥分量进行恢复,获得所述主密钥;
其中,所述多个密钥分量包括第二密钥分量,以及所述装置还用于:在所述获取多个密钥分量的密文数据之前,在接收钥匙设备加密后发送的钥匙公钥之后,将所述钥匙公钥解密后获取所述钥匙设备的钥匙公钥;其中,在电子设备上被插入钥匙设备后,第二管理员在电子设备或者钥匙设备上输入个人识别码之后,钥匙设备才能向电子设备发送加密后的钥匙公钥;
使用所述钥匙公钥对所述第二密钥分量进行加密,获得第二密钥密文;
向所述钥匙设备发送所述第二密钥密文,以使所述钥匙设备使用所述钥匙公钥对应的钥匙私钥对所述第二密钥密文进行解密,获得所述第二密钥分量;
其中,所述钥匙设备以数字信封形式发送所述第二密钥分量,在发送过程中通过第二加密密钥加密所述第二密钥分量;所述第二加密密钥为随机密钥;所述随机密钥由所述电子设备的设备公钥加密后传输;
所述第一密钥分量存储在电子设备中,所述第二密钥分量存储在钥匙设备中。
7.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至5任一所述的方法。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5任一所述的方法。
CN202111150740.XA 2021-09-29 2021-09-29 一种密钥管理方法、装置、电子设备及存储介质 Active CN113890731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111150740.XA CN113890731B (zh) 2021-09-29 2021-09-29 一种密钥管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111150740.XA CN113890731B (zh) 2021-09-29 2021-09-29 一种密钥管理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113890731A CN113890731A (zh) 2022-01-04
CN113890731B true CN113890731B (zh) 2024-04-19

Family

ID=79007914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111150740.XA Active CN113890731B (zh) 2021-09-29 2021-09-29 一种密钥管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113890731B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114640445A (zh) * 2022-03-21 2022-06-17 中国电力科学研究院有限公司 Hsm密钥管理系统及方法、设备及存储介质
CN114553603B (zh) * 2022-04-25 2022-07-29 南湖实验室 一种基于隐私计算的新型数据可信解密的方法
CN117353919B (zh) * 2023-12-01 2024-03-26 卓望数码技术(深圳)有限公司 基于秘钥分享算法的数据安全存储方法、系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805337A (zh) * 2005-01-14 2006-07-19 中兴通讯股份有限公司 一种基于秘密共享密码机制的用户管理方法
CN101515949A (zh) * 2008-02-20 2009-08-26 捷讯研究有限公司 便于用户设备间会话转移的方法和系统
CN106027234A (zh) * 2016-05-12 2016-10-12 山东渔翁信息技术股份有限公司 一种密钥保护方法
CN106850208A (zh) * 2017-02-28 2017-06-13 北京信安世纪科技有限公司 一种秘密数据分割的方法及装置
CN106878005A (zh) * 2016-12-23 2017-06-20 中国电子科技集团公司第三十研究所 一种基于网络好友的根密钥管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1805337A (zh) * 2005-01-14 2006-07-19 中兴通讯股份有限公司 一种基于秘密共享密码机制的用户管理方法
CN101515949A (zh) * 2008-02-20 2009-08-26 捷讯研究有限公司 便于用户设备间会话转移的方法和系统
CN106027234A (zh) * 2016-05-12 2016-10-12 山东渔翁信息技术股份有限公司 一种密钥保护方法
CN106878005A (zh) * 2016-12-23 2017-06-20 中国电子科技集团公司第三十研究所 一种基于网络好友的根密钥管理方法及装置
CN106850208A (zh) * 2017-02-28 2017-06-13 北京信安世纪科技有限公司 一种秘密数据分割的方法及装置

Also Published As

Publication number Publication date
CN113890731A (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
EP3291481B1 (en) Decrypting encrypted data on an electronic device
US10785019B2 (en) Data transmission method and apparatus
CN113890731B (zh) 一种密钥管理方法、装置、电子设备及存储介质
US9152805B2 (en) Security device
CN110969431B (zh) 区块链数字币私钥的安全托管方法、设备和系统
CN107005577B (zh) 指纹数据的处理方法及处理装置
US20200195446A1 (en) System and method for ensuring forward & backward secrecy using physically unclonable functions
CN112084525B (zh) 一种分布式密钥加密方法、装置、电子设备和存储介质
US10348502B2 (en) Encrypting and decrypting data on an electronic device
US11128609B1 (en) System and method to improve user authentication for enhanced security of cryptographically protected communication sessions
US20230325516A1 (en) Method for file encryption, terminal, electronic device and computer-readable storage medium
CN109274644A (zh) 一种数据处理方法、终端和水印服务器
CN115208557A (zh) 数据加密方法、装置、电子设备及计算机存储介质
CN102769525B (zh) 一种tcm的用户密钥备份与恢复方法
EP3010173B1 (en) Key storage device, key storage method, and program therefor
CN113326518A (zh) 一种数据处理方法及装置
CN111836260B (zh) 一种认证信息处理方法、终端和网络设备
CN111835691B (zh) 一种认证信息处理方法、终端和网络设备
US10057054B2 (en) Method and system for remotely keyed encrypting/decrypting data with prior checking a token
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
CN109936448A (zh) 一种数据传输方法及装置
CN114285557A (zh) 通信加密方法、系统和装置
CN111431846B (zh) 数据传输的方法、装置和系统
CN113672973A (zh) 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统
CN112149166A (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