一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种物联数据加密传输方法、系统、服务端及客户端与流程

2022-08-03 00:33:33 来源:中国专利 TAG:


1.本发明涉及物联网技术领域,尤其涉及一种物联数据加密传输方法、系统、服务端及客户端。


背景技术:

2.物联网作为当今最具发展前景的产业之一,在带动传统的水电行业数字化转型,促进水电行业结构优化升级等方面发挥着举足轻重的作用。然而,传统的物联数据传输方法存在以下问题:一方面,在客户端与服务端建立通信连接时,通常采用第三方ca证书进行安全认证,不仅增加了物联数据加密与解密的资源使用,而且存在由第三方引起的信息泄露风险,无法有效保证物联数据传输的安全性;另一方面,在应对窃听及篡改数据问题时,主要依赖于加密算法的复杂度来保证物联数据传输的安全性,也就是说,目前为了提高物联数据传输的安全性,通常采用复杂度更高的加密算法对物联数据进行加密,然而加密算法越复杂,加密后的数据长度更长,可能会导致物联数据传输的可靠性降低的问题。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种物联数据加密传输方法、系统、服务端及客户端。
4.基于上述目的,本发明第一方面提供一种物联数据加密传输方法,包括:
5.服务端接收客户端发送的连接请求报文,根据所述连接请求报文进行接入校验,在接入校验通过后,生成服务密钥,并向所述客户端发送连接确认报文;
6.接收所述客户端发送的首次发布消息,根据服务密钥以及从所述首次发布消息中提取的客户密钥,生成第一会话密钥,并向所述客户端发送消息发布完成通知;
7.获取所述客户端传输的物联数据密文,通过所述第一会话密钥对所述物联数据密文进行解密,得到物联数据明文;
8.对通信中的所述客户端进行通信鉴别,获得通信鉴别等级;
9.在所述通信鉴别等级为危险时,触发主动欺骗,通过所述主动欺骗向所述客户端发送服务端故障报文,并控制所述客户端进入连接循环,在连接循环结束时,断开与所述客户端的连接。
10.本发明第二方面提供一种服务端,包括:
11.连接请求模块,用于接收客户端发送的连接请求报文,根据所述连接请求报文进行接入校验,在接入校验通过后,生成服务密钥,并向所述客户端发送连接确认报文;
12.连接建立模块,用于接收所述客户端发送的首次发布消息,根据服务密钥以及从所述首次发布消息中提取的客户密钥,生成第一会话密钥,并向所述客户端发送消息发布完成通知;
13.加密通信模块,用于获取所述客户端传输的物联数据密文,通过所述第一会话密钥对所述物联数据密文进行解密,得到物联数据明文;
14.通信鉴别模块,用于对通信中的所述客户端进行通信鉴别,获得通信鉴别等级;
15.主动欺骗模块,用于在所述通信鉴别等级为危险时,触发主动欺骗,通过所述主动欺骗向所述客户端发送服务端故障报文,并控制所述客户端进入连接循环,在连接循环结束时,断开与所述客户端的连接。
16.本发明第三方面提供一种物联数据加密传输方法,包括:
17.客户端将连接请求报文发送至服务端,并接收所述服务端根据所述连接请求报文进行接入检验后,返回的连接确认报文;
18.根据所述连接确认报文进行返回校验,在所述返回校验通过后,生成客户密钥;
19.将首次发布消息发送至服务端,并在接收到服务端返回的消息发布完成通知后,获取服务密钥,根据所述服务密钥和所述客户密钥生成第二会话密钥;
20.通过所述第二会话密钥对物联数据进行加密,将加密得到的物联数据密文传输至所述服务端;
21.检测是否接收到所述服务端在主动欺骗时发送的服务端故障报文;
22.在接收到服务端故障报文时,向所述服务端发送尝试连接请求报文,并进入连接循环,直至与所述服务端断开连接。
23.本发明第四方面提供一种客户端,包括:
24.连接请求模块,用于将连接请求报文发送至服务端,并接收所述服务端根据所述连接请求报文进行接入检验后,返回的连接确认报文;
25.返回校验模块,用于根据所述连接确认报文进行返回校验,在所述返回校验通过后,生成客户密钥;
26.连接建立模块,用于将首次发布消息发送至服务端,并在接收到服务端返回的消息发布完成通知后,获取服务密钥,根据所述服务密钥和所述客户密钥生成第二会话密钥;
27.加密传输模块,用于通过所述第二会话密钥对物联数据进行加密,将加密得到的物联数据密文传输至所述服务端;
28.检测模块,用于检测是否接收到所述服务端在主动欺骗时发送的服务端故障报文;
29.尝试连接模块,用于在接收到服务端故障报文时,向所述服务端发送尝试连接请求报文,并进入连接循环,直至与所述服务端断开连接。
30.本发明第五方面提供一种物联数据加密传输系统,包括客户端和服务端;
31.所述服务端接收所述客户端发送的连接请求报文,根据所述连接请求报文进行接入校验,在接入校验通过后,生成服务密钥,并向所述客户端发送连接确认报文;
32.所述客户端接收所述服务端返回的所述连接确认报文,根据所述连接确认报文进行返回校验,在返回校验通过后,生成客户密钥;
33.所述服务端接收所述客户端发送的首次发布消息,根据所述服务密钥以及从所述首次发布消息中提取的所述客户密钥,生成第一会话密钥,并向所述客户端发送消息发布完成通知;
34.所述客户端接收所述服务端返回的所述消息发布完成通知,根据所述客户密钥以及从所述连接确认报文中提取的所述服务密钥,生成第二会话密钥;
35.所述客户端通过所述第二会话密钥对物联数据进行加密,将加密得到的物联数据
密文传输至所述服务端;
36.所述服务端接收所述客户端发送的所述物联数据密文,通过所述第一会话密钥对所述物联数据密文进行解密,得到物联数据明文;
37.所述服务端对通信中的所述客户端进行通信鉴别,获取通信鉴别等级,并在所述通信鉴别等级为危险时,触发主动欺骗,通过所述主动欺骗向所述客户端发送服务端故障报文,并控制所述客户端进入连接循环,在连接循环结束后,断开与所述客户端的连接。
38.本发明提供的一种物联数据加密传输方法、系统、服务端及客户端,该物联数据加密传输方法相较于传统的物联数据传输方法,具有以下有益效果:
39.1)服务端与客户端通过自主协商生成会话密钥,无需第三方ca介入,减少了泄露风险,提高了物联数据传输的安全性;
40.2)通过主动欺骗,使处于攻击服务端的客户端陷入无意义的解密工作,进一步提高了物联数据传输的安全性,同时保证了物联数据传输的可靠性;
41.3)基于mqtt(message queuing telemetry transport,消息队列遥测传输)协议建立客户端与服务端的安全连接,简洁易用,适合大多数的物联数据加密传输场景。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明实施例一中提供的物联数据加密传输方法的流程图一;
44.图2为本发明实施例一中提供的物联数据加密传输方法的流程图二;
45.图3为本发明实施例二中提供的服务端的结构示意图;
46.图4为本发明实施例三中提供的物联数据加密传输方法的流程图;
47.图5为本发明实施例四中提供的客户端的结构示意图;
48.图6为本发明实施例五中提供的物联数据加密传输系统的结构示意图。
具体实施方式
49.为使本发明所要解决的技术问题、技术方案及有益效果更为清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
50.本发明实施例一提供一种物联数据加密传输方法,该方法为服务端与客户端通过mqtt(message queuing telemetry transport,消息队列遥测传输)协议建立安全连接,实现物联数据的加密传输,并在服务端检测到客户端关联的传输设备编码处于黑名单时,对客户端进行主动欺骗。本发明实施例一提供的物联数据加密传输方法的主体为服务端,如图1所示,物联数据加密传输方法包括以下步骤:
51.步骤s10,服务端接收客户端发送的连接请求报文,根据连接请求报文进行接入校验,在接入校验通过后,生成服务密钥,并向客户端发送连接确认报文。
52.在步骤s10中,服务端获取到客户端发送的连接请求报文后,可以先从连接请求报
文提取接入校验所需的信息,再获取服务端自身存储的接入校验所需的要求,进而根据接入校验所需的信息和对应的要求,对客户端进行接入校验,生成校验结果,若校验结果为接入校验通过,则服务端独立生成服务密钥,并将包含服务密钥的连接确认报文返回至客户端,从而建立好客户端与服务端的mqtt连接。
53.在一优选实施方式中,在服务端包含通信服务器和黑名单服务器时,步骤s10包括以下步骤:
54.步骤s101,通过通信服务器接收客户端发送的连接请求报文,并检测连接请求报文是否存在传输设备编码。
55.在本实施例中,服务端包含但不限于通信服务器和黑名单服务器等;通信服务器用于建立连接,黑名单服务器用于接入校验。客户端设置在传输设备中,并关联有传输设备编码,可选地,传输设备编码为传输设备sn码。连接请求报文可以包含连接请求数据包(即connect数据包)、传输设备编码和时间戳;该时间戳为由uct时间(即世界标准时间)转换的13位时间戳,例如,uct时间为2022-4-1321:28:55,时间转换后的13位时间戳为1649856535358。
56.也即,服务端通过通信服务器,获取客户端发送的连接请求报文,并检测连接请求报文是否存在传输设备编码,若不存在,则将拒绝连接报文返回至客户端,并中断与客户端的连接,等待客户端重新发送连接请求报文,若存在,则进入步骤s102,以通过黑名单服务器进行接入校验。可选地,黑名单服务器设有一个数据库,该数据库可以包含灰名单、白名单和黑名单。
57.步骤s102,在连接请求报文中存在传输设备编码时,通过黑名单服务器从连接请求报文中提取传输设备编码和时间戳,对客户端进行接入校验。
58.可理解的,在连接请求报文中存在传输设备编码时,将连接请求报文转移至黑名单服务器,通过黑名单服务器从连接请求报文中提取传输设备编码和时间戳,并参照步骤s1021~步骤s1023对客户端进行接入校验,也即,步骤s102中的接入校验,具体包括以下步骤:
59.步骤s1021,检测传输设备编码是否为激活状态,以及服务端的当前时间与时间戳之间的差值是否小于失效时间;
60.步骤s1022,若传输设备编码为激活状态,并且服务端的当前时间与时间戳之间的差值未超过失效时间,则确定接入校验通过;
61.步骤s1023,若传输设备编码为未激活状态,或者服务端的当前时间与时间戳之间的差值大于或等于失效时间,则确定接入校验失败,并将传输设备编码列入灰名单。
62.可选地,失效时间为180秒,也即,在超过180秒时,可以判定连接请求报文为失效报文。
63.可理解的,黑名单服务器在进行接入检验时,获取激活名单,若检测到传输设备编码在激活名单中,则确定传输设备编码为激活状态,进一步地,若检测到服务端的当前时间与时间戳之间的差值未超过(即小于)180秒,则确定接入校验通过,准予客户端接入;而若检测到传输设备编码不在激活名单中,或者检测到服务端的当前时间与时间戳之间的差值超过(即大于或等于)180秒,则确定接入校验失败,将传输设备编码暂时列入灰名单,进一步地,在后续两次检测到客户端接入校验失败时,将列入灰名单的传输设备编码转移至到
黑名单。
64.步骤s103,在检测到传输设备编码为激活状态,并且服务端的当前时间与时间戳之间的差值小于失效时间时,确定接入校验通过,并将传输设备编码列入白名单。
65.具体的,黑名单服务器检测到传输设备编码为激活状态,并且服务端的当前时间与时间戳之间的差值小于失效时间时,确定接入校验通过,并将传输设备编码列入白名单,此时,该白名单中传输设备编码关联的传输设备,具有预设时间的接入权限,优选地,该预设时间为24小时。
66.步骤s104,通过通信服务器生成服务密钥,并在根据连接确认数据包、服务密钥和传输设备编码,生成连接确认报文,将连接确认报文发送至客户端。
67.在步骤s104中,服务密钥的生成方法具体为:先从时间戳中获取倒数第一位满足预设取值范围的目标数x,优选地,该取值范围为1<x≤4,若时间戳中不存在满足预设取值范围的目标数x,则将目标数x设置为3,再通过随机生成器生成两个x位数的质数p和质数q,以及一个2x位数的质数e,并将该质数p作为服务密钥。
68.进一步的,服务端随机生成服务密钥后,获取连接确认数据包(即connack数据包),根据connack数据包、服务密钥和传输设备编码生成连接确认报文,并将包含connack数据包、服务密钥和传输设备编码的连接确认报文返回至客户端,从而建立好服务端与客户端之间的mqtt连接。可理解的,本实施例中通过黑名单服务器进行接入检验,并通过通信服务器建立连接,保证了服务端与客户端连接的可靠性。
69.步骤s20,接收客户端发送的首次发布消息,根据服务密钥以及从首次发布消息中提取的客户密钥和,生成第一会话密钥,并向客户端发送消息发布完成通知。
70.也即,在消息首次发布时,客户端与服务端已建立好mqtt连接,但未建立安全连接,此时,服务端获取客户端发送的首次发布消息,从首次发布消息中提取出客户密钥,根据客户密钥和自身的服务密钥,通过会话密钥生成算法生成服务端的会话密钥(即第一会话密钥),同时将消息发布完成通知发送至客户端,从而建立好客户端与服务端的安全连接。其中,该第一会话密钥用于对客户端传输的物联数据密文进行解密,得到物联数据。
71.作为优选,在会话密钥(包括第一会话密钥和第二会话密钥)由加密密钥和解密密钥时,上述会话密钥生成算法可以为:
[0072][0073]
其中,为会话密钥的加密密钥和解密密钥;f(x)为加密密钥和解密密钥的第一字节;p、q分别为服务密钥和客户密钥,即通过随机生成器生成两个x位数的质数;e、d分别为加密密钥和解密密钥的第二字节;mod[]为模运算;e*d≡1(mod[δ])表示e*d被δ除,余数为1。其中,e为服务密钥生成方法中通过随机生成器生成的一个2x位数的质数,以时间戳为1649856535358为例,倒数第一位满足取值范围1<x≤4的数字为3,则得到目标数x为3,因此加密密钥的第二字节e是一个6位数的质数。
[0074]
步骤s30,获取客户端传输的物联数据密文,通过第一会话密钥对物联数据密文进
行解密,得到物联数据明文。
[0075]
在步骤s30中,物联数据密文是指,客户端传输的物联数据经非对称加密得到的密文。
[0076]
也即,在稳定通信过程中,服务端获取客户端传输的物联数据密文,利用第一会话密钥中的解密密钥对物联数据密文进行非对称解密,得到物联数据明文,进而将物联数据明文进行存储。其中,非对称解密采用的解密算法可以为:
[0077]y*
=z
2d mod(f(x)),
[0078]
其中,y
*
为物联数据明文;z为物联数据密文;(f(x),d)为第一会话密钥中的解密密钥。
[0079]
需要说明的是,步骤s20和步骤s30均可以通过服务端的通信服务器执行,也即,通信服务器用于建立连接以及稳定通信。
[0080]
步骤s40,对通信中的客户端进行通信鉴别,获得通信鉴别等级。
[0081]
也即,在稳定通信过程中,服务端获取客户端发送的通信数据,并通过鉴权服务器,根据通信数据对客户端进行通信鉴别,获得通信鉴别等级,该通信鉴别等级为安全、异常和危险中的任意一种。
[0082]
在一优选实施方式中,在服务端还包含鉴权服务器时,步骤s40可以包括以下步骤:
[0083]
步骤s401,服务端获取客户端发送的通信数据,并通过鉴权服务器从通信数据中提取传输设备编码和时间戳;
[0084]
步骤s402,调用黑名单服务器的数据库对传输设备编码进行对比,同时检测时间戳是否合格;该数据库包含白名单、灰名单和黑名单;
[0085]
步骤s403,若传输设备编码处于白名单,并且时间戳合格,则确定通信鉴别等级为安全;
[0086]
步骤s404,若传输设备编码处于灰名单,则确定通信鉴别等级为异常;
[0087]
步骤s405,若传输设备编码处于黑名单,则确定通信鉴别等级为危险。
[0088]
本实施例中,服务端还包含鉴权服务器;该鉴权服务器用于对稳定通信中的客户端进行定期鉴别。
[0089]
在鉴权服务器进行通信鉴别时,按照预设的鉴别周期对客户端发送的通信数据进行一次提取,得到传输设备编码和时间戳,在传输设备编码处于白名单,并且时间戳合格时,确定通信鉴别等级为安全,进入步骤s60,以与客户端保持通信,直至接收到客户端发送的连接释放控制报文;在传输设备编码处于灰名单时,确定通信鉴别等级为异常,进入步骤s70,以主动中断与客户端的连接,并等待与客户端重新建立连接;在传输设备编码处于黑名单时,确定通信鉴别等级为危险,进入步骤s50,以对客户端进行主动欺骗并不再接受连接需求。其中,时间戳合格是指服务端的当前时间与时间戳的差值小于180秒;鉴别周期根据需求进行设置,可选地鉴别周期设置为12小时。可理解的,本实施例通过鉴权服务器进行通信鉴别,可以提高服务器与客户端通信的安全性。
[0090]
步骤s50,在通信鉴别等级为危险时,触发主动欺骗,通过主动欺骗向客户端发送服务端故障报文,并控制客户端进入连接循环,在连接循环结束时,断开与客户端的连接。
[0091]
在步骤s50中,服务端检测到通信鉴别等级为危险时,对客户端进行主动欺骗,先
向客户端发送服务端故障报文,以要求客户端重新建立连接,在客户端尝试连接时,控制客户端进入连接循环,并在连接循环过程满足循环结束条件时,结束连接循环过程,向客户端发送服务端故障报文,同时断开与客户端的连接,不再接受客户端的连接需求。可选地,循环结束条件是指,客户端的尝试连接次数达到预设的连接次数限值。
[0092]
在一优选实施方式中,步骤s50中的主动欺骗,具体包括以下步骤:
[0093]
步骤s501,服务端在主动欺骗时,向客户端发送服务端故障报文;
[0094]
步骤s502,获取解密算法,对解密算法的复杂度进行更新处理后,得到欺骗算法,并将建立连接的客户端移至黑名单服务器;
[0095]
步骤s503,通过黑名单服务器接收客户端发送的尝试连接请求报文,记录尝试连接次数,并根据服务密钥的复杂度生成多个类真密钥;
[0096]
步骤s504,根据多个类真密钥生成连接控制报文,以控制客户端进入连接循环;
[0097]
步骤s505,在尝试连接次数达到预设的连接次数限值时,向客户端发送服务端故障报文,并断开与客户端的连接。
[0098]
在本实施例中,黑名单服务器还用于在主动欺骗时响应客户端的尝试连接,使客户端进入连接循环。服务端故障报文包含但限于报文长度、报文时间和故障码等,且故障码分为两类,一类为真实故障信息,另一类为主动欺骗的故障码。连接次数限值可以根据需求进行设置,可选的,连接次数限值设置为100次。
[0099]
可理解的,服务端在主动欺骗时,首先,向客户端发送服务端故障报文,将初始的解密算法的复杂度n更新为n的平方,得到欺骗算法,并将已建立连接的客户端转移至黑名单服务器,以将客户端的尝试连接转移至黑名单服务器进行处理,可以节约服务端的资源。对于欺骗算法,一方面可以防止初始的解密算法存在破解风险,另一方面可以增加解密算法的复杂度,从而消耗破解者的计算资源。
[0100]
然后,通过黑名单服务器接收客户端发送的包含尝试连接数据包、传输设备编码和时间戳的尝试连接请求报文,记录尝试连接次数,并根据初始的服务密钥的复杂度,通过类真密钥生成方法得到多个类真密钥。该类真密钥生成方法采用的是:根据初始的服务密钥p,获取大于服务密钥p的两个相邻质数g1和g2,以及小于服务密钥p的两个相邻质数g3和g4,并将四个质数g1、g2、g3和g4作为质数密钥,进一步地,将四个质数g1、g2、g3和g4交叉相乘获得非质数密钥,并将上述质数密钥和上述非质数密钥作为服务密钥p的类真密钥。
[0101]
最后,获取连接控制数据包,并与多个类真密钥和时间戳组合生成连接控制报文,并将连接控制报文发送至客户端,以根据多个类真密钥控制客户端进入连接循环,在尝试连接次数超过100次后,向客户端发送服务端故障报文,并断开与客户端的连接。
[0102]
进一步地,如图2所示,步骤s40之后,可以包括以下步骤:
[0103]
步骤s60,在通信鉴别等级为异常时,中断与客户端的连接,等待与客户端重新建立连接,若再次检测到通信鉴别等级为异常,则将通信鉴别等级由异常转为危险。
[0104]
在步骤s60中,在服务端检测到通信鉴别等级为安全时,暂时中断与客户端的连接,更新从黑名单服务器调用的数据库并跳转至连接建立过程,进一步地,在服务端与客户端重新建立连接时,若检测到传输设备编码仍未处于白名单,则确定通信鉴别等级仍为异常,将传输设备编码由灰名单移至黑名单,同时将通信鉴别等级由异常转为危险。
[0105]
步骤s70,在通信鉴别等级为安全时,保持与客户端的连接,并在接收到客户端发
送的释放连接请求时,断开与客户端的连接。
[0106]
在步骤s70中,服务端检测到通信鉴别等级为安全时,继续保持与客户端的连接,并实时检测是否接收到客户端发送的释放连接请求,若接收到释放连接请求,则断开与客户端的连接。
[0107]
有上述可知,本发明实施例一提供的物联数据加密传输方法,相较于现有的物联数据加密传输方法,具有以下有益效果:
[0108]
1)服务端与客户端通过自主协商生成会话密钥,无需第三方ca介入,减少了泄露风险,提高了物联数据传输的安全性;
[0109]
2)通过主动欺骗,使处于攻击服务端的客户端陷入无意义的解密工作,进一步提高了物联数据传输的安全性,同时保证了物联数据传输的可靠性;
[0110]
3)基于mqtt协议建立客户端与服务端的安全连接,简洁易用,适合大多数的物联数据加密传输场景。
[0111]
本发明实施例二提供的一种服务端,如图3所示,服务端包括连接请求模块110、连接建立模块120、加密传输模块130、通信鉴别模块140和主动欺骗模块150;
[0112]
连接请求模块110,用于服务端接收客户端发送的连接请求报文,根据连接请求报文进行接入校验,在接入校验通过后,生成服务密钥,并向客户端发送连接确认报文;
[0113]
连接建立模块120,用于接收客户端发送的首次发布消息,根据从首次发布消息中解析出的客户密钥和服务密钥,生成第一会话密钥,并向客户端发送消息发布完成通知;
[0114]
加密传输模块130,获取客户端传输的物联数据密文,通过第一会话密钥对物联数据密文进行解密,得到物联数据明文;
[0115]
通信鉴别模块140,用于对通信中的客户端进行通信鉴别,获取通信鉴别等级;
[0116]
主动欺骗模块150,用于在通信鉴别等级为危险时,触发主动欺骗,通过主动欺骗向客户端发送服务端故障报文,控制客户端进入连接循环,并在连接循环结束时,断开与客户端的连接。
[0117]
进一步地,如图3所示,服务端还包括异常连接模块160和安全释放模块170;
[0118]
异常连接模块160,用于在通信鉴别等级为异常时,断开与客户端的连接,更新数据库并与客户端重新建立连接,若两次检测到通信鉴别等级为异常,则将通信鉴别等级由异常转为危险;
[0119]
安全释放模块170,用于在通信鉴别等级为安全时,保持与客户端的连接,并在接收到客户端发送的释放连接请求时,断开与客户端的连接。
[0120]
进一步地,所述服务端包含通信服务器和黑名单服务器;所述连接请求模块110包括以下单元,各功能单元的详细描述如下:
[0121]
请求接收单元,用于通过通信服务器接收客户端发送的连接请求报文,并检测连接请求报文是否存在传输设备编码;
[0122]
接入校验单元,用于在连接请求报文中存在传输设备编码时,通过黑名单服务器从连接请求报文中提取传输设备编码和时间戳,对客户端进行接入校验;以及,在检测到传输设备编码为激活状态,并且服务端的当前时间与时间戳之间的差值小于失效时间时,确定接入校验通过,并将传输设备编码列入白名单;
[0123]
请求响应单元,用于通过通信服务器生成服务密钥,并在根据连接确认数据包、服
务密钥和传输设备编码,生成连接确认报文,将连接确认报文发送至客户端。
[0124]
进一步地,所述服务端包含鉴权服务器;所述通信鉴别模块140包括以下单元,各功能单元的详细描述如下:
[0125]
信息提取单元,用于服务端获取客户端发送的通信数据,并通过鉴权服务器从通信数据中提取传输设备编码和时间戳;
[0126]
信息检测单元,用于调用黑名单服务器的数据库对传输设备编码进行对比,同时检测时间戳是否合格;该数据库包含白名单、灰名单和黑名单;
[0127]
鉴别单元,用于若传输设备编码处于白名单,并且时间戳合格,则确定通信鉴别等级为安全;若传输设备编码处于灰名单,则确定通信鉴别等级为异常;若传输设备编码处于黑名单,则确定通信鉴别等级为危险。
[0128]
进一步地,所述服务端包含鉴权服务器;所述主动欺骗模块150包括以下单元,各功能单元的详细描述如下:
[0129]
故障发送单元,用于服务端在主动欺骗时,向客户端发送服务端故障报文;
[0130]
算法更新单元,用于获取解密算法,对解密算法的复杂度进行更新处理后,得到欺骗算法,并将建立连接的客户端移至黑名单服务器;
[0131]
类真密钥生成单元,用于通过黑名单服务器,接收客户端发送的尝试连接请求报文,记录尝试连接次数,并根据服务密钥的复杂度生成多个类真密钥;
[0132]
连接循环控制单元,根据多个类真密钥生成连接控制报文,以控制客户端进入连接循环;以及在尝试连接次数达到预设的连接次数限值时,向客户端发送服务端故障报文,并断开与客户端的连接。
[0133]
上述实施例提供的服务端用于实现前述实施例中相应的物联数据加密传输方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0134]
本发明实施例三提供的物联数据加密传输方法,该物联数据加密传输方法的主体为客户端,如图4所示,该方法包括以下步骤:
[0135]
步骤s1,客户端将连接请求报文发送至服务端,并接收服务端根据连接请求报文进行接入检验后,返回的连接确认报文。
[0136]
在步骤s1中,连接请求报文包含连接请求数据包、传输设备编码和时间戳;连接确认报文包含连接请求数据包、服务密钥和时间戳。
[0137]
客户端在获取到传输设备编码和连接请求数据包后,首先根据连接请求数据包、传输设备编码和时间戳,生成连接请求报文,并将连接请求报文发送至服务端;然后等待并接收服务端发送的连接确认报文。
[0138]
步骤s2,根据连接确认报文进行返回校验,在返回校验通过后,生成客户密钥。
[0139]
在步骤s2中,客户端获取到服务端发送的连接确认报文后,可以先从连接确认报文中提取出传输设备编码,再检测提取的传输设备编码与自身存储的传输设备编码是否匹配,若匹配,则确定返回校验通过,独立生成客户密钥,并从连接确认报文中提取出服务密钥进行存储;若不匹配,则确定返回校验失败,可以转至步骤s1,以向服务端重新发送连接请求。
[0140]
需要说明的是,客户密钥的生成方法与服务密钥的生成方法相同,在此不再赘述。
[0141]
步骤s3,将首次发布消息发送至服务端,并接收到服务端返回的消息发布完成通
知后,获取服务密钥,根据服务密钥和客户密钥生成第二会话密钥。
[0142]
在步骤s3之前,已经建立好客户端与服务端之间的mqtt连接,在步骤s3中,客户端将包含客户密钥的首次发布消息发送至服务端,实时检测是否接收到服务端返回的消息发布完成通知,若接收到服务端返回的消息发布完成通知,则获取预先从连接确认报文中提取出的服务密钥,并根据服务密钥和客户密钥,通过会话密钥生成算法获得客户端的会话密钥(即第二会话密钥),从而建立好客户端与服务端之间的安全连接。
[0143]
需要说明的是,会话密钥生成算法参考步骤s20中的会话密钥生成算法,在此不再赘述。
[0144]
步骤s4,通过第二会话密钥对物联数据进行加密,将加密得到的物联数据密文传输至服务端。
[0145]
在稳定通信过程中,客户端将获取的物联数据,通过第二会话密钥中的加密密钥进行非对称加密,得到物联数据密文,并将物联数据密文发送至服务端,从而实现物联数据的加密传输。其中,非对称加密采用的加密算法为:
[0146]
z=y
2e
mod(f(x)),
[0147]
其中,z为物联数据密文;y为原始的物联数据;(f(x),e)为第二会话密钥的加密密钥。
[0148]
需要说明的是,客户端非对称加密采用的加密算法与服务端非对称解密采用的解密算法相对应。
[0149]
步骤s5,检测是否接收到服务端在主动欺骗时发送的服务端故障报文。
[0150]
在步骤s5中,客户端实时检测是否接收到服务端发送的服务端故障报文,若接收到服务端发送的服务端故障报文,则进入步骤s6,以尝试连接服务端;否则,进入步骤s7,以与服务端继续保持连接。
[0151]
步骤s6,在接收到服务端故障报文时,向服务端发送尝试连接请求报文,并进入连接循环,直至与服务端断开连接。
[0152]
在步骤s6中,客户端接收到服务端根据尝试连接请求报文返回的连接控制报文后,从连接控制报文中提取类真密钥,并根据类真密钥进入连接循环,直至服务端主动与客户端断开连接。
[0153]
进一步地,如图4所示,步骤s5之后,可以包括以下步骤:
[0154]
步骤s7,在未接收到服务端故障报文时,保持与服务端的连接,并向服务端发送释放连接请求时,断开与服务端的连接。
[0155]
在步骤s7中,客户端未接收到服务端发送的服务端故障报文时,保持与服务端的安全连接,并在检测到获取的传输数据完成加密传输时,获取释放连接数据包(即disconnect数据包),并根据释放连接数据包、第二会话密钥和传输设备编码生成释放连接请求后,将释放连接请求发送至服务端,在无需进行释放确认的情况下,直接断开与服务端的连接。
[0156]
本发明实施例四提供的客户端,如图5所示,该客户端包括连接请求模块210、返回校验模块220、连接建立模块230、加密传输模块240、检测模块250和尝试连接模块250;
[0157]
连接请求模块210,用于将连接请求报文发送至服务端,并接收服务端根据连接请求报文进行接入检验后,返回的连接确认报文;
[0158]
返回校验模块220,用于根据连接确认报文进行返回校验,在返回校验通过后,生成客户密钥;
[0159]
连接建立模块230,用于将首次发布消息发送至服务端,并在接收到服务端返回的消息发布完成通知后,获取服务密钥,根据服务密钥和客户密钥生成第二会话密钥;
[0160]
加密传输模块240,用于通过第二会话密钥对物联数据进行加密,将加密得到的物联数据密文传输至服务端;
[0161]
检测模块250,用于检测是否接收到服务端触发主动欺骗时发送的服务端故障报文;
[0162]
尝试连接模块250,用于在接收到服务端触发主动欺骗时发送的服务端故障报文时,向服务端发送尝试连接请求报文,并进入连接循环,直至与服务端断开连接。
[0163]
进一步地,如图5所示,该客户端还包括安全释放模块270,用于在未接收到服务端触发主动欺骗时发送的服务端故障报文时,保持与服务端的连接,并向服务端发送释放连接请求时,断开与服务端的连接。
[0164]
本发明实施例五提供一种物联数据加密传输系统,如图6所示,该物联数据加密传输系统包括服务端100和客户端200;其中,服务端100包含通信服务器、黑名单服务器和鉴权服务器;通信服务器用于建立连接和稳定连接;黑名单服务器用于接入校验以及在主动欺骗时响应客户端的尝试连接,使客户端进入连接循环;鉴权服务器用于在稳定连接时对客户端进行定期鉴权;客户端200设置在传输设备中,并关联唯一的传输设备编码;
[0165]
服务端100接收客户端200发送的连接请求报文,根据连接请求报文进行接入校验,在接入校验通过后,生成服务密钥,并向客户端200发送连接确认报文;
[0166]
客户端200接收服务端返回的连接确认报文,根据连接确认报文进行返回校验,在返回校验通过后,生成客户密钥;
[0167]
服务端100接收客户端200发送的首次发布消息,根据服务密钥以及从首次发布消息中提取的客户密钥,生成第一会话密钥,并向客户端200发送消息发布完成通知;
[0168]
客户端200接收服务端返回的消息发布完成通知,根据客户密钥以及从连接确认报文中提取的服务密钥,生成第二会话密钥;
[0169]
客户端200通过第二会话密钥对物联数据进行加密,将加密得到的物联数据密文传输至服务端100;
[0170]
服务端100接收客户端200发送的物联数据密文,通过第一会话密钥对物联数据密文进行解密,得到物联数据明文;
[0171]
服务端100对通信中的客户端200进行通信鉴别,获取通信鉴别等级,并在通信鉴别等级为危险时,触发主动欺骗,通过主动欺骗向客户端发送服务端故障报文,并控制客户端200进入连接循环,在连接循环结束后,断开与客户端200的连接。
[0172]
进一步地,服务端100在通信鉴别等级为异常时,中断与客户端的连接,等待与客户端重新建立连接,若再次检测到通信鉴别等级为异常,则将通信鉴别等级由异常转为危险;以及在通信鉴别等级为安全时,保持与客户端的连接,并在接收到客户端发送的释放连接请求时,断开与客户端的连接。
[0173]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明的范围限于这些例子;在本发明的思路下,以上实施例或者不同实施例中
的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明实施例的,不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0174]
本发明实施例旨在涵盖落入本发明的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献