文件加密方法及装置
技术领域
本发明涉及信息安全技术领域,具体而言,涉及一种文件加密方法及装置。
背景技术
目前智能终端已经融入每个人的生活中,智能终端中存储有个人的多种隐私信息,由于智能终端是开放的操作系统,很容易被植入木马、病毒等恶意代码,轻松获取移动终端内存储的数据及隐私信息。
发明内容
有鉴于此,本发明实施例的目的在于提供一种文件加密方法及装置,以改善上述问题。
本发明是这样实现的:
第一方面,本发明实施例提供了一种文件加密方法,该文件加密方法应用于文件加密系统,所述文件加密系统包括移动终端和加密存储设备,所述移动终端与所述加密存储设备数据连接,所述方法包括:
所述加密存储设备获得所述移动终端通过预存储的加密密钥加密后的第一数据,所述第一数据包括与所述移动终端绑定的识别数据以及所述移动终端随机生成的第一随机数据;
所述加密存储设备通过预存储的解密密钥对所述加密后的第一数据进行解密,得到所述第一数据;
所述加密存储设备验证所述第一数据的合法性,如合法,随机生成与所述识别数据具有对应关系的工作密钥,存储所述工作密钥;
所述加密存储设备利用所述第一随机数据对所述工作密钥进行加密后发送给所述移动终端,以便所述移动终端通过解密后得到的所述工作密钥对预选定的文件进行加密。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述移动终端通过所述工作密钥对预选定的文件进行加密后会清除所述工作密钥,所述方法还包括:
所述加密存储设备获得所述移动终端发送的通过所述预存储的加密密钥加密后的第二数据,所述第二数据包括与所述移动终端绑定的所述识别数据以及所述移动终端随机生成的第二随机数据;
所述加密存储设备通过所述预存储的解密密钥对所述加密后的第二数据进行解密,得到所述第二数据;
所述加密存储设备验证所述第二数据的合法性,如合法,通过所述第二数据中的所述识别数据查询到与所述识别数据对应的所述工作密钥;
所述加密存储设备通过所述第二随机数据对查询到的所述工作密钥加密后发送给所述移动终端,以便所述移动终端通过解密后得到的所述工作密钥对加密后的所述预选定文件进行解密。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,在所述加密存储设备获得所述移动终端通过预存储的加密密钥加密后的第一数据之前,所述方法还包括:
所述加密存储设备接收所述移动终端发送端与所述移动终端对应的识别信息,所述识别信息包括与所述移动终端绑定的所述识别数据;
所述加密存储设备存储所述识别信息,随机生成与所述识别信息具有对应关系的公私钥对,存储所述公私钥对,所述公私钥对包括所述加密密钥和所述解密密钥;
所述加密存储设备将所述加密密钥发送给所述移动终端,以便所述移动终端预存储所述加密密钥。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述加密存储设备验证所述第一数据的合法性包括:
所述加密存储设备将得到的所述第一数据与预存储的所述识别信息相比对,判断预存储的所述识别信息中是否存在有与所述第一数据中的所述识别数据相同的识别数据,若存在,则所述第一数据合法。
第二方面,本发明实施例提供了另一种文件加密方法,所述方法应用于文件加密系统,所述文件加密系统包括移动终端和加密存储设备,所述移动终端与所述加密存储设备数据连接,所述方法包括:
所述移动终端通过预存储的加密密钥加密第一数据,所述第一数据包括与所述移动终端绑定的识别数据以及所述移动终端随机生成的第一随机数据;
所述移动终端将所述加密后的第一数据发送给所述加密存储设备,以便所述加密存储设备通过预存储的解密密钥对所述加密后的第一数据进行解密得到所述第一数据,以及在验证所述第一数据合法后随机生成与所述识别数据具有对应关系的工作密钥;
所述移动终端接收所述加密存储设备发送的加密后的工作密钥,所述加密后的工作密钥为所述加密存储设备通过所述第一随机数据对所述工作密钥加密后得到的;
所述移动终端使用所述第一随机数据对所述加密后的工作密钥进行解密得到所述工作密钥,利用得到的所述工作密钥对预选定的文件进行加密。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,在所述移动终端使用所述第一随机数据对所述加密后的工作密钥进行解密得到所述工作密钥,利用得到的所述工作密钥对预选定的文件进行加密后,所述方法还包括:
所述移动终端清除所述工作密钥以及所述第一随机数据。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,在所述移动终端清除所述工作密钥后,所述方法还包括:
所述移动终端通过所述预存储的加密密钥加密第二数据,所述第二数据包括与所述移动终端绑定的所述识别数据以及所述移动终端随机生成的第二随机数据;
所述移动终端将所述加密后的第二数据发送给所述加密存储设备,以便所述加密存储设备通过所述预存储的解密密钥对所述加密后的第二数据进行解密得到所述第二数据,在验证所述第二数据合法后,通过所述第二数据中的所述识别数据查询到与所述识别数据对应的所述工作密钥,以及利用所述第二随机数据对查询到的所述工作密钥加密后发送给所述移动终端;
所述移动终端接收加密后的工作密钥,使用所述第二随机数据对所述加密后的工作密钥进行解密得到所述工作密钥;
所述移动终端利用得到的所述工作密钥对加密后的所述预选定的文件进行解密。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,在所述移动终端通过预存储的加密密钥加密第一数据之前,所述方法还包括:
所述移动终端将其对应的识别信息发送给所述加密存储设备,以便所述加密存储设备根据所述识别信息运算生成所述加密密钥和与所述加密密钥对应的所述解密密钥,所述识别信息包括所述移动终端绑定的所述识别数据;
所述移动终端接收所述加密存储设备发送的所述加密密钥,存储所述加密密钥。
第三方面,本发明实施例提供了一种文件加密装置,运行于加密存储设备,所述加密存储设备应用于文件加密系统,所述文件加密系统包括移动终端和所述加密存储设备,所述移动终端与所述加密存储设备数据连接,所述文件加密装置包括:
数据获取模块:用于获得所述移动终端通过预存储的加密密钥加密后的第一数据,所述第一数据包括与所述移动终端绑定的识别数据以及所述移动终端随机生成的第一随机数据;
解密模块:用于通过预存储的解密密钥对所述加密后的第一数据进行解密,得到所述第一数据;
验证模块:用于验证所述第一数据的合法性;
密钥生成模块:用于当所述验证模块的验证结果为所述第一数据合法后,随机生成与所述识别数据具有对应关系的工作密钥;
存储模块:用于存储所述工作密钥;
加密模块:用于利用所述第一随机数据对所述工作密钥进行加密后发送给所述移动终端,以便所述移动终端通过解密后得到的所述工作密钥对预选定的文件进行加密。
第四方面,本发明实施例提供了一种文件加密装置,该文件加密装置运行于移动终端,所述移动终端应用于文件加密系统,所述文件加密系统包括所述移动终端和加密存储设备,所述移动终端与所述加密存储设备数据连接,所述文件加密装置包括:
加密模块:用于通过预存储的加密密钥加密第一数据,所述第一数据包括与所述移动终端绑定的识别数据以及所述移动终端随机生成的第一随机数据;
发送模块:用于将所述加密后的第一数据发送给所述加密存储设备,以便所述加密存储设备通过预存储的解密密钥对所述加密后的第一数据进行解密得到所述第一数据,以及在验证所述第一数据合法后随机生成与所述识别数据具有对应关系的工作密钥;
接收模块:用于接收所述加密存储设备发送的加密后的工作密钥,所述加密后的工作密钥为所述加密存储设备通过所述第一随机数据对所述工作密钥加密后得到的;
解密模块:用于使用所述第一随机数据对所述加密后的工作密钥进行解密得到所述工作密钥;
所述加密模块还用于利用得到的所述工作密钥对预选定的文件进行加密。
本发明实施例提供的文件加密方法及装置,不但通过工作密钥对移动终端中的文件进行加密,而且工作密钥不是由移动终端生成,且工作密钥在传输过程也是经过加密传输的,更加安全可靠,进一步保证加密后的文件的安全性,保障用户数据及隐私不易被泄露。
进一步的,移动终端对文件加密后即清除工作密钥,当需要解密时再索取工作密钥对移动终端中加密的文件进行解密,病毒等恶意代码不能从移动终端中窃取工作密钥以妄图对加密后的文件进行解密,更进一步保证加密后的文件的安全性,保障用户数据及隐私不易被泄露。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明第一实施例所提供的一种文件加密方法的流程图;
图2示出了本发明第一实施例所提供的文件加密系统的系统图;
图3示出了本发明第二实施例所提供的一种从加密存储设备侧描述的文件加密方法的流程图;
图4示出了本发明第三实施例所提供的一种从移动终端侧描述的文件加密方法的流程图;
图5示出了本发明第四实施例所提供的一种从加密存储设备侧描述的文件加密装置的原理框图;
图6示出了本发明第五实施例所提供的一种从移动终端侧描述的文件加密装置的原理框图;
图7示出了本发明第六实施例所提供的文件加密装置的结构示意图。
主要元件符号说明:
移动终端10,加密存储设备20,数据获取模块401,解密模块402,验证模块403,密钥生成模块404,存储模块405,加密模块406,加密模块501,发送模块502,接收模块503,解密模块504,文件加密装置600,存储器601,总线602,通信接口603,处理器604,程序605。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前智能终端已经融入每个人的生活中,智能终端中存储有个人的多种隐私信息,由于智能终端是开放的操作系统,很容易被植入木马、病毒等恶意代码,轻松获取移动终端内存储的数据及隐私信息。基于此,发明人经过不断的研究,提出了本发明实施例提供的文件加密方法及装置。
实施例一
参阅图1和图2本发明实施例提供了一种文件加密方法,该方法应用于文件加密系统,文件加密系统包括移动终端10和加密存储设备20,移动终端10与加密存储设备20数据连接,加密存储设备与移动终端连接,实现连接的方式有多种,如通过无线网络连接、蓝牙连接或通过数据接口连接,本实施例中加密存储设备与移动终端通过蓝牙连接,其连接原理为现有技术,在此不做详细说明。
本实施例提供的文件加密方法包括有以下步骤:
步骤S101:移动终端通过预存储的加密密钥加密第一数据,将加密后的第一数据发送给加密存储设备。
在对移动终端存储的文件进行加密时,移动终端向加密存储设备发送第一数据,第一数据包括该移动终端唯一绑定的识别数据以及移动终端通过应用软件随机生成第一随机数据,生成第一数据后,通过预先存储的加密密钥对第一数据进行加密运算(如RSA算法或SM2算法,本实施例中采用的是RSA算法),并将加密后的第一数据发送给加密存储设备。
其中,在执行本步骤前,还包括有加密准备步骤,具体的,加密准备步骤包括:
加密存储设备与移动终端建立连接后,移动终端通过向加密存储设备发送识别信息,该识别信息包含了移动终端唯一绑定的识别数据,加密存储设备接收到该识别信息后,随机生成加密密钥(即公钥)并对加密密钥进行运算(例如采用RSA算法)生成与加密密钥对应的解密密钥(即私钥),存储该加密密钥和解密密钥并将加密密钥与解密密钥与识别数据建立对应关系,然后将其中的加密密钥发送给移动终端。
步骤S102:加密存储设备获得加密密钥加密后的第一数据,通过预存储的解密密钥对加密后的第一数据进行解密,得到第一数据。
加密存储设备接收加密后的第一数据,根据预先存储的解密密钥对加密后的第一数据进行解密,解密密钥与加密密钥对应,即解密密钥可以将经加密密钥加密后的数据进行还原,因此,对加密后的第一数据进行解密得到第一数据,即第一随机数据和识别数据。
步骤S103:加密存储设备验证第一数据是否合法,如合法,执行步骤S104。
加密存储设备对加密后的第一数据进行解密得到该第一数据后,将第一数据与预先存储的识别信息进行比对,判断预先存储的识别信息中是否存在与第一数据中的识别数据相同的识别数据,如果存在,则执行步骤S104。
通过合法性验证,可以杜绝非法的加密存储设备对移动终端内的文件进行解密,进一步保障文件安全可靠。
步骤S104:加密存储设随机生成与识别数据具有对应关系的工作密钥,存储工作密钥,利用第一随机数据对工作密钥进行加密后发送给移动终端。
当加密存储设备判断预先存储的识别信息中存在与第一数据中的识别数据相同的识别数据时,加密存储设备随机生成工作密钥,该工作密钥可以为设定长度的随机数字,并将该工作密钥与识别数据建立对应关系后存储工作密钥。存储工作密钥后,加密存储设备利用第一随机数据对工作密钥进行加密运算(如采用SM4分组密码算法或AES分组密码算法进行加密运算,本实施例中采用的是AES分组密码算法),将经加密运算后的工作密钥发送给移动终端。
步骤S105:移动终端接收加密后的工作密钥,使用第一随机数据对加密后的工作密钥进行解密得到工作密钥。
移动终端接收经加密运算后的工作密钥,并通过预先存储的第一随机数据对经加密运算后的工作密钥进行解密,将其还原得到工作密钥。
步骤S106:移动终端对预选定的文件进行加密,加密完成后清除工作密钥。
移动终端还原得到工作密钥后,根据工作密钥对预先选定的文件进行加密,不但通过工作密钥对移动终端中的文件进行加密,而且工作密钥不是由移动终端生成,且工作密钥在传输过程也是经过加密传输的,更加安全可靠,可以进一步保证加密后的文件的安全性,保障用户数据及隐私不易被泄露。
此外,加密完成后清除工作密钥,这样能避免第三方通过非法手段侵入移动终端而获得工作密钥,保证文件的安全性。另外,加密完成后,移动终端还可以清除第一随机数据。
由于清除了工作密匙,因此当需要对加密后的文件进行解密时,需要向加密存储设备索取工作密匙以进行解密。具体的,本实施例提供的方法还可以包括:
步骤S107:移动终端通过预存储的加密密钥加密第二数据,将加密后的第二数据发送给加密存储设备。
当需要查看已加密的文件中的内容时,将移动终端与加密存储设备建立连接,打开应用软件,移动终端通过应用软件生成第二数据,第二数据包括该识别数据以及移动终端通过应用软件随机生成第二随机数据,生成第二数据后,通过存储的加密密钥对第二数据进行加密运算(采用RSA算法进行加密运算),并将加密后的第二数据发送给加密存储设备。
步骤S108:加密存储设备获得加密后的第二数据,通过预存储的解密密钥对加密后的第二数据进行解密,得到第二数据。
步骤S109:加密存储设备验证第二数据是否合法,如合法,执行步骤S110。
验证第二数据的合法性与步骤S103的原理相同,在此不再详细说明。
步骤S110:加密存储设备通过第二数据中的识别数据查询到与识别数据对应的工作密钥,通过第二随机数据对查询到的工作密钥加密后发送给移动终端。
当加密存储设备判断预先存储的识别信息中存在与第二数据中的识别数据相同的识别数据时,加密存储设备通过第二数据中的识别数据查询到与识别数据对应的工作密钥。
由于移动终端绑定唯一的识别数据,因此第二数据中的识别数据与第一数据中的识别数据相同,因此通过第二数据中的识别数据可查询到与其识别数据对应的工作密钥,该工作密钥与步骤S104中的工作密钥相同。
加密存储设备查询到该工作密钥后,利用其接收到的第二随机数据对工作密钥进行加密运算(本实例中采用AES分组密码算法),将经加密运算后的工作密钥发送给移动终端。
步骤S111:移动终端接收加密后的工作密钥,使用第二随机数据对加密后的工作密钥进行解密得到工作密钥。
本步骤原理同步骤S105,在此不再做详细说明。
步骤S112:移动终端通过解密后得到的工作密钥对加密后的预选定的文件进行解密,解密完成后清除工作密钥。
移动终端还原得到工作密钥后,根据工作密钥对预先选定的已加密文件进行解密,解密过程为加密过程的逆过程,为现有技术,在此不再详细说明,加密完成后清除工作密钥。这样能避免第三方获得工作密钥,保证文件的安全性。同样的,加密完成后,移动终端还可以清除第一随机数据。
本实施例中,利用第一随机数据以及第二随机数据对工作密钥进行加密运算采用的是AES分组密码算法,当然第一随机数据以及第二随机数据对工作密钥进行加密运算不仅限于AES分组密码算法,例如还可以采用SM4分组密码算法或DES算法等对称加密算法。
利用加密密钥对第一数据和第二数据进行加密运算以及对加密后的第一数据和加密后的第二数据进行解密运算,均采用的RSA算法,当然对对第一数据和第二数据进行加密运算以及对加密后的第一数据和加密后的第二数据进行解密运算不仅限于RSA算法,例如还可以采用SM2算法或Elgamal算法等非对称加密算法。
本发明提供的文件加密方法,由于加密存储设备生成的工作密钥与移动终端唯一绑定的识别数据建立有对应关系,且工作密钥是由加密存储设备生成,同时工作密钥在传输的过程采用加密保护进行传输。因此,解密移动终端内的加密文件需专门对应的加密存储设备进行解密,且移动终端内的工作密钥不易被第三方获取,更加安全可靠,即使移动终端存储的工作密钥被第三方获取,也无法获取文件中的内容,有效保证了信息安全性,保障用户数据及隐私不易被泄露。
实施例二
参阅图3,本发明实施例提供了一种文件加密方法,该方法应用于文件加密系统,文件加密系统包括移动终端和加密存储设备,移动终端与加密存储设备数据连接,该文件加密方法包括有以下步骤:
步骤S201:加密存储设备获得移动终端通过预存储的加密密钥加密后的第一数据。
在对移动终端存储的文件进行加密时,移动终端通过向加密存储设备发送第一数据,第一数据包括该移动终端唯一绑定的识别数据以及移动终端通过应用软件随机生成第一随机数据,生成第一数据后,通过预先存储的加密密钥对第一数据进行加密运算(通过RSA算法运算),并将加密后的第一数据发送给加密存储设备。加密存储设备接收加密后的第一数据。
步骤S202:加密存储设备通过预存储的解密密钥对获得的加密后的第一数据进行解密,得到第一数据。
步骤S203:加密存储设备验证第一数据是否合法,如合法,执行步骤S204。
步骤S204:加密存储设随机生成与识别数据具有对应关系的工作密钥,存储工作密钥,利用第一随机数据对工作密钥进行加密后发送给移动终端。
当加密存储设备判断预先存储的识别信息中存在与第一数据中的识别数据相同的识别数据时,加密存储设备随机生成工作密钥,该工作密钥为一定长度随机数字,并将该工作密钥与识别数据建立对应关系后存储工作密钥。存储工作密钥后,加密存储设备利用第一随机数据对工作密钥进行加密运算(采用AES分组密码算法进行加密运算),将经加密运算后的工作密钥发送给移动终端。
移动终端接收经加密运算后的工作密钥,并通过预先存储的第一随机数据对经加密运算后的工作密钥进行解密,将其还原得到工作密钥,此时即可根据得到的工作密钥对选定的文件进行加密。
当然,为了保证加密文件的安全性,在对选定的文件进行加密后,移动终端还可以清除该工作密钥以及第一随机数据,这样使得第三方无法获取工作密钥以及第一随机数据,有效降低了加密后的文件被解密破解的可能,保证文件中存储的数据及隐私不会被泄露。
步骤S205:加密存储设备通过预存储的解密密钥对获得的加密后的第二数据进行解密,得到第二数据。
当需要查看已加密的文件中的内容时,先将移动终端与加密存储设备建立连接。然后打开应用软件,移动终端通过应用软件生成第二数据,第二数据包括该识别数据以及移动终端通过应用软件随机生成第二随机数据,生成第二数据后,通过存储的加密密钥对第二数据进行加密运算(采用RSA算法进行加密运算),并将加密后的第二数据发送给加密存储设备。加密存储设备接收加密后的第二数据,根据预先存储的解密密钥对加密后的第二数据进行解密,得到第二数据。
步骤S206:加密存储设备验证第二数据是否合法,如合法,执行步骤S207。
加密存储设备对加密后的第二数据进行解密得到该第二数据后,将第二数据与预先存储的识别信息进行比对,判断预先存储的识别信息中是否存在有与第二数据中的识别数据相同的识别数据,如果存在,则执行步骤S207。
步骤S207:加密存储设备通过第二数据中的识别数据查询到与识别数据对应的工作密钥。
当加密存储设备判断预先存储的识别信息中存在与第二数据中的识别数据相同的识别数据时,加密存储设备通过第二数据中的识别数据查询到与识别数据对应的工作密钥。
由于移动终端绑定唯一的识别数据,因此第二数据中的识别数据与第一数据中的识别数据相同,因此通过第二数据中的识别数据可查询到与其识别数据对应的工作密钥,该工作密钥与步骤S104中的工作密钥相同。
步骤S208:加密存储设备根据第二随机数据对查询到的工作密钥加密后发送给移动终端。
加密存储设备查询到该工作密钥后,利用其接收到的第二随机数据对工作密钥进行加密运算(采用AES分组密码算法进行加密运算),将经加密运算后的工作密钥发送给移动终端。
移动终端接收经加密运算后的工作密钥,并通过预先存储的第二随机数据对经加密运算后的工作密钥进行解密(解密过程为加密过程的逆过程),将其还原得到工作密钥,此时即可根据得到的工作密钥对该已加密的文件进行解密。
同样的,在对已加密的文件进行解密后,移动终端还可以清除该工作密钥以及第二随机数据。
本发明提供的文件加密方法,由于加密存储设备生成的工作密钥与移动终端唯一绑定的识别数据建立有对应关系,因此在解密已加密的文件时只能对与加密存储设备对应的移动终端进行解密,同时工作密钥在传输的过程采用加密保护进行传输,保证移动终端内的工作密钥不易被第三方获取,即使移动终端存储的工作密钥被第三方获取,也无法获取文件中的内容,有效保证了信息安全性,保障用户数据及隐私不易被泄露。
实施例三
参阅图4,本发明实施例提供了一种文件加密方法,该方法应用于文件加密系统,文件加密系统包括移动终端和加密存储设备,移动终端与加密存储设备数据连接,该方法包括以下步骤:
步骤S301:移动终端将其对应的识别信息发送给加密存储设备,接收加密存储设备发送的加密密钥,存储加密密钥。
对移动终端存储的文件进行加密时,移动终端通过向加密存储设备发送识别信息,该识别信息包含了移动终端唯一绑定的识别数据,加密存储设备接收到该识别信息后,随机生成加密密钥(即公钥)并对加密密钥进行运算(采用RSA算法)生成与加密密钥对应的解密密钥(即私钥),存储该加密密钥和解密密钥并将加密密钥与解密密钥与识别数据建立对应关系,然后将该其中的加密密钥发送给加移动终端,移动终端接收该加密密钥并存储。
步骤S302:移动终端通过预存储的加密密钥加密第一数据,将加密后的第一数据发送给加密存储设备。
当移动终端接收并存储加密密钥后,通过应用软件生成第一数据,第一数据包括移动终端唯一绑定的该识别数据以及随机生成的第一随机数据。生成第一数据后,通过预先存储的加密密钥对第一数据进行加密运算(采用RSA算法进行加密运算),并将加密后的第一数据发送给加密存储设备。
加密存储设备接收加密后的第一数据,根据预先存储的解密密钥对加密后的第一数据进行解密,解密密钥与加密密钥对应,即解密密钥可以将经加密密钥加密后的数据进行还原,因此,对加密后的第一数据进行解密得到第一数据,即第一随机数据和识别数据。
加密存储设备得到第一数据后,将第一数据与预先存储的识别信息进行比对,判断预先存储的识别信息中是否存在与第一数据中的识别数据相同的识别数据,若存在,加密存储设备随机生成工作密钥,该工作密钥为一定长度的随机数字,并将该工作密钥与识别数据建立对应关系后存储工作密钥。存储工作密钥后,加密存储设备利用第一随机数据对工作密钥进行加密运算(采用AES分组密码算法进行加密运算),将经加密运算后的工作密钥发送给移动终端。
步骤S303:移动终端接收加密存储设备发送的加密后的工作密钥,使用第一随机数据对加密后的工作密钥进行解密得到工作密钥。
步骤S304:移动终端清除工作密钥以及第一随机数据。
步骤S305:移动终端通过预存储的加密密钥加密第二数据,将加密后的第二数据发送给加密存储设备。
当需要查看已加密的文件中的内容时,先将移动总的与加密存储设备建立连接。然后打开应用软件,移动终端通过应用软件生成第二数据,第二数据包括该识别数据以及移动终端通过应用软件随机生成第二随机数据,生成第二数据后,通过存储的加密密钥对第二数据进行加密运算(采用RSA算法进行加密运算),并将加密后的第二数据发送给加密存储设备。
加密存储设备接收加密后的第二数据,根据预先存储的解密密钥对加密后的第二数据进行解密,得到第二数据。加密存储设备对加密后的第二数据进行解密得到该第二数据后,将第二数据与预先存储的识别信息进行比对,判断预先存储的识别信息中是否存在与第二数据中的识别数据相同的识别数据,如果存在,通过第二数据中的识别数据查询到与该识别数据对应的工作密钥。
由于移动终端绑定唯一的识别数据,因此第二数据中的识别数据与第一数据中的识别数据相同,因此通过第二数据中的识别数据可查询到的与其识别数据对应的工作密钥,该工作密钥与步骤S303中的工作密钥相同。
加密存储设备查询到工作密钥后,利用其接收到的第二随机数据对工作密钥进行加密预算(采用AES分组密码算法进行加密运算),将经加密运算后的工作密钥发送给移动终端。
步骤S306:移动终端接收加密存储设备发送的加密后的工作密钥,对加密后的工作密钥进行解密得到工作密钥。
步骤S307:移动终端利用得到的工作密钥对加密后的文件进行解密。
步骤S308:移动终端清除工作密钥以及第二随机数据。
在本实施例中,识别信息中还可以包括预先设置的口令,此时,第一数据以及第二数据中也包括有该口令,且在步骤S305中,除判断预先存储的识别信息中是否存在与第二数据中的识别数据相同的识别数据外,还需判断预先存储的识别信息中是否存在与第二数据中的口令相同的口令,只有当预先存储的识别信息中存在有与第二数据中相同的识别信息以及口令,加密存储设备才可以通过第二数据中的识别数据查询到与该识别数据对应的工作密钥。
实施例四
参阅图5,本发明实施例提供了一种文件加密装置,运行于加密存储设备,该加密存储设备应用于文件加密系统,文件加密系统包括移动终端和该加密存储设备,移动终端与加密存储设备数据连接,文件加密装置包括:
数据获取模块401:用于获得移动终端通过预存储的加密密钥加密后的第一数据,第一数据包括与移动终端绑定的识别数据以及移动终端随机生成的第一随机数据;
解密模块402:用于通过预存储的解密密钥对加密后的第一数据进行解密,得到第一数据;
验证模块403:用于验证第一数据的合法性;
密钥生成模块404:用于当验证模块403的验证结果为第一数据合法后,随机生成与识别数据具有对应关系的工作密钥;
存储模块405:用于存储工作密钥;
加密模块406:用于利用第一随机数据对工作密钥进行加密后发送给移动终端,以便移动终端通过解密后得到的工作密钥对预选定的文件进行加密。
进一步的,加密存储设备还可以包括数据清除模块:用于对预选定的文件进行加密后会清除工作密钥。
数据获取模块401还用于获得移动终端发送的通过预存储的加密密钥加密后的第二数据,第二数据包括与移动终端绑定的识别数据以及移动终端随机生成的第二随机数据。
解密模块402还用于备通过预存储的解密密钥对加密后的第二数据进行解密,得到第二数据。
验证模块403还用于验证第二数据的合法性。
加密存储设备还可以包括有查询模块,查询模块用于当验证模块403验证第二数据合法后,通过第二数据中的识别数据查询到与识别数据对应的工作密钥。
存储模块405还用于存储查询模块查询到的工作密钥。
加密模块406还用于对查询模块查询到的工作密钥进行加密后发送给移动终端,以便移动终端通过解密后得到的工作密钥对预选定的文件进行加密。
更进一步的,数据获取模块401还用于接收移动终端发送的与移动终端对应的识别信息,识别信息包括与移动终端绑定的识别数据。
存储模块405还用于存储该移动终端发送的与移动终端对应的识别信息。
密钥生成模块404还可以用于随机生成与识别信息具有对应关系的公私钥对,公私钥对包括加密密钥和解密密钥,存储模块405还用于存储公私钥对。以便于将加密密钥发送给移动终端,使移动终端存储加密密钥。
具体的,验证模块403验证第一数据的合法性是这样实现的:验证模块403将第一数据与预存储的识别信息相比对,判断预存储的识别信息中是否存在有与第一数据中的识别数据相同的识别数据,若存在,则第一数据合法。
本发明实施例所提供的文件加密装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例所提供的文件加密装置,通过随机生成与识别数据具有对应关系的工作密钥,利用随机数据对工作密钥进行加密后发送给移动终端,保证移动终端内的工作密钥不易被第三方获取,即使移动终端存储的工作密钥被第三方获取,也无法获取文件中的内容,有效保证了信息安全性,保障用户数据及隐私不易被泄露。
实施例五
参阅图6,本发明实施例提供了一种文件加密装置,运行于移动终端,移动终端应用于文件加密系统,文件加密系统包括该移动终端和加密存储设备,移动终端与加密存储设备数据连接,该文件加密装置包括:
加密模块501:用于通过预存储的加密密钥加密第一数据,所述第一数据包括与所述移动终端绑定的识别数据以及所述移动终端随机生成的第一随机数据;
发送模块502:用于将所述加密后的第一数据发送给所述加密存储设备,以便所述加密存储设备通过预存储的解密密钥对所述加密后的第一数据进行解密得到所述第一数据,以及在验证所述第一数据合法后随机生成与所述识别数据具有对应关系的工作密钥;
接收模块503:用于接收所述加密存储设备发送的加密后的工作密钥,所述加密后的工作密钥为所述加密存储设备通过所述第一随机数据对所述工作密钥加密后得到的;
解密模块504:用于使用所述第一随机数据对所述加密后的工作密钥进行解密得到所述工作密钥;
加密模块501还用于利用得到的工作密钥对预选定的文件进行加密。
进一步的,移动终端还可以包括数据清除模块,数据清除模块用于清除解密模块504使用所述第一随机数据对所述加密后的工作密钥进行解密得到所述工作密钥。
加密模块501还用于通过所述预存储的加密密钥加密第二数据,所述第二数据包括与所述移动终端绑定的所述识别数据以及所述移动终端随机生成的第二随机数据。
发送模块502还用于将所述加密后的第二数据发送给所述加密存储设备,以便所述加密存储设备通过所述预存储的解密密钥对所述加密后的第二数据进行解密得到所述第二数据,在验证所述第二数据合法后,通过所述第二数据中的所述识别数据查询到与所述识别数据对应的所述工作密钥,以及利用所述第二随机数据对查询到的所述工作密钥加密后发送给所述移动终端。
接收模块503还用于接收加密后的工作密钥,使用所述第二随机数据对所述加密后的工作密钥进行解密得到所述工作密钥。
解密模块504还用于利用根据所述第二随机数据对所述加密后的工作密钥进行解密得到所述工作密钥对加密后的所述预选定的文件进行解密。
另外,数据清除模块还可用于清除所述工作密钥以及所述第二随机数据。
本发明实施例所提供的文件加密装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例所提供的文件加密装置,用于加密和解密的工作密钥是由加密存储装置生成的,且接收到的是经加密保护进行传输的工作密钥,有效保证移动终端内的工作密钥不易被第三方获取,即使移动终端存储的工作密钥被第三方获取,也无法获取文件中的内容,有效保证了信息安全性,保障用户数据及隐私不易被泄露。
实施例六
参阅图7,本发明实施例提供了一种文件加密装置600,包括:处理器604,存储器601,总线602和通信接口603,所述处理器604、通信接口603和存储器601通过总线602连接;处理器604用于执行存储器601中存储的可执行模块,例如计算机程序。
其中,存储器601可能包含高速随机存取存储器(RAM:RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口603(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线602可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器601用于存储程序605,所述处理器604在获得到执行指令后,执行所述程序605,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器604中,或者由处理器604实现。
处理器604可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器604中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器604可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器604读取存储器601中的信息,结合其硬件完成上述方法的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。