一种基于TCP自定义协议安全通信的设备接入平台方法技术

技术编号:32901376 阅读:24 留言:0更新日期:2022-04-07 11:51
本发明专利技术公开了一种基于TCP自定义协议安全通信的设备接入平台方法,克服了现有技术设备连接入网认证安全性低对IOT平台造成损害以及上报数据不稳定的问题,设备与云端服务器之间建立TCP连接后,且智能设备与IOT平台之间进行数据上下行通信之前,需要经过认证和入网的流程;只有认证入网通过以后,才能进行上下行数据通信,针对使用环境的不同分别使用三种设备入网方法。本发明专利技术通过增加设备入网认证流程,非法设备无法直接连接IOT平台上报数据,很好的保护了IOT平台,节省了服务器的资源,同时也提高了正常设备连接IOT平台和上报数据的稳定性。性。性。

【技术实现步骤摘要】
一种基于TCP自定义协议安全通信的设备接入平台方法


[0001]本专利技术涉及通信认证
,尤其是涉及一种基于TCP自定义协议安全通信的设备接入平台方法。

技术介绍

[0002]随着智能设备和互联网的发展,物联网正以前所未有的速度进入和影响我们的生活。近年来,物联网相关产品层出不穷。如智能家居、智慧医疗、共享单车、自动贩卖机等,在各式各样的物联网产品中,设备联网与云端服务器进行通信是产品最基本的需求。为此人们研发出了各种各样的通信方案和通信协议,如TCP+私有协议、MQTT、COAP、LWM2M等。不同的设备由于硬件资源与联网方式的不同,采用的通信方案也不一样。其中采用TCP自定义协议进行通信的设备不在少数,但是目前采用该种方案的产品大多关注的是设备与服务器之间的数据交互以及产品相关功能的实现,往往忽略了设备联网以后的通信安全。很多设备通过TCP的方式连上云端服务器之后就可以直接进行数据上下行通信,不仅缺少设备必要的入网流程,同时也缺乏通信安全方面的校验。

技术实现思路

[0003]本专利技术是为了克服现有技术的设备连接入网认证安全性低对IOT平台造成损害以及上报数据不稳定的问题,提供一种基于TCP自定义协议安全通信的设备接入平台方法,非法设备无法直接连接IOT平台上报数据,很好的保护了IOT平台,节省了服务器的资源,同时也提高了正常设备连接IOT平台和上报数据的稳定性。
[0004]为了实现上述目的,本专利技术采用以下技术方案:一种基于TCP自定义协议安全通信的设备接入平台方法,设备与云端服务器之间建立TCP连接后,且智能设备与IOT平台之间进行数据上下行通信之前,需要经过认证和入网的流程;只有认证入网通过以后,才能进行上下行数据通信,针对使用环境的不同分别使用三种设备入网方法;所述三种设备入网方法包括:一型一密免注册、一型一密预注册和一机一密预注册;一型一密免注册即同一个产品下所有的设备采用相同的证书密钥连接设备接入平台,且无需预先将设备注册到设备接入平台;一型一密预注册即同一个产品下所有的设备采用相同的证书密钥连接设备接入平台;一机一密预注册即每个设备都采用单独的证书密钥连接设备接入平台;智能设备与IOT平台交互流程为:S1、智能设备请求认证平台的身份;平台回复认证请求;S2、智能设备向IOT平台请求入网;
IOT平台回复允许设备入网;S3、应用数据上行;应用数据下行。
[0005]作为优选,所述一型一密免注册设备的认证入网流程如下:创建产品后生成产品生成证书;设备烧录产品证书信息;在设备认证步骤中,设备通过产品证书信息进行计算获得sign值,并缓存在本地,此时设备携带产品证书信息向平台发起认证,平台收到设备的认证请求后,通过设备携带的产品证书进行同样的计算方式计算sign,并校验设备合法性,最终将认证结果和sign值返回给设备,设备收到返回的认证结果和sign,与本地计算的sign进行比对,来确认平台是否可信;认证通过后,设备携带产品证书向平台发起入网请求,平台收到入网请求后,进行设备认证入网以及注册流程,同时使用设备发送的产品证书计算获得交互数据所需的加密密钥Sessionkey,最终将入网结果和加密密钥返回给设备。
[0006]作为优选,所述一型一密预注册采用以下认证入网流程:设备依旧烧录产品证书信息,但是在入网前,需要在IOT设备接入平台进行设备注册操作,设备注册后会生成一个唯一的设备密钥DeviceSercet;一型一密预注册设备使用产品证书发起认证请求后,平台返回认证结果中携带设备密钥;设备根据收到的设备密钥,和烧录的产品证书向平台发起入网请求。
[0007]作为优选,所述一机一密预注册流程与一型一密预注册都需要在设备接入平台进行设备注册,但一机一密预注册每台设备的设备密钥都是提前烧录好的,设备自身就拥有入网所需的所有密钥信息。
[0008]作为优选,智能设备接入协议定义的完整数据帧由三部分构成,数据帧都统一使用大端模式完整数据帧的三部分分别为:Header、Data以及MIC;Header为协议数据帧头部,描述了接入协议相关的信息;Data为数据域,是应用数据的载荷;MIC是接入协议数据帧的完整性校验码。
[0009]作为优选,一型一密免注册和一机一密预注册采用以下方法认证IOT平台:智能设备在成功与IoT平台建立TCP Socket链接后,建议先向平台发送认证请求以验证平台的身份,在信任平台的身份后才进行数据交互;智能设备认证IoT平台数据帧使用的Command为1,设备向IoT平台发起认证请求的数据帧中包含了HeaderOpts域,用于携带额外的信息,Data域为空;设备在发送认证平台的请求数据帧之前,需要先根据AES128_Encrypt算法规则,使用ProductKey对数据帧中的Random随机数进行加密运算,然后将运算结果截取最高的4个字节作为验证签名Sign的值,并将Sign值暂时缓存到本地;AES128_Encrypt算法为加密运算方法;IoT平台收到设备认证平台的请求数据帧后,首先会使用同样的算法规则对数据帧中的Random随机数据进行加密运算,然后将运算结果截取最高的4个字节作为Sign的值,
并将Sign值返回给设备;IoT平台使用同样的Command1对设备进行响应,返回计算出的Sign值;协议中HeaderCtrl字段的高四位被定义为CommandFlag,即交互指令的标志位;每条交互指令的CommandFlag作用都不一样,可用于对每条交互指令进行灵活扩展;如果具体指令的详情中没有说明CommandFlag的使用,则默认为预留位;对于智能设备认证IOT平台指令,CommandFlag定义为平台回复设备的认证请求的响应码;智能设备收到IoT平台的响应数据帧后,如果响应码CommandFlag的值为0,则通过对比自己运算后缓存在本地的Sign值与平台计算后返回的Sign值来判定平台是否可以信任;相同则认为平台可信任,反之则认为该平台不可信任;如果智能设备发送了认证请求,等待超时后没有收到平台的任何回复,则有可能是网络问题导致数据丢失,建议检查网络并重试。
[0010]作为优选,一型一密预注册采用以下方法认证IOT平台:智能设备在成功与IoT平台建立TCP Socket链接后,建议先向平台发送认证请求以验证平台的身份,在信任平台的身份后才进行数据交互,智能设备认证IoT平台数据帧使用的Command为15,设备向IoT平台发起认证请求的数据帧中包含了HeaderOpts域,用于携带额外的信息,Data域为空;设备在发送认证平台的请求数据帧之前,需要先根据AES128_Encrypt算法规则,使用ProductKey对数据帧中的Random随机数进行加密运算,然后将运算结果截取最高的4个字节作为验证签名Sign的值,并将Sign值暂时缓存到本地;IoT平台收到设备认证平台的请求数据帧后,首先会使用同样的算法规则对数据帧中的Random随机数据进行加密运算,然后将运算结果截取最高的4个字节作为Sign的值,并将Sign值返回给设备,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,设备与云端服务器之间建立TCP连接后,且智能设备与IOT平台之间进行数据上下行通信之前,需要经过认证和入网的流程;只有认证入网通过以后,才能进行上下行数据通信,针对使用环境的不同分别使用三种设备入网方法;所述三种设备入网方法包括:一型一密免注册、一型一密预注册和一机一密预注册;一型一密免注册即同一个产品下所有的设备采用相同的证书密钥连接设备接入平台,且无需预先将设备注册到设备接入平台;一型一密预注册即同一个产品下所有的设备采用相同的证书密钥连接设备接入平台;一机一密预注册即每个设备都采用单独的证书密钥连接设备接入平台;智能设备与IOT平台交互流程为:S1、智能设备请求认证平台的身份;平台回复认证请求;S2、智能设备向IOT平台请求入网;IOT平台回复允许设备入网;S3、应用数据上行;应用数据下行。2.根据权利要求1所述的一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,所述一型一密免注册设备的认证入网流程如下:创建产品后生成产品生成证书;设备烧录产品证书信息;在设备认证步骤中,设备通过产品证书信息进行计算获得sign值,并缓存在本地,此时设备携带产品证书信息向平台发起认证,平台收到设备的认证请求后,通过设备携带的产品证书进行同样的计算方式计算sign,并校验设备合法性,最终将认证结果和sign值返回给设备,设备收到返回的认证结果和sign,与本地计算的sign进行比对,来确认平台是否可信;认证通过后,设备携带产品证书向平台发起入网请求,平台收到入网请求后,进行设备认证入网以及注册流程,同时使用设备发送的产品证书计算获得交互数据所需的加密密钥Sessionkey,最终将入网结果和加密密钥返回给设备。3.根据权利要求1所述的一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,所述一型一密预注册采用以下认证入网流程:设备依旧烧录产品证书信息,但是在入网前,需要在IOT设备接入平台进行设备注册操作,设备注册后会生成一个唯一的设备密钥DeviceSercet;一型一密预注册设备使用产品证书发起认证请求后,平台返回认证结果中携带设备密钥;设备根据收到的设备密钥,和烧录的产品证书向平台发起入网请求。4.根据权利要求1所述的一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,所述一机一密预注册流程与一型一密预注册都需要在设备接入平台进行设备注册,但一机一密预注册每台设备的设备密钥都是提前烧录好的,设备自身就拥有入网所需的所有密钥信息。
5.根据权利要求1所述的一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,智能设备接入协议定义的完整数据帧由三部分构成,数据帧都统一使用大端模式完整数据帧的三部分分别为:Header、Data以及MIC;Header为协议数据帧头部,描述了接入协议相关的信息;Data为数据域,是应用数据的载荷;MIC是接入协议数据帧的完整性校验码。6.根据权利要求1所述的一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,一型一密免注册和一机一密预注册采用以下方法认证IOT平台:智能设备在成功与IoT平台建立TCP Socket链接后,建议先向平台发送认证请求以验证平台的身份,在信任平台的身份后才进行数据交互;智能设备认证IoT平台数据帧使用的Command为1,设备向IoT平台发起认证请求的数据帧中包含了HeaderOpts域,用于携带额外的信息,Data域为空;设备在发送认证平台的请求数据帧之前,需要先根据AES128_Encrypt算法规则,使用ProductKey对数据帧中的Random随机数进行加密运算,然后将运算结果截取最高的4个字节作为验证签名Sign的值,并将Sign值暂时缓存到本地;AES128_Encrypt算法为加密运算方法;IoT平台收到设备认证平台的请求数据帧后,首先会使用同样的算法规则对数据帧中的Random随机数据进行加密运算,然后将运算结果截取最高的4个字节作为Sign的值,并将Sign值返回给设备;IoT平台使用同样的Command1对设备进行响应,返回计算出的Sign值;协议中HeaderCtrl字段的高四位被定义为CommandFlag,即交互指令的标志位;每条交互指令的CommandFlag作用都不一样,可用于对每条交互指令进行灵活扩展;如果具体指令的详情中没有说明CommandFlag的使用,则默认为预留位;对于智能设备认证IOT平台指令,CommandFlag定义为平台回复设备的认证请求的响应码;智能设备收到IoT平台的响应数据帧后,如果响应码CommandFlag的值为0,则通过对比自己运算后缓存在本地的Sign值与平台计算后返回的Sign值来判定平台是否可以信任;相同则认为平台可信任,反之则认为该平台不可信任;如果智能设备发送了认证请求,等待超时后没有收到平台的任何回复,则有可能是网络问题导致数据丢失,建议检查网络并重试。7.根据权利要求1所述的一种基于TCP自定义协议安全通信的设备接入平台方法,其特征是,一型一密预注册采用以下方法认证IOT平台:智能设备在成功与IoT平台建立TCP Socket...

【专利技术属性】
技术研发人员:吴昌喜王保杰应晓峰夏佳倪秀峰王皓珽
申请(专利权)人:杭州贤芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1