
蓝牙传输数据安全吗claude-desktop-buddy LE Secure Connections 配对与 AES-CCM 加密完整指南【免费下载链接】claude-desktop-buddyReference and an example for the Bluetooth API for makers in Claude Cowork Claude Code Desktop项目地址: https://gitcode.com/gh_mirrors/cl/claude-desktop-buddyclaude-desktop-buddy 让 Claude 桌面应用通过蓝牙低功耗BLE连接 ESP32 硬件设备把会话状态、审批提示推送到桌面宠物上。本文用通俗语言讲清楚这条蓝牙链路上传输的数据安不安全、LE Secure Connections 配对如何建立、AES-CCM 加密从哪一步开始生效以及自建设备时该做的安全检查。读完你不需要读源码也能建立完整的安全认知。蓝牙传输数据安全吗先看链路上跑了什么在评估安全之前先了解这条链路上传了什么。根据 REFERENCE.md 的协议定义桌面端会持续推送心跳快照会话数、运行状态、最近几行对话摘要transcript entries️工具调用提示例如待审批的Bash命令内容hint 字段文件夹推送把 GIF 角色包等文件经 base64 编码流式传到设备问题在于transcript 片段和工具提示是明文 JSON。如果不做任何加密同处无线电范围内的任何人都可以用一个几十元的 nRF 蓝牙嗅探器把你的对话摘要看个一清二楚。这就是为什么官方参考实现默认强制加密——这正是本文后半部分的主角LE Secure Connections 配对与 AES-CCM 链路加密。LE Secure Connections 配对6 位配对码如何建立加密链路配对流程四步走参考实现把设备标记为DisplayOnly仅显示IO 能力即设备负责显示配对码桌面端负责键盘输入首次 GATT 访问触发系统配对——设备把 NUSNordic UART Service特征值设为仅加密可访问桌面端一旦读写就会自动触发操作系统级配对协议栈随机生成6 位数字配对码显示在设备屏幕上见 src/main.cpp 的drawPasskey()绘制逻辑桌面端弹窗提示用户把 6 位码在电脑上输入并确认双方完成密钥交换链路进入AES-CCM 加密状态在 Claude 桌面端发起配对配对入口在开发模式里两步就能打开配对窗口菜单Help → Troubleshooting → Enable Developer Mode菜单Developer → Open Hardware Buddy…点击Connect从扫描列表中选择设备第一次连接时操作系统会请求蓝牙权限授予即可。配对窗口中还能看到设备状态面板和文件夹拖放目标后续连接免打扰首次配对成功后设备 NVS 中会保存LTK链路密钥。之后每次重连都直接复用 LTK不再弹出配对码——这就是配对一次长期加密的体验。AES-CCM 加密与防中间人关键配置逐项拆解配对只是手段安全的核心是这三项配置可在 src/ble_bridge.cpp 中找到对应实现配置项参考实现取值安全作用加密级别ENCRYPT_MITM防中间人攻击配对码比对确保你连的是真设备认证模式SC_MITM_BONDLE Secure Connections 绑定BondingIO 能力DisplayOnly设备显示配对码键盘输入在可信一侧密钥长度16 字节最大密钥越长离线暴力破解越困难特征值权限仅加密读写未配对就一个字节都读不到为什么是 AES-CCMBLE 链路层使用AES-CCMCounter with CBC-MAC模式它同时提供机密性——数据被 AES 加密嗅探器只看到乱码✅完整性——CCM 的 MAC 校验保证数据没被篡改⏱️抗重放——配合链路层计数器防止旧数据包被重放配对完成的那一刻onAuthenticationComplete成功链路即切换到加密态此后心跳快照、审批请求、文件推送全部在 AES-CCM 保护下传输。如何验证加密真的生效了两个可操作的验证点看sec字段——设备每次响应status命令时都会上报sec: true见 src/xfer.h表示当前链路已加密未绑定的设备则返回false或省略该字段看状态屏——设备信息屏会显示ble encrypted或OPEN见 src/main.cpp一眼分辨加密与否解绑Unpair换电脑或怀疑被克隆时桌面端点击Forget会发送{cmd:unpair}设备收到后调用bleClearBonds()清空 NVS 中所有已存绑定见 src/ble_bridge.cpp。下一次配对会生成全新的配对码和 LTK——这是处理设备转手、怀疑密钥泄露的标准动作。自建设备安全检查清单 ✅自己用 ESP32/nRF52/Raspberry Pi 实现这个 BLE 协议时对照 REFERENCE.md 的Security and pairing一节逐项检查NUS 服务、RX/TX 特征值及 TX CCCD 全部设为encrypted-only广播DisplayOnlyIO 能力启用SC MITM Bond密钥长度设为最大值 16在 status ack 中如实上报sec字段实现unpair命令以清除绑定若支持文件夹推送校验文件路径拒绝..和绝对路径防止目录穿越覆盖设备文件桌面端同时兼容加密与未加密设备但你的设备应拒绝未加密连接总结蓝牙数据安全吗结论一句话默认不安全配置对了才安全。❌ 裸 BLE 传输 明文 JSON任何附近的嗅探器都能读到对话摘要✅ 启用LE Secure Connections MITM 配对 AES-CCM 机密、完整、可验证的链路且重连自动复用密钥 定期用unpair轮换绑定是低成本高收益的安全习惯想深入了解完整协议UUID、JSON 字段、心跳与推送时序推荐通读 REFERENCE.md 和配套说明文档 docs/manual.html——那才是自建设备前真正需要的地图。【免费下载链接】claude-desktop-buddyReference and an example for the Bluetooth API for makers in Claude Cowork Claude Code Desktop项目地址: https://gitcode.com/gh_mirrors/cl/claude-desktop-buddy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考