文件的加密、解密方法和加解密系统的制作方法

文档序号:9435834阅读:672来源:国知局
文件的加密、解密方法和加解密系统的制作方法
【技术领域】
[0001]本发明涉及信息安全技术领域,具体而言,本发明涉及一种文件的加密、解密方法和加解密系统。
【背景技术】
[0002]随着终端智能程度的提高,存储容量的增大,人们越来越喜欢将一些重要信息,比如,商业机密信息、个人隐私信息等以文件的形式保存在终端中。而随之而来的文件安全性问题也逐渐得到重视,因此,现有为了保证终端中存储的文件的安全,往往需要对文件进行加密、解密等处理。
[0003]目前现有技术在对文件进行加密时,可以选择一种加密算法,通过选择的加密算法生成文件密钥,并利用生成的文件密钥对文件进行加密以此形成加密文件。相应地,在对加密文件进行解密时,则需要选择文件密钥对加密文件进行解密,以得到解密后的文件。实际应用中,在利用生成的文件密钥对未加密的原始文件进行加密后,可以将文件密钥保存于与原始文件分离的元数据文件中。后续,通过读取元数据文件中的文件密钥来对加密文件进行解密。
[0004]然而,本发明的发明人发现,现有的这种加密方法对文件进行加密后,加密文件易遭受攻击,存在安全性不够的问题;而且,还存在管理不便问题。
[0005]因此,有必要提供一种文件的加密方法,能够实现文件的加密的同时,便于加密文件的管理,且提高文件的安全性。

【发明内容】

[0006]针对上述现有技术存在的缺陷,本发明提供了一种文件的加密、解密方法和加解密系统,能够便于加密文件的管理,且提高文件的安全性。
[0007]本发明方案提供了一种文件的加密方法,包括:
[0008]针对未加密的原始文件,将该原始文件的文件密钥存储于创建的元数据块中;
[0009]利用指定的元数据加密密钥对所述元数据块进行加密;
[0010]利用所述文件密钥对所述原始文件的内容数据进行加密,得到加密文件;
[0011]其中,所述加密文件的文件头中包含有加密的元数据块。
[0012]根据本发明的另一方面,还提供了一种文件的解密方法,包括:
[0013]从加密文件的文件头中读取元数据块;
[0014]利用预设的元数据解密密钥对读取的元数据块进行解密,得到文件密钥;
[0015]利用所述文件密钥解密出加密文件中的内容数据。
[0016]根据本发明的另一方面,还提供了一种文件的加解密系统,包括:
[0017]元数据块加密单元,用于针对未加密的原始文件,将该原始文件的文件密钥存储于创建的元数据块中,并利用指定的元数据加密密钥对所述元数据块进行加密;
[0018]文件加密单元,用于利用文件密钥对所述原始文件的内容数据进行加密,得到加密文件;其中,所述加密文件的文件头中包含有加密的元数据块。
[0019]本实施例的方案中,将存储有文件密钥的元数据块进行加密,利用文件密钥对原始文件进行加密形成加密文件的过程中,将加密的元数据块整合到加密文件的文件头中。这样,将元数据块隐藏于文件头中,既不会破坏原始文件的内容数据,也不影响加密文件的正常操作,而且还大大增加了加密文件的攻击难度,从而提高了文件的安全性。
[0020]进一步地,将元数据块与加密文件的整合,使得增、删、复制等操作都无需针对元数据进行单独操作,便于用户对加密文件的管理,且避免因单独操作元数据产生物理垃圾文件。
[0021]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0022]图1为本发明实施例中文件的加密方法的流程示意图;
[0023]图2为本发明实施例中文件的解密方法的流程示意图;
[0024]图3a、3b都为本发明实施例中文件的加解密系统的内部结构示意图。
【具体实施方式】
[0025]以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
[0026]本发明的发明人发现,通过现有的加密方法对文件进行加密,在特定情况下若需要将文件彻底删除时,需要同时清除加密后的加密文件,以及相对应的元数据文件,操作繁琐且易出现差错,导致文件管理不便。
[0027]而且,由于分离的元数据文件的存在,明确指出了与之对应的文件是加密文件,犹如向恶意攻击者指明了攻击目标,导致加密后的文件易遭受到攻击。
[0028]因此,本发明的发明人考虑,可以将元数据与加密文件合二为一,隐藏加密文件的特征,使得在不影响加密文件的基本管理操作的前提下,从外表上无法判断文件是否加密,以此提高文件安全性。具体地,可以将存储有文件密钥的元数据块进行加密,将加密的元数据块整合到加密形成的文件的文件头中。这样,将元数据块隐藏于文件头中,既不会破坏原始文件的内容数据,也不影响加密文件的正常操作,而且还大大增加了加密文件的攻击难度,从而提高了文件的安全性。
[0029]进一步地,将元数据块与加密文件的整合,使得增、删、复制等操作都无需针对元数据进行单独操作,便于用户对加密文件的管理,且避免因单独操作元数据产生物理垃圾文件。
[0030]下面结合附图详细说明本发明的技术方案。
[0031]本发明提供了一种文件的加密方法,其具体流程如图1所示,可以包括如下步骤:
[0032]SlOl:针对未加密的原始文件,将该原始文件的文件密钥存储于创建的元数据块中。
[0033]本发明的方案中,以单个文件为单位进行加密。具体地,针对每个未加密的原始文件,可以首先获取该原始文件的文件密钥,之后将获取的文件密钥存储于创建的元数据块中。
[0034]实际应用中,在第一次对未加密的原始文件进行加密的情况下,可以新建一个元数据块,之后,将该原始文件的文件密钥存储于新建的元数据块中。
[0035]在当前未加密的原始文件是曾经加密过的情况下,若用于加密的文件密钥存储于与原始文件分立的元数据文件中,则可以从分立的元数据文件中获取文件密钥,之后新建一个元数据块,将该文件密钥存储于新建的元数据块中,以备后续使用。
[0036]其中,未加密的原始文件的文件密钥可以是预先由用户指定的加密密钥,或者,也可以是根据预设的对称加密算法生成的加密密钥。例如,根据预设的DEA(Data Encrypt1nAlgorithm,数据加密算法)来确定文件密钥。
[0037]S102:利用指定的元数据加密密钥对元数据块进行加密。
[0038]本发明的方案中,在将文件密钥存储于元数据块之后,可以对元数据块进行加密。
[0039]具体地,可以根据指定的对称加密算法生成对称加密密钥,并将生成的对称加密密钥作为元数据加密密钥对元数据块进行加密。或者,也可以根据用户指定的非对称加密算法生成对应的公开密钥和私有密钥,之后,将公开密钥作为元数据加密密钥对元数据块进行加密。
[0040]S103:利用文件密钥对原始文件的内容数据进行加密,得到加密文件,其中,加密文件的文件头中包含有加密的元数据块。
[0041]本发明的方案中,在完成元数据块的加密之后,可以利用未加密的原始文件的文件密钥,对原始文件的内容数据进行加密,以此得到加密文件。其中,在形成加密文件的文件头的过程中,可以将加密的元数据块添加到文件头中。这样,通过元数据块与加密文件的整合,可以使得增、删、复制等操作都无需针对元数据进行单独操作,避免现有对分立的加密文件和元数据文件分别进行操作的麻烦,大大方便了用户对加密文件的管理。
[0042]进一步地,为了便于后续对元数据块进行完整性的验证,本发明的方案中,在利用文件密钥对原始文件的内容数据进行加密,得到加密文件之后,还可以采用预设的哈希算法,计算并存储文件头的哈希值。其中,文件头中包含有加密的元数据块。这样,后续在解密之前可以通过对加密文件的文件头的哈希值进行校验,以此保证文件头及其中的元数据块不被篡改。
[0043]相较于现有将文件密钥存储于与加密文件分立的元数据文件中,本发明的方案将存储有文件密钥的元数据块隐藏于文件头中,有效解决了现有因元数据文件的存在导致加密文件的暴露的问题,提高了文件的安全性。
[0044]而将元数据块隐藏于文件头中,既不会破坏原始文件的内容数据,也不影响加密文件的正常操作,还大大增加了加密文件的攻击难度,进一步提高了文件的安全性。
[0045]基于上述文件的加密方法,相应地,本发明还提供了一种文件的解密方法,其具体流程如图2所示,可以包括如下步骤:
[0046]S201:从加密文件的文件头中读取元数据块。
[0047]本发明的方案中,对加密文件进行解密,需要利用解密的文件密钥。因此,为了获取解密的文件密钥,可以从加密文件的文件头中读取元数据块,以此后续可以从元数据块中获取存储的文件密钥。
[0048]更优地,实际应用中,为了保证加密文件的文件头数据不被篡改,因此,在读取元数据块之前,需要读加密文件的文件头进行完整性的验证。
[0049]具体地,可以采用预设的哈希算法,计算加密文件的文件头的哈希值,并进行哈希值的校验。在计算出的哈希值与预先存储的哈希值一致时,即可以说明文件头未曾被篡改,确定计算出的哈希值通过校验。在计算出的哈希值通过校验后,从加密文件的文件头中读取元数据块。
[0050]S202:利用预设的元数据解密密钥对读取的元数据块进行解密,得到文件密钥。
[0051]本发明的方案中,从加密文件的文件头中读取出的元数据块是经过加密的,因此,需要对元数据块进行解密。
[0052]具体地,可以利用预设的元数据解密密钥进行解密,得到元数据块中存储的文件密钥。
[0053]其中,在元数据块经根据指定的对称加密算法生成的对称加密密钥加
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1