你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure IoT 中心的证书管理旨在简化 IoT 设备的 X.509 证书的管理。 本文介绍与 IoT 中心中的证书管理和基于证书的身份验证相关的基本概念。 有关详细信息,请参阅什么是证书管理(预览版)?
重要
具有 ADR 集成和Microsoft支持的 X.509 证书管理的 Azure IoT 中心以 公共预览版 提供,不建议用于生产工作负荷。 有关详细信息,请参阅常见问题解答:IoT 中心有哪些新增功能?
公钥基础结构 (PKI)
PKI 是一个系统,它使用数字证书在设备和服务之间对数据进行身份验证和加密。 PKI 证书对于保护各种方案(如 Web 和设备标识)至关重要。 在 IoT 设置中,管理 PKI 证书可能具有挑战性、昂贵且复杂,尤其是对于具有大量设备和严格安全要求的组织。 可以使用证书管理来增强设备的安全性,并加快数字化转型到完全托管的云 PKI 服务。
Microsoft与第三方 PKI
虽然 IoT 中心支持两种类型的 PKI 提供程序进行 X.509 证书身份验证,但证书管理目前仅支持Microsoft托管的(第一方)PKI。 有关使用第三方 PKI 提供程序的信息,请参阅 使用 X.509 CA 证书对设备进行身份验证。
| PKI 服务提供商 | 需要集成 | Azure 设备注册表是必需的 | 需要设备预配服务 |
|---|---|---|---|
| Microsoft管理的 PKI | 否。 直接在 Azure 设备注册表中配置证书颁发机构。 | 是的 | 是的 |
| 第三方 PKI (DigiCert、GlobalSign 等) | 是的。 需要手动集成。 | 否 | 否 |
X.509 证书
X.509 证书是一个数字文档,用于将公钥绑定到实体的标识,例如设备、用户或服务。 基于证书的身份验证在安全性较低的方法上提供了多种优势:
- 证书使用公钥/私钥加密。 公钥是自由共享的,而私钥保留在设备上,可以驻留在受信任的平台模块(TPM)或安全元素中。 这可以防止攻击者模拟设备。
- 证书通过证书颁发机构(CA)层次结构颁发和验证,允许组织通过单个 CA 信任数百万台设备,而无需管理每台设备的机密。
- 设备向云进行身份验证,云对设备进行身份验证,从而启用相互传输层安全性(TLS)身份验证。
- 证书定义了有效期,可以集中续订或吊销。
有两种常规类别的 X.509 证书:
CA 证书: 这些证书由证书颁发机构(CA)颁发,使用这些证书对其他证书进行签名。 CA 证书包括根证书和中间证书。
根 CA: 根证书是受信任的 CA 的顶级自签名证书,可用于对中间 CA 进行签名。
中间或颁发 CA: 中间证书是由受信任的根证书签名的 CA 证书。 中间证书还可以颁发 CA,前提是将其用于对最终实体证书进行签名。
注释
对于不同的设备集或设备组(例如来自不同制造商的设备或不同型号的设备)使用不同的中间证书可能很有帮助。 使用不同证书的原因是,如果任何特定证书遭到入侵,则减少总安全影响。
终端实体证书: 这些证书(可以是单个或叶设备证书)由 CA 证书签名,并颁发给用户、服务器或设备。
证书签名请求
证书签名请求(CSR)是客户端(例如 IoT 设备)生成的数字签名消息,用于从证书颁发机构(CA)请求签名的证书。 CSR 包括设备的公钥和标识信息,例如其注册 ID,并使用设备的私钥进行签名,以证明密钥的所有权。
CSR 必须遵循 PKI 的策略要求,包括批准的密钥算法、密钥大小和主题字段格式。 当设备生成新的私钥时,它还会生成新的 CSR。 CA 验证并批准 CSR 后,会颁发一个 X.509 证书,该证书将设备的标识绑定到其公钥。 此过程可确保只有能够演示其私钥拥有的设备才能接收受信任的证书。
设备预配服务中的证书签名请求要求
在证书管理中,设备在配置或重新配置期间提交证书签名请求(CSR)。 设备预配服务 (DPS) 要求采用 Base64 编码的可分辨编码规则 (DER) 格式的 CSR,遵循公钥加密标准 (PKCS) 第 10 条规范。 提交不包括隐私增强邮件(PEM)页眉和页脚。 CSR 中的公用名 (CN) 字段必须与设备注册 ID 完全匹配。
身份验证和授权
身份验证 意味着向 IoT 中心证明标识。 它验证用户或设备是否是它声称的身份。 此过程通常称为 AuthN。
授权 意味着确认经过身份验证的用户或设备可以在 IoT 中心访问或执行哪些作。 它定义资源和命令的权限。 授权有时称为 AuthZ。
X.509 证书仅用于 IoT 中心中的身份验证,而不是授权。 与 Microsoft Entra ID 和 共享访问签名不同,不能使用 X.509 证书自定义权限。