在一型一密认证方式下,同一产品下所有设备可以烧录相同的设备标志信息,即所有设备包含相同的产品证书(ProductKey和ProductSecret)。设备发送激活请求时,物联网平台会进行身份确认,认证通过后,下发设备接入所需信息。
背景信息
一型一密认证支持两种使用方式:一型一密免预注册、一型一密预注册,对比说明如下表所示。
采用一型一密认证方式,设备烧录相同的标志信息,存在产品证书泄露风险。您可以在物联网平台控制台的产品详情页面,手动关闭动态注册开关,拒绝新设备的认证请求。
一型一密动态注册时必须使用TLS加密,如果您的设备端SDK无法运行TLS加密,则无法使用一型一密认证方式,请采用一机一密认证方式。
对比项 | 一型一密免预注册 | 一型一密预注册 |
接入协议 | MQTT协议 | HTTPS协议、MQTT协议 |
支持地域 | 华东2(上海)、华北2(北京) |
|
支持实例 | 企业版实例 | 企业版实例和公共实例 |
功能特点 | 不需要在物联网平台预注册设备DeviceName。 | 需要在物联网平台预注册设备DeviceName。 对于网关子设备,仅支持预注册方式。 |
使用限制 | 物联网平台允许最多5个物理设备使用同一组ProductKey、ProductSecret、DeviceName进行激活,并为不同物理设备下发不同的ClientID、DeviceToken。 |
|
使用流程
一型一密认证流程示意图如下。
直连设备动态注册
直连设备动态注册分为一型一密预注册和一型一密免预注册。
一型一密预注册
创建产品:创建产品时,节点类型为直连设备。
开启动态注册:在已创建产品的产品详情页面,开启动态注册开关。
物联网平台将进行短信验证,以确认是您本人操作。
说明若设备发出激活请求时,物联网平台校验发现该开关未开启,将拒绝新设备的动态激活请求。已激活设备不受影响。
批量添加设备或单个添加设备:使用一型一密预注册认证方式接入设备,您需在已创建产品下添加设备。
因设备激活时会校验
DeviceName
,建议您采用可以直接从设备中读取到的ID,如设备的MAC地址、IMEI或SN码等,作为DeviceName使用。添加设备成功后,物联网平台为设备颁发
DeviceSecret
。设备初始状态为未激活。
产线烧录:开发设备端SDK,完成产线烧录。
选择直连设备接入物联网平台的协议:MQTT协议和HTTPS协议。
注册认证的开发方法如下:
MQTT:基于MQTT协议的设备动态注册。
HTTPS:直连设备的HTTPS动态注册。
根据实际业务需求,完成设备端SDK开发,例如设备物模型Topic通信、设备自定义Topic通信、OTA升级、设备影子等功能开发。
设备端开发,请参见使用设备端SDK接入。
重要如果使用物联网平台提供的C Link SDK,对于一型一密免预注册方式,请在设备端使用4.X版C Link SDK。该SDK包含DAS(设备取证服务),可以对设备可能产生的安全事件进行风控。
物联网平台不承担因设备端没有使用4.X版C Link SDK而导致的安全风险。
在产线上,将已开发完成的设备SDK烧录至设备中。
设备联网:设备上电联网后,携带
ProductKey
、ProductSecret
、DeviceName
发起认证请求。在物联网平台激活设备。
物联网平台校验通过后,为实际物理设备下发步骤3中为该设备颁发的
DeviceSecret
。至此,物理设备获得连接物联网平台所需的设备证书(ProductKey
、DeviceName
和DeviceSecret
),可以与物联网平台建立连接,进行数据通信。
一型一密免预注册
创建产品:创建产品时,节点类型为直连设备。
开启动态注册:在已创建产品的产品详情页面,开启动态注册开关。
物联网平台将进行短信验证,以确认是您本人操作。
说明若设备发出激活请求时,物联网平台校验发现该开关未开启,将拒绝新设备的动态激活请求。已激活设备不受影响。
产线烧录:开发设备端SDK,完成产线烧录。
选择直连设备接入物联网平台的协议:MQTT协议。
注册认证的开发方法如下:基于MQTT协议的设备动态注册。
根据实际业务需求,完成设备端SDK开发,例如设备物模型Topic通信、设备自定义Topic通信、OTA升级、设备影子等功能开发。
设备端开发,请参见使用设备端SDK接入。
重要如果使用物联网平台提供的C Link SDK,对于一型一密免预注册方式,请在设备端使用4.X版C Link SDK。该SDK包含DAS(设备取证服务),可以对设备可能产生的安全事件进行风控。
物联网平台不承担因设备端没有使用4.X版C Link SDK而导致的安全风险。
在产线上,将已开发完成的设备SDK烧录至设备中。
设备联网:设备上电联网后,携带
ProductKey
、ProductSecret
、DeviceName
发起认证请求。在物联网平台激活设备。
物联网平台校验通过后,下发
ClientID
、DeviceToken
。设备后续通过ProductKey
、ProductSecret
和下发的ClientID
、DeviceToken
与物联网平台建立连接,进行数据通信。当多个不同ClientID的物理设备共用一个
DeviceName
时,物联网平台控制台产品详情页将提示当前产品下有设备同时有两个ClientID。您可根据以下操作,指定保留唯一物理设备,或清除所有物理设备:在产品详情页面,单击该提示后的查看,跳转到产品下的风险设备列表。
在
页面,单击列表中目标设备对应的查看,进入设备详情页面,页面显示当前连接的ClientID
,单击ClientID
右侧的切换或清除。切换:从下拉列表选择
ClientID
,通过该ClientID
对应设备的首次连接时间,或者单击日志服务,通过该ClientID
对应设备的云端运行日志,判断其是否为需要保留的物理设备。选择要保留的物理设备的ClientID
,单击确认。未被选择的ClientID
对应物理设备,将被禁止连接。说明云端运行日志说明,请参见云端运行日志。
清除:所有物理设备都将被禁止连接。
网关子设备动态注册
网关设备的动态注册方法与直连设备动态注册方法相同。网关子设备动态注册只支持一型一密预注册。
创建产品:为网关和子设备分别创建对应产品。网关对应产品的节点类型为网关设备,子设备对应产品的节点类型为网关子设备。
开启动态注册:在已创建网关与子设备对应产品的产品详情页面,开启动态注册开关。
物联网平台将进行短信验证,以确认是您本人操作。
说明若设备发出激活请求时,物联网平台校验发现该开关未开启,将拒绝新设备的动态激活请求。已激活设备不受影响。
批量添加设备或单个添加设备:在已创建网关和子设备对应产品下添加设备。
因设备激活时会校验
DeviceName
,建议您采用可以直接从设备中读取到的ID,如设备的MAC地址、IMEI或SN码等,作为DeviceName使用。添加设备成功后,物联网平台为设备颁发
DeviceSecret
。设备初始状态为未激活。
产线烧录。
基于MQTT协议的设备动态注册和子设备的MQTT动态注册:配置网关设备证书信息和接入域名,在网关设备的SDK中,初始化子设备管理实例,配置网关与子设备的拓扑关系和注册认证。
网关与子设备拓扑关系管理的详细内容,请参见管理拓扑关系。
根据实际业务需求,完成设备端SDK开发,例如网关设备代理子设备通信功能的开发。
设备端开发,请参见使用设备端SDK接入。
在产线上,将已开发完成的网关设备SDK和子设备的ProductKey烧录至网关设备,将子设备的设备证书烧录至子设备。
设备联网:网关和子设备上电联网后,网关设备携带子设备的ProductKey、DeviceName,发起认证请求。
物联网平台激活设备。