【Matter】设备入网流程

官方信息

认证、配网过程

https://developers.home.google.com/matter/primer/commissioning

在这里插入图片描述

Commissioning 是一个动作,待入网设备Commissionee 加入到Commissioner

过程

1.第一步,设备发现,比如通过ble 蓝牙方式
2.第二步,建立连接
3.第三步,获取设备信息,如厂家,设备类型等
4.第四步,配置设备信息,比如国家码
5.第五步,校验,拿到设备DAC以及PAI,和网关Commisioner 拿到的公证信息校验,是否是标准的Matter 设备
6.第六步,网关设备发送一个通信加密通道证书(CSR),设备会作返回信息给网关,表示双向沟通好
7.第七步,网关拿到反馈的CSR信息后,生成一个NOC(Node Opertional Certificate ),网关通过命令把这个NOC安装到入网设备上
8.第八步,给入网设备配置网络,比如thread设备、wifi 设备
9.第九步,设备加入到网络后,网关通过DNS-SD 发现网络设备
10.第十步,设备发现以后,网关和设备通信的CASE连接建立完成,双方都可信任
11.第十一步,网关使用CASE发送信息给设备,添加已经完成,一些添加设备的安全机制可以撤销

日志分析

Matter 入网的流程:
在这里插入图片描述

### Matter 协议中的 Fabric 概念 Matter 是一种由 Connectivity Standards Alliance (CSA) 推出的开源连接标准,旨在简化物联网设备之间的互操作性。在 Matter 中,“Fabric”是一个核心概念,用于定义一组具有信任关系的节点集合。 #### 1. **Fabric 的基本定义** Fabric 可以被理解为一个逻辑络实体,它代表了一组通过安全机制相互认证并协作工作的设备[^5]。每个 Fabric 都有一个唯一的标识符(称为 Fabric ID),并且可以包含多个节点(Node)。这些节点既可以是控制器也可以是终端设备。 #### 2. **Fabric 的组成要素** - **Root Certificate**: 每个 Fabric 都有自己的根证书,该证书用于验证加入此 Fabric 的设备身份。 - **Operational Credentials Cluster**: 这一集群负责管理设备的操作凭证,确保只有经过授权的设备才能加入特定的 Fabric。 - **Controller Device**: 控制器设备充当 Fabric 的管理者角色,负责初始化新设备入网以及维护整个 Fabric 的安全性。 #### 3. **Fabric 的功能特性** - **跨 Fabric 路由支持**: 如果两个不同 Fabrics 下属成员间需通信,则可通过边界路由器完成数据转发过程[^6]。 - **多 Fabric 支持能力**: 同一台物理装置能够同时隶属于若干不同的 Fabrics 上下文中运行,在这种情况下,其行为应依据当前活动 Fabric 来决定如何响应请求或处理消息。 #### 4. **Fabric 加入流程概述** 当一个新的 IoT 设备准备接入某个现有的 Matter Network(Fabric)时,通常会经历以下几个阶段: - 发起对(Pairing Initiation): 用户指示本地应用启动寻找附近可添加的新硬件资源; - 建立初始联系(Initial Contact Establishment): 利用 QR Code 或 Manual Input 数字串等方式传递必要参数给目标单元知晓下一步动作指南; - 安全握手(Secure Handshake Execution): 执行基于公钥加密技术的安全协商程序来确认双方合法性,并交换后续通讯所需密钥材料; - 正式注册(Formal Registration Completion): 成功完成后端服务器校验之后,正式记录此次关联事件并将对应属性更新至全局数据库内保存待查证用途。 ```python def join_fabric(device_id, root_cert): """ Simulates the process of joining a device into a specific Matter Fabric. Args: device_id (str): Unique identifier for the new device attempting to join. root_cert (bytes): Root certificate associated with the target Fabric. Returns: bool: True if successful; False otherwise. """ try: # Step 1: Validate the provided root certificate against known authorities validate_certificate(root_cert) # Step 2: Perform secure handshake using public key infrastructure perform_secure_handshake(device_id, root_cert) # Step 3: Register the device within the operational credentials cluster register_device_in_cluster(device_id) return True except Exception as e: print(f"Failed to join fabric due to error: {e}") return False ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值