Matter 如何实现跨生态系统的互联互通?(转自乐鑫博客)
如上图所示,位于中心位置的灯泡可以同时在来自于两个由不同组织(Org1 和 Org2)的生态系统(绿色和红色)中稳定运行。这就是 Matter 的 Multi-Admin 功能。它是解决智能家居场景中多生态之间设备互联的理想方案,拥有广阔的应用前景。当用户已经适应一个成熟的智能家居生态时,往往希望新增设备能够直接加入现有系统,而非重新构建一套新的生态。
那么,这些智能设备是如何在多生态系统中进行相互识别和安全认证呢?又是谁来完成设备的配置?下文将回答这些问题。
操作证书 (Operational Credentials)
Matter 设备通过公钥基础设施 PKI (Public Key Infrastructure) 进行身份识别与认证。
每个 Matter 节点都有自己的节点操作证书 NOC (Node Operational Certificate)。NOC 证书采用 X.509 格式标准,内含一个可用于识别某个节点的唯一标识符,即节点操作标识符(节点 ID)。
当某个 Matter 节点同时处于多个不同生态系统中时,该节点将拥有多个 NOC 证书(在每个生态系统中都有对应的证书)。如上图所示,灯泡同时处于绿色和红色两个生态系统,因此具有两份 NOC 证书和两个节点 ID(绿色生态系统签发的 xyz 和红色生态系统签发的 PQR)。
NOC 证书和节点 ID 仅在所处的生态系统中有效。这里所描述的生态系统,在 Matter 协议中被称为 Matter Fabric。故而,上图中的灯泡同时属于两个 Matter Fabric,在绿色 Fabric 中的节点 ID 为 xyz,在红色 Fabric 中的节点 ID 为 PQR。
一个 Matter 节点拥有的资源(即 CPU/RAM)决定了它最多可同时支持多少个 Fabric。
每个 Matter Fabric 也会有其对应的根证书 (Root CA Certificate),用于验证 Fabric 中各节点的身份,即各节点的 NOC 证书。举例而言,灯泡在绿色 Fabric 中将使用绿色 Fabric 的根证书,来验证其收到的请求是否来自于绿色 Fabric 中的 abc 节点。
认证与配网
那么,Matter 节点所处的 Fabric,及其 NOC 证书和根 CA 证书由谁来配置呢?
每个 Matter 节点经过 Commissioner(比如可以配置设备的手机 App)的认证与配网后,可以加入 Matter 网络。
在认证过程中,Commissioner 向节点提供 NOC 证书和受信任的根 CA 证书后,我们认为灯泡已经加入了绿色 Fabric。事实上,每个 Matter Fabric 也有一个 64 位的标识符,这里我们为了简便起见,仅将其称为绿色 Fabric。
加入新的 Matter Fabric
成功加入第一个 Fabric 后,节点将如何加入第二个 Matter Fabric 呢?
设备管理员可以要求 Matter 设备在完成认证与配网之后,再次打开认证窗口,被其他生态系统进行认证,从而使该设备加入其他 Matter Fabric。
访问控制列表 (ACL, Access Control List)
节点在网络中完成身份验证后,下一步就是访问控制。每个 Matter 节点都有一个访问控制列表 (ACL, Access Control List) ,规定了在这个 Matter Fabric 中,何种设备可以在此 Matter 节点上执行何种操作,比如在节点 x 上的 Cluster y 上具有可读/可写/可调用权限。
当一个 Matter 手机 App 控制 Matter 网络中的灯泡时:
- 灯泡将获得一系列由 ACL 定义的权限。
- 此后,灯泡在执行任何操作之前,将首先通过手机 App 的 NOC 证书和安装在灯泡上的受信根 CA 证书,来验证手机 App 的身份。
- 接着,灯泡将检查 ACL,确认此手机 App 是否具有控制灯泡操作的权限。
Matter 生态系统
如上所述,Matter 生态系统允许用户创建并向各设备分发 NOC 证书,从而构建一个由相关设备组成的 Matter Fabric。此外,用户还可以在此基础上增加其他创新功能,比如允许远程控制设备、通过显示控制器或语音控制器来控制设备等。