首页 / 专利库 / 电脑零配件 / 固件 / 基本输入输出系统 / 设备开机的方法及装置

设备开机的方法及装置

阅读:402发布:2020-05-11

专利汇可以提供设备开机的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种设备开机的方法及装置,其中该方法包括:设备开机时,在 基本输入输出系统 BIOS执行上电自检POST过程中,判断开机数据是否被更改;当所述开机数据没有被更改时,继续执行所述设备的开机程序。如此,能够提高设备开机的安全性。,下面是设备开机的方法及装置专利的具体信息内容。

1.一种设备开机的方法,其特征在于,包括:
设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,判断开机数据是否被更改;
当所述开机数据没有被更改时,继续执行所述设备的开机程序。
2.根据权利要求1所述的方法,其特征在于,所述判断开机数据是否被更改,包括:
使用哈希算法计算所述开机数据的第一哈希值;
比较所述第一哈希值与外部存储保存的安全验证信息是否相同;
当不相同时,判断所述开机数据被更改;
当相同时,判断所述开机数据没有被更改;
其中,所述安全验证信息为预先使用所述哈希算法计算原始的开机数据得到的哈希值。
3.根据权利要求2所述的方法,其特征在于,
所述开机数据包括以下至少之一:
BIOS固件中的数据、保存操作系统的存储设备中的数据;
当所述开机数据包括BIOS固件中的数据时,判断所述BIOS固件中的数据是否被更改,包括:
使用哈希算法计算所述BIOS固件中的数据的第一哈希值;
比较所述第一哈希值与外部存储保存的第二哈希值是否相同;
当不相同时,判断所述BIOS固件中的数据被更改;
当相同时,判断BIOS固件中的数据没有被更改;
其中,所述第二哈希值为预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值;
当所述开机数据包括所述存储设备中的数据时,判断所述存储设备中的数据是否被更改,包括:
使用哈希算法计算所述存储设备中的数据的第三哈希值;
比较所述第三哈希值与外部存储保存的第四哈希值是否相同;
当不相同时,判断所述存储设备中的数据被更改;
当相同时,判断所述存储设备中的数据没有被更改;
其中,所述第四哈希值为预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值。
4.根据权利要求3所述的方法,其特征在于,
当所述第二哈希值通过加解密算法加密后保存在外部储存中时,所述比较所述第一哈希值与外部存储保存的第二哈希值是否相同,包括:
使用所述加解密算法对所述第二哈希值进行解密;
比较所述第一哈希值与解密后的第二哈希值是否相同;
当所述第四哈希值通过加解密算法加密后保存在外部储存中时,所述比较所述第三哈希值与外部存储保存的第四哈希值是否相同,包括:
使用所述加解密算法对所述第四哈希值进行解密;
比较所述第三哈希值与解密后的第四哈希值是否相同。
5.根据权利要求2所述的方法,其特征在于,在判断开机数据是否被更改之前,该方法还包括:
检查所述存储设备和保存安全验证信息的外部储存是否连接在所述设备;
当所述存储设备和外部储存连接在所述设备时,检查所述外部储存内是否存在安全验证信息;
当存在所述安全验证信息时,再判断开机数据是否被更改。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
当所述开机数据被更改时,或者当所述存储设备或外部储存没有连接在所述设备时,或者所述外部储存内不存在安全验证信息时,停止执行所述设备的开机程序。
7.根据权利要求6所述的方法,其特征在于,该方法还包括:
当所述开机数据被更改时,或者当所述存储设备或外部储存没有连接在所述设备时,或者当所述外部储存内不存在安全验证信息时,在所述设备的屏幕上显示对应的错误信息。
8.一种设备开机的装置,其特征在于,包括:
判断单元,用于设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,判断开机数据是否被更改;
控制单元,用于当所述开机数据没有被更改时,继续执行所述设备的开机程序。
9.一种设备开机的装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述设备开机的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现如权利要求1至7中任一项所述设备开机的方法的步骤。

说明书全文

设备开机的方法及装置

技术领域

[0001] 本发明实施例涉及BIOS(Basic Input Output System,基本输入输出系统)启动技术,尤指一种设备开机的方法及装置。

背景技术

[0002] 目前,计算机设备在开机时,一般使用BIOS固件完成操作系统的启动。如此,计算机设备的开机过程安全验证流程不足,一旦黑客入侵后还是能够正常的执行开机程序,存在导致信息外泄的险。

发明内容

[0003] 有鉴于此,本发明实施例提供了一种设备开机的方法,包括:
[0004] 设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,判断开机数据是否被更改;
[0005] 当所述开机数据没有被更改时,继续执行所述设备的开机程序。
[0006] 本发明实施例还提供了一种设备开机的装置,包括:
[0007] 判断单元,用于设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,判断开机数据是否被更改;
[0008] 控制单元,用于当所述开机数据没有被更改时,继续执行所述设备的开机程序。
[0009] 本发明实施例还提供了一种设备开机的装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述设备开机的方法。
[0010] 本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述设备开机的方法的步骤。
[0011] 本发明实施例提供的技术方案,能够提高设备开机的安全性。
[0012] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。

附图说明

[0013] 附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0014] 图1为本发明一实施例提供的一种设备开机的方法的流程示意图;
[0015] 图2为本发明另一实施例提供的一种设备开机的方法的流程示意图;
[0016] 图3为本发明另一实施例提供的一种设备开机的方法的流程示意图;
[0017] 图4为本发明另一实施例提供的一种设备开机的方法的流程示意图;
[0018] 图5为本发明另一实施例提供的一种设备开机的方法的流程示意图;
[0019] 图6为本发明另一实施例提供的一种设备开机的方法的流程示意图;
[0020] 图7为本发明一实施例提供的一种设备开机的装置的结构示意图。

具体实施方式

[0021] 本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
[0022] 本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
[0023] 此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
[0024] 图1为本发明一实施例提供的一种设备开机的方法的流程示意图,如图1所示,该方法包括:
[0025] 步骤101,设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,判断开机数据是否被更改;
[0026] 步骤102,当所述开机数据没有被更改时,继续执行所述设备的开机程序。
[0027] 其中,所述判断开机数据是否被更改,包括:
[0028] 使用哈希算法计算所述开机数据的第一哈希值;
[0029] 比较所述第一哈希值与外部存储保存的安全验证信息是否相同;
[0030] 当不相同时,判断所述开机数据被更改;
[0031] 当相同时,判断所述开机数据没有被更改;
[0032] 其中,所述安全验证信息为预先使用所述哈希算法计算原始的开机数据得到的哈希值。
[0033] 其中,所述开机数据包括以下至少之一:
[0034] BIOS固件中的数据、保存操作系统的存储设备中的数据。
[0035] 当所述开机数据包括BIOS固件中的数据时,判断所述BIOS固件中的数据是否被更改,包括:
[0036] 使用哈希算法计算所述BIOS固件中的数据的第一哈希值;
[0037] 比较所述第一哈希值与外部存储保存的第二哈希值是否相同;
[0038] 当不相同时,判断所述BIOS固件中的数据被更改;
[0039] 当相同时,判断BIOS固件中的数据没有被更改;
[0040] 其中,所述第二哈希值为预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值;
[0041] 当所述开机数据包括所述存储设备中的数据时,判断所述存储设备中的数据是否被更改,包括:
[0042] 使用哈希算法计算所述存储设备中的数据的第三哈希值;
[0043] 比较所述第三哈希值与外部存储保存的第四哈希值是否相同;
[0044] 当不相同时,判断所述存储设备中的数据被更改;
[0045] 当相同时,判断所述存储设备中的数据没有被更改;
[0046] 其中,所述第四哈希值为预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0047] 其中,当所述第二哈希值通过加解密算法加密后保存在外部储存中时,所述比较所述第一哈希值与外部存储保存的第二哈希值是否相同,包括:
[0048] 使用所述加解密算法对所述第二哈希值进行解密;
[0049] 比较所述第一哈希值与解密后的第二哈希值是否相同;
[0050] 当所述第四哈希值通过加解密算法加密后保存在外部储存中时,所述比较所述第三哈希值与外部存储保存的第四哈希值是否相同,包括:
[0051] 使用所述加解密算法对所述第四哈希值进行解密;
[0052] 比较所述第三哈希值与解密后的第四哈希值是否相同。
[0053] 其中,在判断开机数据是否被更改之前,该方法还包括:
[0054] 检查所述存储设备和保存安全验证信息的外部储存是否连接在所述设备;
[0055] 当所述存储设备和外部储存连接在所述设备时,检查所述外部储存内是否存在安全验证信息;
[0056] 当存在所述安全验证信息时,再判断开机数据是否被更改。
[0057] 其中,该方法还包括:
[0058] 当所述开机数据被更改时,或者当所述存储设备或外部储存没有连接在所述设备时,或者当所述外部储存内不存在安全验证信息时,停止执行所述设备的开机程序。
[0059] 其中,该方法还包括:
[0060] 当所述开机数据被更改时,或者当所述存储设备或外部储存没有连接在所述设备时,或者所述外部储存内不存在安全验证信息时,在所述设备的屏幕上显示对应的错误信息。
[0061] 本发明实施例提供的技术方案,能够提高设备开机的安全性。
[0062] 图2为本发明另一实施例提供的一种设备开机的方法的流程示意图,如图2所示,该方法包括:
[0063] 步骤201,设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,检查保存操作系统的存储设备和保存安全验证信息的外部储存是否连接在所述设备;
[0064] 其中,所述存储设备可以为任一种保存操作系统的存储设备,例如为非易失性内存主机控制器接口规范固态硬盘NVMe SSD(Non-Volatile Memory express Solid State Disk)等。
[0065] 所述外部储存可以为任一种现有的存储设备,例如USB mass storage(USB大容量设备)等。
[0066] 其中,当所述存储设备或外部储存没有连接在所述设备时,停止执行所述设备的开机程序,还可以在所述设备的屏幕上显示对应的错误信息。
[0067] 当所述存储设备和外部储存连接在所述设备时,执行步骤202;当所述存储设备或外部储存没有连接在所述设备时,执行步骤205。
[0068] 步骤202,检查所述外部储存内是否存在安全验证信息;
[0069] 其中,所述外部储存用于预先保存所述安全验证信息,所述安全验证信息为预先使用所述哈希算法计算原始的开机数据得到的哈希值。
[0070] 具体而言,所述安全验证信息包括第二哈希值和/或第四哈希值;
[0071] 所述第二哈希值为预先使用哈希算法计算BIOS固件中的原始数据得到的哈希值;所述第四哈希值为预先使用哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0072] 其中,当所述开机数据包括BIOS固件中的数据时,所述安全验证信息包括第二哈希值;当所述开机数据包括保存操作系统的存储设备中的数据时,所述安全验证信息包括第四哈希值;当所述开机数据包括BIOS固件中的数据和保存操作系统的存储设备中的数据时,所述安全验证信息包括第二哈希值和第四哈希值。
[0073] 具体而言,所述安全验证信息可以以安全验证文件的形式保存,例如所述第二哈希值以BIOS encryptes file形式保存在外部存储中,该BIOS encryptes file可以通过加解密算法进行私钥加密后存储;当所述所述存储设备为NVMe SSD时,第四哈希值以NVMe encryptes file形式保存在外部存储中,该NVMe encryptes file可以通过加解密算法进行私钥加密后存储。
[0074] 具体而言,所述哈希算法可以为任一种现有的哈希算法,例如安全散列算法SHA(Secure Hash Algorithm)等。
[0075] 具体而言,所述加解密算法可以是任一种现有的加解密算法,例如RSA算法等。
[0076] 当所述外部储存内存在安全验证信息时,执行步骤203,当所述外部储存内部存在安全验证信息时,执行步骤205。
[0077] 步骤203,判断开机数据是否被更改;
[0078] 其中,所述判断开机数据是否被更改,包括:
[0079] 使用哈希算法计算所述开机数据的第一哈希值;
[0080] 比较所述第一哈希值与外部存储保存的安全验证信息是否相同;
[0081] 当不相同时,判断所述开机数据被更改;
[0082] 当相同时,判断所述开机数据没有被更改;
[0083] 其中,所述安全验证信息为预先使用所述哈希算法计算原始的开机数据得到的哈希值。
[0084] 上述原始的开机数据只是没有被更改的开机数据。
[0085] 其中,所述开机数据包括以下至少之一:
[0086] BIOS固件中的数据、保存操作系统的存储设备中的数据。
[0087] 具体而言,所述BIOS固件中的数据可以为任一种保存BIOS固件的存储设备中的数据,例如为串行外设接口只读存储器SPI ROM中的数据。
[0088] 所述保存操作系统的存储设备中的数据可以为任一种保存操作系统的存储设备中的数据,例如为非易失性内存主机控制器接口规范固态硬盘NVMe SSD中的数据。
[0089] 其中,当所述开机数据包括BIOS固件中的数据时,判断所述BIOS固件中的数据是否被更改,包括:
[0090] 使用哈希算法计算所述BIOS固件中的数据的第一哈希值;
[0091] 比较所述第一哈希值与外部存储保存的第二哈希值是否相同;
[0092] 当不相同时,判断所述BIOS固件中的数据被更改;
[0093] 当相同时,判断BIOS固件中的数据没有被更改;
[0094] 其中,所述第二哈希值为预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值。
[0095] 其中,当所述开机数据包括所述存储设备中的数据时,判断所述存储设备中的数据是否被更改,包括:
[0096] 使用哈希算法计算所述存储设备中的数据的第三哈希值;
[0097] 比较所述第三哈希值与外部存储保存的第四哈希值是否相同;
[0098] 当不相同时,判断所述存储设备中的数据被更改;
[0099] 当相同时,判断所述存储设备中的数据没有被更改;
[0100] 其中,所述第四哈希值为预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0101] 其中,可以预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值并保存在外部存储中,可以预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值并保存在外部存储中。
[0102] 其中,当所述第二哈希值通过加解密算法私钥加密后保存在外部储存中时,所述比较所述第一哈希值与外部存储保存的第二哈希值是否相同,包括:
[0103] 使用所述加解密算法对所述第二哈希值进行公钥解密;
[0104] 比较所述第一哈希值与解密后的第二哈希值是否相同;
[0105] 当所述第四哈希值通过加解密算法私钥加密后保存在外部储存中时,所述比较所述第三哈希值与外部存储保存的第四哈希值是否相同,包括:
[0106] 使用所述加解密算法对所述第四哈希值进行公钥解密;
[0107] 比较所述第三哈希值与解密后的第四哈希值是否相同。
[0108] 其中,可以预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值,再利用所述加解密算法对所述哈希值进行私钥加密后保存在外部存储中,可以预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值再利用所述加解密算法对所述哈希值进行私钥加密后保存在外部存储中。
[0109] 当所述开机数据没有被更改时,执行步骤204,当所述开机数据被更改时,执行步骤205。
[0110] 其中,当所述开机数据包括BIOS固件中的数据时,所述开机数据没有被更改为所述BIOS固件中的数据没有被更改;所述开机数据被更改为所述BIOS固件中的数据被更改;
[0111] 当所述开机数据包括保存操作系统的存储设备中的数据时,所述开机数据没有被更改为所述保存操作系统的存储设备中的数据没有被更改;所述开机数据被更改为所述保存操作系统的存储设备中的数据被更改;
[0112] 当所述开机数据包括BIOS固件中的数据和保存操作系统的存储设备中的数据时,所述开机数据被更改为所述BIOS固件中的数据或者所述保存操作系统的存储设备中的数据被更改。
[0113] 步骤204,继续执行所述设备的开机程序;
[0114] 其中,所述继续执行所述设备的开机程序包括:继续执行POST过程以及后续的引导程序等过程,最终完成启动存储设备中的操作系统。
[0115] 步骤205,停止执行所述设备的开机程序。
[0116] 其中,本步骤中,停止执行所述设备的开机程序的同时,还可以在所述设备的屏幕上显示对应的错误信息。
[0117] 例如,当所述存储设备或外部储存没有连接在所述设备时,可以显示所述存储设备或外部储存不存在。当所述外部储存内部存在安全验证信息时,可以显示安全验证信息不存在。当所述开机数据被更改时,可以显示所述存开机数据错误。等等。
[0118] 本发明实施例提供的技术方案,利用哈希算法来验证BIOS固件中的数据和/或保存操作系统的存储设备中的数据是否被更改,可以在开机过程中提高开机的安全性,避免数据更改(例如黑客入侵)后仍然可以完成开机导致信息外泄;并且一旦数据被更改,可以立即让系统用户查觉到数据变动。
[0119] 本发明实施例,只需要增加外部存储和修改BIOS固件即可完成上述方法,成本较低。并且还可以使用加解密算法对外部存储中的数据进行加密,可以确保外部存储中的数据的安全性。
[0120] 图3为本发明另一实施例提供的一种设备开机的方法的流程示意图,如图3所示,该方法包括:
[0121] 步骤301,设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,检查保存安全验证信息的外部储存是否连接在所述设备;
[0122] 其中,所述外部储存可以为任一种现有的存储设备,例如USB mass storage(USB大容量设备)等。
[0123] 其中,当所述外部储存没有连接在所述设备时,停止执行所述设备的开机程序,还可以在所述设备的屏幕上显示对应的错误信息。
[0124] 当所述外部储存连接在所述设备时,执行步骤302;当所述外部储存没有连接在所述设备时,执行步骤305。
[0125] 步骤302,检查所述外部储存内是否存在安全验证信息;
[0126] 其中,所述外部储存用于预先保存所述安全验证信息,所述安全验证信息包括第二哈希值;
[0127] 所述第二哈希值为预先使用哈希算法计算BIOS固件中的原始数据得到的哈希值。
[0128] 具体而言,所述安全验证信息可以以安全验证文件的形式保存,例如所述第二哈希值以BIOS encryptes file形式保存在外部存储中,该BIOS encryptes file可以通过加解密算法进行私钥加密后存储。
[0129] 具体而言,所述哈希算法可以为任一种现有的哈希算法,例如安全散列算法SHA(Secure Hash Algorithm)等。
[0130] 具体而言,所述加解密算法可以是任一种现有的加解密算法,例如RSA算法等。
[0131] 当所述外部储存内存在安全验证信息时,执行步骤303,当所述外部储存内部存在安全验证信息时,执行步骤305。
[0132] 步骤303,判断BIOS固件中的数据是否被更改;
[0133] 具体而言,所述BIOS固件中的数据可以为任一种保存BIOS固件的存储设备中的数据,例如为串行外设接口只读存储器SPI ROM中的数据。
[0134] 其中,当所述开机数据包括BIOS固件中的数据时,判断所述BIOS固件中的数据是否被更改,包括:
[0135] 使用哈希算法计算所述BIOS固件中的数据的第一哈希值;
[0136] 比较所述第一哈希值与外部存储保存的第二哈希值是否相同;
[0137] 当不相同时,判断所述BIOS固件中的数据被更改;
[0138] 当相同时,判断BIOS固件中的数据没有被更改;
[0139] 其中,所述第二哈希值为预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值。
[0140] 其中,可以预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值并保存在外部存储中。
[0141] 其中,当所述第二哈希值通过加解密算法私钥加密后保存在外部储存中时,所述比较所述第一哈希值与外部存储保存的第二哈希值是否相同,包括:
[0142] 使用所述加解密算法对所述第二哈希值进行公钥解密;
[0143] 比较所述第一哈希值与解密后的第二哈希值是否相同。
[0144] 其中,可以预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值,再利用所述加解密算法对所述哈希值进行私钥加密后保存在外部存储中。
[0145] 当所述BIOS固件中的数据没有被更改时,执行步骤304,当所述BIOS固件中的数据被更改时,执行步骤305。
[0146] 步骤304,继续执行所述设备的开机程序;
[0147] 其中,所述继续执行所述设备的开机程序包括:继续执行POST过程以及后续的引导程序等过程,最终完成启动存储设备中的操作系统。
[0148] 步骤305,停止执行所述设备的开机程序。
[0149] 其中,本步骤中,停止执行所述设备的开机程序的同时,还可以在所述设备的屏幕上显示对应的错误信息。
[0150] 例如,可以显示BIOS固件中的数据错误。等等。
[0151] 本发明实施例提供的技术方案,利用哈希算法来验证BIOS固件中的数据是否被更改,可以在开机过程中提高开机的安全性,避免数据更改(例如黑客入侵)后仍然可以完成开机导致信息外泄;并且一旦数据被更改,可以立即让系统用户查觉到数据变动。
[0152] 本发明实施例,只需要增加外部存储和修改BIOS固件即可完成上述方法,成本较低。并且还可以使用加解密算法对外部存储中的数据进行加密,可以确保外部存储中的数据的安全性。
[0153] 图4为本发明另一实施例提供的一种设备开机的方法的流程示意图,如图4所示,该方法包括:
[0154] 步骤401,设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,检查保存操作系统的存储设备和保存安全验证信息的外部储存是否连接在所述设备;
[0155] 其中,所述存储设备可以为任一种保存操作系统的存储设备,例如为非易失性内存主机控制器接口规范固态硬盘NVMe SSD(Non-Volatile Memory express Solid State Disk)等。
[0156] 所述外部储存可以为任一种现有的存储设备,例如USB mass storage(USB大容量设备)等。
[0157] 其中,当所述存储设备或外部储存没有连接在所述设备时,停止执行所述设备的开机程序,还可以在所述设备的屏幕上显示对应的错误信息。
[0158] 当所述存储设备和外部储存连接在所述设备时,执行步骤402;当所述存储设备或外部储存没有连接在所述设备时,执行步骤405。
[0159] 步骤402,检查所述外部储存内是否存在安全验证信息;
[0160] 其中,所述外部储存用于预先保存所述安全验证信息,所述安全验证信息包括第四哈希值;
[0161] 所述第四哈希值为预先使用哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0162] 具体而言,所述安全验证信息可以以安全验证文件的形式保存,例如当所述所述存储设备为NVMe SSD时,第四哈希值以NVMe encryptes file形式保存在外部存储中,该NVMe encryptes file可以通过加解密算法进行私钥加密后存储。
[0163] 具体而言,所述哈希算法可以为任一种现有的哈希算法,例如安全散列算法SHA(Secure Hash Algorithm)等。
[0164] 具体而言,所述加解密算法可以是任一种现有的加解密算法,例如RSA算法等。
[0165] 当所述外部储存内存在安全验证信息时,执行步骤403,当所述外部储存内部存在安全验证信息时,执行步骤405。
[0166] 步骤403,判断保存操作系统的存储设备中的数据是否被更改;
[0167] 具体而言,所述保存操作系统的存储设备中的数据可以为任一种保存操作系统的存储设备中的数据,例如为非易失性内存主机控制器接口规范固态硬盘NVMe SSD中的数据。
[0168] 其中,当所述开机数据包括所述存储设备中的数据时,判断所述存储设备中的数据是否被更改,包括:
[0169] 使用哈希算法计算所述存储设备中的数据的第三哈希值;
[0170] 比较所述第三哈希值与外部存储保存的第四哈希值是否相同;
[0171] 当不相同时,判断所述存储设备中的数据被更改;
[0172] 当相同时,判断所述存储设备中的数据没有被更改;
[0173] 其中,所述第四哈希值为预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0174] 其中,可以预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值并保存在外部存储中。
[0175] 其中,当所述第四哈希值通过加解密算法私钥加密后保存在外部储存中时,所述比较所述第三哈希值与外部存储保存的第四哈希值是否相同,包括:
[0176] 使用所述加解密算法对所述第四哈希值进行公钥解密;
[0177] 比较所述第三哈希值与解密后的第四哈希值是否相同。
[0178] 其中,可以预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值再利用所述加解密算法对所述哈希值进行私钥加密后保存在外部存储中。
[0179] 当所述存储设备中的数据没有被更改时,执行步骤404,当所述存储设备中的数据被更改时,执行步骤405。
[0180] 步骤404,继续执行所述设备的开机程序;
[0181] 其中,所述继续执行所述设备的开机程序包括:继续执行POST过程以及后续的引导程序等过程,最终完成启动存储设备中的操作系统。
[0182] 步骤405,停止执行所述设备的开机程序。
[0183] 其中,本步骤中,停止执行所述设备的开机程序的同时,还可以在所述设备的屏幕上显示对应的错误信息。
[0184] 例如,可以显示所述存储设备中的数据错误。
[0185] 本发明实施例提供的技术方案,利用哈希算法来验证保存操作系统的存储设备中的数据是否被更改,可以在开机过程中提高开机的安全性,避免数据更改(例如黑客入侵)后仍然可以完成开机导致信息外泄;并且一旦数据被更改,可以立即让系统用户查觉到数据变动。
[0186] 本发明实施例,只需要增加外部存储和修改BIOS固件即可完成上述方法,成本较低。并且还可以使用加解密算法对外部存储中的数据进行加密,可以确保外部存储中的数据的安全性。
[0187] 图5为本发明另一实施例提供的一种设备开机的方法的流程示意图,如图5所示,该方法包括:
[0188] 步骤501,设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,检查保存操作系统的存储设备和保存安全验证信息的外部储存是否连接在所述设备;
[0189] 其中,所述存储设备可以为任一种保存操作系统的存储设备,例如为非易失性内存主机控制器接口规范固态硬盘NVMe SSD(Non-Volatile Memory express Solid State Disk)等。
[0190] 所述外部储存可以为任一种现有的存储设备,例如USB mass storage(USB大容量设备)等。
[0191] 其中,当所述存储设备或外部储存没有连接在所述设备时,停止执行所述设备的开机程序,还可以在所述设备的屏幕上显示对应的错误信息。
[0192] 当所述存储设备和外部储存连接在所述设备时,执行步骤502;当所述存储设备或外部储存没有连接在所述设备时,执行步骤505。
[0193] 步骤502,检查所述外部储存内是否存在安全验证信息;
[0194] 其中,所述外部储存用于预先保存所述安全验证信息,所述安全验证信息包括第二哈希值和第四哈希值;
[0195] 所述第二哈希值为预先使用哈希算法计算BIOS固件中的原始数据得到的哈希值;所述第四哈希值为预先使用哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0196] 具体而言,所述安全验证信息可以以安全验证文件的形式保存,例如所述第二哈希值以BIOS encryptes file形式保存在外部存储中,该BIOS encryptes file可以通过加解密算法进行私钥加密后存储;当所述所述存储设备为NVMe SSD时,第四哈希值以NVMe encryptes file形式保存在外部存储中,该NVMe encryptes file可以通过加解密算法进行私钥加密后存储。
[0197] 具体而言,所述哈希算法可以为任一种现有的哈希算法,例如安全散列算法SHA(Secure Hash Algorithm)等。
[0198] 具体而言,所述加解密算法可以是任一种现有的加解密算法,例如RSA算法等。
[0199] 当所述外部储存内存在安全验证信息时,执行步骤503,当所述外部储存内部存在安全验证信息时,执行步骤505。
[0200] 步骤503,判断BIOS固件中的数据和保存操作系统的存储设备中的数据是否被更改;
[0201] 具体而言,所述BIOS固件中的数据可以为任一种保存BIOS固件的存储设备中的数据,例如为串行外设接口只读存储器SPI ROM中的数据。
[0202] 所述保存操作系统的存储设备中的数据可以为任一种保存操作系统的存储设备中的数据,例如为非易失性内存主机控制器接口规范固态硬盘NVMe SSD中的数据。
[0203] 其中,当所述开机数据包括BIOS固件中的数据时,判断所述BIOS固件中的数据是否被更改,包括:
[0204] 使用哈希算法计算所述BIOS固件中的数据的第一哈希值;
[0205] 比较所述第一哈希值与外部存储保存的第二哈希值是否相同;
[0206] 当不相同时,判断所述BIOS固件中的数据被更改;
[0207] 当相同时,判断BIOS固件中的数据没有被更改;
[0208] 其中,所述第二哈希值为预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值。
[0209] 其中,当所述开机数据包括所述存储设备中的数据时,判断所述存储设备中的数据是否被更改,包括:
[0210] 使用哈希算法计算所述存储设备中的数据的第三哈希值;
[0211] 比较所述第三哈希值与外部存储保存的第四哈希值是否相同;
[0212] 当不相同时,判断所述存储设备中的数据被更改;
[0213] 当相同时,判断所述存储设备中的数据没有被更改;
[0214] 其中,所述第四哈希值为预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0215] 其中,可以预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值并保存在外部存储中,可以预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值并保存在外部存储中。
[0216] 其中,当所述第二哈希值通过加解密算法私钥加密后保存在外部储存中时,所述比较所述第一哈希值与外部存储保存的第二哈希值是否相同,包括:
[0217] 使用所述加解密算法对所述第二哈希值进行公钥解密;
[0218] 比较所述第一哈希值与解密后的第二哈希值是否相同;
[0219] 当所述第四哈希值通过加解密算法私钥加密后保存在外部储存中时,所述比较所述第三哈希值与外部存储保存的第四哈希值是否相同,包括:
[0220] 使用所述加解密算法对所述第四哈希值进行公钥解密;
[0221] 比较所述第三哈希值与解密后的第四哈希值是否相同。
[0222] 其中,可以预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值,再利用所述加解密算法对所述哈希值进行私钥加密后保存在外部存储中,可以预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值再利用所述加解密算法对所述哈希值进行私钥加密后保存在外部存储中。
[0223] 当所述BIOS固件中的数据和保存操作系统的存储设备中的数据没有被更改时,执行步骤504,当所述BIOS固件中的数据或者保存操作系统的存储设备中的数据被更改时,执行步骤505。
[0224] 步骤504,继续执行所述设备的开机程序;
[0225] 其中,所述继续执行所述设备的开机程序包括:继续执行POST过程以及后续的引导程序等过程,最终完成启动存储设备中的操作系统。
[0226] 步骤505,停止执行所述设备的开机程序。
[0227] 其中,本步骤中,停止执行所述设备的开机程序的同时,还可以在所述设备的屏幕上显示对应的错误信息。
[0228] 例如,当所述BIOS固件中的数据或者保存操作系统的存储设备中的数据被更改时,可以显示所述BIOS固件中的数据或者保存操作系统的存储设备中的数据错误。
[0229] 本发明实施例提供的技术方案,利用哈希算法来验证BIOS固件中的数据和/或保存操作系统的存储设备中的数据是否被更改,可以在开机过程中提高开机的安全性,避免数据更改(例如黑客入侵)后仍然可以完成开机导致信息外泄;并且一旦数据被更改,可以立即让系统用户查觉到数据变动。
[0230] 本发明实施例,只需要增加外部存储和修改BIOS固件即可完成上述方法,成本较低。并且还可以使用加解密算法对外部存储中的数据进行加密,可以确保外部存储中的数据的安全性。
[0231] 图6为本发明另一实施例提供的一种设备开机的方法的流程示意图。
[0232] 本实施例应用于x86操作系统的BIOS POST开机程序中。
[0233] 本实施例中,BIOS固件保存在串行外设接口只读存储器SPI  ROM(Serial Peripheral Interface Read-Only Memory)中,x86操作系统保存在非易失性内存主机控制器接口规范固态硬盘NVMe SSD中。
[0234] 本实施例中,哈希算法采用SHA256算法,加解密算法采用RSA算法。
[0235] 本实施例中,外部存储采用USB mass storage。
[0236] 如图6所示,该方法包括:
[0237] 步骤601,在BIOS POST开机程序中,检查NVMe SSD和USB mass storage是否已经连接在计算机上;
[0238] 当NVMe SSD或者USB mass storage任一没有连接在计算机上时,则执行步骤606,当NVMe SSD和USB mass storage都连接在计算机上时,执行步骤602。
[0239] 步骤602,检查USB mass storage被是否存在安全验证文件BIOS encryptes file和NVMe encryptes file;
[0240] 其中,在本次开机之前,可以预先在USB mass storage中保存安全验证文件BIOS encryptes file和NVMe encryptes file。
[0241] 其中,预先使用SHA256算法计算所述BIOS SPI ROM中的原始数据得到第二SHA值,并使用RSA加密算法对该第二SHA值进行私钥加密,然后以BIOS encryptes file的形式保存在USB mass storage中。
[0242] 预先使用SHA256算法计算NVMe SSD中的原始数据得到第四SHA值,并使用RSA加密算法对该第四SHA值进行私钥加密,以NVMe encryptes file形式保存在USB mass storage中,然后公钥解密达到数位签章的功能。
[0243] 具体而言,USB mass storage中存放两种文件,一种是由SHA256演算BIOS SPI ROM所产生的输出并使用RSA金钥加密得到的文件,另一种是由SHA256演算NVMe SSD所产生的输出并使用RSA金钥加密得到的文件。
[0244] 其中,上述原始数据是指BIOS SPI ROM或者NVMe SSD没有被更改时的数据。
[0245] 当BIOS encryptes file或NVMe encryptes file任一没有存在时,则执行步骤606,当BIOS encryptes file和NVMe encryptes file都存在时,执行步骤603。
[0246] 步骤603,使用SHA256算法计算BIOS SPI ROM中的数据得到第一SHA值,使用RSA算法解密BIOS encryptes file得到第二SHA值,比较所述第一SHA值和所述第二SHA值是否相同;
[0247] 当所述第一SHA值和所述第二SHA值相同时,执行步骤604,当所述第一SHA值和所述第二SHA值不相同时,执行步骤606。
[0248] 步骤604,使用SHA256算法计算NVMe SSD中的数据得到第三SHA值,使用RSA算法解密NVMe encryptes file得到第四SHA值,比较所述第三SHA值和所述第四SHA值是否相同;
[0249] 当所述第三SHA值和所述第四SHA值相同时,执行步骤605,当所述第三SHA值和所述第四SHA值不相同时,执行步骤606。
[0250] 具体而言,使用RSA公钥解密BIOS encryptes file、NVMe encryptes file。
[0251] 步骤605,继续执行开机程序;
[0252] 其中,本步骤中,系统完成开机程序,可以开机至NVMe SSD的x86操作系统。
[0253] 步骤605,强制停止进行开机程序。
[0254] 其中,本步骤中,当强制停止进行开机程序时,还可以在计算机屏幕上显示对应的错误信息。例如,当NVMe SSD或者USB mass storage任一没有连接在计算机上时,显示NVMe SSD或者USB mass storage不存在。当BIOS encryptes file或NVMe encryptes file任一没有存在时,显示BIOS encryptes file或NVMe encryptes file不存在。当所述第一SHA值和所述第二SHA值不相同时,显示BIOS SPI ROM中的数据错误。当所述第三SHA值和所述第四SHA值不相同时,显示NVMe SSD中的数据错误。
[0255] 本实施例提供的技术方案,在x86操作系统的BIOS POST开机程序中,应用SHA256安全哈希算法与RSA非对称加密算法的配合,同时对BIOS固件以及存储设备(NVMe SSD)中的数据进行验证,能够确保开机数据的安全性和正确性,避免因黑客入侵数据后还能够正常执行x86系统的开机程序,导致信息外泄风险。
[0256] 本实施例提供的技术方案,在未进入操作系统前,只要BIOS SPI ROM或者NVMe SSD中的数据被更改过,将会立即停止x86系统的开机程序,能够起到提醒和防范黑客的作用。另外通过显示错误信息,还能够使使用者对系统作确认,以检查数据被更改的原因。
[0257] 图7为本发明一实施例提供的一种设备开机的装置的结构示意图。如图7所示,该装置包括:
[0258] 判断单元,用于设备开机时,在基本输入输出系统BIOS执行上电自检POST过程中,判断开机数据是否被更改;
[0259] 控制单元,用于当所述开机数据没有被更改时,继续执行所述设备的开机程序。
[0260] 其中,所述判断开机数据是否被更改,包括:
[0261] 使用哈希算法计算所述开机数据的第一哈希值;
[0262] 比较所述第一哈希值与外部存储保存的安全验证信息是否相同;
[0263] 当不相同时,判断所述开机数据被更改;
[0264] 当相同时,判断所述开机数据没有被更改;
[0265] 其中,所述安全验证信息为预先使用所述哈希算法计算原始的开机数据得到的哈希值。
[0266] 其中,所述开机数据包括以下至少之一:
[0267] BIOS固件中的数据、保存操作系统的存储设备中的数据。
[0268] 所述判断单元,具体用于当所述开机数据包括BIOS固件中的数据时,判断所述BIOS固件中的数据是否被更改,包括:
[0269] 使用哈希算法计算所述BIOS固件中的数据的第一哈希值;
[0270] 比较所述第一哈希值与外部存储保存的第二哈希值是否相同;
[0271] 当不相同时,判断所述BIOS固件中的数据被更改;
[0272] 当相同时,判断BIOS固件中的数据没有被更改;
[0273] 其中,所述第二哈希值为预先使用所述哈希算法计算所述BIOS固件中的原始数据得到的哈希值;
[0274] 所述判断单元,具体用于当所述开机数据包括所述存储设备中的数据时,判断所述存储设备中的数据是否被更改,包括:
[0275] 使用哈希算法计算所述存储设备中的数据的第三哈希值;
[0276] 比较所述第三哈希值与外部存储保存的第四哈希值是否相同;
[0277] 当不相同时,判断所述存储设备中的数据被更改;
[0278] 当相同时,判断所述存储设备中的数据没有被更改;
[0279] 其中,所述第四哈希值为预先使用所述哈希算法计算所述存储设备中的原始数据得到的哈希值。
[0280] 其中,所述判断单元,具体用于当所述第二哈希值通过加解密算法加密后保存在外部储存中时,使用所述加解密算法对所述第二哈希值进行解密;比较所述第一哈希值与解密后的第二哈希值是否相同;
[0281] 所述判断单元,具体用于当所述第四哈希值通过加解密算法加密后保存在外部储存中时,使用所述加解密算法对所述第四哈希值进行解密;比较所述第三哈希值与解密后的第四哈希值是否相同。
[0282] 该装置还包括,检查单元,用于在判断开机数据是否被更改之前,检查所述存储设备和保存安全验证信息的外部储存是否连接在所述设备;
[0283] 当所述存储设备和外部储存连接在所述设备时,检查所述外部储存内是否存在安全验证信息;
[0284] 当存在所述安全验证信息时,再通知判断单元判断开机数据是否被更改。
[0285] 其中,所述控制单元,还用于当所述开机数据被更改时,或者当所述存储设备或外部储存没有连接在所述设备时,或者所述外部储存内不存在安全验证信息时,停止执行所述设备的开机程序。
[0286] 其中,该装置还包括显示单元,用于当所述开机数据被更改时,或者当所述存储设备或外部储存没有连接在所述设备时,或者当所述外部储存内不存在安全验证信息时,在所述设备的屏幕上显示对应的错误信息。
[0287] 本发明实施例还提供了一种设备安全开机的装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述设备开机的方法。
[0288] 本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项所述设备开机的方法的步骤。
[0289] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈