经过认证的设备是指已通过 Connectivity Standards Alliance (Alliance) Matter 认证流程的设备。
在调试过程中,认证设备需要对自身进行证明。换句话说,它需要证明其产品与所声称产品相符,且是正品。因此,所有 Matter 设备都具有包含认证密钥对和关联的证书链的凭据。设备认证证书 (DAC) 是此链的一部分。经调试设备将 DAC 提交给其调试器后,调试器将证明:
- 它是由经过认证的制造商生产的
- 是正品设备。
- 它已通过 Matter 项合规性测试。
在开发阶段,制造商无需完整的认证流程即可测试其设备。应明确告知测试人员,设备正在测试,尚未经过认证和发布。制造商进入生产阶段后,预配程序的生态系统应强制执行所有认证要求。
Attestation 使用利用根证书授权机构和中间证书的公钥基础架构 (PKI),方式与广泛采用的用于 SSL/TLS 的服务器身份验证证书类似。此过程称为“设备认证证书链”。
设备认证 PKI
DAC 是 X.509 v3 证书。X.509 的第一个版本由 ITU-T 在 1988 年发布。Matter 使用具有公钥基础架构证书和证书吊销列表 (CRL) 的 X.509 v3 由 RFC5280 指定。它包含:
- 公钥
- 颁发者
- 主题
- 证书序列号
- 有效期(失效日期不确定)
- 签名
供应商 ID 和产品 ID 是 DAC 主题中 MatterDACName
的属性。
DAC 对每台设备而言都是唯一的,并与产品中的唯一认证密钥对关联。它由与设备制造商关联的 CA 颁发。
DAC 的签名会根据产品认证中间证书 (PAI)(同样由 PAA 颁发)进行验证。但是,供应商可以选择为每个产品(特定于 PID)、产品组或为其所有产品创建一个 PAI。
在信任链的根部,产品认证机构 (PAA) 和证书授权机构 (CA) 公钥会验证来自 PAI 的签名。请注意,Matter 信任存储区是联合的,并且由调试器信任的 PAA 证书集维护在可信中央数据库(分布式合规性分类账)中。如要在可信集内输入 PAA,需满足由 Alliance 管理的证书政策。
PAI 也是 X.509 v3 证书,其中包含:
- 公钥
- 颁发者
- 主题
- 证书序列号
- 有效期(失效日期不确定)
- 签名
供应商 ID 和产品 ID(可选)是 DAC 主题中 MatterDACName
的属性。
最后,PAA 是链中的根证书,并且是自签名证书。其中包括:
- 签名
- 公钥
- 颁发者
- 主题
- 证书序列号
- 有效性
其他证明文档和消息
认证流程包含一些文档和消息。以下各项是其功能和组合的简要概览。下图有助于您了解其层次结构。
文档 | 说明 |
---|---|
认证声明 (CD) | CD 允许 Matter 设备证明其符合 Matter 协议。
每当 Matter 认证流程完成时,Alliance 都会为设备类型创建 CD,以便供应商可以将其包含在固件中。CD 还包含其他信息:
|
固件信息(可选) | 固件信息包含 CD 版本号以及固件中组件(例如操作系统、文件系统、引导加载程序)的一个或多个摘要。摘要可以是软件组件的哈希,也可以是软件组件的已签名清单的哈希。 供应商还可以选择仅将组件的“哈希哈希”添加到固件信息中,而不是包含各个哈希的数组。 固件信息是安全认证流程中的可选元素。 |
证明信息 | 委员会发送给该专员的消息。证明信息由包含证明元素和证明签名的 TLV 组成。 |
证明元素 | 这是一个包含以下内容的 TLV:
|
认证挑战 | 在 Passcode Authenticated Session Establishment (PASE)/Certificate Authenticated Session Establishment (CASE) 会话建立期间产生的带外质询,用于进一步保护流程并避免重放签名。来自 CASE 会话、PASE 会话或恢复的 CASE 会话。 |
认证 TBS(待签名) | 包含证明元素和证明质询的消息。 |
认证签名 | 认证 TBS 的签名,使用设备认证私钥进行签名。 |
证明程序
专员负责为委员会提供证明。它会执行以下步骤:
- 调试器会生成一个 32 字节的随机认证 Nonce。在加密术语中,Nonce(一个数字,一次使用一次)是在加密过程中生成并且只能使用一次的随机数。
- 调试器将 Nonce 发送到 DUT 并请求认证信息。
- DUT 生成认证信息,并使用认证私钥对其进行签名。
- 调试器会从设备中恢复 DAC 和 PAI 证书,并从其 Matter 信任库中查找 PAA 证书。
- 委员会对证明信息进行验证。以下是验证条件:
- 必须验证 DAC 证书链,包括对 PAI 和 PAA 的撤消检查。
- DAC 上的 VID 与 PAI 上的 VID 一致。
- 认证签名有效。
- 设备认证元素中的 Nonce 与委员会提供的 Nonce 匹配。
- 使用 Alliance 中众所周知的认证签名密钥之一时,证书声明签名仍然有效。
- 固件信息(如果存在并由调试器支持)与分布式合规性分类账中的条目匹配。
- 设备基本信息集群、认证声明和 DAC 之间还会进行额外的 VID/PID 验证。