CN103067158B - 加密解密方法、加密解密装置及密钥管理系统 - Google Patents
加密解密方法、加密解密装置及密钥管理系统 Download PDFInfo
- Publication number
- CN103067158B CN103067158B CN201210579409.4A CN201210579409A CN103067158B CN 103067158 B CN103067158 B CN 103067158B CN 201210579409 A CN201210579409 A CN 201210579409A CN 103067158 B CN103067158 B CN 103067158B
- Authority
- CN
- China
- Prior art keywords
- key
- seed
- key seed
- terminal
- cipher
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种加密解密方法、加密解密装置及密钥管理系统,所述加密解密方法包括:终端向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所述终端的用户标识和所述终端的标识;所述终端接收网关根据所述密钥种子获取请求返回的密钥种子;所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。本发明实施例中,通过将密钥种子存储在网关上,而将待加密文件或者待解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分开存储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全性。
Description
技术领域
本发明涉及计算机及通信技术领域,尤其涉及一种加密解密方法、加密解密装置及密钥管理系统。
背景技术
目前,随着通信技术的发展,数据加解密技术的应用已经越来越广泛。
例如,在移动办公应用中,移动办公用户通常需要通过移动智能终端访问企业内网,进行收发邮件、下载公文、浏览企业网站等操作,这些操作不可避免地会把许多数据、文件存放到移动智能终端,如邮件附件、本地邮件、企业内部资料、浏览历史记录等,其中不乏企业秘密甚至机密信息。为了避免这些信息的泄漏,需要对这些在移动智能终端存放的数据和文件进行加密。
目前较为流行的智能移动终端操作系统有iOS系统和Android系统。iOS系统通常利用AES(AdvancedEncryptionStandard,高级加密标准)-256加密算法进行数据加密。该加密方法中,密钥种子存储在移动智能终端本地,并用PIN(PersonalIdentificationNumber,SIM卡的个人识别码)码或锁屏密码保护密钥种子,但是PIN码或锁屏密码是用户自己设置的,复杂度通常不够,容易被破解,从而会导致密钥种子的泄漏。例如,iOS系统默认使用4位数字作为PIN码,则可以较容易地利用穷举法破解PIN码并提取出AES-256算法的密钥种子,从而能够根据密钥种子所生成的密钥获取终端上的所有明文数据,也能将密文、密钥全部转移到其他设备上。可以看出,这种加密方法安全性不高。而Android系统通常利用AES-128加密算法加密数据,并使用用户自己设置的密码保护加密密钥,由于用户自己设置的密码复杂度通常不够,容易被破解,因此其加密方法同样存在安全性不高的缺陷。
发明内容
本发明实施例提供加密解密方法及装置,以解决现有技术中文件加密解密安全性不高的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种加密解密方法,所述方法包括:
终端向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所述终端的用户标识和所述终端的标识;
所述终端接收网关根据所述密钥种子获取请求返回的密钥种子;
所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
在第一方面的第一种可能的实现方式中,如果所述待解密文件包含密钥索引,则所述密钥种子获取请求还携带所述密钥索引。
在第一方面的第二种可能的实现方式中,所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,包括:
所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;
所述终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行解密操作,包括:
所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。
在第一方面的第三种可能的实现方式中,所述终端每隔预设周期,向所述网关请求新的密钥种子,以生成新的密钥。
在第一方面或者第一方面的上述任一种可能的实现方式中,还提供了第一方面的第四种可能的实现方式,所述终端根据所述密钥种子生成密钥,具体为:
所述终端对所述密钥种子执行AES-256算法,生成所述密钥。
第二方面,提供了另一种加密解密方法,所述方法包括:
网关接收密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或另一网关发送来的;
所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
在第二方面的第一种可能的实现方式中,所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,包括:
所述网关确认自身是否为密钥中心节点,其中,所述密钥中心节点是能够提供密钥种子的节点;
若所述网关确认自身是密钥中心节点,则所述网关判断所述密钥种子获取请求中是否携带密钥索引;如果所述密钥种子获取请求中携带密钥索引,则所述网关从所述密钥种子获取请求中提取用户标识、终端的标识以及密钥索引;并从所述网关存储的用户标识、终端的标识、密钥索引与密钥种子的对应关系中,查询所提取到的所述用户标识、终端的标识以及与所提取到的密钥索引对应的密钥种子;
如果查询到对应的密钥种子,则将查找到的密钥种子返回给所述密钥种子获取请求的发送方;
如果所述密钥种子获取请求中未携带密钥索引,或者未查询到对应的密钥种子,则所述网关根据用户标识、终端的标识以及随机数生成密钥种子,并将生成的密钥种子返回给所述密钥种子获取请求的发送方。
在第二方面的第一种可能的实现方式中,还提供了第二方面的第二种可能的实现方式,所述网关根据用户标识、终端的标识以及随机数生成密钥种子之后,还包括:
所述网关为所述密钥种子分配密钥索引,并保存所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系;
所述将生成的密钥种子返回给所述密钥种子获取请求的发送方,还包括:
将为所述密钥种子分配的所述密钥索引返回给所述密钥种子获取请求的发送方。
在第二方面的第一种可能的实现方式或者第二方面的第二种可能的实现方式中,还提供了第二方面的第三种可能的实现方式,若所述网关确认自身不是密钥中心节点,则向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种子发送给所述密钥种子获取请求的发送方。
在第二方面的第三种可能的实现方式中,还提供了第二方面的第四种可能的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所述若所述网关确认自身不是密钥中心节点,则向密钥中心节点发送所述密钥种子获取请求,包括:
所述网关向主密钥中心节点发送密钥种子获取请求,如果在设定的时间段内未收到所述主密钥中心节点返回的密钥种子、或收到所述主密钥中心节点返回的故障通知消息,则确认所述主密钥中心节点发生异常;
若所述主密钥中心节点发生异常,则所述网关向所述备密钥中心节点发送密钥种子获取请求。
在第二方面的第二种可能的实现方式中,还提供了第二方面的第五种可能的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所述若所述网关确认自身是密钥中心节点,则所述网关根据用户标识、终端的标识以及随机数生成密钥种子之后,还包括:
如果所述网关为主密钥中心节点,则所述网关将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到备密钥中心节点中;
如果所述网关为备密钥中心节点,则所述网关将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到主密钥中心节点中。
在第二方面的第三种可能的实现方式或者第二方面的第四中可能的实现方式中,还提供了第二方面的第六种可能的实现方式,所述向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子,具体包括:
所述网关通过与密钥中心节点之间的Internet协议安全性IPSEC隧道向密钥中心节点发送所述密钥种子获取请求;并
通过所述IPSEC隧道接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子。
第三方面,提供了一种终端设备,包括:
发送单元,用于向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所述终端的用户标识和所述终端的标识;
接收单元,用于接收网关根据所述发送单元发送的所述密钥种子获取请求返回的密钥种子;
密钥生成单元,用于根据所述接收单元接收的密钥种子生成密钥;
加密解密单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
在第三方面的第一种可能的实现方式中,所述密钥生成单元具体用于根据所述用户标识和所述终端的标识、以及所述接收单元接收的密钥种子生成密钥;
所述加密解密单元包括:
加密子单元,用于使用所述密钥生成单元生成的所述密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;
解密子单元,用于使用所述密钥生成单元生成的所述密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。
第四方面,提供了一种网关设备,包括:
接收模块,用于接收密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或另一网关发送来的;
提供模块,用于根据所述接收模块接收的密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
在第四方面的第一种可能的实现方式中,所述提供模块包括:
确认单元,用于确认所述网关设备自身是否为密钥中心节点,其中,所述密钥中心节点是能够提供密钥种子的节点;
第一判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节点时,判断所述密钥种子获取请求中是否携带密钥索引;
查询单元,用于在所述第一判断单元判断出所述密钥种子获取请求中携带密钥索引时,从所述密钥种子获取请求中提取用户标识、终端的标识以及密钥索引;并从所述网关设备存储的用户标识、终端的标识、密钥索引与密钥种子的对应关系中,查询所提取到的所述用户标识、终端的标识以及与所提取到的密钥索引对应的密钥种子;
密钥种子生成单元,用于在所述第一判断单元判断出所述密钥种子获取请求中未携带密钥索引、或所述查询单元未查询到对应的密钥种子时,根据用户标识、终端的标识以及随机数生成密钥种子;
发送单元,用于将所述查询单元查询到的密钥种子、或者所述密钥种子生成单元生成的密钥种子返回给所述密钥种子获取请求的发送方。
在第四方面的第二种可能的实现方式中,所述提供模块还包括:
分配单元,用于在所述密钥种子生成单元根据用户标识、终端的标识以及随机数生成密钥种子之后,为所述密钥种子分配密钥索引;
保存单元,用于在所述分配单元为所述密钥种子分配密钥索引之后,保存所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系;
所述发送单元将所述密钥种子生成单元生成的密钥种子返回给所述密钥种子获取请求的发送方时,还将所述分配单元为所述密钥种子分配的所述密钥索引返回给所述密钥种子获取请求的发送方。
在第四方面的第一种可能的实现方式或者第四方面的第二种可能的实现方式中,还提供了第四方面的第三种可能的实现方式,所述提供模块还包括:
请求单元,用于在所述确认单元确认所述网关设备自身不是密钥中心节点时,向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种子发送给所述密钥种子获取请求的发送方。
在第四方面的第三种可能的实现方式中,还提供了第四方面的第四种可能的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所述请求单元包括:
第一发送子单元,用于在所述确认单元确认所述网关设备自身不是密钥中心节点时,向主密钥中心节点发送密钥种子获取请求;
确认子单元,用于在设定的时间段内未收到所述主密钥中心节点返回的密钥种子,或收到所述主密钥中心节点返回的故障通知消息时,确认所述主密钥中心节点发生异常;
第二发送子单元,用于在所述确认子单元确认所述主密钥中心节点发生异常时,向所述备密钥中心节点发送密钥种子获取请求。
在第四方面的第二种可能的实现方式中,还提供了第四方面的第五种可能的实现方式,所述密钥中心节点包括主密钥中心节点和备密钥中心节点,所述提供模块还包括:
第二判断单元,用于在所述确认单元确认所述网关设备自身是密钥中心节点,且所述密钥种子生成单元根据用户标识、终端的标识以及随机数生成密钥种子之后,判断所述网关设备为主密钥中心节点还是备密钥中心节点;
同步单元,用于在所述第二判断单元判断所述网关设备为主密钥中心节点时,将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到备密钥中心节点中,并在所述第二判断单元判断所述网关设备为备密钥中心节点时,将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到主密钥中心节点中。
在第四方面的第三种可能的实现方式中,还提供了第四方面的第六种可能的实现方式,所述请求单元具体用于在所述确认单元确认所述网关设备自身不是密钥中心节点时,通过与密钥中心节点之间的Internet协议安全性IPSEC隧道向密钥中心节点发送所述密钥种子获取请求;通过所述IPSEC隧道接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子。
第五方面,提供了一种终端设备,包括:
网络接口,用于向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带用户标识和所述终端的标识;
所述网络接口,还用于接收网关根据密钥种子请求所返回的密钥种子;
处理器,用于根据所述网络接口所接收的密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
在第五方面的第一种可能的实现方式中,所述处理器具体用于根据所述用户标识和所述终端的标识、以及所述接收单元接收的密钥种子生成密钥;并使用所述密钥生成单元生成的所述密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;或者使用所述密钥生成单元生成的所述密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。
在第六方面,提供了一种网关设备,包括:
网络接口,用于接收密钥种子获取请求,所述密钥种子获取请求中至少携带用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或另一网关发送来的;
处理器,用于根据所述网络接口接收的密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
第七方面,还提供了一种密钥管理系统,包括第三方面或者第三方面任一种可能的实现方式所提供的终端设备,或者第四方面或者第四方面任一种可能的实现方式所提供的网关设备。
本发明实施例中,通过将密钥种子存储在网关上,而将待加密文件或者待解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分开存储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所应用的网络架构示意图;
图2为本发明加密解密方法的一个实施例流程图;
图3为本发明加密解密方法的另一个实施例流程图;
图4为本发明实施例图3的步骤320中网关根据密钥种子获取请求向密钥种子获取请求的发送方返回密钥种子的实施例流程图;
图5为本发明实施例中各网元设备之间的交互时序示意图;
图6为本发明终端设备的一个实施例的结构示意图;
图7为本发明网关设备的一个实施例的结构示意图;
图8为本发明密钥管理系统实施例的示意图;
图9为本发明终端设备的另一个实施例的结构示意图;
图10为本发明网关设备的另一个实施例的结构示意图。
具体实施方式
本发明如下实施例提供了加密解密方法、终端设备、网关设备及密钥管理系统,以便提高文件加密或解密的安全性。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
移动办公已逐步普及,移动办公用户通过移动智能终端访问企业内网,进行收发邮件、下载公文、浏览企业网站等操作,这些操作不可避免会把许多数据、文件存放到终端,如邮件附件、本地邮件、企业内部资料、浏览历史记录等,其中不乏企业秘密甚至机密信息,为了避免这些信息的泄漏,需要对这些在移动智能终端存放的数据和文件进行加密,相应地,也需要对移动智能终端的数据和文件进行解密。下述本发明实施例可以应用在上述移动办公场景中,如图1所示,该组成移动办公场景的网络架构中包括移动智能终端UE(例如智能手机)、网关GW和服务器SV,其中,网关GW为线框所圈起的企业内网的入口,企业内网还可以包括PC机等多台终端以及交换机SW等数据转发设备,移动智能终端UE与网关GW连接,并可通过网关GW访问企业内网的数据。本发明实施例提供的密钥管理系统包括网关GW和至少一个终端,这里的终端既可以是附图1中的移动智能终端UE,也可以是PC机等其他终端。
参见图2,为本发明加密解密方法的一个实施例流程图,该实施例从终端的角度描述了加密解密的过程:
步骤210、终端向企业内网入口网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识;
如果待处理文件不包含密钥索引,说明书文件是没有加密过的明文文件,需要进行加密,此时该文件是待加密文件,因此所述密钥种子获取请求包含终端的用户标识和终端的标识(可以是硬件信息,例如终端的国际移动设备身份码);而如果待处理的文件包含密钥索引,说明文件是加密过的,需要进行解密,则该文件是待解密文件,此时所述密钥种子获取请求还包含密钥索引。即所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识。
在本发明实施例中终端可以是移动智能终端,也可以是PC机等其他类型的终端,在这里不进行限定。
在本步骤执行之前,假设终端已经通过输入用户标识(例如用户名)和密码经过了企业内网入口的网关的身份验证,并且终端与网关之间已经建立了HTTPS(SecureHypertextTransferProtocol,安全超文本传输协议)连接,建立这种加密的HTTP连接方式能够保证传输数据的安全性。
每隔预设周期,所述终端向网关请求新的密钥种子,以生成新的密钥。因此,每个终端使用的密钥是周期性变化的,譬如,某个终端当前使用密钥A,当终端发现密钥A的使用周期到期时(譬如,每隔10天密钥变化一次),终端会在新周期内进行新文件的加密操作时,向密钥中心申请新的密钥种子以生成新的密钥B(前一周期用密钥A加密过的文件仍旧用密钥A解密)。
步骤220、终端接收网关根据所述密钥种子获取请求返回的密钥种子;
步骤230、所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
本步骤中,所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,包括:
所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;其中,所述密钥种子对应的密钥索引是所述网关发来的。
所述终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行解密操作,包括:
所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引,其中,所述密钥种子对应的密钥索引是所述网关发来的。
本步骤中,终端根据对所述密钥种子、用户标识和终端的标识执行AES-256算法,从而生成密钥,安全性高。
由上述实施例可见,通过将密钥种子存储在网关上,而将待加密文件或者待解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分离存储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全性。
参见图3,为本发明加密解密方法的另一个实施例流程图,该实施例从网关的角度描述了加密解密的过程:
步骤310、网关接收密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识;
如果待处理文件不包含密钥索引,说明书文件是没有加密过的明文文件,需要进行加密,此时该文件是待加密文件,因此所述密钥种子获取请求包含终端的用户标识和终端的标识(可以是硬件信息,例如终端的国际移动设备身份码);而如果待处理的文件包含密钥索引,说明文件是加密过的,需要进行解密,则该文件是待解密文件,此时所述密钥种子获取请求还包含密钥索引。即所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识。
在本发明实施例中网关可以是虚拟专用网网关,也可以是其他类型的网关设备,在这里不进行限定。
所述密钥种子获取请求可以是发起所述密钥种子获取请求的终端直接发来的,也可以是另一网关接收到所述终端发送的所述密钥种子获取请求后转发来的,所述另一网关可以为所述终端的接入网关。也就是说所述密钥种子获取请求的发送方可以是发起所述密钥种子获取请求的终端或另一网关。
在本步骤执行之前,假设终端已经通过输入用户标识(例如用户名)和密码经过了企业内网入口的网关(接入网关)的身份验证,并且终端与接入网关之间已经建立了HTTPS连接,建立这种加密的HTTP连接方式能够保证传输数据的安全性。
步骤320、所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
可选地,在附图3所示的加密解密方法,包含着不同的实现方案:第一种方案是可以对现有的网关设备进行升级,使之具备存储用户标识、终端的标识、密钥索引与密钥种子的对应关系、并根据终端发送的密钥种子获取请求查找对应的密钥种子,并向终端返回查找到的密钥种子的功能,在这种方案中,整个密钥管理系统包含终端和网关设备两类网元,所有网关设备的功能是类似的,具有查询速度快的优势,但是需要对大量的现有网关设备进行功能升级,实施成本较高;第二种方案是,从现有的网关设备中选择部分网关设备担任密钥中心节点,只有密钥中心节点担任存储用户标识、终端的标识、密钥索引与密钥种子的对应关系、并根据终端发送的密钥种子获取请求查找对应的密钥种子的功能,而其他的网关设备至担任简单的转发功能,这样可以节约实施成本。下面将对第二种方案进行详细描述。
为了无需对现有的所有网关设备进行更新,本发明实施例给出了一种网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子的具体方式,请参照附图4所示:
步骤401,网关确认自身是否为密钥中心节点,其中,密钥中心节点是能够提供密钥种子的节点;如果是密钥中心节点,则执行步骤402;如果不是密钥中心节点,则执行步骤403。
步骤402,网关进一步判断所述密钥种子获取请求中是否携带密钥索引,如果携带密钥索引,则执行步骤404;如果未携带密钥索引,执行步骤407。
具体地,网关可以根据多种方法判断所述密钥种子获取请求中是否携带密钥索引,例如网关和终端预先约定在密钥种子获取请求的特定字段中携带密钥索引,如果终端需要在密钥种子获取请求中携带密钥索引,则将密钥索引携带在上述特定字段中,否则将上述特定字段的内容置为一个用于标识未携带非密钥索引的特征值,例如置为全零;网关读取密钥种子获取请求中预定字段的内容,如果读取到的内容不是上述特征值,则确认密钥种子获取请求中携带有密钥索引,否则未携带密钥索引。其他的判断方法在这里不再一一列举。
步骤403,网关向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种子发送给所述密钥种子获取请求的发送方,至此,网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子的流程结束。
步骤404,网关从所述密钥种子获取请求中提取用户标识、终端的标识以及密钥索引;执行步骤405。
步骤405,网关从所述网关存储的用户标识、终端的标识、密钥索引与密钥种子的对应关系中,查询所提取到的所述用户标识、终端的标识以及与所提取到的密钥索引对应的密钥种子;如果能查询到密钥种子,则执行步骤406,否则执行步骤407。
步骤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_GW3反之;假定在本实施例中VPN_GW2是备密钥中心节点,VPN_GW3是主密钥中心节点。
步骤510、终端向企业内网入口网关VPN_GW1发送密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识;
在本步骤执行之前,假设终端已经通过输入用户标识和密码经过了企业内网入口的网关VPN_GW1的身份验证,并且终端与网关VPN_GW1之间已经建立了HTTPS连接,建立这种加密的HTTP连接方式能够保证传输数据的安全性。
在本实施例中,假定终端需要对待解密文件进行解密,在密钥种子获取请求中携带终端的用户标识、所述终端的标识和从待解密文件中获得的密钥索引。
每隔预设周期,所述终端向网关请求新的密钥种子,以生成新的密钥。因此,每个终端使用的密钥是周期性变化的。
步骤520、网关VPN_GW1确认自身不是密钥中心节点,则将密钥种子获取请求转发给预设的密钥中心节点VPN_GW2。
网关VPN_GW1可以预先存储有密钥中心节点列表,其中密钥中心节点列表中包含至少一个密钥中心节点以及该密钥中心节点的地址。网关VPN_GW1接收到密钥种子获取请求后,按照预先设定的选择策略,例如路由跳数最短的选择策略,从密钥中心节点列表中选择出一个密钥中心节点,将密钥种子获取请求转发给选择出的密钥中心节点,在本实施例中,假定网关VPN_GW1选择出了VPN_GW2。
步骤530,密钥中心节点VPN_GW2确认自身是密钥中心节点,执行步骤540。
步骤540,密钥中心节点VPN_GW2确认所述密钥种子获取请求中携带密钥索引,并从密钥种子获取请求中提取携带的用户标识、所述终端的标识和密钥索引。
步骤550,密钥中心节点VPN_GW2从自身存储的用户标识、终端的标识、密钥索引与密钥种子的对应关系中,查询所提取到的所述用户标识、终端的标识以及与所提取到的密钥索引对应的密钥种子。假设在本实施例中VPN_GW2未查询到对应的密钥种子,进入步骤560。
密钥中心节点未能根据密钥种子获取请求中携带的用户标识、所述终端的标识和密钥索引,从自身存储的用户标识、终端的标识、密钥索引与密钥种子的对应关系中查询到对应的密钥种子的原因可能是多方面的,例如之前的同步过程失败等等。
步骤560,密钥中心节点VPN_GW2根据用户标识、终端的标识以及随机数生成密钥种子。
可选地,随机数可以使用OpenSSL中的RAND_bytes函数生成。由于OpenSSL针对不同类型的操作系统平台给出了不同的可靠随机数生成途径,因此可以提高本发明实施例的适用性。
步骤570,密钥中心节点VPN_GW2为所生成的密钥种子分配密钥索引,并保存所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系。
用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系在密钥中心节点VPN_GW2的数据库中存储。
步骤580,密钥中心节点VPN_GW2将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到主密钥中心节点VPN_GW3。
在获得用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系等的更新数据时,需要在主备密钥中心节点之间实时地同步,才能在其中的一台或多台密钥中心节点发生异常时,使其它工作正常的密钥中心节点继续发挥作用,从而提高可靠性。密钥中心节点VPN_GW2是备密钥中心节点,因此密钥中心节点VPN_GW2还需要将所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系同步到主密钥中心节点VPN_GW3。
本步骤580与步骤590无先后顺序的限制,实际上,本步骤580可以在密钥中心节点VPN_GW2保存所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系之后的任意时刻执行。
步骤590,密钥中心节点VPN_GW2将生成的密钥种子以及为所述密钥种子分配的所述密钥索引返回给网关VPN_GW1。
假设本实施例中密钥中心节点VPN_GW2执行上述步骤530~590的这一段时间未超出预设的时间段,因此,网关VPN_GW1能够收到密钥中心节点VPN_GW2所发送的密钥种子以及为所述密钥种子分配的所述密钥索引,并继续执行以下的步骤。
步骤5100,网关VPN_GW1将密钥种子以及密钥索引返回给终端。
步骤5110,终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行解密操作。
本实施例中,所述终端根据所述密钥种子、用户标识和终端的标识执行AES-256算法生成密钥,使用所述密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。使用AES-256算法生成密钥具有较高的安全性。
由上述实施例可见,本发明实施例通过将密钥种子存储在网关上,而将待加密文件或者待解密文件存储在终端上,实现了密钥种子与待加密文件或待解密文件的分开存储,保障了密钥种子的安全性,从而提高了文件加密或解密的安全性。
与本发明加密解密方法的实施例相对应,本发明还提供了终端设备、网关设备以及密钥管理系统的实施例。
参见图6,为本发明终端设备的一个实施例的框图:
该终端设备包括:发送单元610、接收单元620、密钥生成单元630和加密解密单元640。
其中,发送单元610,用于向网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所述终端的用户标识和所述终端的标识;
接收单元620,用于接收网关根据所述发送单元610发送的所述密钥种子获取请求返回的密钥种子;
密钥生成单元630,用于根据所述接收单元620接收的密钥种子生成密钥;
加密解密单元640,用于使用所述密钥生成单元630生成的所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
其中,所述密钥生成单元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)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (22)
1.一种加密解密方法,其特征在于,包括:
终端向企业内网入口的网关发送密钥种子获取请求,所述密钥种子获取请求中至少携带所述终端的用户标识和所述终端的标识;
所述终端接收所述网关根据所述密钥种子获取请求返回的密钥种子;
所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
2.如权利要求1所述的方法,其特征在于,如果所述待解密文件包含密钥索引,则所述密钥种子获取请求还携带所述密钥索引。
3.如权利要求1所述的方法,其特征在于,所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,包括:
所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述密钥对待加密文件进行加密操作,并在加密后文件末尾加上所述密钥种子对应的密钥索引;
所述终端根据所述密钥种子生成密钥,并使用所述密钥对待解密文件进行解密操作,包括:
所述终端根据所述密钥种子、用户标识和终端的标识生成密钥,使用所述密钥对待解密文件进行解密操作,然后去掉解密后文件末尾的密钥索引。
4.如权利要求1所述的方法,其特征在于,所述终端每隔预设周期,向所述网关请求新的密钥种子,以生成新的密钥。
5.如权利要求1~4中任一项所述的方法,其特征在于,所述终端根据所述密钥种子生成密钥,具体为:
所述终端对所述密钥种子执行AES-256算法,生成所述密钥。
6.一种加密解密方法,其特征在于,包括:
网关接收密钥种子获取请求,所述密钥种子获取请求中至少携带终端的用户标识和所述终端的标识,所述密钥种子获取请求是所述终端或另一网关发送来的;
所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,以使所述终端根据所述密钥种子生成密钥,并使用所述密钥对待加密文件进行加密操作,或使用所述密钥对待解密文件进行解密操作。
7.如权利要求6所述的方法,其特征在于,所述网关根据所述密钥种子获取请求向所述密钥种子获取请求的发送方返回密钥种子,包括:
所述网关确认自身是否为密钥中心节点,其中,所述密钥中心节点是能够提供密钥种子的节点;
若所述网关确认自身是密钥中心节点,则所述网关判断所述密钥种子获取请求中是否携带密钥索引;如果所述密钥种子获取请求中携带密钥索引,则所述网关从所述密钥种子获取请求中提取用户标识、终端的标识以及密钥索引;并从所述网关存储的用户标识、终端的标识、密钥索引与密钥种子的对应关系中,查询所提取到的所述用户标识、终端的标识以及与所提取到的密钥索引对应的密钥种子;
如果查询到对应的密钥种子,则将查找到的密钥种子返回给所述密钥种子获取请求的发送方;
如果所述密钥种子获取请求中未携带密钥索引,或者未查询到对应的密钥种子,则所述网关根据用户标识、终端的标识以及随机数生成密钥种子,并将生成的密钥种子返回给所述密钥种子获取请求的发送方。
8.如权利要求7所述的方法,其特征在于,所述网关根据用户标识、终端的标识以及随机数生成密钥种子之后,还包括:
所述网关为所述密钥种子分配密钥索引,并保存所述用户标识、终端的标识、所述密钥种子与所述密钥索引的对应关系;
所述将生成的密钥种子返回给所述密钥种子获取请求的发送方,还包括:
将为所述密钥种子分配的所述密钥索引返回给所述密钥种子获取请求的发送方。
9.如权利要求7所述的方法,其特征在于,还包括:
若所述网关确认自身不是密钥中心节点,则向密钥中心节点发送所述密钥种子获取请求,接收所述密钥中心节点根据所述密钥种子获取请求返回的密钥种子,并将接收到的密钥种子发送给所述密钥种子获取请求的发送方。
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中任一项所述的加密解密装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210579409.4A CN103067158B (zh) | 2012-12-27 | 2012-12-27 | 加密解密方法、加密解密装置及密钥管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210579409.4A CN103067158B (zh) | 2012-12-27 | 2012-12-27 | 加密解密方法、加密解密装置及密钥管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103067158A CN103067158A (zh) | 2013-04-24 |
CN103067158B true CN103067158B (zh) | 2015-12-02 |
Family
ID=48109629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210579409.4A Active CN103067158B (zh) | 2012-12-27 | 2012-12-27 | 加密解密方法、加密解密装置及密钥管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103067158B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259651B (zh) * | 2013-05-30 | 2016-06-08 | 成都欣知科技有限公司 | 一种对终端数据加解密的方法及系统 |
CN104200156A (zh) * | 2014-08-27 | 2014-12-10 | 山东超越数控电子有限公司 | 一种基于龙芯处理器的可信加密系统 |
CN104239783A (zh) | 2014-09-19 | 2014-12-24 | 东软集团股份有限公司 | 一种特定信息安全输入系统及方法 |
CN104393989A (zh) * | 2014-10-30 | 2015-03-04 | 北京神州泰岳软件股份有限公司 | 一种密钥协商方法及装置 |
CN105681253B (zh) * | 2014-11-18 | 2019-03-22 | 青岛海尔科技有限公司 | 集中式网络中的数据加密传输方法、设备、网关 |
CN105704096B (zh) * | 2014-11-25 | 2019-03-12 | 珠海金山办公软件有限公司 | 文档解密方法及装置 |
CN104537313B (zh) * | 2014-12-04 | 2017-08-08 | 阔地教育科技有限公司 | 一种数据保护方法、终端和服务器 |
CN106685644B (zh) * | 2015-11-10 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 通信加密方法和装置、网关、服务器、智能终端和系统 |
CN105516083A (zh) * | 2015-11-25 | 2016-04-20 | 上海华为技术有限公司 | 一种数据安全管理的方法、装置及系统 |
CN105915336B (zh) * | 2016-05-24 | 2020-06-09 | 珠海市魅族科技有限公司 | 一种对象协同解密方法及其装置 |
CN105933318A (zh) * | 2016-05-26 | 2016-09-07 | 乐视控股(北京)有限公司 | 数据保密方法、装置及系统 |
CN106059767A (zh) * | 2016-08-17 | 2016-10-26 | 王树栋 | 基于互联网的终端隐私数据保护系统及方法 |
CN106611130A (zh) * | 2016-12-29 | 2017-05-03 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN107332661A (zh) * | 2017-06-29 | 2017-11-07 | 环球智达科技(北京)有限公司 | 数据加密的方法 |
CN107454589A (zh) * | 2017-07-03 | 2017-12-08 | 上海斐讯数据通信技术有限公司 | 一种无线路由器、数据安全存储的方法及系统 |
CN107395342A (zh) * | 2017-07-03 | 2017-11-24 | 上海斐讯数据通信技术有限公司 | 一种无线路由器、无线终端加密传输的方法及系统 |
CN107454590A (zh) * | 2017-07-26 | 2017-12-08 | 上海斐讯数据通信技术有限公司 | 一种数据加密方法、解密方法及无线路由器 |
CN107786328A (zh) * | 2017-09-01 | 2018-03-09 | 深圳市金立通信设备有限公司 | 一种生成密钥的方法、服务节点设备及计算机可读介质 |
CN109756325A (zh) * | 2017-11-05 | 2019-05-14 | 成都零光量子科技有限公司 | 一种利用量子密钥提升移动办公系统安全性的方法 |
CN108123800B (zh) * | 2017-12-19 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置、计算机设备及存储介质 |
CN107896228B (zh) * | 2017-12-22 | 2019-02-05 | 北京明朝万达科技股份有限公司 | 一种数据防泄漏方法及系统 |
CN108366078A (zh) * | 2018-04-24 | 2018-08-03 | 深圳市网心科技有限公司 | 处于不同nat节点下的设备的穿透方法和穿透系统 |
CN109361512A (zh) * | 2018-10-11 | 2019-02-19 | 深圳市捷恩斯威科技有限公司 | 数据传输方法 |
WO2020219136A2 (en) | 2019-01-28 | 2020-10-29 | Knectiq Inc. | System and method for secure electronic data transfer |
CN109981275B (zh) * | 2019-05-06 | 2022-03-08 | 捷德(中国)科技有限公司 | 数据传输方法、装置、系统、设备以及存储介质 |
CN111245832A (zh) * | 2020-01-13 | 2020-06-05 | 深圳云塔信息技术有限公司 | 用于与云存储平台对接的加密系统及方法 |
CN111639354B (zh) * | 2020-05-28 | 2024-02-09 | 中国工商银行股份有限公司 | 数据加密方法及装置、数据解密方法及装置、电子设备 |
CN111917545A (zh) * | 2020-08-18 | 2020-11-10 | 中国银行股份有限公司 | 基于局域网的密钥管理方法、装置及系统 |
CN112053476A (zh) * | 2020-09-08 | 2020-12-08 | 四川铁集共联科技股份有限公司 | 一种基于智能锁和手机终端的加密方法及系统 |
CN114826627A (zh) * | 2021-01-13 | 2022-07-29 | 中国电信股份有限公司 | 信息传输方法、企业安全网关和系统 |
CN113596811B (zh) * | 2021-06-30 | 2022-06-21 | 荣耀终端有限公司 | 一种数据传输方法及终端设备 |
CN115102708B (zh) * | 2022-05-05 | 2024-04-09 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1551557A (zh) * | 2003-05-19 | 2004-12-01 | 日本电气株式会社 | 通信系统中的密码通信方法 |
CN101091184A (zh) * | 2005-01-18 | 2007-12-19 | 松下电器产业株式会社 | 数据存储方法、数据播放方法、数据记录装置、数据播放装置和记录介质 |
CN102402670A (zh) * | 2011-08-03 | 2012-04-04 | 广东欧珀移动通信有限公司 | 一种文件加解密方法 |
-
2012
- 2012-12-27 CN CN201210579409.4A patent/CN103067158B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1551557A (zh) * | 2003-05-19 | 2004-12-01 | 日本电气株式会社 | 通信系统中的密码通信方法 |
CN101091184A (zh) * | 2005-01-18 | 2007-12-19 | 松下电器产业株式会社 | 数据存储方法、数据播放方法、数据记录装置、数据播放装置和记录介质 |
CN102402670A (zh) * | 2011-08-03 | 2012-04-04 | 广东欧珀移动通信有限公司 | 一种文件加解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103067158A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103067158B (zh) | 加密解密方法、加密解密装置及密钥管理系统 | |
US10826704B2 (en) | Blockchain key storage on SIM devices | |
CN105007577B (zh) | 一种虚拟sim卡参数管理方法、移动终端及服务器 | |
CN109525989B (zh) | 数据处理、身份认证方法及系统、终端 | |
US10503918B2 (en) | Process to access a data storage device of a cloud computer system | |
CN103237305B (zh) | 面向移动终端上的智能卡密码保护方法 | |
US10050944B2 (en) | Process to access a data storage device of a cloud computer system with the help of a modified Domain Name System (DNS) | |
CN101605137A (zh) | 安全分布式文件系统 | |
CN105993146A (zh) | 不访问私钥而使用公钥密码的安全会话能力 | |
CN104253801B (zh) | 实现登录认证的方法、装置和系统 | |
CN105049410A (zh) | 一种账号登录方法、装置及系统 | |
US11902789B2 (en) | Cloud controlled secure Bluetooth pairing for network device management | |
CN103458400A (zh) | 一种语音加密通信系统中的密钥管理方法 | |
JP4752064B2 (ja) | アクセス制限を行う公衆回線上の通信システムと端末接続装置およびサーバー接続制限装置 | |
CN105722072A (zh) | 一种业务授权方法、装置、系统及路由器 | |
JP2007249507A (ja) | 情報漏洩防止方法、情報漏洩防止システム及び情報端末 | |
CN104168565A (zh) | 一种非可信无线网络环境下智能终端安全通讯的控制方法 | |
CN100499453C (zh) | 一种客户端认证的方法 | |
CN108206738B (zh) | 一种量子密钥输出方法及系统 | |
CN105591748A (zh) | 一种认证方法和装置 | |
KR101837150B1 (ko) | 프록시 서비스 제공을 위한 프록시 인증시스템 및 인증방법 | |
CN109450849B (zh) | 一种基于区块链的云服务器组网方法 | |
JP4752063B2 (ja) | アクセス制限を行う公衆回線上の通信システムと端末接続装置およびサーバー接続制限装置 | |
CN105610599B (zh) | 用户数据管理方法及装置 | |
CN107864136A (zh) | 一种防止系统短信服务被盗用的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |