一种基于时间戳的对称加密方法及系统与流程

文档序号:14879655发布日期:2018-07-07 09:22阅读:510来源:国知局

本发明涉及数据加密领域,并且更具体地,涉及一种基于时间戳的对称加密方法及系统。



背景技术:

目前在网络传输中常用的加密方式基本是对称加密或非对称加密。

对称加密就是服务端和客户端均采用相同的密钥,客户端将要发送的信息采用约定好的密钥进行加密,然后传输到服务器端,服务器端接收到密文后,用约定好的密钥进行解密。

非对称加密需要两个密钥:公开密钥(以下简称公钥)和私有密钥(以下简称私钥),公钥和私钥是一对,用公钥加密的数据,只有用对应的私钥才能解密;如果用私钥加密,那么只有用对应的公钥才能解密,因为加密和解密用的是不同的密钥,所以被称为非对称加密。加密信息交换的过程是:a生成一对密钥,将其中的一把作为公钥想其他方公开,得到公钥的b使用该密钥对信息加密后发送给a,然后a再用自己的私钥进行解密。现实中主要采用数字证书的形式发布公钥。

对称加密如果保持密钥不变,如果在密钥强度较弱的情况下很容易会被破解。而且现在很多系统只有在身份认证的时候才使用加密传输信息,认证通过后就采用明文传输,如果在客户端截获相应的认证信息,就可以伪装成合法的客户端登录服务端,并且进行后面信息获取。

非对称加密很好的解决了上述的问题,但是在某些特殊情况下可能并不方便导入数字证书。

为了解决对称加密算法在当前复杂恶劣的网络环境下存在很大安全隐患的问题,需要一种具备安全性,最大程度上避免恶意程序对加密信息的破解和伪装的对称加密算法。



技术实现要素:

为了解决上述问题,根据本发明的一个方面,提供了一种基于时间戳的对称加密方法,包括:

客户端获取当前时间的滴答值作为第一时间戳,并将所述第一时间戳发送至服务器;

服务器收到第一时间戳后,将所述第一时间戳用第一密钥进行加密得到第一密文,利用服务器与客户端事先约定的偏移方法从所述第一密文中提取出第三密钥,并将客户端注册时生成的标识uid密钥加密生成第二密文,并将所述第二密文发送至客户端;

客户端接收到第二密文后,将所述第一时间戳用第一密钥进行加密得到第一密文,利用服务器与客户端事先约定的偏移方法从所述第一密文中提取出第三密钥,并将所述第二密文利用第三密钥进行解密得到uid;

客户端将所述uid通过第二密钥和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先与服务器约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥;

客户端利用所述第四密钥将要发送的数据信息进行加密,将得到的第三密文发送至服务器;

服务器将所述uid通过第二密钥和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥,并通过所述第四密钥对接收到的第三密文进行解密,得到客户端发送的数据信息;

其中,使用第一时间戳作为所述初始化向量的值。

优选地,所述滴答值是长整型的数据。

优选地,根据权利要求1所述的方法,其特征在于,所述第一密钥与第二密钥为客户端与服务器事先约定的统一密钥。

根据本发明的另一方面,提供了一种基于时间戳的对称加密系统,包

括客户端和服务器,其中:

所述客户端获取当前时间的滴答值作为第一时间戳发送至服务器,将所述第一时间戳用第一密钥进行加密得到第一密文,并从第一密文中利用服务器与客户端事先约定的偏移方法从第一密文中提取出第三密钥,并将所述接收到的第二密文利用第三密钥进行解密得到uid,将所述uid通过第二密钥和和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥,并利用所述第四密钥将要发送的数据信息进行加密,将得到的第三密文发送至服务器;

所述服务器将所述第一时间戳用第一密钥进行加密得到第一密文,并从第一密文中利用服务器与客户端事先约定的偏移方法从第一密文中提取出第三密钥,利用第三密钥将客户端注册时生成的标识uid密钥加密生成第二密文,并将第二密文发送至客户端,并将所述uid通过第二密钥和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥,并通过所述第四密钥对接收到的第三密文进行解密,得到客户端发送的数据信息;

其中,使用第一时间戳作为所述初始化向量的值。

优选地,所述滴答值是一个长整型的数据。

优选地,所述第一密钥和第二密钥为客户端与服务器事先约定的统一的密钥。

本发明设计实现了一种基于时间戳的对称加密方法,仅通过对称加密算法,无需导入非对称加密算法的数字证书,并且本发明的数据字典及密钥均为根据时间戳生成,使得每次进行数据通信时,对称加密算法的密钥均不同,从而方便有效的保证了要传输数据的安全。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明优选实施例的基于时间戳的对称加密方法的流程图;以及

图2为根据本发明优选实施例的基于时间戳的对称加密系统的结构图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明优选实施例的基于时间戳的对称加密方法的流程图。如图1所示,本发明的实施例提供一种基于时间戳的对称加密的方法,通过方法100,构建基于时间戳的数据字典,使得每次进行数据通信时,对称加密算法的密钥均不同。本发明的实施例保证了数据在通信过程中的安全性。

优选地,方法100从101开始,在步骤101中,客户端获取当前时间的滴答值作为第一时间戳,并将所述第一时间戳发送至服务器。优选地,所述滴答值是长整型的数据。应当了解的是,时间戳通常是一个字符序列,唯一地标识某一刻的时间,其定义是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,所以时间每隔一秒,时间戳的字符序列值均与上一秒不同,本发明使用时间戳作为对称加密方法的改进,使用时间戳的唯一性进而保证密钥的安全性。

优选地,在步骤102中,服务器收到第一时间戳后,将第一时间戳用第一密钥进行加密得到第一密文,利用服务器与客户端事先约定的偏移方法从第一密文中提取出第三密钥,并将客户端注册时生成的标识uid密钥加密生成第二密文,并将第二密文发送至客户端。优选地,第一密钥是客户端和服务器事先约定好的统一的密钥,客户端和服务器均知道第一密钥的内容,可以用第一密钥对信息进行加密或解密操作。优选地,服务器与客户端事先约定的偏移方法主要用于从第一密文中提取出第三密钥,进行第三密钥提取时,偏移值可以为固定值或事先约定的其他偏移方法。优选地,标识uid为客户端第一次在服务器上注册时服务器产生的一个唯一的标识,每一个标识对应一个客户端,且标识uid的值可以为字符串。

优选地,在步骤103中,客户端接收到第二密文后,利用与服务器相同的方法,将第一时间戳用第一密钥进行加密得到第一密文,然后利用服务器与客户端事先约定的偏移方法从第一密文中提取出第三密钥,将所述第二密文利用第三密钥进行解密得到uid。客户端得到第三密钥的方法与服务器得到第三密钥的方法相同,故而保证客户端能够得到正确的标识uid。

优选地,在步骤104中,客户端将解密得到的uid通过第二密钥和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用与服务器事先约定的摘取方法,从数据字典中截取出多个数据段经过重新拼接,生成第四密钥。优选地,第二密钥同第一密钥一样,也是客户端和服务器事先约定好的统一的密钥,客户端和服务器均知道第二密钥的内容。优选地,不同的初始化向量加密后的字符串是不同的,加密和解密需要相同的初始化向量,初始化向量看起来和密钥一样,但对于每个块来说,密钥是不变的,但是只有第一个块的初始化向量是用户提供的,其他块初始化向量都是自动生成,进而保证了密文的安全性。在本发明中,利用第一时间戳作为初始化向量的值,由于每次客户端和服务器进行通信时,都会生成新的第一时间戳,进而产生的数字字典也不相同,提取的第四密钥也不相同。

优选地,在步骤105中,客户端利用所述第四密钥将要发送的数据信息进行加密,并将得到的第三密文发送至服务器。

优选地,在步骤106中,服务器利用与客户端相同的方法,将所述uid通过第二密钥和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥,并通过第四密钥对接收到的第三密文进行解密,得到客户端发送的数据信息。优选地,服务器使用的初始化向量同客户端相同,均使用第一时间戳作为初始化向量的值。且由于服务器和客户端使用的第二密钥、初始化向量均相同,所以得到的数据字典也相同,进而使用同样的摘取方法从数据字典中摘取的第四密钥也相同,使得服务器可以使用准确的第四密钥对客户端发送的第三密文进行准确的解密,得到客户端发送的数据信息。

本发明优选的实施例提供了一种基于时间戳的对称加密方法,仅通过对称加密,省去了导入非对称加密算法中数字证书的过程,简化了加密过程,同时本发明实施例的数据字典及密钥均为根据时间戳生成,使得每次进行数据通信时,对称加密算法的密钥均不同,从而方便有效的保证了要传输数据的安全。

图2为根据本发明优选实施例的基于时间戳的对称加密系统的结构图。如图2所示,基于时间戳的对称加密系统200包括客户端201和服务器202。

其中,客户端201获取当前时间的滴答值作为第一时间戳发送至服务器202,将所述第一时间戳用第一密钥进行加密得到第一密文,并从第一密文中利用服务器与客户端201事先约定的偏移方法从第一密文中提取出第三密钥,并将所述接收到的第二密文利用第三密钥进行解密得到uid,将所述uid通过第二密钥和和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥,并利用所述第四密钥将要发送的数据信息进行加密,将得到的第三密文发送至服务器202。

优选地,服务器202将所述第一时间戳用第一密钥进行加密得到第一密文,并从第一密文中利用服务器202与客户端201事先约定的偏移方法从第一密文中提取出第三密钥,利用第三密钥将客户端201注册时生成的标识uid密钥加密生成第二密文,并将第二密文发送至客户端201,并将所述uid通过第二密钥和初始化向量进行加密,将得到的密文作为数据字典,并在数据字典中利用事先约定的摘取方法,从数据字典中截取出多个数据段重新拼接,生成第四密钥,并通过所述第四密钥对接收到的第三密文进行解密,得到客户端201发送的数据信息。

优选地,客户端201和服务器202均使用第一时间戳作为所述初始化向量的值。

优选地,所述滴答值是一个长整型的数据。

优选地,所述第一密钥和第二密钥为客户端与服务器事先约定的统一的密钥。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

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