一种加密方法和装置与流程

文档序号:11156225阅读:574来源:国知局
一种加密方法和装置与制造工艺

本发明涉及计算机技术领域,特别涉及一种加密方法和装置。



背景技术:

数据信息作为一种资源,它的普遍性、共享性、增值性、可处理性和多效用性,使其对于人类具有特别重要的意义。进入网络时代后,数据信息安全保障工作的难度大大提高。我们面临日益严重的网络安全威胁,诸如网络的数据窃贼、黑客的侵袭,甚至系统内部的泄密。数据信息安全已经成为各行业信息化建设中的首要问题。

TPM(Trusted Platform Module,可信赖平台模块)安全芯片是一个内置在计算机或者服务器的微芯片,能够防止非法用户的访问,它是符合TPM标准的安全芯片。TPM安全芯片具有产生加解密密钥的功能,能够对资料进行高速的加密和解密。对于PC(personal computer,个人计算机)用户,可以加密任意一个硬盘分区。

但是,使用TPM对某一分区进行加密,对于Windows系统可以完美兼容,而对于Linux系统会出现加密失败等问题,因此兼容性较差。



技术实现要素:

本发明实施例提供了一种加密方法和装置,能够提高兼容性。

第一方面,本发明实施例提供了一种加密方法,该方法包括:生成密码源,以及由所述密码源生成至少一个子密钥;

利用所述至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘;

利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到目标文件夹。

优选地,所述生成密码源,包括:

通过TPM(Trusted Platform Module,可信赖平台模块)安全芯片生成所述密码源。

优选地,在所述将所述加密磁盘格式化为普通文件系统之后,进一步包括:

备份所述密码源和所述至少一个子密钥到外部存储设备;

清除所述待加密回环设备所在系统中的所述密码源和所述至少一个子密钥。

优选地,在所述利用所述至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘之前,进一步包括:

确定第一个未使用的回环设备;

通过随机伪设备创建第一个数的第一大小的块设备;

将所述回环设备和所述块设备进行关联,形成所述待加密回环设备。

优选地,该方法进一步包括:

加载dm-crypt内核模块,并利用evice-mapper自动注册所述dm-crypt内核模块;

利用device-mapper识别所述dm-crypt内核模块;

所述利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到目标文件夹,包括:

在dm-crypt内核模块下,通过所述device-mapper,利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到/dev/mapper文件夹中。

第二方面,本发明实施例提供了一种加密装置,该加密装置包括密钥生成单元、初始化单元和装载单元,其中,

所述密钥生成单元,用于生成密码源,以及由所述密码源生成至少一个子密钥;

所述初始化单元,用于利用所述至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘;

所述装载单元,用于利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到目标文件夹。

优选地,所述密钥生成单元,用于通过TPM安全芯片生成所述密码源。

优选地,该加密装置进一步包括:备份单元和清除单元,其中,

所述备份单元,用于备份所述密码源和所述至少一个子密钥到外部存储设备;

所述清除单元,用于清除所述待加密回环设备所在系统中的所述密码源和所述至少一个子密钥。

优选地,该加密装置进一步包括:确定单元、创建单元和关联单元,其中,

所述确定单元,用于确定第一个未使用的回环设备;

所述创建单元,用于通过随机伪设备创建第一个数的第一大小的块设备;

所述关联单元,用于将所述回环设备和所述块设备进行关联,形成所述待加密回环设备。

优选地,该加密装置进一步包括:加载单元和识别单元,其中,

所述加载单元,用于加载dm-crypt内核模块,并利用evice-mapper自动注册所述dm-crypt内核模块;

所述识别单元,用于利用device-mapper识别所述dm-crypt内核模块;

所述装载单元,用于在dm-crypt内核模块下,通过所述device-mapper,利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到/dev/mapper文件夹中。

本发明实施例提供了一种加密方法和装置,通过生成密码源,以及由密码源生成至少一个子密钥,然后利用至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘,最后利用至少一个子密钥中的任一子密钥将加密磁盘装载到目标文件夹。由于利用子密钥不仅对待加密回环设备进行初始化加密并且进行加密装载,从而保证了加密的成功率,提高了兼容性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种加密方法的流程图;

图2是本发明一个实施例提供的另一种加密方法的流程图;

图3是本发明一个实施例提供的一种加密装置的结构示意图;

图4是本发明一个实施例提供的另一种加密装置的结构示意图;

图5是本发明一个实施例提供的又一种加密装置的结构示意图;

图6是本发明一个实施例提供的再一种加密装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种加密方法,该方法可以包括以下步骤:

步骤101:生成密码源,以及由所述密码源生成至少一个子密钥。

步骤102:利用所述至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘。

步骤103:利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到目标文件夹。

在图1所示的实施例中,通过生成密码源,以及由密码源生成至少一个子密钥,然后利用至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘,最后利用至少一个子密钥中的任一子密钥将加密磁盘装载到目标文件夹。由于利用子密钥不仅对待加密回环设备进行初始化加密并且进行加密装载,从而保证了加密的成功率,提高了兼容性。

值得说明的是,密码源是随机生成的一个密钥。加密磁盘为LUKS格式的加密磁盘,其中LUSK为Linux Unified Key Setup。

在本发明一个实施例中,为了避免受到外部软件攻击和物理盗窃,所述生成密码源,包括:

通过TPM安全芯片生成所述密码源。

在该实施例中,通过内置TPM安全芯片,其是符合TPM标准的安全芯片,使用该芯片能够有效的保护系统,防止非法用户的访问,能够有效地避免受到外部软件攻击和物理盗窃。

在本发明一个实施例中,为了保证密钥的安全,在所述将所述加密磁盘格式化为普通文件系统之后,进一步包括:

备份所述密码源和所述至少一个子密钥到外部存储设备;

清除所述待加密回环设备所在系统中的所述密码源和所述至少一个子密钥。

在该实施例中,通过将密码源和至少一个子密钥进行备份,并且清楚系统中的密码源和至少一个子密钥,能够有效的避免他人从系统中直接获得密码源和至少一个子密钥,从而得到加密文件。外部存储设备可以是U盘也可以是移动硬盘,也可以是其他存储设备,只要能够对密码源和至少一个子密钥进行存储,且不容易被他人获取即可。

在本发明一个实施例中,为了能够实现对文件的加密,在所述利用所述至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘之前,进一步包括:

确定第一个未使用的回环设备;

通过随机伪设备创建第一个数的第一大小的块设备;

将所述回环设备和所述块设备进行关联,形成所述待加密回环设备。

在该实施例中,建立了一个加密设备,该设备能够对加密文件进行存储和加密。要创建作为加密设备装载的文件系统,有两种选择:一是建立一个磁盘映像,然后作为回送设备加载;二是使用物理设备。无论那种情况,除了在建立和捆绑回送设备外,其它操作过程都是相似的。在Linux系统中会有多个回环设备,回环设备(loopback device)以/dev/loop0、/dev/loop1等命名,每个设备允许用户以一个普通磁盘文件虚拟一个块设备,用户可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载。可以通过dev/urandom创建块设备,文件名则可以根据个人喜好进行设定,例如,为/home/secret_dir。并且块设备的个数和大小都可以进行设定。例如,个数可以为50个,100个,200个等,大小可以为1M,2M,4M等等。

在本发明一个实施例中,为了能够构建加密文件系统,进一步包括:

加载dm-crypt内核模块,并利用evice-mapper自动注册所述dm-crypt内核模块;

利用device-mapper识别所述dm-crypt内核模块;

所述利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到目标文件夹,包括:

在dm-crypt内核模块下,通过所述device-mapper,利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到/dev/mapper文件夹中。

在该实施例中,对加密内核进行配置。在Linux系统中,利用dm-crypt来创建加密文件系统的方法。与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID(Redundant Arrays of Independent Disks,磁盘阵列)和LVM(Logical Volume Manager,逻辑卷管理)也毫无障碍。因为dm_crypt使用内核device mapper去加密,磁盘位置是/dev/mapper,如果没有该文件夹,则需要手动创建。

下面以在Linux系统中进行加密为例,对本发明的加密方法进行详细说明。

如图2所示,本发明实施例提供了一种加密方法,该方法可以包括以下步骤:

步骤201:配置device-mapper,加载dm-crypt内核模块,并使用evice-mapper自动注册。

步骤202:通过检验,使device-mapper识别dm-crypt。

步骤203:通过TPM安全芯片生成密码源,以及由密码源生成至少一个子密钥。

在该步骤中,使用TPM安全芯片能够有效的保护系统,防止非法用户的访问,有效地避免受到外部软件攻击和物理盗窃。

步骤204:确定第一个未使用的回环设备。

在该步骤中,回环设备(loopback device)以/dev/loop0、/dev/loop1等命名,每个设备允许用户以一个普通磁盘文件虚拟一个块设备,用户可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载。例如,在本实施例中,获取到的第一个未使用的回环设备为/dev/loop1。

步骤205:通过随机伪设备创建100个的2M块设备。

在该步骤中,利用Linux的/dev/urandom创建块设备,文件名为/home/secret_dir,其中,每个数据库的内存的大小为2MB,初始化一共100个数据块。

步骤206:将回环设备和块设备进行关联,形成所述待加密回环设备。

在该步骤中,将回环设备和块设备关联,从而创建了一个加密设备,也就是本实施例中的待加密回环设备。例如,/home/secret_dir和/dev/loop1关联。

步骤207:利用至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘。

步骤208:通过device-mapper,利用至少一个子密钥中的任一子密钥将加密磁盘装载到/dev/mapper文件夹中。

在该步骤中,将加密磁盘成功装载到/dev/mapper的一个文件夹中,可以是/dev/mapper/secret,此时,用户可以看到装载的加密磁盘及文件系统,尽管看起来与其他磁盘和文件系统无异,但实际上写到/dev/mapper/secret下的所有数据,在数据写入之前都是经过透明的加密处理后才写入磁盘的,因此,从该处读取的数据都是些密文。

为了方便对加密磁盘的访问,可以创建一个待挂载文件夹,将/dev/mapper/secret挂载到该待挂载文件夹。例如,创建/home/validation文件夹,将/dev/mapper/secret挂载到/home/validation文件夹下,随后便可以在/home/validation文件夹中进行创建文件、文件夹、编辑文件等各类操作。重启服务器,依旧可以在/home/validation文件夹中进行创建文件、文件夹、编辑文件等各类操作,说明加密磁盘正常被挂载且可以访问。

步骤209:备份密码源和至少一个子密钥到外部存储设备,以及清除待加密回环设备所在系统中的密码源和至少一个子密钥。

在该步骤中,将备份密码源和至少一个子密钥,并将系统中的密码源和至少一个子密钥清除,可以避免他人直接对加密磁盘进行访问。

在清除系统中的密码源和至少一个子密钥后,可以对加密性能进行测试。例如:第一种情况:保证TPM安全芯片为生成密码源和至少一个子密钥的TPM安全芯片,且该TPM安全芯片正常工作,并将备份有密码源和至少一个子密钥的外部存储设备连接到系统中,此时,可成功挂载加密磁盘/dev/mapper/secret到/home/validation/下,并进行创建文件、文件夹、编辑文件等各类操作;

第二种情况:保证TPM安全芯片为生成密码源和至少一个子密钥的TPM安全芯片,并将备份有密码源和至少一个子密钥的外部存储设备连接到系统中,但TPM安全芯片功能被禁用,此时,会有提示“Command failed:No key available with this passphrase”。说明在有TPM安全芯片但是其功能是禁用的情况下,无法将TPM安全芯片中的子密钥与外部存储设备中的子密钥校验,则不能挂载和访问加密磁盘/dev/mapper/secret。

第三种情况:不安装TPM安全芯片,但将备份有密码源和至少一个子密钥的外部存储设备连接到系统中,此时,同样会有提示“Command failed:No key available with this passphrase”。说明在没有TPM安全芯片存在的情况下,外部存储设备中的子密钥无法与TPM安全芯片中的子密钥校验,则不能挂载和访问加密磁盘/dev/mapper/secret。

第四种情况:使用的TPM安全芯片不是生成密码源和至少一个子密钥的TPM安全芯片,但TPM安全芯片正常工作,并将备份有密码源和至少一个子密钥的外部存储设备连接到系统中,此时,同样会有提示“Command failed:No key available with this passphrase”。说明存在TPM安全芯片,但TPM安全芯片中没有子密钥,无法和外部存储设备中的子密钥去校验,则不能挂载和访问加密磁盘/dev/mapper/secret。

从上面在通过TPM安全芯片生成了加密密钥的情况下,创建加密磁盘并挂载,通过更改不同的配置条件,来验证TPM加密功能是否生效。从多方位多角度验证了保密度,有效地验证了TPM安全芯片功能的可用性。

如图3所示,本发明实施例提供了一种加密装置,该加密装置可以包括:密钥生成单元301、初始化单元302和装载单元303,其中,

所述密钥生成单元301,用于生成密码源,以及由所述密码源生成至少一个子密钥;

所述初始化单元302,用于利用所述至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘;

所述装载单元303,用于利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到目标文件夹。

在该实施例中,通过密钥生成单元生成密码源,以及由密码源生成至少一个子密钥,然后通过初始化单元利用至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘,最后通过装载单元利用至少一个子密钥中的任一子密钥将加密磁盘装载到目标文件夹。由于利用子密钥不仅对待加密回环设备进行初始化加密并且进行加密装载,从而保证了加密的成功率,提高了兼容性。

在本发明一个实施例中,为了避免受到外部软件攻击和物理盗窃,所述密钥生成单元301,用于通过TPM安全芯片生成所述密码源。

在该实施例中,通过设置TPM安全芯片能够有效的保护系统,防止非法用户的访问。

如图4所示,在本发明一个实施例中,为了保证密钥的安全,该加密装置可以进一步包括:备份单元401和清除单元402,其中,

所述备份单元,用于备份所述密码源和所述至少一个子密钥到外部存储设备;

所述清除单元,用于清除所述待加密回环设备所在系统中的所述密码源和所述至少一个子密钥。

在该实施例中,通过备份单元将密码源和至少一个子密钥备份到系统外部的存储设备,并将系统内部的密码源和至少一个子密钥清除,能够有效的防止盗取密码源和至少一个子密钥清除,从而访问加密文件。

如图5所示,在本发明一个实施例中,为了能够实现对文件的加密,该加密装置可以进一步包括:确定单元501、创建单元502和关联单元503,其中,

所述确定单元501,用于确定第一个未使用的回环设备;

所述创建单元502,用于通过随机伪设备创建第一个数的第一大小的块设备;

所述关联单元503,用于将所述回环设备和所述块设备进行关联,形成所述待加密回环设备。

在该实施例中,通过确定单元、创建单元和关联单元,建立了一个加密设备,该设备能够对加密文件进行存储和加密。要创建作为加密设备装载的文件系统,有两种选择:一是建立一个磁盘映像,然后作为回送设备加载;二是使用物理设备。无论那种情况,除了在建立和捆绑回送设备外,其它操作过程都是相似的。

如图6所示,在本发明一个实施例中,为了能够构建加密文件系统,该加密装置可以进一步包括:加载单元601和识别单元602,其中,

所述加载单元601,用于加载dm-crypt内核模块,并利用evice-mapper自动注册所述dm-crypt内核模块;

所述识别单元602,用于利用device-mapper识别所述dm-crypt内核模块;

所述装载单元303,用于在dm-crypt内核模块下,通过所述device-mapper,利用所述至少一个子密钥中的任一子密钥将所述加密磁盘装载到/dev/mapper文件夹中。

在该实施例中,通过配置单元,加载单元和识别单元,对加密内核进行配置。因为dm_crypt使用内核device mapper去加密,磁盘位置是/dev/mapper,如果没有该文件夹,则需要手动创建。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

综上,本发明的各实施例,至少具有如下有益效果:

1、在本发明的实施例中,通过生成密码源,以及由密码源生成至少一个子密钥,然后利用至少一个子密钥中的任一子密钥将待加密回环设备初始化为加密磁盘,最后利用至少一个子密钥中的任一子密钥将加密磁盘装载到目标文件夹。由于利用子密钥不仅对待加密回环设备进行初始化加密并且进行加密装载,从而保证了加密的成功率,提高了兼容性。

2、在本发明的实施例中,通过使用TPM生成密码源和至少一个子密钥,能够有效的保护系统,防止非法用户的访问,有效地避免受到外部软件攻击和物理盗窃。

3、在本发明的实施例中,通过将密码源和至少一个子密钥进行备份,并且清楚系统中的密码源和至少一个子密钥,能够有效的避免他人从系统中直接获得密码源和至少一个子密钥,从而得到加密文件。

4、在本发明的实施例中,利用dm-crypt来创建加密文件系统的方法,与其它创建加密文件系统的方法相比,dm-crypt系统有着无可比拟的优越性:它的速度更快,易用性更强。除此之外,它的适用面也很广,能够运行在各种块设备上,即使这些设备使用了RAID和LVM也毫无障碍。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1