一种对数据进行加密的方法和系统的制作方法

文档序号:6332457阅读:113来源:国知局
专利名称:一种对数据进行加密的方法和系统的制作方法
技术领域
本发明涉及加密领域,特别是涉及一种对数据进行加密的方法和系统。
背景技术
随着计算机、手机、掌上电脑(PDA)、手持电视等数据保存和处理装置的广泛应用, 以及电子银行、电子商务等的迅猛发展,人类越来越离不开存储在设备中的电子数据资料, 同时,如何保证这些数据的安全也成为一个重要的课题。现有技术是采用软件加密的方式来保证电子数据的安全的。以对计算机中的文 件进行加密为例,当计算机中安装加密程序和与之对应的解密程序之后,针对每个待加密 文件运行一次加密程序,就可以使该待加密文件加密成为加密文件,同时生成一个文件密 钥,该文件密钥与该加密文件一一对应,当需要对加密文件进行解密时,只能利用与该加密 文件对应的文件密钥,针对该加密文件运行一次解密程序,才能解密成功,如果文件密钥错 误,该加密文件将无法解密,从而保证了该加密文件的安全。但是,现有技术这种利用软件加密来保证数据安全的方式,文件的加密过程是在 存储该文件的数据保存和处理装置中进行的,例如上述对计算机中的文件进行加密,整个 加密过程都在计算机中进行,这样,现有技术对数据加密后生成的与加密数据一一对应的 密钥也就保存在数据保存和处理装置中,如果有病毒程序或者电脑黑客等侵入该数据保存 和处理装置,密钥就很容易被获得、或被破解,从而造成加密数据因被解密而遭到窃取。

发明内容
本发明所要解决的技术问题是提供一种对数据进行加密的方法和系统,能够保证 数据密钥不能被没有权限的任何硬件、软件或个人获得。本发明解决上述技术问题的技术方案如下一种对数据进行加密的方法,该方法 包括
步骤1 加密锁与数据保存装置建立连接;
步骤2 针对所述数据保存装置中的每一待加密数据,所述加密锁生成与该待加密数 据一一对应的数据密钥,并用所述数据密钥对该待加密数据进行加密,生成加密数据;
步骤3 针对每一数据密钥,所述加密锁利用自身公私密钥对中的公钥对该数据密钥 进行加密,生成数字信封,并将所述数字信封与所述加密数据连接到一起,得到包含数字信 封的加密数据;其中,所述数字信封只能被所述加密锁利用所述公私密钥对中的私钥来解 密;
步骤4 断开加密锁与数据保存装置的连接。本发明的有益效果是本发明中,由于数据密钥被公私密钥对中的公钥加密后 所生成的数字信封只能利用公私密钥对中的私钥来解密,而该公钥和私钥所组成的公私密 钥对并不保存在数据保存装置中,因此,没有权限的任何硬件、软件或个人都不可能通过侵 入数据保存装置的方式来获得私钥,进而解密数据保存装置中的数字信封,这样也就不可能获得数据密钥。在上述技术方案的基础上,本发明还可以做如下改进
进一步,所述步骤1中,加密锁与数据保存装置建立连接的方法为 加密锁与数据保存装置建立物理连接;
所述加密锁接收加密锁口令,并判断所述加密锁口令是否正确,如果是,则所述加密锁 启动,执行所述步骤2 ;否则,所述加密锁不启动,执行所述步骤4。采用上述进一步方案的有益效果是,利用加密锁口令来保证只有知道加密锁口令 的人才能使用加密锁,否则,即使得到加密锁,也无法利用其解密数字信封获取数据密钥, 因此,本发明能保证加密锁的使用安全,也进一步保证了数据密钥以及数据的安全。进一步,在加密锁与数据保存装置建立物理连接之后,在加密锁接收加密锁口令 之前,该方法进一步包括加密锁接收管理员口令,并判断管理员口令是否正确,如果是,则 允许设置加密锁口令;否则,不允许设置加密锁口令。采用上述进一步方案的有益效果是,加密锁接收到正确的管理员口令即允许设置 加密锁口令,如果加密锁判断自身所接收的管理员口令是错误的,那就不允许设置加密锁 口令,这样,本发明可以解决有权限的人因为忘记加密锁口令而无法使用加密锁的问题,同 时,也可以防止没有使用权限的人通过设置加密锁口令的方式来获得加密锁的使用权限, 从而解密数字信封,获得数据密钥,因此,本发明能够保证加密锁的使用安全,进而保证数 据的安全。进一步地,步骤3中,在得到包含数字信封的加密数据之后,进一步包括所述加 密锁利用所述公私密钥对中的私钥,对所述包含数字信封的加密数据进行数字签名,得到 数字签名过的包含数字信封的加密数据。采用上述进一步方案的有益效果是,在解密时能够确认数字签名过的包含数字信 封的加密数据的来源及其完整性。进一步地,步骤2中,生成与该待加密数据一一对应的数据密钥的方法为用随机 方式生成与该待加密数据一一对应的数据密钥。采用上述进一步方案的有益效果是,由于采用随机方式产生数据密钥,而这种数 据密钥之间没有相关性,因此,这种数据密钥很难被破译,该密钥的保密性很强。进一步,在得到数字签名过的包含数字信封的加密数据之后,进一步包括加密锁 对数字签名过的包含数字信封的加密数据的完整性进行验证,验证方法为
加密锁利用公私密钥对中的公钥,对数字签名过的包含数字信封的加密数据进行 反数字签名,得到反数字签名过的包含数字信封的加密数据;
加密锁用哈希HASH函数对反数字签名过的包含数字信封的加密数据进行处理,得到 验证数据;
加密锁判断验证数据与反数字签名过的包含数字信封的加密数据是否相同,如果是, 则判断数字签名过的包含数字信封的加密数据是完整的;否则,判断数字签名过的包含数 字信封的加密数据是不完整的。进一步地,步骤3中,在得到包含数字信封的加密数据之后,进一步包括所述加 密锁利用所述公私密钥对中的私钥,对所述包含数字信封的加密数据中的数字信封进行解 密,得到所述数据密钥。
在加密锁利用所述公私密钥对中的私钥,对包含数字信封的加密数据中的数字信 封进行解密,得到数据密钥之后,进一步包括加密锁利用数据密钥,对包含数字信封的加 密数据中的加密数据进行解密,得到解密数据。进一步地,在步骤1中加密锁与数据保存装置建立连接之后,进一步包括加密锁 确定待删除数据在数据保存装置中的位置,从数据保存装置中删除待删除数据,并在待删 除数据在数据保存装置中的位置写入随机数据。采用上述进一步方案的有益效果是,由于加密锁可以用来永久地删除数据保存装 置中的待删除数据,即将待删除数据删除后,在其位于数据保存装置中的原位置处写入随 机数据,从而使待删除数据不可恢复,这样就保证了待删除数据在删除之后不会被任何硬 件、软件或个人读出,从而保证数据的安全。进一步,所述步骤1中加密锁与数据保存装置建立连接之后,该方法进一步包括 所述加密锁在所述数据保存装置中创建虚拟磁盘;
所述步骤2中的待加密数据为所述虚拟磁盘,则所述加密数据为加密虚拟磁盘,所述 步骤3中所述包含数字信封的加密数据为包含数字信封的加密虚拟磁盘;
所述步骤4中断开加密锁与数据保存装置的连接之前,该方法进一步包括卸载所述 包含数字信封的加密虚拟磁盘。采用上述进一步方案的有益效果是,将待加密数据的范围扩展到虚拟磁盘,扩大 了本发明的应用范围。进一步,所述加密锁在所述数据保存装置中创建虚拟磁盘的方法为所述加密锁 将所述数据保存装置中的第一存储空间指定为所述虚拟磁盘的存储空间,将所述第一存储 空间格式化,并为所述虚拟磁盘的存储空间指定盘符。进一步,所述步骤3中得到包含数字信封的加密虚拟磁盘之后,该方法进一步包 括将待保存数据保存到所述加密虚拟磁盘中,保存方法为
所述加密锁生成与所述待保存数据对应的数据保存密钥,并用所述数据保存密钥对所 述待保存数据进行加密,生成加密保存数据;
所述加密锁利用自身公私密钥对中的公钥对所述数据保存密钥进行加密,生成数据保 存数字信封,并将所述数据保存数字信封与所述加密保存数据连接到一起,得到包含数据 保存数字信封的加密保存数据;其中,所述数据保存数字信封只能被所述加密锁利用与所 述公私密钥对中的私钥来解密;
所述加密锁将所述包含数据保存数字信封的加密保存数据保存到所述加密虚拟磁盘中。进一步,所述加密锁将所述包含数据保存数字信封的加密保存数据保存到所述加 密虚拟磁盘中之后,该方法进一步包括读取所述加密虚拟磁盘中的所述包含数据保存数 字信封的加密保存数据,读取方法为
所述加密锁利用与所述公私密钥对中的私钥,对所述包含数据保存数字信封的加密保 存数据中的数据保存数字信封进行解密,得到所述数据保存密钥;
所述加密锁利用所述数据保存密钥,对所述包含数据保存数字信封的加密保存数据中 的加密保存数据进行解密,得到解密保存数据;
所述加密锁在所述加密虚拟磁盘中读取所述解密保存数据。
采用上述进一步方案的有益效果是,由于在将待保存数据向加密虚拟磁盘中保存 时,是对待保存数据进行加密后再存入加密虚拟磁盘;将加密后保存在加密虚拟磁盘中的 数据读出时,是将该加密数据进行解密之后读出,另外,本发明还对虚拟磁盘也进行了加 密,得到了加密虚拟磁盘,而且,这里对数据进行的加密和解密,以及对虚拟磁盘进行的加 密,其方法均为本发明提供的对数据进行加密和解密的方法,当加密锁与数据保存装置断 开连接后,加密虚拟磁盘被卸载,这样加密数据对应的数据密钥以及加密磁盘对应的磁盘 密钥均不可能被没有权限的任何硬件、软件或个人获得,因此,该方案极大地增强了数据以 及数据密钥的安全性。另外,本发明还提供了一种对数据进行加密的系统,该系统包括连接模块、加密数 据与数据密钥生成模块、数字信封生成模块和数据保存装置,其中
所述连接模块用于,与所述数据保存装置建立连接或断开连接; 所述加密数据与数据密钥生成模块,与所述连接模块相连,用于针对所述数据保存装 置中的每一待加密数据,生成与该待加密数据一一对应的数据密钥,用所述数据密钥对该 待加密数据进行加密,生成加密数据;将所述加密数据及与所述加密数据对应的数据密钥 发送到所述数字信封生成模块;
所述数字信封生成模块,与所述连接模块相连,用于针对每一数据密钥,利用自身公私 密钥对中的公钥对该数据密钥进行加密,生成数字信封;将所述数字信封与所述加密数据 连接到一起,得到包含数字信封的加密数据;将所述包含数字信封的加密数据通过所述连 接模块,发送到所述数据保存装置;其中,所述数字信封只能被所述数字信封生成模块利用 所述公私密钥对中的私钥来解密;
所述数据保存装置用于,与所述连接模块建立连接或断开连接;保存待加密数据和包 含数字信封的加密数据。进一步,在所述数字信封生成模块与所述连接模块之间,该系统进一步包括数字 签名模块;
所述数字信封生成模块用于,将所述包含数字信封的加密数据发送到所述数字签名模 块;将所述公私密钥对中的私钥发送到所述数字签名模块;
所述数字签名模块用于,利用所述公私密钥对中的私钥,对包含数字信封的加密数据 进行数字签名,生成数字签名过的包含数字信封的加密数据;将所述数字签名过的包含数 字信封的加密数据通过所述连接模块,发送到所述数据保存装置;
所述数据保存装置进一步用于,保存数字签名过的包含数字信封的加密数据。进一步,所述数字信封生成模块用于,将所述公私密钥对中的公钥发送到所述数 字签名模块;
所述数字签名模块用于,利用所述公私密钥对中的公钥,对数字签名过的包含数字信 封的加密数据进行反数字签名,生成反数字签名过的包含数字信封的加密数据;用HASH函 数处理反数字签名过的包含数字信封的加密数据,生成验证数据;对所述验证数据与反数 字签名过的包含数字信封的加密数据是否相同进行验证,根据验证结果判断所述数字签名 过的包含数字信封的加密数据是否完整;将反数字签名过的包含数字信封的加密数据和验 证数据通过所述连接模块,发送到所述数据保存装置;
所述数据保存装置进一步用于,保存反数字签名过的包含数字信封的加密数据和验证数据。进一步,该系统进一步包括删除模块;所述删除模块与所述连接模块相连,用于, 确定待删除数据在所述数据保存装置中的位置,从所述数据保存装置中删除待删除数据; 在所述待删除数据在所述数据保存装置中的位置处写入随机数据。


图1为本发明提供的对数据进行加密的方法流程图; 图2为本发明提供的对数据进行加密的系统结构图。
具体实施例方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。图1为本发明提供的对数据进行加密的方法流程图。如图1所示,该方法包括 步骤101 加密锁与数据保存装置建立连接。这里,加密锁与数据保存装置可以为相互分离的两个装置,二者可以建立连接关 系,从而进行交换数据。数据保存装置可以为计算机,手机、掌上电脑(PDA)以及手持电视等。步骤102 针对数据保存装置中的每一待加密数据,加密锁生成与该待加密数据 一一对应的数据密钥,并用数据密钥对该待加密数据进行加密,生成加密数据。这里,待加密数据的种类很多,例如,可以为数据保存装置中的数据文件,也可以 为银行账号等各种帐号以及相应的各种用户口令,还可以为数据保存装置中的一个或多个 数据存储空间,如计算机中的C盘、D盘等磁盘,或者这些磁盘中的一部分存储空间等,还可 以是利用虚拟技术得到的虚拟磁盘,例如,用虚拟技术将计算机磁盘中的一部分存储空间 作为一个文件,利用虚拟技术将其虚拟为一个新的X盘,对该部分存储空间、即X盘进行格 式化,然后将X盘作为待加密数据进行加密,从而保证该X盘不能被外部没有权限的人、硬 件及软件所解密而访问。加密锁产生数据密钥的方法也多种多样,例如,可以为用随机方式产生数据密钥, 随机数发生器是采用随机方式产生数据密钥的装置,由于用随机方式产生的数据密钥之间 没有相关性,因而很难破译,这样产生的数据密钥的保密性也就很强,另外,加密锁也可以 产生栅栏密码、凯撒密码、四方密码、希尔密码、波雷费密码、埃特巴什码和培根密码等密码 作为数据密钥。为了保证数据的安全,待加密数据与数据密钥之间具有一一对应关系,这样,利用 一个待加密数据的数据密钥就无法解密其他的加密数据,从而保证数据的安全。步骤103 针对每一数据密钥,加密锁利用自身公私密钥对中的公钥对该数据密 钥进行加密,生成数字信封,并将数字信封与加密数据连接到一起,得到包含数字信封的加 密数据;其中,数字信封只能被加密锁利用公私密钥对中的私钥来解密。这里,加密锁自身保存有一个独一无二的公私密钥对,该公私密钥对包括一个公 钥和一个私钥,并且该公钥和该私钥相互对应。不同的加密锁中保存的公私密钥对是不同 的,因而一个加密锁利用自身的公钥或私钥所加密的数据,另一个加密锁是无法解密的,这样也就保证了数据的安全。加密锁中的公私密钥对,可以是在该加密锁第一次使用时生成、保存在该加密锁 中,也可以通过其他方式保存在该加密锁中,比如,生产时将公私密钥对保存于该加密锁 中。不论采用何种方式将公私密钥对保存于加密锁中,只要不同加密锁中保存的公私密钥 对是不同的,即在本发明的保护范围之内。针对每一数据密钥,加密锁利用自身公私密钥对中的公钥对待加密的数据密钥进 行加密,从而形成只能被该加密锁利用公私密钥对中的私钥来解密的数字信封。由于数字信封只能被生成自身的加密锁所解密,而且该解密过程还必须利用是与 该加密锁保存的公私密钥对中的私钥才能完成,而该公私密钥对是保存在加密锁中而不是 保存在数据保存装置中的,因此,当步骤104中断开加密锁与数据保存装置的连接后,该加 密锁之外没有权限的任何硬件、软件或个人都无法获得该私钥,进而解密该数字信封,也就 无法获得解密后的数据密钥,这样也就保证了加密数据的安全。步骤104 断开加密锁与数据保存装置的连接。这里,断开加密锁与数据保存装置的连接后,加密锁之外没有权限的任何软件、硬 件或个人都无法解密数字信封,也就无法获得解密后的数据密钥。在步骤101中,加密锁与数据保存装置建立连接的方法为 加密锁与数据保存装置建立物理连接;
加密锁接收加密锁口令,并判断加密锁口令是否正确,如果是,则加密锁启动,执行步 骤102 ;否则,加密锁不启动,执行步骤104。
这里,加密锁与数据保存装置建立物理连接,意味着加密锁与数据保存装置通过物理 接口连接到一起,这样加密锁就可以对数据保存装置中的数据进行加密、解密、删除、备份、 保存等操作。连接加密锁和数据保存装置的物理接口多种多样,可以为USB接口,也可以为 串联接口,还可以为并联接口、红外接口等。加密锁口令用于启动加密锁,如果加密锁接收到的加密锁口令正确,则加密锁正 常启动,可以执行步骤102的操作,以及对数据保存装置中的数据进行加密、解密、删除、备 份、保存等操作,还可以与数据保存装置进行数据的交换等,如果加密锁接收到的加密锁口 令错误,则加密锁不启动,从而无法执行步骤102和103所述的操作,只能执行步骤104,与 数据保存装置断开连接。利用加密锁口令,可以保证只有知道加密锁口令、即只有具有使用权限的人才能 使用加密锁,否则,即使得到加密锁,也无法利用其解密数字信封,进而获取数据密钥。这 样,本发明利用加密锁口令来保证加密锁的使用安全,从而进一步保证了数据密钥以及数 据的安全。在加密锁与数据保存装置建立物理连接之后,在加密锁接收加密锁口令之前,该 方法进一步包括加密锁接收管理员口令,并判断管理员口令是否正确,如果是,则允许设 置加密锁口令;否则,不允许设置加密锁口令。这里,管理员口令是比加密锁口令更高一级的口令,加密锁在接收到正确的管理 员口令之后,判断当前使用加密锁的人为管理员,因而允许设置加密锁口令,这样就可以解 决有权限的人因为忘记加密锁口令而无法使用加密锁的问题。如果加密锁判断自身所接收 的管理员口令是错误的,那就不允许设置加密锁口令,这样就可以防止无权限的人通过设置加密锁口令的方式来获得加密锁的使用权限,从而解密数字信封,获得数据密钥,因而本 发明能够保证加密锁的使用安全,进而保证数据的安全。步骤103中,在得到包含数字信封的加密数据之后,进一步包括加密锁利用公私 密钥对中的私钥,对包含数字信封的加密数据进行数字签名,得到数字签名过的包含数字 信封的加密数据。对包含数字信封的加密数据进行数字签名后得到的数字签名过的包含数字信封 的加密数据,可以用来在解密时确认数字签名过的包含数字信封的加密数据的来源及其完 整性,如果完整,则说明该数据没有被篡改过,不完整则意味着数据已被篡改。本发明中,对包含数字信封的加密数据进行数字签名,是利用公私密钥对中的私 钥、即解密数字信封所需要用的私钥来进行的,而验证该数字签名过的包含数字信封的加 密数据的来源及其完整性,是用与该公私密钥对中的公钥进行的。本方法在得到数字签名过的包含数字信封的加密数据之后,进一步包括加密锁 对数字签名过的包含数字信封的加密数据的完整性进行验证,验证方法为
加密锁利用公私密钥对中的公钥,对数字签名过的包含数字信封的加密数据进行 反数字签名,得到反数字签名过的包含数字信封的加密数据;
加密锁用哈希(HASH)函数对反数字签名过的包含数字信封的加密数据进行处理,得到 验证数据;
加密锁判断验证数据与反数字签名过的包含数字信封的加密数据是否相同,如果是, 则判断数字签名过的包含数字信封的加密数据是完整的;否则,判断数字签名过的包含数 字信封的加密数据是不完整的。在步骤102中,生成与该待加密数据一一对应的数据密钥的方法为用随机方式 生成与该待加密数据一一对应的数据密钥。这里,用随机方式产生的数据密钥之间没有相关性,因而数据密钥的保密性就很 好,从而是本方法可以最大限度地保护数据的安全。步骤103中,在得到包含数字信封的加密数据之后,进一步包括加密锁利用公私 密钥对中的私钥,对包含数字信封的加密数据中的数字信封进行解密,得到数据密钥。这里,加密锁可以用来解密。由于步骤103中加密锁利用自身公私密钥对中的公钥对该数据密钥进行加密,生 成数字信封的,因此,为了获得解密后的数据,就需要首先利用公私密钥对中的私钥来解密 数字信封,从而获得数据密钥,然后再利用该数据密钥来对加密数据进行解密。如步骤103所述,数字信封只能被加密锁利用自身公私密钥对中的私钥来解密, 才能重新获得数据密钥。这样,就杜绝了用一个加密锁的公私密钥对中的私钥来解密另一 个加密锁加密得到的数字信封的问题,从而保证了数据的安全,以及加密方法的可靠。在加密锁利用公私密钥对中的私钥,对包含数字信封的加密数据中的数字信封进 行解密,得到数据密钥之后,本方法进一步包括加密锁利用数据密钥,对包含数字信封的 加密数据中的加密数据进行解密,得到解密数据,保存在数据保存装置中。利用加密锁解密数字信封,从而得到数据密钥之后,加密锁就可以进一步利用该 数据密钥来对加密数据进行解密了,解密数据可以保存在数据保存装置中。在步骤101中加密锁与数据保存装置建立连接之后,进一步包括加密锁确定待删除数据在数据保存装置中的位置,从数据保存装置中删除待删除数据,并在待删除数据 在数据保存装置中的位置写入随机数据。这里,加密锁还可以用来永久地删除数据保存装置中的待删除数据,具体做法为 将待删除数据删除后,在其位于数据保存装置中的原位置处写入随机数据,从而使待删除 数据不可恢复,这样就保证了待删除数据在删除之后不会被任何硬件、软件或个人读出,从 而保证数据的安全。步骤1中,加密锁与数据保存装置建立连接之后,该方法进一步包括加密锁在数 据保存装置中创建虚拟磁盘;
步骤2中的待加密数据为该虚拟磁盘,则加密数据为加密虚拟磁盘,步骤3中的包含数 字信封的加密数据为包含数字信封的加密虚拟磁盘;
步骤4中断开加密锁与数据保存装置的连接之前,该方法进一步包括卸载包含数字 信封的加密虚拟磁盘。加密锁在数据保存装置中创建虚拟磁盘的方法为加密锁将数据保存装置中的第 一存储空间指定为该虚拟磁盘的存储空间,将第一存储空间格式化,并为虚拟磁盘的存储 空间指定盘符。例如,数据保存装置为计算机,而第一存储空间为该计算机中的D盘中的一部分 存储空间,则加密锁将数据保存装置中的第一存储空间指定为该虚拟磁盘的存储空间的方 法为加密锁将该计算机D盘中的第一存储空间设定为一个文件,该文件的大小为该第一 存储空间的大小,可以利用虚拟技术将该文件虚拟为一个虚拟磁盘,该第一存储空间、即虚 拟磁盘在被格式化后,可以为其指定盘符,比如将该计算机中并不存在的X盘作为其盘符。 然后,就可以利用本发明所提供的对数据进行加密的方法,对该虚拟磁盘进行加密,得到加 密虚拟磁盘。这样,步骤3中得到包含数字信封的加密虚拟磁盘之后,该方法进一步包括将待 保存数据保存到加密虚拟磁盘中,保存方法为
加密锁生成与待保存数据对应的数据保存密钥,并用数据保存密钥对待保存数据进行 加密,生成加密保存数据;
加密锁利用自身公私密钥对中的公钥对数据保存密钥进行加密,生成数据保存数字信 封,并将数据保存数字信封与加密保存数据连接到一起,得到包含数据保存数字信封的加 密保存数据;其中,数据保存数字信封只能被加密锁利用该公私密钥对中的私钥来解密; 加密锁将包含数据保存数字信封的加密保存数据保存到加密虚拟磁盘中。进一步地,加密锁将包含数据保存数字信封的加密保存数据保存到加密虚拟磁盘 中之后,该方法还包括读取加密虚拟磁盘中的包含数据保存数字信封的加密保存数据,读 取方法为
加密锁利用公私密钥对中的私钥,对包含数据保存数字信封的加密保存数据中的数据 保存数字信封进行解密,得到数据保存密钥;
加密锁利用数据保存密钥,对包含数据保存数字信封的加密保存数据中的加密保存数 据进行解密,得到解密保存数据;
加密锁在加密虚拟磁盘中读取该解密保存数据。在本发明的第一个实施例中,数据保存装置为计算机,步骤1中加密锁与计算机建立连接之后,加密锁在计算机中创建虚拟磁盘,例如,将计算机E盘的一部分存储空间作 为一个文件,即将要创建的虚拟磁盘的映像文件,对该部分存储空间进行格式化,并为其指 定盘符,例如指定为X盘,则得到一个存储空间大小与E盘中的该部分存储空间的大小相 同、经过格式化且盘符为X盘的虚拟磁盘,待加密数据即为该X盘,利用加密锁对该X盘进 行加密操作,加密操作的具体方法为前面所述的对数据进行加密的方法。加密锁对X盘进 行加密操作完成后,得到一个加密虚拟X盘以及与之对应的磁盘密钥,然后将该加密虚拟X 盘的磁盘密钥保存在该加密虚拟X盘中,当加密锁与该计算机断开连接之后,该加密虚拟X 盘被卸载,没有权限的任何人、硬件及软件都无法找到该加密后的虚拟的X盘。在加密锁与该计算机断开连接之前,或者加密锁与该计算机重新建立连接之后, 加密锁还可以向作为数据保存装置的计算机中写入待保存数据,写入的待保存数据是保存 到加密虚拟X盘里的。这里,待保存数据需要由加密锁进行加密,对这些加密数据进行加密 的方法可以采用以上所述的加密方法,也可以采用其他加密方法。当数据保存完成、并且加 密锁与计算机断开连接之后,卸载加密虚拟X盘,这样,没有权限的任何人、硬件及软件都 无法找到该加密虚拟X盘。在将加密虚拟X盘中保存的的包含数据保存数字信封的加密保存数据从计算机 硬盘中读出时,需要先使加密锁与计算机建立连接,然后,加密锁找到加密虚拟X盘并对其 进行解密,得到解密虚拟X盘,这样,加密锁就可以利用公私密钥对中的私钥对解密虚拟X 盘中包含数据保存数字信封的加密保存数据中的数据保存数字信封进行解密,得到数据保 存密钥,再利用数据保存密钥,对包含数据保存数字信封的加密保存数据中的加密保存数 据进行解密,得到解密保存数据,这样就可以将解密保存数据读出了。在本发明的第二个实施例中,数据保存装置为手机,待加密数据为该手机中的文 档文件,加密锁可以对手机中的文档文件按照本发明提供的对数据进行加密的方法进行处 理了。在本发明的第三个实施例中,数据保存装置为计算机,待加密数据为银行账号和 密码。加密锁可以主动接收输入的待加密数据,也可以被动接收,即从计算机中查找已输入 的银行账号和密码。图2为本发明提供的对数据进行加密的系统结构图。如图2所示,该系统包括连接 模块201、加密数据与数据密钥生成模块202、数字信封生成模块203和数据保存装置204, 其中
连接模块201用于,与数据保存装置204建立连接或断开连接; 加密数据与数据密钥生成模块202,与连接模块201相连,用于针对数据保存装置204 中的每一待加密数据,生成与该待加密数据一一对应的数据密钥,用数据密钥对该待加密 数据进行加密,生成加密数据;将加密数据及与加密数据对应的数据密钥发送到数字信封 生成模块203 ;
数字信封生成模块203,与连接模块201相连,用于针对每一数据密钥,利用自身公私 密钥对中的公钥对该数据密钥进行加密,生成数字信封;将数字信封与加密数据连接到一 起,得到包含数字信封的加密数据;将包含数字信封的加密数据通过连接模块201,发送到 数据保存装置204 ;其中,数字信封只能被数字信封生成模块203利用公私密钥对中的私钥 来解密;数据保存装置204用于,与连接模块201建立连接或断开连接;保存待加密数据和包含 数字信封的加密数据。由此可见,由于数字信封生成模块203利用公私密钥对中的公钥将数据密钥加密 后生成的数字信封只能被该数字信封生成模块203利用公私密钥对中的私钥来解密,且该 公钥和私钥均保存于数字信封生成模块203中而不是数据保存装置204中,因此,当连接模 块201与数据保存装置204断开连接之后,没有权限的任何硬件、软件或个人都不能获得该 私钥,进而解密数字信封,也就不能获得数据密钥。加密数据与数据密钥生成模块202用于,利用随机方式生成与待加密数据一一对 应的数据密钥。这里,用随机方式产生的数据密钥之间没有相关性,因而数据密钥的保密性就很 好,从而是本方法可以最大限度地保护数据的安全。连接模块201用于,与数据保存装置204建立物理连接;接收加密锁口令,并判断 加密锁口令是否正确,如果是,则启动;否则不启动。连接模块201与数据保存装置204建立物理连接,意味着连接模块201与数据保 存装置204通过物理接口连接到一起。加密锁口令用于启动连接模块201,如果连接模块201接收到的加密锁口令正确, 则连接模块201正常启动,加密数据与数据密钥生成模块202、数字信封生成模块203即可 以执行对数据保存装置204中的数据进行加密、解密、删除、备份、保存等操作,还可以与数 据保存装置204进行数据的交换等,如果连接模块201接收到的加密锁口令错误,则连接模 块201不启动,这意味着加密数据与数据密钥生成模块202、数字信封生成模块203无法执 行加密、解密、删除、备份、保存、数据交换等操作。利用加密锁口令,可以保证只有知道加密锁口令的人才能利用本发明的技术方 案,否则,即使使连接模块201与数据保存装置204建立物理连接,也无法利用其来解密数 字信封,进而获取数据密钥。这样,本发明利用加密锁口令来保证本发明提供的系统的使用 安全,从而进一步保证了数据密钥以及数据的安全。连接模块201进一步用于,接收管理员口令,并判断管理员口令是否正确,如果 是,则允许设置加密锁口令;否则,不允许设置加密锁口令。这里,管理员口令是比加密锁口令更高一级的口令,连接模块201在接收到正确 的管理员口令之后,判断当前输入管理员口令的人为管理员,因而允许设置加密锁口令,这 样就可以解决有权限的人因为忘记加密锁口令而无法使用本发明提供的系统的问题。如果 连接模块201判断自身所接收的管理员口令是错误的,那就不允许设置加密锁口令,这样 就可以防止无权限的人通过设置加密锁口令的方式来获得该系统的使用权限,从而解密数 字信封,获得数据密钥,因而本发明能够保证系统的使用安全,进而保证数据的安全。进一步地,数字信封生成模块203用于,利用公私密钥对中的私钥,对包含数字信 封的加密数据中的数字信封进行解密,得到数据密钥。这里,数字信封生成模块203可以用来对数字信封进行解密,从而获得数据密钥。数字信封只能被数字信封生成模块203解密,而且数字信封生成模块203只能利 用公私密钥对中的私钥来进行解密,这样,就杜绝了用一个私钥来解密其他数字信封生成 模块生成的数字信封的问题,从而保证了数据的安全,以及本加密系统的可靠。
进一步地,加密数据与数据密钥生成模块202用于,利用数据密钥,对包含数字信 封的加密数据中的加密数据进行解密,得到解密数据;
数据保存装置204进一步用于,保存解密数据。如图2所示,在数字信封生成模块203与连接模块201之间,该系统进一步包括数 字签名模块205;
数字信封生成模块203用于,将包含数字信封的加密数据发送到数字签名模块205 ;将 公私密钥对中的私钥发送到数字签名模块205 ;
数字签名模块205用于,利用公私密钥对中的私钥,对包含数字信封的加密数据进行 数字签名,生成数字签名过的包含数字信封的加密数据;将数字签名过的包含数字信封的 加密数据通过连接模块201,发送到数据保存装置204 ;
数据保存装置204进一步用于,保存数字签名过的包含数字信封的加密数据。这里,数字签名模块205利用公私密钥对中的私钥,对包含数字信封的加密数据 进行数字签名,生成数字签名过的包含数字信封的加密数据,这样就可以在解密时用数字 签名来确认数字签名过的包含数字信封的加密数据的来源及其完整性,如果完整,则说明 该数据没有被篡改过,不完整则意味着数据已被篡改。另外,在验证数字签名过的包含数字信封的加密数据的来源及其完整性时,数字 信封生成模块203用于,将公私密钥对中的公钥发送到数字签名模块205 ;
数字签名模块205用于,利用公私密钥对中的公钥,对数字签名过的包含数字信封的 加密数据进行反数字签名,生成反数字签名过的包含数字信封的加密数据;用哈希(HASH) 函数处理反数字签名过的包含数字信封的加密数据,生成验证数据;对验证数据与反数字 签名过的包含数字信封的加密数据是否相同进行验证,根据验证结果判断所述数字签名过 的包含数字信封的加密数据是否完整;将反数字签名过的包含数字信封的加密数据和验证 数据通过连接模块201,发送到数据保存装置204 ;
数据保存装置204进一步用于,保存反数字签名过的包含数字信封的加密数据和验证 数据。这里,如果验证结果为验证数据与反数字签名过的包含数字信封的加密数据相 同,则数字签名模块205判断数字签名过的包含数字信封的加密数据是完整的;否则,判断 数字签名过的包含数字信封的加密数据是不完整的。如图2所示,该系统进一步包括删除模块206 ;删除模块206与连接模块201相连, 用于,确定待删除数据在数据保存装置204中的位置,从数据保存装置204中删除待删除数 据;在待删除数据在数据保存装置204中的位置处写入随机数据。由于删除模块206在将待删除数据删除后,又在其位于数据保存装置204中的原 位置处写入随机数据,这样就使得待删除数据不可恢复,从而保证了待删除数据在删除之 后不会被任何硬件、软件或个人读出,数据的安全得到了保证。由此可见,本发明具有以下优点
(1)本发明中,由于数据密钥被公私密钥对中的公钥加密后所生成的数字信封只能利 用公私密钥对中的私钥来解密,而该公钥和私钥所组成的公私密钥对并不保存在数据保存 装置中,因此,没有权限的任何硬件、软件或个人都不可能通过侵入数据保存装置的方式来 获得私钥,进而解密数据保存装置中的数字信封,这样也就不可能获得数据密钥。
( 2 )本发明中,虽然数据密钥和加密数据都保存在数据保存装置中,但由于加密锁 之外的任何硬件、软件或个人都不能解密数字信封从而获得数据密钥,因而加密锁之外的 任何硬件、软件或个人也就都不能对加密数据进行解密,这样,本发明能够充分保证保存在 数据保存装置中的数据的安全。(3)本发明中,由于采用随机方式产生数据密钥,而这种数据密钥之间没有相关 性,因此,这种数据密钥很难被破译,该密钥的保密性很强。(4)本发明中,利用加密锁口令来保证只有知道加密锁口令的人才能使用加密锁, 否则,即使得到加密锁,也无法利用其解密数字信封获取数据密钥,因此,本发明能保证加 密锁的使用安全,也进一步保证了数据密钥以及数据的安全。(5)本发明中,加密锁接收到正确的管理员口令即允许设置加密锁口令,如果加密 锁判断自身所接收的管理员口令是错误的,那就不允许设置加密锁口令,这样,本发明可以 解决有权限的人因为忘记加密锁口令而无法使用加密锁的问题,同时,也可以防止没有使 用权限的人通过设置加密锁口令的方式来获得加密锁的使用权限,从而解密数字信封,获 得数据密钥,因此,本发明能够保证加密锁的使用安全,进而保证数据的安全。(6)本发明中,由于加密锁对包含数字信封的加密数据进行了数字签名,因此,本 发明在解密时能够确认数字签名过的包含数字信封的加密数据的来源及其完整性。(7)本发明中,加密锁还可以用来永久地删除数据保存装置中的待删除数据,即将 待删除数据删除后,在其位于数据保存装置中的原位置处写入随机数据,从而使待删除数 据不可恢复,这样就保证了待删除数据在删除之后不会被任何硬件、软件或个人读出,从而 保证数据的安全。(8)本发明中,待加密数据不只可以为普通的数据,还可以为磁盘空间以及各种账 号和密码等,因而,本发明的应用范围很广。(9)本发明中,由于在将待保存数据向加密虚拟磁盘中保存时,是对待保存数据 进行加密后再存入加密虚拟磁盘;将加密后保存在加密虚拟磁盘中的数据读出时,是将该 加密数据进行解密之后读出,另外,本发明还对虚拟磁盘也进行了加密,得到了加密虚拟磁 盘,而且,这里对数据进行的加密和解密,以及对虚拟磁盘进行的加密,其方法均为本发明 提供的对数据进行加密和解密的方法,当加密锁与数据保存装置断开连接后,加密虚拟磁 盘即被卸载,这样加密数据对应的数据密钥以及加密磁盘对应的磁盘密钥均不可能被没有 权限的任何硬件、软件或个人获得,因此,该方案极大地增强了数据以及数据密钥的安全 性。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种对数据进行加密的方法,其特征在于,该方法包括步骤1加密锁与数据保存装置建立连接; 步骤2针对所述数据保存装置中的每一待加密数据,所述加密锁生成与该待加密数据一一对应的数据密钥,并用所述数据密钥对该待加密数据进行加密,生成加密数据; 步骤3针对每一数据密钥,所述加密锁利用自身公私密钥对中的公钥对该数据密钥进行加密,生成数字信封,并将所述数字信封与所述加密数据连接到一起,得到包含数字信封的加密数据;其中,所述数字信封只能被所述加密锁利用所述公私密钥对中的私钥来解密;步骤4断开加密锁与数据保存装置的连接。
2.根据权利要求1所述的方法,其特征在于,所述步骤1中,加密锁与数据保存装置建 立连接的方法为加密锁与数据保存装置建立物理连接;所述加密锁接收加密锁口令,并判断所述加密锁口令是否正确,如果是,则所述加密锁 启动,执行所述步骤2 ;否则,所述加密锁不启动,执行所述步骤4。
3.根据权利要求2所述的方法,其特征在于,在所述加密锁与数据保存装置建立物理 连接之后,在所述加密锁接收加密锁口令之前,该方法进一步包括所述加密锁接收管理员 口令,并判断所述管理员口令是否正确,如果是,则允许设置加密锁口令;否则,不允许设置 加密锁口令。
4.根据权利要求1所述的方法,其特征在于,所述步骤3中,在得到包含数字信封的加 密数据之后,进一步包括所述加密锁利用所述公私密钥对中的私钥,对所述包含数字信封 的加密数据进行数字签名,得到数字签名过的包含数字信封的加密数据。
5.根据权利要求4所述的方法,其特征在于,在得到数字签名过的包含数字信封的加 密数据之后,进一步包括所述加密锁对所述数字签名过的包含数字信封的加密数据的完 整性进行验证,验证方法为所述加密锁利用所述公私密钥对中的公钥,对所述数字签名过的包含数字信封的 加密数据进行反数字签名,得到反数字签名过的包含数字信封的加密数据;所述加密锁用哈希HASH函数对所述反数字签名过的包含数字信封的加密数据进行处 理,得到验证数据;所述加密锁判断所述验证数据与所述反数字签名过的包含数字信封的加密数据是否 相同,如果是,则判断所述数字签名过的包含数字信封的加密数据是完整的;否则,判断所 述数字签名过的包含数字信封的加密数据是不完整的。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述步骤2中,所述生成与该 待加密数据一一对应的数据密钥的方法为用随机方式生成与该待加密数据一一对应的数 据密钥。
7.根据权利要求1所述的方法,其特征在于,所述步骤3中,在得到包含数字信封的加 密数据之后,进一步包括所述加密锁利用所述公私密钥对中的私钥,对所述包含数字信封 的加密数据中的数字信封进行解密,得到所述数据密钥。
8.根据权利要求7所述的方法,其特征在于,在所述加密锁利用所述公私密钥对中的 私钥,对所述包含数字信封的加密数据中的数字信封进行解密,得到所述数据密钥之后,进一步包括所述加密锁利用所述数据密钥,对所述包含数字信封的加密数据中的加密数据 进行解密,得到解密数据。
9.根据权利要求1、2、3、4、5、7或8所述的方法,其特征在于,在所述步骤1中加密锁与数据保存装置建立连接之后,进一步包括所述加密锁确定 待删除数据在所述数据保存装置中的位置,从所述数据保存装置中删除所述待删除数据, 并在所述待删除数据在所述数据保存装置中的位置写入随机数据。
10.根据权利要求1、2、3、4、5、7或8所述的方法,其特征在于,所述步骤1中加密锁与数据保存装置建立连接之后,该方法进一步包括所述加密锁 在所述数据保存装置中创建虚拟磁盘;所述步骤2中的待加密数据为所述虚拟磁盘,则所述加密数据为加密虚拟磁盘,所述 步骤3中所述包含数字信封的加密数据为包含数字信封的加密虚拟磁盘;所述步骤4中断开加密锁与数据保存装置的连接之前,该方法进一步包括卸载所述 包含数字信封的加密虚拟磁盘。
11.根据权利要求10所述的方法,其特征在于,所述加密锁在所述数据保存装置中创 建虚拟磁盘的方法为所述加密锁将所述数据保存装置中的第一存储空间指定为所述虚拟 磁盘的存储空间,将所述第一存储空间格式化,并为所述虚拟磁盘的存储空间指定盘符。
12.根据权利要求10所述的方法,其特征在于,所述步骤3中得到包含数字信封的加 密虚拟磁盘之后,该方法进一步包括将待保存数据保存到所述加密虚拟磁盘中,保存方法 为所述加密锁生成与所述待保存数据对应的数据保存密钥,并用所述数据保存密钥对所 述待保存数据进行加密,生成加密保存数据;所述加密锁利用自身公私密钥对中的公钥对所述数据保存密钥进行加密,生成数据保 存数字信封,并将所述数据保存数字信封与所述加密保存数据连接到一起,得到包含数据 保存数字信封的加密保存数据;其中,所述数据保存数字信封只能被所述加密锁利用与所 述公私密钥对中的私钥来解密;所述加密锁将所述包含数据保存数字信封的加密保存数据保存到所述加密虚拟磁盘中。
13.根据权利要求12所述的方法,其特征在于,所述加密锁将所述包含数据保存数字 信封的加密保存数据保存到所述加密虚拟磁盘中之后,该方法进一步包括读取所述加密 虚拟磁盘中的所述包含数据保存数字信封的加密保存数据,读取方法为所述加密锁利用与所述公私密钥对中的私钥,对所述包含数据保存数字信封的加密保 存数据中的数据保存数字信封进行解密,得到所述数据保存密钥;所述加密锁利用所述数据保存密钥,对所述包含数据保存数字信封的加密保存数据中 的加密保存数据进行解密,得到解密保存数据;所述加密锁在所述加密虚拟磁盘中读取所述解密保存数据。
14.一种对数据进行加密的系统,其特征在于,该系统包括连接模块、加密数据与数据 密钥生成模块、数字信封生成模块和数据保存装置,其中所述连接模块用于,与所述数据保存装置建立连接或断开连接; 所述加密数据与数据密钥生成模块,与所述连接模块相连,用于针对所述数据保存装置中的每一待加密数据,生成与该待加密数据一一对应的数据密钥,用所述数据密钥对该 待加密数据进行加密,生成加密数据;将所述加密数据及与所述加密数据对应的数据密钥 发送到所述数字信封生成模块;所述数字信封生成模块,与所述连接模块相连,用于针对每一数据密钥,利用自身公私 密钥对中的公钥对该数据密钥进行加密,生成数字信封;将所述数字信封与所述加密数据 连接到一起,得到包含数字信封的加密数据;将所述包含数字信封的加密数据通过所述连 接模块,发送到所述数据保存装置;其中,所述数字信封只能被所述数字信封生成模块利用 所述公私密钥对中的私钥来解密;所述数据保存装置用于,与所述连接模块建立连接或断开连接;保存待加密数据和包 含数字信封的加密数据。
15.根据权利要求14所述的系统,其特征在于,在所述数字信封生成模块与所述连接 模块之间,该系统进一步包括数字签名模块;所述数字信封生成模块用于,将所述包含数字信封的加密数据发送到所述数字签名模 块;将所述公私密钥对中的私钥发送到所述数字签名模块;所述数字签名模块用于,利用所述公私密钥对中的私钥,对包含数字信封的加密数据 进行数字签名,生成数字签名过的包含数字信封的加密数据;将所述数字签名过的包含数 字信封的加密数据通过所述连接模块,发送到所述数据保存装置;所述数据保存装置进一步用于,保存数字签名过的包含数字信封的加密数据。
16.根据权利要求15所述的系统,其特征在于,所述数字信封生成模块用于,将所述公私密钥对中的公钥发送到所述数字签名模块; 所述数字签名模块用于,利用所述公私密钥对中的公钥,对数字签名过的包含数字信 封的加密数据进行反数字签名,生成反数字签名过的包含数字信封的加密数据;用HASH函 数处理反数字签名过的包含数字信封的加密数据,生成验证数据;对所述验证数据与反数 字签名过的包含数字信封的加密数据是否相同进行验证,根据验证结果判断所述数字签名 过的包含数字信封的加密数据是否完整;将反数字签名过的包含数字信封的加密数据和验 证数据通过所述连接模块,发送到所述数据保存装置;所述数据保存装置进一步用于,保存反数字签名过的包含数字信封的加密数据和验证 数据。
17.根据权利要求14、15或16所述的系统,其特征在于,该系统进一步包括删除模块; 所述删除模块与所述连接模块相连,用于,确定待删除数据在所述数据保存装置中的位置, 从所述数据保存装置中删除待删除数据;在所述待删除数据在所述数据保存装置中的位置 处写入随机数据。
全文摘要
本发明涉及一种对数据进行加密的方法和系统。该方法包括步骤1加密锁与数据保存装置建立连接;步骤2针对所述数据保存装置中的每一待加密数据,所述加密锁生成与该待加密数据一一对应的数据密钥,并用所述数据密钥对该待加密数据进行加密,生成加密数据;步骤3针对每一数据密钥,所述加密锁利用自身公私密钥对中的公钥对该数据密钥进行加密,生成数字信封,并将所述数字信封与所述加密数据连接到一起,得到包含数字信封的加密数据;其中,所述数字信封只能被所述加密锁利用所述公私密钥对中的私钥来解密;步骤4断开加密锁与数据保存装置的连接。利用本发明的技术方案,能保证数据密钥不能被没有权限的任何硬件、软件或个人获得。
文档编号G06F21/24GK101950347SQ20101028867
公开日2011年1月19日 申请日期2010年9月21日 优先权日2010年9月21日
发明者刘斌, 徐飞, 李成东, 王庆修 申请人:烟台海颐软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1