Resolving an Apparent Key-Dependent Timing Side-Channel in Bouncy Castle ML-DSA-65 Signing: A Pre-Registered Discrimination
यह शोध पत्र यह प्रदर्शित करता है कि बाउंसी कैसल (Bouncy Castle) के ML-DSA-65 कार्यान्वयन में एक स्पष्ट कुंजी-निर्भर (key-dependent) टाइमिंग साइड-चैनल वास्तव में प्राकृतिक रिजेक्शन-सैंपलिंग (rejection-sampling) भिन्नता का एक सांख्यिकीय आर्टिफैक्ट है, जो सटीक इटरेशन की संख्या पर आधारित एक पूर्व-पंजीकृत प्रोटोकॉल के भीतर टाइमिंग का विश्लेषण करने पर समाप्त हो जाता है, जिससे सभी मानकीकृत पैरामीटर सेटों में इस कार्यान्वयन की सुरक्षा की पुष्टि होती है।
मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
डिजिटल सुरक्षा की दुनिया में, सबसे शक्तिशाली ताले अक्सर वे होते हैं जिन्हें खोलने में सबसे अधिक समय लगता है। दशकों से, गणितज्ञों ने डेटा को सुरक्षित रखने के लिए जटिल समस्याओं पर आधारित एन्क्रिप्शन सिस्टम डिजाइन किए हैं। जैसे-जैसे कंप्यूटर अधिक शक्तिशाली होते जा रहे हैं, और जैसे कि क्वांटोर कंप्यूटरों का भविष्य मंडरा रहा है, वैज्ञानिक ऐसे नए ताले बनाने की दौड़ में हैं जिन्हें भविष्य की मशीनें भी नहीं तोड़ सकेंगी। सबसे आशाजनक नए डिजाइनों में से एक का नाम ML-DSA है। यह डिजिटल हस्ताक्षर (डिजिटल सिग्नेचर) बनाने की एक विधि है, जो किसी अनुबंध या प्रमाण पत्र पर हाथ से किए गए हस्ताक्षर का इलेक्ट्रॉनिक समकक्ष है। ये हस्ताक्षर प्रमाणित करते हैं कि कोई संदेश किसी विशिष्ट व्यक्ति से आया है और उसके साथ कोई छेड़छाड़ नहीं की गई है।
हालाँकि, इन गणितीय तालों के साथ ही एक नए प्रकार का खतरा भी उभर कर आया है। यह स्वयं गणित में कोई खामी नहीं है, बल्कि कंप्यूटर पर उस गणित को निष्पादित करने के तरीके में एक खामी है। इसे 'टाइमिंग साइड-चैनल अटैक' (timing side-channel attack) के रूप में जाना जाता है। कल्पना कीजिए कि एक तिजोरी है जो सही संयोजन दर्ज किए जाने पर थोड़ी ज़ोर से 'क्लिक' करती है, या एक दरवाज़ा है जो सही चाबी का उपयोग किए जाने पर खुलने में एक सेकंड का बहुत छोटा हिस्सा अधिक समय लेता है। यदि कोई हमलावर अत्यधिक सटीकता के साथ समय के इन सूक्ष्म अंतरों को माप सकता है, तो वह गुप्त कुंजी (secret key) का अनुमान लगाने में सक्षम हो सकता है। ML-DSA प्रणाली के लिए, डिजाइनरों ने एक सुरक्षा सुविधा बनाई है: इस प्रक्रिया में बहुत अधिक परीक्षण और त्रुटि (trial and error) शामिल है। कंप्यूटर एक हस्ताक्षर उत्पन्न करने का प्रयास करता है, जाँचता है कि क्या वह वैध है, और यदि नहीं, तो वह उसे हटा देता है और फिर से प्रयास करता है। क्योंकि प्रयासों की संख्या यादृच्छिक (random) रूप से बदलती रहती है, इसलिए संदेश पर हस्ताक्षर करने में लगने वाला कुल समय भी बदल जाता है। यह यादृच्छिकता (randomness) गुप्त कुंजी को छिपाने के लिए है, जिससे यह बताना असंभव हो जाता है कि एक विशिष्ट देरी कुंजी के कारण हुई थी या केवल खराब किस्मत के कारण।
अर्पण शर्मा नामक एक शोधकर्ता ने हाल ही में जांच की कि क्या 'बाउन्सी कैसल' (Bouncy Castle) नामक एक लोकप्रिय सॉफ्टवेयर लाइब्रेरी में यह सुरक्षा सुविधा इच्छित रूप से काम कर रही है। यह लाइब्रेरी सॉफ्टवेयर अपडेट से लेकर सुरक्षित वेब कनेक्शन तक सब कुछ सुरक्षित करने के लिए व्यापक रूप से उपयोग की जाती है। जब शर्मा ने पहली बार डेटा को देखा, तो उन्हें कुछ ऐसा दिखा जो एक 'लीक' जैसा लग रहा था। बीस अलग-अलग गुप्त कुंजियों के साथ संदेशों पर हस्ताक्षर करने में लगने वाले समय की तुलना करके, उन्होंने पाया कि कुछ कुंजियों को लगातार दूसरों की तुलना में अधिक समय लगता था। अंतर बहुत कम था—लगभग 1.35 प्रतिशत—लेकिन सुरक्षा की दुनिया में, इतना छोटा और सुसंगत अंतर भी एक संकेत हो सकता है कि कोई रहस्य प्रकट हो रहा है। प्रश्न यह था कि क्या यह एक वास्तविक भेद्यता (vulnerability) थी, कोड में एक खामी जिसने गुप्त कुंजी को समय को प्रभावित करने की अनुमति दी, या यह केवल एक सांख्यिकीय भ्रम था जो सिस्टम की यादृच्छिक प्रकृति के कारण उत्पन्न हुआ था।
इसका उत्तर देने के लिए, शर्मा ने केवल एक साधारण अनुमान या त्वरित परीक्षण पर भरोसा नहीं किया। उन्होंने शोर (noise) से संकेत (signal) को अलग करने के लिए एक कठोर, पूर्व-नियोजित प्रयोग डिजाइन किया। उनके तरीके का मुख्य आधार यह देखना था कि कंप्यूटर वास्तव में हर एक हस्ताक्षर के लिए कितना कार्य कर रहा था, न कि केवल अंतिम समय को देखना। उन्होंने एक ऐसा उपकरण बनाया जो रिकॉर्ड करता था कि कंप्यूटर को एक वैध हस्ताक्षर खोजने से पहले कितनी बार प्रयास और विफलता से गुजरना पड़ा। यह महत्वपूर्ण है क्योंकि संदेश पर हस्ताक्षर करने में लगने वाला समय सीधे तौर पर इस बात से जुड़ा होता है कि कंप्यूटर को कितनी बार पुन: प्रयास (retry) करना पड़ा। यदि किसी कुंजी को "भाग्यशाली" संदेशों का सेट मिला जिसमें कम पुन: प्रयास करने की आवश्यकता थी, तो वह तेजी से समाप्त हो जाएगा, इसलिए नहीं कि कुंजी अलग थी, बल्कि इसलिए कि उस दिन गणित आसान था।
शर्मा ने एक विशाल अभियान चलाया, जिसमें प्रत्येक बीस कुंजियों के लिए 1.2 मिलियन से अधिक हस्ताक्षर उत्पन्न किए गए। फिर उन्होंने हस्ताक्षरों को उनके द्वारा आवश्यक कार्य की सटीक मात्रा के आधार पर समूहों में विभाजित किया। उन्होंने एक सरल प्रश्न पूछा: यदि दो हस्ताक्षरों को ठीक समान संख्या में पुन: प्रयास करने पड़े और वे बिल्कुल समान चरणों से गुजरे, तो क्या वे अभी भी इस आधार पर अलग-अलग समय लेते थे कि कौन सी कुंजी उपयोग की जा रही थी? उत्तर स्पष्ट रूप से 'नहीं' था। एक बार जब उन्होंने पुन: प्रयासों की संख्या को ध्यान में रखा, तो कुंजियों के बीच का समय का अंतर गायब हो गया। जो शेष सूक्ष्म भिन्नताएं थीं, वे इतनी छोटी थीं कि उन्हें कंप्यूटर के प्रोसेसर और मेमोरी के प्राकृतिक, यादृच्छिक उतार-चढ़ाव द्वारा समझाया जा सकता था, न कि स्वयं गुप्त कुंजियों द्वारा।
अध्ययन ने यह सुनिश्चित करने के लिए आगे बढ़कर काम किया कि परिणाम किसी विशिष्ट कंप्यूटर या मेमोरी में सॉफ्टवेयर लोड करने के तरीके का संयोग तो नहीं हैं। शर्मा ने कुंजियों के एक नए सेट और संदेशों के एक नए सेट के साथ प्रयोग को दोहराया। उन्होंने एक नियंत्रण परीक्षण (control test) भी चलाया जहाँ उन्होंने डेटा को संभालने के क्रम को बदल दिया। यदि समय का अंतर गुप्त कुंजियों के कारण होता, तो कुंजियों का क्रम मायने नहीं रखता। यदि अंतर कंप्यूटर की मेमोरी में डेटा के स्थान के कारण होता, तो क्रम परिणामों को बदल देता। प्रयोग ने दिखाया कि समय का अंतर कुंजियों का पालन नहीं कर रहा था; वह मेमोरी लेआउट का पालन कर रहा था। इसने पुष्टि की कि स्पष्ट समय का अंतर कंप्यूटर के वातावरण का एक आर्टिफैक्ट (artifact) था, न कि कोड की सुरक्षा में कोई खामी।
शोध ने कोड के उस हिस्से को भी देखा जो डेटा के आधार पर थोड़ा अलग होने के लिए जाना जाता था। सॉफ्टवेयर प्रक्रिया के दौरान संख्याओं के आकार की जाँच करता है, और यदि कोई संख्या बहुत बड़ी है, तो यह तुरंत सूची की शेष जाँच करना बंद कर देता है। यह समय बचाने के लिए एक मानक अनुकूलन (optimization) है, लेकिन इसका अर्थ यह है कि कंप्यूटर कुछ इनपुट के लिए दूसरों की तुलना में जल्दी रुक सकता है। शर्मा ने इस शॉर्टकट के प्रभाव को मापा और पाया कि इसने केवल एक नैनोसेकंड का विलंब जोड़ा। यह एक नैनोसेकंड, एक बिलियनवां सेकंड, एक ऐसा समय पैमाना है जो इतना छोटा है कि यह एक हमलावर द्वारा वास्तविकता में मापने या कुंजी चुराने के लिए उपयोग किए जाने योग्य सीमा से बहुत नीचे है।
इन निष्कर्षों को इन नए डिजिटल हस्ताक्षर मानकों के पूरे परिवार पर लागू किया गया, जिसमें विभिन्न सुरक्षा स्तरों के लिए उपयोग किए जाने वाले छोटे और बड़े संस्करण भी शामिल हैं। हर मामले में, परिणाम एक ही था। सॉफ्टवेयर कार्यान्वयन स्वच्छ था। समय के अंतर का स्पष्ट होना यह संकेत नहीं था कि गुप्त कुंजियाँ लीक हो रही हैं। इसके बजाय, वे उस सिस्टम का स्वाभाविक परिणाम थे जिसे उन कुंजियों की रक्षा के लिए ही अपने कार्य को बदलने के लिए डिज़ाइन किया गया है। अध्ययन ने निष्कर्ष निकाला कि बाउन्सी कैसल लाइब्रेरी इस विशिष्ट प्रकार के हमले से सुरक्षित है। समय में 1.35 प्रतिशत का प्रसार, जिसने शुरू में चिंता पैदा की थी, वास्तव में बीस अलग-अलग कुंजियों द्वारा एक यादृच्छिक वितरण से बीस अलग-अलग नमूने लेने की आवाज़ थी, जो एक सुरक्षा उल्लंघन के बजाय एक सांख्यिकीय प्रतिध्वनि (statistical echo) थी।
यह जांच इस बात की याद दिलाती है कि यह सिद्ध करना कितना कठिन है कि कोई प्रणाली सुरक्षित है। अतीत में, शोधकर्ता पहली बार समय के अंतर के संकेत मिलने पर ही रुक सकते थे और इसे एक भेद्यता घोषित कर सकते थे। यह अध्ययन दिखाता है कि जटिल, यादृच्छिक प्रणालियों में, पहला संकेत अक्सर केवल सिस्टम द्वारा अपना काम करने का संकेत होता है। किए गए कार्य को सावधानीपूर्वक मापकर और वातावरण को नियंत्रित करके, शोधकर्ता एक वास्तविक लीक और एक सांख्यिकीय भ्रम के बीच अंतर करने में सक्षम रहे। परिणाम इस बात की पुष्टि है कि नए डिजिटल हस्ताक्षर मजबूत हैं, और उनकी गति में यादृच्छिक भिन्नता एक विशेषता है, कोई त्रुटि (bug) नहीं। उन लाखों उपकरणों के लिए जो इन हस्ताक्षरों पर सुरक्षित रहने के लिए निर्भर हैं, संदेश स्पष्ट है: ताला सुरक्षित है, और चाबी घुमाने में लगने वाला समय आपको उसके भीतर के रहस्य के बारे में कुछ भी नहीं बताता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।