密钥协商方法及装置与流程

文档序号:12278736阅读:511来源:国知局
密钥协商方法及装置与流程

本申请涉及信息安全技术领域,尤其涉及一种密钥协商方法及装置。



背景技术:

通常,终端设备与服务器进行通信时需要考虑到数据传输的安全性问题。为了保证传输数据的安全性,不被泄露。一般通过非对称算法先协商出通信密钥,然后用对称算法用协商出来的密钥进行加密解密。

然而,上述密钥协商的过程中,使用固定的字符串作为密钥协商的确认包,存在一定的规律性,安全性低。



技术实现要素:

本申请的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种密钥协商方法,该方法通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

本申请的第二个目的在于提出另一种密钥协商方法。

本申请的第三个目的在于提出一种密钥协商装置。

本申请的第四个目的在于提出另一种密钥协商装置。

为达上述目的,根据本申请第一方面实施例提出的一种密钥协商方法,包括:在与云端服务器进行密钥协商的过程中,对与所述云端服务器预先协商的第一字符串进行处理生成第二字符串;应用与所述云端服务器预先协商的加密密钥对所述第二字符串进行加密处理生成密钥数据包;将所述密钥数据包发送给所述云端服务器,以供所述云端服务器应用与终端设备预先协商的解密密钥对所述密钥数据包进行解密处理,并根据解密结果中是否包含所述第一字符串确定密钥协商是否成功。

本申请实施例的密钥协商方法,首先在与云端服务器进行密钥协商的过程中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串,接着应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,最后将密钥数据包发送给云端服务器,以供云端服务器应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理,并根据解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

另外,根据本申请上述实施例的密钥协商方法还可以具有如下附加的技术特征:

在本申请的一个实施例中,所述对与所述云端服务器预先协商的第一字符串进行处理生成第二字符串,包括:按照预设周期通过随机数发生器生成预设长度的随机数;将所述随机数与所述第一字符串进行拼接处理生成第二字符串。

在本申请的一个实施例中,所述对与所述云端服务器预先协商的第一字符串进行处理生成第二字符串,包括:应用预设算法获取与所述第一字符串对应的参考字符;将所述参考字符与所述第一字符串进行拼接处理生成第二字符串。

为达上述目的,根据本申请第二方面实施例提出的另一种密钥协商方法,包括:在与终端设备进行密钥协商的过程中,接收所述终端设备发送的密钥数据包,其中,所述密钥数据包是所述终端设备应用与所述云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,所述第二字符串是所述终端设备对与云端服务器预先协商的第一字符串进行处理生成的;应用与所述终端设备预先协商的解密密钥对所述密钥数据包进行解密处理获取解密结果;检测所述解密结果中是否包含所述第一字符串确定密钥协商是否成功。

本申请实施例的密钥协商方法,首先在与终端设备进行密钥协商的过程中,接收终端设备发送的密钥数据包,其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的,接着应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果,最后检测解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

另外,根据本申请上述实施例的密钥协商方法还可以具有如下附加的技术特征:

在本申请的一个实施例中,所述的方法,还包括:如果检测获知所述解密结果中包含所述第一字符串,则应用与所述终端设备协商的密钥信息对交互信息进行加密或解密处理。

为达上述目的,根据本申请第三方面实施例提出的一种密钥协商装置,包括:第一处理模块,用于在与云端服务器进行密钥协商的过程中,对与所述云端服务器预先协商的第一字符串进行处理生成第二字符串;加密模块,用于应用与所述云端服务器预先协商的加密密钥对所述第二字符串进行加密处理生成密钥数据包;发送模块,用于将所述密钥数据包发送给所述云端服务器,以供所述云端服务器应用与终端设备预先协商的解密密钥对所述密钥数据包进行解密处理,并根据解密结果中是否包含所述第一字符串确定密钥协商是否成功。

本申请实施例的密钥协商装置,首先在与云端服务器进行密钥协商的过程中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串,接着应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,最后将密钥数据包发送给云端服务器,以供云端服务器应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理,并根据解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

另外,根据本申请上述实施例的密钥协商装置还可以具有如下附加的技术特征:

在本申请的一个实施例中,所述第一处理模块用于:按照预设周期通过随机数发生器生成预设长度的随机数;将所述随机数与所述第一字符串进行拼接处理生成第二字符串。

在本申请的一个实施例中,所述第一处理模块还用于:应用预设算法获取与所述第一字符串对应的参考字符;将所述参考字符与所述第一字符串进行拼接处理生成第二字符串。

为达上述目的,根据本申请第四方面实施例提出的一种密钥协商装置,包括:接收模块,用于在与终端设备进行密钥协商的过程中,接收所述终端设备发送的密钥数据包,其中,所述密钥数据包是所述终端设备应用与所述云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,所述第二字符串是所述终端设备对与云端服务器预先协商的第一字符串进行处理生成的;解密模块,用于应用与所述终端设备预先协商的解密密钥对所述密钥数据包进行解密处理获取解密结果;检测模块,用于检测所述解密结果中是否包含所述第一字符串确定密钥协商是否成功。

本申请实施例的密钥协商装置,首先在与终端设备进行密钥协商的过程中,接收终端设备发送的密钥数据包,其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的,接着应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果,最后检测解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

另外,根据本申请上述实施例的密钥协商装置还可以具有如下附加的技术特征:

在本申请的一个实施例中,所述的装置,还包括:第二处理模块,用于在检测获知所述解密结果中包含所述第一字符串时,应用与所述终端设备协商的密钥信息对交互信息进行加密或解密处理。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本申请一个实施例的终端设备与云端服务器数据传输的示意图;

图2是根据本申请一个实施例的密钥协商方法的流程图;

图3是根据本申请另一个实施例的密钥协商方法的流程图;

图4是根据本申请一个实施例的密钥协商装置的结构示意图;

图5是根据本申请另一个实施例的密钥协商装置的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的密钥协商方法及装置。

通常,通过非对称算法先协商出通信密钥,然后用对称算法用协商出来的密钥进行加密解密,以保证终端设备与云端服务器进行通信时传输数据的安全性。

其中,非对称密钥协商是在终端设备与云端服务器使用非对称密钥进行密钥协商之后,终端设备和云端服务器会对一串双方都已知的字符串进行加密、解密。通过解密之后的明文的比对来确认协商的密钥是否正确。

图1是根据本申请一个实施例的终端设备与云端服务器数据传输的示意图。

如图1所示,终端设备发起密钥协商请求,接着云端服务器对密钥协商响应,最后终端设备对密钥协商进行确认后,两者进行数据的安全传输。举例说明如下:

具体地,终端设备与云端服务器之间约定对“OK”的密文和明文操作作为密钥协商的确认。在密钥协商的最后一次终端设备与云端服务器交互的时候,终端设备使用协商出来的密钥对“OK”进行加密,然后将密文发送给云端服务器,云端服务器使用协商出来的密钥对密文进行解密,如果解密出来的明文是“OK”,则确认密钥协商完成。

然而,上述密钥协商的过程中,使用固定的字符串作为密钥协商的确认包,存在一定的规律性,安全性低。

为了解决上述问题,本申请实施例提出的密钥协商方法,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。具体如下:

图2是根据本申请一个实施例的密钥协商方法的流程图。

如图2所示,本申请实施例的密钥协商方法包括:

步骤110,在与云端服务器进行密钥协商的过程中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串。

具体地,在终端设备发起密钥协商请求,接着云端服务器对密钥协商响应,最后终端设备对密钥协商进行确认。通过对终端设备与云端服务器预先协商的第一字符串进行处理以生成第二字符串。

其中,第一字符串可以是字母、数字和特殊符号等中的一种或者多种。

其中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串的方式有很多种,可以根据需要进行选择。举例说明如下:

第一种示例,首先按照预设周期通过随机数发生器生成预设长度的随机数,接着将随机数与第一字符串进行拼接处理生成第二字符串。

其中,预设周期可以根据需要进行设置,例如10分钟、20分钟等。

其中,预设长度可以根据需要进行设置,例如5个字符串、10个字符串等。

其中,随机数可以是字母、数字和特殊符号等中的一种或者多种。

需要说明的是,拼接处理可以理解为“随机数+第一字符串”、也可以理解为“第一字符串+随机数”、还可以理解为随机数任意插入第一字符串的各个字符之间等。

举例而言,第一字符串为4位字符,在其后面拼接上随机数发生器生成的12位的随机数组成第二字符串。

第二种示例,首先应用预设算法获取与第一字符串对应的参考字符,接着将参考字符与第一字符串进行拼接处理生成第二字符串。

具体地,通过在终端设备中预先设置一种算法,通过应用预设算法获取与第一字符串对应的参考字符。

其中,参考字符可以是字母、数字和特殊符号等中的一种或者多种。

需要说明的是,拼接处理可以理解为“参考字符+第一字符串”、也可以理解为“第一字符串+参考字符”、还可以理解为参考字符任意插入第一字符串的各个字符之间等。

步骤120,应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包。

步骤130,将密钥数据包发送给云端服务器,以供云端服务器应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理,并根据解密结果中是否包含第一字符串确定密钥协商是否成功。

具体地,可以通过例如MD5加密算法、DES加密算法和RSA加密算法等,应用与云端服务器预先协商的加密密钥对第二字符串进行加密得到的结果作为密钥数据包。

进一步,将密钥数据包发送给云端服务器,云端服务器会利用相应的解密算法,应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理。

进一步地,判断解密结果中是否包含第一字符串以确定终端设备与服务器协商是否成功。

可以理解的是,在解密结果找到第一字符串,表示终端设备与云端服务器之间是可以建立连接以进行数据传输。进一步提高密钥协商的安全性。

可以理解的是,在解密结果没有找到第一字符串,表示终端设备与云端服务器之间是不可以建立连接,不能进行数据传输。进一步提高密钥协商的安全性。

本申请实施例的密钥协商方法,首先在与云端服务器进行密钥协商的过程中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串,接着应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,最后将密钥数据包发送给云端服务器,以供云端服务器应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理,并根据解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

图3是根据本申请另一个实施例的密钥协商方法的流程图。

如图3所示,本申请实施例的密钥协商方法包括:

步骤210,在与终端设备进行密钥协商的过程中,接收终端设备发送的密钥数据包,其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的。

具体地,在终端设备发起密钥协商请求,接着云端服务器对密钥协商响应,最后终端设备对密钥协商进行确认。首先接收终端设备发送的密钥数据包。

其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包。第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的。

需要说明的是,如何根据与云端服务器预先协商的第一字符串进行处理生成的第二字符串以及如何根据与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包的具体过程可以参见步骤110。此处不再详述。

步骤220,应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果。

步骤230,检测解密结果中是否包含第一字符串确定密钥协商是否成功。

具体地,在接收到数据包后应用于加密算法对应的解密算法,利用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果,并进一步检测解密结果中是否包含第一字符串。

进一步,将密钥数据包发送给云端服务器,云端服务器会利用相应的解密算法,应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理。

进一步地,判断解密结果中是否包含第一字符串以确定终端设备与服务器协商是否成功。

需要说明的是,在检测获知解密结果中包含第一字符串时应用与终端设备协商的密钥信息对交互信息进行加密或解密处理。即在密钥协商结束以后,可以利用与终端设备协商的密钥信息对交互信息进行处理,可以是加密、解密等一种或者多种。

本申请实施例的密钥协商方法,首先在与终端设备进行密钥协商的过程中,接收终端设备发送的密钥数据包,其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的,接着应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果,最后检测解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

为了实现本申请还提出一种密钥协商装置。

图4是根据本申请一个实施例的密钥协商装置的结构示意图。

如图4所示,该密钥协商包括:第一处理模块41、加密模块42和发送模块43。

其中,第一处理模块41用于在与云端服务器进行密钥协商的过程中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串。

加密模块42用于应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包。

发送模块43用于将密钥数据包发送给云端服务器,以供云端服务器应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理,并根据解密结果中是否包含第一字符串确定密钥协商是否成功。

其中,在本申请的一个实施例中,第一处理模块41用于:按照预设周期通过随机数发生器生成预设长度的随机数;将随机数与所述第一字符串进行拼接处理生成第二字符串。

其中,在本申请的一个实施例中,第一处理模块41还用于:应用预设算法获取与第一字符串对应的参考字符;将参考字符与第一字符串进行拼接处理生成第二字符串。

本发明实施例提供的密钥协商装置与上述第一方面实施例提供的密钥协商方法相对应,因此在前述密钥协商方法的实施方式也适用于本实施例提供的密钥协商装置,在本实施例中不再详细描述。

本申请实施例的密钥协商装置,首先在与云端服务器进行密钥协商的过程中,对与云端服务器预先协商的第一字符串进行处理生成第二字符串,接着应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,最后将密钥数据包发送给云端服务器,以供云端服务器应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理,并根据解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

图5是根据本申请另一个实施例的密钥协商装置的结构示意图。

如图5所示,该密钥协商装置包括:接收模块51、解密模块52和检测模块53。

其中,接收模块51用于在与终端设备进行密钥协商的过程中,接收终端设备发送的密钥数据包,其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的。

解密模块52用于应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果。

检测模块53用于检测解密结果中是否包含第一字符串确定密钥协商是否成功。

其中,在本申请的一个实施例中,该密钥协商装置还包括第二处理模块54。

其中,第二处理模块54用于在检测获知解密结果中包含第一字符串时,应用与终端设备协商的密钥信息对交互信息进行加密或解密处理。

本发明实施例提供的密钥协商装置与上述第二一方面实施例提供的密钥协商方法相对应,因此在前述密钥协商方法的实施方式也适用于本实施例提供的密钥协商装置,在本实施例中不再详细描述。

本申请实施例的密钥协商装置,首先在与终端设备进行密钥协商的过程中,接收终端设备发送的密钥数据包,其中,密钥数据包是终端设备应用与云端服务器预先协商的加密密钥对第二字符串进行加密处理生成密钥数据包,其中,第二字符串是终端设备对与云端服务器预先协商的第一字符串进行处理生成的,接着应用与终端设备预先协商的解密密钥对密钥数据包进行解密处理获取解密结果,最后检测解密结果中是否包含第一字符串确定密钥协商是否成功。由此,通过对预先协商的字符串进行处理,以生成无规律可循的密钥数据包,增加了密文的复杂性,提高了密钥协商的安全性。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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