基于密钥时空碎片化存储的对称加解密方法及系统与流程

文档序号:12278782阅读:292来源:国知局
基于密钥时空碎片化存储的对称加解密方法及系统与流程

本发明涉及加解密技术,具体涉及基于密钥时空碎片化存储的对称加解密方法及系统。



背景技术:

随着互联网技术的发展,终端和服务器间的通信已非常频繁。通过抓取终端和服务器端的报文进行分析统计,发现大量数据都未采取加密保护措施,直接是明文传输。因此,加密传输报文非常重要。采取加密传输,为了保证加解密效率,一般使用对称加密方式。而对称加密的密钥安全,是对称加密安全性最重要的。如何存储和获取对称加密密钥,尤其是终端密钥存储的安全性,防止其被反编译获取是保证密钥以及对称加密安全的关键。



技术实现要素:

本发明所要解决的技术问题是:提出一种基于密钥时空碎片化存储的对称加解密方法及系统,保障密钥的安全,从而提高数据传输的安全性。

本发明解决其技术问题所采用的技术方案是:

基于密钥时空碎片化存储的对称加解密系统,其包括终端和服务器端;

所述终端包括:时间密钥段生成模块、空间密钥段生成模块、固定密钥段生成模块及校验模块;

所述服务器端包括与终端相同的时间密钥段生成模块、空间密钥段生成模块、固定密钥段生成模块及校验模块,其中,时间密钥段生成模块、空间密钥段生成模块、固定密钥段生成模块采用分布式布置在不同服务器中;

所述时间密钥段生成模块,用于截取当前时间作为参数,经过算法转换成由字母、数字和特殊字符组成的20位时间密钥段,将该密钥段作为对称加密密钥的时间化属性;

所述空间密钥段生成模块,用于将终端当前所处位置的经度和纬度作为参数,经过算法转换成由字母、数字和特殊字符组成的32位空间密钥段,将该密钥段作为对称加密密钥的空间化属性;

所述固定密钥段生成模块,用于生成由带有业务属性的8位字符串组成的固定密钥段,并用于将时间密钥段、空间密钥段、固定密钥段组成密钥,并调用对称加密算法对明文进行加密,或者对密文进行解密;

所述校验模块,用于生成时间校验码和空间校验码,并对当前系统时间和终端经纬度数据进行校验。

作为进一步优化,所述时间密钥段生成模块所截取的当前时间精度为1000ms,即在当前时间至延后1000ms的时间段内所生成的时间密钥段相同。

作为进一步优化,所述服务器端的空间密钥段生成模块预先根据各个终端当前所处位置的经度和纬度生成空间密钥段,并保存在空间密钥段生成模块所在服务器对应的数据库里,并与空间校验码一一对应关联存储。

作为进一步优化,所述时间校验码为:终端通过对当前系统时间进行sha256加密,取加密后密文的前45位所获取的校验值;

所述空间校验码为:终端对其所处位置的经纬度取小数点后2位,用“&”符号进行连接,再进行sha256加密,取加密后密文的前45位所获取的校验值。

作为进一步优化,所述对当前系统时间进行校验,是指:

服务器在收到终端传入的时间校验码后,对服务器当前系统时间进行sha256加密,取加密后密文的前45位获取校验值,与终端传入的时间校验码进行比对,若一致,则进入解密的后续流程,若不一致,则无法进行解密,并提示终端。

作为进一步优化,所述对终端经纬度数据进行校验,是指:

服务器在收到终端传入的空间校验码后,根据存储的该终端对应的经纬度数据取小数点后2位,用“&”符号进行连接,再进行sha256加密,取加密后密文的前45位获取校验值与终端传入的空间校验码进行比对,若一致,则根据空间校验码获取对应的空间密钥段。

此外,本发明还提供了一种基于密钥时空碎片化存储的对称加解密方法,其包括以下实现步骤:

A、终端将要发送的信息按规定格式进行组合,对组合后的明文进行加密,加密方式为:首先调用空间密钥段生成模块生成空间密钥段,再调用时间密钥段生成模块生成时间密钥段,同时调用校验模块生成空间校验码和时间校验码;最后调用固定密钥段生成模块生成固定密钥段,并综合空间密钥段和时间密钥段生成对称密钥,调用算法将明文加密成密文,并连同时间校验码和空间校验码一起发送给服务器;

B、服务器收到终端传送的请求后,首先对时间校验码进行校验,若时间校验码不正确则不予解密,并提示终端调整时间与服务器同步,若正确,则校验终端经纬度数据,校验通过后,进行后续解密流程,解密流程为:首先调用服务器的时间密钥段生成模块生成时间密钥段,然后根据空间校验码提取对应的空间密钥段,最后由固定密钥段生成模块生成固定密钥段,并整合时间密钥段和空间密钥段生成对称密钥,调用算法对密文进行解密,获取明文;

C、服务器根据解密获取的明文处理完成后,将响应信息按规定格式组合成响应报文,并对响应报文进行加密,加密方式为:调用时间密钥段生成模块根据当前时间生成时间密钥段,再用之前解密时使用的空间密钥段,并由固定密钥段生成模块生成固定密钥段后将时间密钥段、空间密钥段和固定密钥段进行整合生成对称密钥,调用算法对响应报文进行加密并反馈给终端;

D、终端在收到加密后的响应报文后,对报文进行解密,解密方式为:首先根据当前系统时间调用时间密钥段生成模块生成时间密钥段;根据所处地理位置得到经纬度,调用空间密钥段生成模块生成空间密钥;最后由固定密钥段生成模块生成固定密钥段后,整合时间密钥段、空间密钥段和固定密钥段生成对应密钥,调用算法对加密后的响应报文进行解密。

本发明的有益效果是:

采用时空碎片化的方式,在终端和服务器端存储对称加密密钥:对称加密密钥终端采取碎片化分成若干段,一段基于当前时间经过特定算法生成,一段基于地理位置即经纬度范围经过特定算法生成,再加上其它固定字段,按算法组合成加密密钥。

服务器端采取与终端时间同步的方式基于时间产生相应的密钥片断,同时基于终端的地理位置生成对应的密钥片断,再加上与终端对应的固定字段,按算法合成与终端一直的密钥。这样保证了对称加密密钥动态的生成,同时终端不进行密钥持久化,反编译无法直接获取;服务器端用分布式的方式将时间密钥片断和空间密钥片断以及其它密约片断放置在不同服务器,防止单个服务器被攻击导致整个密钥泄露。从终端到服务器,保证密钥的安全。

附图说明

图1为终端向服务器端加密发送请求报文,由服务器解密的流程;

图2为服务器端向终端加密发送响应报文,由终端解密的流程。

具体实施方式

本发明旨在提出一种基于密钥时空碎片化存储的对称加解密方法及系统,保障密钥的安全,从而提高数据传输的安全性。

本发明中的基于密钥时空碎片化存储的对称加解密系统,其包括终端和服务器端;

所述终端包括:时间密钥段生成模块、空间密钥段生成模块、固定密钥段生成模块及校验模块;

所述服务器端包括与终端相同的时间密钥段生成模块、空间密钥段生成模块、固定密钥段生成模块及校验模块,其中,时间密钥段生成模块、空间密钥段生成模块、固定密钥段生成模块采用分布式布置在不同服务器中;

各个模块的功能说明如下:

一、终端的时间密钥段生成模块和服务器的密钥段生成模块功能相同。终端或服务器触发时间密钥段生成模块后,生成系统当前时间截取到1000毫秒级的精度。获得的时间作为参数,经过算法转换成由字母、数字和特殊字符组成的20位密钥段。该密钥段作为对称加密密钥的时间化属性。1000毫秒级的精度,即延后1000毫秒内生成的时间密钥段是相同的。

二、终端的空间密钥段生成模块和服务器的空间密钥段生成模块功能相同。终端触发空间密钥段生成模块后,终端获取当前所处位置的经度和纬度。以经度和纬度作为参数,经过算法转换成由字母、数字和特殊字符组成的32位密钥段。生成的密钥段是按经纬度区域生成,即终端的经度在一段大小区间内,纬度在一段大小区间内生成空间密钥段相同。同样处于该区间的不同终端生成的空间密钥段相同。区间划分越小,生成的空间密钥段就越多。

服务器端的空间密钥段以和终端同样的方式生成,即以经度和纬度作为参数,经过算法转换成由字母、数字和特殊字符组成的32位密钥段。生成的密钥段是按经纬度区域生成,即终端的经度在一段大小区间内,纬度在一段大小区间内生成空间密钥段相同。密钥段提前生成保存在空间密钥服务器的数据库里,与空间校验码关联存储。空间密钥数据库存储了需提供服务的所有地区密钥段,密钥段是根据业务和安全需求划分区域,按划分的区域经纬度生成各个密钥段。

这些密钥段作为对称加密密钥的空间化属性。

三、终端的固定密钥段生成模块和服务器的固定密钥段生成模块功能相同。终端和服务器端保存相同的密钥段,密钥段为带有业务属性的8位字符串组成。该模块具有组装密钥的功能,将时间密钥段、空间密钥段、固定密钥段组成密钥,并调用对称加密算法对明文进行加密,对密文进行解密。

四、终端的校验模块和服务器的校验模块功能相同。校验模块对当前系统时间和经度维度进行校验。具体作用有:

1、对当前系统时间进行sha256加密,取密文的前45位作为校验值传入服务器。与服务器当前系统时间进行sha256加密并取密文的前45位进行对比,相同以保证终端与服务器段的时间一直,否则提示时间不一致,无法加解密。

2、终端对经纬度取小数点后2位,用“&”符号进行连接,再进行sha256加密。取密文前45位作为空间校验码传入服务器,服务器存储对应经纬度用“&”符号连接的sha256前45位密文库。与服务器存储的对比成功,获取对应密钥库的空间密钥段。

3、sha256加密密文长度为128,为提高对比,查询效率取前45位作为校验码予以持久化。经测试,系统时间和经纬度的sha256密文前45位不会出现完全相同的情况。

基于上述系统,本发明基于密钥时空碎片化存储的对称加解密方法,包括以下步骤:

A、终端将要发送的信息按规定格式(如xml,j son等)进行组合,对组合后的明文进行加密,加密方式为:首先调用空间密钥段生成模块生成空间密钥段,再调用时间密钥段生成模块生成时间密钥段,同时调用校验模块生成空间校验码和时间校验码;最后调用固定密钥段生成模块生成固定密钥段,并综合空间密钥段和时间密钥段生成对称密钥,调用算法将明文加密成密文,并连同时间校验码和空间校验码一起发送给服务器;

B、服务器收到终端传送的请求后,首先对时间校验码进行校验,若时间校验码不正确则不予解密,并提示终端调整时间与服务器同步,若正确,则校验终端经纬度数据,校验通过后,进行后续解密流程,解密流程为:首先调用服务器的时间密钥段生成模块生成时间密钥段,然后根据空间校验码提取对应的空间密钥段,最后由固定密钥段生成模块生成固定密钥段,并整合时间密钥段和空间密钥段生成对称密钥,调用算法对密文进行解密,获取明文;

C、服务器根据解密获取的明文处理完成后,将响应信息按规定格式(如xml,j son等)组合成响应报文,并对响应报文进行加密,加密方式为:调用时间密钥段生成模块根据当前时间生成时间密钥段,再用之前解密时使用的空间密钥段,并由固定密钥段生成模块生成固定密钥段后将时间密钥段、空间密钥段和固定密钥段进行整合生成对称密钥,调用算法对响应报文进行加密并反馈给终端;

D、终端在收到加密后的响应报文后,对报文进行解密,解密方式为:首先根据当前系统时间调用时间密钥段生成模块生成时间密钥段;根据所处地理位置得到经纬度,调用空间密钥段生成模块生成空间密钥;最后由固定密钥段生成模块生成固定密钥段后,整合时间密钥段、空间密钥段和固定密钥段生成对应密钥,调用算法对加密后的响应报文进行解密。

上述方案中,其中步骤A和步骤B为终端向服务器端加密发送请求报文,由服务器解密的流程,实施步骤参见图1,步骤C和步骤D为服务器端向终端加密发送响应报文,由终端解密的流程,实施步骤参见图2。

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