一种防服务劫持系统、方法、装置及存储介质与流程

文档序号:22750712发布日期:2020-10-31 09:44阅读:95来源:国知局
一种防服务劫持系统、方法、装置及存储介质与流程

本发明涉及智能家居技术领域,特别涉及一种防服务劫持系统、方法、装置及存储介质。



背景技术:

客户端与服务端进行业务服务交互时,如果服务端提供的服务被恶意劫持,则恶意劫持者可以收到客户端上的合法用户的信息,从而造成安全问题。

目前行业的通用防服务劫持方法是:在进行业务通信之前,先使用安全证书对服务端进行身份认证,身份认证通过后再进行业务通信,从而达到防止服务被恶意劫持的目的。

以浏览器访问网站为例,在使用浏览器访问网站服务之前一般都会使用https证书来验证网站的合法性,具体流程如图1所示:

步骤101、客户端发送客户端ssl版本等信息到服务端;

步骤102、服务端返回https证书(证书中包括随机数、服务端公钥等信息)到客户端;

步骤103、客户端验证服务端的https证书是否合法,合法则执行步骤104,不合法则结束通信。

步骤104、客户端与服务端执行密钥协商,以及基于协商的密钥进行业务通信。

从上述过程可以看出,客户端与服务端进行业务通信之前,需要先获取服务端的安全证书以验证服务端的合法性,这会给业务带来额外的业务耗时。



技术实现要素:

有鉴于此,本发明的目的在于提供了一种防服务劫持系统、方法、装置及存储介质,能够在不使用安全证书进行身份认证的情况下解决服务劫持问题,并减少额外的业务耗时。

为了达到上述目的,本发明提供了如下技术方案:

一种防服务劫持系统,包括客户端和服务端;

所述客户端,用于对客户端公钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;用于生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密,生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令,并发送所述业务信令到所述服务端;

所述服务端,用于接收所述业务信令,对服务端公钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

一种防服务劫持方法,应用于防服务劫持系统中的客户端,该方法包括:

对客户端公钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;

生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密;

生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令;

发送所述业务信令到所述防服务劫持系统的服务端。

另一种防服务劫持方法,应用于防服务劫持系统中的服务端,该方法包括:

接收所述防服务劫持系统的客户端发送的业务信令;

对服务端公钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥;

使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

一种防服务劫持装置,应用于防服务劫持系统中的客户端,该装置包括:处理器、以及与所述处理器通过总线相连的非瞬时计算机可读存储介质;

所述非瞬时计算机可读存储介质,存储有可被所述处理器执行的一个或多个计算机程序;所述处理器执行所述一个或多个计算机程序时实现以下步骤:

对客户端公钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;

生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密;

生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令;

发送所述业务信令到所述防服务劫持系统的服务端。

另一种防服务劫持装置,应用于防服务劫持系统中的服务端,该装置包括:处理器、以及与所述处理器通过总线相连的非瞬时计算机可读存储介质;

所述非瞬时计算机可读存储介质,存储有可被所述处理器执行的一个或多个计算机程序;所述处理器执行所述一个或多个计算机程序时实现以下步骤:

接收所述防服务劫持系统的客户端发送的业务信令;

对服务端公钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥;

使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上述两种防服务劫持方法中任意一种方法中的步骤。

由上面的技术方案可知,本发明中,在客户端一侧,利用客户端公钥和预先存储的服务端公钥生成主密钥,使用会话密钥对待传输业务信息加密,使用主密钥对会话密钥加密,将客户端公钥、加密的会话密钥和加密的待传输业务信息携带在业务信令中发送到服务端;在服务端一侧同样利用客户端公钥和服务端公钥生成主密钥,使用主密钥对加密的会话密钥解密,使用会话密钥对加密的待传输业务信息加密。应用本发明,当服务端发生服务劫持,则由于劫持者不知道服务端公钥,无法在接收到业务信令后确定正确的主密钥,也无法正确执行解密会话密钥和解密待传输业务信息的操作,因此也就不能获得客户端的业务信息,达到了防服务劫持的目的,而且此过程未使用安全证书进行业务通信前的身份认证,因此还减少了额外的业务耗时。

附图说明

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

图1是现有技术使用浏览器访问网站时的身份认证流程图;

图2是本发明实施例提供的防服务劫持系统的架构示意图;

图3是本发明实施例一提供的防服务劫持方法流程图;

图4是本发明实施例二提供的防服务劫持方法流程图;

图5是本发明实施例三提供的防服务劫持方法流程图;

图6是本发明实施例四提供的防服务劫持方法流程图

图7是本发明实施例一提供的防服务劫持装置的结构示意图;

图8是本发明实施例二提供的防服务劫持装置的结构示意图。

具体实施方式

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

参见图2,图2是本发明实施例提供的防服务劫持系统的架构示意图,如图2所示,该系统包括客户端10和服务端20;

在该实施例中,客户端10,用于对客户端私钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;用于确定要与服务端20进行业务通信时,生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密,生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令,并发送所述业务信令到所述服务端20。

在该实施例中,服务端20,用于接收客户端10发送的业务信令,对服务端私钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

从图2所示系统可以看出,本实施例中,在客户端10一侧,根据客户端私钥和服务端公钥生成主密钥,使用主密钥对会话密钥进行加密,使用会话密钥对待传输业务信息进行加密,而在服务端20一侧则通过使用主密钥解密会话密钥,使用会话密钥解密待传输业务信息,既实现了服务端身份认证又获取到了待传输信息。此过程利用了主密钥和会话密钥进行加解密,可以保证客户端10只能与服务端20正常通信,而不会与劫持者通信,因为劫持者不知道服务端公钥,无法确定主密钥和会话密钥,无法解密待传输业务信息。另外由于在客户端10和服务端20在通信之前并未执行身份认证,因此还减少了因身份认证过程而产生的额外的业务耗时。

本发明实施例还提供了第二种防服务劫持系统,该防服务劫持系统的系统架构与图1所示的系统架构类似,即该系统同样包括:客户端10和服务端20。

在该实施例中,客户端10,用于对客户端私钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;用于确定要与服务端20进行业务通信时,生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密,生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令,并发送所述业务信令到所述服务端20。

在该实施例中,客户端10,可以随机生成一个数,并将其作为会话密钥。

在该实施例中,客户端10,生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令时,用于:生成一业务信令,将客户端公钥和加密的会话密钥携带在所述业务信令的信令头中,将所述加密的待传输业务信息携带在所述业务信令的信令体中。

在该实施例中,客户端10,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密包括:使用会话密钥对待传输业务信息进行基于预设第一对称密钥算法的加密;使用主密钥对会话密钥进行基于预设第二对称密钥算法的加密。

在该实施例中,服务端20,用于接收客户端10发送的业务信令,对服务端私钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

在该实施例中,服务端20,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息,包括:

使用主密钥对加密的会话密钥进行基于预设第二对称密钥算法的解密得到会话密钥;

使用会话密钥对所述业务信令携带的加密的待传输业务信息进行基于预设第一对称密钥算法的解密得到待传输业务信息。

在该实施例中,预设第一对称密钥算法和预设第二对称密钥算法可以是同一算法(例如aes128算法),也可以是不同算法。

另外,在该实施例中,客户端10和服务端20生成主密钥时采用非对称加密的秘钥交换算法可以是ecdh算法,ecdh算法是利用非对称加密算法ecc来实现密钥交换,秘钥交换过程中通信双方根据通信双方各自的私钥和对方的公钥计算主密钥(也称为加密种子)。

根据以上对第二种防服务劫持系统的描述可以看出,本实施例除了能够在不使用安全证书进行身份认证的情况下解决服务劫持问题,并减少额外的业务耗时外,还利用预设第一对称密钥算法和预设第二预设密钥算法对会话密钥和待传输信息进行加解密,由于只有服务端知道通信双方采用了哪两种算法,而劫持者并不知道,因此可以进一步保证了通信安全。

参见图3,图3是本发明实施例一提供的防服务劫持方法流程图,该方法应用于防服务劫持系统中的客户端,所述防服务劫持系统还包括服务端;如图3所示,该方法包括以下步骤:

步骤301、对客户端私钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;

步骤302、生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密;

步骤303、生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令;

步骤304、发送所述业务信令到所述防服务劫持系统的服务端。

在该实施例中,客户端发送所述业务信令到服务端,可以使得服务端根据服务端私钥和所述业务信令的携带的客户端公钥生成主密钥,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

从图3所示方法可以看出,本实施例中,客户端通过使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密,将客户端公钥、加密的会话密钥和加密的待传输业务信息携带在业务信令中传输到服务端,保证只有服务端可以利用与之相反的解密过程得到待传输业务信息,劫持者则因为无法确定主密钥,也就无法成功执行后续的解密得到会话密钥和解密得到待传输业务信息的操作,因此可以达到防服务劫持的目的,而且还可以减少额外的业务耗时。

参见图4是本发明实施例二提供的防服务劫持方法流程图,该方法应用于防服务劫持系统中的客户端,所述防服务劫持系统还包括服务端;如图4所示,该方法包括以下步骤:

步骤401、对客户端私钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥。

在该实施例中,生成主密钥所采用的非对称加密的秘钥交换算法可以是ecdh算法,ecdh算法是利用非对称加密算法ecc来实现密钥交换,秘钥交换过程中通信双方根据通信双方各自的私钥和对方的公钥计算主密钥(也称为加密种子)。

步骤4021、生成会话密钥;

在该实施例中,客户端可以随机生成一个数,并将其作为会话密钥。

步骤4022、使用会话密钥对待传输业务信息进行基于预设第一对称密钥算法的加密;

步骤4023、使用主密钥对会话密钥进行基于预设第二对称密钥算法的加密。

在该实施例中,预设第一对称密钥算法和预设第二对称密钥算法可以是同一算法(例如aes128算法),也可以是不同算法。

以上步骤4021至4023是图3所示步骤302的具体细化。

步骤403、生成一业务信令,将客户端公钥和加密的会话密钥携带在所述业务信令的信令头中,将所述加密的待传输业务信息携带在所述业务信令的信令体中;

以上步骤403是图3所示步骤303的具体细化。

步骤404、发送所述业务信令到所述防服务劫持系统的服务端。

在该实施例中,客户端发送所述业务信令到服务端,可以使得服务端根据服务端私钥和所述业务信令的携带的客户端公钥生成主密钥,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

从图4所示方法可以看出,本实施例中除了能够在不使用安全证书进行身份认证的情况下解决服务劫持问题,并减少额外的业务耗时外,还利用预设第一对称密钥算法和预设第二预设密钥算法对会话密钥和待传输信息进行加解密,由于只有服务端知道通信双发采用了哪两种算法,而劫持者并不知道,因此可以进一步保证了通信安全。

参见图5,图5是本发明实施例三提供的防服务劫持方法流程图,该方法应用于防服务劫持系统中的服务端,所述防服务劫持系统还包括客户端;如图5所示,该方法包括以下步骤:

步骤501、接收所述防服务劫持系统的客户端发送的业务信令;

在该实施例中,所述业务信令中携带有客户端公钥、加密的会话密钥和加密的待传输业务信息,其中,加密的会话密钥是客户端使用主密钥加密得到的,而此主密钥则是客户端对客户端私钥和服务端公钥采用非对称加密的秘钥交换算法生成的主密钥;加密的待传输业务信息是客户端使用会话密钥加密得到的。

步骤502、对服务端私钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥;

步骤503、使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

从图5所示方法可以看出,本实施例中,服务端接收客户端发送来的业务信令后,先利用业务信令中的客户端公钥和服务端私钥生成主密钥,再利用主密钥解密加密的会话密钥,最后利用会话密钥解密加密的待传输业务信息,从而一方面通过两次解密完成了对服务端的身份认证,另一方面也获得了客户端的待传输信息,因此既达到防服务劫持的目的又实现了业务传输,而且因为是在业务信息传输中完成的服务端身份认证,可以减少额外的业务耗时。

参见图6,图6是本发明实施例四提供的防服务劫持方法流程图,该方法应用于防服务劫持系统中的服务端,所述防服务劫持系统还包括客户端;如图6所示,该方法包括以下步骤:

步骤601、接收所述防服务劫持系统的客户端发送的业务信令;

在该实施例中,所述业务信令中携带有客户端公钥、加密的会话密钥和加密的待传输业务信息,其中,加密的会话密钥是客户端使用主密钥加密得到的,而此主密钥则是客户端对客户端私钥和服务端公钥采用非对称加密的秘钥交换算法生成的主密钥;加密的待传输业务信息是客户端使用会话密钥加密得到的。

步骤602、对服务端私钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥;

步骤6031、使用主密钥对加密的会话密钥进行基于预设第二对称密钥算法的解密得到会话密钥;

步骤6032、使用会话密钥对所述业务信令携带的加密的待传输业务信息进行基于预设第一对称密钥算法的解密得到待传输业务信息。

在该实施例中,预设第一对称密钥算法和预设第二对称密钥算法可以是同一算法(例如aes128算法),也可以是不同算法。

以上步骤6031至步骤6032是图5所示步骤503的具体细化。

从图6所示方法可以看出,本实施例中,服务端接收客户端发送来的业务信令后,先利用业务信令中的客户端公钥和服务端私钥生成主密钥,再利用主密钥解密加密的会话密钥,最后利用会话密钥解密加密的待传输业务信息,从而一方面通过两次解密完成了对服务端的身份认证,另一方面也获得了客户端的待传输信息,因此既达到防服务劫持的目的又实现了业务传输,而且因为是在业务信息传输中完成的服务端身份认证,可以减少额外的业务耗时。另外,在使用主密钥解密加密的会话密钥和使用会话秘钥解密加密的待传输业务信息时,均采用了对称密钥算法,可以进一步保证通信安全。

参见图7,图7是本发明实施例一提供的防服务劫持装置的结构示意图,该装置应用于防服务劫持系统中的客户端,所述防服务劫持系统还包括服务端;如图7所示,该装置包括:处理器701、以及与所述处理器701通过总线相连的非瞬时计算机可读存储介质702;

所述非瞬时计算机可读存储介质702,存储有可被所述处理器701执行的一个或多个计算机程序;所述处理器701执行所述一个或多个计算机程序时实现以下步骤:

对客户端公钥和预先存储的服务端公钥采用非对称加密的秘钥交换算法生成主密钥;

生成会话密钥,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密;

生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令;

发送所述业务信令到所述防服务劫持系统的服务端。

图6所示装置中,

所述处理器701,生成一携带客户端公钥、加密的会话密钥、以及加密的待传输业务信息的业务信令时,用于:

生成一业务信令,将客户端公钥和加密的会话密钥携带在所述业务信令的信令头中,将所述加密的待传输业务信息携带在所述业务信令的信令体中。

图7所示装置中,

所述处理器701,使用会话密钥对待传输业务信息进行加密,使用主密钥对会话密钥进行加密,包括:

使用会话密钥对待传输业务信息进行基于预设第一对称密钥算法的加密;

使用主密钥对会话密钥进行基于预设第二对称密钥算法的加密。

参见图8,图8是本发明实施例二提供的防服务劫持装置的结构示意图,该装置应用于防服务劫持系统中的服务端,所述防服务劫持系统还包括客户端;该装置包括:处理器801、以及与所述处理器801通过总线相连的非瞬时计算机可读存储介质802;

所述非瞬时计算机可读存储介质802,存储有可被所述处理器801执行的一个或多个计算机程序;所述处理器801执行所述一个或多个计算机程序时实现以下步骤:

接收所述防服务劫持系统的客户端发送的业务信令;

对服务端公钥和所述业务信令的携带的客户端公钥采用非对称加密的秘钥交换算法生成主密钥;

使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息。

图8所示装置中,

所述处理器801,使用主密钥对所述业务信令携带的加密的会话密钥解密得到会话密钥,使用会话密钥对所述业务信令携带的加密的待传输业务信息解密得到待传输业务信息,包括:

使用主密钥对加密的会话密钥进行基于预设第二对称密钥算法的解密得到会话密钥;

使用会话密钥对所述业务信令携带的加密的待传输业务信息进行基于预设第一对称密钥算法的解密得到待传输业务信息。

本发明实施例还提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如图3、图4所示防服务劫持方法中的步骤,或执行如图5、图6所示防服务劫持方法中的步骤。

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

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