इस साल की शुरुआत में, हमने a . लॉन्च किया था बग बाउंटी प्रोग्राम बीकन श्रृंखला विनिर्देश, और/या क्लाइंट कार्यान्वयन (लाइटहाउस, निंबस, टेकू, प्रिज्म इत्यादि…) में मुद्दों को खोजने पर ध्यान केंद्रित किया। परिणाम (और भेद्यता रिपोर्ट) ज्ञानवर्धक रहे हैं क्योंकि संभावित मुद्दों को हल करते हुए सीखे गए सबक हैं।
इस नई श्रृंखला में, हमारा लक्ष्य सुरक्षा कार्य से लेकर आज तक और जैसे-जैसे हम आगे बढ़ते हैं, कुछ अंतर्दृष्टि का पता लगाना और साझा करना है।
यह पहली पोस्ट विशेष रूप से बीएलएस प्राइमेटिव को लक्षित करने वाले कुछ सबमिशन का विश्लेषण करेगी।
अस्वीकरण: इस पोस्ट में उल्लिखित सभी बग्स को पहले ही ठीक कर दिया गया है।
बीएलएस हर जगह है
कुछ साल पहले, डिएगो एफ. अरनहा पर बात की एलिप्टिक कर्व क्रिप्टोग्राफी पर 21वीं कार्यशाला शीर्षक के साथ: जोड़े मरे नहीं हैं, बस आराम कर रहे हैं। कितना भविष्यसूचक।
यहां हम 2021 में हैं, और जोड़ी ब्लॉकचैन स्पेस (और उससे आगे) में उपयोग किए जाने वाले कई क्रिप्टोग्राफ़िक प्राइमेटिव के पीछे प्राथमिक अभिनेताओं में से एक है: बीएलएस कुल हस्ताक्षर, ZK-SNARKS सिस्टम, आदि।
बीएलएस हस्ताक्षर से संबंधित विकास और मानकीकरण कार्य कुछ समय से ईएफ शोधकर्ताओं के लिए एक चालू परियोजना रही है, जो आंशिक रूप से संचालित है जस्टिन ड्रेक और संक्षेप में reddit . पर उनकी एक हालिया पोस्ट.
नवीनतम और महानतम
इस बीच कई अपडेट भी सामने आए हैं। बीएलएस12-381 अब सार्वभौमिक रूप से मान्यता प्राप्त है युग्मन वक्र इस्तेमाल किया जाएगा हमारे वर्तमान ज्ञान को देखते हुए.
तीन अलग-अलग IRTF ड्राफ्ट वर्तमान में विकास के अधीन हैं:
इसके अलावा, बीकन श्रृंखला विशिष्टता परिपक्व हो गया है और पहले से ही आंशिक रूप से तैनात है। जैसा ऊपर उल्लिखित है, बीएलएस हस्ताक्षर प्रूफ-ऑफ-स्टेक (पीओएस) और बीकन चेन के पीछे पहेली का एक महत्वपूर्ण हिस्सा हैं।
हाल के सबक सीखे
सर्वसम्मति-परत में उपयोग किए गए बीएलएस प्राइमेटिव को लक्षित करने वाले सबमिशन एकत्र करने के बाद, हम रिपोर्ट किए गए बग को तीन क्षेत्रों में विभाजित करने में सक्षम हैं:
- आईआरटीएफ मसौदा निरीक्षण
- कार्यान्वयन गलतियाँ
- आईआरटीएफ मसौदा कार्यान्वयन उल्लंघन
आइए प्रत्येक अनुभाग में ज़ूम इन करें।
आईआरटीएफ मसौदा निरीक्षण
पत्रकारों में से एक, (गुयेन थोई मिन्ह क्वान), में विसंगतियां पाई गईं आईआरटीएफ ड्राफ्ट, और निष्कर्षों के साथ दो श्वेत पत्र प्रकाशित किए:
जबकि विशिष्ट विसंगतियां अभी भी विषय हैं बहस के लिए, उसे कुछ दिलचस्प लगा कार्यान्वयन मुद्दे अपने शोध का संचालन करते समय।
कार्यान्वयन गलतियाँ
गुइडो व्रेंकेन में कई “छोटे” मुद्दों को उजागर करने में सक्षम था BLST का उपयोग करते हुए डिफरेंशियल फ़ज़िंग. नीचे उनके उदाहरण देखें:
उन्होंने इसे प्रभावित करने वाली एक मध्यम भेद्यता की खोज के साथ शीर्ष स्थान हासिल किया BLST का blst_fp_eucl_inverse फ़ंक्शन.
आईआरटीएफ मसौदा कार्यान्वयन उल्लंघन
बग की एक तीसरी श्रेणी आईआरटीएफ ड्राफ्ट कार्यान्वयन उल्लंघनों से संबंधित थी। पहले वाले ने प्रभावित किया प्रिज्म क्लाइंट.
इसका वर्णन करने के लिए हमें पहले थोड़ी पृष्ठभूमि प्रदान करनी होगी। NS बीएलएस हस्ताक्षर आईआरटीएफ के मसौदे में 3 योजनाएं शामिल हैं:
- मूल योजना
- संदेश वृद्धि
- कब्जे का सबूत
NS प्रिज्म क्लाइंट अपने एपीआई में 3 के बीच कोई अंतर नहीं करता है, जो कार्यान्वयन के बीच अद्वितीय है (उदाहरण के लिए) py_ecc) के बारे में एक ख़ासियत मूल योजना है शब्दशः उद्धृत करना: ‘यह फ़ंक्शन पहले सुनिश्चित करता है कि सभी संदेश अलग हैं’ . में यह सुनिश्चित नहीं किया गया था AggregateVerify
समारोह। Prysm ने इस विसंगति को किसके द्वारा ठीक किया उपयोग को कम करना का AggregateVerify
(जिसका उपयोग बीकन श्रृंखला विनिर्देश में कहीं भी नहीं किया जाता है)।
एक दूसरा मुद्दा प्रभावित हुआ py_ecc. इस मामले में, क्रमांकन प्रक्रिया में वर्णित है ZCash BLS12-381 विनिर्देश: जो पूर्णांकों को संग्रहीत करता है वह हमेशा की सीमा के भीतर होता है [0, p - 1]
. NS py_ecc कार्यान्वयन ने केवल BLS12-381 के G2 समूह के लिए यह जाँच की असली हिस्सा लेकिन के लिए मापांक संचालन नहीं किया काल्पनिक हिस्सा. समस्या निम्नलिखित पुल अनुरोध के साथ तय की गई थी: py_ecc . में decompress_G2 अक्रमांकन पर अपर्याप्त सत्यापन.
ऊपर लपेटकर
आज, हमने अपने हिस्से के रूप में प्राप्त बीएलएस से संबंधित रिपोर्टों पर एक नज़र डाली बग बाउंटी प्रोग्राम, लेकिन यह निश्चित रूप से सुरक्षा कार्य या बीएलएस से संबंधित रोमांच के लिए कहानी का अंत नहीं है।
हम दृढ़ता से प्रोत्साहित करना आप यह सुनिश्चित करने में मदद करने के लिए कि सर्वसम्मति-परत समय के साथ सुरक्षित होती रहे। इसके साथ, हम आपसे सुनने के लिए उत्सुक हैं और आपको डीआईजी के लिए प्रोत्साहित करते हैं! यदि आपको लगता है कि आपको सुरक्षा भेद्यता या बीकन श्रृंखला या संबंधित क्लाइंट से संबंधित कोई बग मिला है, एक बग रिपोर्ट सबमिट करें! मैं