1. Matter身份体系全景
在Matter网络中,一个灯泡、一个开关、一台电视,之所以能被苹果家庭、Google Home、Amazon Alexa同时识别并安全控制,靠的不是各家生态私有的配对协议,而是一套统一的设备身份与证书体系。理解这套体系,是理解Matter"一次配网、多生态互通"的根本前提。本节先建立整体地图:谁签发证书、证书里装了什么、设备如何证明"我是谁",以及VID、PID这些标识符在规范中的位置。
一、为什么Matter需要证书,而不是简单的配对码
传统智能家居设备常用"配对码+本地密钥"的方式入网,问题在于:生态平台无法确认设备真的是某厂商生产的正品,也无法确认固件未被篡改。Matter引入了基于公钥基础设施(PKI)的设备认证链,用一串可验证的证书把"设备—厂商—认证机构"绑定起来。核心角色有四个:
- PAA(Product Attestation Authority,产品认证机构):根证书颁发者,通常是CSA联盟认可的权威机构,代表整个Matter信任体系的根。
- PAI(Product Attestation Intermediate,产品认证中间证书):由PAA签发给厂商的中间证书,代表"这家厂商被PAA授权生产Matter设备"。
- DAC(Device Attestation Certificate,设备认证证书):由PAI签发给每一台具体设备,内含设备的公钥和身份信息,是设备在入网时出示的"身份证"。
- CD(Certification Declaration,认证声明):由CSA签发的声明文件,说明该产品通过了Matter认证、符合哪些规范版本与功能集。
这四者构成一条信任链:PAA → PAI → DAC,逐级签名,验证方只要信任PAA根,就能沿链验证到具体设备。CD则独立于证书链,用于证明"这个产品型号通过了认证"。
二、证书链的验证方向与关键字段
验证方向是自下而上的:设备出示DAC,控制器用PAI的公钥验证DAC签名,再用PAA的公钥验证PAI签名,最终锚定到本地信任的PAA根。任何一级签名不匹配,链路即断裂,设备无法完成认证。
DAC中几个字段尤其关键:Subject包含厂商ID(VID)和产品ID(PID);Public Key是设备自己的公钥,对应私钥保存在设备安全存储中;Extensions里可携带固件版本、认证级别等信息。PAI的Subject则包含厂商的VID,用于把中间证书与厂商绑定。
关键区分:VID(Vendor ID)标识厂商,由CSA分配,全球唯一;PID(Product ID)标识厂商旗下的具体产品型号,由厂商自行分配。同一VID下可以有多个PID,例如某厂商的VID为0x1234,其灯泡PID为0x0001、开关PID为0x0002。控制器可据此判断设备类型与来源。
三、从入网到互操作的完整身份流程
把上述概念串起来,一次典型的Matter设备入网会经历如下身份相关环节:设备上电后广播可配网信息,控制器通过BLE或Wi-Fi建立临时通道,读取设备的DAC与CD;控制器验证证书链,确认设备是PAA信任体系下的合法产品;随后进行设备证明(Attestation),设备用DAC私钥对挑战值签名,证明自己确实持有该证书对应的私钥,而非复制证书的冒牌货;验证通过后,控制器下发NOC(Node Operational Certificate,节点操作证书),这是设备加入该Fabric后的"工作证",由控制器的Fabric CA签发,用于后续日常通信的相互认证。
这里要区分两类证书:DAC是出厂身份,证明"我是谁、谁生产的";NOC是入网身份,证明"我属于哪个Fabric、被谁管理"。一台设备可以加入多个Fabric,每个Fabric对应一张NOC,但DAC只有一张。这正是跨生态互操作的关键——设备用同一张DAC向不同生态证明自己的正品身份,再分别获取各生态的NOC。
四、VID与PID在规范中的位置
VID和PID并非孤立字段,它们同时出现在多个位置:DAC的Subject中携带VID与PID,用于设备身份识别;PAI的Subject中携带VID,用于厂商绑定;设备在Basic Information Cluster中也会暴露VendorID、ProductID、VendorName、ProductName等属性,供控制器读取展示。控制器在配网时会将DAC中的VID/PID与设备上报的Cluster属性做一致性校验,防止身份伪造。
需要特别注意:VID由CSA统一分配并写入PAI和DAC,厂商不能自行编造;PID由厂商自行分配,但必须在CD中声明,且同一VID下PID不可重复。如果厂商更换产品型号但沿用旧PID,会导致控制器无法区分新旧固件,可能引发兼容性问题。
五、跨生态互操作的本质
回到最初的问题:为什么Matter设备能同时被多个生态控制?因为身份验证与生态绑定是分离的。DAC和CD证明设备的"出厂正品身份",这部分对所有生态通用;NOC证明设备的"当前归属",这部分按Fabric独立签发。苹果、Google、Amazon各自运行自己的Fabric CA,但都信任同一套PAA根。设备只需一张DAC,就能向任意生态证明自己是合法Matter产品,再分别获取各生态的NOC,从而实现真正的跨生态互操作。
学习建议:初学阶段最容易混淆的是DAC与NOC。记住一句话——DAC是"出生证",一辈子一张;NOC是"工作证",加入一个Fabric就多一张。VID/PID写在出生证上,Fabric信息写在工牌上。