
비밀 공유, Merkle 감사 및 Pedersen 커밋을 사용하는 사설·검증 가능·비잔틴 견고 연합 침입 탐지 프로토콜을 위한 시뮬레이션 코드 및 결과.
논문을 위한 시뮬레이션 코드, 원시 결과 및 그림 스크립트
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 링크는 발표 후 추가될 예정.)
PVBRF-ID는 연합 학습을 위한 2-서버 집계기입니다. 사이트들은 자신의 모델 업데이트를 비밀 공유합니다; 서버들은 각 업데이트의 노름과 공유 내부의 깨끗한 루트 집합 참조에 대한 코사인 유사도를 공동으로 테스트하고, 사이트당 하나의 수락 비트를 공개하며, 커밋먼트, 머클 루트 및 준동형 감사를 게시하여 수락된 업데이트의 포함이 검증 가능하도록 합니다.
범위. 이것은 시뮬레이션입니다. 보안 비교, 좌표별 범위 증명, Beaver 삼중 생성 및 보안 클리핑은 이상적 기능으로 모델링됩니다; Pedersen 그룹은 비용 스케일링에만 사용되는 장난감 512비트 그룹입니다. 실험은 시뮬레이션된 사이트와 함께 공개 Edge-IIoTset 트래픽을 사용합니다. 운영자 데이터는 사용되지 않았습니다. 숫자를 인용하기 전에 논문의 한계를 읽어보십시오.
| 경로 | 목적 |
|---|---|
faithful_agg.py | 프로토콜 코어: GF(2^127-1) 상의 가산 비밀 공유, 고정 소수점 인코딩, Beaver 삼중 노름 및 코사인 테스트 (tau < 0인 관용적 경우 포함), SHA-256 머클 포함, 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 | 두 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개 테스트, 약 1분
python make_figures.py # 제공된 결과에서 그림 생성, 몇 초
실험을 다시 실행하려면 Edge-IIoTset DNN 파일 (DNN-EdgeIIoT-dataset.csv,
2,219,201 흐름; IEEE DataPort 또는 Kaggle을 통해 데이터셋 저자로부터 사용 가능)을 다운로드하여
data/DNN-EdgeIIoT-dataset.csv에 배치하고 notebooks/ 폴더에서 두 노트북을 순서대로 실행하십시오:
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)를 확인합니다; 각 사이트는 자신의 머클 포함 경로를 확인합니다.실제: 공유, 고정 소수점 인코딩, Beaver 내적, 머클 트리, 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 참조.