掌桥专利:专业的专利平台
掌桥专利
首页

密钥迁移方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:58:30


密钥迁移方法、装置、设备及存储介质

技术领域

本发明涉及数据处理技术领域,具体涉及一种密钥迁移方法、装置、设备及存储介质。

背景技术

自加密固态硬盘,是一种不依赖于外部加密装置,通过硬盘控制器中自带的高速密码算法模块,对硬盘数据进行加密和解密的固态硬盘。当固态硬盘寿命到期或者其他原因,需要把这个固态硬盘中的用户数据复制迁移到其他的自加密功能的固态硬盘上时,常用方法是经过安全认证的主机从固态硬盘中读出明文的用户数据信息,写入到备份固态硬盘上,备份固态硬盘使用自身产生的密钥对用户数据再进行加密存储,但这种方法适合本地操作,如果是远程传输数据,明文数据传输会容易导致信息泄露。

发明内容

有鉴于此,本发明提供了一种密钥迁移方法、装置、设备及存储介质,以解决现有自加密固态硬盘将用户数据远程传输到其他的自加密功能的固态硬盘上时,容易导致信息泄露的问题。

第一方面,本发明提供了一种密钥迁移方法,该方法包括:获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书;基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据;基于本地数字证书对加密数据进行签名,得到签名数据;将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果;当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。通过上述过程,可以保证密钥迁移的安全性和完整性,且在自加密固态硬盘之间进行用户数据复制迁移时,不需要再把大量的密文用户数据进行解密读出后再加密保护传输,收到后再解密写入固态硬盘,固态硬盘再进行加密存储,只需要把用户数据密文直接复制迁移,节省了大量用户数据的一系列加解密等繁琐的操作。

在一些可选的实施方式中,基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据,包括:

基于本地数字证书对备份数字证书进行验证;

当备份数字证书通过验证时,将本地加密固态硬盘随机生成的两个固定字节随机数分别作为对称密钥及完整性认证密钥;

基于备份数据证书对对称密钥及完整性认证密钥进行加密,得到加密数据。

在一些可选的实施方式中,基于本地数字证书从签名数据中解密出解密结果,包括:

基于备份数字证书对本地数字证书进行验证;

当本地数字证书通过验证时,基于本地数字证书对签名数据进行解密,得到解密结果。

在一些可选的实施方式中,确定解密结果与加密数据相同,包括:

获取解密结果中的解密对称密钥及解密完整性认证密钥;

通过解密对称密钥对解密完整性认证密钥进行加密,得到完整性认证数据;

基于对称密钥对完整性认证数据进行解密,得到解密完整性认证密钥;

对比解密完整性认证密钥与完整性认证密钥,基于对比结果确定解密结果与加密数据相同。

在一些可选的实施方式中,基于对比结果确定解密结果与加密数据相同,包括:

获取完整性认证密钥所对应的第一密钥值;

对解密完整性认证密钥所限定的内容进行计算,得到第二密钥值,并将第二密钥值与第一密钥值进行比对;

若第二密钥值与第一密钥值相同,确定解密结果与加密数据相同。

在一些可选的实施方式中,基于本地数字证书对备份数字证书进行验证,包括:

获取本地数字证书所对应的本地目标公钥以及备份数字证书中所携带的备份签名信息,备份签名信息由备份加密固态硬盘中的备份目标私钥对备份公钥签名得到;

基于本地目标公钥对备份签名信息进行验签;

基于第一公钥对第二签名信息进行验签。

在一些可选的实施方式中,基于备份数字证书对本地数字证书进行验证,包括:

获取备份数字证书所对应的备份目标公钥以及本地数字证书中所携带的本地签名信息,本地签名信息由本地加密固态硬盘中的本地目标公钥对本地公钥签名得到;

基于备份目标公钥对本地签名信息进行验签。

第二方面,本发明提供了一种密钥迁移装置,该装置主要包括:证书获取模块、密钥加密模块、数据签名模块、数据解密模块,以及密钥迁移模块;其中,证书获取模块,用于获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书;密钥加密模块,用于基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据;数据签名模块,用于基于本地数字证书对加密数据进行签名,得到签名数据;数据解密模块,用于将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果;密钥迁移模块,用于当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。通过上述过程,可以保证密钥迁移的安全性和完整性,且在自加密固态硬盘之间进行用户数据复制迁移时,不需要再把大量的密文用户数据进行解密读出后再加密保护传输,收到后再解密写入固态硬盘,固态硬盘再进行加密存储,只需要把用户数据密文直接复制迁移,节省了大量用户数据的一系列加解密等繁琐的操作。

第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的密钥迁移方法。

第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的密钥迁移方法。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种应用环境的示意图;

图2是本发明实施例的密钥迁移方法的流程示意图;

图3是本发明实施例的另一密钥迁移方法的流程示意图;

图4是本发明实施例的又一密钥迁移方法的流程示意图;

图5是本发明实施例的再一密钥迁移方法的流程示意图;

图6是本发明实施例的密钥迁移方法的数据流图;

图7是本发明实施例的密钥迁移装置的结构框图;

图8是本发明实施例的计算机设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本发明实施例不做限制。

请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,该示意图包括本地设备100中可以包含有显示器101、本地主机102和本地加密固态硬盘103。本地设备100可以通过网络300与备份设备200进行通信连接,该备份设备200可用于为客户端上安装的计算程序提供服务(如备份服务等),可在备份设备200上或独立于备份设备200设置备份加密固态硬盘201,用于为备份设备200提供数据存储服务。此外,备份设备200中设置有备份主机202,该备份主机202可以用于执行由备份设备200所执行的步骤。

可选的,本地设备100可以但不限于为可以计算数据的终端,如移动终端(例如平板电脑)、笔记本电脑、PC(Personal Computer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI(Wireless Fidelity,无线保真)及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、备份管理服务器集群。上述备份设备200可以包括但不限于任何可以进行计算的硬件设备。

此外,在本实施例中,上述密钥迁移方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述密钥迁移方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。

可选的,在本实施例中,上述密钥迁移方法可以由备份设备200来执行,也可以由本地设备100来执行,还可以是由备份设备200和本地设备100共同执行。其中,本地设备100执行本发明实施例的密钥迁移方法也可以是由安装在其上的客户端来执行。

根据本发明实施例,提供了一种密钥迁移方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种密钥迁移方法,可用于上述的本地设备,图2是根据本发明实施例的密钥迁移方法的流程图,如图2所示,该流程包括如下步骤:

步骤S201,获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书。

如上,通过获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书,以便于通过备份数字证书与本地数字证书之间的相互验证,来判断本地加密固态硬盘与备份固态硬盘之间是否属于可进行数据之间的迁移。

在一些可选的实施方式中,首先基于私有命令(可以为固态硬盘出厂前厂商发送的,也可以为用户发送的)使本地加密固态硬盘及本分固态加密硬盘均产生一对公私钥对;即本地加密固态硬盘产生一公私钥对(如本地公钥及本地私钥,本地私钥存储于自身的非易失性flash中,本地公钥发送给本地主机);备份加密固态硬盘产生一公私钥对(如备份公钥及备份私钥,备份私钥存储于自身的非易失性flash中,备份公钥发送给备份主机)。然后,备份主机使用备份目标私钥对备份公钥进行签名,生成备份数字证书,并将备份数字证书及备份目标私钥对应的备份目标公钥存储于目标区域;同样的,本地主机也是使用本地目标私钥对本地公钥进行签名,生成本地数字证书,并将本地数字证书及本地目标私钥对应的本地目标公钥存储于目标区域。其中,当备份加密固态硬盘与本地加密固态硬盘之间可进行数据迁移,如密钥迁移时,备份目标公钥与本地目标公钥相同,但备份目标私钥及本地目标私钥可以基于自身的设备信息及公钥生成的,即备份目标私钥及本地目标私钥可以不同。

步骤S202,基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据。

如上,通过基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,从而保证对称密钥及完整性认证密钥在传输过程中的安全性和防伪造。

在一些可选的实施方式中,可以先基于本地数字证书对备份数字证书进行验证;当备份数字证书通过验证时,将本地加密固态硬盘随机生成的两个固定字节随机数分别作为对称密钥及完整性认证密钥;基于备份数据证书对对称密钥及完整性认证密钥进行加密,得到加密数据。其中,在备份数字证书通过验证时,备份加密固态硬盘发送失败错误码通知本地加密固态硬盘,进行重新发送数据或者停止迁移等操作。可以理解的,通过随机对称密钥的生成,为对待迁移密钥信息的加密迁移提供必要条件,且可以进一步提升对待迁移必要迁移的可靠性。同时,通过完整性认证密钥的生成,以便于对待迁移密钥信息迁移的完整性进行校验。

步骤S203,基于本地数字证书对加密数据进行签名,得到签名数据。

如上,通过基于本地数字证书对加密数据进行签名,得到签名数据,以便于备份加密固态硬盘对签名数据解密的正确性进行验证。

在一些可选的实施方式中,本地加密固态硬盘基于本地数字证书的本地私钥对加密数据进行签名,得到签名数据。

步骤S204,将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果。

如上,通过将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果,从而便于备份加密固态硬盘对签名数据解密的正确性进行验证。

在一些可选的实施方式中,本地加密固态硬盘将加密数据、签名数据及本地数字证书通过本地主机发送给备份主机,以使备份主机将加密数据、签名数据及本地数字证书转发至备份加密固态硬盘,从而使备份加密固态硬盘基于本地数字证书对签名数据进行解密,从而得到解密结果。

步骤S205,当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。

如上,通过在解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘,从而保证了待迁移密钥信息迁移的可靠性。

在一些可选的实施方式中,当解密结果与加密数据相同,本地加密固态硬盘将其所存储的待迁移密钥信息密文进行解密得到待迁移密钥信息,并根据固定格式组织在一起,例如下格式(这里仅举例,实际格式可根据实际密钥属性进行修改):

{逻辑区块地址范围1、密钥长度、逻辑区块地址范围1进行加解密的密钥值,逻辑区块地址范围2、密钥长度、逻辑区块地址范围2进行加解密的密钥值……}。

使用对称密钥对上述组织好的数据进行加密,得到加密数据。在加密数据前添加加密数据长度字段,再使用完整性认证密钥对组织好的数据使用散列运算计算得到完整性认证数据。得到如下数据:{用对称密钥加密的待迁移密钥信息大小、加密的待迁移密钥信息、完整性认证数据}。

进一步地,本地加密固态硬盘把这些数据发送给备份加密固态硬盘。备份加密固态硬盘使用之前得到的完整性认证密钥进行完整性认证数据验证,保证数据传输过程中的完整性。验证成功后,使用对称密钥解密获得待迁移密钥信息。备份密固态硬盘使用自己的密钥(备份公钥或备份私钥)把迁移的密钥信息加密后保存到非易失性存储器中。

本实施例提供的密钥迁移方法,首先通过获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书,以便于通过备份数字证书与本地数字证书之间的相互验证,来判断本地加密固态硬盘与备份固态硬盘之间是否属于可进行数据之间的迁移;通过基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,从而保证对称密钥及完整性认证密钥在传输过程中的安全性和防伪造;通过基于本地数字证书对加密数据进行签名,得到签名数据,以便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果,从而便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过在解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘,从而保证了待迁移密钥信息迁移的可靠性。因此,本发明可以保证密钥迁移的安全性和完整性,且在自加密固态硬盘之间进行用户数据复制迁移时,不需要再把大量的密文用户数据进行解密读出后再加密保护传输,收到后再解密写入固态硬盘,固态硬盘再进行加密存储,只需要把用户数据密文直接复制迁移,节省了大量用户数据的一系列加解密等繁琐的操作。

在本实施例中提供了一种密钥迁移方法,可用于上述的本地设备,图3是根据本发明实施例的密钥迁移方法的流程图,如图3所示,该流程包括如下步骤:

步骤S301,获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书。

详细请参见图2所示实施例的步骤S201,在此不再赘述。

步骤S302,基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据。

具体的,上述步骤S302包括:

步骤S3021,基于本地数字证书对备份数字证书进行验证。

如上,通过基于本地数字证书对备份数字证书进行验证,以确定本地加密固态硬盘与备份加密固态硬盘之间是否具备对待迁移密钥信息进行数据迁移的环境。

在一些可选的实施方式中,在基于本地数字证书对备份数字证书进行验证时,可以先获取本地数字证书所对应的本地目标公钥以及备份数字证书中所携带的备份签名信息,备份签名信息由备份加密固态硬盘中的备份目标私钥对备份公钥签名得到;然后基于本地目标公钥对备份签名信息进行验签,从而实现基于本地数字证书对备份数字证书进行验证,为本地加密固态硬盘与备份加密固态硬盘之间密钥是否能够正常迁移提供判断依据,即对密钥迁移的合法性进行判断。

步骤S3022,当备份数字证书通过验证时,将本地加密固态硬盘随机生成的两个固定字节随机数分别作为对称密钥及完整性认证密钥。

如上,通过在备份数字证书通过验证时,将本地加密固态硬盘随机生成的两个固定字节随机数分别作为对称密钥及完整性认证密钥,为对待迁移密钥信息的加密迁移提供必要条件,且可以进一步提升对待迁移必要迁移的可靠性。同时,通过完整性认证密钥的生成,以便于对待迁移密钥信息迁移的完整性进行校验。

在一些可选的实施方式中,备份数字证书认证通过后,本地加密固态硬盘产生2个固定字节的随机数(字节长度由使用的加解密算法决定,如使用SM4算法,则产生16字节的随机数),一个用于作为对称密钥,对待迁移密钥信息进行加密。一个用于作为完整性认证密钥,用于对传输的数据计算完整性进行认证。组织成以下格式的数据:

{对称密钥长度、对称密钥值、完整性认证密钥长度、完整性认证密钥值}。

步骤S3023,基于备份数据证书对对称密钥及完整性认证密钥进行加密,得到加密数据。

如上,通过基于备份数据证书对对称密钥及完整性认证密钥进行加密,得到加密数据,从而保证对称密钥及完整性认证密钥在传输过程中的安全性和防伪造。

在一些可选的实施方式中,基于备份数据证书中携带的备份公钥对上述格式的数据{对称密钥长度、对称密钥值、完整性认证密钥长度、完整性认证密钥值}进行加密,得到加密数据。

步骤S303,基于本地数字证书对加密数据进行签名,得到签名数据。

详细请参见图2所示实施例的步骤S203,在此不再赘述。

步骤S304,将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果。

详细请参见图2所示实施例的步骤S204,在此不再赘述。

步骤S305,当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。

详细请参见图2所示实施例的步骤S205,在此不再赘述。

本实施例提供的密钥迁移方法,首先通过获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书,以便于通过备份数字证书与本地数字证书之间的相互验证,来判断本地加密固态硬盘与备份固态硬盘之间是否属于可进行数据之间的迁移;通过基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,从而保证对称密钥及完整性认证密钥在传输过程中的安全性和防伪造;通过基于本地数字证书对加密数据进行签名,得到签名数据,以便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果,从而便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过在解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘,从而保证了待迁移密钥信息迁移的可靠性。因此,本发明可以保证密钥迁移的安全性和完整性,且在自加密固态硬盘之间进行用户数据复制迁移时,不需要再把大量的密文用户数据进行解密读出后再加密保护传输,收到后再解密写入固态硬盘,固态硬盘再进行加密存储,只需要把用户数据密文直接复制迁移,节省了大量用户数据的一系列加解密等繁琐的操作。

在本实施例中提供了一种密钥迁移方法,可用于上述的本地设备,图4是根据本发明实施例的密钥迁移方法的流程图,如图4所示,该流程包括如下步骤:

步骤S401,获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书。

详细请参见图2所示实施例的步骤S201,在此不再赘述。

步骤S402,基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据。

详细请参见图3所示实施例的步骤S302,在此不再赘述。

步骤S403,基于本地数字证书对加密数据进行签名,得到签名数据。

详细请参见图2所示实施例的步骤S203,在此不再赘述。

步骤S404,将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果。

具体的,上述步骤S404包括:

步骤S4041,基于备份数字证书对本地数字证书进行验证。

如上,通过基于备份数字证书对本地数字证书进行验证,以确定本地加密固态硬盘与备份加密固态硬盘之间是否具备对待迁移密钥信息进行数据迁移的环境。

在一些可选的实施方式中,基于备份数字证书对本地数字证书进行验证时,可以先获取备份数字证书所对应的备份目标公钥以及本地数字证书中所携带的本地签名信息,本地签名信息由本地加密固态硬盘中的本地目标私钥对本地公钥签名得到;然后基于备份目标公钥对本地签名信息进行验签,从而实现基于备份数字证书对本地数字证书进行验证,为本地加密固态硬盘与备份加密固态硬盘之间密钥是否能够正常迁移提供判断依据,即对密钥迁移的合法性进行判断。

步骤S4042,当本地数字证书通过验证时,基于本地数字证书对签名数据进行解密,得到解密结果。

如上,通过在本地数字证书通过验证时,基于本地数字证书对签名数据进行解密,得到解密结果,从而便于备份加密固态硬盘对签名数据解密的正确性进行验证。

在一些可选的实施方式中,可以基于本地数字证书中的本地公钥对签名数据进行解密,得到解密结果。

步骤S405,当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。

详细请参见图2所示实施例的步骤S205,在此不再赘述。

本实施例提供的密钥迁移方法,首先通过获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书,以便于通过备份数字证书与本地数字证书之间的相互验证,来判断本地加密固态硬盘与备份固态硬盘之间是否属于可进行数据之间的迁移;通过基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,从而保证对称密钥及完整性认证密钥在传输过程中的安全性和防伪造;通过基于本地数字证书对加密数据进行签名,得到签名数据,以便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果,从而便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过在解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘,从而保证了待迁移密钥信息迁移的可靠性。因此,本发明可以保证密钥迁移的安全性和完整性,且在自加密固态硬盘之间进行用户数据复制迁移时,不需要再把大量的密文用户数据进行解密读出后再加密保护传输,收到后再解密写入固态硬盘,固态硬盘再进行加密存储,只需要把用户数据密文直接复制迁移,节省了大量用户数据的一系列加解密等繁琐的操作。

在本实施例中提供了一种密钥迁移方法,可用于上述的本地设备,图5是根据本发明实施例的密钥迁移方法的流程图,如图5所示,该流程包括如下步骤:

步骤S501,获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书。

详细请参见图2所示实施例的步骤S201,在此不再赘述。

步骤S502,基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据。

详细请参见图3所示实施例的步骤S302,在此不再赘述。

步骤S503,基于本地数字证书对加密数据进行签名,得到签名数据。

详细请参见图2所示实施例的步骤S203,在此不再赘述。

步骤S504,将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果。

详细请参见图4所示实施例的步骤S404,在此不再赘述。

步骤S505,当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。

具体的,上述步骤S505包括:

步骤S5051,获取解密结果中的解密对称密钥及解密完整性认证密钥。

如上,通过获取解密结果中的解密对称密钥及解密完整性认证密钥,为解密结果的正确性判断提供必要条件。

步骤S5052,通过解密对称密钥对解密完整性认证密钥进行加密,得到完整性认证数据。

如上,通过解密对称密钥对解密完整性认证密钥进行加密,得到完整性认证数据,以保证完整性认证数据传输的安全性,且便于对解密结果的正确性进行判断。

步骤S5053,基于对称密钥对完整性认证数据进行解密,得到解密完整性认证密钥。

如上,通过基于对称密钥对完整性认证数据进行解密,得到解密完整性认证密钥,以便于将解密完整性认证密钥与完整性认证密钥进行比对。

步骤S5054,对比解密完整性认证密钥与完整性认证密钥,基于对比结果确定解密结果与加密数据相同。

如上,通过对比解密完整性认证密钥与完整性认证密钥,以便于基于对比结果确定解密结果与加密数据是否相同。

在一些可选的实施方式中,基于对比结果确定解密结果与加密数据相同时,可以先获取完整性认证密钥所对应的第一密钥值;对解密完整性认证密钥所限定的内容进行计算,得到第二密钥值,并将第二密钥值与第一密钥值进行比对;若第二密钥值与第一密钥值相同,确定解密结果与加密数据相同。

具体的,通过散列运算计算完整性认证密钥所限定的内容,得到第一密钥值;对解密完整性认证密钥所限定的内容进行散列计算,得到第二密钥值,并将第二密钥值与第一密钥值进行比对;若第二密钥值与第一密钥值相同,确定解密结果与加密数据相同。

在一些可选的实施方式中,基于对比结果确定解密结果与加密数据相同时,还可以先获取完整性认证密钥的中各字符的第一字符值,得到第一字符集;再获取解密完整性认证密钥所限定的内容中各字符的第二字符值,得到第二字符集;然后将第二字符集中的各字符与第一字符集中对应位置的第一字符值进行比对;若第二字符值与第一字符值相同,确定解密结果与加密数据相同。

本实施例提供的密钥迁移方法,首先通过获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书,以便于通过备份数字证书与本地数字证书之间的相互验证,来判断本地加密固态硬盘与备份固态硬盘之间是否属于可进行数据之间的迁移;通过基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,从而保证对称密钥及完整性认证密钥在传输过程中的安全性和防伪造;通过基于本地数字证书对加密数据进行签名,得到签名数据,以便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果,从而便于备份加密固态硬盘对签名数据解密的正确性进行验证;通过在解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘,从而保证了待迁移密钥信息迁移的可靠性。因此,本发明可以保证密钥迁移的安全性和完整性,且在自加密固态硬盘之间进行用户数据复制迁移时,不需要再把大量的密文用户数据进行解密读出后再加密保护传输,收到后再解密写入固态硬盘,固态硬盘再进行加密存储,只需要把用户数据密文直接复制迁移,节省了大量用户数据的一系列加解密等繁琐的操作。

在一些可选的实时方式中,本地固态加密磁盘与备份固态加密磁盘的数据交互过程,如图6所示,首先基于私有命令(可以为固态硬盘出厂前厂商发送的,也可以为用户发送的)使本地加密固态硬盘及本分固态加密硬盘均产生一对公私钥对;即本地加密固态硬盘产生一公私钥对(如本地公钥及本地私钥,本地私钥存储于自身的非易失性flash中,本地公钥发送给本地主机);备份加密固态硬盘产生一公私钥对(如备份公钥及备份私钥,备份私钥存储于自身的非易失性flash中,备份公钥发送给备份主机)。然后,备份主机使用备份目标私钥对备份公钥进行签名,生成备份数字证书,并将备份数字证书及备份目标私钥对应的备份目标公钥存储于目标区域;同样的,本地主机也是使用本地目标私钥对本地公钥进行签名,生成本地数字证书,并将本地数字证书及本地目标私钥对应的本地目标公钥存储于目标区域。其中,当备份加密固态硬盘与本地加密固态硬盘之间可进行数据迁移,如密钥迁移时,备份目标公钥与本地目标公钥相同,但备份目标私钥及本地目标私钥可以基于自身的设备信息及公钥生成的,即备份目标私钥及本地目标私钥可以不同。

进一步地,基于本地数字证书对备份数字证书进行验证;当备份数字证书通过验证时,将本地加密固态硬盘随机生成的两个固定字节随机数分别作为对称密钥及完整性认证密钥;基于备份数据证书对对称密钥及完整性认证密钥进行加密,得到加密数据。本地加密固态硬盘基于本地数字证书的本地私钥对加密数据进行签名,得到签名数据。

进一步地,本地加密固态硬盘将加密数据、签名数据及本地数字证书通过本地主机发送给备份主机,以使备份主机将加密数据、签名数据及本地数字证书转发至备份加密固态硬盘,从而使备份加密固态硬盘基于本地数字证书对签名数据进行解密,从而得到解密结果。当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘,从而保证了待迁移密钥信息迁移的可靠性。

在本实施例中还提供了一种密钥迁移装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种密钥迁移装置,如图7所示,包括:

证书获取模块701,用于获取备份加密固态硬盘的备份数字证书以及本地加密固态硬盘的本地数字证书;

密钥加密模块702,用于基于备份数据证书对本地加密固态硬盘生成的对称密钥及完整性认证密钥进行加密,得到加密数据;

数据签名模块703,用于基于本地数字证书对加密数据进行签名,得到签名数据;

数据解密模块704,用于将加密数据、签名数据及本地数字证书发送至备份加密固态硬盘,以使备份加密固态硬盘基于本地数字证书从签名数据中解密出解密结果;

密钥迁移模块705,用于当解密结果与加密数据相同时,将本地加密固态硬盘中的待迁移密钥信息通过对称密钥加密后传输至备份加密固态硬盘。

在一些可选的实施方式中,密钥加密模块702包括:

第一验证单元,用于基于本地数字证书对备份数字证书进行验证;

密钥生成单元,用于当备份数字证书通过验证时,将本地加密固态硬盘随机生成的两个固定字节随机数分别作为对称密钥及完整性认证密钥;

密钥加密单元,用于基于备份数据证书对对称密钥及完整性认证密钥进行加密,得到加密数据。

在一些可选的实施方式中,第一验证单元包括:

第一信息获取子单元,用于获取本地数字证书所对应的本地目标公钥以及备份数字证书中所携带的备份签名信息,备份签名信息由备份加密固态硬盘中的备份目标私钥对备份公钥签名得到;

第一验签子单元,用于基于本地目标公钥对备份签名信息进行验签。

在一些可选的实施方式中,数据解密模块704包括:

第二验证单元,用于基于备份数字证书对本地数字证书进行验证;

数据解密单元,用于当本地数字证书通过验证时,基于本地数字证书对签名数据数进行解密,得到解密结果。

在一些可选的实施方式中,第二验证单元包括:

第二信息获取子单元,用于获取备份数字证书所对应的备份目标公钥以及本地数字证书中所携带的本地签名信息,本地签名信息由本地加密固态硬盘中的本地目标公钥对本地公钥签名得到;

第二验签子单元,用于基于备份目标公钥对本地签名信息进行验签。

在一些可选的实施方式中,密钥迁移模块705包括:

密钥解密单元,用于获取解密结果中的解密对称密钥及解密完整性认证密钥;

密钥加密单元,用于通过解密对称密钥对解密完整性认证密钥进行加密,得到完整性认证数据;

数据解密单元,用于基于对称密钥对完整性认证数据进行解密,得到解密完整性认证密钥;

密钥比对单元,用于对比解密完整性认证密钥与完整性认证密钥,基于对比结果确定解密结果与加密数据相同。

在一些可选的实施方式中,密钥比对单元包括:

密钥值获取子单元,用于获取完整性认证密钥所对应的第一密钥值;

密钥值计算子单元,用于对解密完整性认证密钥所限定的内容进行计算,得到第二密钥值,并将第二密钥值与第一密钥值进行比对;

解密结果确定子单元,用于若第二密钥值与第一密钥值相同,确定解密结果与加密数据相同。

上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本实施例中的密钥迁移装置是以功能单元的形式来呈现,这里的单元是指ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

本发明实施例还提供一种计算机设备,具有上述图7所示的密钥迁移装置。

请参阅图8,图8是本发明可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为存储服务器阵列、一组刀片式存储服务器、或者多处理器系统)。图8中以一个处理器10为例。

处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。

其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。

存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、服务器集群、移动通信网及其组合。

存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。

该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。

本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 基于区块链的密钥存储、更新方法、装置、设备和介质
  • 密钥分配方法、装置、计算机设备及存储介质
  • 一种智能密钥安全设备及其密钥恢复方法、存储介质
  • 无人机迁移轨迹生成方法、装置、电子设备和存储介质
  • 一种虚拟机迁移方法、装置、设备及可读存储介质
  • 密钥迁移方法及装置、存储介质和电子设备
  • 一种保护密钥的迁移方法、装置、设备及可读存储介质
技术分类

06120116503093