你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IoT 解决方案的安全性最佳做法

本概述介绍了有关保护典型 Azure IoT 解决方案的关键概念。 每个部分都包含指向提供进一步详细信息和指导的内容的链接。

下图显示了典型 IoT 解决方案中组件的高级视图。 本文重点介绍 IoT 解决方案的安全性。

图中显示了高层级的物联网解决方案架构,并突出显示了安全性。

IoT 解决方案中的安全性包含以下三个方面:

  • 设备安全:将 IoT 设备部署到实际应用环境中时确保设备的安全性。

  • 连接安全:确保 IoT 设备和 IoT 云服务之间传输的所有数据保持机密且不被篡改。

  • 云安全:在数据移动期间及存储在云中时保护数据。

实施本文中的建议有助于履行共担责任模型中所述的安全义务。

Microsoft Defender for IoT

Microsoft Defender for IoT 可以自动监视本文中包含的一些建议。 Microsoft Defender for IoT 应该是保护 Azure 中资源的第一道防线。 Microsoft Defender for Cloud 会定期分析 Azure 资源的安全状态以识别潜在安全漏洞。 然后向你提供有关如何解决这些安全漏洞的建议。 若要了解更多信息,请参阅以下文章:

设备安全性

  • 设置符合最低要求硬件范围的限:选择设备硬件时仅包含其运行所需的最少功能,仅此而已。 例如,仅当解决方案中的设备运行需要时才包含 USB 端口。 额外的功能可能会使设备遭受不必要的攻击。

  • 选择防篡改硬件:选择具有内置机制的设备硬件来检测物理篡改,例如打开设备盖或移除设备的一部分。 这些篡改信号可以是上传到云的数据流的一部分,可提醒操作员这些事件。

  • 选择安全硬件:如果可能,请选择包含安全功能的设备硬件,例如基于受信任平台模块的安全加密存储和引导功能。 这些功能将使设备更安全,有助于保护 IoT 总体基础结构。

  • 启用安全升级:设备生存期内,固件升级无可避免。 构建具有安全升级路径和固件版本加密保证的设备,以保护设备在升级期间和升级之后的安全性。

  • 遵循安全软件开发方法:开发安全软件需要在项目开端到项目实施、测试和部署过程中考量安全相关事项。 Microsoft 安全开发生命周期提供构建安全软件的分步方法。

  • 尽可能使用设备 SDK:设备 SDK 实施各种安全功能,例如加密和身份验证,以帮助开发强大且安全的设备应用程序。 若要了解详细信息,请参阅 Azure IoT SDK

  • 谨慎选择开源软件:开源软件有时可以加速解决方案的开发。 选择开源软件时,请考虑每个开源组件的社区活跃程度。 活跃的社区可确保软件受支持,问题得以发现和解决。 不知名或不活跃的开源软件项目可能不会受到支持,且问题也可能不会得以发现。

  • 安全部署硬件:IoT 部署可能需要将硬件部署在不安全的位置,例如公共场所或不受监督的区域。 在这种情况下,请确保硬件部署能够尽可能防篡改。 例如,如果硬件具有 USB 端口,请确保它们被安全覆盖。

  • 保持身份验证密钥处于安全状态:在部署期间,每个设备需要使用云服务生成的设备 ID 和关联的身份验证密钥。 即使是在部署之后,也必须以物理方式保护这些密钥的安全。 恶意设备可以使用任何泄露的密钥伪装成现有设备。

  • 使系统保持最新状态:确保设备的操作系统和所有设备驱动程序都已升级到最新版本。 使操作系统保持最新有助于确保它们也能免于恶意攻击。

  • 防御恶意活动:如果操作系统允许,请在每个设备操作系统上安装最新的防病毒和反恶意软件功能。

  • 经常审核:响应安全事件时,针对安全相关问题审核 IoT 基础结构是关键所在。 大多数操作系统都提供内置事件日志记录,应经常进行审查这些日志以确保未出现安全违规。 设备可将审核信息作为单独的遥测流发送到云服务,并在云中进行分析。

  • 遵循设备制造商安全和部署最佳做法:如果设备制造商提供了安全和部署指南,除了本文中列出的通用指南之外,还请遵循该指南。

  • 使用现场网关为旧设备或受限设备提供安全服务:旧设备和受限设备可能缺乏加密数据、连接互联网或提供高级审核的功能。 在这种情况下,安全的新式现场网关可聚合旧式设备中的数据,并提供通过 Internet 连接这些设备所必需的安全性。 现场网关可提供安全身份验证、加密会话协商、云命令接收,以及其他许多安全功能。

连接安全性

  • 使用 X.509 证书向 IoT 中心或 IoT Central 对设备进行身份验证:IoT 中心和 IoT Central 支持基于 X509 证书的身份验证和安全令牌作为设备进行身份验证的方法。 如果可能,请在生产环境中使用基于 X509 的身份验证,因为它可以提供更高的安全性。 要了解详细信息,请参阅对 IoT 中心的设备进行身份验证IoT Central 中的设备身份验证概念

  • 使用传输层安全性 (TLS) 1.2 来保护来自设备的连接:IoT 中心和 IoT Central 使用 TLS 来保护来自 IoT 设备和服务的连接。 目前支持三个版本的 TLS 协议:1.0、1.1 和 1.2。 TLS 1.0 和 1.1 被视为旧版。 若要了解更多信息,请参阅身份验证和授权

  • 确保能够更新设备上的 TLS 根证书:TLS 根证书的有效期很长,但它们仍然可能会过期或被撤销。 如果无法更新设备上的证书,设备以后可能无法连接到 IoT 中心、IoT Central 或任何其他云服务。

  • 考虑使用 Azure 专用链接:Azure 专用链接可将设备连接到虚拟网络上的专用终结点,从而使你能够阻止对 IoT 中心面向设备的公共终结点的访问。 若要了解详细信息,请参阅使用 Azure 专用链接与 IoT 中心的入口连接使用专用终结点的 IoT Central 网络安全

云安全性

后续步骤

若要了解有关 IoT 安全性的详细信息,请参阅: