RuView Soul Signature 研究规范:用七维被动射频观测融合构建无摄像头身份向量
本文围绕 RuView 仓库中 docs/research/soul/ 下的 Soul Signature(灵魂签名)研究规范展开:它定义了一个完全来自被动 WiFi CSI 电磁测量的多模态生物特征身份向量——不依赖摄像头、可穿戴设备或识别时刻的显式确认。读完后你将理解它的图结构(节点/边/RVF 容器)、60 秒结构化注册协议与质量门、§3.6 加权余弦匹配公式,以及该规范在仓库中"已实现的匹配器"与"仍未落地的整体系统"之间的精确边界。
一、什么是 Soul Signature
规范对 Soul Signature 的定义(见 README):它是一个融合多模态生物特征身份向量,完全派生自房间中 WiFi-DensePose / RuView 感知节点对人的被动电磁测量。注册完成后,识别不再需要任何显式扫描时刻的同意动作——没有穿戴设备、没有摄像头、没有"请站好让我们扫一下"。
文档刻意选择"soul(灵魂)"这一产品化命名,但声称其指向一个可辩护的科学概念:指纹之于法证科学、FaceID 之于手机鉴权,把同一关系延伸到新的感知维度——远距离、穿墙的被动射频,房间尺度。七个正交的电磁观测量被融合进单个内容寻址的 RVF 图文件,构成签名。
规范中反复强调的一条写作纪律同样值得注意:每个信道都有已发表的物理与 WiFi 感知文献作为依据;每一个关于区分力的论断,要么引用同行评审结果,要么被显式标注为 "open research; baseline TBD"(开放研究,基线待定)。
它不是什么(边界声明)
规范用一整节(README "What a Soul Signature Is NOT")划出负面清单,这份清单本身就是使用该系统的前提认知:
- 不是指纹、虹膜或 FaceID 的替代品(按单次尝试准确率计)。RF 生物特征比这些模态更不成熟,诚实的错误率图景见 security.md。
- 不是一个数字、哈希或确定性比特串。它是针对存储图的概率匹配,带有校准后的虚警接受率(FAR)。
- 不是医学诊断工具。它检测的是生物物理代理指标,而非病症。输出是"步态不对称性 14 天内上升 18%",永远不会是"帕金森病"。
- 不等同于受监管语境下显式同意的生物特征。GDPR 与 HIPAA 模式已定义,对医疗部署是强制的。
- 目前不可作为法律证据工具部署。
- 不是蛇油、能量疗愈或任何超出可测量电物理学的东西。
二、文档地图与规范组成
Soul Signature 规范由 docs/research/soul/ 下的五个文件构成,README 是入口与概念层,其余四份各司其职:
| 文件 | 内容 |
|---|---|
| specification.md | 类型化 RVF 图 schema;全部节点类型、边类型、序列化格式;在线聚合器(aggregator)与存储画像(stored profile)的区分 |
| scanning-process.md | 结构化 60 秒注册协议;硬件要求;质量门;快速扫描与连续模式;重扫周期 |
| security.md | 完整威胁模型;五类攻击者;缓解措施;密码原语选择;GDPR/HIPAA 模式;开放研究项 |
| references.md | 全部被引用的 ADR、论文、数据集、标准 |
状态声明必须先行:整套文档标注为 Research Specification (Pre-Implementation),日期 2026-05-24,维护者 ruv。README 明确指出:灵魂签名专属的图容器逻辑尚未实现;构成性 ADR(AETHER、MERIDIAN、RuvSense 场模型、ADR-039 生命体征、ADR-110 witness chain)提供了底层基座(substrate),灵魂签名是叠在它们之上的组合层。唯一的例外是 §3.6 匹配算法,它已有可运行实现(见本文第六节)。
三、概念图:一个签名长什么样
README 用一幅 ASCII 图描绘了示例灵魂签名作为单个 RVF 容器内存储的图。每个盒子是一个 RVF 节点(SEG_EMBED 或 SEG_META 段),每个箭头是图 manifest 中存储的类型化边:
+-----------------------+
| AETHER_Embedding | 128-dim f32, L2-normalized (ADR-024)
| contrastive CSI | HNSW-searchable via ruvector-core
| backbone embedding |
+----------+------------+
| derived_from
v
+-----------+-----------+ +------------------------+
| FieldModel_Residual +---fuses--+ Subcarrier_Reflection |
| ADR-030 perturbation | | per-angle multipath |
| eigenmode projection | | amplitude + phase |
+----------+------------+ +------------------------+
| correlates_with
v
+----------+------------+ +------------------------+
| Cardiac_HR_Profile +--links---+ Cardiac_Waveform_ |
| baseline_bpm, HRV_LF | | Morphology (wavelet |
| HRV_HF, rhythm_class | | coefficients) |
+----------+------------+ +------------------------+
| temporally_colocated
v
+----------+------------+
| Respiratory_Pattern |
| baseline_bpm, depth, |
| apnea_index, HRV_RSA |
+----------+------------+
| temporally_colocated
v
+----------+------------+ +------------------------+
| Gait_Timing +--links---+ Skeletal_Proportions |
| cadence, stride_var, | | torso/limb ratios |
| double_support_pct, | | from ADR-079 keypoints |
| asymmetry_index | +------------------------+
+----------+------------+
| attested_by
v
+----------+------------+
| WitnessChain | Ed25519 over (content_hash ||
| ADR-110 attestation | timestamp || device_id) per ADR-110
+-----------------------+
文件命名约定:signature-<sha256-of-rvf-content>.rvf——文件名即内容哈希,这是第六节序列化机制的一部分。
七个信道的设计原则
specification.md §2 给出五条设计原则,解释为什么是哪些物理事实让"七信道"这个选择成立:
- Per-Individual(个体唯一):签名编码在商用 WiFi 硬件感知分辨率下结构上唯一于一个人的特征——心脏时序(R-R 间期结构)、呼吸力学(潮气深度、吸呼比)、骨骼比例(来自 ADR-079 17 关键点姿态的肢体比)、步态节奏变异性,以及由身体质量分布与几何塑造的 RF 后向散射剖面。
- 注册时被动:注册后识别无需受试者任何显式动作——这是刻意设计的不对称:被动识别 + 主动注册,与 FaceID(首次录入后被动解锁)同一模型。
- 多模态且正交:正交性是核心——如果某个信道退化(例如心脏信号被运动遮蔽),其余六个信道承载匹配。没有任何单一信道是高于阈值识别所必需的;融合分数是加权和。
- 时间上持久:对解剖结构与健康稳定的成年人,存储签名在数周到数月内有效;ADR-030 Tier 4 的
longitudinal.rs模块提供漂移检测,标记何时需要重扫。 - 可辩护的虚警率:安全模型不是"不可破解",而是"攻击者成本超过所保护资源的价值"(见 security.md §3)。
四、节点类型:每个信道的字段级定义
每个节点是类型化结构体,序列化为 SEG_META 中的 JSON 对象(带 node_type 判别字段);f32 向量字段共置于 SEG_VEC 段,通过节点的 vec_segment_id 字段索引。以下继承自 specification.md §3.2 的完整节点定义。
AETHER_Embedding — 主身份锚点
来自 ADR-024 的对比学习 CSI 嵌入:
pub struct AetherEmbeddingNode {
pub node_type: &'static str, // "AETHER_Embedding"
pub vec_segment_id: u64, // 指向包含 128 个 f32 的 SEG_VEC
pub embedding_dim: usize, // 128
pub backbone: String, // "csi-to-pose-transformer"
pub pretrain_method: String, // "simclr+vicreg"
pub alignment_score: f32, // 注册时 Lowman 对齐度量
pub uniformity_score: f32, // 注册时超球面均匀度
pub enrollment_frames: u32, // 平均进该节点的 CSI 窗口数
pub environment_id: String, // 注册时场模型本征态的 SHA-256
pub confidence: f32, // 相对 person_track 索引的 HNSW 搜索置信度
}
存储量:128 × 4 = 512 字节(SEG_VEC)+ 约 200 字节 JSON 元数据(SEG_META)。按 ADR-024 §2.8,人员重识别目标是 5 受试者 >80% mAP;10+ 受试者的精度是开放研究,基线待定。
Cardiac_HR_Profile — 心率谱
由 ADR-021 通带管线(0.8–2.0 Hz)在至少 30 秒静息窗内提取:
pub struct CardiacHRProfileNode {
pub baseline_bpm: f32, // 注册窗平均心率(40–180 BPM 范围)
pub hrv_sdnn_ms: f32, // SDNN:R-R 间期标准差 (ms)
pub hrv_rmssd_ms: f32, // RMSSD:相邻差均方根
pub hrv_lf_power: f32, // LF 带功率 (0.04–0.15 Hz),归一化
pub hrv_hf_power: f32, // HF 带功率 (0.15–0.4 Hz),归一化
pub hrv_lf_hf_ratio: f32, // LF/HF 比(自主平衡标记)
pub sinus_rhythm_class: u8, // 0=规则, 1=不规则, 2=不确定
pub confidence: f32, // 来自 ADR-021 VitalCoherenceGate 的 PERMIT 占比
pub window_seconds: u32, // 测量窗口时长
}
诚实的标注:WiFi CSI 基 HRV 提取是活跃研究区。SDNN/RMSSD 在群体层面有区分力(Zhao et al. 2017;Widar 3.0 2019),但个体唯一性尚未经大规模独立验证——状态:开放研究。
Cardiac_Waveform_Morphology — 心电波形形态
对通带滤波后的心脏相位信号做小波分解,捕捉的是波形形状而不仅是速率,比单纯心率更具区分力,但要求更高 SNR 与更长测量窗:
pub struct CardiacWaveformMorphologyNode {
pub vec_segment_id: u64, // SEG_VEC: 64 个 f32 小波系数
pub wavelet_family: String, // "db4"(Daubechies 4,心脏信号标准)
pub decomposition_levels: u8, // 4 级
pub snr_db: f32, // 注册时实测 SNR;低 SNR 节点降权
pub confidence: f32,
}
CSI 波形形态高度依赖环境:ADR-030 场模型减除必须在该测量之前运行,以把身体扰动与房间驻波伪影隔离。
Respiratory_Pattern — 呼吸模式
由 ADR-021 BreathingExtractor(0.1–0.5 Hz 通带)+ ADR-030 持久层在注册窗上累积统计得到:
pub struct RespiratoryPatternNode {
pub baseline_bpm: f32, // 平均呼吸率(正常成人 12–20 BPM)
pub depth_amplitude_normalized: f32, // 来自 CSI 方差的潮气深度代理
pub inspiration_expiration_ratio: f32, // I:E 比(典型 1:1.5 至 1:3)
pub hrv_rsa_power: f32, // 呼吸性窦性心律不齐谱功率
pub apnea_index: f32, // 每小时显著暂停事件数
pub waveform_regularity: f32, // 呼吸间隔变异系数
pub confidence: f32,
pub window_seconds: u32,
}
注意:apnea_index 是生物物理代理信号(信号中的暂停事件),不是临床 AHI 评分;它服务于签名区分力,不用于诊断。
Gait_Timing — 步态时序
在注册协议的步态阶段由 17 关键点卡尔曼姿态跟踪器(pose_tracker.rs,ADR-029 §2.7)提取;跟踪器用 ruvector-mincut 做人员分离,用 AETHER 重识别保持身份连续性:
pub struct GaitTimingNode {
pub cadence_steps_per_min: f32, // 每分钟步数
pub stride_period_variance: f32, // 步幅周期变异系数
pub double_support_pct: f32, // 双支撑期占步态周期比例
pub asymmetry_index: f32, // |左步幅 - 右步幅| / 平均步幅
pub step_width_m: f32, // 两次落脚的横向距离(代理)
pub velocity_variance: f32, // 步速变异性
pub confidence: f32,
pub stride_count: u32, // 注册期间捕捉到的步幅数
}
WiFi CSI 步态生物特征在 WiGait(Adib et al., SIGCOMM 2015)与 WiDraw(Wang et al., MobiCom 2014)中有文献支撑;同一家庭内 10+ 受试者、纯 WiFi 模态的区分力是开放研究问题。
Skeletal_Proportions — 骨骼比例
来自 ADR-079 相机+CSI 配对关键点管线(可用时),或无相机部署下的纯 CSI 姿态估计(ADR-023 CsiToPoseTransformer)。以比值而非绝对值编码,获得尺度不变性:
pub struct SkeletalProportionsNode {
pub torso_to_leg_ratio: f32, // 躯干高 / 腿长
pub shoulder_to_hip_ratio: f32, // 肩宽 / 髋宽
pub upper_to_lower_arm_ratio: f32, // 上臂 / 前臂
pub upper_to_lower_leg_ratio: f32, // 大腿 / 小腿
pub head_to_torso_ratio: f32, // 头高 / 躯干高
pub arm_span_to_height_ratio: f32, // 维特鲁威比(多数成人接近 1.0)
pub confidence: f32,
pub keypoint_source: String, // "camera_paired" | "csi_only" | "fused"
}
纯 CSI 的骨骼比例估计在单个比值上有约 15–25% 误差(开放研究;基线来自 ADR-023 最佳 MPJPE ~91.7 mm,参照 Person-in-WiFi 3D, CVPR 2024)。相机配对值明显更准;该节点在只有 CSI 时优雅降级。
Subcarrier_Reflection_Profile — 子载波反射剖面
受试者在三种朝向(0°、90°、180°)静立时,逐子载波的幅度衰减与相移剖面。它编码身体 RF 后向散射截面形状,由身体质量分布、肢体几何、衣物/材质共同决定:
pub struct SubcarrierReflectionProfileNode {
pub vec_segment_id: u64, // SEG_VEC: 56 × 3 × 2 = 336 个 f32
// (56 子载波 × 3 朝向 × [幅度衰减, 相移])
pub n_subcarriers: u8, // 56 (HT-LTF) 或至多 242 (HE-LTF, ADR-110 C6)
pub n_orientations: u8, // 3
pub frequency_mhz: u32, // 测量时中心频率
pub environment_id: String, // 指向用于减除的场模型
pub confidence: f32,
}
该节点直接利用 ADR-030 场模型:先减除空房间基线本征态,才计算反射剖面,隔离出人的贡献——没有 ADR-030 场减除,剖面对环境耦合过强,无法跨房间迁移。借助 MERIDIAN(ADR-027)的硬件归一化层,ESP32-S3(52 子载波 HT-LTF)与 ESP32-C6(242 子载波 HE-LTF,ADR-110)在测量前被映射到规范化的 56 子载波表示。存储量:336 × 4 = 1,344 字节(SEG_VEC)。
Body_Field_Coupling — 身体-场耦合
最"物理落地"的节点:AETHER 注意力图单元按 ADR-030 房间本征模结构加权,编码身体与房间每个主导电磁模耦合的强度——即人与空间真实电磁几何的相互作用:
pub struct BodyFieldCouplingNode {
pub vec_segment_id: u64, // SEG_VEC: n_eigenmodes × n_keypoints 个 f32
pub n_eigenmodes: u8, // field_model.rs 的 top-K SVD 模(默认 K=8)
pub n_keypoints: u8, // 17 (COCO)
pub eigenmode_energy_fractions: Vec<f32>, // 每模占总方差的份额
pub environment_id: String, // 必须与 SubcarrierReflectionProfile 的环境一致
pub confidence: f32,
}
该节点只在同一房间的场模型可用时有效;跨房间识别改用 MERIDIAN 的环境解耦嵌入。它在单房间部署提供额外区分力,在多房间语境下降级为可选。
边类型
边存储在 SEG_SOUL_GRAPH 的 JSON 数组中,每条边带类型化关系,约束节点在匹配中如何被使用:
| 边类型 | 源节点 | 目标节点 | 语义 |
|---|---|---|---|
derived_from |
FieldModel_Residual(隐式) | AetherEmbedding | 嵌入在减除场模型后计算 |
correlates_with |
Cardiac_HR_Profile | Respiratory_Pattern | 测量时刻的心肺耦合;相关系数存为边权 |
temporally_colocated |
任意对 | 任意对 | 两节点在同一时间窗测量,保证一致性 |
temporally_after |
步态后节点 | 步态前节点 | 注册协议中顺序获取 |
requires_field_model |
SubcarrierReflectionProfile | BodyFieldCoupling | 匹配该节点需要同房间的 ADR-030 场模型 |
fuses |
AetherEmbedding | SubcarrierReflectionProfile | MERIDIAN 归一化融合:双方映射到环境不变空间 |
attested_by |
任意叶节点 | WitnessChain | Ed25519 witness 覆盖该节点内容哈希 |
derived_by_keypoint_tracker |
GaitTiming | SkeletalProportions | 均提取自同一 pose_tracker.rs 输出 |
environment_normalized |
任意带 environment_id 的节点 |
MERIDIAN manifest | 已应用 MERIDIAN(ADR-027);签名具备跨房间能力 |
五、注册侧:RVF 容器、聚合器与 60 秒协议
容器格式:复用现有 RVF,新增两个段类型
签名复用 rvf_container.rs 定义的 RVF 二进制容器,使用的既有段类型与两个新提议段:
| 段类型 | 常量 | 在灵魂签名中的用途 |
|---|---|---|
SEG_MANIFEST |
0x05 |
图元数据:schema 版本、注册时间戳、设备 ID、person_id(不透明 u64) |
SEG_VEC |
0x01 |
AETHER 128 维嵌入向量 |
SEG_META |
0x07 |
JSON 覆盖层:所有非向量节点属性 |
SEG_WITNESS |
0x0A |
对 (content_hash_sha256 || timestamp_ns || enrolled_by_device_id) 的 Ed25519 签名 |
SEG_EMBED |
0x0C |
AETHER 嵌入配置 + 投影头权重(ADR-024 Phase 7) |
SEG_LORA |
0x0D |
环境适配查询的逐环境 LoRA 增量 |
SEG_SOUL_GRAPH(新) |
0x10 |
JSON 序列化图:节点列表 + 边列表 + 属性 schema |
SEG_SOUL_INDEX(新) |
0x11 |
逐节点 HNSW 索引序列化,用于快速图级查询 |
SegmentHeader 结构不变;每段 64 字节对齐,CRC32 内容哈希(偏移 0x28)覆盖段载荷,提供逐段篡改检测。
序列化规则:二进制小端、f32 IEEE 754;文件名为 signature-<sha256-hex-of-rvf-bytes>.rvf,SHA-256 在 RvfBuilder::build() 之后对完整拼接的 RVF 字节流计算。这与逐段 CRC32 是两种不同哈希——CRC32 做段内损坏检测,SHA-256 做内容寻址与去重。另附可选的 JSON-LD sidecar(signature-<sha256>.json),供人类审查与溯源,不含原始生物向量(那些留在 RVF blob 里),可安全记日志。设计上与 ISO/IEC 19794 系列的"类型化属性记录 + 质量分 + 创建者溯源"原则对齐,但不二进制兼容。
在线聚合器 vs. 存储画像
运行时存在两个不同的图实例,这个区分是质量门能够工作的结构性原因:
- Online Aggregator——内存中可变图,跨多个感知窗累积测量。节点用 Welford 在线统计(
field_model.rs::WelfordStats)增量更新,置信度随帧数增加向 1.0 增长。正常运行期间从不写盘。 - Stored Profile——磁盘上不可变、内容寻址的
.rvf文件,在注册协议结束、所有节点置信度超过最低阈值时由聚合器生成。
Online Aggregator (RAM) Stored Profile (disk / secure enclave)
+----------------------+ +---------------------------+
| AETHER_Embedding | enrollment | signature-<sha256>.rvf |
| accumulated over | completion | SEG_MANIFEST |
| 60-second protocol +-------------> | SEG_VEC (embedding + refl)|
| Confidence: 0.0→1.0 | when all | SEG_META (all node attrs) |
| | gates pass | SEG_EMBED (AETHER config) |
| Cardiac_HR_Profile | | SEG_WITNESS (Ed25519) |
| accumulated 30s rest | | SEG_SOUL_GRAPH (graph) |
+----------------------+ +---------------------------+
该模式保证部分扫描(例如受试者 20 秒后离开)永远不会产出存储画像——质量门阻止了过早提交。
硬件前提
scanning-process.md 给出完整协议(N ≥ 3 节点)的最小/推荐配置:
| 组件 | 最低 | 推荐 | 备注 |
|---|---|---|---|
| 感知节点 | 3 × ESP32-S3(ADR-028) | 5+ 节点 | 多节点三角化减少角度盲区;ADR-029 多静态 mesh |
| 计算设备 | Cognitum Seed(Pi 5 + Hailo) | 同 | 运行场模型、AETHER 推理、生命体征管线 |
| 网络链路 | 2.4/5 GHz AP | 专用感知 AP | 与用户流量共享 AP 会降低 CSI 帧率 |
| 固件版本 | ADR-110 v0.7.0+ | 同 | attestation 需要 Ed25519 witness chain |
| 时钟同步 | 802.15.4 time-sync(ESP32-C6)或 NTP 回退 | 802.15.4 优先 | 按 ADR-110 对齐 ±100 µs;NTP 仅 ±5 ms |
单节点降级模式(1 Node)产出不完整签名:骨骼比例退化(单视角)、子载波反射剖面只有单一朝向(3 朝向协议坍缩为 1)、AETHER 嵌入可用但置信度低、心脏/呼吸不受影响、步态在允许双向行走时可用。单节点签名必须在 manifest 中打 degraded_mode: true 标签。若存在至少一个 ESP32-C6 节点(ADR-110),子载波数从 52(S3 HT-LTF)扩展到至多 242(C6 HE-LTF),MERIDIAN HardwareNormalizer 把所有节点映射到规范 56 子载波表示供 AETHER 骨干使用,完整 242 子载波剖面保留在 SubcarrierReflectionProfile 节点中供更高保真匹配。
结构化 60 秒注册协议
协议恰好产出一个 .rvf 灵魂签名文件,分为五个精确计时阶段,语音或显示向受试者播报提示词:
Phase 0 — 空房间场重校准(T+0 至 T+10):受试者进入前房间必须为空,ADR-030 场模型必须新鲜(最长 4 小时)。若过期或缺失则运行场重校准:20 Hz 采集 1,200 帧空房间 CSI(60 秒),计算逐链路 Welford 均值与协方差,对协方差矩阵做 SVD 取 top-K=8 本征模,存入 field_model.rs::FieldNormalMode。系统验证存在感分数 < 0.1(ADR-039 Tier 2 存在检测);失败则中止并报告 FAIL_ROOM_NOT_EMPTY。若场模型 4 小时内更新过且空房间采样确认存在感分数 < 0.05,则跳过(不是中止)。
Phase 1 — 深呼吸基线(T+10 至 T+25):受试者站在区域中心、面向节点簇,完成五次完整深呼吸(每次 ≥ 4 秒)。系统采集 ADR-021 BreathingExtractor 的 baseline_bpm / depth_amplitude / I:E 比 / HRV_RSA,HeartRateExtractor 的初始心率与 HRV_SDNN(部分),AETHER 嵌入在 300 帧 CSI(20 Hz × 15 s)上累积。质量门:VitalCoherenceGate 必须在 15 秒中 ≥ 10 秒输出 PERMIT,否则 FAIL_POOR_BREATHING_SIGNAL。
Phase 2 — 坐姿静息(T+25 至 T+35):坐下以最小化运动、隔离心脏信号。采集心率基线、HRV_SDNN/RMSSD、LF/HF 比、窦性心律分类,以及 Cardiac_Waveform_Morphology 的 64 系数小波分解(0.8–2.0 Hz)。质量门:HR 置信度 ≥ 0.6 持续 ≥ 10 秒中的 7 秒;失败为 FAIL_POOR_CARDIAC_SIGNAL——这是软失败:心脏节点标记低置信度,若 AETHER 与步态节点各自过闸,签名继续。
Phase 3 — 步态行走(T+35 至 T+50):受试者沿 2 米直线往返两次(A→B、B→A、A→B、B→A,共四次穿越、≥ 8 个步幅)。经 pose_tracker.rs 采集 GaitTimingNode 与 SkeletalProportionsNode(≥ 8 个步幅累积 17 关键点轨迹),AETHER 嵌入继续累积(再 300 帧)。质量门:≥ 8 个步幅且每步置信度 ≥ 0.7,否则 FAIL_INSUFFICIENT_GAIT_DATA;ruvector-mincut 的 DynamicPersonMatcher 必须确认只有一个人被跟踪,两条活跃轨迹则 FAIL_MULTIPLE_SUBJECTS。
Phase 4 — 站立朝向扫描(T+50 至 T+60):依次采集 0°、90°、180° 三个朝向的 SubcarrierReflectionProfile(ADR-030 场减除后,56 子载波,幅度+相位);T=60 s 时由 AETHER 注意力图 × ADR-030 top-K=8 特征向量计算 Body_Field_Coupling。注册窗关闭:AETHER 嵌入对全部约 1,200 帧做均值池化定稿,所有节点置信度计算完毕。
质量门总表
任一条件满足即注册失败并发出结构化错误码;失败的注册不产出存储 .rvf 文件:
| 门 | FAIL 条件 | 错误码 |
|---|---|---|
| 房间有人 | Phase 0 末存在感分数 ≥ 0.1 | FAIL_ROOM_NOT_EMPTY |
| 多受试者 | Phase 1–4 期间 ≥ 2 条活跃姿态轨迹 | FAIL_MULTIPLE_SUBJECTS |
| 中途离场 | 受试者离开感知区 > 3 秒 | FAIL_SUBJECT_LEFT_ZONE |
| AETHER 置信度低 | 最终嵌入置信度 < 0.6 | FAIL_AETHER_LOW_CONFIDENCE |
| 呼吸信号缺失 | Phase 1 期间 VitalCoherenceGate PERMIT 率 < 67% | FAIL_POOR_BREATHING_SIGNAL |
| 步态数据不足 | < 8 个置信度 ≥ 0.7 的步幅 | FAIL_INSUFFICIENT_GAIT_DATA |
| 场模型脏 | 场模型 > 4 小时且拒绝重校准 | FAIL_STALE_FIELD_MODEL |
| 对抗检测 | RuvSense adversarial.rs 标记物理上不可能的信号 | FAIL_ADVERSARIAL_SIGNAL |
| 节点数低于最低 | Phase 3–4 期间在线节点 < 2 | WARN_DEGRADED_MODE(非硬失败;产出降级签名) |
软失败(仅心脏信号)不中止注册,而是标记相关节点低置信度,并在识别时降低对应信道匹配权重。
快速扫描、连续模式与重扫周期
10 秒快速扫描产出的是部分查询嵌入而非存储画像,仅用于已注册受试者的识别:T+0–10 s 内受试者静立自然呼吸,采集 AETHER 嵌入(200 帧)、部分心脏 HR(置信度通常 < 0.5)、单朝向反射剖面;T+10 s 对 HNSW 索引中所有存储画像发起查询,缺失信道按 availability=0 从分母中排除。它适用于返家居民识别与家居自动化归属(ADR-115 HA-MIND),不适用于初始注册、高保障门禁或医疗识别。
连续模式下,系统随注册人员日常活动增量更新其在线聚合器,存储画像每 90 天(或重扫周期,以先到者为准)从聚合器重新发布。Welford 在线统计数值稳定且随观测数增加收敛到总体均值/方差——部署系统随时间变得更准而非更差。重发布时旧画像被替换(不是修改)并按 security.md 的前向保密要求归档而非删除。
重扫周期按场景分级:健康成人(住宅)90 天;儿童(骨骼生长期)30 天;医疗/临床按临床事件(术后、病后、显著体重变化);运动后监控在活跃项目期间 7 天;任何场景下,longitudinal.rs(ADR-030 Tier 4)的漂移告警触发系统发起重扫——该模块用 Welford 统计监控五项漂移指标(GaitSymmetry、StabilityIndex、BreathingRegularity、MicroTremor、ActivityLevel),任一指标连续 3 天超过 2-sigma 即发出 DriftAlert,界面显示"检测到签名漂移——建议重扫",而不是健康诊断。
六、匹配算法(§3.6):公式、权重表与仓库中的可运行实现
给定存储画像 P 与来自实时感知窗的查询嵌入 Q,匹配分数是逐信道余弦相似度的加权和:
match_score = sum_i ( w_i * cosine_sim(P.channel_i, Q.channel_i) )
/ sum_i ( w_i * availability(P.channel_i, Q.channel_i) )
availability 在两节点均存在时为 1.0,任一缺失时为 0.0——查询窗内无法测量的信道优雅降级。默认权重表(规范明确标注"开放研究;设计意图,未经验证"):
| 信道 | 权重 | 依据 |
|---|---|---|
| AETHER_Embedding | 0.35 | 主身份锚点;研究最充分的信道 |
| Subcarrier_Reflection_Profile | 0.20 | 身体几何;角度稳定 |
| Cardiac_HR_Profile | 0.15 | 健康成人中生理上稳定 |
| Gait_Timing | 0.15 | 研究充分的生物特征;有区分力 |
| Respiratory_Pattern | 0.10 | 比心脏更不稳定 |
| Skeletal_Proportions | 0.05 | 体形代理;纯 CSI 噪声大 |
| Body_Field_Coupling | 0.00(单房间)/ 0.10(跨房间禁用时) | 仅在有房间场模型时有效 |
| Cardiac_Waveform_Morphology | 0.05(补充) | 高 SNR 要求 |
正匹配阈值是部署特定参数,带文档化的 FAR/FRR 权衡;仅 AETHER 信道在 5 受试者目标 >80% mAP,融合多信道分数预期超过它,精确改进是开放研究。
这一节是整套 Pre-Implementation 规范中唯一有可运行实现的部分,规范原文(specification.md §3.6 状态注记)与仓库源码相互印证:
- 实现位于 soul_match.rs 与 soul_channels.rs,测试位于 soul_match.rs 测试。
- 从源码结构看,soul_channels.rs 把 §3.6 的信道清单与权重表移植为运行类型:
Channel枚举按规范表顺序定义 8 个信道(AETHER 索引 0,最高权重),DEFAULT_WEIGHTS = [0.35, 0.20, 0.15, 0.15, 0.10, 0.05, 0.00, 0.05]逐字复现,并保留"未经验证的设计意图"注记。SoulChannels中每个信道都是Option<...>——None表示该窗测得不可用,匹配器将其排除出归一化分母。AETHER 信道复用 crate 的IdentityEmbedding,继承"仅在 RAM 中、无 Serialize/Clone、Drop 时清零"的结构不变式,因此SoulChannels本身不可 Clone。 - soul_match.rs 的
match_score()逐字实现规范公式,返回MatchScore——携带归一化分数、贡献信道数与逐信道余弦贡献,供调用者或审计者看到"哪些信道贡献了多少"。当分母为 0(无共享加权信道)时分数未定义,返回类型化insufficient结果而非默认高分。 - 模块文档与测试共同划定了实现不声称的东西:命名身份锁定是数据门控的——决定性的高权重信道(真实注册的 AETHER 嵌入 + 身体谐振)必须被喂入真实测量数据,而此事在该仓库中尚未发生。测试
cardiac_alone_cannot_separate_identity_matches_audit(见 tests/soul_match.rs)实测:仅靠心脏(0.15)+ 呼吸(0.10)信道,同人与跨人分数差距仅约 0.0005——身份在这些信道上不可分离,与规范预期完全一致。用源码文档的原话概括:这是一个"诚实地报告自己在哪里无法锁定的真实匹配器"。
七、安全与隐私:威胁模型、同意架构与密码原语
security.md 的安全标准表述为:攻击者达成虚警接受的成本必须超过所保护资源在相应威胁模型下的价值——不声称不可破解,只声称"足够难"。它对五类攻击者的逐一分析,是理解该规范工程成熟度的关键部分。
| 攻击者 | 能力与影响 | 缓解 | 残余风险 |
|---|---|---|---|
| WiFi 介质被动窃听者 | 可观察过路者 CSI,理论上可构建无同意旁听者的注册 | 环境 CSI 不触发注册(必须走 60 秒协议);旁听者轨迹打 person_id: NULL 并在 24 小时后从 HNSW 索引剪除;注册需至少两个节点同时确认存在感 |
能物理共处扫描区 60 秒者可注册假身份——等价于一切在场生物特征注册威胁 |
| 主动重放 | 录制合法注册/识别事件重放以冒充 | 每次注册绑定房间的 ADR-030 场模型本征态:每个向量节点的 environment_id 是特征模矩阵的 SHA-256,跨房间重放使两个被签名字段交叉验证失败;Ed25519 witness 含单调 timestamp_ns(高保障场景默认拒绝 > 7 天签名);场模型随家具移动/温度漂移持续更新 |
同房间、< 4 小时窗口内的高保真重放仍是可行攻击向量,需未来挑战-应答活体检测 ADR |
| 相控阵背心 / RF 身体模拟器 | 穿戴发射设备模仿他人后向散射剖面,同时绕过所有电磁信道 | RuvSense adversarial.rs(ADR-030 Tier 7)执行四项物理一致性检查:多链路一致性(真身体扰动所有穿过其位置的 mesh 链路,要求 ≥ 4 条链路相关扰动)、场模型约束(扰动必须落在房间本征模结构张成空间内)、时间连续性(嵌入空间速度监控)、能量守恒;检出即在匹配前发 FAIL_ADVERSARIAL_SIGNAL |
校准相控阵 + 知道房间本征模结构 + 知道被冒用者精确多链路后向散射模式的高级攻击者原则上可构造仿真;多节点确认使仿真的几何复杂度随节点数指数上升 |
| 有 broker 访问权限的内鬼 | 读存储 .rvf 与 HNSW 索引,外泄签名并链接 PII |
静态加密:所有 .rvf 用 ChaCha20-Poly1305 加密,密钥由用户口令(或 FIDO2 硬件令牌绑定)经 Argon2id 派生;设备从不存解密密钥;person_id 不透明 u64 非 PII;HNSW 只存 128 维嵌入;训练时 DP-SGD(ADR-106)防成员推断 |
弱口令或令牌失陷则静态加密失效;密钥管理是部署责任 |
| 制造商 / 固件供应链 | 恶意固件更新静默外泄签名或 CSI | 固件以 Ed25519 签名(ADR-100 cog 打包)并在安装前验证,迁移窗口加 Dilithium-3 后量子共签(ADR-109);witness chain 在传感器级签每帧 CSI 束,篡改可被下游审计发现;--privacy-mode 下原始 CSI 与灵魂签名的网络出向默认阻断;固件开源可独立审计 |
ESP-IDF WiFi 栈或 Rust 代码库零日可绕过控制 |
密码原语全部取自 NIST 批准或广泛审计的标准:
| 用途 | 原语 | 依据 |
|---|---|---|
| 段级内容完整性 | CRC32(IEEE 802.3) | rvf_container.rs 已实现;损坏检测而非安全 |
| 内容寻址 | SHA-256 | 文件名派生;抗原像防名冲突 |
| 签名 | Ed25519(RFC 8032) | ADR-110 witness chain;64 字节签名;128-bit 安全 |
| 静态加密 | ChaCha20-Poly1305(RFC 8439) | AEAD;软件友好;无 AES-CBC 式定时攻击面;256-bit 密钥 |
| 口令密钥派生 | Argon2id(RFC 9106) | 内存硬化;抗 GPU/ASIC 爆破 |
| DP-SGD 噪声 | 高斯 N(0, σ²C²I) 按 ADR-106 | (ε, δ)-DP,Abadi et al. 2016 Moments Accountant |
| 后量子密钥交换(未来) | Kyber-768(NIST FIPS 203) | ADR-108;~AES-192 安全 |
| 后量子签名(未来) | Dilithium-3(NIST FIPS 204) | ADR-109;过渡窗口与 Ed25519 混合 |
Argon2id 默认参数:m_cost = 65536(64 MB)、t_cost = 3、p_cost = 4、output_len = 32 字节、salt = 16 随机字节(与加密 blob 同存,不是 person_id)——在 Pi 5 上约 100 ms KDF 耗时,且解密仅在 HNSW 候选匹配之后触发。前向保密方面:旧签名文件不是新文件的密钥,密钥每次从口令重新派生。
同意架构强制注册与识别的硬区分:注册需显式主动同意(60 秒协议 + 操作员确认,产出签名 .rvf);已注册者的识别是隐式的(注册 = 同意识别);未注册者的环境感知不留持久数据——轨迹打 person_id: NULL,嵌入以 authenticated: false、24 小时 TTL 写入 temporal_baseline HNSW 索引,由 EmbeddingIndex::prune() 自动剪除,不产生任何 .rvf。GDPR/HIPAA 模式(--privacy-mode enabled)下:签名仅本地存储、绝不发布到 MQTT/Matter/外部端点;本地 REST API 需 bearer token;longitudinal 漂移指标仅以聚合形式(如 drift_detected: true)发布,从不发布可用于医学推断的原始指标值;必须实现数据删除端点 DELETE /api/v1/persons/{id},一并移除 .rvf、HNSW 条目、JSON-LD sidecar 与 longitudinal Welford 统计。
规范同时把六个已知安全缺口(挑战-应答活体检测、N > 20 受试者的 FAR 规模化验证、加密 RVF 文件大小的侧信道泄漏、连续模式成员推断、物理访问下 ESP32 NVS 签名密钥、联邦学习 LoRA 增量的可链接性)列为待未来 ADR 解决的开放工作,并以汇总表区分"已实现 / 已规定 / 开放缺口"三种状态——这种自我审计格式本身就是该规范可信度的一部分。
八、签名不是房间指纹、不是波形录音
规范 §3.8 用一组否定句收束概念边界,值得在实现前逐条记住:它不是房间指纹(那是 ADR-030 场模型,独立对象);不是波形录音(存储的向量是统计量与嵌入,不是原始 CSI);不可逆还原为原始 CSI 流(AETHER 投影头的信息瓶颈阻止重建,见 ADR-024 §4 负面后果);不是单一标量(归约为一个数字是部署决定,底层对象是 7 信道图);不等同于存储的姿态(AETHER 嵌入捕捉很多窗口上的身体动力学,不是某一瞬间的单一姿态)。
注册管线成功完成时产出四样东西:signature-<sha256>.rvf 二进制容器(写盘前用该人密钥加密);signature-<sha256>.json JSON-LD sidecar(可安全记日志);本地 HNSW 索引(ruvector-core::VectorIndex 的 person_track 子索引,ADR-024 §2.4)中把 person_id 链接到 AETHER 嵌入的一行,用于 O(log n) 识别查询;以及 ADR-110 的 Ed25519 witness 条目,签名 (rvf_sha256 || timestamp_ns || enrolled_by_device_id),同时存入 RVF SEG_WITNESS 段与节点本地审计日志。注册过程不向任何外部服务器传输原始 CSI 或原始生物特征;不把签名发布到 MQTT 或 Matter(除非显式 --privacy-mode disabled);不在 .rvf 中存储任何 PII——person_id 是不透明 u64,PII 链接(如有)活在应用层并受独立访问控制管辖。
九、研究依据与延伸阅读
references.md 把规范所站的全部文献分为五层,是判断"哪些论断有据、哪些仍是开放研究"的索引:
- 内部 ADR:约 25 份 ADR 构成基座,关键的包括 ADR-003(RVF 容器)、ADR-004(HNSW person_track 索引)、ADR-024(主身份信道,128 维 L2 归一化嵌入,5 受试者 >80% mAP 目标)、ADR-027(跨环境解耦嵌入与 HardwareNormalizer)、ADR-030(场正常模、本征结构、纵向漂移、对抗检测)、ADR-039(vitals 包线格式,magic
0xC511_0002)、ADR-075(ruvector-mincut 多人轨迹分配)、ADR-110(HE-LTF 242 子载波、802.15.4 时同步、逐帧 Ed25519 witness)。 - 对比学习基础:SimCLR(ICML 2020)、SimCLR v2、VICReg(ICLR 2022)、BYOL,以及 alignment/uniformity 超球面分析(ICML 2020)。
- WiFi CSI 生物特征先验工作:IdentiFi(2025,自监督多用户身份识别)、WhoFi(2025,NTU-Fi 18 受试者 95.5% 准确率,验证 Transformer 骨干)、Wi-PER81(2025,16.2 万无线包的 Nature Scientific Data 基准)、CAPC(2024)、以及 WiFi HAR 自监督方法综述(2025)。
- WiFi 感知 SOTA:DensePose From WiFi(CMU 2022,本代码库的直接祖先)、WiTrack(NSDI 2015)、Widar 3.0、EQ-Radio(MobiCom 2016,WiFi HRV 心脏生物特征基线)、Person-in-WiFi 3D(CVPR 2024,91.7 mm MPJPE)、X-Fi(ICLR 2025)等。
- 数据集:MM-Fi(27 受试者、56 子载波 CSI、17 COCO 关键点)、Wi-Pose、NTU-Fi(56 活动、75 Hz 采样)。
- 标准:密码学侧 RFC 8032 / RFC 8439 / RFC 9106、NIST FIPS 203/204、SP 800-132 草案;生物特征侧 ISO/IEC 19794-1/-2/-4 与 29794-1、30107-3——规范明确"未通过任何标准认证",但节点/边 schema 遵循类型化属性记录、质量分与创建者溯源的同一设计哲学,
confidence字段概念上对应 ISO 29794 质量分,adversarial.rs 对应 30107-3 的呈现攻击检测框架。
references.md 末尾还给出了一份 RF 生物特征新手的五篇阅读单(从 Adib 2017 博士论文到 Abadi et al. 2016 DP 论文),其中最后一条的提醒值得所有部署者记住:任何在训练时收集生物特征数据的部署之前,Differential Privacy 都是必读项。
十、现状小结:Pre-Implementation 的精确含义
回到 README 的收尾判断:Soul Signature 目前是研究规范,其专属图容器逻辑(SEG_SOUL_GRAPH / SEG_SOUL_INDEX、soul_signature.rs 类型)尚未实现;仓库中已存在的可运行证据集中于三处——rvf_container.rs 提供的 RVF 容器与 CRC32 段保护、soul_match.rs/soul_channels.rs 对 §3.6 匹配公式的逐字实现、以及 tests/soul_match.rs 中"低权重生理信道不足以分离身份"的审计测试。规范自身也给出下一步的约定:未来的实现 ADR 应引用本套文档,并把验收测试派生自 scanning-process.md 定义的质量门。对工程团队而言,这份规范的价值不在于它承诺的识别准确率,而在于它把每一条能力声明与"已实现 / 已规定 / 开放研究"三态严格挂钩,并预先写下了系统在哪里不能锁定身份。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0631
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
video-shotcraftAI宣传片skill,使用 Remotion 制作电影级产品视频:提供106 张镜头配方卡和可复用的视频魔板。适用于 Claude Code 与 Codex以及所有其他智能体Markdown00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python09
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00