EASYMESH-11-接入安全与扩展类
EasyMesh 核心模块深挖笔记(模块 9-17:接入安全与 R2/R3/R6 扩展类)学习目标:通过 EasyMesh R6 认证。本篇覆盖 9 个"接入安全 + R2/R3/R6 扩展类"模块。方法:协议原理为主线,prplMesh 源码作佐证(代码只用来印证"协议字段长这样、怎么处理")。代码路径:prplMesh/agent/src/beerocks/slave/tasks/、prplMesh/controller/src/beerocks/master/、prplMesh/framework/tlvf/风格沿用notes/EASYMESH-02-ieee1905-1-协议详解.md:每模块五段式 = 协议原理 → 关键 TLV/消息 → 抓包验证 → 实现要点(代码佐证) → 认证 Test Case(⚠️待核对)模块 9 Onboarding(PBC + DPP/EasyConnect)9.1 协议原理Onboarding 是"新设备入网"流程,EasyMesh 提供两条路径:PBC(Push Button Configuration):EasyMesh R1 即支持,源自 WPS 思路。用户在 Controller 与 Enrollee(待入网设备)上各按一次物理/虚拟按键,双方通过 1905.1 多播PUSH_BUTTON_EVENT/JOIN互相通告,再走 WSC M1-M8 完成配置。R6 仍保留作为兼容路径。DPP/EasyConnect(Wi-Fi Easy Connect):R2 引入,R4 标准化,R6 进一步强化(新增 DPP AKM)。用 QR 码/URI 引导密钥,做公钥认证 + 加密配置下发,安全性远高于 PBC。EasyMesh 在 DPP 中定义三个角色:Enrollee:待入网设备(带 DPP URI,可显示 QR 码)Configurator:通常是 Controller,签发 Connector、下发网络配置Proxy Agent:通常是 Agent,把 Enrollee 的 DPP 帧通过 1905.1 隧道转发给 Controller(Enrollee 不一定能直接够到 Controller)DPP 帧本身是 802.11 公共动作帧/GAS 帧,EasyMesh 用ENCAP_DPP把它封装进 1905.1 CMDU,让 DPP 能跨多跳网络跑。9.2 关键 TLV / 消息值消息/TLV用途0x000bPUSH_BUTTON_EVENT_NOTIFICATIONEnrollee 按键后多播,宣告"我要入网"0x000cPUSH_BUTTON_JOIN_NOTIFICATIONController 侧按键后多播,回应"我来配你"0x801dDPP_CCE_INDICATIONConfigurator/Proxy 通告 CCE(Configurator/Controller/Enrollee)能力0x8029PROXIED_ENCAP_DPPProxy Agent 把 DPP 帧隧道转发给 Controller0x802aDIRECT_ENCAP_DPP直连场景下 DPP 帧封装(不经 Proxy)0x8031DPP_BOOTSTRAPPING_URI_NOTIFICATION把 Enrollee 的 DPP URI 上报给 Controller0xd2TLV_DPP_CCE_INDICATIONCCE 能力位(ENABLE/DISABLE)0xcdTLV_1905_ENCAP_DPP封装 DPP 帧(含 frame_flags/dest_sta_mac/frame_type/encapsulated_frame)0xcfTLV_DPP_BOOTSTRAPPING_URI_NOTIFICATIONruid + bssid + backhaul_sta_addr + dpp_uri0xd3TLV_DPP_CHIRP_VALUEChirp 通知(Enrollee 发的 DPP 发现 chirp 帧)TLV_1905_ENCAP_DPP的frame_type区分两类 DPP 帧:DPP_PUBLIC_ACTION_FRAME(0)、GAS_FRAME(1)。9.3 抓包验证过滤:ieee1905 (msg.type == 0x801d || msg.type == 0x8029 || msg.type == 0x802a || msg.type == 0x8031),PBC 路径另加msg.type == 0x000b/0x000c。时序要点:Enrollee 按键 → 多播PUSH_BUTTON_EVENT(0x000b)(带 media_type 列表)Controller 按键 → 多播PUSH_BUTTON_JOIN(0x000c)DPP 路径:Enrollee 发 chirp → Proxy Agent 用CHIRP_NOTIFICATION(0x802f)上报 → Controller 与 Enrollee 通过PROXIED_ENCAP_DPP(0x8029)交换 DPP Auth/Config 帧Enrollee 把自己的 DPP URI 通过DPP_BOOTSTRAPPING_URI_NOTIFICATION(0x8031)上报(含 ruid/bssid/backhaul_sta_addr/dpp_uri)9.4 实现要点(代码佐证)prplMesh 在 Agent 侧用proxy_agent_dpp_task处理 DPP 三类入站消息,体现 Proxy Agent 的"转发器"角色:代码佐证:prplMesh/agent/src/beerocks/slave/tasks/proxy_agent_dpp_task.cppswitch(cmdu_rx.getMessageType()){caseieee1905_1::eMessageType::DPP_CCE_INDICATION_MESSAGE:handle_dpp_cce_indication(cmdu_rx);returntrue;caseieee1905_1::eMessageType::CHIRP_NOTIFICATION_MESSAGE:handle_chirp_notification(cmdu_rx);returntrue;caseieee1905_1::eMessageType::PROXIED_ENCAP_DPP_MESSAGE:handle_proxied_encap_dpp(fd,src_mac,cmdu_rx);returntrue;}handle_proxied_encap_dpp按src_mac判向:来自 Controller 的转发给 ap_manager,来自 ap_manager 的转发给 Controller,并按frame_type区分 DPP Auth Request(0) 与 GAS(1):代码佐证:同文件if(src_mac==db-controller_info.bridge_mac){if(encap_1905_dpp_tlv-frame_type()==0){// DPP authentication request → 转给所有 radio 的 ap_managerfor(autoradio:db-get_radios_list()){...forward_cmdu_to_uds(ap_manager_fd,cmdu_rx);}}...}elseif(src_mac==net::network_utils::ZERO_MAC){// 来自 ap_manager(无线侧 chirp 上来),保存 fd 并转发给 Controllerif(encap_1905_dpp_tlv-frame_type()==1)active_onboarding_ap_manager_fd=fd;m_btl_ctx.forward_cmdu_to_controller(cmdu_rx);}DPP URI 上报 TLV 的字段定义(YAML 即协议线格式):代码佐证:prplMesh/framework/tlvf/yaml/tlvf/wfa_map/tlvDppBootstrappingUriNotification.yamltlvDppBootstrappingUriNotification:ruid:sMacAddrbssid:sMacAddr# 收到 URI 的本地接口(= BSSID)backhaul_sta_address:sMacAddr# 收到 URI 的 backhaul STA 地址dpp_uri:char# DPP URI(格式见 Wi-Fi Easy Connect 5.2.1)PBC 的PUSH_BUTTON_EVENT_NOTIFICATIONTLV:代码佐证:prplMesh/framework/tlvf/yaml/tlvf/ieee_1905_1/tlvPushButtonEventNotification.yamltlvPushButtonEventNotification:media_type_list_length:uint8_tmedia_type_list:sMediaType# 含 media_type + 802.11 specific info9.5 认证 Test Case(⚠️待核对)MAP-5.x 系列(R5/R6 Onboarding):⚠️待核对官方 Test Plan 中 PBC 与 DPP 的具体 case 编号重点:DPP Configurator/Proxy/Enrollee 三角色交互、URI 传递、CCE Indication 通告R6 新增 DPP AKM(0x0080)相关 case:⚠️待核对模块 10 Backhaul Management(回程链路管理)10.1 协议原理回程(Backhaul)是 Agent 上联 Controller 的上行链路。EasyMesh 支持三类回程:Wired:以太网回程(最优先,无无线开销)Wireless:Wi-Fi 回程(Agent 的 backhaul STA 关联到上游 AP)1905.1 secure:跨 1905.1 汇聚层的加密回程(用于异构链路安全互通)回程管理包括:链路选择(优先级 Wired Wireless)、回程切换(BACKHAUL_STEERING_REQUEST/RESPONSE)、回程能力查询(BACKHAUL_STA_CAPABILITY_QUERY/REPORT)。R2 起回程安全强制 SAE(见模块 11)。10.2 关键 TLV / 消息值消息用途0x8019BACKHAUL_STEERING_REQUESTController 要求 Agent 把 backhaul STA 引导到指定 BSSID0x801aBACKHAUL_STEERING_RESPONSEAgent 回应引导结果0x8027BACKHAUL_STA_CAPABILITY_QUERY查询 backhaul STA 能力0x8028BACKHAUL_STA_CAPABILITY_REPORT上报 backhaul STA 能力0xcbTLV_BACKHAUL_STA_RADIO_CAPABILITIESbackhaul STA 无线能力0xd0TLV_BACKHAUL_BSS_CONFIGURATION回程 BSS 配置10.3 抓包验证过滤:ieee1905 msg.type in {0x8019, 0x801a, 0x8027, 0x8028}关注:回程切换时 Agent 的 backhaul STA 是否完成"断开旧 BSSID → 关联新 BSSID → 1905.1 拓扑更新"全流程10.4 实现要点(代码佐证)Agent 侧backhaul_manager维护回程 FSM,回程引导有 10s 超时:代码佐证:prplMesh/agent/src/beerocks/slave/backhaul_manager/backhaul_manager.cppconstexprautobackhaul_steering_timeout=std::chrono::milliseconds(10000);conststd::string dev_set_config_backhaul_param="backhaul";// 主 FSM:backhaul_fsm_main() 处理回程连接、切换、断开if(!backhaul_fsm_main(continue_processing)){...}// 注册 BACKHAUL_STEERING_REQUEST 处理ieee1905_1::eMessageType::BACKHAUL_STEERING_REQUEST_MESSAGE,10.5 认证 Test Case(⚠️待核对)回程引导(Wired ↔ Wireless 切换):⚠️待核对 MAP-3.x / MAP-4.x 编号R2 SAE 回程:见模块 11模块 11 Security(SAE / PMF)11.1 协议原理R2 起回程安全强制使用SAE(Simultaneous Authentication of Equals),即 WPA3-Personal 的密钥协商协议。SAE 替代了 WPS/PSK 在回程中的角色,抗离线字典攻击。PMF(Protected Management Frames,IEEE 802.11w):保护单播/组播管理帧(如 dea

相关新闻

2026考研党必看:告别“无效复习”,我用这套免费方案把学习效率翻倍了

2026考研党必看:告别“无效复习”,我用这套免费方案把学习效率翻倍了

考研这条路,我走过,我知道有多苦。 每天抱着厚厚的复习资料,从早到晚泡在图书馆。专业课老师讲课语速飞快,你拼命记笔记,结果发现记下的只是零散的几个词,脑子根本没跟上。回到自习室,看着笔记上…

2026/8/24 14:52:26 阅读更多 →
戏曲苑小程序(1.0版本)

戏曲苑小程序(1.0版本)

戏曲苑小程序(1.0版本) 项目简介 这是一个中国传统戏曲文化展示与传播平台的基础版本,包含微信小程序端和PC管理后台。系统实现了戏曲剧目展示、分类浏览、收藏、评论、科普知识、新闻资讯等核心功能,旨在弘扬中华优秀传统戏曲文化,采用前后…

2026/8/24 14:52:26 阅读更多 →
2027毕业论文AIGC检测怎么免费自查,BunnyCheck、助研君和BunnyScholar实测对比

2027毕业论文AIGC检测怎么免费自查,BunnyCheck、助研君和BunnyScholar实测对比

2027毕业论文AIGC检测怎么免费自查,BunnyCheck、助研君和BunnyScholar实测对比 2027届毕业论文AIGC检测应该如何免费自查?随着高校学术规范治理体系的全面升级,针对学位论文生成式人工智能辅助写作的审查已进入常态化监管阶段。面向 2027 届…

2026/8/24 14:52:26 阅读更多 →

最新新闻

SeetaFace6实战指南:全栈人脸识别工具包从检测到活体的落地路径

SeetaFace6实战指南:全栈人脸识别工具包从检测到活体的落地路径

SeetaFace6实战指南:全栈人脸识别工具包从检测到活体的落地路径 【免费下载链接】SeetaFace6 SeetaFace 6: Newest open and free, full stack face recognization toolkit. 项目地址: https://gitcode.com/gh_mirrors/se/SeetaFace6 做人脸识别最容易踩的坑…

2026/8/24 18:06:08 阅读更多 →
WPF ComboBox数据绑定五种实战方式与避坑指南

WPF ComboBox数据绑定五种实战方式与避坑指南

1. 为什么WPF里的ComboBox数据绑定总让人踩坑?这几种方式我试了三年才理清楚 WPF中的ComboBox控件,表面看只是个下拉选择框,但真把它用顺、用稳、用出生产级质量,没点硬功夫真不行。我带过六支上位机开发团队,从工业PL…

2026/8/24 18:06:08 阅读更多 →
Burp Suite 中文界面 3 分钟跑起来:免费汉化方案,原文件一个字节都不改

Burp Suite 中文界面 3 分钟跑起来:免费汉化方案,原文件一个字节都不改

Burp Suite 中文界面 3 分钟跑起来:免费汉化方案,原文件一个字节都不改 【免费下载链接】BurpSuiteCN-Release BurpSuite汉化发布 项目地址: https://gitcode.com/gh_mirrors/bu/BurpSuiteCN-Release 刚打开 Burp Suite,满屏英文怼到…

2026/8/24 18:06:08 阅读更多 →
UWB测距精度优化:FinalData参数配置与SPI接口实战指南

UWB测距精度优化:FinalData参数配置与SPI接口实战指南

1. 项目概述:从FinalData参数看UWB测距的精度之魂 在汽车数字钥匙的设计中,UWB(超宽带)技术因其厘米级的高精度测距能力,成为了实现无感进入、迎宾和车内活体检测等功能的核心。我们之前聊了很多关于信道、帧结构、物理…

2026/8/24 18:06:08 阅读更多 →
UWB测距FinalData参数解析:从SPI数据到高精度距离的工程实践

UWB测距FinalData参数解析:从SPI数据到高精度距离的工程实践

1. 项目概述:UWB测距中的FinalData参数在汽车数字钥匙的设计中,UWB(超宽带)技术因其厘米级的高精度测距能力,已成为实现无感进入、后备箱一脚踢、车内活体检测等核心功能的关键。整个测距流程,从发起测距请…

2026/8/24 18:06:08 阅读更多 →
Windows驱动开发环境搭建:基于VMware与WinDbg的完整实战指南

Windows驱动开发环境搭建:基于VMware与WinDbg的完整实战指南

1. 项目概述:为什么驱动开发环境如此特殊?搞Windows驱动开发,和写普通应用程序完全是两码事。普通程序崩了,顶多弹个错误框;驱动要是写崩了,蓝屏(BSOD)是家常便饭,严重时…

2026/8/24 18:05:07 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →