一种信道安全确定方法、装置、系统、客户端及服务器与流程

文档序号:11253974阅读:892来源:国知局
一种信道安全确定方法、装置、系统、客户端及服务器与流程

本发明涉及数据安全技术领域,特别是涉及一种信道安全确定方法、装置、系统、客户端及服务器。



背景技术:

数据安全的重要性是不言而喻的,需要在数据传输的过程中保证数据的安全性。在实际应用中,为了保证数据在tcp(transmissioncontrolprotocol,传输控制协议)通信过程中的安全性,需要客户端与服务器之间的数据传输过程中所有的数据均进行加密。

在现有技术中,通常利用对称加密的方法对数据进行加密,实现数据的安全传输。对称加密是采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。在进行数据加密传输之前,服务器需要将自身获得的对称密钥发送给客户端,如果服务器与客户端之间的信道是不安全的信道,可能使得在传输密钥的过程中,密钥会被第三方服务器截获。这样导致在后续的数据传输过程中,加密的数据被第三方服务器截获后,采用之前截获的对称密钥,对加密的数据进行解密,从而造成数据的泄露,降低了数据传输过程中的安全性。



技术实现要素:

本发明实施例的目的在于提供一种信道安全确定方法、装置、系统、客户端及服务器,以提高数据传输的安全性。具体技术方案如下:

第一方面,为了达到上述目的,本发明实施例提供了一种信道安全确定方法,应用于客户端,所述方法包括:

利用预先获得的第一公钥对第一信息进行加密,生成第一验证请求;

向目标服务器发送所述第一验证请求,以使所述目标服务器利用预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,向所述客户端发送所述第一加密信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

接收所述目标服务器发送的所述第一加密信息,并利用所述第一公钥对所述第一加密信息进行解密,获得第二解密信息;

判断所述第二解密信息是否与所述第一信息相同;

如果相同,向所述目标服务器发送第一确认信息,以使所述目标服务器基于所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;利用所述第二私钥对第二信息进行加密,生成第二验证请求;将所述第二验证请求与所述第二公钥发送给所述客户端;

接收所述目标服务器发送的所述第二验证请求,并利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;

利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;

将所述第二加密信息发送给所述目标服务器,以使所述目标服务器利用所述第二私钥对所述第二加密信息进行解密;确定是否获得所述第二加密信息解密后的信息,如果是,将所述第二加密信息解密后的信息确定为第四解密信息,并判断所述第四解密信息是否与所述第二信息相同;如果是,将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯的目标密钥,并将所述目标密钥发送给所述客户端;

当接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

第二方面,为了达到上述目的,本发明实施例提供了一种信道安全确定方法,应用于目标服务器,所述方法包括:

获得客户端发送的第一验证请求;其中,所述第一验证请求是所述客户端利用预先获得的第一公钥对第一信息加密后生成的;

通过预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;

利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,并向所述客户端发送所述第一加密信息;以使所述客户端利用所述第一公钥对所述第一加密信息进行解密获得第二解密信息;判断所述第二解密信息是否与所述第一信息相同;如果相同,向所述目标服务器发送第一确认信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

接收所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;

利用所述第二私钥对第二信息进行加密,生成第二验证请求;

将所述第二验证请求与所述第二公钥发送给所述客户端;以使所述客户端利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;将所述第二加密信息发送给所述目标服务器;

获得所述第二加密信息,并利用所述第二私钥对所述第二加密信息进行解密,得到第四解密信息;

判断所述第四解密信息是否与所述第二信息相同;

如果是,确定所述目标服务器自身与所述客户端之间的信道为安全信道,生成用于与所述客户端进行通讯的目标密钥,并向所述客户端发送所述目标密钥,以使所述客户端接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

第三方面,为了达到上述目的,本发明实施例提供了一种信道安全确定装置,应用于客户端,所述装置包括:

生成模块,用于利用预先获得的第一公钥对第一信息进行加密,生成第一验证请求;

第一发送模块,用于向目标服务器发送所述第一验证请求,以使所述目标服务器利用预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,向所述客户端发送所述第一加密信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

第一获得模块,用于接收所述目标服务器发送的所述第一加密信息,并利用所述第一公钥对所述第一加密信息进行解密,获得第二解密信息;

第一判断模块,用于判断所述第二解密信息是否与所述第一信息相同;

第二发送模块,用于在所述第一判断模块的判断结果为相同的情况下,向所述目标服务器发送第一确认信息,以使所述目标服务器基于所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;利用所述第二私钥对第二信息进行加密,生成第二验证请求;将所述第二验证请求与所述第二公钥发送给所述客户端;

第二获得模块,用于接收所述目标服务器发送的所述第二验证请求,并利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;

第三获得模块,用于利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;

第三发送模块,用于将所述第二加密信息发送给所述目标服务器,以使所述目标服务器利用所述第二私钥对所述第二加密信息进行解密;确定是否获得所述第二加密信息解密后的信息,如果是,将所述第二加密信息解密后的信息确定为第四解密信息,并判断所述第四解密信息是否与所述第二信息相同;如果是,将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯的目标密钥,并将所述目标密钥发送给所述客户端;

确定模块,用于当接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

第四方面,为了达到上述目的,本发明实施例提供了一种信道安全确定装置,应用于目标服务器,所述装置包括:

第一获得模块,用于获得客户端发送的第一验证请求;其中,所述第一验证请求是所述客户端利用预先获得的第一公钥对第一信息加密后生成的;

第二获得模块,用于通过预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;

第一发送模块,用于利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,并向所述客户端发送所述第一加密信息;以使所述客户端利用所述第一公钥对所述第一加密信息进行解密获得第二解密信息;判断所述第二解密信息是否与所述第一信息相同;如果相同,向所述目标服务器发送第一确认信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

第一生成模块,用于接收所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;

第二生成模块,用于利用所述第二私钥对第二信息进行加密,生成第二验证请求;

第二发送模块,用于将所述第二验证请求与所述第二公钥发送给所述客户端;以使所述客户端利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;将所述第二加密信息发送给所述目标服务器;

解密模块,用于获得所述第二加密信息,并利用所述第二私钥对所述第二加密信息进行解密,得到第四解密信息;

判断模块,用于判断所述第四解密信息是否与所述第二信息相同;

确定模块,用于在所述判断模块的判断结果为是的情况下,确定所述目标服务器自身与所述客户端之间的信道为安全信道,生成用于与所述客户端进行通讯的目标密钥,并向所述客户端发送所述目标密钥,以使所述客户端接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

第五方面,为了达到上述目的,本发明实施例提供了一种信道安全确定系统,所述系统包括:客户端和目标服务器;

所述客户端,用于利用预先获得的第一公钥对第一信息进行加密,生成第一验证请求;向目标服务器发送所述第一验证请求;

所述目标服务器,用于利用预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,向所述客户端发送所述第一加密信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

所述客户端,还用于接收所述目标服务器发送的所述第一加密信息,并利用所述第一公钥对所述第一加密信息进行解密;确定是否获得所述第一加密信息解密后的信息;如果是,将解密后的信息确定为第二解密信息,并判断所述第二解密信息是否与所述第一信息相同;如果相同,向所述目标服务器发送第一确认信息;

所述目标服务器,还用于基于所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;利用所述第二私钥对第二信息进行加密,生成第二验证请求;将所述第二验证请求与所述第二公钥发送给所述客户端;

所述客户端,还用于接收所述目标服务器发送的所述第二验证请求,并利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;将所述第二加密信息发送给所述目标服务器;

所述目标服务器,还用于利用所述第二私钥对所述第二加密信息进行解密;确定是否获得所述第二加密信息解密后的信息,如果是,将所述第二加密信息解密后的信息确定为第四解密信息,并判断所述第四解密信息是否与所述第二信息相同;如果是,将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯的目标密钥,并将所述目标密钥发送给所述客户端;

所述客户端,还用于当接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

第六方面,为了达到上述目的,本发明实施例还提供了一种客户端,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面所述的方法步骤。

第七方面,为了达到上述目的,本发明实施例还提供了一种服务器,包括处理器、通信接口、存储器和第二通信总线,其中,所述处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求如上述第二方面所述的方法步骤。

第八方面,为了达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法步骤。

第九方面,为了达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面所述的方法步骤。

本发明实施例提供的信道安全确定方法、装置、系统、客户端及服务器,可以通过客户端与服务器使用非对称加密进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,降低了数据泄露的风险,增加数据传输过程中的安全性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的信道确定方法的第一种流程示意图;

图2为本发明实施例提供的信道确定方法的第二种流程示意图;

图3为本发明实施例提供的信道确定方法的第三种流程示意图;

图4为本发明实施例提供的信道确定方法的第四种流程示意图;

图5为本发明实施例提供的信道确定装置的第一种结构示意图;

图6为本发明实施例提供的信道确定装置的第二种结构示意图;

图7为本发明实施例提供的信道确定系统的结构示意图;

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

图9为本发明实施例提供的服务器的结构示意图。

具体实施方式

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

为了解决现有技术中的问题,本发明实施例提供了信道安全确定方法、装置、系统、客户端及服务器。下面首先对信道安全确定方法进行详细说明。

图1为本发明实施例提供的信道确定方法的第一种流程示意图,该方法应用于客户端,具体的,客户端可以理解为:与服务器相对应,为客户提供本地服务的程序。信道安全确定方法包括:

s101:利用预先获得的第一公钥对第一信息进行加密,生成第一验证请求。

客户端获得的第一公钥可以是目标服务器发送的,目标服务器可以是服务器集群中的任意一个与客户端建立连接的服务器。目标服务器在公私钥池中选择一个公私钥对,将所选择的公私钥对中的公钥,即第一公钥发送给客户端,以使客户端利用第一公钥验证服务器是否是伪造的或被篡改的服务器。目标服务器可以在公私钥池中随机选择一个公私钥对,也可以根据接收到的客户端发送的公私钥对的标识,从公私钥对池中选择相对应的公私钥对。当然,还可以按照预先确定的选择顺序进行选择,在此不进行限定。需要说明的是,公私钥池存储有预先确定的公私钥对,一个公私钥对包括一个公钥和一个私钥。

需要说明的是,这里所说的第一信息可以为字符、文字等等,主要用于后期的客户端验证发送出去的信息与接收到的信息是否相同,对第一信息的具体内容不进行限定。

在本发明实施例中,通过非对称加密算法,对第一信息进行加密,生成第一验证请求。第一验证请求可以理解为加密后的第一信息。非对称加密算法可以为rsa算法、elgamal算法、ecc算法(ellipticcurvecryptography,椭圆曲线加密算法)等,本发明实施例对此不进行限定。

s102:向目标服务器发送所述第一验证请求,以使所述目标服务器利用预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,向所述客户端发送所述第一加密信息;其中,所述第一公钥和所述第一私钥是一对密钥对。

客户端向目标服务器发送第一验证请求的目的是为了验证目标服务器是不是服务提供方的服务器,即验证服务器是不是伪造的服务器。

目标服务器在接收到第一验证请求后,先对第一验证请求进行解密,获得第一解密信息;然后利用第一私钥对第一解密信息进行加密,获得第一加密信息,再将第一加密信息发送给客户端。因为第一验证请求是加密的信息,只有对第一验证请求进行解密,才能对第一验证请求中的信息进行加密。

目标服务器利用上述所说的非对称加密算法,利用第一私钥对第一验证请求进行解密。上述所说的非对称加密算法是加解密算法,可以用于加密,也可用于解密,加密和解密是一个逆过程。

s103:接收所述目标服务器发送的所述第一加密信息,并利用所述第一公钥对所述第一加密信息进行解密,获得第二解密信息。

客户端在接收到第一加密信息后,利用第一公钥进行解密,这里所说的解密可以利用s102中目标服务器解密方法进行解密。

s104:判断所述第二解密信息是否与所述第一信息相同;如果相同,执行s105,否则,结束。

如果第二解密信息与第一信息相同,说明客户端将第一验证请求发送给了之前发送第一公钥的服务器,而且在客户端与目标服务器相互传递的过程中,没有第三方服务器篡改或劫持所发送的信息,客户端可以初步确定自身与目标服务器之间的信道是安全的。

如果第二解密信息与第一信息不同,说明有可能存在第三方服务器将客户端发送给目标服务器的第一验证请求或者目标服务器发送给客户端的第一解密信息篡改或劫持,还有可能客户端没有将第一验证请求发送给目标服务器,最终导致第二解密信息与第一信息不同。第二解密信息与第一信息您不同,说明客户端与目标服务器之间的信道是不安全的,可能会造成数据的泄露,因此客户端可以断开与目标服务器之间的连接。

s105:向所述目标服务器发送第一确认信息,以使所述目标服务器基于所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;利用所述第二私钥对第二信息进行加密,生成第二验证请求;将所述第二验证请求与所述第二公钥发送给所述客户端。

客户端在判断出第二解密信息与第一信息相同的情况下,可以向目标服务器发送第一确认信息,第一确认信息可以是字母、数字、文字等等。目标服务器接收到第一确定信息后,可以确定第二解密信息与第一信息相同,则生成第一密钥对,第一密钥对包括第二私钥和第二公钥。第一密钥对可以是采用密钥生成算法生成的,具体地,采用rsa算法生成的,也可以是其他算法生成的,在此不进行限定。

目标服务器生成第一密钥对的目的是验证客户端是否是伪造的或者被篡改的客户端,进而保证在数据传输过程中数据的安全。目标服务器通过非对称加密算法,利用第二私钥对第二信息进行加密,生成第二验证请求。第二信息也可以为字符串、字母、数字、文字中的至少一种。目标服务器将第二验证请求与第二公钥一起发送给客户端。

s106:接收所述目标服务器发送的所述第二验证请求,并利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息。

客户端在接收到目标服务器发送的第二验证请求后,可以利用所接收到的第二公钥对第二验证请求进行解密,获得第三解密信息。s106与s103的解密原理相同,可以采用同一种算法进行解密。

s107:利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息。

客户端利用第二公钥对第三解密信息进行加密,获得第二加密信息。本领域技术人员可以理解的是,第二加密信息是第三解密信息进行加密后得到的。

s108:将所述第二加密信息发送给所述目标服务器,以使所述目标服务器利用所述第二私钥对所述第二加密信息进行解密,获得第四解密信息;判断所述第四解密信息是否与所述第二信息相同;如果是,将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯的目标密钥,并将所述目标密钥发送给所述客户端。

目标服务器在接收到第二加密信息后,可以利用自己记录的第二私钥对第二加密信息进行解密,获得第四解密信息,并判断第四解密信息是否与第二信息相同。如果相同,说明客户端不是伪造的客户端,也不是被篡改的客户端,同时在通信的过程中,信息没有被第三方服务器篡改或劫持,则可以确定目标服务器与客户端之间的信息是安全的。这样使得在后续的目标服务器与客户端的通信过程中,降低了数据漏泄的风险,提高了在数据传输过程中数据的安全性。

目标服务器生成的目标密钥可以是对称密钥,通过对称密钥进行数据的传输,相较于利用非对称密钥进行数据传输,效率更高,因为加密和解密的速度比较快。对称密钥可以是采用aes(advancedencryptionstandard,高级加密标准)算法生成的。

如果第四解密信息与第二信息不同,说明目标服务器与客户端之间的信道是不安全的,则断开与客户端之间的连接,不会进行后续的数据的传输。

s109:当接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

在本发明实施例中,安全的信道的确定是需要目标服务器和客户端共同确定的,只有目标服务器或客户端确定是不行的,因为如果目标服务器与客户端中有一个确定两者之间的信道是不安全的,则将断开与对方的连接,就不会进行后续的数据传输。

需要说明的是,本发明实施例提供的信道安全确定方法,是在客户端与目标服务器建立连接时执行,一旦客户端与目标服务器均确认与对方之间的信道是安全的信道,后续的数据传输只需要采用目标密钥进行加密即可,不需要在进行目标服务器与客户端之间相互验证。如果客户端与目标服务器断开连接,下一次建立连接时,需要执行本发明实施例提供的信道安全确定方法。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,降低了数据泄漏的风险,增加了数据传输的安全性。

图2为本发明实施例所提供的信道安全确定方法的第二种流程示意图。基于图1所提供的实施例,本发明实施例所提供的一种图像处理方法,在s108和s109之间,方法还可以包括:

s110:接收所述目标服务器发送的第二确认信息,生成包括第三公钥和第三私钥的第二密钥对,其中,所述第二确认信息是所述目标服务器在判断出所述第四解密信息与所述第二信息相同的情况下生成并发送的。

目标服务器在确定第四解密信息与第二信息相同时,向客户端发送第二确认信息。这里所说的第二确认信息与上述所说的第一确认信息是同一个类型的信息,进一步地,还可以是同一个信息。示例性的,在事先约定了0代表相同的时候,则第一确认信息和第二确认信息均包含0。

客户端生成第二密钥对的主要目的是验证发送第二确认信息的服务器是否为接收第一验证请求的服务器,即进一步验证客户端与目标服务器之间的信道是否安全。

s111:利用所述第三私钥对第三信息进行加密,获得第三验证请求。

需要说明的是,s111和上述所说的s101和s107的原理相同,在此不进行赘述。第三信息与上述所说的第一信息和第二信息是同一类型的信息,也可以是不同类型的信息。

s112:向所述目标服务器发送所述第三验证请求和所述第三公钥,以使所述目标服务器在判断出所述第四解密信息与所述第二信息相同的情况下,利用所述第三公钥对所述第三验证请求进行解密,获得第五解密信息;利用所述第三公钥对所述第五解密信息进行加密,获得第三加密消息;将所述第三加密信息发送给所述客户端。

在本发明实施例中,客户端生成第三验证请求后,可以将所生成的第三验证请求和第三公钥发送给目标服务器。目标服务器先对第三验证请求进行解密,再对解密后得到的第五解密信息进行加密,获得第三加密信息。

s113:获得所述第三加密信息,并利用所述第三私钥对所述第三加密信息进行解密,获得第六解密信息。

s114:判断所述第六解密信息是否与所述第三信息相同,如果是,执行s115,如果否,结束。

需要说明的是,s113和s114与上述所说的s103和s104的原理分别对应相同,在这里不进行赘述。

s115:向所述目标服务器发送第三确认信息,以使所述目标服务器执行所述将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯使用的目标密钥,并将所述目标密钥发送给所述客户端的步骤。

在本发明实施例中,客户端在确定第六解密信息与第三信息相同时,可以向目标服务器发送第三确认信息。需要说明的是,这里所说的第三确认信息的作用与上述所说的第一确认信息、第二确认信息的作用相同。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现四次握手以达到与目标服务器通信的目的,减少了数据泄漏的风险,增加了数据传输的安全性。

图3为本发明实施例提供的信道确定方法的第三种流程示意图,该方法应用于目标服务器。

上述信道安全确定方法包括:

s301:获得客户端发送的第一验证请求;其中,所述第一验证请求是所述客户端利用预先获得的第一公钥对第一信息加密后生成的。

客户端获得的第一公钥可以是目标服务器发送的,目标服务器可以是服务器集群中的任意一个与客户端建立连接的服务器。目标服务器在公私钥池中选择一个公私钥对,将所选择的公私钥对中的公钥,即第一公钥发送给客户端,以使客户端利用第一公钥验证服务器是否是伪造的或被篡改的服务器。目标服务器可以在公私钥池中随机选择一个公私钥对,也可以根据接收到的客户端发送的公私钥对的标识,从公私钥对池中选择相对应的公私钥对,当然,还可以按照预先确定的选择顺序进行选择,在此不进行限定。需要说明的是,公私钥池存储有预先确定的公私钥对,一个公私钥对包括一个公钥和一个私钥。

在本发明实施例中,通过非对称加密算法,对第一信息进行加密,生成第一验证请求,第一验证请求可以理解为加密后的第一信息。非对称加密算法可以为rsa算法、elgamal算法、ecc算法。

s302:通过预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息。

目标服务器在接收到第一验证请求后,可以对第一验证请求进行解密,获得第一解密信息。

s303:利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,并向所述客户端发送所述第一加密信息;以使所述客户端利用所述第一公钥对所述第一加密信息进行解密,获得第二解密信息;判断所述第二解密信息是否与所述第一信息相同;如果相同,向所述目标服务器发送第一确认信息;其中,所述第一公钥和所述第一私钥是一对密钥对。

目标服务器利用第一私钥对第一解密信息进行加密,获得第一加密信息,将第一加密信息发送给客户端。客户端在接收到第一加密信息后,对第一加密信息进行解密,获得第二解密信息,判断第二解密是否与第一加密信息相同,如果相同,说明客户端将第一验证请求发送给了之前发送第一公钥的服务器,而且在客户端与目标服务器相互传递的过程中,没有第三方服务器篡改或劫持所发送的信息,客户端可以初步确定自身与目标服务器之间的信道是安全的,则向目标服务器发送第一确认信息。

s304:接收所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对。

目标服务器在接收到第一确认信息之后,生成第一密钥对。生成第一密钥对的目的是验证客户端是否是伪造的或者被篡改的客户端,进而保证在数据传输过程中数据的安全。

s305:利用所述第二私钥对第二信息进行加密,生成第二验证请求。

目标服务器通过非对称加密算法,利用第二私钥对第二信息进行加密,生成第二验证请求。第二信息可以为字符串、字母、数字、文字中的至少一种。

s306:将所述第二验证请求与所述第二公钥发送给所述客户端;以使所述客户端利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;将所述第二加密信息发送给所述目标服务器。

目标服务器将第二验证请求与第二公钥一起发送给客户端。客户端在接收到目标服务器发送的第二验证请求后,利用所接收到的第二公钥对第二验证请求进行解密,获得第三解密信息。

s307:获得所述第二加密信息,并利用所述第二私钥对所述第二加密信息进行解密,得到第四解密信息。

目标服务器在接收到第二加密信息后,利用自己记录的第二私钥对第二加密信息进行解密,获得第四解密信息。

s308:判断所述第四解密信息是否与所述第二信息相同,如果相同,执行s309,否则,结束。

如果第四解密信息与第二信息相同,说明客户端不是伪造的客户端,也不是被篡改的客户端,同时在通信的过程中,信息没有被第三方服务器篡改或劫持,则可以确定目标服务器与客户端之间的信息是安全的,在后续的目标服务器与客户端的通信过程中,降低了数据漏泄的风险,提高了在数据传输过程中数据的安全性。

如果第四解密信息与第二信息不同,说明目标服务器与客户端之间的信道是不安全的,则断开与客户端之间的连接,不会进行后续的数据的传输。

s309:确定所述目标服务器自身与所述客户端之间的信道为安全信道,生成用于与所述客户端进行通讯的目标密钥,并向所述客户端发送所述目标密钥,以使所述客户端接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

客户端接收到目标服务器发送的目标密钥,说明目标服务器已经确定第四解密信息与第二信息相同,目标服务器已经将目标服务器与客户端自身之间的信道确定为安全信道,则可以确定自身与目标服务器之间的信道是安全信道。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

图4为本发明实施例所提供的信道安全确定方法的第四种流程示意图。基于图3所提供的实施例,本发明实施例所提供的一种图像处理方法,在s308和s309之间,方法还可以包括:

s310:获得所述客户端发送的第三验证请求和第三公钥,其中,所述第三验证请求是所述客户端在接收到所述目标服务器发送的第二确定信息的情况下,利用生成的第二密钥中的第三私钥对第三信息进行加密得到的,所述第二密钥中还包括所述第三私钥。

客户端生成第二密钥对的主要目的是验证发送第二确认信息的服务器是否为接收第一验证请求的服务器,即进一步验证客户端与目标服务器之间的信道是否安全。

s311:利用所述第三公钥对所述第三验证请求进行解密,获得第五解密信息。

s312:利用所述第三公钥对所述第五解密信息进行加密,获得第三加密消息;将所述第三加密信息发送给所述客户端,以使得所述客户端获得所述第三加密信息,并利用所述第三私钥对所述第三加密信息进行解密,获得第六解密信息;判断所述第六解密信息是否与所述第三信息相同;如果是,向所述目标服务器发送第三确认信息;判断所述第六解密信息是否与所述第三信息相同;如果是,向所述目标服务器发送第三确认信息。

需要说明的是,s310-312分别与上述s307-s309的原理相似,在此不赘述。

相应的,步骤s309为:

s309a:在接收到所述客户端发送的所述第三确定信息的情况下,确定所述目标服务器自身与所述客户端之间的信道为安全信道,生成用于与所述客户端进行通讯的目标密钥,并向所述客户端发送所述目标密钥,以使所述客户端接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现四次握手以达到与目标服务器通信的目的,减少了数据泄漏的风险,增加了数据传输的安全性。

与图1所示的方法实施例相对应,图5为本发明实施例提供的信道安全确定装置的第一种结构示意图,该装置应用于客户端,包括生成模块501、第一发送模块502、第一获得模块503、第一判断模块504、第二发送模块505、第二获得模块506、第三获得模块507、第三发送模块508和确定模块509,其中,

生成模块501,用于利用预先获得的第一公钥对第一信息进行加密,生成第一验证请求;

第一发送模块502,用于向目标服务器发送所述第一验证请求,以使所述目标服务器利用预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,向所述客户端发送所述第一加密信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

第一获得模块503,用于接收所述目标服务器发送的所述第一加密信息,并利用所述第一公钥对所述第一加密信息进行解密,获得第二解密信息;

第一判断模块504,用于判断所述第二解密信息是否与所述第一信息相同;

第二发送模块505,用于在所述第一判断模块504的判断结果为相同的情况下,向所述目标服务器发送第一确认信息,以使所述目标服务器基于所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;利用所述第二私钥对第二信息进行加密,生成第二验证请求;将所述第二验证请求与所述第二公钥发送给所述客户端;

第二获得模块506,用于接收所述目标服务器发送的所述第二验证请求,并利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;

第三获得模块507,用于利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;

第三发送模块508,用于将所述第二加密信息发送给所述目标服务器,以使所述目标服务器利用所述第二私钥对所述第二加密信息进行解密;确定是否获得所述第二加密信息解密后的信息,如果是,将所述第二加密信息解密后的信息确定为第四解密信息,并判断所述第四解密信息是否与所述第二信息相同;如果是,将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯的目标密钥,并将所述目标密钥发送给所述客户端;

确定模块509,用于当接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

在本发明的一个优选的实施例中,该装置还可以包括接收模块、第四获得模块、第四发送模块、第五获得模块、第二判断模块和第五发送模块(图中未示出);

接收模块,用于接收所述目标服务器发送的第二确认信息,生成包括第三公钥和第三私钥的第二密钥对,其中,所述第二确认信息是所述目标服务器在判断出所述第四解密信息与所述第二信息相同的情况下生成并发送的;

第四获得模块,用于利用所述第三私钥对第三信息进行加密,获得第三验证请求;

第四发送模块,用于向所述目标服务器发送所述第三验证请求和所述第三公钥,以使所述目标服务器在判断出所述第四解密信息与所述第二信息相同的情况下,利用所述第三公钥对所述第三验证请求进行解密,获得第五解密信息;利用所述第三公钥对所述第五解密信息进行加密,获得第三加密消息;将所述第三加密信息发送给所述客户端;

第五获得模块,用于获得所述第三加密信息,并利用所述第三私钥对所述第三加密信息进行解密,获得第六解密信息;

第二判断模块,用于判断所述第六解密信息是否与所述第三信息相同;

第五发送模块,用于在所述第二判断模块的判断结果为是的情况下,向所述目标服务器发送第三确认信息,以使所述目标服务器执行所述将所述目标服务器自身与所述客户端之间的信道确定为安全信道;生成用于与所述客户端进行通讯使用的目标密钥,并将所述目标密钥发送给所述客户端的步骤。

与图3所示的方法实施例相对应,图6为本发明实施例提供的信道安全确定装置的第二种结构示意图,该装置应用于目标服务器,包括第一获得模块601、第二获得模块602、第一发送模块603、第一生成模块604、第二生成模块605、第二发送模块606、解密模块607、判断模块608和确定模块609,其中,

第一获得模块601,用于获得客户端发送的第一验证请求;其中,所述第一验证请求是所述客户端利用预先获得的第一公钥对第一信息加密后生成的;

第二获得模块602,用于通过预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;

第一发送模块603,用于利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,并向所述客户端发送所述第一加密信息;以使所述客户端利用所述第一公钥对所述第一加密信息进行解密获得第二解密信息;判断所述第二解密信息是否与所述第一信息相同;如果相同,向所述目标服务器发送第一确认信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

第一生成模块604,用于接收所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;

第二生成模块605,用于利用所述第二私钥对第二信息进行加密,生成第二验证请求;

第二发送模块606,用于将所述第二验证请求与所述第二公钥发送给所述客户端;以使所述客户端利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;将所述第二加密信息发送给所述目标服务器;

解密模块607,用于获得所述第二加密信息,并利用所述第二私钥对所述第二加密信息进行解密,得到第四解密信息;

判断模块608,用于判断所述第四解密信息是否与所述第二信息相同;

确定模块609,用于在所述判断模块608的判断结果为是的情况下,确定所述目标服务器自身与所述客户端之间的信道为安全信道,生成用于与所述客户端进行通讯的目标密钥,并向所述客户端发送所述目标密钥,以使所述客户端接收到所述目标服务器发送的所述目标密钥时,将所述客户端自身与所述目标服务器之间的信道确定为安全信道。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

在本发明的一个优选的实施例中,该装置还可以包括第三获得模块、第四获得模块和第五获得模块(图中未示出),其中,

第三获得模块,用于获得所述客户端发送的第三验证请求和第三公钥,其中,所述第三验证请求是所述客户端在接收到所述目标服务器发送的第二确定信息的情况下,利用生成的第二密钥中的第三私钥对第三信息进行加密得到的,所述第二密钥中还包括所述第三私钥;

第四获得模块,用于利用所述第三公钥对所述第三验证请求进行解密,获得第五解密信息;

第五获得模块,用于利用所述第三公钥对所述第五解密信息进行加密,获得第三加密消息;将所述第三加密信息发送给所述客户端,以使得所述客户端获得所述第三加密信息,并利用所述第三私钥对所述第三加密信息进行解密,获得第六解密信息;判断所述第六解密信息是否与所述第三信息相同;如果是,向所述目标服务器发送第三确认信息;判断所述第六解密信息是否与所述第三信息相同;如果是,向所述目标服务器发送第三确认信息;

所述确定模块609,具体用于在接收到所述客户端发送的所述第三确定信息的情况下,确定所述目标服务器自身与所述客户端之间的信道为安全信道。

本发明实施例提供了一种信道安全确定系统,如图7所示,该系统包括:客户端701和目标服务器702;

所述客户端701,用于利用预先获得的第一公钥对第一信息进行加密,生成第一验证请求;向目标服务器发送所述第一验证请求;

所述目标服务器702,用于利用预先获得的第一私钥对所述第一验证请求进行解密,获得第一解密信息;利用所述第一私钥对所述第一解密信息进行加密,获得第一加密信息,向所述客户端701发送所述第一加密信息;其中,所述第一公钥和所述第一私钥是一对密钥对;

所述客户端701,还用于接收所述目标服务器702发送的所述第一加密信息,并利用所述第一公钥对所述第一加密信息进行解密;确定是否获得所述第一加密信息解密后的信息;如果是,将解密后的信息确定为第二解密信息,并判断所述第二解密信息是否与所述第一信息相同;如果相同,向所述目标服务器702发送第一确认信息;

所述目标服务器702,还用于基于所述第一确认信息,生成包含第二私钥和第二公钥的的第一密钥对;利用所述第二私钥对第二信息进行加密,生成第二验证请求;将所述第二验证请求与所述第二公钥发送给所述客户端701;

所述客户端701,还用于接收所述目标服务器702发送的所述第二验证请求,并利用所述第二公钥对所述第二验证请求进行解密,获得第三解密信息;利用所述第二公钥对所述第三解密信息进行加密,获得第二加密信息;将所述第二加密信息发送给所述目标服务器702;

所述目标服务器702,还用于利用所述第二私钥对所述第二加密信息进行解密;确定是否获得所述第二加密信息解密后的信息,如果是,将所述第二加密信息解密后的信息确定为第四解密信息,并判断所述第四解密信息是否与所述第二信息相同;如果是,将所述目标服务器702自身与所述客户端701之间的信道确定为安全信道;生成用于与所述客户端701进行通讯的目标密钥,并将所述目标密钥发送给所述客户端701;

所述客户端701,还用于当接收到所述目标服务器702发送的所述目标密钥时,将所述客户端701自身与所述目标服务器702之间的信道确定为安全信道。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

本发明实施例还提供了一种客户端,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,

存储器803,用于存放计算机程序;

处理器801,用于执行存储器803上所存放的程序时,执行上述实施例中任一所述的应用于客户端的信道安全确定方法。

上述客户端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述客户端设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

本发明实施例还提供了一种服务器,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,

存储器903,用于存放计算机程序;

处理器901,用于执行存储器903上所存放的程序时,执行上述实施例中任一所述的应用于服务器的信道安全确定方法。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储计算机程序,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用于客户端的信道安全确定方法。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储计算机程序,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的应用于目标服务器的信道安全确定方法。

应用本发明实施例,客户端与目标服务器之间使用非对称加密的方式进行相互验证,在验证通过后,将客户端与服务器之间的信道确定为安全信道。这样即使客户端的代码被破解,也无法获得第一公钥,这样就不能伪造客户端的请求实现与目标服务器的数据传输,减少了数据泄漏的风险,增加了数据传输的安全性。

对于客户端、服务器或计算可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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