问题
物联网设备接入服务器的鉴权,如何做到防止被串号。
举一个通俗的例子,群晖,与黑群晖洗白,通常是不知道哪里搞来的黑群晖的序列号和mac,刷到系统中系统就可以正常接入群晖的服务器。如果你的序列号和mac不小心被泄露,那么有一天你的设备和被盗刷的设备就会统统被拉入黑名单,要申诉才能正常用。
这就是一个典型的串号或者盗号的场景。
这问题只分为有和没有,不存在曾经有后来没有的情况,除非说历史的老设备全部丢弃不要了,那用户对这家公司的产品的吐槽怕不是要飞起来。
方案-借助物理唯一的id,生产端与鉴权端打通
这个方案,已知的用在某启的开源代码上,有个分支自某个版本之后就无法通刷,只有他自己的板子可以起来,任何三方的板子刷了这个固件全部起来就崩溃。想必是用了某些物理特征限制了某一批次的芯片才可以用。
说回正题,借助物联网设备的硬件唯一标识,与产品的唯一标识打通,在生产系统中做好绑定,在设备接入服务器鉴权时进行校验,只要不一致就不允许接入。
相较常规可写的配置来说,物理唯一的ID伴随着整个硬件的生命周期,不会像这种可读写的配置一样容易被修改从而导致串号。
以SOC的唯一ID为例
从最早的STM32上,就内置了唯一ID,每一颗SOC都有唯一的ID。这个ID的好处就是他拿不到你的硬件就拿不到你的ID,就没法串你的号,保障了用户的权益,也保证了厂家的生产及售后。
以flash的唯一ID为例
这是W25Q128JV的手册中明确指明的唯一ID