Matter 系列之 Fabric

Matter 2022-08-20 2305 次浏览 次点赞

The Fabric

对于 Fabric ,字面意思为织网,这里不翻译。Matter 定义为同一安全域下 Node 的集合,在该安全域下 Node 能够彼此认证建立安全通信。一个 Fabric 共享同一证书机构(Certificate Authority (CA))的根证书(Root of Trust),同时约定一个 Fabric ID。

Google Fabric

在 Commissioning 过程中会为需要加入 Fabric 的 Node 分配证书,也就是 NOC。

基于如上安全特性,通常一个生态可以描述一个 Fabric,如上的 Google Fabric。一个设备可以同时加入多个 Fabric,也就是同时被多个生态使用,取决于设备能力。在 Matter 里这个重要功能被定义为 Multi-admin。

Device Sharing

Operational credentials

这里详细介绍一个 Fabric 的 Operational 凭据。

  • Root of Trust

    即根证书, Commissioning 阶段会安装到设备上,之后可以通过管理员更新。通常一个生态为一个Trusted Root Certificate Authority (CA)。

  • Node Operational Identifier

    Operational Node ID,64位唯一数,在 Fabric 下设备唯一标识符。

  • Node Operational Certificate

    同一 Fabric 通信认证凭据,如下流程产生。

NOC generation dependencies

如上流程流程指示了 NOC 凭据安装的7个重要步骤,虚线框为需要加入 Fabric 的 Commissioniee 设备。

  1. Commissioner 发起证书签名请求的请求CSRRequest

    提示CSRRequest,Certificate Signing Request Request,所以这里是证书签名请求的请求。
  2. Commissionee 生成唯一秘钥对以及其他可选信息包含在 nocsr_tbs
  3. Commissionee 同时会对 nocsr_tbs 签名产生 attenstation signature
  4. 包含nocsr_tbsattenstation signature 通过 CSRResponse 回复 Commissioner。
  5. Commissioner 完成验签后转到到 CA 进行公钥签名。
  6. CA 返回 NOC 证书。
  7. Commissioner 通过 AddNoc 命令完成 NOC证书的安装。

Multi-Admin

前面已经介绍,一个设备可以同时加入多个 Fabric,彼此通信安全独立。所以对于一个 Matter 设备可能包含多个 NOC 证书凭据,尽管在多个 Fabric 下 Data Model、 WiFi凭据等信息在多个 Fabric 的管理员之间共享,但是 NOC 凭据不会被共享。


本文由 Jay 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处,点赞8

4 条评论

  1. charlie
    charlie

    同一个平台可以进行分享吗

    1. lijie
      lijie

      同一平台的相同 Fabric 分享没啥意义,也不存在分享。如果你作为平台,同时新建两个 Fabric,之间是可以分享的,实际 iOS 也是这么做的。默认添加了 Apple Keychain,再分享到 Apple Home。

  2. Gu
    Gu

    目前Matter相关的中文资料还是挺少的,好奇楼主都是自己理解、翻译和整理的吗

    1. lijie
      lijie

      是的,当时因为是 Core Specification 还未公开,所以这一系列文档是来自 Google 公开的 Matter 开发文档。

添加新评论