2026-05-07 组会:Slot 下界推导与短时特征编码方案
0. 本次汇报要说明什么
本次汇报主要回答三个问题:
- 当前实验中,为什么 1000 ms slot 明显比 800 ms slot 稳定。
- 当前 slot 已经不算很小,为什么它仍然具有研究价值。
- 接下来应如何从复杂 payload 恢复转向短特征识别,并控制误报风险。
核心结论:
当前 1000 ms slot 是一个有模型支撑的经验工作点。根据现有实验,800 ms slot 的 bit 准确率约为 87%,1000 ms slot 的 bit 准确率约为 98%–99%。600 ms slot 已经处于失效区,参考意义较弱。用 800 ms 与 1000 ms 两个有效点反推,当前系统存在约 0.56–0.61 s 的有效恢复开销,边界噪声尺度约为 0.17–0.22 s。因此,达到 99% bit accuracy 所需的 slot 大约在 1.00–1.06 s 附近。
800 ms 与 1000 ms 的准确率差距不是线性差距。slot 从 800 ms 增加到 1000 ms,名义上只增加了 25%。但扣除流控恢复、队列平滑和边界抖动后,可用于稳定判决的净窗口接近翻倍。因此,准确率会从 87% 左右跃迁到 98%–99%。这说明当前系统正处在一个比较明显的临界区。
slot 过小时准确率下降并不是因为高低速本身“数不出来”。在当前 bulk transfer 条件下,单窗口 cell 计数误差并不是主要瓶颈。主要问题是速率切换边界被多跳队列、XON 生效延迟、relay outbuf、KIST 调度和 TCP 抖动共同拉宽。一旦边界偏移超过半个 slot,检测器会出现相位错位,并可能连续影响后续多个 chip。
下一阶段不应继续把重点放在复杂 payload 解码上。当前更合适的目标是:在较短时间内生成一个预注册、可高置信识别、可计算误报上界的短特征。推荐方案是 1000 ms slot + keyed binary template。默认参数可取
L=40, e=3,总时长约 44 s;高置信版本可取L=48, e=4,总时长约 52 s。
1. 当前实验数据与问题定义
1.1 当前数据口径
当前有效数据如下。
| chip slot | bit/chip 准确率结论 | 当前解释 |
|---|---|---|
| 600 ms | 基本无参考价值 | slot 已接近流控恢复和路径平滑的失效区 |
| 800 ms | 约 87% | 位于临界区,可以看到结构,但 bit 判决不稳 |
| 1000 ms | 约 98%–99% | 接近当前实现下的稳定工作点 |
另一个重要观察是:800 ms 在部分 window-level 或 duration-level 指标上仍有较高表现,但它在 payload chip 或 template 级别并不稳定。已有实验中,1000 ms 的 payload chip accuracy 可达到约 98.27%,而 800 ms 的 payload chip accuracy 约为 82.12%。因此,后续设计不应只看 window bit accuracy,而应以 可支撑最终识别的 chip-level 稳定性 为准。
1.2 表述边界
本文采用“模型化推导”和“经验下界”口径。也就是说,本文不主张 1000 ms 是协议层面的绝对理论极限。更准确的说法是:在当前实现、当前检测器和当前 onion service rendezvous 实验设置下,1000 ms 是接近 99% bit accuracy 的稳健工作点。
本文中的准确率均指 bit-level / chip-level accuracy,不是最终序列识别率。相关实验仅面向自建私有 Tor 测试网、受控 onion service、授权实验环境和离线 benign trace 评估。
2. Tor 源码机制与文献结论带来的约束
2.1 Onion service 路径不同于普通三跳访问
普通 Tor 出口访问通常可以抽象为三跳路径:
1 | Client -> Guard -> Middle -> Exit -> Server |
Onion service 场景不同。它由客户端侧 circuit 和服务端侧 circuit 通过 rendezvous point 拼接:
1 | Client -> Guard_c -> Middle_c -> RP <- Middle_s <- Guard_s <- HS |
从 relay 数量看,这是两条三跳 circuit 通过 RP 连接。从端到端传输段看,控制信号和数据响应会经过更多 TLS-over-TCP 连接、relay outbuf、kernel socket buffer 和 rendezvous 侧平滑。因此,速率变化在检测端不是理想阶跃,而是一个被延迟、扩散和平滑后的响应。
这也是本文不能直接采用 SDN traceback 中 800 ms 参数的原因。SDN traceback 的 Tor 实验更接近普通三跳路径,而我们面对的是 onion service rendezvous 路径。路径更长,排队点更多,边界抖动也更明显。
2.2 源码机制中的关键因素
从当前 Tor 流控路径看,slot 下界主要受以下因素影响。
| 机制 | 对 slot 的影响 |
|---|---|
| XON/XOFF feedback | 决定高低速状态如何反馈给发送端 |
| congestion control / drain-rate EWMA | 速率变化不是瞬时阶跃,而是有恢复过程 |
| relay outbuf | 造成短时缓存和 flush 延迟 |
| connection write path | 使写入和真实发出之间存在间隔 |
| KIST / kernel socket buffer | 把拥塞和排队集中到 egress socket buffer |
| 多段 TCP 连接 | 引入 RTT 抖动、ACK 压缩、重传和 cwnd 恢复 |
| rendezvous 双电路 | 比普通三跳路径带来更强平滑和更长相位延迟 |
这些因素说明,slot 下界不是简单的“传播时延”问题,也不是简单的“高低速是否能分开”问题。真正限制 800 ms 的,是 边界抖动 与 失锁传播。
2.3 与 DUSTER 和 SDN traceback 的关系
DUSTER 的核心是 SENDME burst。它通过提前释放 SENDME,使发送端短时间内多发数据,然后在检测端观察是否出现紧凑的 IN-cell burst。这个方案短而直接,但它主要依赖旧式 SENDME 机制,并且判决对象是 burst,而不是稳定的速率序列。
SDN traceback 与本文更接近。它通过修改 TCP advertised window 来制造高低速结构。每个 bit 使用一个 time interval,并分成前后两个半区间。检测端根据前后半区间的速率大小关系恢复 bit,再用 Hamming distance 判断是否匹配。
本文的方案可以看作两者之间的折中:
- 借鉴 DUSTER 的“短时可识别特征”思想;
- 借鉴 SDN traceback 的“速率结构 + Hamming/template 判决”思想;
- 但控制面从 TCP advertised window 或旧 SENDME 转为 Tor stream-level XON/XOFF 速率反馈。
3. Slot 下界推导
3.1 信号模型
设 chip slot 为 (T)。编码端在每个 slot 内选择高低两种速率状态:
- high state:(R_H)
- low state:(R_L)
检测端在服务端 guard 一侧统计 RELAY_DATA cell 到达速率,并将每个 slot 判为 high 或 low。
第 (n) 次速率边界在检测端观测到的时间可写为:
$$ t_n^{obs}=nT+D_n^{xon}+D_n^{data}+\epsilon_n. $$
其中,(D_n^{xon}) 是控制反馈生效路径上的延迟,(D_n^{data}) 是数据侧响应传播延迟,(\epsilon_n) 是检测器本身的残余对齐误差。
相邻 slot 的实际观测宽度为:
$$ T_n^{obs}=T+\Delta D_n+\Delta\epsilon_n. $$
其中:
$$ \Delta D_n=(D_{n+1}^{xon}+D_{n+1}^{data})-(D_n^{xon}+D_n^{data}). $$
固定传播分量会在相邻差分中抵消,留下的是队列、TCP、buffer flush 和检测器锁相残差造成的有效边界抖动。
3.2 单跳延迟分解
每段 Tor TLS-over-TCP 链路上的延迟可分解为:
$$ D_i(t)=\tau_i^{prop}+\tau_i^{proc}+\tau_i^{queue}(t)+\tau_i^{tcp}(t). $$
其中:
| 分量 | 是否随时间变化 | 对本文的影响 |
|---|---|---|
| 传播延迟 (\tau^{prop}) | 基本固定 | 主要影响平均 lag,不直接决定 slot 下界 |
| 处理延迟 (\tau^{proc}) | 小幅变化 | 通常不是主导因素 |
| 队列延迟 (\tau^{queue}) | 明显变化 | 影响边界抖动 |
| TCP 延迟 (\tau^{tcp}) | 有尖峰 | 重传、ACK 压缩和 cwnd 恢复会造成 burst error |
KIST 的结论说明,Tor 的拥塞主要集中在 egress kernel socket buffer 中。这意味着速率变化在 relay 发送侧会被缓冲和平滑。对于短 slot,这种平滑会直接污染边界判决。
3.3 为什么单纯 cell 计数不是主要瓶颈
假设每个 relay data cell 的有效 payload 约为 498 bytes。若速率为 (R),则单位时间内的期望 cell 到达率为:
$$ \rho=\frac{R}{8\cdot 498}. $$
如果只考虑理想对齐下的高低速可分性,则:
$$ N_H\sim Poisson(\rho_HT),\qquad N_L\sim Poisson(\rho_LT). $$
Poisson 判决误差可以用 Bhattacharyya bound 上界:
$$ P_{count}(T)\leq \frac{1}{2}\exp\left[-T(\sqrt{\rho_H}-\sqrt{\rho_L})^2\right]. $$
以 (R_H=300) kbps、(R_L=100) kbps 为例:
$$ \rho_H\approx 75.3\ cells/s,\qquad \rho_L\approx 25.1\ cells/s. $$
若只要求 (P_{count}\leq 1%),所需 slot 大约为:
$$ T\gtrsim \frac{\ln 50}{(\sqrt{75.3}-\sqrt{25.1})^2}\approx 0.29\ s. $$
这说明:只要流量是持续 bulk transfer,且高低速差异足够明显,单纯 cell 计数并不是 800–1000 ms 的主要瓶颈。真正的问题在于速率边界是否能稳定落在检测窗口内。
3.4 边界偏移与失锁传播
设有效边界偏移为 (\delta)。它包含路径抖动和检测器锁相误差。可以近似写成:
$$ \delta\sim \mathcal{N}(0,\sigma_{eff}^2). $$
对于中点判决器,如果边界偏移超过半个 slot,则窗口内会混入更多相邻状态的数据。其临界条件为:
$$ |\delta|>\frac{T}{2}. $$
因此,单次边界越界概率为:
$$ p_{cross}(T)=2Q\left(\frac{T}{2\sigma_{eff}}\right). $$
这里 (Q(\cdot)) 是标准正态右尾函数。
边界越界的影响不是只错一个 bit。短 slot 下,一次越界可能导致检测器相位失锁。检测器需要等待后续稳定转换点才能重新对齐。因此,引入重同步时间 (\tau_{recover})。同步误差项可以近似写成:
$$ P_{sync}(T)\approx p_{cross}(T)\left(1+\frac{\tau_{recover}}{T}\right). $$
于是,总 chip 误差可近似写为:
$$ P_{chip}(T)\approx P_{count}(T)+2Q\left(\frac{T}{2\sigma_{eff}}\right)\left(1+\frac{\tau_{recover}}{T}\right). $$
这个公式给出本文的核心解释:
800 ms 与 1000 ms 的差异主要来自第二项,也就是边界越界概率和失锁传播项,而不是 Poisson cell 计数项。
3.5 用当前数据反推有效参数
为了给导师汇报时更直观,我们再用一个等价的 probit 模型拟合当前 bit accuracy:
$$ A(T)=\Phi\left(\frac{T-\tau_0}{\sigma_T}\right). $$
其中:
- (\tau_0):流控恢复、队列平滑和检测器重锁相造成的有效固定开销;
- (\sigma_T):边界抖动和统计噪声的等效尺度;
- (A(T)):bit-level accuracy。
当前数据为:
$$ A(0.8)\approx0.87, $$
$$ A(1.0)\in[0.98,0.99]. $$
取中间值 (A(1.0)=0.985),有:
$$ \Phi^{-1}(0.87)\approx1.126, $$
$$ \Phi^{-1}(0.985)\approx2.170. $$
由:
$$ z_T=\frac{T-\tau_0}{\sigma_T}, $$
得到:
$$ \sigma_T=\frac{1.0-0.8}{2.170-1.126}\approx0.192\ s, $$
$$ \tau_0=0.8-0.192\times1.126\approx0.584\ s. $$
如果将 1000 ms 的准确率范围看作 98%–99%,则结果为:
| 假设 (A(1000)) | (\sigma_T) | (\tau_0) | 达到 99% bit accuracy 的 (T_{min}) |
|---|---|---|---|
| 98.0% | 0.216 s | 0.557 s | 1.06 s |
| 98.5% | 0.192 s | 0.584 s | 1.03 s |
| 99.0% | 0.167 s | 0.612 s | 1.00 s |
因此,在当前实验设置下:
$$ T_{min}^{99\%}\approx1.00\text{--}1.06\ s. $$
这也是后续默认使用 1000 ms,而不是 800 ms 的主要依据。
3.6 为什么 800 ms 到 1000 ms 会出现明显跃迁
取中间拟合值:
$$ \tau_0\approx0.584\ s. $$
则 800 ms 的净有效判决时间为:
$$ T_{e,800}=0.800-0.584=0.216\ s. $$
1000 ms 的净有效判决时间为:
$$ T_{e,1000}=1.000-0.584=0.416\ s. $$
从名义 slot 看,1000 ms 只比 800 ms 增加 25%。但从净有效判决时间看:
$$ \frac{T_{e,1000}}{T_{e,800}}\approx1.93. $$
也就是说,真正用于稳定判决的时间几乎翻倍。再加上正态尾部函数本身是非线性的,z-score 从约 1.13 提升到 2.05–2.33 后,bit accuracy 就会从约 87% 提升到 98%–99%。
这说明 800 ms 正处在临界区,1000 ms 则基本跨过了当前检测器的稳定门槛。
3.7 600 ms 为什么不再作为主参考点
同样使用 (\tau_0\approx0.584) s,有:
$$ T_{e,600}=0.600-0.584=0.016\ s. $$
这意味着 600 ms slot 中几乎没有稳定判决区间。此时结果会高度依赖局部排队、TCP burst、XON 生效时间和检测器偶然对齐。它不再稳定测量同一个机制。因此,后续实验中 600 ms 可以作为失效点保留,但不应作为核心趋势点。
3.8 Slot 过小时准确率下降的具体原因
这一部分可以作为给导师解释实验现象的核心口径。当前数据中,600 ms 基本不可用,800 ms 只有约 87%,而 1000 ms 可以达到 98%–99%。这个现象不是由单一因素造成的,而是由以下几个因素叠加形成。
3.8.1 原因一:速率变化不是瞬时阶跃
编码端设置 high 或 low 速率后,检测端看到的不是理想方波。实际过程更接近下面的链条:
1 | XON 速率建议发出 |
因此,一个 slot 内真正稳定体现目标速率的时间不是完整的 (T),而是扣除恢复和传播后的净有效时间:
$$ T_e = T - \tau_0. $$
根据当前 800 ms 与 1000 ms 的 bit accuracy 反推,(\tau_0) 大约在 0.56–0.61 s。于是:
$$ T_{e,800}\approx 0.20\text{--}0.24\ s, $$
$$ T_{e,1000}\approx 0.39\text{--}0.44\ s. $$
也就是说,1000 ms 只比 800 ms 多 200 ms,但真正稳定可用于判决的时间几乎增加了一倍。这解释了为什么准确率不是线性提升。
3.8.2 原因二:slot 越短,边界误差占比越大
设边界偏移为 (\delta)。如果 (|\delta|) 接近或超过半个 slot,当前窗口就会混入相邻状态的数据。对于中点判决器,关键临界条件是:
$$ |\delta| > \frac{T}{2}. $$
单次边界越界概率近似为:
$$ p_{cross}(T)=2Q\left(\frac{T}{2\sigma_{eff}}\right). $$
这个式子说明,(T) 变短时,越界概率不是线性增加,而是沿着正态尾部快速增加。以 (\sigma_{eff}\approx 190) ms 为例:
$$ p_{cross}(800ms)\approx 3.5\%, $$
$$ p_{cross}(1000ms)\approx 0.85\%. $$
因此,从 800 ms 增加到 1000 ms 后,边界越界概率会下降约 4 倍。这是 bit accuracy 明显跃迁的主要数学原因。
3.8.3 原因三:一次边界错误可能造成连续错误
短 slot 下,边界错误不一定只影响当前 chip。检测器如果把边界错认为下一个状态的开始,就可能发生相位失锁。失锁后需要等待后续明确的速率转换点才能重新对齐。
因此,同步误差项不是简单的 (p_{cross}),而更接近:
$$ P_{sync}(T)\approx p_{cross}(T)\left(1+\frac{\tau_{recover}}{T}\right). $$
其中 (\tau_{recover}) 是重新锁定相位所需的时间。slot 越短,(\tau_{recover}/T) 越大,同一次越界事件影响的 chip 数越多。这解释了为什么 600 ms 会明显失效,也解释了为什么 800 ms 虽然能看到结构,但 payload/chip 级别不稳。
3.8.4 原因四:短 slot 更容易被多跳平滑吞掉
Onion service rendezvous 路径由两段三跳 circuit 拼接而成。速率变化需要经过多个 relay 的 outbuf、kernel socket buffer 和 TCP 连接。KIST 机制会降低长期拥塞,但它并不会把短时速率变化原样传递到下一跳。对检测器来说,短 slot 的 high/low 变化会被平滑成较缓的斜坡。
当 slot 足够长时,窗口中仍有一段稳定 high 或 low 区间,检测端可以用平均速率判决。slot 过短时,窗口中的大部分时间都处于过渡区。此时 high 和 low 的均值差被压缩,模板相关性下降,错误会集中出现在切换边界附近。
3.8.5 原因五:低速并不能自动解决问题
一个容易产生的误解是:既然 slot 短时不稳定,那降低编码速率或降低发送强度是否能缓解。当前模型给出的结论是否定的。
首先,主导误差来自边界抖动和失锁传播,而不是单纯 cell 数太多。降低速率并不会减少 relay 队列抖动、TCP 重传或 XON 生效延迟。其次,降低 low 或 high 速率会减少单窗口内可统计的 cell 数,反而会提高 Poisson 计数误差。最后,缩小 (R_H-R_L) 会降低速率转换可见性,使检测端更难定位边界。
因此,降低速率不能替代增加 slot。更合理的方向是:保持足够清晰的 high/low 差异,使用 1000 ms 左右的 slot,并通过短模板而不是复杂 payload 来控制总时长。
3.8.6 小结:slot 太小时的误差链条
可以把准确率下降概括为下面这条链:
1 | slot 变短 |
因此,slot 下界不是由某一个固定延迟决定的,而是由“流控恢复时间、边界抖动、重同步时间”共同决定。当前实验中的 1000 ms 可以理解为:它已经让大多数 slot 跨过了稳定判决所需的最小净窗口;800 ms 仍位于临界区;600 ms 则大多落在过渡区内。
4. 当前 slot 设置的研究价值
4.1 与 DUSTER 的差异
DUSTER 的判定对象是 SENDME batch 诱导出来的短 burst。它的优势是窗口短,检测直观。但它也有局限。
- 它依赖旧 SENDME 行为。现代 Tor 中 authenticated SENDME 已经削弱了相关路径。
- 它主要检测 burst,而不是一个可组合的速率序列。
- burst 容易与自然网络 burst、ACK 压缩和短时拥塞混在一起,因此需要额外筛选。
- 它的实验设置中需要一定规模的前置传输,典型参数对应约 750 KB 级别的数据后再开始嵌入。
相比之下,当前 XON/XOFF 方案的价值不是“更短”,而是:
- 利用现代 stream-level flow control 的速率响应;
- 可以形成连续、可组合、可统计检验的速率结构;
- 可以把误报控制交给序列级模板,而不是单个 burst;
- 更适合讨论新流控机制带来的安全边界。
因此,可以向导师这样表述:
DUSTER 证明了短时主动特征可以用于 onion service traceback。本文进一步关注的是:当旧 SENDME 路径被削弱后,新的 XON/XOFF 流控反馈是否仍然能形成可识别的速率结构。
4.2 与 SDN traceback 的差异
SDN traceback 与本文更接近。它也是速率调制。其做法是通过 server-side SDN switch 修改 TCP advertised window,在流量中嵌入 high/low 变化。检测端根据每个 time interval 前后半窗口的速率关系恢复 bit。
但二者的实验假设不同。
| 维度 | SDN traceback | 当前 XON/XOFF 方案 |
|---|---|---|
| 网络场景 | 普通匿名通信,接近三跳 Tor 路径 | onion service rendezvous 双电路 |
| 控制点 | 两端附近 SDN switch | Tor stream-level flow control |
| 调制对象 | TCP advertised window | XON/XOFF 建议速率与排空过程 |
| 检测对象 | client-server 关系 | onion service 场景中的速率特征 |
| 路径平滑 | 较弱 | 更强 |
所以,SDN traceback 中 800 ms 可行,并不说明本文也应使用 800 ms。更合理的解释是:
SDN traceback 说明亚秒级速率结构在普通匿名通信中具有可识别性;本文的 1000 ms 是把这一思想迁移到更长、更平滑的 onion service rendezvous 路径后的经验放大。
4.3 总时长仍然可控
虽然单个 slot 为 1000 ms,但如果不再追求复杂 payload,而只编码短 marker,总时长仍然可以控制在可接受范围。
例如:
- 40-slot template:约 40 s,加前后 guard 后约 44 s;
- 48-slot template:约 48 s,加前后 guard 后约 52 s。
相比之下,如果采用 SDN traceback 中类似 24-bit signal 与 6 次重复的思路,总时长约为:
$$ 24\times6\times0.8=115.2\ s. $$
因此,1000 ms slot 并不必然意味着更慢。关键在于:本文不传复杂消息,而是识别一个短、预注册、低误报的特征。
5. 下一阶段编码与识别设计
5.1 设计原则
下一阶段的目标不是提高 payload 吞吐,而是提高短特征识别的可靠性。建议目标如下。
- 短时完成:总时长控制在 40–60 s。
- 预注册模板:模板必须在检测前确定,不能后验挑选。
- 低误报可证明:使用 Hamming distance 与 union bound 给出误报上界。
- 不依赖复杂 payload:避免 Hamming74 frame 与 CRC 链路造成额外不稳定。
- 与现有分析链路兼容:沿用 lag scan、slot 聚合和 template correlation。
5.2 推荐方案:Keyed Binary Template
使用固定长度的二进制模板作为 marker:
1 | slot_ms = 1000 |
发送结构为:
1 | low guard 2s |
其中,前后 low guard 的作用是建立低速基线,并减少模板首尾被流控恢复过程污染。
模板由密钥派生,检测前固定:
1 | raw = HMAC-SHA256(key, exp_id || context) |
模板筛选条件如下。
| 条件 | 推荐值 | 目的 |
|---|---|---|
| 0/1 平衡 | L=40 时 high 数量在 [18,22] |
避免模板均值偏置 |
| 最大连续 run | 不超过 4 | 避免长平稳段被平滑吞掉 |
| 自相关 | 非零 offset 下 normalized autocorrelation 不超过 0.25 | 降低错误 lag 误锁概率 |
| 反码区分度 | 反码不能同时高分 | 排除趋势型伪匹配 |
| 阈值固定 | 使用独立校准集固定 | 避免后验调参放大误报 |
5.3 推荐参数
默认主实验参数
1 | slot_ms = 1000 |
特点:
- 总时长约 44 s;
- 适合作为主实验;
- 在 chip error rate 约 1.25%–1.73% 时,理论漏检率约 0.16%–0.50%;
- 在 1000 个 lag/offset 候选下,随机误报上界约为 (9.73\times10^{-6})。
高置信低误报参数
1 | slot_ms = 1000 |
特点:
- 总时长约 52 s;
- 适合大规模 benign trace 误报评估;
- 在 chip error rate 约 1.25%–1.73% 时,理论漏检率约 0.03%–0.14%;
- 在 1000 个 lag/offset 候选下,随机误报上界约为 (7.57\times10^{-7})。
短模板压力测试参数
1 | slot_ms = 1000 |
特点:
- 总时长约 36 s;
- 可用于验证更短 marker 的极限;
- 误报上界相对较高,不建议作为最终方案。
5.4 误报上界
对于长度为 (L)、允许错误数为 (e) 的固定模板,单候选随机误报概率为:
$$ P_{fp}^{single}\leq 2^{-L}\sum_{i=0}^{e}\binom{L}{i}. $$
如果有 (N_{cand}) 个候选 lag 或候选窗口,则使用 union bound:
$$ P_{fp}^{family}\leq N_{cand}\cdot P_{fp}^{single}. $$
取 (N_{cand}=1000),有:
| L | allowed errors | 单候选误报 | 1000 候选误报 |
|---|---|---|---|
| 24 | 1 | (1.49\times10^{-6}) | (1.49\times10^{-3}) |
| 24 | 2 | (1.79\times10^{-5}) | (1.79\times10^{-2}) |
| 32 | 2 | (1.23\times10^{-7}) | (1.23\times10^{-4}) |
| 40 | 3 | (9.73\times10^{-9}) | (9.73\times10^{-6}) |
| 48 | 4 | (7.57\times10^{-10}) | (7.57\times10^{-7}) |
这说明 24-chip marker 虽然快,但在 lag scan 和大规模 benign trace 扫描下,family-wise 误报上界不够理想。40 slots 是较好的默认折中,48 slots 更适合低误报展示。
如果 benign traffic 存在明显偏置,不能直接使用 (1/2) 假设。需要用独立 benign calibration set 估计:
$$ p_{max}=\max P(slot\ matches\ template\ bit). $$
然后使用更保守的上界:
$$ P_{fp}^{family}\leq N_{cand}\sum_{i=0}^{e}\binom{L}{i}p_{max}^{L-i}(1-p_{max})^i. $$
5.5 漏检率估计
若单个 chip 的错误率为 (q),模板长度为 (L),允许错误数为 (e),则漏检率为:
$$ P_{fn}=P(Binomial(L,q)>e). $$
根据 1000 ms 的当前结果,可取:
$$ q\in[0.0125,0.0173]. $$
估算结果如下。
| L | allowed errors | (q=1.25%) 漏检率 | (q=1.73%) 漏检率 | (q=2.00%) 保守漏检率 |
|---|---|---|---|---|
| 32 | 2 | 0.739% | 1.767% | 2.577% |
| 40 | 3 | 0.156% | 0.498% | 0.824% |
| 48 | 4 | 0.033% | 0.143% | 0.268% |
结论是:L=40,e=3 已经足以支撑主实验;L=48,e=4 更适合低误报和高置信展示。
5.6 检测流程
检测端可以采用以下流程。
候选流筛选
只检测持续时间足够长、cell 数充足、接近 bulk transfer 的候选流。过滤空闲流、小对象下载和连接建立/结束阶段。lag scan
在固定范围内扫描 lag,例如0..5000ms, step=100ms。不要根据结果后验扩大搜索范围。slot 聚合与判决
对每个候选 lag,将速率按 1000 ms slot 聚合。阈值使用独立校准集确定,或使用固定的 median/MAD 规则。模板匹配
计算观测序列 (X) 与模板 (T) 的 Hamming distance:
$$ d=HammingDistance(X,T). $$
接收条件为:
1 | L = 40: d <= 3 |
- 相关性与反码拒绝
同时计算 template correlation。若反码或多个移位模板也能获得接近分数,则拒绝该命中。这可以降低自然周期流量导致的伪匹配。
5.7 为什么不继续使用完整 Hamming74 payload
当前 Hamming74 payload 仍有价值,但它更适合做“复杂信息恢复能力”的实验,不适合作为下一阶段主方案。原因如下。
- payload frame 会引入额外同步和 CRC 失败;
- 需要更多 slot,增加总时长;
- 解码链路复杂,误差来源更多;
- 误报证明更难写,因为检测目标从“固定模板”变成“可解码内容”;
- 当前 800 ms payload chip accuracy 和 CRC pass rate 已经显示复杂 payload 在临界区不稳。
因此,下一阶段建议把实验目标从“传复杂 payload”改为“识别短特征”。这更符合当前系统能力,也更容易形成清晰的数学证明和实验闭环。
6. 下一步实验计划
6.1 Slot sweep:验证下界模型
建议补充以下点:
$$ T\in\{700,800,900,1000,1100,1200\}\ ms. $$
每个点记录:
- bit accuracy;
- Wilson confidence interval;
- best lag 分布;
- high/low separability;
- bit error 是否呈 burst;
- 错误是否集中在切换边界后。
主要目标不是单纯报告准确率,而是验证以下模型是否能拟合:
$$ A(T)=\Phi\left(\frac{T-\tau_0}{\sigma_T}\right). $$
如果 900 ms 明显提升,1100/1200 ms 进入平台区,就能进一步支持“1000 ms 位于临界区附近”的判断。
6.2 Template-level 主实验
主实验固定使用 1000 ms。建议三组配置:
| 版本 | slot | template length | allowed errors | 总时长 | 目标 |
|---|---|---|---|---|---|
| A | 1000 ms | 32 | 2 | 约 36 s | 压力测试 |
| B | 1000 ms | 40 | 3 | 约 44 s | 主实验 |
| C | 1000 ms | 48 | 4 | 约 52 s | 低误报展示 |
记录指标包括:
- template TPR;
- raw bit accuracy;
- observed Hamming distance 分布;
- template correlation 分布;
- benign trace FPR;
- lag scan 是否误锁;
- 不同对象大小和不同网络负载下的稳定性。
6.3 消融实验
| 消融项 | 对照 | 目的 |
|---|---|---|
| template length | 32 / 40 / 48 | 验证时长与误报的 trade-off |
| allowed errors | 2 / 3 / 4 | 验证 TPR/FPR 曲线 |
| lag scan | on / off | 验证对齐是否关键 |
| threshold | fixed / calibrated / median-MAD | 验证阈值对误报的影响 |
| template shape | keyed balanced / long-run / periodic | 验证低自相关设计是否必要 |
| guard length | 0s / 1s / 2s | 验证前后保护段作用 |
| coding mode | keyed template / Hamming74 payload | 证明为何改用短特征 |
6.4 Benign trace 误报评估
建议使用离线 benign trace 评估误报。不要对第三方目标做主动部署。
误报报告应分层给出:
- 所有候选流;
- bulk 流;
- 长流;
- 高吞吐流;
- onion-service-like trace。
同时报告:
1 | N_candidates |
这样可以避免只在过弱候选集上报告低 FPR。
7. 汇报结论
当前 1000 ms slot 有数学解释。根据 800 ms 约 87% 和 1000 ms 约 98%–99% 的 bit accuracy,反推 99% bit accuracy 的 slot 下界约为 1.00–1.06 s。
800 ms 和 1000 ms 的差距来自临界区效应。系统存在约 0.56–0.61 s 的有效恢复开销。slot 从 800 ms 增加到 1000 ms 后,净有效判决窗口接近翻倍,因此准确率会明显跃迁。
当前 slot 虽然不算小,但在 onion service 场景中仍然有价值。与 DUSTER 相比,它不依赖旧 SENDME burst;与 SDN traceback 相比,它不依赖两端 SDN switch,并且更贴近 Tor stream-level flow control 的安全分析。
下一阶段应从复杂 payload 转向短特征识别。推荐使用 1000 ms slot 的 keyed binary template。主实验参数为
L=40,e=3,高置信参数为L=48,e=4。后续重点是验证三件事:slot 下界曲线、template-level TPR/FPR、benign trace 上的实际误报。这样可以形成从源码机制、数学模型到实验验证的完整闭环。
8. 后续补充材料
| 待补内容 | 作用 |
|---|---|
| 900/1100/1200 ms 实验点 | 验证 slot 下界曲线 |
| bit error burst 分布 | 验证失锁传播模型 |
| best lag 分布 | 证明对齐抖动是主导因素之一 |
| benign trace 误报评估 | 支撑公网低误报结论 |
| Hamming74 vs keyed template 对比 | 解释为何改变编码方案 |
| 不同对象大小实验 | 验证短访问可识别性 |
| 不同负载状态实验 | 验证鲁棒性 |
参考资料
- DUSTER: active watermarking through SENDME-related burst detection.
- Novel and Practical SDN-based Traceback Technique for Malicious Traffic over Anonymous Networks.
- Tor Proposal 324: RTT-based Congestion Control for Tor.
- KIST: Kernel-Informed Socket Transport for Tor.
- Tor flow-control and relay-cell specifications.
- 当前推导草稿:
proof_slot_lower_bound.md。 - 当前编码方案草稿:
fast_recognizable_feature_encoding_scheme.md。 - 当前组会草稿:
tor_slot_lower_bound_group_meeting_v2.md。