论文的仿真代码、原始结果与绘图脚本
Mustafa S. Aljumaily, Ali Ataeemh Allami, Mustafa N. Mnati, Nawar S. Alseelawi, Shahab Abdulla, "PVBRF-ID: Private, Verifiable and Byzantine-Robust Federated Intrusion Detection for Oilfield Enterprise Networks," arXiv preprint, 2026. (arXiv link to be added after announcement.)
PVBRF-ID 是一种用于联邦学习的双服务器聚合器。各站点对其模型更新进行秘密共享; 两台服务器在共享值内部联合检验每个更新的范数及其与干净根集参考的余弦相似度, 每个站点仅公开一个接受位,并发布承诺、Merkle 根以及同态审计,从而使被接受更新的 纳入可被验证。
范围。 这是一个仿真。安全比较、逐坐标范围证明、Beaver 三元组 生成以及安全裁剪均被建模为理想功能;Pedersen 群是一个仅用于成本缩放的玩具 512 位群。实验使用公开的 Edge-IIoTset 流量以及模拟站点。未使用任何运营商数据。 在引用任何数字之前,请阅读论文的局限性部分。
| 路径 | 用途 |
|---|---|
faithful_agg.py | 协议核心:GF(2^127-1) 上的加性秘密共享、定点编码、Beaver 三元组范数与余弦检验(包括 tau < 0 的容忍情形)、SHA-256 Merkle 包含证明、Pedersen 承诺以及同态审计 |
test_core.py | 12 项正确性与篡改检测测试(python test_core.py) |
demo_sanity.py | 在合成数据上的端到端健全性运行以及成本基准测试 |
exp_ref_tau.py | 在合成数据上的参考源 × 余弦阈值 × 攻击扫描(单种子,仅作健全性检查) |
notebooks/faithful_agg_edgeiiot_v5_final.ipynb | 主实验:在 Edge-IIoTset 上的 870 次运行(10 个种子 × 87 种配置) |
notebooks/faithful_agg_edgeiiot_v5b_tolerance_attack.ipynb | 补充实验:使用利用容忍性的自适应攻击者的 160 次运行 |
results/v5_full/ | 主实验的逐次运行原始输出(results.csv)及所有派生表格 |
results/v5b_tolerance/ | 补充实验的逐次运行原始输出 |
make_figures.py | 从两个 results.csv 文件重新生成手稿图 2-5 和补充表 S3 |
figures/ | 手稿图 |
代码和结果文件保留了该方法的开发名称 faithful_agg / faithful_root;
results.csv 中的 faithful_root_t-0.3 即为采用根集参考且 tau = -0.3 的 PVBRF-ID。
pip install -r requirements.txt
python test_core.py # 12 tests, about a minute
python make_figures.py # figures from the shipped results, seconds
要重新运行实验,请下载 Edge-IIoTset DNN 文件(DNN-EdgeIIoT-dataset.csv,
2,219,201 条流;可通过 IEEE DataPort 或 Kaggle 从数据集作者处获取),将其放置于
data/DNN-EdgeIIoT-dataset.csv,然后从 notebooks/ 文件夹按顺序运行两个 notebook:
faithful_agg_edgeiiot_v5_final.ipynb(在 8 核上约 1.1-2.9 小时;可断点续跑;写入 results/v5_full/)faithful_agg_edgeiiot_v5b_tolerance_attack.ipynb(约 30 分钟;写入 results/v5b_tolerance/)路径可通过环境变量 EDGE_DATA、CORE_DIR 和 OUT_DIR 覆盖。
给定 config.json 中的种子,所有运行都是确定性的。四个明文基线出现在
两个实验中,且必须逐位一致;它们确实一致。
r_t;发布 B_t = kappa * ||r_t|| 和 r_t / ||r_t||。||u_i||^2 和 <u_i, r_t>^2 的份额;理想比较仅公开接受位 b_i。prod_{i accepted} C_i^j = Com(A_j; R_j);每个站点检查其 Merkle 包含路径。真实:共享、定点编码、Beaver 内积、Merkle 树、Pedersen 承诺以及审计。 理想:安全比较(其通信量是占位估计)、范围证明、三元组生成、安全裁剪以及聚合内噪声。
| 干净 | 符号翻转 | 自适应 30% | |
|---|---|---|---|
| FedAvg | 0.706 | 0.091 | 0.046 |
| Multi-Krum(明文) | 0.690 | 0.686 | 0.693 |
| PVBRF-ID(tau = -0.3) | 0.708 | 0.696 | 0.571 |
| PVBRF-ID + 安全裁剪 | 0.697 | 0.688 | 0.641 |
后门可通过过滤器(ASR 1.00);基于噪声的缓解是启发式的(epsilon >= 16.9)。 更新推断攻击者可从明文更新中恢复类别混合(Spearman 0.81),但无法 从单台服务器的份额中恢复(0.00)。通信量约为普通 FedAvg 上传的 19 倍。
MIT,见 LICENSE。