matter设备调试(Device Commissioning):
设备调试是将设备配置入网的过程,使它们在网络中可以相互通信。新设备需要能够安全地加入网络并与同一网络中的其它设备建立控制关系。为了使设备能够进行调试,它必须将其安全证书传递给网络以便检查其有效性,然后该设备才会被授权在网络上运行。

被调试的设备被称为调试设备(Commissionee),而管理设备调试的设备被称为调试专员(Commissioner)。 设备调试包括以下步骤:

  1. 设备发现:调试专员(Commissioner)在网络接口(例如低功耗蓝牙、Wi-Fi 或其他连接的 IP 网络)上发现可调试设备。 调试专员通过可调试设备的二维码、手动配对码、NFC标签或其他方式获取带外密码。 这个密码被”密码验证会话建立” (Passcode-Authenticated Session Establishment (PASE) ) 用来建立安全调试会话。 发现可调试设备和从可调试设备获取带外密码的顺序并不重要。

  2. 使用PASE(Passcode-Authenticated Session Establishment)进行安全设置:使用 PASE 在调试专员(Commissioner)和调试设备(Commissionee)之间建立加密密钥。 调试专员和待调试设备之间交换的所有matter消息都使用PASE派生密钥进行加密。 安全设置过程还建立了在设备认证过程中使用的认证口令(attestation challenge)。

  3. 设备认证验证:调试专员将调试设备的可靠性确立为经过认证的matter设备,如果设备没有认证,则通知用户。

  4. 信息配置:调试专员向调试设备提供有效的域、UTC时间、操作证书和网络接口配置等信息。

  5. 加入网络:当调试设备不在运行的网络中,调试专员触发调试设备连接到运行网络。 然后节点或调试设备的 IPv6 地址由调试专员或管理员使用(如果已知)或发现(如果未知)。

  6. 使用CASE(Certificate Authenticated Session Establishment(CASE))进行安全设置:CASE派生加密密钥用于在调试专员和节点之间建立安全通信。 调试专员与matter节点之间的所有单播 matter消息都使用这些CASE派生密钥进行加密。

  7. 调试完成消息交换:在操作网络上使用CASE派生的加密密钥交换加密的消息,指示成功完成调试过程。

设备调试流程:
根据调试专员和调试设备的组网能力,有两种设备调试流程:并发连接调试流程和非并发连接调试流程。

具有并发连接的调试专员和调试设备有能力同时维持两个网络连接。 一种连接是在调试专员和当前调试设备正在加入的运营网络之间(例如,家庭 Wi-Fi网络或Thread网络)。 第二种连接是在调试专员和调试设备之间进行调试,称为调试通道。 调试专员和调试设备具有非并发连接能力则不能同时连接到调试设备正在加入的运营网络和调试通道。

这两个连接可以在相同或不同的网络接口上。 例如,调试专员使用其Wi-Fi接口连接到运行网络,但使用蓝牙低功耗接口进行设备调试。

  1. 提供信息:启动调试的调试专员应具有可用的监管信息和组织(fabric)信息,并且应具有准确的日期、时间和时区。
  2. 设备发现和建立调试通道:调试专员和调试设备应使用蓝牙、Wi-Fi 或以太网等网络接口找到彼此,并在彼此之间建立调试通道,随后的所有消息都是通过调试通道进行消息交换的。
  3. 安全设置–使用密码验证会话建立(PASE):调试专员和调试设备应在调试通道上使用 PASE 建立加密密钥。调试通道上的所有后续消息都使用 PASE 派生的加密密钥进行加密。
  4. 设置故障安全计时器:调试专员应使用"Arm Fail-safe"命令对调试设备的故障安全计时器进行设置。调试专员可以在启用故障安全之前通过读取 BasicCommissioningInfo属性从调试设备处获取设备信息,包括有关故障安全值的指导。
  5. 配置信息:调试专员应在调试设备中配置监管信息。 如果调试专员支持time Cluster,调试专员应该配置 UTC 时间、时区和 DST 偏移量。 UTC 时间使用 SetUtcTime 命令配置,而时区和 DST 偏移量通过 TimeZone和 DstOffset 设置属性。 监管信息使用 SetRegulatoryConfig 配置。
  6. 调试设备的设备认证(Device Attestation)
  7. 交换操作证书签名请求:在设备认证程序做出进行调试的决定后,调试专员应使用 CSRRequest 命令向调试设备请求操作证书签名请求(Certificate Signing Request)。 CSRRequest命令将在调试设备处生成新的操作密钥对。
  8. 产生或获取操作证书:调试专员应在收到来自专员的 CSRResponse 命令后,生成或获取包含操作ID的操作证书。
  9. 配置信息-操作证书
  10. 配置信息-接入控制表
  11. 配置信息-操作网络::
  12. 启动调试设备加入操作网络:调试专员应触发调试设备使用EnableNetwork命令连接到运营网络,除非调试设备已经在所需的操作网络上。
  13. 操作发现:启动调试结束过程。 由调试专员在调试设备的接入控制列表(Access Control List)中配置的管理员应使用操作发现来发现调试设备。 该管理员可以是调试专员本身,或调试专员已授权的另一个节点。
  14. 安全设置–使用Certificate Authenticated Session Establishment(CASE):管理员通过运行网络与调试设备打开CASE会话。
  15. 设备调试完成,信息交换:在前面的步骤中,管理员已通过运行网络与调试设备建立了 CASE 会话,管理员应调用调试完成命令。 调用调试完成命令后的成功响应结束调试过程。

调试规则:
设备调试应是一个有时间限制的过程,设备调试应该在故障安全定时器到期之前完成。 故障安全定时器应在调试开始时设置。 如果故障安全定时器在调试完成之前到期,调试专员和调试设备应该终止设备调试过程。 成功完成设备调试后应该解除故障安全定时器。

准备进行调戏的调试设备应该接受第一个发起的建立 PASE 会话的调试专员的请求。当调试专员正在与调试设备建立 PASE 会话或已成功建立会话时,调试设备不应再接受任何新的 PASE 会话请求,直到会话建立失败或成功建立的 PASE 会话在调试通道中断。为了避免调试设备无限期地无法接受新的 PASE 会话请求,调试设备应期望在收到初始请求后 60 秒内建立 PASE 会话。这意味着调试设备期望在发送 PBKDFParamResponse 后 60 秒内发送 PakeFinished 消息,以响应来自调试专员的 <PBKDFParamRequest 消息以建立 PASE 会话。如果 PASE 会话未在预期时间窗口内建立,调试设备应使用安全通道状态报告消息中所述的 InvalidParameter 状态代码终止当前会话建立。

如果故障安全计时器在调试完成之前到期或在调试成功后解除,则 PASE 会话应在调试通道上终止。

参考资料:
https://csa-iot.org/
https://github.com/nrfconnect/sdk-connectedhomeip/blob/933fb4/docs/guides/nrfconnect_android_commissioning.md

CSDN博客仅作为本人工作学习之余的笔记使用,无任何商业目的,如果侵犯了你的隐私或权益,请随时联系作者,本人将及时删除相关内容

matter设备调试(Device Commissioning):相关推荐

  1. 【chip-tool】 使用 chip-tool 工具测试matter设备步骤

    [chip-tool] 使用 chip-tool 工具测试matter设备 1. 主要步骤 1.1 编译matter设备的固件程序 1.2 在 matter 设备上开启BLE蓝牙广播 1.3 确保已设 ...

  2. [Unity3D] Unity3D连接安卓设备调试unity程序

    目录 一.手机开启调试模式,确保adb能检测到手机 目的:确保adb能检测到手机,通过adb devices命令能够呈现如下效果 常见问题: 二.unity配置工作 目的:配置unity中Build ...

  3. 《设备调试与网络优化》教学讲义(二)

    <设备调试与网络优化>教学讲义         应广大读者的要求,现将<设备调试与网络优化>一书的教学讲义PPT共享给大家,希望帮助网友和读者更好的学习书中的知识,谢谢! 转载 ...

  4. Linux 设备树device tree 使用手册

    摘要:设备树使用手册Thispagewalksthroughhowtowriteadevicetreeforanewmachine.Itisintendedtoprovideanoverviewofd ...

  5. 微信web开发工具 移动设备调试

    废话不多说,4步解决移动端调试问题!!!! 以苹果手机为例 1.必须先下载微信web调试工具这就不多说了 2.保证手机和电脑在同一网段,手机打开无线局域网,点击所连接的网络进去后在最底部,HTTP代理 ...

  6. Nexus 5设备调试

    第一时间买了nexus5作为我们的bluetooth low energy的Android上的开发平台.到手几天后,才发现,新东西的资源和介绍真是少之又少. 在windows xp上开始Nexus5的 ...

  7. 如何使用物联网低代码平台进行设备调试?

    AIRIOT物联网低代码平台具有设备调试功能,通过数据调试,可判断设备接入时间否正常. 如何使用AIRIOT平台进行设备调试,操作如下: 设备调试 设备调试用于平台接入资产后,进行数据的调试,可以查看 ...

  8. 指令 adb devices 输出多出设备“emulator-5554 device”

    指令 adb devices 输出多出设备"emulator-5554 device" 1. 现象 2. 解决方案 3. 验证 1. 现象 打开了一台模拟器设备,但 Appium ...

  9. 环境与设备监控计算机套定额,电气火灾监控设备调试、套定额的注意事项

    电气火灾监控设备调试.套定额的注意事项 1.关于电气火灾监控系统与火灾自动报警系统是否为同一系统 根据<火灾自动报警系统设计规范>GB50116-2013关于电气火灾监控系统设计相关规定, ...

最新文章

  1. MySQL之父等国际数据库掌门人齐聚,1024 程序员节全体大会重磅官宣!
  2. GBDT基本原理及应用
  3. iphone 使用委托(delegate)在不同的窗口之间传递数据
  4. Python 之父:别等了,Python 4.0 可能不会来了
  5. MOSS 2007基础:WSS 3.0 中的母版页(Master Pages)和内容页(Content Pages)
  6. flink与flink-client的版本对应
  7. 使用css3属性transition实现页面滚动
  8. 更改微信小程序的基础版本库;更改uni-app小程序基础库;更改用户的微信小程序基础库最低版本;设置用户的微信小程序版本库;
  9. OpenShift Security (1) - 红帽多集群安全管理 RHACS 的主要功能和技术架构
  10. 剑指Offer_编程题(用两个栈实现队列/旋转数组的最小数字(O(n) + 二分O(lgn))/斐波那契数列/跳台阶)
  11. Gravity:环形二维码扫描识别传感器详细介绍和工作原理
  12. 十六、 Interpreter 解释器(行为型模式)
  13. k8s Container资源控制: requests和limits
  14. 【​观察】中国云计算产业的下半场 京东云正在下一盘怎样的大棋?
  15. autojs pro逍遥游模拟器vscode调试
  16. FairyGUI进阶-滑动列表 虚拟列表 循环列表
  17. Anaconda 修改文件保存路径
  18. vi 撤销上一步操作
  19. websocket 断网消息补发
  20. 信息碎片化爆炸时代,我们究竟失去的是什么?

热门文章

  1. VirtualBox :不能分配USB设备到虚拟电脑
  2. k8s集群二进制部署 1.17.3
  3. 实现景区门票计费系统(Java抽象类练习含GUI窗体组件)
  4. 昆明半程马拉松:1名选手死亡5名选手昏迷(图)
  5. 【干货】富人思维:硅谷天使投资人1000倍投资回报的决策和投资模型.pdf(附下载链接)...
  6. 关于百度地图设置显示的比例尺大小
  7. 如何修改网卡的默认dns服务器,DNS怎么设置?DNS设置大全
  8. One_hot和Word2Vec两种词向量方法的原理及比较
  9. **遇到“Cannot create file “不要慌**
  10. 2021-09-18 Stage/Job cancelled because SparkContext was shut down