硬盘加密密钥存储方法、装置、设备及可读存储介质转让专利

申请号 : CN201910214285.1

文献号 : CN109977039B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 修惠文王晓明张海军翟鹏

申请人 : 深圳市海邻科信息技术有限公司

摘要 :

本发明公开了一种硬盘加密密钥存储方法、装置、设备及可读存储介质,所述方法包括:终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;调用基本输入输出系统BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中。本发明实现了在不添加硬件成本的前提下,提供保存密钥的存储空间,并使得终端在不带TPM的情况下也能进行硬盘的开机自动解密。

权利要求 :

1.一种硬盘加密密钥存储方法,其特征在于,所述硬盘加密密钥存储方法包括以下步骤:终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;

调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;

调用基本输入输出系统BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中;

当调用所述BIOS接口程序访问所述BIOS芯片时,获取所述BIOS芯片的标识信息,将所述标识信息与所述BIOS接口程序预先绑定的标识信息进行匹配;

若标识信息匹配,则确定所述BIOS芯片已与所述BIOS接口程序绑定,允许所述BIOS接口程序访问所述BIOS芯片;

若标识信息不匹配,则确定所述BIOS芯片未与所述BIOS接口程序绑定,不允许所述BIOS接口程序访问所述BIOS芯片。

2.如权利要求1所述的硬盘加密密钥存储方法,其特征在于,所述调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中的步骤包括:调用所述BIOS接口程序通过预设加密算法对所述初始密钥进行二次加密,得到加密后的密钥;

将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中。

3.如权利要求2所述的硬盘加密密钥存储方法,其特征在于,所述将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中的步骤之后,还包括:在所述终端开机过程中,检测是否已开启自动解密功能;

若检测到已开启自动解密功能,则调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥;

通过与所述预设加密算法对应的解密算法对所述加密后的密钥进行解密,得到所述初始密钥;

调用所述预设加密程序通过所述初始密钥对所述目标硬盘进行解密。

4.如权利要求2所述的硬盘加密密钥存储方法,其特征在于,所述将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中的步骤包括:获取所述目标硬盘的硬盘序列号;

将所述加密后的密钥与所述硬盘序列号进行绑定后存储至所述预留存储空间中。

5.如权利要求1所述的硬盘加密密钥存储方法,其特征在于,所述调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中的步骤之后,还包括:当检测到找回密码请求后,获取与所述找回密码请求对应的身份验证信息;

检测所述身份验证信息是否符合身份验证要求;

若检测到所述身份验证信息符合所述身份验证要求,则调用所述BIOS接口程序从所述预留存储空间中获取所述初始密钥,以根据所述初始密钥为用户找回密码。

6.如权利要求1至5任一项所述的硬盘加密密钥存储方法,其特征在于,所述终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘的步骤之前,还包括:在所述终端中的BIOS进行开机初始化的过程中,检测是否已预留用于存储密钥的存储空间;

若检测到未预留用于存储密钥的存储空间,则在所述BIOS芯片中预留预设大小的存储空间作为预留存储空间。

7.一种硬盘加密密钥存储装置,其特征在于,所述硬盘加密密钥存储装置包括:检测模块,用于检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;

密钥生成模块,用于调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;

存储模块,用于调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中;

所述装置还用于当调用所述BIOS接口程序访问所述BIOS芯片时,获取所述BIOS芯片的标识信息,将所述标识信息与所述BIOS接口程序预先绑定的标识信息进行匹配;

若标识信息匹配,则确定所述BIOS芯片已与所述BIOS接口程序绑定,允许所述BIOS接口程序访问所述BIOS芯片;

若标识信息不匹配,则确定所述BIOS芯片未与所述BIOS接口程序绑定,不允许所述BIOS接口程序访问所述BIOS芯片。

8.一种硬盘加密密钥存储设备,其特征在于,所述硬盘加密密钥存储设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的硬盘加密密钥存储程序,所述硬盘加密密钥存储程序被所述处理器执行时实现如权利要求1至6中任一项所述的硬盘加密密钥存储方法的步骤。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有硬盘加密密钥存储程序,所述硬盘加密密钥存储程序被处理器执行时实现如权利要求1至6中任一项所述的硬盘加密密钥存储方法的步骤。

说明书 :

硬盘加密密钥存储方法、装置、设备及可读存储介质

技术领域

[0001] 本发明涉及硬盘加密技术领域,尤其涉及一种硬盘加密密钥存储方法、装置、设备及可读存储介质。

背景技术

[0002] 随着计算机终端行业的发展,对于终端的信息安全要求也在逐步提高,对本地硬盘数据进行加密已经成为信息敏感行业的标准要求。目前,针对Windows系统平台的加密,微软有提供如Bitlocker(驱动器加密)的工具来实现对硬盘数据的加密功能。但是Bitlocker要实现开机自动解密功能,终端中必须配备有TPM(受信任的平台模块)芯片,否则无法进行硬盘的开机自动解密,即需要增加额外的硬件成本。

发明内容

[0003] 本发明的主要目的在于提供一种硬盘加密密钥存储方法、装置、设备及可读存储介质,旨在解决目前的加密工具Bitlocker要实现硬盘的开机自动解密功能,必须配备TPM芯片,增加了硬件成本的技术问题。
[0004] 为实现上述目的,本发明提供一种硬盘加密密钥存储方法,所述硬盘加密密钥存储方法包括步骤:
[0005] 终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;
[0006] 调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;
[0007] 调用基本输入输出系统BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中。
[0008] 可选地,所述调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中的步骤包括:
[0009] 调用所述BIOS接口程序通过预设加密算法对所述初始密钥进行二次加密,得到加密后的密钥;
[0010] 将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中。
[0011] 可选地,所述将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中的步骤之后,还包括:
[0012] 在所述终端开机过程中,检测是否已开启自动解密功能;
[0013] 若检测到已开启自动解密功能,则调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥;
[0014] 通过与所述预设加密算法对应的解密算法对所述加密后的密钥进行解密,得到所述初始密钥;
[0015] 调用所述预设加密程序通过所述初始密钥对所述目标硬盘进行解密。
[0016] 可选地,所述调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥的步骤包括:
[0017] 调用所述BIOS接口程序判断所述BIOS芯片是否与所述BIOS接口程序绑定;
[0018] 若所述BIOS芯片与所述BIOS接口程序绑定,则从所述预留存储空间中获取所述加密后的密钥。
[0019] 可选地,所述将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中的步骤包括:
[0020] 获取所述目标硬盘的硬盘序列号;
[0021] 将所述加密后的密钥与所述硬盘序列号进行绑定后存储至所述预留存储空间中。
[0022] 可选地,所述调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中的步骤之后,还包括:
[0023] 当检测到找回密码请求后,获取与所述找回密码请求对应的身份验证信息;
[0024] 检测所述身份验证信息是否符合身份验证要求;
[0025] 若检测到所述身份验证信息符合所述身份验证要求,则调用所述BIOS接口程序从所述预留存储空间中获取所述初始密钥,以根据所述初始密钥为用户找回密码。
[0026] 可选地,所述终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘的步骤之前,还包括:
[0027] 在所述终端中的BIOS进行开机初始化的过程中,检测是否已预留用于存储密钥的存储空间;
[0028] 若检测到未预留用于存储密钥的存储空间,则在所述BIOS芯片中预留预设大小的存储空间作为预留存储空间。
[0029] 此外,为实现上述目的,本发明还提供一种硬盘加密密钥存储装置,所述硬盘加密密钥存储装置包括:
[0030] 检测模块,用于检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;
[0031] 密钥生成模块,用于调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;
[0032] 存储模块,用于调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中。
[0033] 此外,为实现上述目的,本发明还提供一种硬盘加密密钥存储设备,所述硬盘加密密钥存储设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的硬盘加密密钥存储程序,所述硬盘加密密钥存储程序被所述处理器执行时实现如上所述的硬盘加密密钥存储方法的步骤。
[0034] 此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有硬盘加密密钥存储程序,所述硬盘加密密钥存储程序被处理器执行时实现如上所述的硬盘加密密钥存储方法的步骤。
[0035] 本发明通过当检测到硬盘加密请求后,将硬盘加密请求对应的硬盘确定为目标硬盘;调用预设加密程序生成用于对目标硬盘进行加密的初始密钥;调用BIOS接口程序将初始密钥存储至BIOS芯片的预留存储空间中,实现了在不添加硬件成本的前提下,提供保存密钥的存储空间,并使得终端在不带TPM的情况下也能进行硬盘的开机自动解密。

附图说明

[0036] 图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
[0037] 图2为本发明硬盘加密密钥存储方法第一实施例的流程示意图;
[0038] 图3为本发明硬盘加密密钥存储方法第二实施例的流程示意图;
[0039] 图4为本发明硬盘加密密钥存储方法第三实施例的流程示意图;
[0040] 图5为本发明硬盘加密密钥存储装置较佳实施例的功能示意图模块图。
[0041] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0042] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0043] 本发明提供了一种硬盘加密密钥存储设备,参照图1,图1是本发明实施例方案涉及的硬件运行环境的结构示意图。
[0044] 需要说明的是,图1即可为硬盘加密密钥存储设备的硬件运行环境的结构示意图。本发明实施例硬盘加密密钥存储设备可以是PC,也可以是智能手机、智能电视机、平板电脑、便携计算机等具有显示功能的终端设备。
[0045] 如图1所示,该硬盘加密密钥存储设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
[0046] 可选地,硬盘加密密钥存储设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。本领域技术人员可以理解,图1中示出的硬盘加密密钥存储设备结构并不构成对硬盘加密密钥存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0047] 如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及硬盘加密密钥存储程序。
[0048] 在图1所示的硬盘加密密钥存储设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的硬盘加密密钥存储程序,并执行以下操作:
[0049] 终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;
[0050] 调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;
[0051] 调用基本输入输出系统BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中。
[0052] 进一步地,所述调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中的步骤包括:
[0053] 调用所述BIOS接口程序通过预设加密算法对所述初始密钥进行二次加密,得到加密后的密钥;
[0054] 将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中。
[0055] 进一步地,所述将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中的步骤之后,处理器1001可以调用存储器1005中存储的硬盘加密密钥存储程序,还执行以下操作:在所述终端开机过程中,检测是否已开启自动解密功能;
[0056] 若检测到已开启自动解密功能,则调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥;
[0057] 通过与所述预设加密算法对应的解密算法对所述加密后的密钥进行解密,得到所述初始密钥;
[0058] 调用所述预设加密程序通过所述初始密钥对所述目标硬盘进行解密。
[0059] 进一步地,所述调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥的步骤包括:
[0060] 调用所述BIOS接口程序判断所述BIOS芯片是否与所述BIOS接口程序绑定;
[0061] 若所述BIOS芯片与所述BIOS接口程序绑定,则从所述预留存储空间中获取所述加密后的密钥。
[0062] 进一步地,所述将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中的步骤包括:
[0063] 获取所述目标硬盘的硬盘序列号;
[0064] 将所述加密后的密钥与所述硬盘序列号进行绑定后存储至所述预留存储空间中。
[0065] 进一步地,所述调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中的步骤之后,处理器1001可以调用存储器1005中存储的硬盘加密密钥存储程序,还执行以下操作:
[0066] 当检测到找回密码请求后,获取与所述找回密码请求对应的身份验证信息;
[0067] 检测所述身份验证信息是否符合身份验证要求;
[0068] 若检测到所述身份验证信息符合所述身份验证要求,则调用所述BIOS接口程序从所述预留存储空间中获取所述初始密钥,以根据所述初始密钥为用户找回密码。
[0069] 进一步地,所述终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘的步骤之前,处理器1001可以调用存储器1005中存储的硬盘加密密钥存储程序,还执行以下操作:
[0070] 在所述终端中的BIOS进行开机初始化的过程中,检测是否已预留用于存储密钥的存储空间;
[0071] 若检测到未预留所述用于存储密钥的存储空间,则在所述BIOS芯片中预留预设大小的存储空间作为预留存储空间。
[0072] 基于上述的硬件结构,提出本发明硬盘加密密钥存储方法的各个实施例。
[0073] 参照图2,本发明硬盘加密密钥存储方法第一实施例提供一种硬盘加密密钥存储方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。所述硬盘加密密钥存储方法包括:
[0074] 步骤S1,终端检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;
[0075] 目前,当用户需要对硬盘中的数据进行保护时,可通过Windows系统平台中的Bitlocker(驱动器加密)将硬盘数据进行加密。但是Bitlocker将密钥存储在了一个独立芯片TPM(受信任的平台模块)中,为实现开机自动解密功能,终端中必须配备TPM,否则无法实现自动解密。
[0076] 为解决上述问题,在本实施例中,提出一种硬盘加密密钥存储方法。用户可根据自己的喜好需求,在终端上进行硬盘的加密操作,用户的加密操作将会触发硬盘加密请求,当终端检测到硬盘加密请求后,将硬盘加密请求对应的硬盘确定为目标硬盘。
[0077] 步骤S2,调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;
[0078] 当终端确定需要加密的目标硬盘后,调用预设加密程序生成初始密钥,初始密钥用于对目标硬盘进行加密。终端调用预设加密程序用初始密钥对目标硬盘进行加密。其中,预设加密程序可以是Bitlocker,也可以是终端中安装的其他第三方加密程序。
[0079] 步骤S3,调用基本输入输出系统BIOS接口程序将所述密钥存储至BIOS芯片的预留存储空间。
[0080] 当终端得到初始密钥后,调用BIOS(Basic Input Output System,基本输入输出系统)接口程序将初始密钥存储至BIOS芯片的预留存储空间中。BIOS是一组固化到计算机内主板上一个芯片中的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,BIOS芯片即存储BIOS这一程序的芯片。在本实施例中可在BIOS芯片中预留用于保存密钥的存储空间,即预留存储空间;BIOS接口程序是唯一能够访问该BIOS芯片预留存储空间的程序;终端必须有BIOS接口程序的调用权限才能通过调用BIOS接口程序访问预留存储空间,从而保证了BIOS芯片中存储的密钥数据的安全性。
[0081] 在开机自动解密硬盘时,终端先调用BIOS接口程序从预留存储空间中获取到初始密钥,然后调用预设加密程序通过获取到的初始密钥对目标硬盘进行解密,从而使得在终端中不需TMP即可实现自动解密功能。并且,在本实施例中是利用了终端原有的BIOS芯片来进行密钥的存储,没有额外增加硬件成本。
[0082] 在本实施例中,通过当检测到硬盘加密请求后,将硬盘加密请求对应的硬盘确定为目标硬盘;调用预设加密程序生成用于对目标硬盘进行加密的初始密钥;调用BIOS接口程序将初始密钥存储至BIOS芯片的预留存储空间中,实现了在不添加硬件成本的前提下,提供保存密钥的存储空间,并使得终端在不带TPM的情况下也能进行硬盘的开机自动解密。
[0083] 进一步的,基于上述第一实施例,本发明硬盘加密密钥存储方法第二实施例提供一种硬盘加密密钥存储方法。在本实施例中,参照图3,步骤S3包括:
[0084] 步骤S31,调用所述BIOS接口程序通过预设加密算法对所述初始密钥进行二次加密,得到加密后的密钥;
[0085] 当终端得到初始密钥后,调用BIOS接口程序通过预设加密算法对初始密钥进行二次加密,得到加密后的密钥。其中预设加密算法可以是国密算法SM4。
[0086] 步骤S32,将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中。
[0087] 终端调用BIOS接口程序将加密后的密钥存储至BIOS芯片的预留存储空间中。
[0088] 在本实施例中,通过将初始密钥进行二次加密后再存储至BIOS芯片,使得其他人即使通过非法途径获取到了BIOS中的数据,也因为获取到的是加密后的密钥无法利用获取到的数据进行硬盘解密,从而增加了密钥存储的安全性。
[0089] 进一步地,所述步骤S32之后,还包括:
[0090] 步骤S4,在所述终端开机过程中,检测是否已开启自动解密功能;
[0091] 在终端开机过程中,检测是否已开启自动解密功能。用户在终端中进行硬盘的加密操作时,终端可提供自动解密功能设置选项,供用户设置是否开启自动解密功能。在终端开机过程中,终端可以通过查询加密硬盘时的用户的设置来判断是否开启自动解密功能。
[0092] 步骤S5,若检测到已开启自动解密功能,则调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥;
[0093] 若终端检测到已开启自动解密功能,则调用BIOS接口程序从预留存储空间中获取加密后的密钥。若终端检测到未开启自动解密功能,则不进行硬盘解密,继续正常运行。
[0094] 步骤S6,通过与所述预设加密算法对应的解密算法对所述加密后的密钥进行解密,得到所述初始密钥;
[0095] 终端调用BIOS接口程序通过与预设加密算法对应的解密算法,对加密后的密钥进行解密,即将加密后的密钥还原得到初始密钥。
[0096] 步骤S7,调用所述预设加密程序通过所述初始密钥对所述目标硬盘进行解密。
[0097] 在终端调用BIOS接口程序得到初始密钥后,终端调用预设加密程序通过得到的初始密钥对目标硬盘进行解密,从而实现了硬盘的解密过程。
[0098] 在本实施例中,实现了无需添加硬件成本,也无需TPM的情况下的硬盘自动解密功能,并且通过将二次加密后的密钥进行还原得到初始密钥,再利用初始密钥对目标硬盘进行解密,实现了对硬盘数据更加安全的保护。
[0099] 进一步的,基于上述第一或第二实施例,本发明硬盘加密密钥存储方法第三实施例提供一种硬盘加密密钥存储方法。在本实施例中,步骤S5中的调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥的步骤包括:
[0100] 步骤a,调用所述BIOS接口程序判断所述BIOS芯片是否与所述BIOS接口程序绑定;
[0101] 可预先将BIOS接口程序与BIOS芯片进行绑定。绑定的方式可以是将BIOS芯片的标识信息与BIOS接口程序绑定,BIOS芯片的标识信息可以是能够唯一识别该BIOS芯片的信息。在需要访问BIOS芯片的存储空间时,如需要从BIOS芯片的预留存储空间中获取加密后的密钥时,终端调用BIOS芯片获取该BIOS芯片的标识信息,将该标识信息与预先绑定的标识信息进行匹配,以判断该BIOS芯片是否与BIOS接口程序绑定。若标识信息匹配,则确定该BIOS芯片是预先与BIOS接口程序绑定的;若标识信息不匹配,则确定该BIOS芯片未与BIOS接口程序绑定,此时说明该BIOS芯片可能不是本机的BIOS芯片。
[0102] 此外,绑定的方式还可以是,在BIOS接口程序中写入验证信息,将该验证信息与BIOS芯片绑定。在终端调用BIOS接口程序访问BIOS芯片时,由终端中的BIOS芯片将该BIOS接口程序中的验证信息与预先绑定的验证信息进行匹配;若验证信息能够匹配,则说明该BIOS接口程序与该BIOS芯片绑定,BIOS芯片允许该BIOS接口程序访问其存储空间;若验证信息不能匹配,则说明该BIOS接口程序未与该BIOS芯片绑定,则BIOS芯片不允许该BIOS接口程序访问其存储空间,此时可能是有人采用非法方式访问该BIOS芯片。上述两种绑定方式可以单独使用,也可以结合使用。结合使用时,当BIOS芯片允许BIOS接口程序访问其存储空间,且BIOS芯片的标识信息与BIOS接口程序预先绑定的标识信息匹配成功时,终端确定该BIOS芯片与该BIOS接口程序绑定。
[0103] 步骤b,若所述BIOS芯片与所述BIOS接口程序绑定,则从所述预留存储空间中获取所述加密后的密钥。
[0104] 若终端调用BIOS接口程序确定该BIOS芯片与该BIOS接口程序绑定,则调用BIOS接口程序从预留存储空间中获取加密后的密钥。
[0105] 需要说明的是,在将BIOS接口程序与BIOS芯片进行绑定后,终端在调用BIOS接口程序在访问BIOS芯片时,均需判断BIOS芯片是否与BIOS接口程序绑定,即判断是否绑定的过程不限于调用BIOS接口程序从BIOS芯片中获取加密后的密钥的过程。
[0106] 在本实施例中,通过将终端中的BIOS芯片和BIOS接口程序绑定,使得该终端中的BIOS芯片只能被该终端中的BIOS接口程序访问,该终端中的BIOS接口程序只能访问该终端中的BIOS芯片,从而有效避免在其他机器上对BIOS芯片或BIOS接口程序进行破解的风险。
[0107] 进一步地,参照图4,步骤S32还包括:
[0108] 步骤S321,获取所述目标硬盘的硬盘序列号;
[0109] 当终端得到初始密钥后,可调用BIOS接口程序获取目标硬盘的硬盘序列号。其中,硬盘序列号是对硬盘进行格式化时随机产生的磁盘标识信息,每个磁盘对应唯一的一个磁盘序列号。
[0110] 步骤S322,将所述加密后的密钥与所述硬盘序列号进行绑定后存储至所述预留存储空间中。
[0111] 终端调用BIOS接口程序将获取到的目标硬盘的硬盘序列号和加密后的密钥进行绑定后存储至预留存储空间中。在本实施例中,通过将加密后的密钥和硬盘序列号进行绑定,可以有效避免更换硬盘后,原硬盘密钥丢失的情况发生。进一步地,也可以是终端调用BIOS接口程序将获取到的硬盘序列号与初始密钥进行绑定后,存储至预留存储空间中。
[0112] 进一步的,基于上述第一、第二或第三实施例,本发明硬盘加密密钥存储方法第四实施例提供一种硬盘加密密钥存储方法。在本实施例中,步骤S3之后,包括:
[0113] 步骤c,当检测到找回密码请求后,获取与所述找回密码请求对应的身份验证信息;
[0114] 用户可在终端中进行硬盘加密操作时,设置用于解密的密码,终端调用预设加密程序根据用户设置的密码生成用于对目标硬盘进行加密的初始密钥,即初始密钥是根据用户设置的密码生成的。当用户需要进行硬盘解密时输入密码,终端调用预设加密程序,根据输入的密码生成用于解密的初始密钥,再用初始密钥对目标硬盘进行解密。而当用户忘记密码时,可通过BIOS芯片的预留存储空间中的初始密钥来进行硬盘解密。
[0115] 而为了在用户忘记密码时,能够获取到BIOS芯片中存储的初始密钥,用户可在进行硬盘加密操作时,同时录入自己的电话号码或身份证号码等信息,作为找回密码时的身份验证信息,身份验证信息可以是一个也可以是多个。终端根据用户触发的硬盘加密请求,对硬盘加密请求对应的硬盘进行加密,以及密钥存储时,可将用户录入的身份验证信息进行保存。终端中提供用户忘记密码时找回密码的途径,以供用户在终端中输入自己的身份验证信息。当终端检测到用户触发的找回密码请求后,获取与该找回密码请求对应的身份验证信息。
[0116] 步骤d,检测所述身份验证信息是否符合身份验证要求;
[0117] 终端检测获取到的身份验证信息是否符合身份验证要求。若终端设置了一个身份验证信息,则身份验证要求是获取到的该一个身份验证信息与预先保存的一个身份验证信息能够匹配,如当设置的身份验证信息是电话号码时,当用户输入的电话号码与预先保存的电话号码相同时,确定符合身份验证要求。若终端设置了多个身份验证信息,则身份验证要求可以是获取到的身份验证信息中至少几个能与预先保存的身份验证信息匹配,如当设置的身份验证信息是电话号码、邮箱号码、姓名、身份证号码时,当用户输入的这四个信息中有三个信息相同时,可确定符合身份验证要求。但为了对硬盘数据更加安全的保护,最佳为设置多个身份验证信息,且当多个身份验证信息均匹配时才确定符合身份验证要求。
[0118] 步骤e,若检测到所述身份验证信息符合所述身份验证要求,则调用所述BIOS接口程序从所述预留存储空间中获取所述初始密钥,以根据所述初始密钥为用户找回密码。
[0119] 若终端检测到身份验证信息符合身份验证要求,则调用BIOS接口程序从预留存储空间中获取初始密钥。若预留存储空间中存储的是加密后的密钥,则先调用BIOS接口程序将该加密后的密钥进行解密,还原为初始密钥。在获取到初始密钥后,终端调用预设加密程序通过初始密钥对目标硬盘进行解密。终端根据用户重新设置的密码,再进行目标硬盘的加密,即根据重新设置的密码生成新的初始密钥,再调用BIOS接口程序将新的初始密钥存储至BIOS芯片的预留存储空间,从而实现了帮用户找回密码的功能。
[0120] 若终端检测到身份验证信息不符合身份验证要求,则不进行后续获取初始密钥的操作,以避免他人通过找回密码功能窃取BIOS芯片中存储的初始密钥。
[0121] 进一步地,还可以是若终端检测到身份验证信息符合身份验证要求,则根据身份验证信息中的电话号码,将验证码发送给用户的手机。验证码可以是随机产生的,也可以是预先设置的。当用户收到验证码后,在终端中输入验证码,终端根据获取到的正确的验证码,调用BIOS接口程序从预留存储空间中获取初始密钥,进而帮助用户找回密码。
[0122] 在本实施例中,实现了当用户忘记密码的时候,通过终端提供的找回密码的途径,简单地输入自己的身份验证信息即可找回密码,而无需管终端后台如何找到存储的密钥,从而使得用户找回密码的过程变得简单、易操作。
[0123] 进一步的,基于上述第一、第二、第三或第四实施例,本发明硬盘加密密钥存储方法第五实施例提供一种硬盘加密密钥存储方法。在本实施例中,步骤S1之前,包括:
[0124] 步骤f,在所述终端中的BIOS进行开机初始化的过程中,检测是否已预留用于存储密钥的存储空间;
[0125] 终端开机过程中,终端中的BIOS会进行开机初始化工作,BIOS可检测是否已经预留了用于存储密钥的存储空间。需要说明的是,BIOS在第一次预留了用于存储密钥的存储空间后,此后开机初始化过程将不需再预留空间。
[0126] 步骤g,若检测到未预留用于存储密钥的存储空间,则在所述BIOS芯片中预留预设大小的存储空间作为预留存储空间。
[0127] 若BIOS检测到未预留用于存储密钥的存储空间,则在BIOS芯片中预留预设大小的存储空间作为预留存储空间。其中预设大小可以根据密钥的大小或者BIOS芯片的容量来确定,即当密钥较大或者BIOS芯片的容量较大时,可预留较大的存储空间,以保证存储的密钥不会超过预留存储空间的容量上限。若检测到已经预留用于存储密钥的存储空间,则继续初始化工作,正常开机。
[0128] 在本实施例中,通过当检测到未在BIOS芯片中预留用于存储密钥的存储空间时,在BIOS芯片中预留用于存储密钥的预留存储空间,使得BIOS芯片中能够存储密钥,而不需要额外增加硬件成本来存储密钥,为本地信息安全存储提供了固件层保护。
[0129] 此外,本发明实施例还提出一种硬盘加密密钥存储装置,参照图5,所述硬盘加密密钥存储装置包括:
[0130] 检测模块10,用于检测到硬盘加密请求后,将所述硬盘加密请求对应的硬盘确定为目标硬盘;
[0131] 密钥生成模块20,用于调用预设加密程序生成用于对所述目标硬盘进行加密的初始密钥;
[0132] 存储模块30,用于调用BIOS接口程序将所述初始密钥存储至BIOS芯片的预留存储空间中。
[0133] 进一步地,所述存储模块30包括:
[0134] 二次加密单元,用于调用所述BIOS接口程序通过预设加密算法对所述初始密钥进行二次加密,得到加密后的密钥;
[0135] 存储单元,用于将所述加密后的密钥存储至所述BIOS芯片的预留存储空间中。
[0136] 进一步地,所述检测模块10还用于在所述终端开机过程中,检测是否已开启自动解密功能;
[0137] 所述硬盘加密密钥存储装置还包括:
[0138] 获取模块,用于若检测到已开启自动解密功能,则调用所述BIOS接口程序从所述预留存储空间中获取所述加密后的密钥;
[0139] 解密模块,用于通过与所述预设加密算法对应的解密算法对所述加密后的密钥进行解密,得到所述初始密钥;调用所述预设加密程序通过所述初始密钥对所述目标硬盘进行解密。
[0140] 进一步地,所述获取模块包括:
[0141] 判断单元,用于调用所述BIOS接口程序判断所述BIOS芯片是否与所述BIOS接口程序绑定;
[0142] 获取单元,用于若所述BIOS芯片与所述BIOS接口程序绑定,则从所述预留存储空间中获取所述加密后的密钥。
[0143] 进一步地,存储单元包括:
[0144] 获取子单元,用于获取所述目标硬盘的硬盘序列号;
[0145] 存储子单元,用于将所述加密后的密钥与所述硬盘序列号进行绑定后存储至所述预留存储空间中。
[0146] 进一步地,所述获取模块还用于当检测到找回密码请求后,获取与所述找回密码请求对应的身份验证信息;
[0147] 所述检测模块10还用于检测所述身份验证信息是否符合身份验证要求;
[0148] 所述获取模块还用于若检测到所述身份验证信息符合所述身份验证要求,则调用所述BIOS接口程序从所述预留存储空间中获取所述初始密钥,以根据所述初始密钥为用户找回密码。
[0149] 进一步地,所述检测模块10还用于在所述终端中的BIOS进行开机初始化的过程中,检测是否已预留用于存储密钥的存储空间;
[0150] 所述硬盘加密密钥存储装置还包括:
[0151] 预留模块,用于若检测到未预留所述用于存储密钥的存储空间,则在所述BIOS芯片中预留预设大小的存储空间作为预留存储空间。
[0152] 本发明硬盘加密密钥存储装置的具体实施方式的拓展内容与上述硬盘加密密钥存储方法各实施例基本相同,在此不做赘述。
[0153] 此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有硬盘加密密钥存储程序,所述硬盘加密密钥存储程序被处理器执行时实现如上所述硬盘加密密钥存储方法的步骤。
[0154] 本发明硬盘加密密钥存储设备和计算机可读存储介质的具体实施方式的拓展内容与上述硬盘加密密钥存储方法各实施例基本相同,在此不做赘述。
[0155] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0156] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0157] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0158] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。