数据加密方法、数据解密方法、装置及系统与流程

文档序号:12917421阅读:168来源:国知局
数据加密方法、数据解密方法、装置及系统与流程

本申请涉及数据加密技术,具体涉及一种数据加密方法及装置。本申请同时涉及一种数据解密方法及装置,一种密钥存储方法及装置,一种密钥提供方法及装置,一种数据加密系统,以及另一种数据加密方法。



背景技术:

随着数据种类以及数量的日益增多,为了避免公司数据、客户数据等敏感数据因为泄露而引发的损失,数据存储加密技术得到了较为普遍的应用,成为保护数据安全性的有效方法。数据存储加密技术通常是指,在将数据写入存储设备之前采用特定技术为数据加密,从而确保存放在存储设备上的数据的安全性,相应的,在读取已存储数据时则采用相应技术为数据解密。

数据存储加密技术按照实现手段可以分为主机软件加密、加密存储安全交换机、嵌入式专门加密设备以及基于存储设备本身的加密机制等方法,各种方法的逻辑架构中通常都包括加密解密单元、以及密钥管理中心。其中加密解密单元通常是指,对待存储的数据利用固定密钥进行加密、对读取的已存储数据采用固定密钥进行解密的功能单元;密钥管理中心通常是指,负责存储密钥、以及对密钥进行更换等管理操作的功能单元。一般情况下,加密解密单元中的密钥是不会轻易去改变的,只有在遇到密钥泄露或者有重大的泄露风险的情况的时候才会更新密钥,例如:通过密钥管理中心和加密解密单元通过非对称加密算法建立加密安全传输通道、将新的密钥传给加密解密单元;或者是由专门的管理维护人员通过拷贝等方式去现场手动更新密钥。而且更新密钥后需要做好对历史密钥及历史数据的管理,以免造成存储设备中的历史数据无法解密,导致数据损失。

上述数据存储加密技术,存在以下缺陷:

1)由于加密解密单元使用的密钥通常都是固定的,会增加数据被暴力破解的可能性,而且一旦密钥发生泄漏,整个存储的数据都将面临被窃读的危险,从而导致数据的安全性无法得到保障。

2)设置或者更换密钥的过程(即:密钥分发过程)存在安全隐患,例如:采用非对称加密算法更新密钥存在传输过程被窃听、算法被破解的风险,而人工更新则存在恶意泄露的危险。

3)每次更换密钥之后,为了避免历史数据损失,管理维护人员都要额外执行对历史密钥及数据的妥善处理,操作复杂。



技术实现要素:

本申请实施例提供一种数据加密方法和装置,以解决现有的数据存储加密技术无法保障数据存储、密钥分发的安全性、以及密钥更换操作复杂的问题。本申请实施例还提供一种数据解密方法和装置,一种密钥存储方法,一种密钥提供方法,一种数据加密系统,以及另一种数据加密方法。

本申请提供一种数据加密方法,包括:

接收针对待存储数据的加密请求;

采用预设方式选取密钥、以及用于标识所述密钥的密钥标签;

用所述密钥对所述加密请求携带的数据加密;

输出加密后的数据以及所述密钥标签,以将上述信息对应存储于存储设备;

其中,所述密钥是从加密解密单元的密钥池获取的、且与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同,所述密钥池用于存储加密解密单元与密钥管理中心执行量子密钥分发操作生成的密钥序列;用于标识所述密钥的密钥标签与密钥管理中心相同。

可选的,所述采用预设方式选取密钥、以及用于标识所述密钥的密钥标签,包括:

判断是否需要更换密钥;

若是,从所述密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同;并获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签;

否则,采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

可选的,所述判断是否需要更换密钥,包括:

根据是否接收到密钥更换指令,判断是否需要更换密钥;或者,

根据预设的密钥更换策略,判断是否需要更换密钥。

可选的,所述预设的密钥更换策略,包括:

按照预设的时间间隔更换密钥;或者,

针对每次接收到的加密请求更换密钥。

可选的,所述从所述密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同,包括:

按照预设方式从所述密钥池中获取密钥;

向密钥管理中心发送密钥更换同步请求、以触发密钥管理中心获取相同的密钥。

可选的,在按照预设方式从所述密钥池中获取密钥之后,执行下述操作:

采用预设算法计算所述密钥的散列值;

所述向密钥管理中心发送密钥更换同步请求,包括:向密钥管理中心发送至少包含所述散列值的密钥更换同步请求。

可选的,所述获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签,采用以下方式实现:

采用与密钥管理中心相同的算法生成用于标识所述密钥的密钥标签;

或者,

采用与密钥管理中心交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

相应的,本申请还提供一种数据加密装置,包括:

加密请求接收单元,用于接收针对待存储数据的加密请求;

密钥及标签选取单元,用于采用预设方式选取密钥、以及用于标识所述密钥的密钥标签;所述密钥是从加密解密单元的密钥池获取的、且与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同,所述密钥池用于存储加密解密单元与密钥管理中心执行量子密钥分发操作生成的密钥序列;用于标识所述密钥的密钥标签与密钥管理中心相同;

数据加密单元,用于用所述密钥对所述加密请求携带的数据加密;

加密数据及标签输出单元,用于输出加密后的数据以及所述密钥标签,以将上述信息对应存储于存储设备。

可选的,所述密钥及标签选取单元包括:

密钥更换判断子单元,用于判断是否需要更换密钥;

新密钥及标签获取子单元,用于当所述密钥更换判断子单元的输出为是时,从所述密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同;并获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签;

旧密钥及标签采用子单元,用于当所述密钥更换判断子单元的输出为否时,采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

其中,所述新密钥及标签获取子单元包括:

新密钥获取子单元,用于当所述密钥更换判断子单元的输出为是时,从所述密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同;

新标签获取子单元,用于获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签;

可选的,所述密钥更换判断子单元具体用于,根据是否接收到密钥更换指令,判断是否需要更换密钥;或者,根据预设的密钥更换策略,判断是否需要更换密钥。

可选的,所述新密钥获取子单元包括:

密钥池密钥获取子单元,用于按照预设方式从所述密钥池中获取密钥;

密钥更换同步请求发送子单元,用于向密钥管理中心发送密钥更换同步请求、以触发密钥管理中心获取相同的密钥。

可选的,所述新标签获取子单元具体用于,采用与密钥管理中心相同的算法生成用于标识所述密钥的密钥标签;或者,采用与密钥管理中心交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

此外,本申请还提供一种数据解密方法,包括:

接收针对已存储数据的解密请求;

根据所述解密请求携带的密钥标签,从密钥管理中心获取相应的密钥;

用所述密钥对所述解密请求携带的数据解密;

将解密后的数据返回给所述解密请求的请求方。

可选的,所述根据所述解密请求携带的密钥标签,从密钥管理中心获取相应的密钥,包括:

向密钥管理中心发送密钥获取请求,所述请求中携带从所述解密请求中提取的密钥标签;

从密钥管理中心返回的应答中获取与所述密钥标签对应的密钥。

可选的,所述从密钥管理中心返回的应答中获取与所述密钥标签对应的密钥,包括:

从密钥管理中心返回的应答中提取加密后的密钥;

采用与密钥管理中心相同的密钥对所述加密后的密钥解密,并将解密后的密钥作为与所述密钥标签对应的密钥。

可选的,在向密钥管理中心发送密钥获取请求之前,执行下述操作:

采用对称加密算法,对从所述解密请求中提取的密钥标签加密;

相应的,在向密钥管理中心发送的密钥获取请求中携带的是加密后的密钥标签。

可选的,在向密钥管理中心发送密钥获取请求之前,包括:

从加密解密单元的密钥池中获取密钥,所述密钥与通过发送密钥获取同步请求触发密钥管理中心获取的密钥相同;并将获取的密钥作为对从应答中提取的密钥解密所采用的密钥、或者对从应答中提取的密钥解密以及对密钥标签加密所采用的密钥;

其中,所述密钥池用于存储加密解密单元与密钥管理中心执行量子密钥分发操作生成的密钥序列。

可选的,在用所述密钥对所述解密请求携带的数据解密之后,还包括:

删除所述密钥。

相应的,本申请还提供一种数据解密装置,包括:

解密请求接收单元,用于接收针对已存储数据的解密请求;

密钥获取单元,用于根据所述解密请求携带的密钥标签,从密钥管理中心获取相应的密钥;

数据解密单元,用于用所述密钥对所述解密请求携带的数据解密;

解密数据返回单元,用于将解密后的数据返回给所述解密请求的请求方。

可选的,所述密钥获取单元包括:

获取请求发送子单元,用于向密钥管理中心发送密钥获取请求,所述请求中携带从所述解密请求中提取的密钥标签;

应答密钥获取子单元,用于从密钥管理中心返回的应答中获取与所述密钥标签对应的密钥。

可选的,所述应答密钥获取子单元,包括:

加密密钥提取子单元,用于从密钥管理中心返回的应答中提取加密后的密钥;

密钥解密子单元,用于采用与密钥管理中心相同的密钥对所述加密后的密钥解密,并将解密后的密钥作为与所述密钥标签对应的密钥。

可选的,所述装置包括:

密钥标签加密单元,用于在触发所述密钥获取单元之前,采用对称加密算法,对从所述解密请求中提取的密钥标签加密;

所述获取请求发送子单元具体用于,向密钥管理中心发送携带加密后的密钥标签的密钥获取请求。

此外,本申请还提供一种密钥存储方法,包括:

接收加密解密单元发送的密钥更换同步请求;

从密钥管理中心的密钥池中获取与加密解密单元相同的密钥,所述密钥池用于存储密钥管理中心与加密解密单元执行量子密钥分发操作生成的密钥序列;

获取用于标识所述密钥的、且与加密解密单元相同的密钥标签;

将所述密钥和所述密钥标签对应存储于密钥数据库中。

可选的,所述从密钥管理中心的密钥池中获取与加密解密单元相同的密钥,包括:按照预设的、与加密解密单元相同的方式从密钥池中获取密钥。

可选的,所述密钥更换同步请求中携带请求方所选密钥的散列值;

在所述按照预设的、与加密解密单元相同的方式从密钥池中获取密钥之后,还包括:

采用预设算法计算所述密钥的散列值;

比较计算得到的散列值与所述密钥更换同步请求中携带的散列值是否一致,若一致,则视为所述密钥与加密解密单元获取的密钥相同。

可选的,所述获取用于标识所述密钥的、且与加密解密单元相同的密钥标签,包括:

采用与加密解密单元相同的算法生成用于标识所述密钥的密钥标签;

或者,

采用与加密解密单元交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

相应的,本申请还提供一种密钥存储装置,包括:

密钥更换同步请求接收单元,用于接收加密解密单元发送的密钥更换同步请求;

密钥池密钥获取单元,用于从密钥管理中心的密钥池中获取与加密解密单元相同的密钥,所述密钥池用于存储密钥管理中心与加密解密单元执行量子密钥分发操作生成的密钥序列;

密钥标签获取单元,用于获取用于标识所述密钥的、且与加密解密单元相同的密钥标签;

密钥及标签存储单元,用于将所述密钥和所述密钥标签对应存储于密钥数据库中。

可选的,所述密钥池密钥获取单元,具体用于按照预设的、与加密解密单元相同的方式从密钥池中获取密钥。

可选的,所述密钥标签获取单元,具体用于采用与加密解密单元相同的算法生成用于标识所述密钥的密钥标签;或者,采用与加密解密单元交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

此外,本申请还提供一种密钥提供方法,包括:

接收加密解密单元发送的密钥获取请求;

根据所述密钥获取请求携带的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥;

将获取的密钥返回给加密解密单元。

可选的,在所述将获取的密钥返回给加密解密单元之前,执行下述操作:

采用对称加密算法,对所述获取的密钥加密;

相应的,返回给加密解密单元的密钥为:加密后的密钥。

可选的,所述根据所述密钥获取请求携带的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥,包括:

从所述密钥获取请求中提取加密后的密钥标签;

采用与加密解密单元相同的密钥对所述加密后的密钥标签解密;

根据解密后的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥。

可选的,在接收加密解密单元发送的密钥获取请求之前,包括:

根据接收到的密钥获取同步请求,从密钥管理中心的密钥池中获取与加密解密单元相同的密钥;并将获取的密钥作为对从密钥数据库获取的密钥加密所采用的密钥、或者对从密钥数据库获取的密钥加密以及对密钥标签解密所采用的密钥;

其中,所述密钥池用于存储密钥管理中心与加密解密单元执行量子密钥分发操作生成的密钥序列。

相应的,本申请还提供一种密钥提供装置,包括:

密钥获取请求接收单元,用于接收加密解密单元发送的密钥获取请求;

密钥查询单元,用于根据所述密钥获取请求携带的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥;

密钥返回单元,用于将获取的密钥返回给加密解密单元。

可选的,所述装置还包括:

密钥加密单元,用于在触发密钥返回单元之前,采用对称加密算法,对所述获取的密钥加密;

相应的,所述密钥返回单元,具体用于将加密后的密钥返回给加密解密单元。

可选的,所述密钥查询单元包括:

密钥标签提取子单元,用于从所述密钥获取请求中提取加密后的密钥标签;

密钥标签解密子单元,用于采用与加密解密单元相同的密钥对所述加密后的密钥标签解密;

数据库查询子单元,用于根据解密后的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥。

此外,本申请还提供一种数据加密系统,包括:根据上述任意一项所述的数据加密装置,根据上述任意一项所述的数据解密装置,根据上述任意一项所述的密钥提供装置,以及用于执行量子密钥分发操作的一对量子密钥分发引擎装置。

此外,本申请还提供另一种数据加密方法,包括:

接收针对待存储数据的加密请求;

采用预设方式选取密钥、以及用于标识所述密钥的密钥标签;

用所述密钥对所述加密请求携带的数据加密;

输出加密后的数据以及所述密钥标签,以将上述信息对应存储于存储设备。

可选的,所述密钥是从加密解密单元的密钥池获取的,所述密钥池用于存储加密解密单元与密钥管理中心执行量子密钥分发操作生成的密钥序列。

与现有技术相比,本申请具有以下优点:

本申请提供的数据加密方法,接收针对待存储数据的加密请求后,用基于预设方式选取的密钥的对待存储数据加密,并输出加密后的数据、以及所选密钥的密钥标签,以便将这两项信息对应存储于存储设备中。其中,所述密钥是从加密解密单元的密钥池获取的、且与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同,所述密钥池用于存储加密解密单元与密钥管理中心执行量子密钥分发操作生成的密钥序列;用于标识所述密钥的密钥标签与密钥管理中心相同。

本申请提供的上述方法,采用量子密钥分发技术实现密钥管理中心与加密解密单元之间的密钥分发,基于量子力学原理保障密钥分发过程的安全性;而且在执行数据加密操作时,采用的是基于预设方式选取的密钥、而不是固定密钥,从而可以灵活地采用不同的密钥对数据进行加密,有效地保障了数据存储的安全性;同时针对所使用的密钥引入了密钥标签,通过与密钥管理中心维护相同密钥及密钥标签、以及在存储设备上将加密后数据与密钥标签对应存储,从而在采用不同密钥对数据加密的同时,可以保证读取数据时执行正确的解密操作,而且省却了管理维护人员在密钥变更时维护历史密钥及数据的额外操作,大大简化密钥更换的操作流程。

附图说明

图1是本申请的一种数据加密方法的实施例的流程图;

图2是本申请实施例提供的采用预设方式选取密钥、以及用于标识所述密钥的密钥标签的处理流程图;

图3是本申请的一种数据加密装置的实施例的示意图;

图4是本申请的一种密钥存储方法的实施例的流程图;

图5是本申请的一种密钥存储装置的实施例的示意图;

图6是本申请的一种数据解密方法的实施例的流程图;

图7是本申请的一种数据解密装置的实施例的示意图;

图8是本申请的一种密钥提供方法的实施例的流程图;

图9是本申请的一种密钥提供装置的实施例的示意图;

图10是本申请的一种数据加密系统的示意图;

图11是本申请的另一种数据加密方法的实施例的流程图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。

在本申请的技术方案中,量子密钥分发操作,是指收发双方量子设备遵循量子密钥分发协议,经过原始密钥协商、密钥筛选和纠错、隐私放大等处理流程后,双方生成相同的随机密钥序列的操作过程;密钥序列,是指由若干密钥比特组成的序列;密钥池,是指存储执行量子密钥分发操作生成的密钥序列的内存区域;密钥标签,是指用于区分不同密钥的标识信息,其形式可以为数值、或者字符串等;密钥更换同步请求,是指加密解密单元发送给密钥中心的、用于触发密钥中心从其密钥池中获取与加密解密单元相同密钥的请求。

在本申请中,分别提供了一种数据加密方法及装置,一种数据解密方法及装置,一种密钥存储方法及装置,一种密钥提供方法及装置,一种数据加密系统,以及另一种数据加密方法。在下面的实施例中逐一进行详细说明。

现有的数据存储加密实现方案中,通常包括加密解密单元和密钥管理中心,由于加密解密单元通常采用固定密钥对待存储数据加密,而且在面临密钥泄露风险时,在密钥管理中心和加密解密单元通过非对称加密算法进行密钥更新、或者进行人工更新后,还需要管理维护人员执行额外的维护处理,因此不仅数据存储、密钥分发的安全性得不到保障、而且密钥更换操作复杂。

本申请提供的技术方案,包括:数据加密方法、数据解密方法、密钥存储方法、以及密钥提供方法,通过引入量子密钥分发技术、以及密钥标签,解决了现有技术存在的上述问题。

本申请提供的技术方案,在密钥管理中心和加密解密单元中分别添加量子密钥分发引擎,通过执行量子密钥分发协议在密钥管理中心和加密解密单元生成相同的密钥序列,并存储在各自的密钥池中;当需要对待存储数据加密时,加密解密单元用从自己的密钥池中获取的密钥进行加密,并输出加密后的数据以及密钥标签,以便对应存储在存储设备上,密钥管理中心则将与加密解密单元同步获取的相同密钥以及密钥标签存储在密钥数据库中;当需要对已存储数据解密时,加密解密单元根据已存储数据的密钥标签向密钥管理中心获取密钥,并用获取的密钥执行解密操作。

其中,所述量子密钥分发引擎执行的量子密钥分发协议包括bb84、b91、b92协议,以及后来为提高成码率提出的continuousvariableqkd、dsp-qkp、sarg等协议。遵循量子密钥分发协议的量子密钥分发过程如下所述:其中一方(以下简称alice)随机地产生一组二进制数据串,根据数据串选择基矢制备相应编码的量子态,并通过量子信道发送给另一方(以下简称bob),bob接收到量子态后随机选择测量基矢进行测量;随后,bob通过经典信道公开自己的测量基矢,从而双方筛选出基矢相同的原始密钥;最后双方通过估计误码率、纠错、隐私放大等处理获取到无条件安全的密钥序列。

在本技术方案中,密钥管理中心和加密解密单元中的量子密钥分发引擎,采用预设方式,例如:连续地、或者定时地,执行量子密钥分发协议,从而生成相同的密钥序列,并存储在各自的密钥池中。

由于本技术方案引入了量子密钥分发技术,从而基于量子力学原理保障密钥分发过程的安全性;进一步地,由于引入了密钥标签,因此可以采用不同的密钥对待存储数据加密,实现密钥使用粒度的多样化,一方面保证数据存储的安全性,令一方面简化了密钥更换的操作流程。

下面对本申请提供的各实施例逐一进行说明。为了便于描述,在以下的实施例中,将实施数据加密方法的模块称为数据加密模块,将实施数据解密方法的模块称为数据解密模块,将实施密钥存储方法的模块称为密钥存储模块,将实施密钥提供方法的模块称为密钥提供模块。

密钥管理中心包括:密钥存储模块、密钥提供模块、以及量子密钥分发引擎模块,加密解密单元包括:数据加密模块、数据解密模块、以及量子密钥分发引擎模块。其中,数据加密模块输出的密钥更换同步请求,具体由密钥管理中心的密钥存储模块接收并处理,数据解密模块输出的密钥获取请求(以及密钥获取同步请求),具体由密钥管理中心的密钥提供模块接收并处理。

参考图1,其为本申请的一种数据加密方法的实施例的流程图,所述方法包括如下步骤:

步骤101、接收针对待存储数据的加密请求。

前端主机或者服务器输出的数据,通常会经过拆分、压缩等数据处理后,经由加密解密单元的数据存储加密模块进行加密处理。例如:前端主机或者服务器输出的数据,由执行上述数据处理操作的功能单元进行必要处理后,所述功能单元可以通过调用预设接口或者发送消息等方式触发数据加密模块对待存储数据加密,数据加密模块就会相应接收到针对待存储数据的加密请求,所述请求中至少携带待存储数据。

步骤102、采用预设方式选取密钥、以及用于标识所述密钥的密钥标签。

本实施例的核心在于,加密解密单元与密钥管理中心通过各自的量子密钥分发引擎执行量子密钥分发操作生成密钥序列,并存储在各自的密钥池中。对待存储数据加密时,则可以采用加密解密单元密钥池中的密钥进行加密。具体到每一次的数据加密操作,可以选用上一次执行加密操作所使用的密钥、该密钥也是从密钥池中获取的,即,用旧密钥执行本次加密操作,也可以重新从密钥池中获取密钥,即,用更换后的新密钥执行本次加密操作。

不难理解,如果存储设备中所存储的加密数据使用的是相同密钥的话,一旦密钥泄露,会造成所有数据的泄露。然而如果存储设备中的加密数据不是采用相同密钥加密的话,那么泄露的密钥只能破解泄露的密钥对应的加密数据,会大大降低危害性。密钥更换的时间粒度越小,数据的安全性越高。因此本步骤通过预设方式选取用于加密的密钥、而不是固定使用相同的密钥,从而消除了使用相同密钥加密的弊端,有助于提高数据存储的安全性。本步骤的具体实施可以包括步骤102-1至步骤102-4,下面结合图2作进一步说明。

步骤102-1、判断是否需要更换密钥,若是,执行步骤102-2,否则,执行步骤102-4。

可以采用不同的方式判断是否需要更换密钥。下面给出两种实施方式:

(一)根据预设的密钥更换策略进行判断。

所述预设的密钥更换策略可以是:按照预设的时间间隔更换密钥。例如:预设的时间间隔为5秒,在具体实施时则可以设置定时器的超时时间为5秒,如果发生定时器超时事件,则判定需要更换密钥(并在更换密钥后复位定时器),否则不需要更换。

所述预设的密钥更换策略,也可以是:针对每次接收到的加密请求更换密钥,这也是本实施例提供的优选实施方式。针对每次加密请求中携带的数据都采用更换后的密钥进行加密,即:实现对数据的“一存一密”,从而可以提供更高安全等级的加密服务,即使出现某一密钥泄露的情况,被破解的也只是用这个密钥加密的数据,不会造成其他的数据泄露。

上述列举了两种密钥更换策略,在实际实施时,还可以预先设定其他的密钥更换策略,此处不再赘述。通过设置不同的密钥更换策略,可以实现密钥使用的不同粒度,为提高数据存储的安全性提供保障。

(二)根据是否接收到密钥更换指令进行判断。

具体实施时,也可以将根据预设的密钥更换策略决定是否更换密钥的功能从数据存储加密模块剥离出来,由其他模块或者单元依据预设的密钥更换策略进行决策,并发送相应的密钥更换指令。在这种情况下,如果数据存储加密模块接收到密钥更换指令、则判定需要更换密钥,否则不需要。

例如:密钥更换指令可以由发送加密请求的功能单元发送,如果步骤101接收到的加密请求中携带了密钥更换指令,则判定需要更换密钥,否则不需要。

步骤102-2、从加密解密单元的密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同。

执行到本步骤,说明需要更换密钥,因此本步骤可以从加密解密单元的密钥池中获取密钥,考虑到后续通常会有对加密数据的解密需求,因此从密钥池中获取密钥的操作应该与密钥管理中心同步,从而密钥管理中心可以存储相应的密钥信息以便执行解密操作。

具体实现可以是:按照预设方式从加密解密单元的密钥池中获取密钥;向密钥管理中心发送密钥更换同步请求、以触发密钥管理中心获取相同的密钥。所述预设方式可以是:从所述密钥池存储的、尚未使用的密钥序列的第一个密钥比特开始,截取预设长度的密钥,并在密钥池中将该密钥标识为已使用。密钥管理中心也采用同样的方式从其密钥池中截取密钥,从而双方获取了相同的密钥。

优选地,在按照预设方式从所述密钥池中获取密钥之后,还可以采用预设算法计算所述密钥的散列值,并在向密钥管理中心发送的密钥更换同步请求中包含所述散列值,从而密钥管理中心可以通过比对散列值,验证双方选取的密钥的确是相同的。在具体实施过程中,如果出现不一致的现象,则双方可以通过协商重新选取密钥。

在具体实施时,本步骤也可以按照随机方式从所述密钥池中选取密钥,并在发送给密钥管理中心的密钥更换同步请求中携带选取密钥的具体方式,例如:选取的位置、密钥长度等,以供密钥管理中心获取相同的密钥。

步骤102-3、获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签。

由于在步骤102-2中选取了密钥,考虑到对加密数据的解密需求,需要获取用于标识所述密钥的密钥标识、并且与密钥管理中心存储的相应信息一致。例如:选取的密钥为key1,密钥标识为key_id1,那么在密钥管理中心存储的key1的密钥标识也是key_id1,从而密钥管理中心可以根据密钥标识为解密操作提供正确的密钥,保证解密操作的正确执行。

获取与密钥管理中心相同的密钥标识,可以采用多种方式实现,在此列举两种:

(一)采用与密钥管理中心相同的算法生成用于标识所述密钥的密钥标签。例如:采用递增计数器生成用于标识所述密钥的密钥标签,递增计数器的初始值设置为0,每次更换密钥,则将计数器的数值加1,并用执行累加操作后的计数器数值作为密钥标签,密钥管理中心也采用相同的算法生成密钥标签。

(二)采用与密钥管理中心交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。例如:可以采用预设算法生成用于标识所述密钥的密钥标签,然后将密钥标签发送给密钥管理中心,从而密钥管理中心也就获取了同样的密钥标签。或者,接收由密钥管理中心生成并发送的密钥标签,也是可以的。

至此,通过步骤102-2和步骤102-3从密钥池中选取了新的密钥、并且获取了用于标识所述密钥的密钥标签,在再次更换密钥之前的数据加密操作,都可以使用该密钥。

需要说明的是,在步骤102-1判断出需要更换密钥的情况下,还可以删除上一次执行加密操作所用的密钥、以及相应的密钥标签,采用这种方式,不仅可以减少对存储空间的占用,而且由于不在加密解密单元中存储密钥,而是由密钥管理中心集中管理,可以减少密钥泄露的几率。

步骤102-4、采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

执行到本步骤,说明不需要更换密钥,因此可以继续采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

至此,通过步骤102-1至步骤102-4对选取密钥以及密钥标签的实施方式进行了描述,在本实施例给出的上述实施方式中需要先判断是否需要更换密钥,然后再执行相应的操作,在具体实施时也可以对上述实施方式进行变更,例如:对于固定采用“一存一密”的应用场景,可以直接从加密解密单元的密钥池中获取密钥,并向密钥管理中心发送密钥更换同步请求,也是可以的。

步骤103、用所述密钥对所述加密请求携带的数据加密。

在步骤102中已经选取了密钥,本步骤可以采用对称加密算法,利用所选密钥对步骤101接收到的加密请求携带的数据加密。所述对称加密算法包括:rc2、rc4、des(dataencryptionstandard)、3des、或aes(advancedencryptionstandard)算法等。

步骤104、输出加密后的数据以及所述密钥标签,以将上述信息对应存储于存储设备。

完成加密操作后,将加密后的数据以及加密所用密钥的密钥标签一并输出,以将这两项信息对应存储于存储设备上。在具体实施时,可以直接输出到存储设备,也可以输出给负责与存储设备接口的其他功能单元,由其他功能单元完成将加密后的数据及密钥标签写入存储设备的功能。

综上所述,本实施例提供的数据加密方法,采用量子密钥分发技术实现密钥管理中心与密钥加密解密单元之间的密钥分发,基于量子力学原理保障密钥分发过程的安全性;而且执行数据加密操作时,采用的是基于预设方式选取的密钥、而不是固定密钥,从而可以灵活地采用不同的密钥对数据进行加密,有效地保障了数据存储的安全性;同时针对所使用的密钥引入了密钥标签,通过与密钥管理中心维护相同密钥及密钥标签、以及在存储设备上将加密后数据与密钥标签对应存储,从而在采用不同密钥对数据加密的同时,可以保证读取数据时执行正确的解密操作,而且省却了管理维护人员在密钥变更时维护历史密钥及数据的额外操作,大大简化密钥更换的操作流程。

在上述的实施例中,提供了一种数据加密方法,与之相对应的,本申请还提供一种数据加密装置。请参看图3,其为本申请的一种数据加密装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种数据加密装置,包括:加密请求接收单元301,用于接收针对待存储数据的加密请求;密钥及标签选取单元302,用于采用预设方式选取密钥、以及用于标识所述密钥的密钥标签;所述密钥是从加密解密单元的密钥池获取的、且与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同,所述密钥池用于存储加密解密单元与密钥管理中心执行量子密钥分发操作生成的密钥序列;用于标识所述密钥的密钥标签与密钥管理中心相同;数据加密单元303,用于采用对称加密算法,用所述密钥对所述加密请求携带的数据加密;加密数据及标签输出单元304,用于输出加密后的数据以及所述密钥标签,以将上述信息对应存储于存储设备。

可选的,所述密钥及标签选取单元包括:

密钥更换判断子单元,用于判断是否需要更换密钥;

新密钥及标签获取子单元,用于当所述密钥更换判断子单元的输出为是时,从所述密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同;并获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签;

旧密钥及标签采用子单元,用于当所述密钥更换判断子单元的输出为否时,采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

其中,所述新密钥及标签获取子单元包括:

新密钥获取子单元,用于当所述密钥更换判断子单元的输出为是时,从所述密钥池中获取密钥,所述密钥与通过发送密钥更换同步请求触发密钥管理中心获取的密钥相同;

新标签获取子单元,用于获取用于标识所述密钥的、且与密钥管理中心相同的密钥标签;

可选的,所述密钥更换判断子单元具体用于,根据是否接收到密钥更换指令,判断是否需要更换密钥;或者,根据预设的密钥更换策略,判断是否需要更换密钥。

可选的,所述新密钥获取子单元包括:

密钥池密钥获取子单元,用于按照预设方式从所述密钥池中获取密钥;

密钥更换同步请求发送子单元,用于向密钥管理中心发送密钥更换同步请求、以触发密钥管理中心获取相同的密钥。

可选的,所述新标签获取子单元具体用于,采用与密钥管理中心相同的算法生成用于标识所述密钥的密钥标签;或者,采用与密钥管理中心交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

此外,本申请还提供一种密钥存储方法,请参考图4,其为本申请提供的密钥存储方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例的一种密钥存储方法包括如下步骤:

步骤401、接收加密解密单元发送的密钥更换同步请求。

加密解密单元的数据存储加密模块接收到针对待存储数据的加密请求、并且需要更换密钥时,会向密钥管理中心发送密钥更换同步请求,密钥管理中心的密钥管理模块就会接收到该请求。

步骤402、从密钥管理中心的密钥池中获取与加密解密单元相同的密钥,所述密钥池用于存储密钥管理中心与加密解密单元执行量子密钥分发操作生成的密钥序列。

密钥管理中心的密钥池中,存储了密钥管理中心的量子密钥分发引擎与加密解密单元的量子密钥分发引擎执行量子密钥分发操作生成的密钥序列。

本步骤可以按照预设的、与加密解密单元相同的方式从密钥管理中心的密钥池中获取密钥。例如:从所述密钥池存储的、尚未使用的密钥序列的第一个密钥比特开始,截取预设长度的密钥,并在密钥池中将该密钥标识为已使用。由于加密解密单元也采用相同方式从其密钥池中获取密钥,因此双方可以获取相同的密钥。

优选地,如果在所述密钥更换同步请求中携带了密钥的散列值,那么在按照上述方式从所述密钥池中获取密钥之后,还可以采用与加密解密单元相同的预设算法计算所述密钥的散列值,并比较计算得到的散列值与所述密钥更换同步请求中携带的散列值是否一致,若一致,则视为所述密钥与加密解密单元获取的、用于执行加密操作的密钥相同,从而验证了双方选取的密钥的确是相同的。在具体实施过程中,一旦出现不一致的现象,则双方可以重新协商选取密钥。

在具体实施时,本步骤也可以根据所述密钥更换同步请求中携带的密钥选取位置、密钥长度等信息,从密钥池中获取密钥;也可以采用其他方式从密钥池中获取密钥,只要能够与加密解密单元获取相同的密钥就都是可以的。

步骤403、获取用于标识所述密钥的、且与加密解密单元相同的密钥标签。

本步骤可以采用与加密解密单元相同的算法生成用于标识所述密钥的密钥标签;或者,采用与加密解密单元交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

步骤404、将所述密钥和所述密钥标签对应存储于密钥数据库中。

本步骤将步骤402获取的密钥、以及步骤403获取的密钥标签对应存储于密钥数据库中,从而将加密解密单元执行数据加密操作所用的密钥存储下来,并且通过密钥标签与被存储数据之间建立关联。当需要执行解密操作时,就可以根据密钥标签从密钥数据库中获取相应的密钥。

至此,通过上述步骤401-404,对本实施例提供的密钥存储方法的实施方式进行了说明。通过上面的描述可以看出,由于根据接收到的密钥更换同步请求,获取了与加密解密单元相同的密钥和密钥标签,并且对应存储在密钥数据库中,从而确保与被加密数据对应的密钥被存储下来、并且可以基于密钥标签进行查询,从而为正确地执行解密操作提供数据保障。

在上述的实施例中,提供了一种密钥存储方法,与之相对应的,本申请还提供一种密钥存储装置。请参看图5,其为本申请的一种密钥存储装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种密钥存储装置,包括:密钥更换同步请求接收单元501,用于接收加密解密单元发送的密钥更换同步请求;密钥池密钥获取单元502,用于从密钥管理中心的密钥池中获取与加密解密单元相同的密钥,所述密钥池用于存储密钥管理中心与加密解密单元执行量子密钥分发操作生成的密钥序列;密钥标签获取单元503,用于获取用于标识所述密钥的、且与加密解密单元相同的密钥标签;密钥及标签存储单元504,用于将所述密钥和所述密钥标签对应存储于密钥数据库中。

可选的,所述密钥池密钥获取单元,具体用于按照预设的、与加密解密单元相同的方式从密钥池中获取密钥。

可选的,所述密钥标签获取单元,具体用于采用与加密解密单元相同的算法生成用于标识所述密钥的密钥标签;或者,采用与加密解密单元交互确认由任一方生成的密钥标签的方式,获取用于标识所述密钥的密钥标签。

此外,本申请还提供一种数据解密方法,请参考图6,其为本申请提供的一种数据解密方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例的一种数据解密方法包括如下步骤:

步骤601、接收针对已存储数据的解密请求。

根据应用程序或者用户对已存储在存储设备上的数据的读取需求,与存储设备之间有访问接口的功能单元通常会从存储设备上读取被请求的数据,然后通过调用预设接口或者发送消息等方式触发数据解密模块执行解密操作,数据解密模块就会相应接收到针对已存储数据的解密请求。所述解密请求中不仅携带待解密的数据、而且还携带加密所述数据所用密钥的密钥标签。

步骤602、根据所述解密请求携带的密钥标签,从密钥管理中心获取相应的密钥。

从密钥管理中心获取密钥的操作步骤为:向密钥管理中心发送密钥获取请求,所述请求中携带从所述解密请求中提取的密钥标签;密钥管理中心通过查找密钥数据库获取对应于所述密钥标签的密钥,并返回包含所述密钥的应答,本步骤则可以从返回的应答中获取与所述密钥标签对应的密钥。

优选地,为了保证在应答中携带的密钥的安全性,密钥管理中心通常会将对应于所述密钥标签的密钥采用对称加密算法加密后返回,因此从密钥管理中心返回的应答中获取与所述密钥标签对应的密钥的步骤可以包括:先从密钥管理中心返回的应答中提取加密后的密钥,然后采用与密钥管理中心相同的密钥对所述加密后的密钥解密,并将解密后的密钥作为与所述密钥标签对应的密钥。

进一步优选地,在对从密钥数据库获取的密钥加密、以及对从应答中提取的密钥解密的操作中,密钥管理中心与数据存储解密模块可以采用预设的相同密钥执行所需的加解密操作,也可以采用从密钥池中获取相同密钥的优选实施方式,即:本步骤在向密钥管理中心发送密钥获取请求之前,可以从加密解密单元的密钥池中获取密钥、所述密钥与通过发送密钥获取同步请求触发密钥管理中心获取的密钥相同,并将获取的密钥作为对从应答中提取的密钥解密所采用的密钥。采用这种方式,相当于构建了量子安全传输信道,能够进一步保证密钥传输过程的安全性。

此外,为了保证密钥获取请求携带的密钥标签的安全性,数据存储解密模块可以在向密钥管理中心发送密钥获取请求之前,采用对称加密算法,对从所述解密请求中提取的密钥标签加密,相应的,在向密钥管理中心发送的密钥获取请求中携带加密后的密钥标签。

同样的道理,为了进一步保证密钥标签传输的安全性,本步骤可以采用在向密钥管理中心发送密钥获取请求之前、从密钥池中获取的密钥对密钥标签加密,相应的,密钥管理中心也采用从其密钥池中同步获取的相同密钥对接收到的密钥标签解密。

步骤603、用所述密钥对所述解密请求携带的数据解密。

步骤602获取的密钥,是步骤601接收到的解密请求所携带的数据的加密密钥,因此本步骤可以根据该密钥对所述数据进行解密,从而可以还原出加密前的数据,即:明文。

优选地,在完成解密操作后,可以删除所述从密钥管理中心获取的密钥。采用这种方式,不仅可以减少对存储空间的占用,而且由于不在加密解密单元中存储密钥、而是由密钥管理中心集中管理,可以减少密钥泄露的几率。

步骤604、将解密后的数据返回给所述解密请求的请求方。

将解密后的数据返回给请求方,所述请求方可以对解密后的数据进行必要的处理,例如:拼接、解压缩等,并将处理后的数据返回给需要读取数据的应用程序或者用户。

至此,通过上述步骤601-604,对本实施例提供的数据解密方法的实施方式进行了说明。通过上面的描述可以看出,由于根据与已存储数据对应存储的密钥标签,从密钥管理中心获取了相应的密钥,因此虽然在存储设备上存储的数据是采用不同密钥加密的,本方法依然可以执行正确的解密操作,从而在采用不同加密密钥保障数据安全性的同时,避免了因为无法解密造成的数据损失。

在上述的实施例中,提供了一种数据解密方法,与之相对应的,本申请还提供一种数据解密装置。请参看图7,其为本申请的一种数据解密装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种数据解密装置,包括:解密请求接收单元701,用于接收针对已存储数据的解密请求;密钥获取单元702,用于根据所述解密请求携带的密钥标签,从密钥管理中心获取相应的密钥;数据解密单元703,用于用所述密钥对所述解密请求携带的数据解密;解密数据返回单元704,用于将解密后的数据返回给所述解密请求的请求方。

可选的,所述密钥获取单元包括:

获取请求发送子单元,用于向密钥管理中心发送密钥获取请求,所述请求中携带从所述解密请求中提取的密钥标签;

应答密钥获取子单元,用于从密钥管理中心返回的应答中获取与所述密钥标签对应的密钥。

可选的,所述应答密钥获取子单元,包括:

加密密钥提取子单元,用于从密钥管理中心返回的应答中提取加密后的密钥;

密钥解密子单元,用于采用与密钥管理中心相同的密钥对所述加密后的密钥解密,并将解密后的密钥作为与所述密钥标签对应的密钥。

可选的,所述装置包括:

密钥标签加密单元,用于在触发所述密钥获取单元之前,采用对称加密算法,对从所述解密请求中提取的密钥标签加密;

所述获取请求发送子单元具体用于,向密钥管理中心发送携带加密后的密钥标签的密钥获取请求。

此外,本申请还提供一种密钥提供方法,请参考图8,其为本申请提供的一种密钥提供方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例的一种密钥提供方法包括如下步骤:

步骤801、接收加密解密单元发送的密钥获取请求。

当加密解密单元的数据解密模块接收到解密请求后,向密钥管理中心发送密钥获取请求,密钥管理中心的密钥提供模块就会接收到该请求。所述请求中携带了与待解密数据对应存储于存储设备上的密钥标签。

步骤802、根据所述密钥获取请求携带的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥。

本步骤根据密钥获取请求携带的密钥标签查询密钥数据库,例如通过执行sql语句进行查询,获取与所述密钥标签对应的密钥,即:加密解密单元所需的、用于执行解密操作的密钥。

优选地,为了保证密钥获取请求中携带的密钥标签的安全性,加密解密单元通常会将在密钥获取请求中携带的密钥标签加密,因此本步骤可以:从所述密钥获取请求中提取加密后的密钥标签;采用与加密解密单元相同的密钥对所述加密后的密钥标签解密;根据解密后的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥。

进一步优选地,在接收加密解密单元发送的密钥获取请求之前,可以根据接收到的密钥获取同步请求,从密钥管理中心的密钥池中获取与加密解密单元相同的密钥;并将获取的密钥作为对密钥标签解密所采用的密钥。采用这种方式,能够进一步保证密钥标签传输的安全性。

步骤803、将获取的密钥返回给加密解密单元。

本步骤可以将获取的密钥返回给所述密钥获取请求的请求方,即:加密解密单元,以供加密解密单元执行解密操作。

优选地,为了保证所述密钥在传输过程中的安全性,可以在将获取的密钥返回给加密解密单元之前,采用对称加密算法,对所述获取的密钥加密;相应的,返回给加密解密单元的密钥为:加密后的密钥。

进一步优选地,在接收加密解密单元发送的密钥获取请求之前,可以根据接收到的密钥获取同步请求,从密钥管理中心的密钥池中获取与加密解密单元相同的密钥;并将获取的密钥作为对从密钥数据库获取的密钥加密所采用的密钥。采用这种方式,能够进一步保证密钥传输过程的安全性。

同样的道理,如果在步骤801中接收到进一步保证密钥标签传输的安全性,本步骤可以采用上述从密钥池中获取的密钥对密钥标签加密,相应的,密钥管理中心也采用从其密钥池中同步获取的相同密钥对接收到的密钥标签解密。

至此,通过上述步骤801-803,对本实施例提供的密钥提供方法的实施方式进行了说明。通过上面的描述可以看出,本方法能够根据密钥获取请求携带的密钥标签为加密解密单元提供所需的密钥,从而为加密解密单元执行正确的解密操作提供了保障。

在上述的实施例中,提供了一种密钥提供方法,与之相对应的,本申请还提供一种密钥提供装置。请参看图9,其为本申请的一种密钥提供装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种密钥提供装置,包括:密钥获取请求接收单元901,用于接收加密解密单元发送的密钥获取请求;密钥查询单元902,用于根据所述密钥获取请求携带的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥;密钥返回单元903,用于将获取的密钥返回给加密解密单元。

可选的,所述装置包括:

密钥加密单元,用于在触发密钥返回单元之前,采用对称加密算法,对所述获取的密钥加密;

相应的,所述密钥返回单元,具体用于将加密后的密钥返回给加密解密单元。

可选的,所述密钥查询单元包括:

密钥标签提取子单元,用于从所述密钥获取请求中提取加密后的密钥标签;

密钥标签解密子单元,用于采用与加密解密单元相同的密钥对所述加密后的密钥标签解密;

数据库查询子单元,用于根据解密后的密钥标签查询密钥数据库,获取与所述密钥标签对应的密钥。

此外,本申请还提供一种数据加密系统,如图10所示,所述系统包括数据加密装置1001-1、数据解密装置1001-2、密钥存储装置1002-1、密钥提供装置1002-2、以及用于执行量子密钥分发操作的一对量子密钥分发引擎装置1001-3和1002-3。

在具体实施时,所述数据加密装置1001-1、数据解密装置1001-2、以及量子密钥分发引擎装置1001-3可以部署于加密解密设备1001,所述密钥存储装置1002-1、密钥提供装置1002-2、以及量子密钥分发引擎装置1002-3可以部署于密钥管理中心设备1002。密钥管理中心设备中还可以包括密钥数据库。

下面对本系统的各个装置的相互协作方式作简要说明:所述一对量子密钥分发引擎装置通过执行量子密钥分发协议获取相同的密钥序列,并存储在各自的密钥池中;数据加密装置接收数据加密请求后,通过向密钥存储装置发送密钥更换同步请求的方式,与对方从各自密钥池中获取相同密钥,并且获取相同的密钥标签;数据加密装置用获取的密钥对待存储数据加密,并将加密数据以及相应的密钥标签输出、以便对应存储于存储设备中,密钥存储装置则将获取的密钥及相应的密钥标签存储在密钥数据库中;数据解密装置接收对加密数据的解密请求后,向密钥提供装置发送密钥获取请求,密钥提供装置根据密钥获取请求中携带的密钥标签查询密钥数据库、获取相应的密钥,并返回给数据解密装置,数据解密装置用返回的密钥对加密数据解密,从而得到解密后的数据。

在上面的描述中,数据加密装置执行了密钥更换操作,在具体实施中,数据加密装置如果判定无需执行密钥更换操作,则可以直接采用上一次执行加密操作所用的密钥及相应的密钥标签,在这种情况下,数据加密装置不向密钥存储装置发送密钥更换同步请求,双方无需执行从各自密钥池中获取相同密钥、以及获取相同的密钥标签的操作。

此外,本申请还提供另一种数据加密方法,所述方法通常在加密解密单元实施。请参考图11,其为本申请提供的另一种数据加密方法的实施例的流程图,本实施例与上述方法实施例步骤相同的部分不再赘述,下面重点描述不同之处。本实施例的一种数据加密方法包括如下步骤:

步骤1101、接收针对待存储数据的加密请求。

本步骤的具体实施方式,可以参见之前提供的数据加密方法实施例中的步骤101的描述。

步骤1102、采用预设方式选取密钥、以及用于标识所述密钥的密钥标签。

本步骤可以按照预设的方式判断是否需要更换密钥,若需要,则可以从预设的密钥集合中获取密钥以及相应的密钥标签,若不需要,则可以采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

所述密钥集合可以是由管理维护人员在加密解密单元预先配置的,也可以是由密钥管理中心生成并发送给加密解密单元的。所述密钥集合中包括两个或者两个以上的密钥条目,每个密钥条目中包含密钥和相应的密钥标签。

优选地,为了保障密钥分发过程的安全性,密钥管理中心和加密解密单元中分别引入量子密钥分发引擎,这一对量子密钥分发引擎采用预设方式,例如:连续地、或者定时地,执行量子密钥分发协议,从而生成相同的密钥序列,并存储在各自的密钥池中。

采用上述优选实施方式,本步骤可以先按照预设方式判断是否需要更换密钥,若需要,则可以从加密解密单元的密钥池中获取密钥,并采用预设方式获取所述密钥的密钥标签(例如,采用预设算法生成所述密钥标签),并将所述密钥和密钥标签对应存储、以供解密时使用;若不需要,则采用上一次执行加密操作所用的密钥、以及相应的密钥标签。

步骤1103、用所述密钥对所述加密请求携带的数据加密。

本步骤的具体实施方式,可以参见之前提供的数据加密方法实施例中的步骤103的描述。

步骤1104、输出加密后的数据以及所述密钥标签,以将上述信息对应存储于存储设备。

本步骤的具体实施方式,可以参见之前提供的数据加密方法实施例中的步骤104的描述。

综上所述,本实施例提供的数据加密方法,在执行数据加密操作时,采用的是基于预设方式选取的密钥、而不是固定密钥,从而可以灵活地采用不同的密钥对数据进行加密,有效地保障了数据存储的安全性;同时针对所使用的密钥引入了密钥标签,以便在存储设备上将加密后数据与密钥标签对应存储,从而在采用不同密钥对数据加密的同时,可以保证读取数据时执行正确的解密操作,而且省却了管理维护人员在密钥变更时维护历史密钥及数据的额外操作,大大简化密钥更换的操作流程。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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