构建射频层身份泄漏检测与隐私门控)
RuView BFLD 深度解析以波束成形反馈Beamforming Feedback构建射频层身份泄漏检测与隐私门控【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuViewBFLDBeamforming Feedback Layer for Detection是 RuView / wifi-densepose 生态中的一项射频层隐私原语它把 802.11ac/ax 上以明文传输的波束成形反馈BFI当作传感信号 泄漏信号双重使用通过identity_risk_score量化当前捕获窗口是否足以识别具体个人并用privacy_class在字节级结构上门控身份相关数据的外发。本文以架构决策 ADR-118 为主干融合其五个子 ADR119–123与v2/crates/wifi-densepose-bfld/中的真实实现讲解 BFLD 的动机、三条结构性隐私不变量、9 大特征、身份风险评分、逐字节隐私分类、MQTT/Matter/HA 暴露边界以及 Pi 5/Nexmon 捕获路径。读完你可掌握这套非策略式structural隐私保障设计如何在普通 WiFi 设备上落地以及如何在当前仓库中查阅、构建与验证它。1. 背景明文 BFI 是 RuView 管道中未被测量的泄漏面1.1 明文 BFI 问题IEEE 802.11ac / 802.11ax 的波束成形反馈BFIBeamforming Feedback Information在客户端STA与接入点AP之间以未加密的管理面帧交换。STA 把信道响应压缩成 Givens 旋转角度矩阵Φ/ψ以 VHT/HE Compressed Beamforming ReportCBFR的形式发出。任何处于 WiFi monitor 模式、且未加入该网络的第三方设备都能被动嗅探这些帧。ADR-118 §1.1 引用了两篇 2024–2025 年的独立研究结果来说明该暴露的严重程度BFIdKITACM CCS 2025仅凭 BFI 即可在 5 秒捕获内以 90% 的准确率对 197 名个体完成重识别LeakyBeamNDSS 2025仅使用明文 BFI 即可在 20 m 距离隔墙检测占用TPR 82.7% / TNR 96.7%。更关键的是捕获工具链完全免费可得可 pip 安装的Wi-BFI、PicoScenes、面向 BCM43455c0Raspberry Pi 5 / 4 / 3B的Nexmon BFI patches。也就是说从空气中采下可用于身份识别的 BFI已无任何门槛。1.2 现有 RuView 管道的缺口wifi-densepose / RuView 管道经由 rvCSI 运行时ADR-095、ADR-096处理 CSI产出 presence、pose、vitals、zone-activity 事件。但 ADR-118 明确指出管道中没有任何一层去度量它正在处理的数据是否具备识别个体的能力——无论运行在什么 regime 下所有 CSI 在隐私意义上都被等同对待。当部署规模扩大养老院、酒店、共享办公室、出租物业这一缺口就变成合规与责任问题操作者没有任何仪表可以验证系统确实工作在匿名状态。这正是 BFLD 诞生的原因。1.3 BFI 的另一面它也是一种传感信号值得注意BFI 不只是一个威胁向量。其压缩角度矩阵携带多径几何信息可用于 presence 与 motion 检测——尤其适合没有 MIMO CSI 可用的单 AP 部署。因此 BFLD 把 BFI 当作 CSI 之外的可选输入而非替代品。1.4 与 Soul Signature 研究的关系仓库中的docs/research/soul/Soul Signature定义了一套基于同意的7 通道多模态生物特征用于对登记个体做被动重识别。BFLD 与它恰好互补关注点Soul SignatureBFLD意图为已登记人员创建生物特征度量并门控同一传感基底上的身份泄漏同意模型显式登记GDPR/HIPAA 模式默认拒绝default-deny所有未登记人员运行类别必须运行在privacy_class 1derived默认 class 2anonymous共享资产AETHER 编码器ADR-024、WitnessChainADR-110/028、RVF 容器、cross_room.rsADR-030相同ID 空间每个登记个体一个长生命周期不透明person_id每个未登记个体每天轮换的rf_signature_hash在职责划分上BFLD 是 Soul Signature 的执行层enforcement layeridentity_risk_score决定某个 zone 是否泄漏度高到足以登记witness bundle 是对监管方的审计制品而结构性隐私不变量I1/I2/I3确保即使在没有 Soul Signature 积极匹配登记者的 zone 里未登记旁观者依然保持匿名。1.5 这个 ADR 不是什么不是对 CSI 管道的替换——rvCSIADR-095/096仍对 CSI 权威负责不是把任何外部嗅探器搬进仓库——Nexmon 捕获路径在独立适配器中见 ADR-123不是 Matter SDK 发布物——Matter 暴露要经过 ADR-116cog-ha-matter边界过滤。2. 决策新建 Rust cratewifi-densepose-bfldADR-118 的核心决策是在v2/crates/下新建 cratewifi-densepose-bfld职责如下**摄取Ingest**来自 CBFR 帧的 BFI 角度矩阵Φ/ψ可选与 CSI 融合**计算Compute**九大命名特征与identity_risk_scoreseparability × temporal_stability × cross_perspective_consistency × sample_confidence门控Gate所有输出经由一个privacy_class字节在 class 2anonymous与 class 3restricted下结构性阻止身份相关数据的发布**发布Emit**以 JSONBfldEvent形式经 MQTT 发到ruview/node_id/bfld/*并按 class 路由 topic三条不变量用结构而非策略来强制I1原始 BFI 绝不离开节点I2身份嵌入仅驻留内存不上盘、不上网I3通过按站点密钥化的 BLAKE3 哈希、以日纪元轮换使跨站点身份关联在密码学意义上不可能。这套伞形决策被拆解为五个子 ADR子 ADR范围ADR-119BfldFrame线格式、magic0xBF1D_0001、确定性序列化、CRC32ADR-120privacy_class语义、BLAKE3 哈希轮换、default-deny 字段分类ADR-121身份风险评分公式、coherence gate、泄漏估计器ADR-122RuView 表面HA 实体、Matter cluster 边界、MQTT topic ACLADR-123捕获路径Pi 5/Nexmon 适配器 ESP32-S3 BFI 可行性2.1 提议的 crate 模块布局ADR-118 §2.1 给出如下设计布局v2/crates/wifi-densepose-bfld/ ├── Cargo.toml └── src/ ├── lib.rs ├── frame.rs # BfldFrame (ADR-119) ├── extractor.rs # CBFR parser → BfiCapture ├── features.rs # 9 features ├── identity_risk.rs # risk score (ADR-121) ├── privacy_gate.rs # privacy_class enforcement (ADR-120) ├── hash_rotation.rs # BLAKE3 per-site rotation (ADR-120) ├── emitter.rs # BfldEvent → MQTT ├── mqtt.rs # topic routing (ADR-122) └── ffi.rs # PyO3 bindings (ADR-117 pattern)仓库实现现状该 crate 已在 v2/crates/wifi-densepose-bfld/src/lib.rs 落地并保持no_std兼容内核。从lib.rs的模块声明可看到实现与设计基本一致且粒度更细frame、identity_risk、privacy_gate、signature_hasher、sinkI1 的 marker-trait 层级、coherence_gate含SoulMatchOracle、embedding/embedding_ringI2 的环形缓冲、emitter、mqtt_topics、ha_discovery、rumqttc_publisher、event等。lib.rs 头注释也如实记录了演进状态P1 in progress — frame format sink marker traits. P2–P6 follow并注明 Soul Signature 匹配算法soul_match/soul_channels已实现并通过测试但命名身份锁定仍处于>pub trait Sink {} pub trait LocalSink: Sink {} // Allowed: classes 0,1,2,3 pub trait NetworkSink: Sink {} // Allowed: classes 1,2,3 (NOT class 0) pub trait MatterSink: NetworkSink {} // Allowed: class 2,3 cluster-filter (ADR-122) impl Emitter { pub fn publishS: NetworkSink(self, sink: S, frame: BfldFrame) - Result(), BfldError { if frame.header.privacy_class 0 { return Err(BfldError::PrivacyViolation { reason: class 0 to NetworkSink, }); } // ... serialize and write } }配合序列化端 ADR-119 §2.3 的规则class 0 帧若通过NetworkSink::publish()发布会返回BfldError::PrivacyViolation跨 sink 转发必须走显式的 class 转换见 3.4。3.2 I2 的落地身份嵌入的生命周期身份嵌入AETHER 编码器输出ADR-024被保存在一个subtle::Zeroizing[f32; 128]的 64 槽环形缓冲中约 30 KB。其生命周期规则为每个捕获窗口由编码器写入仅供identity_risk_score计算消费ADR-121绝不写入磁盘、MQTT 或任何 I/O sink——类型上没有Serialize实现环形缓冲按 FIFO 覆写。此外对IdentityEmbedding施以编译期#[forbid(serde::Serialize)]lint确保未来的 PR 无法偷偷加一个Serializederive。这与实现中 lib.rs 所述noSerialize/Clone/CopyDropzeroizes storage完全吻合。3.3 I3 的落地BLAKE3 keyed 哈希轮换I3 需要一种哈希轮换方案让同一个物理个体在不同站点、跨日边界产生不同的rf_signature_hash且站点间无需任何带外协调。ADR-120 §2.3 给出核心函数pub fn rf_signature_hash( site_salt: [u8; 32], // 首次启动生成持久化于 TPM/KMS day_epoch: u32, // floor(unix_time_utc / 86400) features: IdentityFeatures, ) - Hash { let mut hasher blake3::Hasher::new_keyed(site_salt); hasher.update(day_epoch.to_le_bytes()); hasher.update(features.canonical_bytes()); hasher.finalize() }结构性跨站点隔离site_salt是每个节点独有的 256 位随机秘密、从不传输。两个站点观测同一个人产生的哈希互不相关操作者或攻破单个节点的攻击者都没有可用于跨站点桥接的密钥。这比策略上约定不共享更强因为桥接在计算上不可构造。日轮换day_epoch在 UTC 午夜翻转迫使同一人的哈希每天变化一次。跨天关联需要重新采集生物特征而轮换主动打断了这一点。ADR-120 还权衡过按小时轮换会破坏合法的早晨在、下午又回来运营场景与逐事件 nonce会迫使消费者在会话内跟踪同一人反而在结构上泄漏身份最终日边界是折衷方案。3.4 单向 class 转换与 default-deny 字段治理只降不升高层级帧想变成更低泄漏的帧唯一途径是PrivacyGate::demote(frame, target_class)——断言目标 class 编号 ≥ 输入、用subtle::Zeroize清零被禁止字段、重算payload_crc32、返回新帧。没有 promote 操作class-2 帧不可能变回 class-1因为被丢弃的字段在 gate 可达的范围内没有留存实现见v2/crates/wifi-densepose-bfld/src/privacy_gate.rs测试见tests/privacy_gate_demote.rs与tests/event_gating_irreversibility.rs。#[must_classify]宏BfldFrame/BfldEvent的每个新增字段必须带此自定义属性宏若字段未列入按 class 划分的 allow-list 表编译直接失败。这迫使贡献者对每个新字段做出显式的隐私决策杜绝新字段上线六个月后才发现泄密的常见模式。4. 计算引擎九大特征与identity_risk_scoreADR-118 将identity_risk_score定义为四个因子的乘积。其完整机制由 ADR-121 定义identity_risk_score有两个消费者操作者作为 HA 诊断传感器暴露ADR-122。相对长期基线出现尖峰意味着 RF 环境已滑向更高泄漏 regime新 AP 固件、更密集的 MIMO、范围内出现攻击者级嗅探器隐私门控ADR-120当分数跨过可配置阈值时gate 自动把活动的privacy_class降级例如 2 → 3直到分数恢复。4.1 九大特征特征在一个W 32帧的滑动窗口上计算10 Hz 下约 3 秒特征定义来源模块mean_angle_delta各子载波上 ‖ Φ_t − Φ_{t-1} ‖ 的均值extractorsubcarrier_variance子载波轴上 ‖ Φ ‖ 的方差extractortemporal_entropyW 窗口内角度 bin 直方图的香农熵extractordoppler_proxy均值角度时间序列的 FFT 峰值幅度features.rspath_stability1 − ‖ Φ_t − median(Φ_{t-W..t}) ‖ / scalefeatures.rscross_antenna_correlationn_tx × n_rx 对间的均值 Pearson 相关features.rsburst_motion_score高通滤波后的角速度软阈值化features.rsstationarity_score1 − W/2 与 W 窗口间的滚动 KL 散度features.rsidentity_separability_score与最近 AETHER 聚类质心的 top-1 余弦identity_risk.rs前八个是传感特征也被 presence/motion 管道使用只有第九个依赖 AETHER 嵌入因此要求identity_class 1。4.2 乘法式风险公式pub fn identity_risk_score( sep: f32, // identity_separability_score, [0, 1] stab: f32, // temporal_stability, [0, 1] ema(path_stability, alpha0.1) consist: f32,// cross_perspective_consistency, [0, 1] multistatic.rs conf: f32, // sample_confidence, [0, 1] f(SNR, n_subcarriers, n_rx) ) - f32 { // Clamp inputs, then multiplicative combination — any factor near 0 dominates. let s sep.clamp(0.0, 1.0); let t stab.clamp(0.0, 1.0); let p consist.clamp(0.0, 1.0); let c conf.clamp(0.0, 1.0); (s * t * p * c).clamp(0.0, 1.0) }选乘法组合的意图是任一弱因子都主导结果——例如 SNR 很低导致conf很低分数就塌向 0。这与隐私目标一致系统不确定时分数应偏低操作者不必被惊扰宁可漏报、不可误报。实现对应的评分函数与GateAction位于 identity_risk.rs测试见 tests/identity_risk_score.rs。4.3 校准与量化目标分数以 KIT BFId 数据集的保留测试集为基准对照真实重识别成功率做校准用分段线性 isotonic regression 把原始分数映射到校准后的[0,1]使score ≥ 0.8对应校准数据集上5 秒窗口内 80% 重识别准确率。校准参数独立于代码版本存放在v2/crates/wifi-densepose-bfld/data/risk_calibration.toml——回归更新是一次纯内容 PR无需重编译。边界ADR-121 如实标注——校准依赖 KIT BFId 数据集非商业研究协议在拿到数据前分数只作为内部触发器不是可发布信号。4.4 Coherence gate 与迟滞coherence gate 消费风险分数并输出四种动作实现于 coherence_gate.rspub enum GateAction { Accept, // score 0.5, publish normally PredictOnly, // 0.5 score 0.7, publish but flag confidence Reject, // 0.7 score 0.9, drop the event Recalibrate, // score 0.9, drop AND rotate site_salt }Recalibrate会触发强制 site-salt 轮换是对持续高风险 regime如攻击者级嗅探器进入范围的激进自愈响应代价是长期聚合分析的连续性中断。为防止阈值附近的振荡gate 采用 ±0.05 迟滞 5 秒防抖分数必须越过迟滞边距并持续整个防抖窗口动作才会切换。4.5 计算预算与 Soul Signature 豁免阶段目标延迟实现特征提取8 特征每窗口 3 msndarray nalgebra子载波向量化可分性到质心余弦每窗口 5 msRuVector RaBitQ 索引≤1k 质心风险分数0.1 ms标量乘法gate 决策 迟滞0.1 ms标量Pi 5 单核上整窗 p95 ≤ 10 ms目标 8 ms。ESP32-S3 只承载提取阶段风险评分在主机侧完成ADR-123。由于 Soul Signature 本身刻意工作在高可分性 regime其 60 秒登记协议就是要把identity_separability_score推向 1.0默认 gate 会在其 zone 内频繁触发Recalibrate而破坏登记。ADR-121 §2.6 的两个集成点解决此问题Recalibrate 豁免触发前查询SoulMatchOracle若高分簇与已登记person_id匹配成功则降级为PredictOnly未启用soul-signaturefeature 时 oracle 为 no-op stub行为同默认登记质量门槛Soul Signature 仅在score ENROLL_MIN默认 0.65持续满 60 秒时才继续登记中途掉线即中止并提示重试。豁免是不对称的只压制已知登记匹配的Recalibrate未知的高可分性簇仍按设计触发。5. 帧格式与线协议ADR-119 核心细节BfldFrame必须满足五条硬要求确定性相同输入 → 逐位相同输出witness 哈希可存活验证、自描述magic version、字节级隐私分类接收端在解析 payload 前就知道数据类别以便丢弃无权处理的帧、紧凑节点最高 10 Hz 发射须适配未分片 MQTT 与 ESP-NOW、字节序稳定x86_64 的 ruvultra、aarch64 的 cognitum-v0/Pi 5 集群、Xtensa 的 ESP32-S3 必须产出相同字节。5.1 86 字节定长头ADR-119 §2.1 定义了 packed、little-endian 头。值得记录的是早期草稿把头部写成 40 字节那是 P1 脚手架阶段发现的计数错误——实现中由const_assert_eq!强制为准确的86 字节在 x86_64、aarch64、xtensa-esp32s3 三平台均如此见 frame.rs 的BFLD_HEADER_SIZE校验。magic 常量BFLD_MAGIC: u32 0xBF1D_0001也在该文件真实存在——bf1d在 hex-dump 中读作 BFLD方便 wireshark/xxd 调试。头字段包含magic、version、flagsbit0has_csi_delta、bit1privacy_mode、bit2-15 保留、timestamp_ns、ap_hash[16]、sta_hash[16]、session_id[16]、channel、bandwidth_mhz20/40/80/160、rssi_dbm、noise_floor_dbm、n_subcarriers、n_tx、n_rx、quantization0f32、1i16、2i8、34-bit nibble packed、privacy_class0–3默认 2、payload_len、以及仅覆盖 payload 字节的payload_crc32CRC-32/ISO-HDLC。5.2 Payload 与确定性序列化Payload 是定序的类型化 section 序列payload compressed_angle_matrix ‖ amplitude_proxy ‖ phase_proxy ‖ snr_vector ‖ optional_csi_delta (present iff flags.bit0 set) ‖ optional_vendor_extension (length 0 allowed)每个 section 是[u32 len_le][bytes...]CRC32 覆盖所有 section 字节含长度前缀不含头。确定性由三点保证字段顺序由#[repr(C, packed)]固定浮点量化采用规范化的 round-half-to-even 文档化饱和quantization0 的 f32 禁止上线仅限本地CRC32 在全部 section 字节就位后最后计算。ADR-119 还提到 witness 确定性测试tests/determinism.rs用 200 帧 BFI fixture在两个线程上把同一字节流序列化 1,000 次验证所得流的 BLAKE3 逐位一致。当前仓库的 tests/pipeline_determinism.rs、tests/frame_header_size.rs、tests/serialization_throughput.rs 等即对应这批验收目标。5.3 为什么不用现成序列化格式ADR-119 §4 逐一否决了 Protobuf/FlatBuffersschema 演进开销、跨 protoc 版本的 witness 哈希不稳定、对小而形状固定的字段约 3× 线膨胀、CBOR确定性可达成但解析面大、tag 处理对 no_std ESP32 路径是坑、可变宽度 magic / 无 magic共享传输上必须能区分 BFLD 帧与 rvCSICsiFrame及其他 RuView payload、CRC 放头部CRC 须在 payload 之后计算放头会导致写头时倒带 buffer。6. 暴露表面HA 实体、Matter 边界与 MQTT topic 路由ADR-122ADR-115 已在wifi-densepose-sensing-server上交付了 RuView 的 HA 表面21 个实体、MQTT 自动发现、mTLS、隐私模式ADR-116 将其打包为cog-ha-mattercog。BFLD 的集成必须在不扩大既有隐私暴露面的前提下完成四条原则是扩展 HA-DISCO 发布 BFLD 实体在 Matter 边界拒绝身份字段按 privacy class 路由 MQTT topicclass-2/3 进公开树、class-1 进受控research/子树、class-0 哪都不去跨节点联邦事件在发布节点边界剥离身份派生字段而非在联邦枢纽。6.1 每节点新增六个 HA 实体Entity ID类型来源字段Class 门槛诊断用binary_sensor.node_bfld_presenceoccupancyBfldEvent.presence≥2否sensor.node_bfld_motiongauge[0,1]BfldEvent.motion≥2否sensor.node_bfld_person_countintBfldEvent.person_count≥2否sensor.node_bfld_zone_activityenumBfldEvent.zone_activity≥2否sensor.node_bfld_identity_riskgauge[0,1]BfldEvent.identity_risk_score2 only是sensor.node_bfld_confidencegauge[0,1]BfldEvent.confidence≥2是identity_risk仅在 privacy class 2 下暴露且打上entity_category: diagnostic让 HA 仪表盘默认不把它提升为主卡传感器class 3 下它被计算但不发布。6.2 MQTT topic 树与 Mosquitto ACLruview/node_id/bfld/presence/state # class 2 ruview/node_id/bfld/motion/state # class 2 ruview/node_id/bfld/person_count/state # class 2 ruview/node_id/bfld/zone_activity/state # class 2 ruview/node_id/bfld/confidence/state # class 2 ruview/node_id/bfld/identity_risk/state # class 2 only ruview/node_id/bfld/raw # class 1, OFF by default ruview/node_id/bfld/availability # online/offline markerrawclass-1 derived BFI根本不进入discovery payload操作者必须显式订阅并知晓 research-mode 告诫privacy_class 1时发布端在 availability 上发MQTT_RAW_DISABLED。# Default-deny everything not explicitly granted pattern read ruview//bfld//state pattern read ruview//bfld/availability # Public roles cannot read identity_risk or raw user public deny read ruview//bfld/identity_risk/state deny read ruview//bfld/raw # Operator role can read identity_risk for diagnostics user operator allow read ruview//bfld/identity_risk/state # Research role can read raw (requires class-1 operation) user research allow read ruview//bfld/raw该 ACL 模板随 cog 以cog-ha-matter/etc/mosquitto.acl.d/bfld.conf提供。仓库当前 mqtt_topics.rs 与 tests/mqtt_topic_routing.rs、tests/mosquitto_integration.rs需要BFLD_MQTT_BROKERtcp://localhost:1883环境变量解锁 live-broker 套件即对应本节的 topic 与 ACL 逻辑。6.3 Matter 边界结构性窄化cog-ha-matter仅通过三个 Matter cluster暴露 BFLDMatter cluster来源实体说明Occupancy Sensing (0x0406)binary_sensor.node_bfld_presence报告二值占用 uncertainty由confidence映射Boolean State (0x0045)sensor.node_bfld_motion 0.3阈值化原始 motion 不暴露Occupancy Sensing extensionsensor.node_bfld_person_count使用 occupancy-sensor 的 count明确不经过 Matteridentity_risk_score、rf_signature_hash、identity_embedding、rawBFI、zone_activityzone ID 是站点相关的而 Matter 是跨站点表面、confidence仅 HA 诊断。理由在 ADR-122 §4 Alt 1 说得很清楚Matter 是跨厂商表面把身份风险分数放上去等于把分数泄漏给家中每一个 Matter controller包括操作者无法控制的第三方 hub。过滤由MatterSinktrait 实现以编译期拒绝 class 0/1 帧。6.4 联邦边界与 witnessBFLD 事件经cognitum-rvf-agent端口 9004进入跨节点联邦但到达枢纽时已是 class-2/3——身份派生字段已在各发布节点被剥离。联邦合约发布节点按 ADR-120 剥离 class-0/1 字段并每日轮换rf_signature_hash用节点 Ed25519 密钥签名事件枢纽只做计数聚合、不跨站关联哈希、验签并拒收未签名事件。一个federation-witness脚本扩展 ADR-028每晚在枢纽运行证明过去 24 小时收到的任何事件里没有出现 class-0/1 字段。6.5 随 cog 交付的 HA blueprints仓库中可查到的三份 BFLD blueprint 位于 v2/crates/cog-ha-matter/blueprints/bfld/附 READMEpresence-lighting.yamlpresence ⇒ 开/关灯 可配置保持时间、motion-hvac.yamlmotion 0.3 ⇒ 提高 HVAC 设定点 ΔT、identity-risk-anomaly.yamlidentity_risk 超过滚动 z-score 阈值 ⇒ HAnotify.*告警附来源节点与 7 天基线。启用--features soul-signature时另加登记人员到店通知等 class-1-only 实体见 ADR-122 §2.7但这些实体永不经过 Matter。7. 捕获路径Pi 5/Nexmon 是唯一完整通道ADR-123BFLD 要回答的硬件问题是在什么硬件上、用什么适配器、顶着什么固件限制去捕获。结论有三个层次详见 ADR-123ESP32-S3/C6 抓不了 CBFREspressif WiFi API 暴露 CSI 捕获esp_wifi_set_csi_*但不暴露 monitor 模式下对非本地址 CBFR 管理帧的原始捕获。S3 只能看到自己 AP-link 生成的 CBFR作为 beamformer 时无法混杂嗅探邻居 STA/AP 对之间的 CBFR。生产捕获主机是 Pi 5/NexmonrvCSI 平台ADR-095/096已 vendor 了面向 BCM43455c0Pi 5/4/3B的 Nexmon 适配器rvcsi-adapter-nexmonNexmon 补丁把 CSI 与 CBFR 一起暴露到用户态BFI 只是同一代码路径的不同 filter。cognitum-v0舰队中的 Pi 5已在跑 Nexmon rvCSI 运行时是天然的 BFLD 主机。适配器模式wifi-densepose-bfld定义BfiCaptureAdaptertraitcapture() - ResultOptionBfiCapture, _capabilities()首批三个实现为NexmonBfiAdapter生产、Ax210BfiAdapterLinux AX210 monitor 模式训练/开发如 ruvultra、MockBfiAdapter测试 fixture 回放。捕获侧隐私边界由结构保证适配器必须与 BFLD crate 的 extractor 与 privacy gate同机且 trait没有任何接收远程 URL/socket 的方法——明文禁止远程主机流式传原始 BFI的架构形态未来 PR 也无法偷偷加进一条远程捕获代码路径。各硬件档位的角色分工档位角色BFI 捕获CSI 捕获备注ESP32-S3 / C6传感叶子否是继续为既有管道供 CSIPi 5 / NexmonBFLD 主机是是经 Nexmon主捕获路径ruvultraRTX 5080 AX210训练 / 开发是AX210 monitor 模式是开发捕获非生产cognitum-v0Pi 5一体机是生产是生产 BFLD 主机无 Pi 5 的场景退化为 ESP32-S3self-reporting 降级模式只捕获自身 AP-link 的 CBFR、只算 presence motion、不出identity_risk_score、以privacy_class 2flags.bit3 self_only发射——价值有限因为只测自己无法有意义地度量身份泄漏。8. 影响评估正面 / 负面 / 中性正面wifi-densepose 生态中第一个显式、可审计的射频层隐私原语identity_risk_score一值两用同时作为隐私门控的结构性输入与异常信号突增尖峰 → 新 AP 固件 / 附近攻击者级嗅探器 / 异常传播BFI 融合增强单 AP 部署下的 presence/motion确定性帧哈希把 ADR-028 的 witness-bundle 模式扩展到新表面跨站点隔离是结构性的而非策略依赖——比 ACL 更强的保证。负面ESP32-S3 无法直接经 Espressif WiFi API 捕获 CBFR完整 BFLD 管道需要 Pi 5/Nexmon 主机嗅探器identity_risk_score校准依赖 KIT BFId 数据集非商业研究协议估算工作量约10.5 工程师周横跨六个 ADR。中性BFLD不能阻止外部攻击者被动捕获 BFILeakyBeam 级别的威胁依旧存在——它只保证节点自身输出不可识别个体操作者必须理解这一区别日哈希轮换会打断跨天对个体签名的关联分析——对隐私目标是可接受的但可能出乎分析场景的意料。9. 备选方案为何被否决备选否决理由Alt 1完全跳过 BFI仅 CSI给 CSI 管道留下身份泄漏缺口随 Wi-BFI、PicoScenes 等工具普及缺少隐私层对操作者越发刺眼Alt 2默认公开identity_risk_score分数本身是隐私敏感的时间相关性会暴露存在性默认 opt-inAlt 3云端对原始 BFI 做 ML违反 I1离节点存储角度矩阵即可重建身份画像Alt 4在入口对 BFI 注入差分隐私噪声推迟到后续 ADR——DP 灵敏度分析与identity_risk_score校准的相互作用尚未完成当前设计用结构性不可能而非噪声实现隐私ADR-121 对评分公式同样做过备选权衡加法式(stpc)/4在高可分性但低置信样本上会过高报告风险取 max 式会因任一高因子而钉住输出、过度报告学习式 MLP 因输出无法从第一性原理审计被否逐特征阈值会把连续分数切碎成九个二值判断且无法支撑 HA gauge 实体与下游校准。10. 验收标准如何在仓库里验证这些设计ADR-118 §5 给出了伞形验收标准AC1–AC7覆盖解析带宽与 MIMO 尺寸、p95 延迟、motion 发布频率、原始 BFI 零出现、身份字段缺席、确定性哈希、无 CSI 的纯 BFI 模式。更细的标准分散在 ADR-119123例如 ADR-120 的 AC2 要求两个不同site_salt的节点观测同一个人时100 次试验中rf_signature_hash的 Hamming 距离 ≥ 120 bitADR-121 的 AC4 要求分数 ≥0.9 持续 ≥5 秒触发RecalibrateADR-123 的 AC1 要求NexmonBfiAdapter在 Pi 5 上对 2-AP-3-STA 测试台每分钟捕获 ≥100 个有效 CBFR 帧。对实现现状感兴趣的读者可以直接在仓库中做只读验证构建与测试# 查看 crate 说明与示例 cargo run -p wifi-densepose-bfld --example bfld_minimal # 进程内消费者 cargo run -p wifi-densepose-bfld --example bfld_handle # 工作线程 HA-DISCO # 运行测试no_std 内核 / 默认 stdserde-json / 带 mqtt cargo test -p wifi-densepose-bfld --no-default-features cargo test -p wifi-densepose-bfld cargo test -p wifi-densepose-bfld --features mqtt # 含 rumqttc smoke设置BFLD_MQTT_BROKERtcp://localhost:1883可解锁 live-broker 集成套件见 tests/mosquitto_integration.rs。可重点翻阅的测试包括tests/sink_enforcement.rsclass-0 禁上网、tests/event_privacy_gating.rs/tests/event_gating_irreversibility.rsclass 门控与不可逆、tests/pipeline_determinism.rs确定性、tests/pipeline_i3_isolation.rs跨站隔离、tests/ha_discovery.rs/tests/ha_blueprints.rs、tests/motion_publish_rate.rs、tests/frame_header_size.rs等。11. 分阶段发布路线阶段ADR范围工作量P1119帧格式 extractor 桩1.5 wkP2121特征 identity_risk_score2.0 wkP3120隐私门 哈希轮换1.5 wkP4122(a)MQTT emitter HA discovery1.5 wkP5122(b)cog-ha-matter中的 Matter cluster 边界1.5 wkP6123Pi 5/Nexmon 捕获适配器2.5 wk合计10.5 wk从当前仓库状态看P1 的帧格式与 sink marker 类型已在 v2/crates/wifi-densepose-bfld/ 落地并有成体系测试后续阶段特征、门控、HA/Matter 暴露、Nexmon 适配器仍在推进中——crate README 与 lib.rs 头注释标注了各 feature flag 与模块的当前实现边界读者可据此跟踪进展。12. 关联资料导航伞形决策ADR-118本文主体五个子 ADRADR-119帧/线协议、ADR-120隐私 class 与哈希轮换、ADR-121风险评分与 coherence gate、ADR-122HA/Matter/MQTT 表面、ADR-123捕获路径研究包docs/research/BFLD/11 个文件、约 13,500 词的完整设计卷宗含威胁模型、隐私门控、实现计划与评估基准伴侣研究docs/research/soul/Soul Signature 多模态生物特征实现v2/crates/wifi-densepose-bfld/crate 源码、示例与全套测试、v2/crates/cog-ha-matter/blueprints/bfld/HA blueprints上游生态参照ADR-024AETHER 编码器、ADR-095rvCSI、ADR-115HA 表面、ADR-116Matter cog、ADR-117PyO3 绑定模式【免费下载链接】RuViewπ RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.项目地址: https://gitcode.com/GitHub_Trending/wi/RuView创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考