Matter分析与安全验证

news2024/10/5 13:42:24

本文作者:杉木@涂鸦智能安全实验室

什么是matter

Matter是一项智能家居的开源标准,由连接标准联盟制定、认证、推广,该标准基于互联网协议(IP),遵循该标准的智能家居设备、移动应用程序和云服务能够进行互联和通信。—wiki提供

Matter产生的背景

Matter的架构

Matter 旨在为智能家居设备构建一个通用的基于 IPv6 的通信协议。该协议定义了将部署在设备上的应用层和不同的链路层,以帮助维护互操作性。下图为Matter的架构;

请添加图片描述
请添加图片描述

Matter标准协议的分层

请添加图片描述

  1. APPlication Laye 应用层:

    设备的高阶业务逻辑。例如,专注于照明的应用程序可能包含处理打开/关闭灯泡及其颜色特征的逻辑。

  2. Data Model Layer 数据模型层:

    数据层对应于有助于支持应用程序功能的数据和元素模型。当有与设备交互的意图时,应用程序对这些数据结构进行操作。

  3. Interaction Model Layer 交互模型层:

    交互模型层定义了一组可以在客户端和服务器设备之间执行的交互。例如,在服务器设备上读取或写入属性将对应于设备上的应用程序行为。这些交互作用于在数据模型层定义的元素。

  4. Action Framing Layer 动作框架层:

    一旦使用交互模型构建了动作,它就会被序列化为规定的打包二进制格式以进行网络传输编码。

  5. **Security Layer 安全性:**然后将编码的操作帧向下发送到安全层以对有效负载进行加密和签名,以确保数据受到数据包发送方和接收方的保护和验证。

  6. **Message Framing + Routing 消息框架和路由:**通过加密和签名的交互,消息层构造具有必需和可选标头字段的有效负载格式;其中指定消息的属性和一些路由信息。

  7. IP Framing + Transport Management IP 成帧和传输管理:

    构建最终有效负载后,将其发送到底层传输协议以进行数据的 IP 管理。

matter使用介绍

前面是关于matter的简单介绍,然后一些介绍和使用详细的说明以及源码,官方和网上其他文章都很多,这里罗列了一些,可以自行阅读学习,这里不在赘述;

matter源码GitHub地址:

https://github.com/project-chip/connectedhomeip

matter组织官网:

Become a Member | The Future of IOT

Specifications Download Request

【Matter】解密Matter协议(一)— 什么是Matter协议?

【Matter】解密Matter协议(二)— 关键概念及特性_物联网布道师的博客-CSDN博客_matter协议

Matter协议特性解析(三) 设备发现,认证和配网_iotthings的博客-CSDN博客_matter协议

matter安全验证

因为网上关于matter的介绍很多,这里主要讲一下matter安全验证使用的安全技术,学习并分析一下;

Matter安全验证流程

Matter安全验证流程分为以下几个步骤:

  1. 设备注册:设备制造商需要向Matter联盟注册其设备以获取唯一的设备ID。注册过程需要提供设备的基本信息和证书,以验证设备的身份和合法性。matter采用基于公钥基础设施 (PKI)的安全模型。

    请添加图片描述

  2. 证书颁发:Matter联盟将为设备颁发证书,包括设备证书和制造商证书。设备证书用于验证设备的身份,制造商证书用于验证制造商的身份。

    1. 设备认证证书 (Device Attestation Certificate, DAC):用途:设备如何证明“我是谁”
    2. 节点操作凭证 (Node Operational Credentials, NOC):用途:我与谁通信?
  3. 密钥交换:设备需要生成一个公钥和私钥对,并将公钥发送给Matter联盟。Matter联盟将使用设备证书加密一个随机数,并将其发送给设备。设备使用私钥解密随机数,生成一个共享密钥。

  4. TLS握手:设备使用共享密钥与Matter联盟建立TLS连接。TLS握手过程中,设备和Matter联盟将互相验证对方的身份,并协商加密和认证算法。

  5. 设备激活:设备使用TLS连接向Matter联盟发送激活请求。Matter联盟将验证设备的证书和共享密钥,并向设备发送激活响应。

  6. 云端注册:设备使用激活响应中的URL向云端注册自己的身份和能力。云端将验证设备的证书和共享密钥,并将设备添加到设备列表中。

  7. **设备通信:**设备在通过前面的认证之后,也是与云端注册过程一致,通过安全的通信方式,如ECDH等进行通信交互;不同的协议中通信流程的细节可能会有所不同。

请添加图片描述

PASE

PASE的来历

PASE(Protocol for Authentication and Key Exchange)是一种用于身份验证和密钥交换的协议。它由 Zigbee Alliance 开发,最初是为 Zigbee 网络设计的,但现在已被广泛应用于其他智能家居平台,包括 Matter。PASE 协议主要用于在设备之间建立安全的通信连接,确保设备之间的通信是安全和可靠的。

PASE 协议使用基于密码的身份验证和密钥交换机制,其设计目标是为了提供高度安全、高度可靠的身份验证和密钥交换,同时保持协议的简洁性和灵活性。PASE 协议利用多种密码技术,包括哈希函数、加密算法和数字签名算法,以确保通信的私密性、完整性和认证。

PASE 协议的实现需要相应的硬件和软件支持,但由于其广泛应用于智能家居领域,许多设备和平台都已经支持了 PASE 协议。在 Matter 标准中,PASE 协议被用于设备之间的身份验证和密钥交换,以确保 Matter 设备之间的通信是安全和可靠的。

PAKE分类

PAKE(Password-Authenticated Key Exchange)是一种基于密码的密钥交换协议,它能够在不依赖预先共享密钥的情况下,在不安全的通信信道上实现安全的密钥交换。根据安全证明的方式和基本原理,PAKE 可以分为以下几类:

  1. 证明基环境(Proof-Based)PAKE:
    该类协议利用密码学的证明技术,在不需预先共享密钥的条件下,通过计算证明来对密码进行验证。其中最著名的证明基 PAKE 协议是 SPEKE(Simple Password Exponential Key Exchange)协议。
  2. 零知识证明(Zero-Knowledge Proof)PAKE:
    该类协议依赖于零知识证明技术,通过在不泄漏密码明文的情况下对密码进行验证。其中最著名的零知识证明 PAKE 协议是 B-SPEKE(Balanced Simple Password Exponential Key Exchange)协议和 SB-SPEKE(Synchronized Balalnced Simple Password Exponential Key Exchange)协议。
  3. 基于密码哈希函数的(Password-Hashing-Based)PAKE:
    该类协议基于哈希函数计算密码,并在计算中使用附加信息来增加熵,以提供更强的安全性。其中最著名的基于密码哈希函数的协议是 SRP(Secure Remote Password)协议和 HB-PBC(Hash-Based Password-Authenticated Key Exchange using Brainpool Curves)协议。
  4. 可证明安全(Provable Secure)PAKE:
    该类协议基于密码学理论证明,能够将安全性证明为一个数学问题,从而实现高度安全的密钥交换。其中最著名的可证明安全的 PAKE 协议是 SPAKE2(Simple Password Authenticated Key Exchange 2)协议和 OPAQUE(Oblivious Password-Authenticated Key Exchange)协议。

这些 PAKE 协议的不同特点和原理,使得它们在不同的应用场景下具有不同的优缺点。因此,在选择合适的 PAKE 协议时,需要考虑应用需求和特点,以便选择最合适的 PAKE 协议。

SPAKE2+

SPAKE2+ 是一个高效且安全的 PAKE(密码认证密钥交换)协议,其基于先前的 SPAKE2 协议进行改进,可以在不泄露密码明文的情况下实现高度安全的密钥交换。

SPAKE2+ 协议的设计思想是将密码学安全性和实用性结合起来,采用汉明重量编码技术来保证降低概率攻击的风险,并创新性地引入点压缩技术和标量位压缩技术,减轻了计算负担和通信开销。

在 SPAKE2+ 协议中,参与方之间的密钥交换过程将分为两个阶段:第一阶段为计算验证子,参与方通过该验证子验证对方的身份,并生成公钥和私钥;第二阶段为密钥生成,参与方利用计算验证子生成的公钥和私钥,计算出一个共享密钥。在该过程中,参与方需要选定一个公共参数,该参数应根据情况性质和安全需求进行选择。

SPAKE2+ 协议具有很好的安全性和高效性,它实现了密码学理论最高水平的安全级别,并且具有快速、可靠以及应用范围广的优点。因此,该协议被广泛应用于各种基于密码的身份认证和密钥交换场景,如电子邮件、VPN 等等。

参考

Matter 系列 #7 I Matter 安全模型

漏洞悬赏计划:涂鸦智能安全响应中心(https://src.tuya.com)欢迎白帽子来探索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1308465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

three.js(一)

文章目录 three.js环境搭建正文补充 示例效果知识点补充1:一个标准的html知识点补充2:原生的前端框架和Vue框架的区别原生的前端框架Vue框架声明式编程和响应式编程 three.js环境搭建 正文 搭建 Three.js 的环境通常包括以下几个步骤: 1.创建项目目录&#xff1a…

【LeetCode每日一题】1904. 你完成的完整对局数

给你两个字符串 startTime 和 finishTime ,均符合 "HH:MM" 格式,分别表示你 进入 和 退出 游戏的确切时间,请计算在整个游戏会话期间,你完成的 完整对局的对局数 。 如果 finishTime 早于 startTime ,这表示…

一个文件下png,jpg,jpeg,bmp,xml,json,txt文件名称排序命名

#utf-8 #authors 会飞的渔WZH #time:2023-12-13 import os# 要修改的图像所在的文件夹路径 root_path rD:\images\lines2\3 # 要修改的图像所在的文件夹路径filelist os.listdir(root_path) #遍历文件夹 print(len(filelist)) i0for item in filelist:if item.endswith(.…

Re58:读论文 REALM: Retrieval-Augmented Language Model Pre-Training

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称:REALM: Retrieval-Augmented Language Model Pre-Training 模型名称:Retrieval-Augmented Language Model pre-training (REALM) 本文是2020年ICML论文,作者来自…

python 基于imageio_ffmpeg 直接操作ffmpeg,无需额外在官网下载!

python直接操作ffmpeg,无需在官网下载! 一、前言 在要使用ffmpeg处理的时候,不想去官网下载ffmpeg然后添加到环境变量再使用。研究了一下,可以通过下面的方法解决 imageio_ffmpeg subprocess 二、具体步骤 1、环境配置 pip i…

Mac搭建Frida逆向开发环境

一、简介 Frida是一种基于Python+JavaScript的动态分析工具,可以用于逆向开发、应用程序的安全测试、反欺诈技术等领域,本质是一种动态插桩技术。Frida主要用于在已安装的应用程序上运行自己的JavaScript代码,从而进行动态分析、调试、修改等操作,能够绕过应用程序的安全措…

小程序开发实战案例之三 | 小程序底部导航栏如何设置

小程序中最常见的功能就是底部导航栏了,今天就来看一下怎么设置一个好看的导航栏~这里我们使用的是支付宝官方小程序 IDE 做示范。 官方提供的底部导航栏 第一步:页面创建 一般的小程序会有四个 tab,我们这次也是配置四个 tab 的…

基于单片机的火灾报警器 (论文+源码)

1.系统设计 本系统由火灾检测模块、A/D转换模块、信号处理模块、声光报警模块和灭火装置模块组成。火灾检测模块由温度检测和烟雾检测构成,其温度传感器选用DS18B20,烟雾传感器选用MQ-2烟雾传感器。A/D转换模块选用常用的模数转换芯片ADC0832。声光报警模…

Git篇---第七篇

系列文章目录 文章目录 系列文章目录前言一、如果分支是否已合并为master,你可以通过什么手段知道?二、 什么是SubGit?三、列举工作中常用的几个git命令?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文…

阅读笔记——《UTOPIA: Automatic Generation of Fuzz Driverusing Unit Tests》

【参考文献】Jeong B, Jang J, Yi H, et al. UTOPIA: automatic generation of fuzz driver using unit tests[C]//2023 IEEE Symposium on Security and Privacy (SP). IEEE, 2023: 2676-2692.【注】本文仅为作者个人学习笔记,如有冒犯,请联系作者删除。…

electron命令下载失败,手动安装教程

现象:pnpm i electron, 一直卡在提示错误node install.js 一 、下载需要的electron版本 地址 二、下载完毕,解压压缩包, 进入项目的node_modules/electron文件夹,创建dist文件夹,将下载的zip包里的文件复制到dist…

亚马逊鲲鹏系统:防关联技术守护您的账户安全

亚马逊买家账号注册是一项相当简便的操作,但当涉及到批量注册时,我们就需要更加注意防关联的问题。对于那些对此领域不够熟悉的朋友们,可以使用亚马逊鲲鹏系统,这款系统能够为我们提供一站式的解决方案。该系统不仅支持买家账号的…

虚拟现实三维电子沙盘数字沙盘开发教程第5课

虚拟现实三维电子沙盘数字沙盘无人机倾斜摄影全景建模开发教程第5课 设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com 该数据库中只提供 成都市火车南站附近的数据请注意,104.0648,30.61658 在鼠标指定的位置增加自己的UI对象&…

智能优化算法应用:基于风驱动算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于风驱动算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于风驱动算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.风驱动算法4.实验参数设定5.算法结果6.参考文…

020 OpenCV 轮廓、外接圆、外接矩形

一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、原理 2.1 函数接口 OpenCV中的findContours函数用于检测图像中的轮廓。轮廓是图像中连续的点集,它们通常表示物体的边缘或形状。在计算机视觉和图像处理中,…

Visual Studio Code (Vscode)配置LaTeX

Visual Studio Code (Vscode)配置LaTeX 实操记录 第一步高效检索,找到官方的、靠谱的安装教程,最好多找几个,英文、中文教程都需要 LaTeX WorkshopInstallation and basic settingsHow to install LaTeX (with previews & autocomplete…

ceph的osd盘删除操作和iscsi扩展

ceph的osd盘删除操作 拓展:osd磁盘的删除(这里以删除node1上的osd.0磁盘为例) 1, 查看osd磁盘状态 [rootnode1 ceph]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.00298 root default -3 0.00099 host node10 hdd 0.000…

SSL证书过期怎么更新?

一、概述 SSL证书是用于加密网站和客户端之间通信的一种数字证书,可以确保数据传输的安全性和保密性。然而,SSL证书是有有效期的,一旦过期就需要及时更新。本文将介绍如何更新SSL证书,以确保网站的安全性和正常运行。 二、SSL证…

2024上海智慧城市展会(世亚智博会)促进长三角地区智慧城市发展

上海市政府近期印发的《上海市进一步推进新型基础设施建设行动方案(2023-2026年)》标志着新一轮新基建的全面启动。市政府副秘书长、市发展改革委主任顾军指出,这一行动方案紧抓智能算力、大模型、数据要素、区块链、机器人等技术发展趋势和绿色低碳节能要求&#x…

基于FPGA的视频接口之高速IO(SATA)

简介 本章节是对于高速IO接口应用的一个扩展,目前扩展为SATA(SSD硬盘,机械硬盘不能使用)。通俗易懂的讲,即把SSD硬盘当做大型的Nand Flash来处理,不格式化硬盘,直接以地址和数据的格式,在SATA盘中写入数据,该数据不能被Window和linux直接识别,需单独编写App来查看SSD…