向一组 IoT 设备发布 OTA 更新时应遵循的最佳安全实践是什么?令人担忧的重要原因是什么?
例如,
- 防止更新被拦截
- 遵循既定标准
- 软件分发平台
- 自动更新与可选更新
向一组 IoT 设备发布 OTA 更新时应遵循的最佳安全实践是什么?令人担忧的重要原因是什么?
例如,
这个问题太宽泛了,但鉴于你忽略了最重要的一点,我觉得我需要管道。
验证更新。
如果您想确保您的设备正在运行您的代码,那么您需要身份验证,而不是加密。加密可确保其他人无法知道您的代码中的内容,这很难实现,而且很少有用。(您可以加密,但如果解密密钥在设备上,您将一无所获,除非您有办法保护解密密钥,但不能让您直接保护代码。)真实性是其他人的财产不能产生虚假更新,并且该属性通常是可取的。
请注意,加密对真实性没有帮助。这是不真正了解安全性的人有时会拥有的错误信念,但事实并非如此。
对于某些设备,如果所有者愿意,可以运行任何固件。在这种情况下,您仍然需要一些机制来确保只有设备所有者才能安装固件,而不是一些随机的路人。通常,这意味着设备必须将更新验证为来自注册所有者。