本发明涉及一种信息安全领域,具体地说是利用密码机对密钥进行分割提升密钥安全的方法及系统。
背景技术:
密钥是密码算法或协议中需要特别安全保护的数据,通常有软密钥和硬密钥两种密钥形式,软密钥以文件形式存在计算机或服务器中,硬密钥保存在专用的硬件密码机内。
软密钥存在安全性较低的问题。硬密钥的安全性较高,密钥的产生、使用均在硬件内部实现,密钥不导出,计算过程也不出现在CPU、内存中。
但是通用的密码机对密钥调用的权限控制比较单一,主要是靠口令或者IP地址白名单,容易被攻击者利用。同时硬件密码机存储密钥的数量也是有限的。
技术实现要素:
本发明的技术任务是针对以上不足,提供利用密码机对密钥进行分割提升密钥安全的方法及系统,来解决密码机对密钥调用权限控制单一及密码机存储密钥的数量有限的问题。
本发明的技术任务是按以下方式实现的,
利用密码机对密钥进行分割提升密钥安全的方法,在通用密码机的安全原则的基础上,提出密钥分割、异地存储、多点认证和用过即毁的方法;包括如下过程:
(1)、密钥分割分发过程:密码机将密钥分割为N份密钥片段,N为至少为2的自然数,N份分割后的密钥片段均通过双重加密后,分别输出到各对应的保存点设备;保存点设备为N个,每个加密后的密钥片段分别对应一个保存点设备;
(2)、密钥合成使用过程:使用时,密码机对全部保存点设备进行认证后,解密分割后的密钥片段,合成为完整的密钥;
(3)、用过即毁过程:合成后的密钥使用一次后由密码机立刻销毁。
密钥分割分发过程如下:
①、通过接口向密码机发起密钥分割指令,输入要分割的份数为N,N为至少为2的自然数,同时输入N个保存点设备M1、M2、...MN的设备数字证书M1Cert、M2Cert、...MNCert;
②、密码机产生一个新的密钥K;
③、将密钥K分割成N份密钥片段,分别是密钥片段K1、密钥片段K2、... 密钥片段KN;
④、密钥片段K1使用密码机的设备数字证书HSMCert以及其对应的保存点设备M1的设备数字证书M1Cert双重加密,得到加密后的密钥片段K1”;K1”= Enc(K1,(HSMCert,M1Cert));
密钥片段K2使用密码机的设备数字证书HSMCert以及其对应的保存点设备M2的设备数字证书M2Cert双重加密,得到加密后的密钥片段K2”;K2”= Enc(K2,(HSMCert,M2Cert));
…以此类推…;
密钥片段KN使用密码机的设备数字证书HSMCert以及其对应的保存点设备MN的设备数字证书MNCert双重加密,得到加密后的密钥片段KN”;KN”= Enc(KN,(HSMCert,MNCert));
⑤、将加密后的密钥片段K1”、加密后的密钥片段K2”、...加密后的密钥片段KN”分别发送到其对应的保存点设备M1、M2、...MN进行安全保存。
步骤②中,密码机通过硬件密码设备,产生一个密钥K;硬件密码设备采用加密卡。
步骤②中,密钥K是国际或国内标准的密码算法的密钥,密钥K是对称密钥或非对称密钥。非对称密钥比如RSA、SM2、DES、AES、SM1、SM4等。
密钥合成使用过程如下:
⑥、任意一个保存点设备MN向密码机发起密钥使用申请MNReq;密码机产生随机数R,随机数R使用该保存点设备MN的设备数字证书MNCert加密生成R’,密码机发送R’到保存点设备MN;R’= Enc(R,MNCert);
⑦、保存点设备MN收到R’后,使用该保存点设备MN的私钥MNKey对R’解密得到随机数R;R=Dec(R’,MNKey);
⑧、保存点设备MN的私钥MNKey对保存在此保存点设备MN内的加密后的密钥片段KN”脱密,得到KN’;KN’= Dec(KN”,MNKey);
⑨、使用随机数R对KN’加密得到KN’”;KN’”= Enc(KN’,R);保存点设备MN发送KN’”到密码机;
⑩、密码机逐层解密KN’”得到密钥片段KN;KN=Dec(KN’”,(R、HSMKey));
⑪、其余的保存点设备,均使用⑥~⑩步骤,从而得到N份密钥片段;将N份密钥片段合成完整的密钥K。
在指定时间内凑齐全部密钥片段,否则无效。
用过即毁过程:使用合成后的密钥K对待处理的数据进行签名或者加密操作;完成操作后由密码机立刻销毁此密钥。
利用密码机对密钥进行分割提升密钥安全的系统,包括密码机及N个保存点设备,N为至少为2的自然数;
密码机用于将密钥分割为N份密钥片段,并对分割后的密钥片段双重加密后,分别输出到各对应的保存点设备;密码机还用于对各个保存点设备进行认证;密码机还用于解密加密后的密钥片段,合成为完整的密钥;密码机还用于销毁使用后的密钥;
保存点设备用于保存各自对应的密钥片段,并用于与密码机之间进行数据传输。
密码机用于对任意一个密钥片段KN使用密码机的设备数字证书HSMCert以及该密钥片段对应的保存点设备MN的设备数字证书MNCert进行双重加密得到加密后的密钥片段KN”。
密码机用于对各个保存点设备进行认证:密码机产生随机数R并使用被认证的保存点设备MN的设备数字证书MNCert加密生成R’,密码机发送R’到该保存点设备MN,R’= Enc(R,MNCert);保存点设备MN收到R’后,使用该保存点设备MN的私钥MNKey对R’解密得到随机数R,R=Dec(R’,MNKey);随机数R即为用于认证的挑战应答密钥,有且仅有该保存点设备能够解密出随机数R;保存点设备MN的私钥M1Key对保存在此保存点设备MN内的加密后的密钥片段KN”脱密,得到KN’,KN’= Dec(KN”,MNKey);使用随机数R对KN’加密得到KN’”,KN’”= Enc(KN’,R);保存点设备MN发送KN’”到密码机。
本发明的利用密码机对密钥进行分割提升密钥安全的方法及系统具有以下优点:
1、能够把密钥分割,异地安全存储各密钥片段,使用时各保存点设备经过认证后才可合并密钥,增强了权限控制的复杂度,提升了密钥的安全性;
2、各过程均在可控的专用的密码机内完成;密钥的生成、分割、加密输出、认证、解密、合成、使用、销毁等过程均在密码机内完成,密钥明文从不会出现在内存、CPU、磁盘中,提升了密钥的安全性;
3、密钥在空间上分离,提升了安全性;
4、密钥的使用必须依赖多处保存点同时操作,避免了单点的权限风险;
5、密钥在时间上,用过即毁,仅存在一瞬间,提升了安全性。
附图说明
下面结合附图对本发明进一步说明。
附图1为利用密码机对密钥进行分割提升密钥安全的方法的密钥分割分发过程的流程框图;
附图2为利用密码机对密钥进行分割提升密钥安全的方法的密钥合成使用过程的流程框图;
附图3为利用密码机对密钥进行分割提升密钥安全的系统的结构框图。
具体实施方式
参照说明书附图和具体实施例对本发明的利用密码机对密钥进行分割提升密钥安全的方法及系统作以下详细地说明。
实施例1:
如图1所示,本发明的利用密码机对密钥进行分割提升密钥安全的方法,在通用密码机的安全原则的基础上,提出密钥分割、异地存储、多点认证和用过即毁的方法;包括如下过程:
(1)、密钥分割分发过程:密码机将密钥分割为N份密钥片段,N为至少为2的自然数,N份分割后的密钥片段均通过双重加密后,分别输出到各对应的保存点设备;保存点设备为N个,每个加密后的密钥片段分别对应一个保存点设备;密钥分割分发过程如下:
101、通过接口向密码机发起密钥分割指令,输入要分割的份数为N,N为至少为2的自然数,同时输入N个保存点设备M1、M2、...MN的设备数字证书M1Cert、M2Cert、...MNCert;
102、密码机产生一个新的密钥K;密码机通过硬件密码设备,产生一个密钥K;硬件密码设备采用加密卡;密钥K是国际标准的密码算法的密钥,密钥K是非对称密钥;非对称密钥比如RSA、SM2、DES、AES、SM1、SM4等;
103、将密钥K分割成N份密钥片段,分别是密钥片段K1、密钥片段K2、... 密钥片段KN;
104、105、106、密钥片段K1使用密码机的设备数字证书HSMCert以及其对应的保存点设备M1的设备数字证书M1Cert双重加密,得到加密后的密钥片段K1”;K1”= Enc(K1,(HSMCert,M1Cert));
密钥片段K2使用密码机的设备数字证书HSMCert以及其对应的保存点设备M2的设备数字证书M2Cert双重加密,得到加密后的密钥片段K2”;K2”= Enc(K2,(HSMCert,M2Cert));
…以此类推…;
密钥片段KN使用密码机的设备数字证书HSMCert以及其对应的保存点设备MN的设备数字证书MNCert双重加密,得到加密后的密钥片段KN”;KN”= Enc(KN,(HSMCert,MNCert));
107、将加密后的密钥片段K1”、加密后的密钥片段K2”、...加密后的密钥片段KN”分别发送到其对应的保存点设备M1、M2、...MN进行安全保存。
(2)、密钥合成使用过程:使用时,密码机对全部保存点设备进行认证后,解密分割后的密钥片段,合成为完整的密钥;
(3)、用过即毁过程:合成后的密钥使用一次后由密码机立刻销毁。
实施例2:
如图1、图2所示,本发明的利用密码机对密钥进行分割提升密钥安全的方法,在通用密码机的安全原则的基础上,提出密钥分割、异地存储、多点认证和用过即毁的方法;包括如下过程:
(1)、密钥分割分发过程:密码机将密钥分割为N份密钥片段,N为至少为2的自然数,N份分割后的密钥片段均通过双重加密后,分别输出到各对应的保存点设备;保存点设备为N个,每个加密后的密钥片段分别对应一个保存点设备;密钥分割分发过程如下:
101、通过接口向密码机发起密钥分割指令,输入要分割的份数为N,N为至少为2的自然数,同时输入N个保存点设备M1、M2、...MN的设备数字证书M1Cert、M2Cert、...MNCert;
102、密码机产生一个新的密钥K;密码机通过硬件密码设备,产生一个密钥K;硬件密码设备采用加密卡;密钥K是国内标准的密码算法的密钥,密钥K是对称密钥;
103、将密钥K分割成N份密钥片段,分别是密钥片段K1、密钥片段K2、... 密钥片段KN;
104、105、106、密钥片段K1使用密码机的设备数字证书HSMCert以及其对应的保存点设备M1的设备数字证书M1Cert双重加密,得到加密后的密钥片段K1”;K1”= Enc(K1,(HSMCert,M1Cert));
密钥片段K2使用密码机的设备数字证书HSMCert以及其对应的保存点设备M2的设备数字证书M2Cert双重加密,得到加密后的密钥片段K2”;K2”= Enc(K2,(HSMCert,M2Cert));
…以此类推…;
密钥片段KN使用密码机的设备数字证书HSMCert以及其对应的保存点设备MN的设备数字证书MNCert双重加密,得到加密后的密钥片段KN”;KN”= Enc(KN,(HSMCert,MNCert));
107、将加密后的密钥片段K1”、加密后的密钥片段K2”、...加密后的密钥片段KN”分别发送到其对应的保存点设备M1、M2、...MN进行安全保存。
(2)、密钥合成使用过程:使用时,密码机对全部保存点设备进行认证后,解密分割后的密钥片段,合成为完整的密钥;密钥合成使用过程如下:
201、任意一个保存点设备MN向密码机发起密钥使用申请MNReq;密码机产生随机数R,随机数R使用该保存点设备MN的设备数字证书MNCert加密生成R’,密码机发送R’到保存点设备MN;R’= Enc(R,MNCert);
202、保存点设备MN收到R’后,使用该保存点设备MN的私钥MNKey对R’解密得到随机数R;R=Dec(R’,MNKey);
203、保存点设备MN的私钥MNKey对保存在此保存点设备MN内的加密后的密钥片段KN”脱密,得到KN’;KN’= Dec(KN”,MNKey);
204、使用随机数R对KN’加密得到KN’”;KN’”= Enc(KN’,R);保存点设备MN发送KN’”到密码机;
205、密码机逐层解密KN’”得到密钥片段KN;KN=Dec(KN’”,(R、HSMKey));
206、其余的保存点设备,均使用⑥~⑩步骤,从而得到N份密钥片段;将N份密钥片段合成完整的密钥K;
在指定时间内凑齐全部密钥片段,否则无效。
207、用过即毁过程:使用合成后的密钥K对待处理的数据进行签名或者加密操作;完成操作后由密码机立刻销毁此密钥。
实施例3:
如图3所示,本发明的利用密码机对密钥进行分割提升密钥安全的系统,包括密码机及N个保存点设备,N为至少为2的自然数;密码机用于将密钥分割为N份密钥片段,并对分割后的密钥片段双重加密后,分别输出到各对应的保存点设备;密码机还用于对各个保存点设备进行认证;密码机还用于解密加密后的密钥片段,合成为完整的密钥;密码机还用于销毁使用后的密钥;保存点设备用于保存各自对应的密钥片段,并用于与密码机之间进行数据传输。
密码机用于对任意一个密钥片段KN使用密码机的设备数字证书HSMCert以及该密钥片段对应的保存点设备MN的设备数字证书MNCert进行双重加密得到加密后的密钥片段KN”。
密码机用于对各个保存点设备进行认证:密码机产生随机数R并使用被认证的保存点设备MN的设备数字证书MNCert加密生成R’,密码机发送R’到该保存点设备MN,R’= Enc(R,MNCert);保存点设备MN收到R’后,使用该保存点设备MN的私钥MNKey对R’解密得到随机数R,R=Dec(R’,MNKey);随机数R即为用于认证的挑战应答密钥,有且仅有该保存点设备能够解密出随机数R;保存点设备MN的私钥M1Key对保存在此保存点设备MN内的加密后的密钥片段KN”脱密,得到KN’,KN’= Dec(KN”,MNKey);使用随机数R对KN’加密得到KN’”,KN’”= Enc(KN’,R);保存点设备MN发送KN’”到密码机。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。