简要回答

为每个设备使用唯一的加密身份,将产品身份与归属分离,并运维轮换和吊销。

实践要点

  • 制造注入是一个安全边界。
  • 激活将设备绑定到账户或租户。
  • 退役必须使凭据不可用。

推荐方法

  1. 在风险合理时使用硬件保护的密钥。
  2. 维护可审计的凭据注册表。
  3. 测试替换和恢复,而非仅测试首次激活。

边界与失败模式

  • 使用 MAC 地址作为身份证明。
  • 跨批次共享引导密钥。
  • 永不过期被废弃的设备。

范围与身份分层

使用一个持久的内部设备标识符,使其在凭据轮换和归属变更后仍然有效。凭据身份证明对受保护密钥的持有。归属将设备链接到租户或运营方。授权从当前服务端归属、角色、设备状态和操作中派生。不要将永久租户访问编码到出厂证书中,也不要将序列号当作凭据。

配置信任链

优先在安全元件或受控的配置边界内生成密钥,使用不可导出的存储。将公共身份或密钥引用绑定到制造记录并验证唯一性。使用硬件保护的根、窄角色、审计和离线根与在线签发的分离来保护签发方或派生系统。

首次启动应认证产品身份、证明注册资格,并抵抗重放或账户抢占竞态。当后果重要时,持有打印码不应替代凭据证明。

生命周期流程

  1. 创建唯一的持久记录和受保护的凭据。
  2. 验证型号、硬件、制造绑定和唯一性。
  3. 通过已认证的防重放通道进行注册。
  4. 独立激活归属并签发最小权限。
  5. 以重叠信任和回滚方式进行轮换。
  6. 在文档化的执行窗口内吊销被攻破的凭据。
  7. 通过移除旧策略和敏感状态来转移归属。
  8. 恢复出厂设置时不回退到通用密钥。
  9. 通过吊销凭据、关闭会话和保留审计来退役。

轮换必须处理超出正常续订周期的离线设备。定义时钟丢失行为而不全局禁用有效性检查。测量代理、网关、授权缓存和现有会话保留已吊销访问的时间。

失败模式

集群级共用密钥会将一次提取变成整个集群的冒充。映射到错误租户的唯一证书仍然破坏隔离。板子更换后重用身份会破坏审计。在 MQTT 会话仍然活跃时更改数据库归属者会保留旧的访问权限。错误的时钟可能拒绝整个集群的续订。恢复凭据与主密钥存储在一起会同时失效。退役设备可能通过过期的注册记录重新出现。

实施清单

  • 持久身份与凭据和归属分离。
  • 每个设备都有唯一的受保护密钥材料。
  • 制造记录保留绑定证据。
  • 注册抵抗重放和抢占竞态。
  • 授权使用当前服务端状态。
  • 轮换、吊销、转移、恢复出厂和退役已经过测试。
  • 会话和缓存在已知窗口内遵从吊销。
  • 恢复避免使用通用回退密钥。

授权与攻破证据

通过一个经评审的设备记录将认证输出映射到授权。该记录应包含生命周期状态、当前归属者、允许的产品角色、凭据集、固件适用性(如相关)和策略版本。代理 ACL、HTTP API、更新服务和支持工具必须消费一致的身份,同时执行各自的最小权限操作。以自身身份认证的设备不得通过主题或请求字段选择不同的租户。

保留配置系统版本、制造批次、签发方或派生域、硬件密钥槽、唯一性检查、注册记录引用、凭据替换链、归属转移和退役结果,而不暴露密钥材料。抽样成品设备以证明后端和硬件身份一致。测试部分配置以使废弃的记录或凭据不能在之后激活。

在三个范围进行攻破演练:单个设备、单个生产批次和单个签发层级。测量识别受影响记录、拒绝新认证、终止或限制现有会话、分发信任变更和恢复未受影响设备的时间。包括处于睡眠或离线时间超过正常轮换周期的设备。验证事件恢复不会静默转移归属或全局禁用验证。有用的属性是整个生命周期的选择性遏制,而非一次实验室连接完成了双向认证。

最小化暴露给设备和日志的身份数据。运维人员通常需要持久引用、状态和归属上下文——而非原始证书材料或制造机密。为声明历史和网络标识符定义隐私和保留策略。支持工具应通过授权查询解析身份,而非将敏感属性复制到 MQTT 主题、负载或广泛可搜索的日志行中。

将重复身份检测视为安全事件,而非例行数据库冲突。隔离两个声称者,保留连接和制造证据,并要求受控解决;自动选择最新记录可能授权一个克隆或被替换的设备。

主要参考来源

NISTIR 8259A定义了设备标识能力。NIST SP 800-57 Part 1涵盖密钥管理,RFC 5280定义了 X.509 配置文件。应用产品使用的确切凭据协议和硬件文档。