論文のためのシミュレーションコード、生の結果、図のスクリプト
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は連合学習のための2サーバーアグリゲータです。サイトは自身のモデル更新を秘密分散し、 サーバーは各更新のノルムと、クリーンなルートセット参照に対するコサイン類似度をシェア内で 共同で検証し、サイトごとに1つのacceptビットを公開し、コミットメント、Merkleルート、および 準同型監査を公開することで、受け入れられた更新の包含が検証可能になります。
適用範囲。 これはシミュレーションです。安全な比較、座標ごとの範囲証明、Beaverトリプル 生成、安全なクリッピングは理想的な機能としてモデル化されています。Pedersen群はコストスケー リングにのみ使用されるトイ512ビット群です。実験では、シミュレートされたサイトを持つ公開 Edge-IIoTsetトラフィックを使用しています。運用者のデータは使用されていません。数値を引用 する前に論文の限界を読んでください。
| path | purpose |
|---|---|
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 | 合成データでの参照ソース x コサイン閾値 x 攻撃スイープ(単一シード、サニティのみ) |
notebooks/faithful_agg_edgeiiot_v5_final.ipynb | メイン実験: Edge-IIoTsetでの870回の実行(10シード x 87構成) |
notebooks/faithful_agg_edgeiiot_v5b_tolerance_attack.ipynb | 補足実験: 許容性を悪用する適応的攻撃者による160回の実行 |
results/v5_full/ | メイン実験の生の実行ごとの出力(results.csv)とすべての派生テーブル |
results/v5b_tolerance/ | 補足実験の生の実行ごとの出力 |
make_figures.py | 2つの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/フォルダから2つのノートブックを順番に
実行します:
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内のシードが与えられれば決定論的です。4つの平文ベースラインは両方の実験に
現れ、最後の桁まで一致する必要があり、実際に一致しています。
r_tを取得し、B_t = kappa * ||r_t||とr_t / ||r_t||を公開します。||u_i||^2と<u_i, r_t>^2のシェアを計算します。理想的な比較はacceptビットb_iのみを公開します。prod_{i accepted} C_i^j = Com(A_j; R_j)を検証でき、各サイトは自身のMerkle包含パスを検証します。実装済み: 分散、固定小数点エンコーディング、Beaver内積、Merkleツリー、Pedersenコミットメント、監査。 理想的: 安全な比較(その通信はプレースホルダー推定値)、範囲証明、トリプル生成、安全なクリッピング、集約内ノイズ。
| clean | sign-flip | adaptive 30% | |
|---|---|---|---|
| FedAvg | 0.706 | 0.091 | 0.046 |
| Multi-Krum (plaintext) | 0.690 | 0.686 | 0.693 |
| PVBRF-ID (tau = -0.3) | 0.708 | 0.696 | 0.571 |
| PVBRF-ID + secure clip | 0.697 | 0.688 | 0.641 |
バックドアはフィルタを通過します(ASR 1.00)。ノイズベースの緩和はヒューリスティックです(epsilon >= 16.9)。 更新推論攻撃者は平文更新からクラス混合を復元しますが(Spearman 0.81)、1つのサーバーのシェアからは復元しません(0.00)。通信は平文FedAvgアップロードの約19倍です。
MIT、LICENSEを参照。