2024年4月26日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.4

(22)申请日 2012.12.27

(71)申请人 华为技术有限公司

地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

(72)发明人 商海波 朱建

(74)专利代理机构 北京路浩知识产权代理有限公司

代理人 纪烈超

(51)

H04L9/08

权利要求说明书 说明书 幅图

(10)申请公布号 CN 103067158 A

(43)申请公布日 2013.04.24

(54)发明名称

加密解密方法、终端设备、网关设

备及密钥管理系统

(57)摘要

本发明公开了一种加密解密方法、

终端设备、网关设备及密钥管理系统,所

述加密解密方法包括:终端向网关发送密

钥种子获取请求,所述密钥种子获取请求

中至少携带所述终端的用户标识和所述终

端的标识;所述终端接收网关根据所述密

钥种子获取请求返回的密钥种子;所述终

端根据所述密钥种子生成密钥,并使用所

述密钥对待加密文件进行加密操作,或使

用所述密钥对待解密文件进行解密操作。

本发明实施例中,通过将密钥种子存储在

网关上,而将待加密文件或者待解密文件

存储在终端上,实现了密钥种子与待加密

文件或待解密文件的分开存储,保障了密

钥种子的安全性,从而提高了文件加密或

解密的安全性。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种加密解密方法,其特征在于,包括:

终端向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所

所述终端接收网关根据所述密钥种子获取请求返回的密钥种子;

所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行

2.如权利要求1所述的方法,其特征在于,如果所述待解密文件包含密

3.如权利要求1所述的方法,其特征在于,所述终端根据所述密钥种子

所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述

所述终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行

解密操作,包括:

密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对

的密钥索引;

生成密钥,并使用所述密钥对待加密文件进行加密操作,包括:

钥索引,则所述密钥种子获取请求还携带所述密钥索引。

加密操作,或使用所述密钥对待解密文件进行解密操作。

述终端的用户标识和所述终端的标识;

所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述

4.如权利要求1所述的方法,其特征在于,所述终端每隔预设周期,向

5.如权利要求1~4中任一项所述的方法,其特征在于,所述终端根据所

所述终端对所述密钥种子执行AES-256算法,生成所述密钥。

6.一种加密解密方法,其特征在于,包括:

网关接收密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用

户标识和所述终端的标识,所述密钥种子获取请

来的;

述密钥种子生成密钥,具体为:

所述网关请求新的密钥种子,以生成新的密钥。

密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。

求是所述终端或另一网关发送

所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方

返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥

待加密文件进行加密操作,或使用所述密钥对待解密文件进行

解密操作。

7.如权利要求6所述的方法,其特征在于,所述网关根据所述密钥种子

所述网关确认自身是否为密钥中心节点,其中,所述密钥中心节点是能够

若所述网关确认自身是密钥中心节点,则所述网关判断所述密钥种子获取

请求中是否携带密钥索引;如果所述密钥种子获取请求中携带密钥索引,则

述网关从所述密钥种子获取请求中提取用户标识、终端的标识

并从所述网关存储的用户标识、终端的标识、密

中,查询所提取到的所述用户标识、

应的密钥种子;

提供密钥种子的节点;

获取请求向所述密钥种子获取请求的发送方返回密钥种子,包括:

以及密钥索引;

钥索引与密钥种子的对应关系

终端的标识以及与所提取到的密钥索引对

如果查询到对应的密钥种子,则将查找到的密钥种子返回给所述密钥种子

如果所述密钥种子获取请求中未携带密钥索引,或者未查询到对应的密钥

8.如权利要求7所述的方法,其特征在于,所述网关根据用户标识、终

端的标识以及随机数生成密钥种子之后,还包括:

种子,则所述网关根据用户标识、终端的标识以及随机数生成密钥种子,并

生成的密钥种子返回给所述密钥种子获取请求的发送方。

获取请求的发送方;

所述网关为所述密钥种子分配密钥索引,并保存所述用户标识、终端的标

所述将生成的密钥种子返回给所述密钥种子获取请求的发送方,还包括:

将为所述密钥种子分配的所述密钥索引返回给所述密钥种子获取请求的

9.如权利要求7或8所述的方法,其特征在于,还包括:

若所述网关确认自身不是密钥中心节点,则向密钥中心节点发送所述密钥

种子获取请求,接收所述密钥中心节点根据所述密钥种子获取请求返回的密

种子,并将接收到的密钥种子发送给所述密钥种子获取请求的

发送方。

识、所述密钥种子与所述密钥索引的对应关系;

发送方。

10.如权利要求9所述的方法,其特征在于,所述密钥中心节点包括主密

钥中心节点和备密钥中心节点,所述若所述网关确认自身不是密钥中心节点,

则向密钥中心节点发送所述密钥种子获取请求,包括:

所述网关向主密钥中心节点发送密钥种子获取请求,如果在设定的时间段

内未收到所述主密钥中心节点返回的密钥种子、或收到所述主密钥中心节点

回的故障通知消息,则确认所述主密钥中心节点发生异常;

若所述主密钥中心节点发生异常,则所述网关向所述备密钥中心节点发送

11.如权利要求8所述的方法,其特征在于,所述密钥中心节点包括主密

密钥种子获取请求。

钥中心节点和备密钥中心节点,所述若所述网关确认自身是密钥中心节点,

所述网关根据用户标识、终端的标识以及随机数生成密钥种子

之后,还包括:

如果所述网关为主密钥中心节点,则所述网关将所述用户标识、终端的标

如果所述网关为备密钥中心节点,则所述网关将所述用户标识、终端的标

12.如权利要求9或10所述的方法,其特征在于,所述向密钥中心节点

所述网关通过与密钥中心节点之间的Internet协议安全性IPSEC隧道向密

钥中心节点发送所述密钥种子获取请求;并

识、所述密钥种子与所述密钥索引的对应关系同步到主密钥中心节点中。

识、所述密钥种子与所述密钥索引的对应关系同步到备密钥中心节点中;

发送所述密钥种子获取请求,接收所述密钥中心节点根据所述密钥种子获取

求返回的密钥种子,具体包括:

通过所述IPSEC隧道接收所述密钥中心节点根据所述密钥种子获取请求

13.一种终端设备,其特征在于,包括:

返回的密钥种子。

发送单元,用于向网关发送密钥种子获取请求,所述密钥种子获取请求中

接收单元,用于接收网关根据所述发送单元发送的所述密钥种子获取请求

密钥生成单元,用于根据所述接收单元接收的密钥种子生成密钥;

加密解密单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件

14.如权利要求13所述的终端设备,其特征在于,

所述密钥生成单元具体用于根据所述用户标识和所述终端的标识、以及所

所述加密解密单元包括:

加密子单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件进

述接收单元接收的密钥种子生成密钥;

进行加密操作,或使用所述密钥对待解密文件进行解密操作。

返回的密钥种子;

至少携带所述终端的用户标识和所述终端的标识;

行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;

解密子单元,用于使用所述密钥生成单元生成的所述密钥对待解密文件进

15.一种网关设备,其特征在于,包括:

接收模块,用于接收密钥种子获取请求,所述密钥种子获取请求中至少携

提供模块,用于根据所述接收模块接收的密钥种子获取请求向所述密钥种

子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密

钥,并使用所述密钥对待加密文件进行加密操作,或使用所述

件进行解密操作。

带终端的用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或

一网关发送来的;

行解密操作,然后去掉解密后文件末尾的密钥索引。

密钥对待解密文

16.如权利要求15所述的网关设备,其特征在于,所述提供模块包括:

确认单元,用于确认所述网关设备自身是否为密钥中心节点,其中,所述

第一判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节

密钥中心节点是能够提供密钥种子的节点;

点时,判断所述密钥种子获取请求中是否携带密钥索引;

查询单元,用于在所述第一判断单元判断出所述密钥种子获取请求中携带

密钥索引时,从所述密钥种子获取请求中提取用户标识、终端的标识以及密

索引;并从所述网关设备存储的用户标识、终端的标识、密钥

的对应关系中,查询所提取到的所述用户标识、

密钥索引对应的密钥种子;

索引与密钥种子

终端的标识以及与所提取到的

密钥种子生成单元,用于在所述第一判断单元判断出所述密钥种子获取请

发送单元,用于将所述查询单元查询到的密钥种子、或者所述密钥种子生

17.如权利要求16所述的网关设备,其特征在于,所述提供模块还包括:

分配单元,用于在所述密钥种子生成单元根据用户标识、终端的标识以及

保存单元,用于在所述分配单元为所述密钥种子分配密钥索引之后,保存

所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系;

随机数生成密钥种子之后,为所述密钥种子分配密钥索引;

成单元生成的密钥种子返回给所述密钥种子获取请求的发送方。

求中未携带密钥索引、或所述查询单元未查询到对应的密钥种子时,根据用

标识、终端的标识以及随机数生成密钥种子;

所述发送单元将所述密钥种子生成单元生成的密钥种子返回给所述密钥

18.如权利要求16或17所述的网关设备,其特征在于,所述提供模块还

包括:

种子获取请求的发送方时,还将所述分配单元为所述密钥种子分配的所述密

索引返回给所述密钥种子获取请求的发送方。

请求单元,用于在所述确认单元确认所述网关设备自身不是密钥中心节点

时,向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根

所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种

钥种子获取请求的发送方。 子发送给所述密

19.如权利要求18所述的网关设备,其特征在于,所述密钥中心节点包

括主密钥中心节点和备密钥中心节点,所述请求单元包括:

第一发送子单元,用于在所述确认单元确认所述网关设备自身不是密钥中

确认子单元,用于在设定的时间段内未收到所述主密钥中心节点返回的密

第二发送子单元,用于在所述确认子单元确认所述主密钥中心节点发生异

常时,向所述备密钥中心节点发送密钥种子获取请求。

钥种子,或收到所述主密钥中心节点返回的故障通知消息时,确认所述主密

中心节点发生异常;

心节点时,向主密钥中心节点发送密钥种子获取请求;

20.如权利要求17所述的网关设备,其特征在于,所述密钥中心节点包

第二判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节

点,且所述密钥种子生成单元根据用户标识、终端的标识以及随机数生成密

种子之后,判断所述网关设备为主密钥中心节点还是备密钥中

括主密钥中心节点和备密钥中心节点,所述提供模块还包括:

心节点;

同步单元,用于在所述第二判断单元判断所述网关设备为主密钥中心节点

时,将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关

同步到备密钥中心节点中,并在所述第二判断单元判断所述网

中心节点时,将所述用户标识、终端的标识、所

对应关系同步到主密钥中心节点中。

关设备为备密钥

述密钥种子与所述密钥索引的

21.如权利要求18所述的网关设备,其特征在于,所述请求单元具体用

于在所述确认单元确认所述网关设备自身不是密钥中心节点时,通过与密钥

心节点之间的Internet协议安全性IPSEC隧道向密钥中心节点

子获取请求;通过所

取请求

发送所述密钥种

述IPSEC隧道接收所述密钥中心节点根据所述密钥种子获

返回的密钥种子。

22.一种密钥管理系统,其特征在于,包括如权利要求13至14中任一项

所述的终端设备,或者如权利要求15至21中任一项所述的网关设备。

说 明 书

技术领域

本发明涉及计算机及通信技术领域,尤其涉及一种加密解密方法、终端设

背景技术

目前,随着通信技术的发展,数据加解密技术的应用已经越来越广泛。

例如,在移动办公应用中,移动办公用户通常需要通过移动智能终端访问

企业内网,进行收发邮件、下载公文、浏览企业网站等操作,这些操作不可

免地会把许多数据、文件存放到移动智能终端,如邮件附件、本地邮

内部资料、浏览历史记录等,其中不乏企业秘密甚至机密信息。

信息的泄漏,需要对这些在移动智能终端存放的数据和

备、网关设备及密钥管理系统。

件、企业

为了避免这些

文件进行加密。

目前较为流行的智能移动终端操作系统有iOS系统和Android系统。iOS

系统通常利用AES(Advanced Encryption Standard,高级加密标准)-256加

算法进行数据加密。该加密方法中,密钥种子存储在移动智能终端本

PIN(Personal Identification Number,SIM卡的个人识别码)

密钥种子,但是PIN码或锁屏密码是用户自己设置的,

被破解,从而会导致密钥种子的泄漏。例如,

PIN码,则可以较容易地利用穷举法破解

种子,从而能够根据密钥种子所生

将密文、密钥全部转移到其

而Android系统通常

密码保护加密

地,并用

码或锁屏密码保护

复杂度通常不够,容易

iOS系统默认使用4位数字作为

PIN码并提取出AES-256算法的密钥

成的密钥获取终端上的所有明文数据,也能

他设备上。可以看出,这种加密方法安全性不高。

利用AES-128加密算法加密数据,并使用用户自己设置的

密钥,由于用户自己设置的密码复杂度通常不够,容易被破解,

加密方法同样存在安全性不高的缺陷。

发明内容

因此其

本发明实施例提供加密解密方法及装置,以解决现有技术中文件加密解密

为了解决上述技术问题,本发明实施例公开了如下技术方案:

第一方面,提供一种加密解密方法,所述方法包括:

终端向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所

所述终端接收网关根据所述密钥种子获取请求返回的密钥种子;

所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行

在第一方面的第一种可能的实现方式中,如果所述待解密文件包含密钥索

在第一方面的第二种可能的实现方式中,所述终端根据所述密钥种子生成

所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述

密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对

的密钥索引;

密钥,并使用所述密钥对待加密文件进行加密操作,包括:

引,则所述密钥种子获取请求还携带所述密钥索引。

加密操作,或使用所述密钥对待解密文件进行解密操作。

述终端的用户标识和所述终端的标识;

安全性不高的问题。

所述终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行

所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述

在第一方面的第三种可能的实现方式中,所述终端每隔预设周期,向所述

在第一方面或者第一方面的上述任一种可能的实现方式中,还提供了第一

方面的第四种可能的实现方式,所述终端根据所述密钥种子生成密钥,具体

网关请求新的密钥种子,以生成新的密钥。

密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。

解密操作,包括:

为:

所述终端对所述密钥种子执行AES-256算法,生成所述密钥。

第二方面,提供了另一种加密解密方法,所述方法包括:

网关接收密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用

所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方

返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥

待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操

户标识和所述终端的标识,所述密钥种子获取请求是所述终端或另一网关发

来的;

作。

在第二方面的第一种可能的实现方式中,所述网关根据所述密钥种子获取

请求向所述密钥种子获取请求的发送方返回密钥种子,包括:

所述网关确认自身是否为密钥中心节点,其中,所述密钥中心节点是能够

若所述网关确认自身是密钥中心节点,则所述网关判断所述密钥种子获取

请求中是否携带密钥索引;如果所述密钥种子获取请求中携带密钥索引,则

述网关从所述密钥种子获取请求中提取用户标识、终端的标识以及密

并从所述网关存储的用户标识、终端的标识、密钥索引与密钥

中,查询所提取到的所述用户标识、终端的标识以及与

应的密钥种子;

提供密钥种子的节点;

钥索引;

种子的对应关系

所提取到的密钥索引对

如果查询到对应的密钥种子,则将查找到的密钥种子返回给所述密钥种子

如果所述密钥种子获取请求中未携带密钥索引,或者未查询到对应的密钥

在第二方面的第一种可能的实现方式中,还提供了第二方面的第二种可能

所述网关为所述密钥种子分配密钥索引,并保存所述用户标识、终端的标

所述将生成的密钥种子返回给所述密钥种子获取请求的发送方,还包括:

识、所述密钥种子与所述密钥索引的对应关系;

的实现方式,所述网关根据用户标识、终端的标识以及随机数生成密钥种子

后,还包括:

种子,则所述网关根据用户标识、终端的标识以及随机数生成密钥种子,并

生成的密钥种子返回给所述密钥种子获取请求的发送方。

获取请求的发送方;

将为所述密钥种子分配的所述密钥索引返回给所述密钥种子获取请求的

在第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现

方式中,还提供了第二方面的第三种可能的实现方式,若所述网关确认自身

是密钥中心节点,则向密钥中心节点发送所述密钥种子获取请求,接

钥中心节点根据所述密钥种子获取请求返回的密钥种子,并将

子发送给所述密钥种子获取请求的发送方。

发送方。

收所述密

接收到的密钥种

在第二方面的第三种可能的实现方式中,还提供了第二方面的第四种可能

的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所

若所述网关确认自身不是密钥中心节点,则向密钥中心节点发送所述

获取请求,包括: 密钥种子

所述网关向主密钥中心节点发送密钥种子获取请求,如果在设定的时间段

若所述主密钥中心节点发生异常,则所述网关向所述备密钥中心节点发送

在第二方面的第二种可能的实现方式中,还提供了第二方面的第五种可能

的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所

若所述网关确认自身是密钥中心节点,则所述网关根据用户标识、终

以及随机数生成密钥种子之后,还包括:

密钥种子获取请求。

内未收到所述主密钥中心节点返回的密钥种子、或收到所述主密钥中心节点

回的故障通知消息,则确认所述主密钥中心节点发生异常;

端的标识

如果所述网关为主密钥中心节点,则所述网关将所述用户标识、终端的标

识、所述密钥种子与所述密钥索引的对应关系同步到备密钥中心节点中;

如果所述网关为备密钥中心节点,则所述网关将所述用户标识、终端的标

在第二方面的第三种可能的实现方式或者第二方面的第四中可能的实现

识、所述密钥种子与所述密钥索引的对应关系同步到主密钥中心节点中。

方式中,还提供了第二方面的第六种可能的实现方式,

送所述密钥种子获取请求,接收所述密钥中心节

返回的密钥种子,具体包括:

所述向密钥中心节点发

点根据所述密钥种子获取请求

所述网关通过与密钥中心节点之间的Internet协议安全性IPSEC隧道向密

通过所述IPSEC隧道接收所述密钥中心节点根据所述密钥种子获取请求

第三方面,提供了一种终端设备,包括:

发送单元,用于向网关发送密钥种子获取请求,所述密钥种子获取请求中

接收单元,用于接收网关根据所述发送单元发送的所述密钥种子获取请求

密钥生成单元,用于根据所述接收单元接收的密钥种子生成密钥;

加密解密单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件

进行加密操作,或使用所述密钥对待解密文件进行解密操作。

返回的密钥种子;

至少携带所述终端的用户标识和所述终端的标识;

返回的密钥种子。

钥中心节点发送所述密钥种子获取请求;并

在第三方面的第一种可能的实现方式中,所述密钥生成单元具体用于根据

所述加密解密单元包括:

加密子单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件进

解密子单元,用于使用所述密钥生成单元生成的所述密钥对待解密文件进

第四方面,提供了一种网关设备,包括:

接收模块,用于接收密钥种子获取请求,所述密钥种子获取请求中至少携

提供模块,用于根据所述接收模块接收的密钥种子获取请求向所述密钥种

子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密

钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对

件进行解密操作。

带终端的用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或

一网关发送来的;

行解密操作,然后去掉解密后文件末尾的密钥索引。

行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;

所述用户标识和所述终端的标识、以及所述接收单元接收的密钥种子生成密

钥;

待解密文

在第四方面的第一种可能的实现方式中,所述提供模块包括:

确认单元,用于确认所述网关设备自身是否为密钥中心节点,其中,所述

密钥中心节点是能够提供密钥种子的节点;

第一判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节

查询单元,用于在所述第一判断单元判断出所述密钥种子获取请求中携带

密钥索引时,从所述密钥种子获取请求中提取用户标识、终端的标识以及密

索引;并从所述网关设备存储的用户标识、终端的标识、密钥索引与

的对应关系中,查询所提取到的所述用户标识、终端的标识以

密钥索引对应的密钥种子;

点时,判断所述密钥种子获取请求中是否携带密钥索引;

密钥种子

及与所提取到的

密钥种子生成单元,用于在所述第一判断单元判断出所述密钥种子获取请

发送单元,用于将所述查询单元查询到的密钥种子、或者所述密钥种子生

在第四方面的第二种可能的实现方式中,所述提供模块还包括:

分配单元,用于在所述密钥种子生成单元根据用户标识、终端的标识以及

保存单元,用于在所述分配单元为所述密钥种子分配密钥索引之后,保存

所述用户标识、终端的标识、所述密钥种子与所述密钥

随机数生成密钥种子之后,为所述密钥种子分配密钥索引;

成单元生成的密钥种子返回给所述密钥种子获取请求的发送方。

求中未携带密钥索引、或所述查询单元未查询到对应的密钥种子时,根据用

标识、终端的标识以及随机数生成密钥种子;

索引的对应关系;

所述发送单元将所述密钥种子生成单元生成的密钥种子返回给所述密钥

种子获取请求的发送方时,还将所述分配单元为所述密钥种子分配的所述密

索引返回给所述密钥种子获取请求的发送方。

在第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现

请求单元,用于在所述确认单元确认所述网关设备自身不是密钥中心节点

时,向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根

所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种子发送

钥种子获取请求的发送方。

方式中,还提供了第四方面的第三种可能的实现方式,所述提供模块还包括:

给所述密

在第四方面的第三种可能的实现方式中,还提供了第四方面的第四种可能

第一发送子单元,用于在所述确认单元确认所述网关设备自身不是密钥中

确认子单元,用于在设定的时间段内未收到所述主密钥中心节点返回的密

第二发送子单元,用于在所述确认子单元确认所述主密钥中心节点发生异

在第四方面的第二种可能的实现方式中,还提供了第四方面的第五种可能

的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所

提供模块还包括:

常时,向所述备密钥中心节点发送密钥种子获取请求。

钥种子,或收到所述主密钥中心节点返回的故障通知消息时,确认所述主密

中心节点发生异常;

心节点时,向主密钥中心节点发送密钥种子获取请求;

的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所

请求单元包括:

第二判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节

同步单元,用于在所述第二判断单元判断所述网关设备为主密钥中心节点

时,将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关

同步到备密钥中心节点中,并在所述第二判断单元判断所述网关设备

中心节点时,将所述用户标识、终端的标识、所述密钥种子与

对应关系同步到主密钥中心节点中。

点,且所述密钥种子生成单元根据用户标识、终端的标识以及随机数生成密

种子之后,判断所述网关设备为主密钥中心节点还是备密钥中心节点;

为备密钥

所述密钥索引的

在第四方面的第三种可能的实现方式中,还提供了第四方面的第六种可能

的实现方式,所述请求单元具体用于在所述确认单元确认所述网关设备自身

是密钥中心节点时,通过与密钥中心节点之间的Internet协议安全性

道向密钥中心节点发送所述密钥种子获取请求;通过所述

密钥中心节点根据所述密钥种子获取请求返回的密钥种

IPSEC隧

IPSEC隧道接收所述

子。

第五方面,提供了一种终端设备,包括:

网络接口,用于向网关发送密钥种子获取请求,所述密钥种子获取请求中

所述网络接口,还用于接收网关根据密钥种子请求所返回的密钥种子;

处理器,用于根据所述网络接口所接收的密钥种子生成密钥,并使用所述

密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操

作。

至少携带用户标识和所述终端的标识;

在第五方面的第一种可能的实现方式中,所述处理器具体用于根据所述用

使

户标识和所述终端的标识、以及所述接收单元接收的密钥种子生成密钥;并

用所述密钥生成单元生成的所述密钥对待加密文件进行加密操作,并

文件末尾加上所述密钥种子对应的密钥索引;或者使用所述密

的所述密钥对待解密文件进行解密操作,然后去掉解密

引。

在加密后

钥生成单元生成

后文件末尾的密钥索

在第六方面,提供了一种网关设备,包括:

网络接口,用于接收密钥种子获取请求,所述密钥种子获取请求中至少携

处理器,用于根据所述网络接口接收的密钥种子获取请求向所述密钥种子

获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,

并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解

行解密操作。

带用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或另一网

发送来的;

密文件进

第七方面,还提供了一种密钥管理系统,包括第三方面或者第三方面任一

本发明实施例中,通过将密钥种子存储在网关上,而将待加密文件或者待

解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分开

储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全性。

种可能的实现方式所提供的终端设备,或者第四方面或者第四方面任一种可

的实现方式所提供的网关设备。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施

例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面

述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,

创造性劳动的前提下,还可以根据这些附图获得其他的附图。在不付出

图1是本发明实施例所应用的网络架构示意图;

图2为本发明加密解密方法的一个实施例流程图;

图3为本发明加密解密方法的另一个实施例流程图;

图4为本发明实施例图3的步骤320中网关根据密钥种子获取请求向密钥

图5为本发明实施例中各网元设备之间的交互时序示意图;

图6为本发明终端设备的一个实施例的结构示意图;

图7为本发明网关设备的一个实施例的结构示意图;

图8为本发明密钥管理系统实施例的示意图;

图9为本发明终端设备的另一个实施例的结构示意图;

图10为本发明网关设备的另一个实施例的结构示意图。

种子获取请求的发送方返回密钥种子的实施例流程图;

具体实施方式

本发明如下实施例提供了加密解密方法、终端设备、网关设备及密钥管理

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本

移动办公已逐步普及,移动办公用户通过移动智能终端访问企业内网,进

行收发邮件、下载公文、浏览企业网站等操作,这些操作不可避免会把许多

据、文件存放到终端,如邮件附件、本地邮件、企业内部资料、浏览

等,其中不乏企业秘密甚至机密信息,为了避免这些信息的泄

在移动智能终端存放的数据和文件进行加密,相应地,

的数据和文件进行解密。下述本发明实施例可以

如图1所示,该组成移动办公场景的网络

智能手机)、网关GW和服务器

网的入口,企业内网还可以

设备,移动智能终端

数据。本发明

的终端

发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本

明实施例中技术方案作进一步详细的说明。

系统,以便提高文件加密或解密的安全性。

历史记录

漏,需要对这些

也需要对移动智能终端

应用在上述移动办公场景中,

架构中包括移动智能终端UE(例如

SV,其中,网关GW为线框所圈起的企业内

包括PC机等多台终端以及交换机SW等数据转发

UE与网关GW连接,并可通过网关GW访问企业内网的

实施例提供的密钥管理系统包括网关GW和至少一个终端,这里

既可以是附图1中的移动智能终端UE,也可以是PC机等其他终端。

参见图2,为本发明加密解密方法的一个实施例流程图,该实施例从终端

步骤210、终端向企业内网入口网关发送密钥种子获取请求,所述密钥种

子获取请求中至少携带终端的用户标识和所述终端的标识;

的角度描述了加密解密的过程:

如果待处理文件不包含密钥索引,说明书文件是没有加密过的明文文件,

需要进行加密,此时该文件是待加密文件,因此所述密钥种子获取请求包含

端的用户标识和终端的标识(可以是硬件信息,例如终端的国际移动

码);而如果待处理的文件包含密钥索引,说明文件是加密过

密,则该文件是待解密文件,此时所述密钥种子获取请

所述密钥种子获取请求中至少携带终端的用户标

设备身份

的,需要进行解

求还包含密钥索引。即

识和所述终端的标识。

在本发明实施例中终端可以是移动智能终端,也可以是PC机等其他类型

在本步骤执行之前,假设终端已经通过输入用户标识(例如用户名)和密

码经过了企业内网入口的网关的身份验证,并且终端与网关之间已经建立了

HTTPS(Secure Hypertext Transfer Protocol,安全超文本传输协议)

这种加密的HTTP连接方式能够保证传输数据的安全性。

的终端,在这里不进行限定。

连接,建立

每隔预设周期,所述终端向网关请求新的密钥种子,以生成新的密钥。因

此,每个终端使用的密钥是周期性变化的,譬如,某个终端当前使用密钥A,

当终端发现密钥A的使用周期到期时(譬如,每隔10天密钥变化一

会在新周期内进行新文件的加密操作时,向密钥中心申请新的

新的密钥B(前一周期用密钥A加密过的文件仍旧用

次),终端

密钥种子以生成

密钥A解密)。

步骤220、终端接收网关根据所述密钥种子获取请求返回的密钥种子;

步骤230、所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加

密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。

本步骤中,所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加

所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述

所述终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行

所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述

密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引,其

所述密钥种子对应的密钥索引是所述网关发来的。

解密操作,包括:

密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对

的密钥索引;其中,所述密钥种子对应的密钥索引是所述网关发来的。

密文件进行加密操作,包括:

中,

本步骤中,终端根据对所述密钥种子、用户标识和终端的标识执行

256算法,从而生成密钥,安全性高。

由上述实施例可见,通过将密钥种子存储在网关上,而将待加密文件或者

AES-

待解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分

存储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全

性。

参见图3,为本发明加密解密方法的另一个实施例流程图,该实施例从网

关的角度描述了加密解密的过程:

步骤310、网关接收密钥种子获取请求,所述密钥种子获取请求中至少携

如果待处理文件不包含密钥索引,说明书文件是没有加密过的明文文件,

需要进行加密,此时该文件是待加密文件,因此所述密钥种子获取请求包含

端的用户标识和终端的标识(可以是硬件信息,例如终端的国际移动

码);而如果待处理的文件包含密钥索引,说明文件是加密过

密,则该文件是待解密文件,此时所述密钥种子获取请

所述密钥种子获取请求中至少携带终端的用户标

带终端的用户标识和所述终端的标识;

设备身份

的,需要进行解

求还包含密钥索引。即

识和所述终端的标识。

在本发明实施例中网关可以是虚拟专用网网关,也可以是其他类型的网关

所述密钥种子获取请求可以是发起所述密钥种子获取请求的终端直接发

来的,也可以是另一网关接收到所述终端发送的所述密钥种子获取请求后转

来的,所述另一网关可以为所述终端的接入网关。也就是说所述密钥

请求的发送方可以是发起所述密钥种子获取请求的终端或另一

设备,在这里不进行限定。

种子获取

网关。

在本步骤执行之前,假设终端已经通过输入用户标识(例如用户名)和密

码经过了企业内网入口的网关(接入网关)的身份验证,并且终端与接入网

之间已经建立了HTTPS连接,建立这种加密的HTTP连接方式能够

数据的安全性。 保证传输

步骤320、所述网关根据所述密钥种子获取请求向所述密钥种子获取请求

的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用

述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进

行解密操

作。

可选地,在附图3所示的加密解密方法,包含着不同的实现方案:第一种

方案是可以对现有的网关设备进行升级,使之具备存储用户标识、终端的标

密钥索引与密钥种子的对应关系、并根据终端发送的密钥种子获取请

应的密钥种子,并向终端返回查找到的密钥种子的功能,在这

密钥管理系统包含终端和网关设备两类网元,所有网关

具有查询速度快的优势,但是需要对大量的现有

成本较高;第二种方案是,从现有的网关

心节点,只有密钥中心节点担任存

种子的对应关系、并根据终

功能,而其他的网关

面将对第二种

识、

求查找对

种方案中,整个

设备的功能是类似的,

网关设备进行功能升级,实施

设备中选择部分网关设备担任密钥中

储用户标识、终端的标识、密钥索引与密钥

端发送的密钥种子获取请求查找对应的密钥种子的

设备至担任简单的转发功能,这样可以节约实施成本。下

方案进行详细描述。

为了无需对现有的所有网关设备进行更新,本发明实施例给出了一种网关

步骤401,网关确认自身是否为密钥中心节点,其中,密钥中心节点是能

步骤402,网关进一步判断所述密钥种子获取请求中是否携带密钥索引,

够提供密钥种子的节点;如果是密钥中心节点,则执行步骤402;如果不是

钥中心节点,则执行步骤403。

根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子

的具体方式,请参照附图4所示:

如果携带密钥索引,则执行步骤404;如果未携带密钥

索引,执行步骤407。

具体地,网关可以根据多种方法判断所述密钥种子获取请求中是否携带密

钥索引,例如网关和终端预先约定在密钥种子获取请求的特定字段中携带密

索引,如果终端需要在密钥种子获取请求中携带密钥索引,则将密钥

在上述特定字段中,否则将上述特定字段的内容置为一个用于

钥索引的特征值,例如置为全零;网关读取密钥种子获

容,如果读取到的内容不是上述特征值,则确认

钥索引,否则未携带密钥索引。其他的判

索引携带

标识未携带非密

取请求中预定字段的内

密钥种子获取请求中携带有密

断方法在这里不再一一列举。

步骤403,网关向密钥中心节点发送所述密钥种子获取请求,接收所述密

钥中心节点根据所述密钥种子获取请求返回的密钥种子,并将接收到的密钥

子发送给所述密钥种子获取请求的发送方,至此,网关根据所述密钥

请求向所述密钥种子获取请求的发送方返回密钥种子的流程结种子获取

束。

步骤404,网关从所述密钥种子获取请求中提取用户标识、终端的标识以

步骤405,网关从所述网关存储的用户标识、终端的标识、密钥索引与密

钥种子的对应关系中,查询所提取到的所述用户标识、终端的标识以及与所

取到的密钥索引对应的密钥种子;如果能查询到密钥种子,则执行步

否则执行步骤407。

及密钥索引;执行步骤405。

骤406,

步骤406,网关将查找到的密钥种子返回给所述密钥种子获取请求的发送

步骤407,网关根据用户标识、终端的标识以及随机数生成密钥种子,执

行步骤408。

方,至此,网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送

返回密钥种子的流程结束。

步骤408,网关为所述密钥种子分配密钥索引,并保存所述用户标识、终

步骤409,网关将生成的密钥种子以及为所述密钥种子分配的所述密钥索

步骤407中的随机数使用OpenSSL中的RAND_bytes函数生成。其中,

OpenSSL是一种通用的代码开源的标准SSL协议库,对于随机数的生成和

理也提供了一整套的解决方法和支持API函数,OpenSSL针对不同

系统平台给出了不同的可靠随机数生成途径:针对unix类型

机数发生器/dev/urandom或者/dev/random来生成;针

鼠标移动、屏幕数据等用户与系统的交互数据来

引返回给所述密钥种子获取请求的发送方。

端的标识、所述密钥种子与所述密钥索引的对应关系。

类型的操作

的系统,它使用随

对windows系统,则将

生成。

从上面的实施例可以看出密钥中心节点承担着存储用户标识、终端的标

识、密钥索引与密钥种子的对应关系,并向密钥种子获取请求的发送方提供

钥种子的功能,一旦密钥中心节点出现故障,则会引起大量终端无法

或解密文件,为了进一步提高整个密钥管理系统工作的可靠性,

中设置两台以上网关作为密钥中心节点,其中至少一台

点,其余网关作为备密钥中心节点。在密钥中心

密钥中心节点的情况下,从网关的角度看,

括:

加密文件

可以在该系统

网关作为主密钥中心节

节点包括主密钥中心节点和备

附图4所提供的加密解密方法还包

在步骤408之后,如果所述网关为主密钥中心节点,则所述网关将所述用

户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到备密

中心节点中;如果所述网关为备密钥中心节点,则所述网关将所述用

终端的标识、所述密钥种子与所述密钥索引的对应关系同步到户标识、

主密钥中心节点

中。

对应地,步骤403具体包括:

网关向主密钥中心节点发送密钥种子获取请求,如果在设定的时间段内未

收到所述主密钥中心节点返回的密钥种子、或收到所述主密钥中心节点返回

故障通知消息,则确认所述主密钥中心节点发生异常;若所述主密钥

发生异常,则所述网关向所述备密钥中心节点发送密钥种子获

述备密钥中心节点也发生异常,则返回密钥种子获取失

中心节点

取请求。如果所

败消息给所述网关。

由上述实施例可见,通过将密钥种子存储在网关上,而将待加密文件或者

待解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分

存储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全

性。

为了更加清楚地对本发明实施例提供的加密解密方法进行描述,附图5给

出了终端和网关之间的交互时序图。其中,VPN_GW1是终端的接入网关、

不是密钥中心节点,VPN_GW2和VPN_GW3是密钥中心节点,可以

备,按照预先设定的策略更改角色,例如VPN_GW2在每年

任主密钥中心节点,偶数月份担任备密钥中心节点,

本实施例中VPN_GW2是备密钥中心节点,

互为主

中的奇数月份担

VPN_GW3反之;假定在

VPN_GW3是主密钥中心节点。

步骤510、终端向企业内网入口网关VPN_GW1发送密钥种子获取请求,

所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识;

在本步骤执行之前,假设终端已经通过输入用户标识和密码经过了企业内

网入口的网关VPN_GW1的身份验证,并且终端与网关VPN_GW1之间已

建立了HTTPS连接,建立这种加密的HTTP连接方式能够保证传输

全性。 数据的安

在本实施例中,假定终端需要对待解密文件进行解密,在密钥种子获取请

每隔预设周期,所述终端向网关请求新的密钥种子,以生成新的密钥。因

步骤520、网关VPN_GW1确认自身不是密钥中心节点,则将密钥种子获

网关VPN_GW1可以预先存储有密钥中心节点列表,其中密钥中心节点列

表中包含至少一个密钥中心节点以及该密钥中心节点的地址。网关

接收到密钥种子获取请求后,按照预先设定的选择策略,例如

选择策略,从密钥中心节点

请求转发给选择出的

出了

取请求转发给预设的密钥中心节点VPN_GW2。

此,每个终端使用的密钥是周期性变化的。

求中携带终端的用户标识、所述终端的标识和从待解密文件中获得的密钥索

引。

VPN_GW1

路由跳数最短的

列表中选择出一个密钥中心节点,将密钥种子获取

密钥中心节点,在本实施例中,假定网关VPN_GW1选择

VPN_GW2。

步骤530,密钥中心节点VPN_GW2确认自身是密钥中心节点,执行步骤

步骤540,密钥中心节点VPN_GW2确认所述密钥种子获取请求中携带密

钥索引,并从密钥种子获取请求中提取携带的用户标识、所述终端的标识和

540。

钥索引。

步骤550,密钥中心节点VPN_GW2从自身存储的用户标识、终端的标识、

密钥索引与密钥种子的对应关系中,查询所提取到的所述用户标识、终端的

识以及与所提取到的密钥索引对应的密钥种子。假设在本实施例中

未查询到对应的密钥种子,进入步骤560。 VPN_GW2

密钥中心节点未能根据密钥种子获取请求中携带的用户标识、所述终端的

标识和密钥索引,从自身存储的用户标识、终端的标识、密钥索引与密钥种

的对应关系中查询到对应的密钥种子的原因可能是多方面的,例如之

过程失败等等。 前的同步

步骤560,密钥中心节点VPN_GW2根据用户标识、终端的标识以及随机

可选地,随机数可以使用OpenSSL中的RAND_bytes函数生成。由于

步骤570,密钥中心节点VPN_GW2为所生成的密钥种子分配密钥索引,

并保存所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关

OpenSSL针对不同类型的操作系统平台给出了不同的可靠随机数生成途径,

此可以提高本发明实施例的适用性。

数生成密钥种子。

系。

用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系在密钥

步骤580,密钥中心节点VPN_GW2将所述用户标识、终端的标识、所述

密钥种子与所述密钥索引的对应关系同步到主密钥中心

中心节点VPN_GW2的数据库中存储。

节点VPN_GW3。

在获得用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系

等的更新数据时,需要在主备密钥中心节点之间实时地同步,才能在其中的

台或多台密钥中心节点发生异常时,使其它工作正常的密钥中心节点

作用,从而提高可靠性。密钥中心节点VPN_GW2是备密钥

钥中心节点VPN_GW2还需要将所述用户标识、终端

所述密钥索引的对应关系同步到主密钥中心节点

继续发挥

中心节点,因此密

的标识、所述密钥种子与

VPN_GW3。

本步骤580与步骤590无先后顺序的限制,实际上,本步骤580可以在密

钥中心节点VPN_GW2保存所述用户标识、终端的标识、所述密钥种子与

密钥索引的对应关系之后的任意时刻执行。 所述

步骤590,密钥中心节点VPN_GW2将生成的密钥种子以及为所述密钥种

假设本实施例中密钥中心节点VPN_GW2执行上述步骤530~590的这一段

步骤5100,网关VPN_GW1将密钥种子以及密钥索引返回给终端。

步骤5110,终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文

本实施例中,所述终端根据所述密钥种子、用户标识和终端的标识执行

件进行解密操作。

时间未超出预设的时间段,因此,网关VPN_GW1能够收到密钥中心节点

VPN_GW2所发送的密钥种子以及为所述密钥种子分配的所述密钥索引,并

续执行以下的步骤。

子分配的所述密钥索引返回给网关VPN_GW1。

AES-256算法生成密钥,使用所述密钥对待解密文件进行解密操作,然后去

解密后文件末尾的密钥索引。使用AES-256算法生成密钥具有较高

的安全性。

由上述实施例可见,本发明实施例通过将密钥种子存储在网关上,而将待

加密文件或者待解密文件存储在终端上,实现了密钥种子与待加密文件或待

密文件的分开存储,保障了密钥种子的安全性,从而提高了文件加密

安全性。 或解密的

与本发明加密解密方法的实施例相对应,本发明还提供了终端设备、网关

参见图6,为本发明终端设备的一个实施例的框图:

该终端设备包括:发送单元610、接收单元620、密钥生成单元630和加

其中,发送单元610,用于向网关发送密钥种子获取请求,所述密钥种子

接收单元620,用于接收网关根据所述发送单元610发送的所述密钥种子

密钥生成单元630,用于根据所述接收单元620接收的密钥种子生成密钥;

加密解密单元640,用于使用所述密钥生成单元630生成的所述密钥对待

加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。

获取请求返回的密钥种子;

获取请求中至少携带所述终端的用户标识和所述终端的标识;

密解密单元640。

设备以及密钥管理系统的实施例。

其中,所述密钥生成单元630具体用于根据所述用户标识和所述终端的标

所述加密解密单元640包括:

加密子单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件进

解密子单元,用于使用所述密钥生成单元生成的所述密钥对待解密文件进

所述发送单元610、接收单元620、密钥生成单元630和加密解密单元640

参见图7,为本发明网关设备的一个实施例的框图:

该网关设备包括:接收模块710和提供模块720。

其中,接收模块710,用于接收密钥种子获取请求,所述密钥种子获取请

提供模块720,用于根据所述接收模块710接收的密钥种子获取请求向所

述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种

生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述

解密文件进行解密操作。

求中至少携带终端的用户标识和所述终端的标识,所述密钥种子获取请求是

述终端或另一网关发送来的;

的具体功能细节请参考上述从终端的角度描述的加密解密方法实施例,在此

再详述。

行解密操作,然后去掉解密后文件末尾的密钥索引。

行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;

识、以及所述接收单元接收的密钥种子生成密钥;

密钥对待

所述提供模块720包括:

确认单元,用于确认所述网关设备自身是否为密钥中心节点,其中,所述

第一判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节

查询单元,用于在所述第一判断单元判断出所述密钥种子获取请求中携带

密钥索引时,从所述密钥种子获取请求中提取用户标识、终端的标识以及密

索引;并从所述网关设备存储的用户标识、终端的标识、密钥索引与

的对应关系中,查询所提取到的所述用户标识、终端的标识以

密钥索引对应的密钥种子;

点时,判断所述密钥种子获取请求中是否携带密钥索引;

密钥中心节点是能够提供密钥种子的节点,包括主密钥中心节点和备密钥中

节点;

密钥种子

及与所提取到的

密钥种子生成单元,用于在所述判断单元判断出所述密钥种子获取请求中

未携带密钥索引、或所述查询单元未查询到对应的密钥种子时,根据用户标

终端的标识以及随机数生成密钥种子; 识、

发送单元,用于将所述查询单元查询到的密钥种子、或者所述密钥种子生

成单元生成的密钥种子返回给所述密钥种子获取请求的发送方;将所述密钥

子生成单元生成的密钥种子返回给所述密钥种子获取请求的发送方时,

述分配单元为所述密钥种子分配的所述密钥索引返回给所述密

求的发送方。

还将所

钥种子获取请

可选地,为了能够减少为同一个设备中的同一个用户生成密钥种子的次

数,可以为已生成的密钥种子建立索引,后续根据索引查找已生成的密钥种

在这种情况下,提供模块720还包括: 子,

分配单元,用于在所述密钥种子生成单元根据用户标识、终端的标识以及

保存单元,用于在所述分配单元为所述密钥种子分配密钥索引之后,保存

请求单元,用于在所述确认单元确认所述网关设备自身不是密钥中心节点

时,向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根

所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种子发送

钥种子获取请求的发送方。

所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系;

随机数生成密钥种子之后,为所述密钥种子分配密钥索引;

给所述密

可选地,为了提高整个密钥管理系统工作的可靠性,可以在该系统中设置

第二判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节

同步单元,用于在所述第二判断单元判断所述网关设备为主密钥中心节点

时,将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关

同步到备密钥中心节点中,并在所述判断子单元判断所述网关设备为

心节点时,将所述用户标识、终端的标识、所述密钥种子与所

应关系同步到主密钥中心节点中

点,且所述密钥种子生成单元根据用户标识、终端的标识以及随机数生成密

种子之后,判断所述网关设备为主密钥中心节点还是备密钥中心节点;

两台以上网关作为密钥中心节点,其中至少一台网关作为主密钥中心节点,

余网关作为备密钥中心节点。在这种情况下,提供模块720还包括:

备密钥中

述密钥索引的对

在所述密钥管理系统中包含主密钥中心节点和备密钥中心节点的情况下,

第一发送子单元,用于在所述确认单元确认所述网关设备自身不是密钥中

心节点时,向主密钥中心节点发送密钥种子获取请求;所述第一发送子单元

体用于在所述确认单元确认所述网关设备

钥中心节点之间的Internet协议安

种子获取请求;而且,所述

密钥中心节点根据所

所述请求单元包括:

自身不是密钥中心节点时,通过与密

全性IPSEC隧道向主密钥中心节点发送密钥

接收子单元具体用于通过所述IPSEC隧道接收所述

述密钥种子获取请求返回的密钥种子;

确认子单元,用于在设定的时间段内未收到所述主密钥中心节点返回的密

第二发送子单元,用于在所述主密钥中心节点发生异常时,向所述备密钥

所述接收模块710和提供模块720的具体功能细节请参考上述从网关的角

参见图8,为本发明提供的密钥管理系统实施例的示意图,所述密钥管理

所述终端设备用于向网关发送密钥种子获取请求,所述密钥种子获取请求

中至少携带所述终端的用户标识和所述终端的标识;接收网关根据所述发送

元发送的所述密钥种子获取请求返回的密钥种子;根据所述接收单元

钥种子生成密钥;使用所述密钥生成单元生成的所述密钥对待

系统包括上述任一种实施方式的终端设备810或者网关设备820。

度描述的加密解密方法实施例,在此不再详述。

中心节点发送密钥种子获取请求。

钥种子,或收到所述主密钥中心节点返回的故障通知消息时,确认所述主密

中心节点发生异常;

接收的密

加密文件进行加

密操作,或使用所述密钥对待解密文件进行解密操作。

所述网关设备820用于接收密钥种子获取请求,所述密钥种子获取请求中

至少携带终端的用户标识和所述终端的标识,所述密钥种子获取请求是所述

端或另一网关发送来的;根据所述接收模块接收的密钥种子获取请求

钥种子获取请求的发送方返回密钥种子,以使所述终端根据所

密钥,并使用所述密钥对待加密文件进行加密操作,或

文件进行解密操作。

向所述密

述密钥种子生成

使用所述密钥对待解密

所述密钥管理系统也可以同时包含上述任一种实施方式的终端设备810和

网关设备820,还可以包含其它网络设备,例如交换机、

备以及服务器等数据存储设备。 路由器等数据转发设

其中,终端设备和网关设备的具体工作流程请参照前面方法实施例中的描

参见图9,为本发明提供的与上述终端设备对应的硬件终端实体的一个实

所述终端设备包括:

网络接口910,用于向网关发送密钥种子获取请求,所述密钥种子获取请

所述网络接口910,还用于接收网关根据密钥种子请求所返回的密钥种子;

处理器920,用于根据所述网络接口910所接收的密钥种子生成密钥,并

求中至少携带用户标识和所述终端的标识;

施例的框图:

述,终端设备和网关设备的结构请参照前面装置实施例中的描述,在这里不

重复。

使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进

解密操作。

所述处理器920具体用于根据所述用户标识和所述终端的标识、以及所述

接收单元接收的密钥种子生成密钥;并使用所述密钥生成单元生成的所述密

对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子

钥索引;或者使用所述密钥生成单元生成的所述密钥对待解密

作,然后去掉解密后文件末尾的密钥索引。

对应的密

文件进行解密操

所述网络接口910、处理器920的具体功能细节请参考上述从终端的角度

参见图10,为本发明与上述网关设备对应的硬件网关实体的一个实施例的

网络接口1010,用于接收密钥种子获取请求,所述密钥种子获取请求中至

少携带用户标识和所述终端的标识,所述密钥种子获取

网关发送来的;

框图,所述网关设备包括:

描述的加密解密方法实施例,在此不再详述。

请求是所述终端或另一

处理器1020,用于根据所述网络接口1010接收的密钥种子获取请求向所

述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种

生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述

解密文件进行解密操作。 密钥对待

所述网络接口1010、处理器1020的具体功能细节请参考上述从终端的角

可以看出,在本发明实施例中,通过将密钥种子存储在网关上,而将待加

度描述的加密解密方法实施例,在此不再详述。

密解密文件存储在终端上,实现了密钥种子与文件的分开存储,保障了密钥

子的安全性。而且在加解密期间,终端中短时出现密钥种子、密钥,

都不会有密文、密钥同时出现在终端的状况,并且密钥种子会

法人员无法从终端提取到密钥种子或密钥。由于终端和

和网关之间的信息分别通过HTTPS和IPSec隧

传输的保密性和数据完整性,提高了加/

点能够受到高强度加密算法的加密

(如用户自己设置的锁屏密

屏密码等设置强度过

种子和终端硬

不是从

其它时间

周期性变更,非

网关之间的信息、网关

道进行传输,从而保障了信息

解密的安全性。密钥种子在密钥中心节

保护,并且密钥并不依赖于终端的任何信息

码等),因此可以有足够的复杂度,不会因终端锁

弱而被人从锁屏密码攻破,提高了加/解密的安全性。密钥

件特征、用户名绑定,这样,即使用户账号泄漏,只要密钥请求

合法用户的终端上发起的,都无法获取密钥,提高了加/解密的安全性。

另外,由于部署了两个密钥中心节点,两者通过IPSec隧道互备密钥种子数

既能保障系统的可靠性,也可对来自终端的密钥请求进行负载分担,

分布式部署场景的需求。由上述实施例可见,通过将密钥种子

而将待加密文件或者待解密文件存储在终端上,实现了

或待解密文件的分开存储,保障了密钥种子的安

解密的安全性。

据,

也满足了

存储在网关上,

密钥种子与待加密文件

全性,从而提高了文件加密或

本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实

现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的

方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软

(包括固件、驻留软件等等),或者组合软件和硬件方面的实施

里都统称为“电路”、“模块”或者“系统”。此外,本发明

的可能实现方式可以采用计算机程序产品的形式,

计算机可读介质中的计算机可读程序代码。

件实施例

例的形式,在这

的各方面、或各个方面

计算机程序产品是指存储在

计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计

算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系

设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、

存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储

便携式只读存储器(CD-ROM)。

统、

只读

器)、光纤、

计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,

使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动

作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装

置。

计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算

机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算

上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些

方案中,在流程图中各步骤、或框图中各块所注明的功能可能

顺序发生。例如,依赖于所涉及的功能,接连示出的两

上可能被大致同时执行,或者这些块有时候可能

替代实施

不按图中注明的

个步骤、或两个块实际

被以相反顺序执行。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发

明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求

其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。