
एक निजी, सत्यापन योग्य, बाइज़ेंटाइन-रोबस्ट फ़ेडरेटेड इंट्रूज़न डिटेक्शन प्रोटोकॉल के लिए सिमुलेशन कोड और परिणाम, जो सीक्रेट शेयरिंग, मर्कल ऑडिट और पेडरसन कमिटमेंट्स का उपयोग करता है।
पेपर के लिए सिमुलेशन कोड, कच्चे परिणाम और फ़िगर स्क्रिप्ट
मुस्तफ़ा एस. अलजुमैली, अली अताईम अल्लामी, मुस्तफ़ा एन. मनाती, नवार एस. अलसीलावी, शहाब अब्दुल्ला, "PVBRF-ID: Private, Verifiable and Byzantine-Robust Federated Intrusion Detection for Oilfield Enterprise Networks," arXiv प्रीप्रिंट, 2026. (घोषणा के बाद arXiv लिंक जोड़ा जाएगा।)
PVBRF-ID फ़ेडरेटेड लर्निंग के लिए एक दो-सर्वर एग्रीगेटर है। साइटें अपने मॉडल अपडेट को सीक्रेट-शेयर करती हैं; सर्वर संयुक्त रूप से प्रत्येक अपडेट के नॉर्म और शेयर्स के भीतर एक स्वच्छ रूट-सेट संदर्भ के साथ उसकी कोसाइन समानता का परीक्षण करते हैं, प्रति साइट एक स्वीकृति बिट प्रकट करते हैं, और कमिटमेंट, मर्कल रूट्स और एक होमोमॉर्फिक ऑडिट प्रकाशित करते हैं ताकि स्वीकृत अपडेट का समावेशन सत्यापन योग्य हो।
दायरा। यह एक सिमुलेशन है। सुरक्षित तुलना, प्रति-निर्देशांक रेंज प्रूफ़, बीवर-ट्रिपल जनरेशन और सुरक्षित क्लिपिंग को आदर्श कार्यात्मकताओं के रूप में मॉडल किया गया है; पेडरसन समूह एक टॉय 512-बिट समूह है जिसका उपयोग केवल लागत स्केलिंग के लिए किया गया है। प्रयोग सार्वजनिक Edge-IIoTset ट्रैफ़िक का उपयोग सिम्युलेटेड साइटों के साथ करते हैं। कोई ऑपरेटर डेटा उपयोग नहीं किया गया। किसी संख्या को उद्धृत करने से पहले पेपर की सीमाएँ पढ़ें।
| path | purpose |
|---|---|
faithful_agg.py | प्रोटोकॉल कोर: GF(2^127-1) पर एडिटिव सीक्रेट शेयरिंग, फ़िक्स्ड-पॉइंट एन्कोडिंग, बीवर-ट्रिपल नॉर्म और कोसाइन परीक्षण (सहिष्णु केस tau < 0 सहित), SHA-256 मर्कल इन्क्लूज़न, पेडरसन कमिटमेंट और होमोमॉर्फिक ऑडिट |
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 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/ फ़ोल्डर से दोनों नोटबुक क्रम में चलाएँ:
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) की जाँच करता है; प्रत्येक साइट अपने मर्कल इन्क्लूज़न पथ की जाँच करती है।वास्तविक: शेयरिंग, फ़िक्स्ड-पॉइंट एन्कोडिंग, बीवर इनर प्रोडक्ट, मर्कल ट्री, पेडरसन कमिटमेंट और ऑडिट। आदर्श: सुरक्षित तुलना (इसका संचार एक प्लेसहोल्डर अनुमान है), रेंज प्रूफ़, ट्रिपल जनरेशन, सुरक्षित क्लिपिंग और इन-एग्रीगेट नॉइज़।
| 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) लेकिन एक सर्वर के शेयर से नहीं (0.00)। संचार सादे FedAvg अपलोड का लगभग 19x है।
MIT, LICENSE देखें।