今天,物联网(IoT)设备无处不在,增加了巨大的价值,但不幸的是,也代表着前所未有的开发风险。任何连接到互联网的东西都可能被黑客入侵。保护连接设备的安全是电子制造商面临的挑战和最关心的问题,因为他们希望避免设备被黑客攻击的尴尬。IoT安全主题很复杂,本文提供了一些经过验证的安全解决方案的高级摘要,这些解决方案可用于构建更安全的IoT设备。通常,连接的设备包含大量信息,攻击者对此非常感兴趣。设备上个人信息(如电子邮件和密码)的价值众所周知,但攻击者也对许多其他信息感兴趣。攻击者可能希望禁用对设备功能的访问权限,或获取对设备本身数据的访问权限以发起勒索软件攻击。他们可以使用该设备作为中转点来访问该设备所连接的网络。然后可以使用此中转点来攻击对安全更敏感的设备。攻击者还可能对特定设备所代表的处理器资源或网络带宽感兴趣。如果他们设法控制大量设备,则这些资源可用于拒绝服务攻击。最后,使用执行器或传感器的设备(例如开门或断电)可能会受到攻击,从而使家庭或工作场所的关键功能易受攻击。那么,有哪些方法可以保护您的设备?一种方法是实施经过现场验证的安全启动机制,以确保只有受信任的软件才能在设备上运行。这可以使用基于ROM的代码机制来验证软件,使用攻击者无法修改的密钥材料。然而,使用信任根模块启动设备可以进一步加强启动过程,并实现其他安全敏感功能的安全实施,例如固件/软件更新、安全调试访问控制和启动映像机密性。使用加密来保护软件的机密性使攻击者更难发现潜在的漏洞,但确实要求用于解密软件的密钥材料保持机密。在运行大量复杂软件(容易受到逻辑攻击)的设备中,攻击者可以在设备启动后获得代码执行,这意味着固件解密密钥永远无法从设备中读取,并且其使用必须仅限于设备初始化。其次,良好的安全性需要良好的随机数。可预测的随机数据会立即导致安全漏洞。生成随机数需要访问一个或多个“不可预测数据”源,这些数据可以收集在典型的熵池中。如果攻击者无法猜测熵池的状态,则使用该池中的数据生成的随机数将无法预测。大型设备,例如基于Linux的计算机,可以访问来自许多不同来源的不可预测的数据,例如击键之间的时间间隔和许多其他来源。通过访问多个不可预测的数据源,设备可以快速填充其熵池并生成高质量的随机数据。另一方面,物联网设备很小,没有足够的资源来填充它们的熵池来播种随机数。拥有一个提供可预测随机数的“空”池显然不利于安全性。对于物联网设备用例,在没有太多不可预测的输入的情况下,等待设备生成足够的熵可能需要很长时间。为了解决这个问题,可以在设备的芯片中内置一个专用的随机数发生器,它可以快速填充熵池。在这种情况下,经过FIPS、SESIP或通用标准认证的解决方案是最佳选择,因为这意味着从经过试验、测试和认证的来源获取随机数生成器。第三,可以对进出设备的数据进行加密和验证,以防止某些攻击。云、后端和设备之间的安全通信。实施这些通信安全协议的软件堆栈是抵御远程/逻辑攻击的第一道防线。软件需要来自可信来源,以确保它不包含错误或后门。理想情况下,它应该像随机数生成器一样来自经过测试和认证的来源。在许多情况下,设备的功能要求需要大量软件才能在系统的主机处理器上运行。该软件专注于让设备做它应该做的事情。它的直接重点不是保护设备免受逻辑和物理攻击,这可能使其容易受到攻击。在发生攻击时,限制攻击者的行为并确保设备能够安全恢复的能力至关重要。同样,信任根核心可以在这种情况下发挥作用,将安全关键软件和数据与不受信任的软件组件物理分离。它还可以防止密钥材料离开设备的安全范围,从而防止攻击者对安全架构进行永久更改。
