数据验证方法和验证系统转让专利

申请号 : CN201810586078.4

文献号 : CN108985079B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黎剑坤李卫军

申请人 : 深圳大普微电子科技有限公司

摘要 :

本发明实施例提供了一种数据验证方法和验证系统,用于提高存储设备上的数据的安全性。本发明实施例的数据验证方法包括:存储设备获取主机发送的加密命令,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥。存储设备使用预存的公钥对加密命令进行验证;若使用公钥对加密命令验证通过,则存储设备执行目标命令,目标命令为访问存储设备上的数据的命令。这样,存储设备使用公钥对加密命令若验证通过,表示主机的系统符合要求,从而存储设备执行目标命令,允许主机访问存储设备上的数据。通过密钥对实现了对主机的验证,从而提高了存储设备上的数据的安全性。

权利要求 :

1.一种数据验证方法,其特征在于,包括:存储设备获取主机发送的加密命令,所述加密命令为使用第一私钥对目标命令进行签名得到的命令,所述第一私钥为使用所述主机的系统特征值生成的私钥;

所述存储设备使用预存的公钥对所述加密命令进行验证;

若使用所述公钥对所述加密命令验证通过,则所述存储设备执行所述目标命令,所述目标命令为访问所述存储设备上的数据的命令;

所述存储设备使用预存的公钥对所述加密命令进行验证之前,所述方法还包括:目标主机根据预设采集规则,采集所述目标主机的第一系统特征值;

所述目标主机使用所述第一系统特征值,通过预设算法生成第二私钥;

所述目标主机根据所述第二私钥生成公钥;

所述存储设备获取所述目标主机发送的所述公钥;

所述存储设备保存所述公钥。

2.根据权利要求1所述的方法,其特征在于,所述存储设备获取主机发送的加密命令之前,所述方法还包括:主机根据预设采集规则,采集所述主机的系统特征值;

所述主机使用所述主机的系统特征值,通过预设算法生成第一私钥;

所述主机使用所述第一私钥对目标命令进行签名,得到加密命令。

3.根据权利要求2所述的方法,其特征在于,所述存储设备获取所述目标主机发送的所述公钥之后,所述方法还包括:所述存储设备和所述目标主机获取触发指令;

在所述触发指令的触发下,所述目标主机根据所述预设采集规则,采集所述目标主机的第二系统特征值;

所述目标主机使用所述第二系统特征值,通过预设算法生成第三私钥;

所述目标主机根据所述第三私钥生成更新用的公钥;

所述存储设备获取所述目标主机发送的所述更新用的公钥;

在所述触发指令的触发下,所述存储设备使用所述更新用的公钥更新所述公钥。

4.根据权利要求1所述的方法,其特征在于,所述预设算法为单向密码散列函数。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述存储设备使用预存的公钥对所述加密命令进行验证之后,所述方法还包括:若使用所述公钥对所述加密命令验证不通过,则所述存储设备执行预设错误处理操作。

6.一种验证系统,其特征在于,所述验证系统包括存储设备,所述存储设备包括获取单元、验证单元和执行单元;

所述获取单元,用于获取主机发送的加密命令,所述加密命令为使用第一私钥对目标命令进行签名得到的命令,所述第一私钥为使用所述主机的系统特征值生成的私钥;

所述验证单元,用于使用预存的公钥对所述加密命令进行验证;

所述执行单元,用于若使用所述公钥对所述加密命令验证通过,则执行所述目标命令,所述目标命令为访问所述存储设备上的数据的命令;

所述验证系统包括目标主机,所述目标主机包括目标采集单元、和目标生成单元,所述存储设备还包括保存单元;

所述目标采集单元,用于根据预设采集规则,采集所述目标主机的第一系统特征值;

所述目标生成单元,用于使用所述第一系统特征值,通过预设算法生成第二私钥;

所述目标生成单元,还用于根据所述第二私钥生成公钥;

所述存储设备的获取单元,还用于获取所述目标主机发送的所述公钥;

所述存储设备的保存单元,用于保存所述公钥。

7.根据权利要求6 所述的验证系统,其特征在于,所述验证系统还包括主机,所述主机包括主机采集单元、主机生成单元和主机签名单元;

所述主机采集单元,用于根据预设采集规则,采集所述主机的系统特征值;

所述主机生成单元,用于使用所述主机的系统特征值,通过预设算法生成第一私钥;

所述主机签名单元,用于使用所述第一私钥对目标命令进行签名,得到加密命令。

8.根据权利要求7所述的验证系统,其特征在于,所述目标主机包括目标获取单元,所述存储设备还包括更新单元;

所述目标主机的目标获取单元和所述存储设备的获取单元,用于获取触发指令;

所述目标采集单元,还用于在所述触发指令的触发下,根据所述预设采集规则,采集所述目标主机的第二系统特征值;

所述目标生成单元,还用于使用所述第二系统特征值,通过预设算法生成第三私钥;

所述目标生成单元,还用于根据所述第三私钥生成更新用的公钥;

所述存储设备的获取单元,还用于获取所述目标主机发送的所述更新用的公钥;

所述存储设备的更新单元,用于在所述触发指令的触发下,使用所述更新用的公钥更新所述公钥。

说明书 :

数据验证方法和验证系统

技术领域

[0001] 本发明涉及数据加密领域,尤其涉及一种数据验证方法和验证系统。

背景技术

[0002] 数据保存在存储设备上,为了使得存储设备上的数据有安全保障,目前出现了各种保障存储设备上数据的安全性的技术方案。
[0003] 现有的方案中,为了保障存储设备上数据的安全性,有如下两种方式:
[0004] 1、在操作系统层面执行对存储设备与系统环境绑定的保护工作。这样的方式,当存储设备被单独转移到其他系统环境,存储设备上的数据将可被随意访问,从而操作系统层面的保护也会失效。
[0005] 2、以数据加密方案保护数据,具体为加解密操作通常都集中在存储设备端进行。这样的方式,并不能在存储设备被转移到其他系统环境时,保护存储设备上的数据。且因数据加解密通常都在存储设备端处理,因此对主机端来说,所有数据都为明文的,无法保护存储设备被转移的场景。

发明内容

[0006] 针对上述技术问题,本发明实施例提供了一种数据验证方法和验证系统,用于提高存储设备上的数据的安全性。
[0007] 本发明实施例的第一方面提供了一种数据验证方法,包括:
[0008] 存储设备获取主机发送的加密命令,所述加密命令为使用第一私钥对目标命令进行签名得到的命令,所述第一私钥为使用所述主机的系统特征值生成的私钥;
[0009] 所述存储设备使用预存的公钥对所述加密命令进行验证;
[0010] 若使用所述公钥对所述加密命令验证通过,则所述存储设备执行所述目标命令,所述目标命令为访问所述存储设备上的数据的命令。
[0011] 可选地,所述存储设备使用预存的公钥对所述加密命令进行验证之前,所述方法还包括:
[0012] 目标主机根据预设采集规则,采集所述目标主机的第一系统特征值;
[0013] 所述目标主机使用所述第一系统特征值,通过预设算法生成第二私钥;
[0014] 所述目标主机根据所述第二私钥生成公钥;
[0015] 所述存储设备获取所述目标主机发送的所述公钥;
[0016] 所述存储设备保存所述公钥。
[0017] 可选地,所述存储设备获取主机发送的加密命令之前,所述方法还包括:
[0018] 主机根据预设采集规则,采集所述主机的系统特征值;
[0019] 所述主机使用所述主机的系统特征值,通过预设算法生成第一私钥;
[0020] 所述主机使用所述第一私钥对目标命令进行签名,得到加密命令。
[0021] 可选地,所述存储设备获取所述目标主机发送的所述公钥之后,所述方法还包括:
[0022] 所述存储设备和所述目标主机获取触发指令;
[0023] 在所述触发指令的触发下,所述目标主机根据所述预设采集规则,采集所述目标主机的第二系统特征值;
[0024] 所述目标主机使用所述第二系统特征值,通过预设算法生成第三私钥;
[0025] 所述目标主机根据所述第三私钥生成更新用的公钥;
[0026] 所述存储设备获取所述目标主机发送的所述更新用的公钥;
[0027] 在所述触发指令的触发下,所述存储设备使用所述更新用的公钥更新所述公钥。
[0028] 可选地,所述预设算法为单向密码散列函数。
[0029] 可选地,所述存储设备使用预存的公钥对所述加密命令进行验证之后,所述方法还包括:
[0030] 若使用所述公钥对所述加密命令验证不通过,则所述存储设备执行预设错误处理操作。
[0031] 本发明实施例的第二方面提供了一种验证系统,所述验证系统包括存储设备,所述存储设备包括获取单元、验证单元和执行单元;
[0032] 所述获取单元,用于获取主机发送的加密命令,所述加密命令为使用第一私钥对目标命令进行签名得到的命令,所述第一私钥为使用所述主机的系统特征值生成的私钥;
[0033] 所述验证单元,用于使用预存的公钥对所述加密命令进行验证;
[0034] 所述执行单元,用于若使用所述公钥对所述加密命令验证通过,则执行所述目标命令,所述目标命令为访问所述存储设备上的数据的命令。
[0035] 可选地,所述验证系统包括目标主机,所述目标主机包括目标采集单元、和目标生成单元,所述存储设备还包括保存单元;
[0036] 所述目标采集单元,用于根据预设采集规则,采集所述目标主机的第一系统特征值;
[0037] 所述目标生成单元,用于使用所述第一系统特征值,通过预设算法生成第二私钥;
[0038] 所述目标生成单元,还用于根据所述第二私钥生成公钥;
[0039] 所述存储设备的获取单元,还用于获取所述目标主机发送的所述公钥;
[0040] 所述存储设备的保存单元,用于保存所述公钥。
[0041] 可选地,所述验证系统还包括主机,所述主机包括主机采集单元、主机生成单元和主机签名单元;
[0042] 所述主机采集单元,用于根据预设采集规则,采集所述主机的系统特征值;
[0043] 所述主机生成单元,用于使用所述主机的系统特征值,通过预设算法生成第一私钥;
[0044] 所述主机签名单元,用于使用所述第一私钥对目标命令进行签名,得到加密命令。
[0045] 可选地,所述目标主机包括目标获取单元,所述存储设备还包括更新单元;
[0046] 所述目标主机的目标获取单元和所述存储设备的获取单元,用于获取触发指令;
[0047] 所述目标采集单元,还用于在所述触发指令的触发下,根据所述预设采集规则,采集所述目标主机的第二系统特征值;
[0048] 所述目标生成单元,还用于使用所述第二系统特征值,通过预设算法生成第三私钥;
[0049] 所述目标生成单元,还用于根据所述第三私钥生成更新用的公钥;
[0050] 所述存储设备的获取单元,还用于获取所述目标主机发送的所述更新用的公钥;
[0051] 所述存储设备的更新单元,用于在所述触发指令的触发下,使用所述更新用的公钥更新所述公钥。
[0052] 可选地,所述预设算法为单向密码散列函数。
[0053] 可选地,所述执行单元,还用于若使用所述公钥对所述加密命令验证不通过,则执行预设错误处理操作。
[0054] 本发明实施例提供的技术方案中,存储设备获取主机发送的加密命令,其中,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥。然后,存储设备使用预存的公钥对加密命令进行验证,若使用公钥对加密命令验证通过,则存储设备执行目标命令,目标命令为访问存储设备上的数据的命令。因此相对于现有技术,本发明实施例的加密命令由使用主机的系统特征值生成的第一私钥对目标命令进行签名得到,从而,存储设备使用公钥对加密命令进行验证,若验证通过,表示主机的系统符合要求,从而存储设备执行目标命令,允许主机访问存储设备上的数据。通过密钥对实现了对主机的验证,从而提高了存储设备上的数据的安全性。

附图说明

[0055] 图1为本发明一实施例提供的数字签名过程示意图;
[0056] 图2为本发明另一实施例提供的密钥对的产生过程示意图;
[0057] 图3为本发明另一实施例提供的单向密码散列函数生成私钥的过程示意图;
[0058] 图4为本发明另一实施例提供的一种数据验证方法涉及的使用场景图;
[0059] 图5为本发明另一实施例提供的一种数据验证方法的流程图;
[0060] 图6为本发明另一实施例提供的一种数据验证方法的流程图;
[0061] 图7为图6所示的数据验证方法的实现示意图;
[0062] 图8为本发明另一实施例提供的一种数据验证方法的流程图;
[0063] 图9为图8所示的数据验证方法的实现示意图;
[0064] 图10为本发明另一实施例提供的一种验证系统的结构示意图。

具体实施方式

[0065] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0066] 为了准确理解本发明实施例的数据验证方法和验证系统,下面对本发明实施例的数据验证方法和验证系统涉及到的一些术语进行介绍。
[0067] 一、数字签名。
[0068] 数字签名指只有信息发送者的私钥才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
[0069] 数字签名是非对称密钥加密技术与数字摘要技术的应用。其主要作用是保证信息传输的完整性、发送者的身份认证、以及防止交易中的抵赖发生。
[0070] 如图1所示,数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用哈希(HASH)函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
[0071] 数字签名是个加密的过程,数字签名验证是个解密的过程。
[0072] 数字签名算法至少应该满足下述三个条件:
[0073] 1.接收者能够核实发送者对报文的签名;
[0074] 2.发送者事后不能抵赖对其报文的签名;
[0075] 3.接收者无法伪造对报文的签名。
[0076] 二、非对称加密技术。
[0077] 非对称加密技术需要两个密钥:公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以非对称加密技术的算法叫作非对称加密算法。
[0078] 其中,密钥对的产生过程,可参阅图2。私钥的生成可通过单向密码散列函数(cryptographic hash)实现,其中,单向密码散列函数生成私钥的过程如图3所示。
[0079] 图4为本发明实施例提供的一种数据验证方法涉及的使用场景图。如图4所示,本发明实施例的数据验证方法涉及主机和存储设备。主机和存储设备可以进行通信,以进行数据交互。
[0080] 主机可以为手机、平板电脑、个人计算机等设备,用户可以对主机进行操作,例如控制主机发送指令。
[0081] 存储设备可以为机械硬盘、固态硬盘等存储设备,该存储设备上可以设有存储控制系统。存储设备可用于进行数据的存储,存储设备和主机可以将各自的数据进行交互传送。
[0082] 存储设备可以设置在主机上,也可以和主机分离设置,例如存储设备为安装在笔记本电脑上的硬盘,或者存储设备为移动硬盘。
[0083] 图5为本发明实施例提供的一种数据验证方法的流程图,该方法可应用于存储设备上,该存储设备可为图4所示实施例的存储设备。
[0084] 参考图4和图5,以及上文所述的内容,本发明实施例的数据验证方法包括:
[0085] 步骤501:存储设备获取主机发送的加密命令。
[0086] 其中,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥。目标命令为访问存储设备上的数据的命令。
[0087] 加密命令的产生可以在主机上实现,也可以在其它设备上实现,只要该加密命令为使用第一私钥对目标命令进行签名得到,且第一私钥为使用主机的系统特征值生成的私钥即可。
[0088] 主机上得到加密命令后,主机向存储设备发送该加密命令,以使存储设备对加密命令进行验证。
[0089] 步骤502:存储设备使用预存的公钥对加密命令进行验证。
[0090] 因使用第一私钥对目标命令进行签名得到加密命令,即通过第一私钥对目标命令进行了加密,从而可以对加密命令进行验证,即使用公钥对加密命令进行解密。
[0091] 在存储设备上存储有公钥,该公钥可以对被对应的私钥加密的数据进行解密,该公钥和私钥为密钥对。
[0092] 存储设备获取到加密命令后,使用预存的公钥对加密命令进行验证,以确定是否执行目标命令。
[0093] 步骤503:若使用公钥对加密命令验证通过,则存储设备执行目标命令。
[0094] 若使用公钥对加密命令验证通过,表示第一秘钥和步骤502的公钥为一密钥对,公钥可对加密命令进行解密,以得到目标命令,从而,存储设备执行目标命令,因目标命令为访问存储设备上的数据的命令,从而,主机可以访问存储设备上的数据。
[0095] 这样,本发明实施例的加密命令由使用主机的系统特征值生成的第一私钥对目标命令进行签名得到,从而,存储设备使用公钥对加密命令进行验证,若验证通过,表示主机的系统符合要求,从而存储设备执行目标命令,允许主机访问存储设备上的数据。通过密钥对实现了对主机的验证,从而提高了存储设备上的数据的安全性。
[0096] 图6和图8为本发明实施例提供的一种数据验证方法的两流程图,该方法可应用于存储设备上,该存储设备可为图4所示实施例的存储设备。图6所示的数据验证方法可基于图5所示的数据验证方法实现。
[0097] 参考图4-图9,以及上文所述的内容,本发明实施例的数据验证方法包括如下步骤:
[0098] 一、公钥初始化流程。
[0099] 图6为本发明实施例提供的一种数据验证方法的流程图,图6的方法涉及公钥初始化流程,公钥初始化流程为存储设备使用公钥对加密命令进行验证之前的流程,包括步骤601-605,具体的实现示意图可参阅图7。
[0100] 步骤601:目标主机根据预设采集规则,采集目标主机的第一系统特征值。
[0101] 目标主机为具有授权功能的主机,换言之,目标主机为可以下发公钥的主机。
[0102] 第一系统特征值为目标主机的系统特征值,系统特征值表示主机的系统标识。其中,第一系统特征值包括但不限于以下一项或多项的组合:
[0103] 1)硬件标识码(identity,ID),例如中央处理器(Central Processing Unit,CPU)、网卡、键盘、显卡等的标识信息;
[0104] 2)外设的驱动版本号,例如CPU、显示器等外设的驱动版本号;
[0105] 3)目标主机的操作系统类型、版本号、或产品ID等;
[0106] 4)目标主机上的指定软件的版本号,若该软件没有安装,则默认版本号可为0预设值;
[0107] 5)用户密码。
[0108] 第一系统特征值的取值范围由特权用户预设,即预设采集规则为特权用户预设的规则,预设采集规则为采集系统特征值的规则。例如,预设采集规则为第一系统特征值包括CPU和网卡的标识信息、以及用户密码,或者预设采集规则为第一系统特征值包括CPU的外设驱动版本号和目标主机的操作系统类型。
[0109] 目标主机根据预设采集规则,采集目标主机的第一系统特征值。
[0110] 具体可以为特权用户触发初始化过程,目标主机的驱动根据特权用户预设的预设采集规则获取系统特征值的集合,得到第一系统特征值。目标主机可以第一系统特征值作为种子生成密钥对,如步骤602和步骤603所示。
[0111] 步骤602:目标主机使用第一系统特征值,通过预设算法生成第二私钥。
[0112] 目标主机获取到第一系统特征值后,目标主机可使用第一系统特征值,通过预设算法生成第二私钥。
[0113] 可选地,该预设算法为单向密码散列函数。
[0114] 具体来说,目标主机使用第一系统特征值作为输入,通过单向密码散列函数,生成第二私钥。该第二私钥可以为一个256位的随机数。
[0115] 步骤603:目标主机根据第二私钥生成公钥。
[0116] 目标主机得到第二私钥,便可根据第二私钥生成公钥,从而第二私钥和公钥为一密钥对。
[0117] 例如,目标主机的驱动用ed25519算法根据第二私钥生成对应的公钥。
[0118] 在本发明实施例中,为了保证公钥的唯一性,从而提高方法的安全性,目标主机根据第二私钥生成公钥后,可删除该第二私钥。
[0119] 步骤604:存储设备获取目标主机发送的公钥。
[0120] 目标主机生成公钥,目标主机向存储设备发送该公钥,以使存储设备获取到该公钥。
[0121] 步骤605:存储设备保存公钥。
[0122] 存储设备获取到该公钥后,存储设备保存该公钥,实现公钥固化在存储设备。从而,后续存储设备可以使用该公钥进行验证操作。
[0123] 存储设备保存该公钥,则公钥初始化流程完成,存储设备可以向目标主机反馈执行结果,以通知目标主机公钥是否存储成功。
[0124] 二、命令验证流程。
[0125] 在存储设备保存了公钥后,存储设备可以使用该公钥对来自主机的命令进行验证,以决定是否执行该命令。
[0126] 具体来说,存储设备执行上述的公钥初始化流程后,当存储设备每次启动,都可执行命令验证流程。图8为本发明实施例提供的数据验证方法的流程图,图8所示的方法即为命令验证流程,包括下述步骤,其中具体的实现示意图如图9所示。
[0127] 参考图4-图9,本发明实施例的数据验证方法包括:
[0128] 步骤801:主机根据预设采集规则,采集主机的系统特征值。
[0129] 步骤801的主机和步骤601的目标主机可以为同一主机,也可以为不同的主机。
[0130] 在主机访问存储设备的数据前,主机需要根据预设采集规则,采集主机的系统特征值。
[0131] 例如,当普通用户启动存储设备时,主机的驱动根据特权用户预设的预设采集规则,采集主机的系统特征值。
[0132] 其中,系统特征值表示主机的系统标识。系统特征值包括但不限于以下一项或多项的组合:
[0133] 1)硬件ID,例如CPU、网卡、键盘、显卡等的标识信息;
[0134] 2)外设的驱动版本号,例如CPU、显示器等外设的驱动版本号;
[0135] 3)主机的操作系统类型、版本号、或产品ID等;
[0136] 4)主机上的指定软件的版本号,若该软件没有安装,则默认版本号可为0预设值;
[0137] 5)用户密码。
[0138] 系统特征值的取值范围由特权用户预设,即预设采集规则为特权用户预设的规则,预设采集规则为采集系统特征值的规则。例如,预设采集规则为系统特征值包括CPU和网卡的标识信息、以及用户密码,或者预设采集规则为系统特征值包括CPU的外设驱动版本号和目标主机的操作系统类型。
[0139] 在本发明实施例中,步骤801的预设采集规则和步骤601的预设采集规则为相同的规则。从而根据步骤801的系统特征值生成的第一私钥和步骤602的第二私钥可能相同。
[0140] 步骤802:主机使用主机的系统特征值,通过预设算法生成第一私钥。
[0141] 主机获取到主机的系统特征值后,可使用该系统特征值,通过预设算法生成第一私钥。在本发明实施例中,步骤802的预设算法和步骤602的预设算为相同的算法。
[0142] 可选地,预设算法为单向密码散列函数。
[0143] 具体来说,主机使用该主机的系统特征值作为输入,通过单向密码散列函数,生成第一私钥。该第一私钥可以为一个256位的随机数。后续,主机可将第一私钥保存在主机的驱动程序中,以供主机使用。
[0144] 可以理解,在本发明实施例中,因图8所示实施例和图6所示实施例的预设采集规则和预设算法相同,从而,若图8所示实施例的主机为合法的主机,例如图8所示实施例的主机和图6所示实施例的主机相同,则步骤801的系统特征值和步骤601的第一系统特征值相同,从而步骤802的第一私钥和步骤602的第二私钥相同;否则,步骤801的系统特征值和步骤601的第一系统特征值不同,第一私钥和第二私钥也不同。
[0145] 第一私钥和第二私钥都是以系统特征值集为种子,通过相同的过程生成通过利用单向密码散列函数的特性,相同的输入会得到相同的输出。所以,如果步骤801的系统特征值和步骤601的第一系统特征值一致,则第一私钥等于第二私钥。
[0146] 步骤803:主机使用第一私钥对目标命令进行签名,得到加密命令。
[0147] 主机得到第一私钥后,主机可使用第一私钥对目标命令进行签名,得到加密命令。该目标命令为访问存储设备上的数据的命令。目标命令可为用户操作主机时产生。该目标命令为主机要下发到存储设备上的命令,以使存储设备执行该目标命令。
[0148] 具体的签名过程可参阅上文术语介绍部分中关于数字签名的内容的描述。
[0149] 可以理解,普通用户使用存储设备期间,主机下发的命令均需先以第一私钥签名,然后主机再下发到存储设备。
[0150] 存储设备获取主机发送的加密命令之前,主机执行上述步骤801-803,从而,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥。
[0151] 步骤804:存储设备获取主机发送的加密命令。
[0152] 主机得到加密命令后,主机向存储设备发送该加密命令,以使存储设备对加密命令进行验证。
[0153] 具体来说,主机可将验证命令及加密命令发送给存储设备,验证命令用于指示存储设备对加密命令进行验证,或者主机向存储设备发送该加密命令,存储设备获取到加密命令,存储设备则对加密命令进行验证。
[0154] 步骤805:存储设备使用预存的公钥对加密命令进行验证。若使用公钥对加密命令验证通过,则执行步骤806;若使用公钥对加密命令验证不通过,则执行步骤807。
[0155] 因使用第一私钥对目标命令进行签名得到加密命令,即通过第一私钥对目标命令进行了加密,从而可以对加密命令进行验证,即使用公钥对加密命令进行解密。
[0156] 在存储设备上预存有公钥,存储设备存储公钥的方式可参考图6所示的公钥初始化流程。即步骤805的公钥和步骤605的公钥为相同的公钥。
[0157] 若使用公钥对加密命令验证通过,则执行步骤806;若使用公钥对加密命令验证不通过,则执行步骤807。
[0158] 具体的验证过程可参阅上文术语介绍部分中关于数字签名的验证内容的描述。
[0159] 步骤806:存储设备执行目标命令。
[0160] 目标命令为访问存储设备上的数据的命令,例如读取存储设备上的某些数据,控制存储设备上的数据等。
[0161] 若使用公钥对加密命令验证通过,表示公钥和第一秘钥为一密钥对,第一秘钥和第二秘钥相同,下发加密命令的主机为合法的主机,从而存储设备执行目标命令,以使主机可以访问存储设备上的数据。
[0162] 步骤807:存储设备执行预设错误处理操作。
[0163] 若使用公钥对加密命令验证不通过,表示公钥和第一秘钥不为一密钥对,第一秘钥和第二秘钥不相同,下发加密命令的主机为非法主机,从而存储设备执行预设错误处理操作。
[0164] 其中,预设错误处理操作可为特权用户预设的处理规则,预设错误处理操作包括但不限于:
[0165] 1)隐藏/修改关键的设备配置及分区信息,使非授权用户失去访问或破坏设备内数据的能力;
[0166] 2)将存储设备内所有数据销毁;
[0167] 3)不执行主机下发的后续命令,直到特权用户解锁;
[0168] 4)发出告警;
[0169] 5)在日志中记录该错误;
[0170] 6)按照特权用户预设的规则,向后续所有命令返回不真实的、带有迷惑性的结果。
[0171] 可以理解,在本发明实施例,存储设备在步骤806或步骤807后,可向主机反馈执行结果。
[0172] 可选地,在本发明实施例的方法中,存储设备的公钥重新初始化需特权用户触发。例如,目标主机的系统特征值中的某些值(如硬件ID,软件版本号等)改变了,由特权用户重新触发公钥初始化过程,换言之,特权用户重新触发步骤601-步骤605的执行。具体来说,存储设备获取目标主机发送的公钥之后,本发明实施例的方法还包括:存储设备和目标主机获取触发指令。在触发指令的触发下,目标主机根据预设采集规则,采集目标主机的第二系统特征值。然后,目标主机使用第二系统特征值,通过预设算法生成第三私钥。从而,目标主机根据第三私钥生成更新用的公钥。存储设备可获取目标主机发送的更新用的公钥。在触发指令的触发下,存储设备使用更新用的公钥更新公钥。具体的实现方式,可参阅图6所示实施例的详细描述。
[0173] 可以理解,本发明实施例的数据验证方法可以应用于(但不局限于)刑侦取证、权限管理、财政商务数据保护等领域。本发明实施例的数据验证方法基于数字签名技术,通过在存储设备启动的过程中,增加对主机的系统特征值的完整性、一次性、身份及防抵赖的验证,保证了存储设备离开授权的系统环境后,需通过验证才能被访问。以此保证存储设备内信息的安全。从而,解决了存储设备对系统环境的身份识别问题,提高了存储设备对数据的保护能力。
[0174] 综上所述,存储设备获取主机发送的加密命令,其中,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥。然后,存储设备使用预存的公钥对加密命令进行验证,若使用公钥对加密命令验证通过,则存储设备执行目标命令,目标命令为访问存储设备上的数据的命令。因此相对于现有技术,本发明实施例的加密命令由使用主机的系统特征值生成的第一私钥对目标命令进行签名得到,从而,存储设备使用公钥对加密命令进行验证,若验证通过,表示主机的系统符合要求,从而存储设备执行目标命令,允许主机访问存储设备上的数据。通过密钥对实现了对主机的验证,从而提高了存储设备上的数据的安全性。
[0175] 图10为本发明实施例提供的一种验证系统的结构示意图。该验证系统可应用于图4所示的使用场景。图10所示的验证系统可用于执行图5、图6和图8所示的数据验证方法。
[0176] 参阅图10,本发明实施例的验证系统包括存储设备,存储设备包括获取单元1001、验证单元1002和执行单元1003;
[0177] 获取单元1001,用于获取主机发送的加密命令,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥;
[0178] 验证单元1002,用于使用预存的公钥对加密命令进行验证;
[0179] 执行单元1003,用于若使用公钥对加密命令验证通过,则执行目标命令,目标命令为访问存储设备上的数据的命令。
[0180] 可选地,验证系统包括目标主机,目标主机包括目标采集单元1004、和目标生成单元1005,存储设备还包括保存单元1006;
[0181] 目标采集单元1004,用于根据预设采集规则,采集目标主机的第一系统特征值;
[0182] 目标生成单元1005,用于使用第一系统特征值,通过预设算法生成第二私钥;
[0183] 目标生成单元1005,还用于根据第二私钥生成公钥;
[0184] 存储设备的获取单元1001,还用于获取目标主机发送的公钥;
[0185] 存储设备的保存单元1006,用于保存公钥。
[0186] 可选地,验证系统还包括主机,主机包括主机采集单元1007、主机生成单元1008和主机签名单元1009;
[0187] 主机采集单元1007,用于根据预设采集规则,采集主机的系统特征值;
[0188] 主机生成单元1008,用于使用主机的系统特征值,通过预设算法生成第一私钥;
[0189] 主机签名单元1009,用于使用第一私钥对目标命令进行签名,得到加密命令。
[0190] 可选地,目标主机包括目标获取单元1010,存储设备还包括更新单元1011;
[0191] 目标主机的目标获取单元1010和存储设备的获取单元1001,用于获取触发指令;
[0192] 目标采集单元1004,还用于在触发指令的触发下,根据预设采集规则,采集目标主机的第二系统特征值;
[0193] 目标生成单元1005,还用于使用第二系统特征值,通过预设算法生成第三私钥;
[0194] 目标生成单元1005,还用于根据第三私钥生成更新用的公钥;
[0195] 存储设备的获取单元1001,还用于获取目标主机发送的更新用的公钥;
[0196] 存储设备的更新单元1011,用于在触发指令的触发下,使用更新用的公钥更新公钥。
[0197] 可选地,预设算法为单向密码散列函数。
[0198] 可选地,执行单元1003,还用于若使用公钥对加密命令验证不通过,则执行预设错误处理操作。
[0199] 综上所述,获取单元1001获取主机发送的加密命令,其中,加密命令为使用第一私钥对目标命令进行签名得到的命令,第一私钥为使用主机的系统特征值生成的私钥。然后,验证单元1002使用预存的公钥对加密命令进行验证,若使用公钥对加密命令验证通过,则执行单元1003执行目标命令,目标命令为访问存储设备上的数据的命令。因此相对于现有技术,本发明实施例的加密命令由使用主机的系统特征值生成的第一私钥对目标命令进行签名得到,从而,存储设备使用公钥对加密命令进行验证,若验证通过,表示主机的系统符合要求,从而存储设备执行目标命令,允许主机访问存储设备上的数据。通过密钥对实现了对主机的验证,从而提高了存储设备上的数据的安全性。
[0200] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。