导图社区 Matter
智能家居新协议--Matter. 智能家居互联互通趋势。 Matter (formerly Project Connected Home over IP, or Project CHIP) is a new Working Group within the Connectivity Standards Alliance (CSA, formerly Zigbee Alliance).
编辑于2022-09-09 11:42:57 广东Matter
01 matter优势
对终端用户
没有生态壁垒
更加自动化(局域网实现无需经过云、APP)
没有通信壁垒(基于IP)
Wi-Fi
Thread/802.15.4
桥接 zigbee \ble等
更多生态系统
更安全
对于设备厂商
易于开发
协议开放
设备自动化
Matter 生态系统
自定义功能
02 matter 数据模型
简单典型数据模型
结构组成
note (节点)
定义:一个具有某些功能的网络可寻址实体,具有唯一性
一个智能设备实体,例如灯
Endpoint(端点)
定义:一个可提供某种或某些服务的虚拟设备,每个节点可以拥有多个端点
一盏灯,可以有Dimmable Light 和 On/Off Light两个甚至多个端点(Color Control)
Cluster(簇)
定义:多个常用操作组合为一个可复用的模块
例如:示例中的灯有On/Off Cluster 和 Level Control Cluster
Attribute(属性)
Attribute 表示可以读取或写入的内容
比如,On/Off Cluster 包含一个 OnOff Attribute,代表设备实际打开或关闭的状态;Level Control Cluster 包含一个 CurrentLevel Attribute,代表设备的电平等级。
既可以长期有效,也可以在设备重启之后失效
读写权限也可设置为“只读”或“可读可写”
支持丰富的数据类型
包括典型值、布尔值、整数(有符号/无符号)、浮点数、枚举数、字符串,甚至集合(列表或数据结构)
Command(命令)
Command 代表触发 Cluster 进行某种行为的能力
每条 Command 可以有自己的参数
On/Off Cluster 中的 Toggle(切换开关)Command
可以改变 Cluster 的 OnOff Attribute
Level Control Cluster 中有 MoveToLevel、Move、Step 等 Command
可以调整 Cluster 的 CurrentLevel Attribute
Cluster 服务器和 Cluster 客户端
每个 Matter Cluster 均有自己的服务器以及对应的客户端
提供服务的为服务器
Dimmable Light 和 On/Off Light 均可提供照明服务
用户通过cluster 客户端与服务器进行交互
Endpoint 0
特殊的 Endpoint
根节点
提供信息
Basic Information Cluster Server(基本信息 Cluster 服务器)
提供有关节点的基本信息,如固件版本、制造商等。
ACL Cluster Server(ACL Cluster 服务器)
允许配置可访问控制此节点的其他节点列表。
Network Commissioning Cluster Server(网络调试 Cluster 服务器)
允许在节点上配置网络(Wi-Fi、以太网、Thread 等)
03 matter 设备间的本地自动化交互
协议本身导致设备间容易本地交互
可配置设备使其与一个或多个进行交互
交互方式
同步控制
需要绑定
上图例子中,手机作为绑定服务器,开关作为绑定服务器
如果需要加一个调光功能,控制器和灯分别加Level Control Cluster 客户端、Level Control Cluster服务器,不需要再加绑定服务器
异步通知(订阅-报告)
订阅者接收来自发布者的数据报告
报告的内容可以是发布者的 Attribute 或 Event
04 Matter 的桥接机制
桥接
Matter 桥接设备可以让非 Matter 设备加入 Matter 生态系统(即下图中的 Matter Fabric),允许用户无差别得控制自己的 Matter 和非 Matter 设备。
通过桥接设备完成其他协议(如Zigbee)与Matter 协议之间的映射,从而完成与系统中的Matter设备通信
桥接设备的数据模型
Endpoint 0
Endpoint 0 中的设备类型为 Bridge
PartsList 字段列出桥接设备的所有端点,每个端点代表一个非 Matter 设备。
Endpoint x
每个端点上的 Descriptor(描述符)Cluster 可以提供有关特定被桥接设备的信息。
桥接设备可包含Matter 原生设备
桥接流程
1、Matter 桥接设备加入Matter 网络(即 Matter fabric)
标准的 Matter 配网流程
2、Matter-Zigbee 桥接设备加入 Zigbee 网络
touch link
install code
3、广播 Match Descriptor Request 命令,发现 Zigbee 网络中的设备
命令包括
所需的配置文件
In-Clusters(相当于服务器)
Out-Clusters(相当于客户端)
满足条件的 Zigbee 设备将回复一个 Match Descriptor Response 并附上自己的网络地址
桥接设备将为每一个匹配的 Zigbee 设备添加一个动态端点,使其作为被桥接设备加入 Matter 网络。
4、Matter 系统将通过 Matter 规范中定义的 Operational Discovery(设备发现)机制发现这些桥接设备。
5、Matter系统中的控制器可以控制Zigbee 网络中的灯泡
乐鑫的桥接方案
05 Matter 中的 Thread 边界路由器
基于 IP 网络
Matter协议层
Thread 是一套基于 IPv6 的低功耗 mesh 网络协议
Matter拓扑
双向连接
Thread 网络的单播寻址的三个作用域
Link-Local:仅用于单跳通信
Mesh-Local:用于本地 Thread 网络内的通信
Global:用于与 Thread 网络之外的设备通信
Thread-->WiFi
Thread 网络配置 OMR (Off-Mesh Routable) Prefix
每个 Thread 设备相应添加一个 OMR 地址作为全局单播地址
向 Wi-Fi 网络发送包含 IPv6 Route Information Option (RIO) 的 Router Advertisement (RA) 数据帧,来宣布此 OMR Prefix 可抵达 Thread 网络。
WiFi-->Thread
通过 Thread Network Data 在 Thread 网络中传播
服务发现
服务广播和发现
标准的基于 DNS 的服务发现 (DNS-Based Service Discovery, DNS-SD) 协议
在 Wi-Fi 和以太网
DNS-SD 协议使用多播 DNS (mDNS) 方式
Thread
引入了服务注册协议 (Service Registry Protocol, SRP),通过单播进行服务发现
Thread 边界路由器充当 SRP 服务器和代理 (Advertising Proxy)
Thread 设备向 Thread 边界路由器注册自己的服务
Thread 边界路由器通过多播 DNS 向 Wi-Fi 网络广播所有 Thread 设备的服务信息
Thread 边界路由器还实现了 DNS-SD 发现代理 (Discovery Proxy)
Thread 设备也可以发现 Wi-Fi 网络中的服务
06 生态系统的互联互通
操作证书 (Operational Credentials)
识别与认证
公钥基础设施 PKI (Public Key Infrastructure)
节点操作证书 NOC (Node Operational Certificate)
每个节点都有
X.509 格式标准
唯一的节点操作标识符(节点 ID)
每个生态系统都有自己的NOC和节点ID,一个节点在多个生态系统中就有多个NOC和多个节点ID
NOC 证书和节点 ID 仅在所处的生态系统中有效
这里所描述的生态系统,在 Matter 协议中被称为 Matter Fabric
一个 Matter 节点拥有的资源(即 CPU/RAM)决定了它最多可同时支持多少个 Fabric
认证与配网
每个 Matter 节点经过 Commissioner(比如可以配置设备的手机 App)的认证与配网后,可以加入 Matter 网络。
Commissioner 向节点提供 NOC 证书和受信任的根 CA 证书后,我们认为设备已经加入了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 是否具有控制灯泡操作的权限。
07安全模型
安全目标
受信设备
受信控制器
隐私通讯
公钥基础设施 (PKI) 简介
互联网中的应用非常广泛
证书链采用层级结构
证书链中的每份证书都由其颁发者 (issuer) 签发,因此可以一路向上追溯至根证书。也就是说,一旦我们可以沿着某个网站的证书链向上追溯至一份可信的根证书,则视为该站点安全。
PKI 可实现以下关键加密目标
核实身份:设备的身份将由其证书颁发者进行核实。
保证数据的隐私性和完整性:所有通信均将采用一个独一无二的密钥进行加密,且每个会话均有自己的密钥。
Matter 协议中的各类证书
设备认证证书 (Device Attestation Certificate, DAC):设备如何证明“我是谁”
用户可通过独一无二的DAC追溯证书链,确定设备是否来自相应厂家、快速鉴别假货
颁发者
产品认证中间证书 (Product Attestation Intermediate, PAI)
设备厂商持有
PAI 证书由产品认证根证书 (PAA) 签发以保证受信
受信任的 PAA 证书均存储在 CSA 连接标准联盟 (Connectivity Standard Alliance) 提供的分布式合规分类账 (Distributed Compliance Ledger, DCL) 中
DAC 和 PAI 证书会在生产过程中烧录至设备中并永久储存
在 commissioning 过程中,控制器将获取 DAC 和 PAI 证书(及证书随附的供应商/产品信息)并加以验证,从而保证所有经过 commissioning 的 Matter 设备均可信。
节点操作凭证 (Node Operational Credentials, NOC):我与谁通信?
NOC 既可以由中间证书颁发机构 (Intermediate Certificate Authority, ICA) 签发,也可以直接由根证书颁发机构 (Root Certificate Authority, RCA) 签发
RCA 通常由 commissioner 生成
NOC 和 RCA 会在 commissioning 过程中被写入至设备
App 或其他设备连接到该设备时,双方开始交换证书信息
使用同一份根证书,则可相互信任
证书信息交换之后,设备之间将建立起加密会话。
所有拥有相同根证书的设备将由此形成一个 Matter fabric
如何在设备间分发证书
Matter 的设备 commission 流程
概述
开箱-->身份验证-->网络设置-->NOC写入至设备存储
密码认证会话建立 (Password Authenticated Session Establishment, PASE)
1、新设备上电-->BLE/DNS-sd广播
2、控制器收到广播-->配对(扫二维码获取配对码)-->建立加密会话
证书认证会话建立 (Certificate Authenticated Session Establishment, CASE)
3、建立PASE会话后,控制器将验证设备的 DAC 证书
4、DAC验证通过-->签发NOC-->NOC安装到设备
5、告知设备需要加入的Wifi 或Thread 网络-->配网-->配网完成-->关闭PASE
6、所有通信都将受到证书的保护
流程图
08 分布式合规设备总帐 (DCL)
是什么
分布式合规设备总帐 (Distributed Compliance Ledger, DCL)。
基于区块链技术的、安全的分布式存储网络
允许CSA和授权供应商发布其matter设备信息
允许Matter生态通过DCL客户端查询相关信息
存储哪些信息(5个数据库)
供应商数据库 (Vendor Schema)
包括供应商的基本信息,例如公司法定名称、与 VendorID 关联的品牌名称、供应商的主页 URL 等。
设备信息数据库 (DeviceModel Schema)
包括设备的基本信息,例如产品名称、产品 ID、零件编号、commissoning 信息等在各软件版本中均通用的信息。
设备软件版本数据库 (DeviceSoftwareVersionModel Schema)
包括软件版本的详细信息,例如发布说明 URL、固件摘要 (FirmwareDigests)、OTA 软件镜像 URL 等。(仅存储url而非镜像本身)
认证测试结果数据库 (Compliance Test Result Schema)
包含设备的合规性和测试结果数据。
产品认证根证书数据库 (PAA Schema)
包含获批的产品认证根证书列表
Matter 生态系统将如何使用这些信息?
访问 DCL
检查设备的认证状态
通过追溯至根证书 PAA,验证设备认证证书 (DAC)
获取 commissioning 说明、手册链接和产品信息等
检查 OTA 状态并将设备升级到最新固件版本
DCL 如何工作
DCL 是一个由多个独立服务器组成的网络,由 CSA 联盟及其成员拥有和托管。
每台服务器都持有一份包含 Matter 设备信息的数据库副本,服务器之间通过加密的安全协议相互通信。
CSA提供公共的DCL服务器(供应商不一定需要安装自己的DCL)
支持供应商使用 DCL 客户端访问 DCL 信息
CSA 还可为成员配置“写权限”,允许其将自己的 Matter 设备信息发布到 DCL 中
供应商也可以也安装自己专用的DCL服务器
DCL 的“写权限”有限
供应商需要在创建帐户的过程中将 VendorID 与公钥相关联,才能拥有对 DCL 的“写权限”。
供应商可以(通过 CSA 的 DCL 服务器或其自有的专用 DCL 服务器)在自己的 VendorID 下添加新的设备型号。
供应商(仅可以是自己账户关联的设备信息)可以更新现有设备型号的部分信息(如产品名称、产品描述、固件和硬件信息等)
CSA 认证中心可以向 DCL 中写入或撤销设备的认证状态。
DCL 的“读权限”对所有人公开
所有人均可从 DCL 中读取
设备型号信息,包括固件和硬件版本
设备认证状态
产品认证根证书列表
典型工作流