阿里云iot服务器端接收消息,通过无线连接服务接入物联网平台

  • Post author:
  • Post category:其他


动态注册

若客户无法在云端部署密钥分发服务,可以考虑使用动态注册方案从物联网平台获取设备密钥。

动态注册指设备上电后将自己的设备唯一标识(比如MAC地址、SN或者IMEI、ICCID)发送到物联网平台作为DeviceName,然后物联网平台返回该设备的DeviceSecret,从而让设备获取到完整的设备密钥(ProductKey需要预先固化在固件中或烧写到NVRAM/FLASH中)。 在设备与物联网平台的交互中,会使用产品的ProductSecret为通信数据进行签名,ProductSecret对于一个产品的设备而言都是相同的。

由于同一个产品的ProductKey、ProductSecret是相同的,因此对于厂商而言在产线生产设备时只需要将ProductKey、ProductSecret固化到固件中或者烧写到NVRAM/FLASH中,由于烧写内容相同因此产线改动较少,看上去很像“一型一密”。

警告

动态注册的安全性比较低,客户请务必将ProductKey、ProductSecret加密之后固化在固件中或NVRAM/FLASH中,避免数据泄漏之后攻击者通过动态注册获取密钥连接物联网平台对客户的业务进行攻击。

为了提高动态注册的安全性,平台对使用动态注册的客户有以下两种要求:

a. 预先上传设备的DeviceName

如果客户能够得知设备的DeviceName(对于本文而言是ICCID),那么可以在控制台批量创建设备时上传ICCID文件到平台作为白名单。

这样即使Productkey和ProductSecret泄漏,攻击者如果不知道设备的DeviceName也无法构造攻击设备连接到物联网平台。

b. 使用“设备取证”服务

如果客户无法预先知道设备的DeviceName(对于本文而言是ICCID),那么可以不上传设备的DeviceName,而让设备直接获取DeviceSecret,此时设备需要集成“设备取证”功能来识别正常设备与伪造的设备。