物联网终端设备及其与远程管理平台建立TCP连接的方法与流程

文档序号:18297736发布日期:2019-07-31 09:37阅读:643来源:国知局
物联网终端设备及其与远程管理平台建立TCP连接的方法与流程

本发明涉及网络安全防护的技术领域,特别是一种物联网终端设备及其与远程管理平台建立tcp连接的方法。



背景技术:

物联网没有具体定义,但无论是学术界、产业和政府管理部门,基本有以下共识:物联网的基本架构包括三个逻辑层,即感知层、网络传输层、处理应用层。感知层由数量众多的智能终端设备构成,其功能是采集周围物理环境信息并将感知数据上传;传输层实际上是以互联网为核心的传输网络,功能是将这些感知数据通过网络基础设施传输到远程的处理应用层;处理应用层实际是数据处理中心,对收到的海量数据进行智能处理,提供给物联网系统的用户使用。一个具体的物联网应用系统,通常可视作由处理应用层的应用与管理平台、感知层的终端设备和它们之间的网络构成如图1所示。应用与管理平台通过网络与分散部署的众多终端设备通过网络进行通信,通信数据包括应用数据以及系统运维数据。其中,系统运维数据对于物联网系统的安全特别重要,因为它包括实现对物联网终端设备远程设置的相关参数、指令、升级更新包等,决定了终端设备的工作模式、通信规则等重要安全相关的功能。

一个物联网系统部署完成后,需要对终端设备进行远程升级或更改设置时,处理应用层的管理平台与终端设备就要建立通信连接。tcp连接是传输层可靠通信事实上的标准,连接的端点是套接字:{ip地址:端口号}。每一个tcp连接唯一的被通信两端的两个端点所确定,即:tcp连接={socket1,socket2}={(ip1:port1),(ip2:port2)}。连接的建立采用客户服务器方式,在实践中,出于方便运维考虑,都是以应用与管理平台作为客户端,终端设备作为服务器:即tcp的连接通常由管理平台发起,由管理平台的{源ip地址,源端口号}向终端设备的{目的ip地址,目的端口号}发起访问并建立连接。这种方式给物联网系统的运维管理带来了极大便利,系统管理者可以在需要的时候对联网的终端设备进行必要的远程运维操作。但这种方式也存在着安全隐患,主要原因在于终端设备必须随时保持tcp端点的开放,以接受来自管理平台发起的访问并建立连接。而从成本的角度考虑,终端设备往往计算资源受限,难以建立足够强度的安全机制,对通信对象的合法性进行辨别。一个攻击者伪装成管理平台地址,能够较容易地与终端设备建立通信连接,并进一步控制终端设备。

因此,针对物联网应用系统的运维需求,需要提出一种新的方法,用更安全的方式建立物联网系统管理平台与终端设备的tcp连接。



技术实现要素:

本发明的目的就是解决现有技术中的问题,提出一种物联网终端设备及其与远程管理平台建立tcp连接的方法,能够增加攻击者入侵物联网终端设备配置管理模块的难度,保证tcp连接的安全性。

为实现上述目的,本发明提出了一种物联网终端设备,包括配置管理模块、应用管理模块和tcp/ip数据包收发解析处理模块,所述配置管理模块作为客户端只能通过端口b与作为服务器端的物联网管理平台建立tcp连接,接受管理平台发出的指令,所述指令包括软件升级、更新、通信规则设置,并通过终端设备的内置通信机制将这些指令载入应用管理模块;所述配置管理模块由远程配置触发启动控制子模块和配置通信子模块构成,只有当内置的启动配置条件满足时,远程配置触发启动控制子模块才打开端口b,并驱动配置通信子模块以客户端身份向预定的服务器端发起tcp连接,连接结束后端口b关闭;所述应用管理模块接受配置管理模块发出的配置更新操作,通过端口a与物联网应用平台远程通信,完成物联网应用数据通信和功能;所述tcp/ip数据包收发解析处理模块负责终端设备数据报的解析与收发处理,与端口b通信的接收数据包交给配置管理模块,与端口a通信的接收数据包交给应用管理模块,配置管理模块和应用管理模块发向远程应用和管理平台的数据包通过tcp/ip数据包收发解析处理模块交给网络。

一种物联网终端设备与远程管理平台建立tcp连接的方法,该方法原则是:对物联网终端设备进行远程配置管理的tcp连接均由物联网终端设备主动发起,该方法基于以物联网终端设备作为客户端、远程管理平台作为服务器建立tcp连接,完成对物联网终端设备的远程配置,所述物联网终端设备包括配置管理模块、应用管理模块和tcp/ip数据包收发解析处理模块。该方法的具体实现步骤如下:

s1准备

终端设备配置管理模块:远程配置触发启动控制子模块内预设启动配置条件是否满足,当启动配置条件不满足时,终端设备配置管理模块不发出远程连接请求;

管理平台:需要对物联网终端设备更新参数或系统升级时,准备好更新参数包,等待物联网终端设备的连接请求;

s2等待期

终端设备配置管理模块:启动配置条件不满足,禁止端口b;

管理平台:等待物联网终端设备的连接请求;

s3tcp连接的发起

终端设备配置管理模块:启动配置条件满足时,远程配置触发启动控制子模块打开端口b,并驱动配置通信子模块以客户端身份向预定的服务器端发起tcp连接请求;

管理平台:接收到物联网终端设备的连接请求,根据平台访问控制机制确定是否应答;

s4.1建立tcp连接

通过三次报文握手建立tcp连接,终端设备配置管理模块与配置管理平台按上层协议进行数据通信,接受配置管理平台下发的配置更新指令;

s4.2未建立tcp连接

如果终端设备配置管理模块与管理平台未能通过三次握手报文实现tcp连接:

终端设备配置管理模块:由远程配置触发启动控制子模块内置的规则决定是否继续本次tcp连接尝试,若继续,保持端口b开放并返回到s3;若终止,返回s2;

管理平台:返回s2;

s5:tcp连接的释放

配置管理指令下发完成后,由配置管理平台向终端设备的配置管理模块发送释放连接报文;按四次报文握手方式释放连接;

s6:配置管理指令的执行

终端设备配置管理模块:执行接收到的新的配置管理指令,并通过终端设备的内置通信机制将接收到的新的配置管理指令载入应用管理模块;转入s2;

管理平台:转入s2。

作为优选,所述端口a为一个端口号或数个端口号的集合;所述端口b为一个端口号或数个端口号的集合。

作为优选,一个物联网终端设备可与一个或多个ip地址的应用平台或管理平台进行通信。

作为优选,所述物联网终端设备中的配置管理模块和tcp/ip数据包收发解析处理模块从物联网终端设备中独立出来,以模组或芯片的形式存在,物联网终端设备与其串联后再接入网络。

作为优选,所述远程配置触发启动控制子模块内预设的启动配置条件,根据物联网系统的运维特点和要求,可以是按固定时间周期、基于一定时间周期由内置算法生成随机时间等。

作为优选,所述物联网终端设备配置管理模块与管理平台服务端建立连接后,所述远程配置触发启动控制子模块内预设的启动配置条件可远程重置、更新或升级。

作为优选,所述物联网终端设备配置管理模块作为客户端向管理平台服务端发起连接请求时,tcp报头中的32位序列号随机生成。

作为优选,所述物联网终端设备配置管理模块与管理平台服务端建立连接后,由管理平台对终端设备配置管理模块连接请求tcp报头中的32位序列号生成方式重新定义。

作为优选,所述的物联网终端设备与管理平台、应用平台的通信,可以组合应用身份认证、数据加密。

作为优选,所述的端口a、端口b也可以是tcp报文应用数据中自定义的某些字段作为区分与应用平台和管理平台的数据包。

本发明的有益效果:本发明tcp连接的方法由物联网终端设备作为客户端向物联网管理平台发起tcp连接,比通常采用的由物联网管理平台作为客户端向物联网终端设备发起tcp连接的方式更安全。这是因为,在这种连接方式下,终端设备常态下参数设置端口是关闭的,攻击者无法与终端设备建立tcp连接;攻击者难以准确掌握终端设备的tcp连接请求报文的准确发起时间,也难以准确预测终端设备连接请求报文中的32位序号。这些因素,都极大地增加了攻击者入侵物联网终端设备配置管理模块的难度。

本发明的特征及优点将通过实施例结合附图进行详细说明。

【附图说明】

图1是现有物联网应用系统的框架图;

图2是本发明中物联网终端网络通信示意图;

图3是本发明的通信方法流程图;

图4是本发明的tcp报文格式图。

【具体实施方式】

参阅图2,本发明一种物联网终端设备,包括配置管理模块、应用管理模块和tcp/ip数据包收发解析处理模块,所述配置管理模块作为客户端只能通过端口b与作为服务器端的物联网管理平台建立tcp连接,接受管理平台发出的指令,所述指令包括软件升级、更新、通信规则设置,并通过终端设备的内置通信机制将这些指令载入应用管理模块;所述配置管理模块由远程配置触发启动控制子模块和配置通信子模块构成,只有当内置的启动配置条件满足时,远程配置触发启动控制子模块才打开端口b,并驱动配置通信子模块以客户端身份向预定的服务器端发起tcp连接,连接结束后端口b关闭;所述应用管理模块接受配置管理模块发出的配置更新操作,通过端口a与物联网应用平台远程通信,完成物联网应用数据通信和功能;所述tcp/ip数据包收发解析处理模块负责终端设备数据报的解析与收发处理,与端口b通信的接收数据包交给配置管理模块,与端口a通信的接收数据包交给应用管理模块,配置管理模块和应用管理模块发向远程应用和管理平台的数据包通过tcp/ip数据包收发解析处理模块交给网络。

参阅图2和图3本发明一种物联网终端设备与远程管理平台建立tcp连接的方法,该方法原则是:对物联网终端设备进行远程配置管理的tcp连接均由物联网终端设备主动发起;该方法基于以终端设备作为客户端、远程管理平台作为服务器建立tcp连接,完成对物联网终端设备的远程配置,该方法的具体实现步骤如下:

s1准备

终端设备配置管理模块:远程配置触发启动控制子模块内预设启动配置条件是否满足,当启动配置条件不满足时,终端设备配置管理模块不发出远程连接请求;

管理平台:需要对物联网终端设备更新参数或系统升级时,准备好更新参数包,等待物联网终端设备的连接请求;

s2等待期

终端设备配置管理模块:启动配置条件不满足,禁止端口b;

管理平台:等待物联网终端设备的连接请求;

s3tcp连接的发起

终端设备配置管理模块:启动配置条件满足时,远程配置触发启动控制子模块打开端口b,并驱动配置通信子模块以客户端身份向预定的服务器端发起tcp连接请求;

管理平台:接收到物联网终端设备的连接请求,根据平台访问控制机制确定是否应答;

s4.1建立tcp连接

通过三次报文握手建立tcp连接,终端设备配置管理模块与配置管理平台按上层协议进行数据通信,接受配置管理平台下发的配置更新指令;

s4.2未建立tcp连接

如果终端设备配置管理模块与管理平台未能通过三次握手报文实现tcp连接:

终端设备配置管理模块:由远程配置触发启动控制子模块内置的规则决定是否继续本次tcp连接尝试,若继续,保持端口b开放并返回到s3;若终止,返回s2;

管理平台:返回s2;

s5:tcp连接的释放

配置管理指令下发完成后,由配置管理平台向终端设备的配置管理模块发送释放连接报文;按四次报文握手方式释放连接;

s6:配置管理指令的执行

终端设备配置管理模块:执行接收到的新的配置管理指令,并通过终端设备的内置通信机制将接收到的新的配置管理指令载入应用管理模块;转入s2;

管理平台:转入s2。

进一步地,所述端口a,可以是一个端口号或数个端口号的集合;所述端口b,可以是一个端口号或数个端口号的集合。一个物联网终端设备可与一个或多个ip地址的应用平台或管理平台进行通信。所述物联网终端设备中的配置管理模块和tcp/ip数据包收发解析处理模块可从物联网终端设备中独立出来,以模组或芯片的形式存在,物联网终端设备与其串联后再接入网络。所述远程配置触发启动控制子模块内预设的启动配置条件,根据物联网系统的运维特点和要求,可以是按固定时间周期、基于一定时间周期由内置算法生成随机时间等。所述物联网终端设备配置管理模块与管理平台服务端建立连接后,所述远程配置触发启动控制子模块内预设的启动配置条件可远程重置、更新或升级。所述物联网终端设备与所述管理平台、应用平台的通信,可以组合应用身份认证、数据加密等安全技术,所述的端口a、端口b也可以是tcp报文应用数据中自定义的某些字段作为区分与应用平台和管理平台的数据包。

更进一步地,所述物联网终端设备配置管理模块作为客户端向管理平台服务端发起连接请求时,tcp报头中的32位序列号随机生成,如图4所示。所述物联网终端设备配置管理模块与管理平台服务端建立连接后,由管理平台对终端设备配置管理模块连接请求tcp报头中的32位序列号生成方式重新定义。

本发明物联网终端设备与远程管理平台建立tcp连接的方法,根据物联网系统对终端设备的配置管理为低频事件的特性,终端设备的配置端口日常保持关闭,拒绝外部远程联接,只在终端设备预设的与服务端的远程连接启动时,采用客户服务器方式,由终端设备作为客户端、远程管理平台作为服务器建立tcp连接,完成对终端设备的远程配置即:由终端设备的配置端口{终端设备ip地址,终端设备配端口号}向管理平台的配置端口{管理平台ip地址,管理平台配置端口号}发起访问并建立连接。

上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。

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