一种握手处理方法、客户端及服务器与流程

文档序号:13534144阅读:290来源:国知局
一种握手处理方法、客户端及服务器与流程

本发明涉及通信技术领域,尤其涉及一种握手处理方法、客户端及服务器。



背景技术:

安全传输层协议(transportlayersecurity,tls)用于在客户端和服务器之间提供保密性和数据完整性。目前tls1.3(tls的1.3版本)草案正在制定中,tls1.3草案设计了一类基于预共享密钥(pre-sharedkey,psk)的连接建立方式,基于psk的连接建立方式可以建立高效的连接。在基于psk的连接建立方式中,客户端与服务器协商的密钥需要存储在客户端中,如果客户端存储的密钥泄露,则建立的连接将被中间人窃听或者攻击。如果客户端对密钥进行永久性存储(例如客户端将密钥存储在磁盘中),由于客户端的环境较复杂,永久性存储的密钥容易被泄漏,安全性较低。如果客户端对密钥进行缓存(例如客户端将密钥存储在内存中),当客户端出现故障导致关于该连接的大量进程退出时,密钥丢失,该连接将会断开,可靠性较低。传统的基于psk的连接建立方式无法同时兼顾安全性和可靠性。



技术实现要素:

本发明实施例提供一种握手处理方法、客户端及服务器,能够提高握手处理的安全性和可靠性。

本发明实施例第一方面提供一种握手处理方法,包括:

将用于进行psk握手的密钥的数字签名信息发送给服务器;

接收所述服务器发送的所述数字签名信息所包含的摘要信息,所述摘要信息是所述服务器对所述数字签名信息进行解密得到的;

基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果,所述握手指示信息用于指示与所述服务器之间进行psk握手;

当所述处理结果与所述服务器发送的握手标识信息相同时,根据所述密钥向所述服务器发送psk握手请求,以与所述服务器之间进行psk握手处理,所述握手标识信息是所述服务器基于所述摘要算法对所述握手指示信息和所述摘要信息进行处理得到并发送的。

本发明实施例第二方面提供另一种握手处理方法,包括:

接收客户端发送的用于进行psk握手的密钥的数字签名信息;

对所述数字签名信息进行解密得到所述数字签名信息所包含的摘要信息,将所述摘要信息发送给所述客户端,以使所述客户端基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果;

接收所述客户端根据所述密钥发送的psk握手请求,所述psk握手请求是所述客户端确定所述处理结果与所述客户端接收到的握手标识信息相同时生成并发送的;

与所述客户端之间进行psk握手处理。

本发明实施例第三方面提供一种客户端,包括:

签名信息发送单元,用于将用于进行psk握手的密钥的数字签名信息发送给服务器;

摘要信息接收单元,用于接收所述服务器发送的所述数字签名信息所包含的摘要信息,所述摘要信息是所述服务器对所述数字签名信息进行解密得到的;

处理结果获取单元,用于基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果,所述握手指示信息用于指示与所述服务器之间进行psk握手;

握手请求发送单元,用于当所述处理结果与所述服务器发送的握手标识信息相同时,根据所述密钥向所述服务器发送psk握手请求,以与所述服务器之间进行psk握手处理,所述握手标识信息是所述服务器基于所述摘要算法对所述握手指示信息和所述摘要信息进行处理得到并发送的。

本发明实施例第四方面提供一种服务器,包括:

签名信息接收单元,用于接收客户端发送的用于进行psk握手的密钥的数字签名信息;

摘要信息发送单元,用于对所述数字签名信息进行解密得到所述数字签名信息所包含的摘要信息,将所述摘要信息发送给所述客户端,以使所述客户端基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果;

握手请求接收单元,用于接收所述客户端根据所述密钥发送的psk握手请求,所述psk握手请求是所述客户端确定所述处理结果与所述客户端接收到的握手标识信息相同时生成并发送的;

握手处理单元,用于与所述客户端之间进行psk握手处理。

本发明实施例中,客户端将密钥的数字签名信息发送给服务器,服务器对数字签名信息进行解密得到摘要信息,其中用于解密数字签名信息的私钥存储与服务器中,则第三方平台即使获取了数字签名信息,也无法得到数字签名信息所包含的摘要信息;客户端接收服务器发送的摘要信息,并基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,当处理结果与服务器发送的握手标识信息相同时,客户端可以认为握手指示信息的发送端为服务器,而不是第三方平台,因为第三方平台无法获取该摘要信息,即使得到握手指示信息,第三方平台基于预设的摘要算法对握手指示信息进行处理得到的握手标识信息和客户端处理得到的处理结果也不相同,客户端确定第三方平台不是服务器,进而拒绝向第三方平台发送psk握手请求,由此可见,本发明实施例可对服务器进行身份认证,当身份认证成功时,方可根据密钥与服务器之间进行psk握手处理,可提高psk握手处理的安全性和可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种握手处理系统的结构示意图;

图2为本发明实施例提供的一种握手处理方法的流程图;

图3为本发明另一实施例提供的一种握手处理方法的流程示意图;

图4为本发明实施例提供的一种客户端的结构示意图;

图5为本发明另一实施例提供的一种客户端的结构示意图;

图6为本发明实施例提供的一种服务器的结构示意图;

图7为本发明另一实施例提供的一种客户端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中,客户端将密钥的数字签名信息发送给服务器,服务器对数字签名信息进行解密得到摘要信息,其中用于解密数字签名信息的私钥存储与服务器中,则第三方平台即使获取了数字签名信息,也无法得到数字签名信息所包含的摘要信息;客户端接收服务器发送的摘要信息,并基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,当处理结果与服务器发送的握手标识信息相同时,客户端可以认为握手指示信息的发送端为服务器,本发明实施例可对服务器进行身份认证,当身份认证成功时,方可根据密钥与服务器之间进行psk握手处理,可提高psk握手处理的安全性。相对传统的握手处理方法中将密钥存储至内部存储器,密钥易丢失,本发明实施例可永久存储该密钥,进而根据该密钥与服务器之间进行psk握手处理,可提高psk握手处理的可靠性。

基于上述原理,本发明实施例提供了一种握手处理系统,该系统可以为诸如即时通信应用系统、社会性网络服务(socialnetworkingservices,sns)应用系统等通信应用系统。参见图1,该握手处理系统的架构至少包括:服务器及接入至服务器的至少一个客户端。

其中,客户端可以运行于笔记本电脑、手机、pad(平板电脑)、车载终端、智能可穿戴设备等终端中。服务器可以是通信网络中的一个独立服务设备,或者是由通信网络中的多个独立服务设备共同构成的集群服务设备。

客户端,用于当需要与服务器之间建立会话连接时,将用于进行psk握手的密钥的数字签名信息发送给服务器。

服务器,用于对数字签名信息进行解密得到数字签名信息所包含的摘要信息,并将摘要信息发送给客户端。

客户端,还用于基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,其中,握手指示信息用于指示客户端与服务器之间进行psk握手。

客户端,还用于当处理结果与服务器发送的握手标识信息相同时,根据密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理,其中握手标识信息是服务器基于摘要算法对握手指示信息和摘要信息进行处理得到并发送的。

其中,预置的握手指示信息可以是服务器发送给客户端的,握手指示信息用于指示服务器确定与客户端之间的握手模式为psk握手。预设的摘要算法通过对握手指示信息提取指纹信息以实现数据签名的功能,该摘要算法可以包括消息摘要算法版本5(message-digestalgorithm5,md5)或者安全散列算法(securehashalgorithm,sha)等。

可选的,客户端将数字签名信息发送给服务器之前,客户端和服务器之间可以协商得到密钥,服务器可以生成该密钥的摘要信息,并通过预置的加密算法对摘要信息进行加密得到数字签名信息,服务器可以将该密钥、数字签名信息及其存储指示信息发送给客户端,客户端可以根据存储指示信息将密钥存储至内部存储器,并将密钥和数字签名信息存储至外部存储器。

其中,内部存储器可以包括随机存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)或者高速缓冲存储器(cache)等,内部存储器中的数据存取速率较快,内部存储器可以用于临时存放中央处理器(centralprocessingunit,cpu)中的运算数据,以及与外部存储器交互的数据。外部存储器可以包括软盘存储器、硬盘存储器或者光盘存储器等,外部存储器断电后仍然能保存数据,可以用于永久保存数据。

其中,数据加密的基本过程就是对数据(该数据为明文)按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”。当预置的加密算法基于对称式加密技术(即加密和解密使用同一个密钥)时,可以将该密钥存储在服务器中,服务器通过该密钥对摘要信息进行加密得到数字签名信息,并将数字签名信息发送给客户端,当客户端需要获取摘要信息时,客户端可以将数字签名信息发送给服务器,以便服务器通过该密钥对数字签名信息进行解密得到摘要信息,并将摘要信息反馈给客户端。当预置的加密算法基于非对称式加密技术(即加密和解密所使用的不是同一个密钥)时,可以将加密所使用的第一密钥和解密所使用的第二密钥存储至服务器中,服务器通过第一密钥对摘要信息进行加密得到数字签名信息,并将数字签名信息发送给客户端,当客户端需要获取摘要信息时,客户端可以将数字签名信息发送给服务器,以便服务器通过第二密钥对数字签名信息进行解密得到摘要信息,并将摘要信息反馈给客户端。本发明实施例将对摘要算法进行加解密所使用的密钥存储至服务器,则第三方平台即使获取了数字签名信息,也无法对数字签名信息进行解密得到摘要信息,进而第三方平台对握手指示信息进行摘要处理得到的握手标识信息和客户端对握手指示信息和摘要信息进行处理得到的处理结果不相同,客户端可确认第三方平台不是服务器,进而拒绝与第三方平台之间进行握手处理,本发明实施例可提高握手处理的安全性。

可选的,客户端将数字签名信息发送给服务器之前,可以检测内部存储器中是否存在密钥,当内部存储器中不存在密钥时,在外部存储器中获取密钥的数字签名信息,并将该数字签名信息发送给服务器;当内部存储器中存在密钥时,根据内部存储器中的密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理。

本发明实施例中,由于内部存储器中的密钥存取速率较快,但内部存储器中的密钥易丢失,对此,客户端可以将密钥分别存储在内部存储器和外部存储器中,当内部存储器中存在该密钥时,客户端可以在内部存储器中获取该密钥,进而根据内部存储器中的密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理,可提高psk握手处理的效率。当内部存储器中不存在该密钥时,客户端可以在外部存储器中获取密钥的数字签名信息,接收服务器对数字签名信息进行解密得到的摘要信息,根据摘要信息对服务器进行身份认证,可提高psk握手处理的安全性和可靠性。

可选的,当内部存储器中不存在密钥时,客户端可以向服务器发送握手模式请求信息,服务器可以根据当前负载确定与客户端之间的握手模式为psk握手或者椭圆曲线密钥(ecdh)握手,当当前负载大于预设阈值时生成握手指示信息,服务器可以基于摘要算法对握手指示信息和摘要信息进行处理得到握手标识信息,并将握手标识信息发送给客户端。其中,ecdh为基于椭圆曲线密码体制(ellipticcurvecryptosystems,ecc)的dh(diffie-hellman)密钥交换算法。握手指示信息用于指示与客户端之间进行psk握手。其中,负载可以包括cpu、内存或者输入输出端口等资源。

由于相对psk握手,ecdh握手的安全性更高,但性能损耗较大,所需的负载也较高,因此服务器接收到客户端发送的握手模式请求信息时,可以检测当前负载是否大于预设阈值,当当前负载大于预设阈值时,服务器可以选择与客户端之间进行psk握手,进而生成握手指示信息,基于摘要算法对握手指示信息和摘要信息进行处理得到握手标识信息,并将握手标识信息发送给客户端。可选的,服务器还可以将握手指示信息发送给客户端。当当前负载小于或者等于预设阈值时,服务器可以生成ecdh握手模式响应信息,并将该ecdh握手模式响应信息发送给客户端,以便客户端与服务器之间进行ecdh握手处理。本发明实施例根据服务器当前负载确定握手模式,可提高握手处理的可靠性。

基于上述描述,本发明实施例还提供了一种握手处理方法,请参见图2,该握手处理方法至少可以包括如下步骤:

s201,服务器将密钥、数字签名信息及其存储指示信息发送给客户端。

服务器可以将密钥、数字签名信息及其存储指示信息发送给客户端,其中密钥用于客户端与服务器之间进行psk握手处理,数字签名信息用于对摘要信息进行加密,摘要信息用于客户端对服务器进行身份认证,存储指示信息用于指示客户端将密钥存储至内部存储器,并将密钥和数字签名信息存储至外部存储器。

具体实现中,服务器可以对该密钥的摘要信息进行加密得到数字签名信息,服务器可以将密钥、数字签名信息及存储指示信息在1-rttecdh握手中发送给客户端。其中,用于加密摘要信息的密钥存储于服务器中,第三方平台无法获取到用于解密数字签名信息的密钥,则第三方平台即使在客户端中获取到数字签名信息,也无法对数字签名信息进行解密得到摘要信息。

s202,客户端根据存储指示信息将密钥存储至内部存储器,并将密钥和数字签名信息存储至外部存储器。

s203,当内部存储器中不存在密钥时,客户端向服务器发送握手模式请求信息,握手模式请求信息携带数字签名信息。

具体实现中,由于内部存储器中的密钥存取速率较快,但内部存储器中的密钥易丢失,则客户端需要与服务器之间建立会话连接时,可以检测内部存储器中是否存在用于与服务器之间进行psk握手处理的密钥,当内部存储器中存在该密钥时,客户端可以根据内部存储器中的该密钥向服务器发送psk握手请求,以与服务器之间进行psk握手。

以图3所示的握手处理方法的流程示意图为例,当内部存储器中不存在该密钥时,客户端可以与服务器之间进行1-rttecdh握手,在1-rttecdh握手中将握手模式请求信息发送给服务器,其中握手模式请求信息包括psk握手模式、ecdh握手模式以及数字签名信息。如图3所示,psk握手模式可以如下所示:

psk握手模式可以如下所示:

pskciphersuite

refresh_psk=key,ticket{key,mac_key},mac_value

其中,key为密钥,ticket{key,mac_key}为数字签名信息,数字签名信息中包含摘要信息mac_key,mac_value为握手标识信息,客户端在外部存储器中查找到该密钥的数字签名信息,将数字签名信息ticket{key,mac_key}和ecdh握手模式指示信息(即client_ecdh_public_value)发送给服务器。

s204,当服务器当前负载大于预设阈值时,服务器对数字签名信息进行解密得到摘要信息。

具体实现中,由于ecdh握手安全性较高,但性能损耗较大,所需负载较高,而psk所需负载较小,则在服务器当前负载较高的情况下,服务器与客户端之间进行psk握手处理,可提高握手处理的有效性;在服务器当前负载较低的情况下,服务器与客户端之间进行ecdh握手处理,可提高握手处理的可靠性。因此,服务器接收到握手模式请求信息之后,可以检测服务器当前负载是否大于预设阈值,当服务器当前负载大于预设阈值时,服务器可以在服务器的存储器中查找用于解密数字签名信息的密钥,并根据该密钥对数字签名信息进行解密得到摘要信息。以图3所示的握手处理方法的流程示意图为例,服务器接收到数字签名信息ticket{key,mac_key}之后,可以对数字签名信息进行解密得到摘要信息mac_key(即mac_key=decrypt(ticket{key,mac_key},ticket_key))。其中ticket_key为用于对数字签名信息进行加解密的密钥。

可选的,当服务器当前负载小于或者等于预设阈值时,服务器可以生成ecdh握手模式响应信息,并将ecdh握手模式响应信息发送给客户端,以便客户端与服务器之间进行ecdh握手处理。

s205,服务器将摘要信息发送给客户端。

s206,客户端基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果。

客户端可以基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果。其中预置的握手指示信息可以是服务器在1-rttecdh握手中发送给客户端的,握手指示信息用于指示服务器确定与客户端之间进行psk握手处理。可选的,握手指示信息可以是服务器检测到服务器当前负载大于预设阈值时生成并发送给客户端的。预设的摘要算法可以包括md5算法或者sha算法等。

以图3所示的握手处理方法的流程示意图为例,客户端基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,可以如下所示:

cal_mac_value==hmac(key,mac_key)

s207,当服务器当前负载大于预设阈值时,服务器基于预设的摘要算法对握手指示信息和摘要信息进行处理得到握手标识信息。

可选的,握手标识信息可以是服务器在1-rttecdh握手中发送给客户端的,即在1-rttecdh握手中,服务器基于预设的摘要算法对握手指示信息和摘要信息进行处理得到握手标识信息,将该握手标识信息通过1-rttecdh握手发送给客户端。

s208,服务器将握手标识信息发送给客户端。

s209,当处理结果和握手标识信息相同时,客户端根据外部存储器中的密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理。

当处理结果和握手标识信息相同时,客户端可以确定对服务器身份验证成功,客户端可以根据外部存储器中的密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理。以图3所示的握手处理方法的流程示意图为例,当处理结果和握手标识信息相同时,客户端根据外部存储器中的密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理可以如下所示:

ifmac_value==cal_mac_valuethenacceptpskciphersuite

s210,客户端与服务器之间建立会话连接。

本发明实施例的握手处理方法中,客户端将密钥的数字签名信息发送给服务器,服务器对数字签名信息进行解密得到摘要信息,客户端接收服务器发送的摘要信息,并基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,当处理结果与服务器发送的握手标识信息相同时,客户端根据密钥与服务器之间进行psk握手处理,可提高psk握手处理的安全性和可靠性。

请参见图4,图4是本发明实施例中提供的一种客户端的结构示意图,如图所示本实施例中的客户端至少可以包括签名信息发送单元401、摘要信息接收单元402、处理结果获取单元403以及握手请求发送单元404,其中:

签名信息发送单元401,用于将用于进行psk握手的密钥的数字签名信息发送给服务器。

摘要信息接收单元402,用于接收服务器发送的数字签名信息所包含的摘要信息,摘要信息是服务器对数字签名信息进行解密得到的。

处理结果获取单元403,用于基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果,所述握手指示信息用于指示与所述服务器之间进行psk握手。

握手请求发送单元404,用于当所述处理结果与所述服务器发送的握手标识信息相同时,根据所述密钥向所述服务器发送psk握手请求,以与所述服务器之间进行psk握手处理,所述握手标识信息是所述服务器基于所述摘要算法对所述握手指示信息和所述摘要信息进行处理得到并发送的。

可选的,本发明实施例的客户端还可以包括:

检测单元405,用于所述签名信息发送单元401将所述数字签名信息发送给所述服务器之前,检测内部存储器中是否存在所述密钥。

签名信息获取单元406,用于当所述内部存储器中不存在所述密钥时,在外部存储器中获取所述密钥的数字签名信息。

握手请求发送单元404,还用于当所述内部存储器中存在所述密钥时,根据所述内部存储器中的所述密钥向所述服务器发送psk握手请求,以与所述服务器之间进行psk握手处理。

可选的,本发明实施例的客户端还可以包括:

检测单元405,用于检测内部存储器中是否存在所述密钥。

请求信息发送单元407,用于当所述内部存储器中不存在所述密钥时,向所述服务器发送握手模式请求信息,以使所述服务器检测到所述服务器当前负载大于预设阈值时生成所述握手指示信息,所述服务器基于所述摘要算法对所述握手指示信息和所述摘要信息进行处理得到所述握手标识信息。

标识信息接收单元408,用于接收所述服务器发送的所述握手标识信息。

可选的,本发明实施例的客户端还可以包括:

响应信息接收单元409,用于所述请求信息发送单元407向所述服务器发送握手模式请求信息之后,接收所述服务器发送的椭圆曲线密钥ecdh握手模式响应信息,所述ecdh握手模式响应信息是所述服务器检测到所述服务器当前负载小于或者等于所述预设阈值时生成的。

握手处理单元410,用于与所述服务器之间进行ecdh握手处理。

可选的,本发明实施例的客户端还可以包括:

密钥接收单元411,用于所述签名信息发送单元401将所述数字签名信息发送给所述服务器之前,接收所述服务器发送的所述密钥、所述数字签名信息及其存储指示信息,所述数字签名信息是所述服务器对所述摘要信息进行加密得到的。

存储单元412,用于根据所述存储指示信息将所述密钥存储至所述内部存储器,并将所述密钥和所述数字签名信息存储至所述外部存储器。

本发明实施例中,签名信息发送单元401将数字签名信息发送给服务器,摘要信息接收单元402接收服务器发送的数字签名信息所包含的摘要信息,处理结果获取单元403基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,当处理结果与服务器发送的握手标识信息相同时,握手请求发送单元404根据密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理,可提高握手处理的安全性和可靠性。

请参见图5,图5为本发明实施例提供的一种终端的结构示意图,本发明实施例提供的终端可以用于实施上述图2所示的本发明实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2所示的本发明实施例。

如图5所示,该终端包括:至少一个处理器501,例如cpu,至少一个输入装置503,至少一个输出装置504,存储器505,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,输入装置503具体可以为网络接口,用于接收服务器发送的数字签名信息所包含的摘要信息。其中,输出装置504具体可以为网络接口,用于将数字签名信息发送给服务器。其中,内部存储器505可能包含ram存储器或者rom存储器等,具体用于存储密钥。其中,外部存储器506可能还包括非不稳定的存储器,例如至少一个磁盘存储器,具体用于存储密钥和数字签名信息。内部存储器505或者外部存储器506可选的可以包含至少一个位于远离前述处理器501的存储装置。处理器501可以结合图4所示的客户端。内部存储器505中存储一组程序代码,且处理器501、输入装置503以及输出装置504调用内部存储器505中存储的程序代码,用于执行以下操作:

输出装置504将用于进行psk握手的密钥的数字签名信息发送给服务器。

输入装置503接收服务器发送的数字签名信息所包含的摘要信息,摘要信息是服务器对数字签名信息进行解密得到的。

处理器501基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,握手指示信息用于指示与服务器之间进行psk握手。

当处理结果与服务器发送的握手标识信息相同时,输出装置504根据密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理,握手标识信息是服务器基于摘要算法对握手指示信息和摘要信息进行处理得到并发送的。

可选的,输出装置504将用于进行psk握手的密钥的数字签名信息发送给服务器之前,还可以执行以下操作:

处理器501检测内部存储器505中是否存在密钥。

当内部存储器505中不存在密钥时,在外部存储器506中获取密钥的数字签名信息。

当内部存储器505中存在密钥时,输出装置504根据内部存储器中的密钥向服务器发送psk握手请求,以与服务器之间进行psk握手处理。

可选的,处理器501还可以执行以下操作:

检测内部存储器505中是否存在密钥。

当内部存储器505中不存在密钥时,输出装置504向所述服务器发送握手模式请求信息,以使所述服务器检测到所述服务器当前负载大于预设阈值时生成所述握手指示信息,所述服务器基于所述摘要算法对所述握手指示信息和所述摘要信息进行处理得到所述握手标识信息。

输入装置503接收所述服务器发送的所述握手标识信息。

可选的,所述当所述内部存储器中不存在所述密钥时,输出装置504向所述服务器发送握手模式请求信息之后,还可以执行以下操作:

输入装置503接收所述服务器发送的ecdh握手模式响应信息,所述ecdh握手模式响应信息是所述服务器检测到所述服务器当前负载小于或者等于所述预设阈值时生成的。

处理器501与所述服务器之间进行ecdh握手处理。

可选的,输出装置504将用于进行psk握手的密钥的数字签名信息发送给服务器之前,还可以执行以下操作:

输入装置503接收所述服务器发送的所述密钥、所述数字签名信息及其存储指示信息,所述数字签名信息是所述服务器对所述摘要信息进行加密得到的。

处理器501根据所述存储指示信息将所述密钥存储至所述内部存储器,并将所述密钥和所述数字签名信息存储至所述外部存储器。

具体的,本发明实施例中介绍的终端可以用以实施本发明结合图2介绍的方法实施例中的部分或全部流程。

请参见图6,图6是本发明实施例中提供的一种服务器的结构示意图,如图所示本实施例中的服务器至少可以包括签名信息接收单元601、摘要信息发送单元602、握手请求接收单元603以及握手处理单元604,其中:

签名信息接收单元601,用于接收客户端发送的用于进行预共享密钥psk握手的密钥的数字签名信息。

摘要信息发送单元602,用于对所述数字签名信息进行解密得到所述数字签名信息所包含的摘要信息,将所述摘要信息发送给所述客户端,以使所述客户端基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果。

握手请求接收单元603,用于接收所述客户端根据所述密钥发送的psk握手请求,所述psk握手请求是所述客户端确定所述处理结果与所述客户端接收到的握手标识信息相同时生成并发送的。

握手处理单元604,用于与所述客户端之间进行psk握手处理。

可选的,本发明实施例中的服务器还可以包括:

请求信息接收单元605,用于接收所述客户端发送的握手模式请求信息,所述握手模式请求信息是所述客户端检测到所述客户端的内部存储器中不存在所述密钥时生成的。

检测单元606,用于检测当前负载是否大于预设阈值。

指示信息发送单元607,用于当当前负载大于所述预设阈值时,生成所述握手指示信息,并将所述握手指示信息发送给所述客户端。

可选的,本发明实施例中的服务器还可以包括:

标识信息获取单元608,用于根据所述摘要算法对所述握手模式指示信息和所述摘要信息进行处理,得到握手标识信息。

标识信息发送单元609,用于将所述握手标识信息发送给所述客户端。

可选的,本发明实施例中的服务器还可以包括:

响应信息发送单元610,用于当当前负载小于或者等于所述预设阈值时,生成椭圆曲线密钥ecdh握手模式响应信息,并将所述ecdh握手模式响应信息发送给所述客户端。

所述握手处理单元604,还用于与所述客户端之间进行ecdh握手处理。

可选的,本发明实施例中的服务器还可以包括:

密钥发送单元611,用于所述签名信息接收单元601接收所述客户端发送的所述数字签名信息之前,将所述密钥、所述数字签名信息及其存储指示信息发送给所述客户端,以使所述客户端根据所述存储指示信息将所述密钥存储至所述内部存储器,并将所述密钥以及所述数字签名信息存储至所述外部存储器。

本发明实施例中,签名信息接收单元601接收客户端发送的数字签名信息,摘要信息发送单元602对数字签名信息进行解密得到摘要信息,将摘要信息发送给客户端,以使客户端基于预设的摘要算法对预置的握手指示信息和摘要信息进行处理,得到处理结果,握手请求接收单元603接收客户端根据密钥发送的psk握手请求,psk握手请求是客户端确定处理结果与客户端接收到的握手标识信息相同时生成并发送的,握手处理单元604与客户端之间进行psk握手处理,可提高握手处理的安全性和可靠性。

请参见图7,图7为本发明实施例提供的一种终端的结构示意图,本发明实施例提供的终端可以用于实施上述图2所示的本发明实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2所示的本发明实施例。

如图7所示,该终端包括:至少一个处理器701,例如cpu,至少一个输入装置703,至少一个输出装置704,存储器705,至少一个通信总线702。其中,通信总线702用于实现这些组件之间的连接通信。其中,输入装置703具体可以为网络接口,用于接收客户端发送的数字签名信息。其中,输出装置704具体可以为网络接口,用于将摘要信息发送给客户端。其中,存储器705可能包含ram存储器,可能还包括非不稳定的存储器,例如至少一个磁盘存储器,具体用于存储握手标识信息。存储器705可选的可以包含至少一个位于远离前述处理器701的存储装置。存储器705中存储一组程序代码,且处理器701、输入装置703以及输出装置704调用存储器705中存储的程序代码,用于执行以下操作:

输入装置703接收客户端发送的用于进行psk握手的密钥的数字签名信息。

处理器701对数字签名信息进行解密得到数字签名信息所包含的摘要信息,输出装置704将摘要信息发送给客户端,以使客户端基于预设的摘要算法对预置的握手指示信息和所述摘要信息进行处理,得到处理结果。

输入装置703接收所述客户端根据所述密钥发送的psk握手请求,所述psk握手请求是所述客户端确定所述处理结果与所述客户端接收到的握手标识信息相同时生成并发送的。

处理器701与所述客户端之间进行psk握手处理。

可选的,输入装置703还可以执行以下操作:

接收所述客户端发送的握手模式请求信息,所述握手模式请求信息是所述客户端检测到所述客户端的内部存储器中不存在所述密钥时生成的。

处理器701检测当前负载是否大于预设阈值。

当当前负载大于所述预设阈值时,处理器701生成所述握手指示信息,输出装置704将所述握手指示信息发送给所述客户端。

可选的处理器701还可以执行以下操作:

根据所述摘要算法对所述握手模式指示信息和所述摘要信息进行处理,得到握手标识信息。

输出装置704将所述握手标识信息发送给所述客户端。

在可选实施例中,处理器701还可以执行以下操作:

当当前负载小于或者等于所述预设阈值时,生成ecdh握手模式响应信息,输出装置704将所述ecdh握手模式响应信息发送给所述客户端。

处理器701与所述客户端之间进行ecdh握手处理。

可选的,输入装置703接收客户端发送的用于进行psk握手的密钥的数字签名信息之前,还可以执行以下操作:

输出装置704将所述密钥、所述数字签名信息及其存储指示信息发送给所述客户端,以使所述客户端根据所述存储指示信息将所述密钥存储至所述内部存储器,并将所述密钥以及所述数字签名信息存储至所述外部存储器。

具体的,本发明实施例中介绍的终端可以用以实施本发明结合图2介绍的方法实施例中的部分或全部流程。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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