前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >04.腾讯云物联网设备端学习---网络连接及设备鉴权

04.腾讯云物联网设备端学习---网络连接及设备鉴权

原创
作者头像
fancyxu
修改2021-04-04 20:46:11
2.8K0
修改2021-04-04 20:46:11
举报
文章被收录于专栏:腾讯云IoT腾讯云IoT

本系列主要目的在于记录腾讯云物联网设备端的学习笔记,并且对设备端SDK进行补充说明。

网络连接

MQTT是建立在可靠协议之上的,通常使用的是TCP、或者TCP+TLS,其中TLS又分为基于PSK认证以及基于证书认证。

腾讯云物联网C SDK 通过network网络层实现对下的网络协议的不同适配,主要包括三类:

  • TLS:SDK主要适配了mbedtls的相应接口,使用tls接入可以直接适配mbedtls
  • TCP socket:对于TCP接入方式,大部分使用是socket接口形式,通过适配HAL层的socket接口即可实现TCP接入
  • AT:对于部分使用AT指令控制的设备,SDK也提供了通用的AT框架,通过适配底层的AT指令即可实现接入

由于涉及到安全性,大部分场景下使用的均为mbedtls方式接入,这就要求设备进行mbedtls适配,好在mbedtls适配十分成熟,并且不复杂。

C SDK网络设计
C SDK网络设计

设备接入鉴权

针对设备类型,可分为两类:

  • PSK设备:
    • TCP:针对TCP连接,使用的为密钥认证,通过PSK使用MQTT的user name 和 password进行鉴权,请参见 密钥认证设备接入指引
    • TCP+TLS+PSK:根据PSK基于TLS_PSK_WITH_AES_128_CBC_SHA 或TLS_PSK_WITH_AES_256_CBC_SHA套件进行鉴权和密钥交换,这个可以通过抓包在Client Hello中看到。
TLS+PSK
TLS+PSK
  • 证书设备:使用TLS证书模式进行鉴权,可以抓包看到TLS握手的流程

TLS+CERT
TLS+CERT

其他鉴权

除了设备接入鉴权外,在整个腾讯云物联网中还包括其他鉴权,不在赘述,简单描述下,了解即可。主要包括:

  • 设备日志上传鉴权:采用设备PSK或者证书密钥对hmac_sha1对时间和日志内容等进行签名
  • 动态注册鉴权:使用产品密钥(注意这里是产品的PSK,而非设备的PSK),采用hmac_sha1对设备信息、随机数以及时间进行签名
  • 子设备动态绑定鉴权:采用子设备PSK或者证书密钥对hmac_sha1对设备信息、随机数以及时间进行签名

由于方便设备实现和代码复用,大多数鉴权都类似,主要是通过密钥对设备信息,随机数、时间戳、其他信息进行HMAC,生成消息认证码,从而使得服务器能够根据消息认证码确认消息是由设备端发出的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网络连接
  • 设备接入鉴权
  • 其他鉴权
相关产品与服务
物联网开发平台
腾讯云物联网开发平台(IoT Explorer)是面向智慧生活与产业物联应用的一站式物联网PaaS平台,为各行业用户提供一站式设备智能化服务。平台提供海量设备连接与消息通信能力,基于腾讯连连小程序应用开发能力、音视频能力及AI增值服务,聚合腾讯生态内容能力。提升传统行业设备智能化的效率,降低用户的开发运维成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档