加密通信方法、装置及系统与流程

文档序号:16245985发布日期:2018-12-11 23:35阅读:252来源:国知局
加密通信方法、装置及系统与流程

本发明涉及互联网通信技术领域,尤其是涉及一种加密通信方法、装置及系统。

背景技术

随着互联网技术的高速发展,数据安全问题日趋严峻,用户数据在通信传输过程中容易被窃取,而且诸如sql注入、跨站脚本攻击(xss)、跨站请求伪造攻击(csrf)、httpheads攻击等各种攻击行为层出不穷。web服务器遭遇越来越严重的安全挑战。

目前,应用于在客户端与服务端之间的通信方式对于非法攻击请求进行抵御和拦截的能力不足,致使用户数据在通信传输过程中极易被窃取,安全性较差。



技术实现要素:

有鉴于此,本发明的目的在于提供一种加密通信方法、装置及系统,以提升数据通信的安全性。

第一方面,本发明实施例提供了一种加密通信方法,方法应用于服务端,包括:当接收到终端设备发送的通信请求时,根据通信请求中的终端设备标识,获取终端设备的设备信息;其中,通信请求中携带有终端设备标识;根据设备信息,对终端设备进行身份校验,以确定终端设备是否为认证设备;如果是,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备基于其对应的设备编号、公钥和加密版本号生成加密数据包;当接收到终端设备发送的加密数据包时,根据加密数据包的包头信息,查找与加密数据包对应的私钥;其中,包头信息包括终端设备对应的设备编号和加密版本号;通过加密数据包对应的私钥对加密数据包进行解密,得到通信数据包。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,上述根据设备信息,对终端设备进行身份校验,以确定终端设备是否为认证设备的步骤,包括:查找预先存储的认证设备信息表中是否记录有终端设备的设备信息;其中,认证设备信息表中存储有认证设备的设备信息;如果是,确定终端设备是认证设备。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,上述方法还包括:基于通信数据包,对终端设备发送的通信请求进行回应。

结合第一方面到第一方面的第二种可能的实施方式之一,本发明实施例提供了第一方面的第三种可能的方式,其中,上述通信数据包包括http请求数据包。

第二方面,本发明实施例提供了一种加密通信方法,该方法应用于终端设备,包括:向服务端发送通信请求;其中,通信请求携带有终端设备标识;接收服务端针对通信请求下发的设备编号、公钥和加密版本号;根据设备编号、公钥和加密版本号,对预设的通信数据包进行加密,得到加密数据包;将加密数据包发送至服务端,以使服务端对加密数据包进行解密,得到通信数据包。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,对预设的通信数据包进行加密,得到加密数据包的步骤,包括:将设备编号和加密版本号写入预设的通信数据包的包头中,得到待加密数据包;通过公钥对待加密数据包的包体进行加密,得到加密数据包。

结合第二方面或第二方面的第一种可能的实施方式,其中,上述通信数据包包括http请求数据包。

第三方面,本发明实施例提供了一种加密通信装置,该装置设置于服务端,包括:通信请求接收模块,用于当接收到终端设备发送的通信请求时,根据通信请求中的终端设备标识,获取终端设备的设备信息;其中,通信请求中携带有终端设备标识;设备身份校验模块,根据设备信息,对终端设备进行身份校验,以确定终端设备是否为认证设备;生成模块,用于当确定终端设备为认证设备时,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;发送模块,用于将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备基于其对应的设备编号、公钥和加密版本号生成加密数据包;加密数据包接收模块,用于当接收到终端设备发送的加密数据包时,根据加密数据包的包头信息,查找与加密数据包对应的私钥;其中,包头信息包括终端设备对应的设备编号和加密版本号;加密数据包解密模块,用于通过加密数据包对应的私钥对加密数据包进行解密,得到通信数据包。

第四方面,本发明实施例提供了一种加密通信装置,该装置设置于终端设备,包括:通信请求发送模块,用于向服务端通信请求;其中,通信请求携带有终端设备标识;接收模块,用于接收服务端针对通信请求下发的设备编号、公钥和加密版本号;数据包加密模块,用于根据设备编号、公钥和加密版本号,对预设的通信数据包进行加密,得到加密数据包;加密数据包发送模块,用于将加密数据包发送至服务端,以使服务端对加密数据包进行解密,得到通信数据包。

第五方面,本发明实施例提供了一种加密通信系统,包括服务端和终端设备;其中,服务端和终端设备通信连接;服务端设置有如第三方面提供的加密通信装置,终端设备设置有如第四方面提供的加密通信装置。

本发明实施例带来了以下有益效果:

本发明实施例提供了一种加密通信方法、装置及系统,该方法应用于服务端,当接收到终端设备发送的通信请求时,服务端能够根据通信请求中的终端设备标识验证终端设备是否为认证设备;在确定终端设备是认证设备时,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;并将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备生成加密数据包;当接收到终端设备发送的加密数据包时,通过加密数据包对应的私钥对加密数据包进行解密,得到通信数据包。本发明实施例提供的上述方式在服务端生成rsa密钥对,将公钥发送至通过验证的终端设备以使其生成加密数据包,当接收到加密数据包时通过对应的私钥解密加密数据包。通过这样的方式,有效地提升了数据通信的安全性。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种加密通信方法的流程图;

图2为本发明实施例提供的另一种加密通信方法的流程图;

图3为本发明实施例提供的一种加密通信交互示意图;

图4为本发明实施例提供的一种加密通信示意图;

图5为本发明实施例提供的一种加密通信装置的结构框图;

图6为本发明实施例提供的另一种加密通信装置的结构框图;

图7为本发明实施例提供的一种加密通信系统的结构示意图。

具体实施方式

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

目前,应用于在客户端与服务端之间的通信方式对于非法攻击请求进行抵御和拦截的能力不足,致使用户数据在通信传输过程中极易被窃取,安全性较差。基于此,本发明实施例提供的一种加密通信方法、装置及系统,可以有效地提升数据通信的安全性。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种加密通信方法进行详细介绍。

参见图1所示的一种加密通信方法的流程图,该方法应用于服务端,该方法包括如下步骤:

步骤s102,当接收到终端设备发送的通信请求时,根据通信请求中的终端设备标识,获取终端设备的设备信息;其中,通信请求中携带有终端设备标识;该终端设备可以为电视终端或计算机等智能终端。设备信息可以包括设备标识、设备网卡地址、设备芯片编号及设备的apk版本号等;具体的,设备标识可以是由生产设备的厂家编号、生产批次号、终端设备类型及多位随机数所组成的一组序列号码以作为设备的标识信息;实际应用时,可采用三位随机数。

步骤s104,根据设备信息,对终端设备进行身份校验,以确定终端设备是否为认证设备;如果是,执行步骤s106;如果否,结束。经校验前述终端设备在服务端认证过,确认通信请求合法才进行后续数据通信的步骤,能够有效地抵御和拦截非法请求。

步骤s106,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对是基于rsa加密算法所生成的,包括公钥和私钥;rsa加密算法是一种非对称加密算法,采用公开密钥密码体制,也即使用不同的加密密钥与解密密钥,加密密钥(即公钥)pk是公开信息,而解密密钥(即秘钥)sk是保密的。使用rsa对数据进行加解密处理,有效的避免请求数据的暴露,能够保护用户隐私数据。且,实际应用时,通过这样的方式,服务端可为不同的终端设备随机分配公钥,有效地防止某一终端设备的公钥泄露时,影响全网的数据传输及交互。

步骤s108,将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备基于其对应的设备编号、公钥和加密版本号生成加密数据包;

步骤s110,当接收到终端设备发送的加密数据包时,根据加密数据包的包头信息,查找与加密数据包对应的私钥;其中,包头信息包括终端设备对应的设备编号和加密版本号;

步骤s112,通过加密数据包对应的私钥对加密数据包进行解密,得到通信数据包;其中,通信数据包包含终端设备向服务端发送的实际数据信息。

本发明实施例提供的上述一种加密通信方法,应用于服务端,当接收到终端设备发送的通信请求时,服务端能够根据通信请求中的终端设备标识验证终端设备是否为认证设备;在确定终端设备是认证设备时,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;并将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备生成加密数据包;当接收到终端设备发送的加密数据包时,通过加密数据包对应的私钥对加密数据包进行解密,得到通信数据包。本发明实施例提供的上述方式在服务端生成rsa密钥对,将公钥发送至通过验证的终端设备以使其生成加密数据包,当接收到加密数据包时通过对应的私钥解密加密数据包。通过这样的方式,有效地提升了数据通信的安全性。

为便于理解,上述步骤s104,也即根据设备信息,对终端设备进行身份校验,以确定终端设备是否为认证设备,包括:查找预先存储的认证设备信息表中是否记录有终端设备的设备信息;其中,认证设备信息表中存储有认证设备的设备信息;如果是,确定终端设备是认证设备。

进一步,上述方法还包括:基于通信数据包,对终端设备发送的通信请求进行回应。具体的,可通过解析通信数据包中的实际数据信息,在服务端中找到与其对应的业务处理接口,对终端设备发送的通信请求进行回应。

具体的,上述一种加密通信方法所提到的通信数据包包括http请求数据包,也即基于http协议规则所构建的数据包。

进一步,本发明实施例还提供了另一种加密通信方法,该方法应用于终端设备,其中,该终端设备可以为电视终端或计算机等智能终端。具体的,参见图2所示的另一种加密通信方法的流程图,该方法包括如下步骤:

步骤s202,向服务端发送通信请求;其中,通信请求携带有终端设备标识;

步骤s204,接收服务端针对通信请求下发的设备编号、公钥和加密版本号;

步骤s206,根据设备编号、公钥和加密版本号,对预设的通信数据包进行加密,得到加密数据包;其中,预设的通信数据包可以是根据服务端与终端设备之间数据传输的通信协议所设定与协议对应的数据包。

步骤s208,将加密数据包发送至服务端,以使服务端对加密数据包进行解密,得到通信数据包。

本发明实施例提供的上述另一种加密通信方法,应用于终端设备,通过与服务端的交互,在向服务端发送通信请求并通过服务端身份校验后,根据服务端针对通信请求所下发的设备编号、公钥和加密版本号对设备中预设的通信数据包进行加密以得到加密数据包,进而将加密数据包发送至服务端,通过上述方式对数据进行加密传输,有效地提升了数据通信的安全。

进一步,为便于理解,上述步骤s206,也即对预设的通信数据包进行加密,得到加密数据包的步骤,包括:将设备编号和加密版本号写入预设的通信数据包的包头中,得到待加密数据包;通过公钥对待加密数据包的包体进行加密,得到加密数据包。

具体的,上述另一种加密通信方法中提到的通信数据包包括http请求数据包,也即基于http协议规则所构建的数据包。为便于实施,本发明实施例还提供了一种服务端与终端设备通信交互方式,如图3所示的一种加密通信交互示意图,其中,图3示出的上述通信数据包为http请求数据包,该数据包的包头信息还包括请求接口编码,对该数据包进行加密得到加密数据包并将加密数据包发送至服务端时,服务端可该请求接口编码,匹配与该请求接口编码对应的业务处理接口,从而对终端设备进行回应。图3中详细示意出服务端与终端设备之间的交互过程;具体的,包括:

步骤1,终端设备生成设备信息;其中,设备信息包括设备标识、设备网关地址、设备芯片编号;

步骤2.1,终端设备向服务端发送通信请求;其中,通信请求携带有前述设备信息;

步骤2.2,服务端根据设备信息对终端设备的身份进行验证,判断终端设备是否为认证设备;

步骤2.3,服务端确认终端设备为认证设备后,生成对应的设备编号;

步骤2.4,服务端生成与前述设备编号对应的rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;

步骤2.5,服务端向终端设备发送设备认证结果;其中,设备认证结果携带有前述设备编号、公钥和加密版本号;

步骤3.1,终端设备将接收到的设备编号、加密版本号写入http请求数据包的包头,得到待加密数据包;其中,http请求数据包的包头还包括请求接口编码;

步骤3.2,终端设备将待加密数据包的包体内容进行二进制转码,得到二进制数据码;

步骤3.3,终端设备通过公钥对将待加密数据包中的二进制数据码进行加密,得到加密数据包;

步骤4.1,终端设备将加密数据包发送至服务端;

步骤4.2,服务端根据加密数据包的包头信息验证终端设备的身份;

步骤4.3,服务端查找与加密数据包的包头信息匹配的私钥;

步骤4.4,服务端通过私钥对接收到的来自终端设备的加密数据包进行解密,以得到http请求数据包;

步骤4.5,服务端通过http数据包中的请求接口编码,匹配与终端设备的通信请求对应的业务处理接口,以对通信请求作出相应的处理;

步骤4.6,服务端将处理结果返回终端设备,也即对终端设备的通信请求进行回应。

进一步,在图3的基础上,当通信数据包为http请求数据包时,服务端和终端设备间的通信交互遵循http协议,上述通过公钥对待加密数据包的包体进行加密,得到加密数据包的步骤包括:

(1)对待加密数据包的包体信息进行二进制转码,得到二进制数据串;实际应用时,需将javarequestbo对象转换成json串,再将json串转换成二进制数据串。

(2)通过公钥对二进制数据串进行加密,得到二进制加密串;其中,二进制加密串为加密数据包的包体。针对该加密数据包,上述服务端对加密数据包进行解密,得到通信数据包的步骤,包括:从该加密数据包的包头中获取对应的设备编号、公钥和加密版本号,匹配对应的私钥,通过私钥对上述二进制加密串进行解密,并将二进制转换为json串。通过查找到的与上述接口编码对应的业务处理接口,将json串再转换为设备终端的实际通信数据javarequestbo对象,从而基于javarequestbo对象对设备终端的通信请求作出相关回应。具体的,为便于理解,参见图4所示的一种加密通信示意图,图4中示出了http请求编码器、http请求解码器在服务端和终端设备中的应用;其中,http请求编码器用于对http请求数据包进行加密;http请求解码器用于对加密数据包进行解密;终端设备用于向服务端发送通信请求并传输加密数据包;服务端用于接收终端设备发送的加密数据包并经解密后,针对于前述通信请求对终端设备作出回应。

对应上述图1所示的一种加密通信方法,参见图5,本发明实施例提供了一种加密通信装置,该装置设置于服务端,包括:

通信请求接收模块502,用于当接收到终端设备发送的通信请求时,根据通信请求中的终端设备标识,获取终端设备的设备信息;其中,通信请求中携带有终端设备标识;

设备身份校验模块504,根据设备信息,对终端设备进行身份校验,以确定终端设备是否为认证设备;

生成模块506,用于当确定终端设备为认证设备时,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;

发送模块508,用于将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备基于其对应的设备编号、公钥和加密版本号生成加密数据包;

加密数据包接收模块510,用于当接收到终端设备发送的加密数据包时,根据加密数据包的包头信息,查找与加密数据包对应的私钥;其中,包头信息包括终端设备对应的设备编号和加密版本号;

加密数据包解密模块512,用于通过加密数据包对应的私钥对加密数据包进行解密,得到通信数据包。

本发明实施例提供了一种加密通信装置,该装置设置于服务端,首先基于通信请求接收模块获取终端设备的设备信息;通过设备身份校验模块根据设备信息,对终端设备进行身份校验以判断其是否为认证设备;进而当确定终端设备为认证设备时,通过生成模块,生成终端设备对应的设备编号、rsa密钥对和加密版本号;其中,rsa密钥对包括公钥和私钥;并通过发送模块将终端设备对应的设备编号、公钥和加密版本号发送至终端设备,以使终端设备生成加密数据包;继而通过加密数据包接收模块接收前述加密数据包;并通过加密数据包解密模块对加密数据包进行解密,得到通信数据包。本发明实施例提供的上述装置在服务端生成rsa密钥对,将公钥发送至通过验证的终端设备以使其生成加密数据包,当接收到加密数据包时通过对应的私钥解密加密数据包。通过这样的方式,有效地提升了数据通信的安全性。

对应上述图2所示的另一种加密通信方法,参见图6,本发明实施例提供了另一种加密通信装置,该装置设置于终端设备,包括:

通信请求发送模块602,用于向服务端发送通信请求;其中,通信请求携带有终端设备标识;

接收模块604,用于接收服务端针对通信请求下发的设备编号、公钥和加密版本号;

数据包加密模块606,用于根据设备编号、公钥和加密版本号,对预设的通信数据包进行加密,得到加密数据包;

加密数据包发送模块608,用于将加密数据包发送至服务端,以使服务端对加密数据包进行解密,得到通信数据包。

本发明实施例提供的上述另一种加密通信装置,设置于终端设备,通过与服务端的交互,在向服务端发送通信请求并通过服务端身份校验后,根据服务端针对通信请求所下发的设备编号、公钥和加密版本号对设备中预设的通信数据包进行加密以得到加密数据包,进而将加密数据包发送至服务端,通过上述方式对数据进行加密传输,有效地提升了数据通信的安全性。

本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

进一步,对应于上述方法和装置,本发明实施例还提供了一种加密通信装置,参见图7,该系统包括服务端702和终端设备704;服务端702中设置有上述图5所示的一种加密通信装置,终端设备704中设置有上述图6所示的另一种加密通信装置。该系统中的服务端和终端设备具有的功能同以上实施例类似,这里不再详述。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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