安全的无线更新最佳实践[关闭]


8

向物联网设备群发布OTA更新时应遵循的最佳安全实践是什么?引起关注的重要原因是什么?

例如,

  • 防止更新被拦截
  • 遵循既定标准
  • 软件分发平台
  • 自动更新与可选更新

5
这个问题范围太广,无法适合问答环节。
肖恩·霍利哈内

1
@SeanHoulihane,我将重点缩小了对OTA安全的关注。现在看起来如何?
Noam Hacker,2016年

2
它仍然很广泛,因为每个要点都可以是一个完整的独立问题。即使只是测试成功的最后一个要点,您也可以写整本书。
Dom 2013年

1
我会同意唐。更好地考虑OTA的一个方面(例如确保可靠的结果)。即使那样,答案仍然很多。理想情况下,一个问题只需要一个或两个高质量的答案就可以接受它的“答案”。
肖恩·霍利哈内

1
也可以编辑标题吗?
肖恩·霍利哈内

Answers:


10

这个问题太笼统了,但是鉴于您忽略了最重要的一件事情,我觉得我需要加油。

验证更新

如果要确保设备正在运行代码,则需要身份验证而不是加密。加密可确保其他人不知道您的代码中有什么内容,而这很难实现且很少有用。(您可以加密,但是如果解密密钥在设备上,则除非获得某种保护解密密钥的方法,否则它不会获得任何收益,而该方法不能让您直接保护代码。)真实性是其他人的财产不能产生伪造的更新,并且通常需要该属性。

请注意,加密无助于真实性。这是一种错误的信念,即那些不真正了解安全性的人有时会知道,但事实并非如此。

对于某些设备,如果所有者选择运行任何固件都可以。在这种情况下,您仍然需要某种机制来确保只有设备的所有者才能安装固件,而不能确保某些随机的过路者。通常,这意味着设备必须将更新验证为来自注册所有者。


这不是真的正确。加密既不是很难实现,也不是“非常有用”。此外,加密“对真实性没有帮助”只是半正确的。实际上,像GCM这样的大多数现代加密模式实际上就是所谓的“认证加密”方案,该方案结合了真实性和机密性。

@mat我已将该句子更改为正式正确的句子。加密并不难,但是我指的是机密性,这很困难。如果您无法对密钥保密,则加密不会为您提供保密性。加密完全不能帮助提高真实性。如果您使用经过身份验证的加密,则可以同时提供两种身份,但是它包含加密的事实无助于获得真实性。
吉尔(Gilles)'所以

如果您的密钥泄露,则每个加密都会失去其用处,无论是出于保密性还是为了进行身份验证。如果是有意义的使用加密与设备上未受保护的关键,取决于你的威胁模型(该设备的无障碍环境,在对手的能力)

@mat号。事实上,我应该在我之前的评论中对GCM的评论做出反应。GCM并不是广播更新的一种体面的方式,因为它意味着使用类密钥来检查真实性。除非您要构建一个高度加固的平台(例如,智能卡),否则类密钥和公共密钥一样好。更新应使用非对称加密。这样,要将虚假更新部署到设备上,就需要破坏该特定设备:要生成可在任何地方使用的虚假更新,攻击者将需要破坏服务器或协议,并且与设备中的设备相比,这些设备通常受到更好的保护。领域。
吉尔斯(Gillles)“所以-别再作恶了”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.