数据保护装置和方法 【技术领域】
本发明涉及加解密领域,尤其涉及一种存储设备的数据保护装置及方法。
背景技术
众所周知,计算机的大量用户数据和应用程序常常是存储于存储设备,例如硬盘中。通常,访问硬盘是不需要任何授权的,但在实际使用中,为了保证硬盘中数据不被随意读取/拷贝,一般是通过设置计算机系统密码来避免未经授权人员访问硬盘中存储的数据。
然而,由于计算机系统密码只是禁止未授权人员进入该硬盘上的操作系统,以避免随意读取/拷贝该硬盘中的数据。未经授权人员只要将该硬盘从原计算机上拆除,并将该硬盘安装在另一计算机上,且设置另一计算机上的硬盘为主盘,利用该主盘中的操作系统即可读取该硬盘中的数据。因此,系统密码并不能有效地保证该硬盘所存储的数据的安全性。
【发明内容】
鉴于此,有必要提供一种更安全的数据保护装置。
另外,还有必要提供一种更安全的数据保护方法。
一种数据保护装置,用于对存储设备和数据处理模块之间流动的数据进行加解密。所述数据保护装置用于根据数据处理模块和数据保护装置中至少一者的专有信息,以及用户密码分别对要写入存储设备的数据和从存储设备中读取进行加密和解密。
一种数据保护方法,其包括:
设置用户密码;
获取数据处理模块和数据保护装置中至少一者的专有信息;
利用数据处理模块和数据保护装置中至少一者的专有信息,以及用户密码对要写入存储设备中的数据进行加密,并将加密后的数据存储于存储设备中。
一种数据保护方法,其用于根据预设计算机系统的数据处理模块和数据保护装置中至少一者的专有信息,以及预设用户密码对要写入存储设备中的数据进行加密后存储于所述存储设备中,当从所述存储设备中读出数据时,所述数据保护方法还包括如下步骤:
获取当前数据处理模块和数据保护装置中至少一者的专有信息;
利用当前数据处理模块和数据保护装置中至少一者的专有信息,以及预设用户密码对从存储设备中读取的数据进行解密,并将解密后的数据发送至数据处理模块。
由于上述数据保护装置及方法使用之加密密钥是由用户设定的密码以及数据处理模块和数据保护装置的专有信息组合而成,故只能在同一计算机系统上使用存储设备和正确的用户密码才能正确读取存储设备中的数据,可防止非法使用者窃取存储设备后在其它计算机系统上访问存储设备中的数据。
【附图说明】
图1为一较佳实施方式的计算机系统的功能模块图。
图2为一较佳实施方式的数据保护方法流程图。
【具体实施方式】
请参看图1,计算机系统包括数据处理模块100、存储设备200以及数据保护装置300。其中,存储设备200可以为硬盘、U盘等。数据处理模块100包括主板、CPU以及B10S(基本输入/输出系统)等,用于透过数据保护装置300读/写存储设备200中的数据。数据保护装置300为设置在主板上的芯片,其拥有独立的指令可作为一独立的用户操作系统,用于对进出存储设备200的数据进行加解密。其他实施方式中,数据保护装置300也可以设置在存储设备200中。数据保护装置300包括密码存储单元301、信息获取单元309、密钥生成单元311、密钥存储单元313、输入单元303、密码验证单元305、数据加密单元315、数据解密单元317、控制器319、信息存储单元320以及提示单元307。
信息存储单元320为单次烧录只读存储器(One Time Program ROM),用于存储数据保护装置300的专有信息,例如,数据保护装置300序列号和制造厂家注册号(Factory ID)。数据保护装置300的专有信息可以由制造厂家烧录于信息存储单元320内。
密码存储单元301为单次烧录只读存储器,其用于存储用户密码。该用户密码可以是用户在第一次使用数据保护装置300时设置。
信息获取单元309用于获取数据处理模块100和数据保护装置300的专有信息,例如:主板序列号和CPU序列号、以及数据保护装置300厂家注册号和序列号等。信息获取单元309可在用户设置用户密码时获取主板序列号和CPU序列号,并从信息存储单元320中获取数据保护装置300序列号和制造厂家注册号。其中主板序列号和CPU序列号可在B1OS自检时产生。
密钥生成单元311用于根据用户密码以及数据处理模块100和数据保护装置300的专有信息生成加密密钥,并存储于密钥存储单元313中。其中,密钥存储单元313亦为单次烧录只读存储器(One Time Program ROM)。
输入单元303接收基于用户操作而产生的验证密码。如用户通过实体按键或触摸屏按钮输入验证密码。
密码验证单元305用于将验证密码与用户密码进行比较,以判断验证密码与用户密码是否相匹配,并在验证密码与用户密码不相匹配时,通过提示单元307输出错误提醒信息,在验证密码与用户密码相匹配时,发送验证通过信息给控制器319。
控制器319基于验证通过信息开始工作,并侦测数据处理模块100是否给存储设备200发送写信号或者读信号。控制器319侦测到写信号时,通过数据加密单元315存储的加密算法以及密钥存储单元313中加密密钥对要写入存储设备200中的数据加密,并将加密后的数据存储于存储设备200中。
控制器319侦测到读信号时,发送控制信号给信息获取单元309。信息获取单元309还用于响应该控制信号获取当前数据处理模块100以及数据保护装置300的专有信息。密钥生成单元311还用于根据用户密码以及当前数据处理模块100和数据保护装置300专有信息生成解密密钥。
控制器319还用于通过数据解密单元317存储的与加密算法相应的解密算法以及解密密钥对从存储设备200中读出的数据进行解密。
密钥生成单元311生成的解密密钥与密钥存储单元313中的加密密钥相对应时,数据解密单元317才能将存储设备200中的数据还原为原始的数据。密钥生成单元311生成的解密密钥与密钥存储单元313中的加密密钥不对应时,数据解密单元317无法将存储设备200中的数据还原为原始的数据,传送到数据处理模块100中的数据可能是一堆乱码。
由于数据保护装置300使用之加密密钥是由用户设定的密码以及数据处理模块100和数据保护装置300的专有信息组合而成,故只能在同一计算机系统上使用存储设备200和正确的用户密码才能正确读取存储设备200中的数据,可防止非法使用者窃取存储设备200后在其它计算机系统上访问存储设备200中的数据。
另外,由于用户密码是通过单次烧录技术设置,故,密码设置一旦完成,就无法修改,保证了用户加密后的数据能够合理的进行解密,而避免因为中途密码地变更而导致以前加密数据无法再解密的情况发生。
请结合参看图2,其为一较佳实施方式的数据保护方法的流程图,包括以下步骤:
步骤600,设置用户密码。用户密码通过一次烧录技术进行设置。
步骤602,获取数据处理模块和数据保护装置的专有信息。数据处理模块包括B1OS、主板以及CPU等器件,该处理模块的专有信息可为主板和CPU的序列号。数据保护装置的专有信息可为数据保护装置的序列号和制造厂家的注册号。
步骤604,根据用户密码以及数据处理模块和数据保护装置的专有信息生成加密密钥并保存。
步骤606,接收用户输入的验证密码。
步骤608,将验证密码与用户密码进行比较,判断验证密码是否与用户密码相匹配。
步骤610,当验证密码与用户密码不相匹配时,输出错误提醒信息。
步骤612,当验证密码与用户密码相匹配时,侦测数据处理模块对存储设备的访问操作是读还是写。
步骤614,当数据处理模块对存储设备进行写操作时,根据存储的加密密钥对要写入存储设备中的数据进行加密,并将加密后的数据存储于存储设备中。
步骤616,当数据处理模块对存储设备进行读操作时,获取当前数据处理模块和数据保护装置的专有信息。
步骤618,根据用户密码以及当前数据处理模块和数据保护装置的专有信息生成解密密钥。
步骤620,利用解密密钥对要从存储设备中读出的数据进行解密,并将解密后的数据发送至数据处理模块。当解密密钥与加密密钥相匹配时,解密后的数据是原始的数据,而当解密密钥与加密密钥不相匹配时,解密后的数据不是原始的数据,可能是一堆乱码。
上述数据保护方法中密钥是由用户设定的密码以及数据处理模块和数据保护装置的专有信息组合而成,故只能在同一计算机系统上读取存储设备中加密后的数据,如此便可以有效地防止非法使用者窃取存储设备后被在其它计算机系统上访问存储设备中的数据。