Cryptology Academy · पाठ

Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ

समझिए कि GCM और अन्य मोड में nonce का पुनःउपयोग ciphertext की गोपनीयता को पूरी तरह कैसे भंग कर सकता है।

पाठ 2, कुल 4 में से13 चरण

Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ, CoddyKit पर Cryptology Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cryptology Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

क्रिप्टोग्राफी में नॉन्स का उद्देश्य

नॉन्स (एक बार उपयोग की जाने वाली संख्या) यह सुनिश्चित करता है कि एक ही प्लेनटेक्स्ट संदेश को दो बार कूटबद्ध करने पर अलग-अलग सिफरटेक्स्ट बनें। अर्थगत सुरक्षा के लिए यह आवश्यक है: कई सिफरटेक्स्ट देखने वाला हमलावर यह जानकारी प्राप्त नहीं कर सकता कि वे समान या अलग-अलग प्लेनटेक्स्ट को कूटबद्ध करते हैं। स्ट्रीम सिफ़र और CTR-मोड ब्लॉक सिफ़र में नॉन्स कीस्ट्रीम निर्माण के लिए प्रारंभिक मान प्रदान करता है, इसलिए सुरक्षा के लिए नॉन्स अत्यंत महत्वपूर्ण है।

काउंटर आरंभीकरण के रूप में GCM नॉन्स

एईएस-GCM में 96-बिट नॉन्स का उपयोग CTR मोड कूटलेखन के लिए काउंटर आरंभ करने में किया जाता है और यह GHASH प्रमाणीकरण गणना में भी योगदान देता है। प्रत्येक एईएस ब्लॉक के लिए काउंटर मान नॉन्स से क्रमशः बढ़ाकर निकाला जाता है। यदि दो कूटलेखन एक ही नॉन्स और कुंजी का उपयोग करते हैं, तो वे समान कीस्ट्रीम बनाते हैं, जिससे उनके सिफरटेक्स्ट का XOR उनके प्लेनटेक्स्ट के XOR के बराबर होता है।

GCM में नॉन्स के पुनःउपयोग का विनाशकारी प्रभाव

एक ही (कुंजी, नॉन्स) युग्म से कूटबद्ध किए गए दो GCM सिफरटेक्स्टों का XOR उनके प्लेनटेक्स्ट के XOR के बराबर होता है। यदि हमलावर एक प्लेनटेक्स्ट जानता है, जो चुने हुए प्लेनटेक्स्ट वाली परिस्थितियों में सामान्य है, तो वह दूसरे प्लेनटेक्स्ट को तुरंत पुनर्प्राप्त कर सकता है। ज्ञात प्लेनटेक्स्ट के बिना भी सिफरटेक्स्टों का XOR भाषा के पैटर्न उजागर करता है और क्रिब-ड्रैगिंग तकनीकों से उस पर हमला किया जा सकता है। यह क्रिप्टोग्राफी में गलत उपयोग के सबसे विनाशकारी तरीकों में से एक है।

नॉन्स के पुनःउपयोग से प्रमाणीकरण कुंजी पुनर्प्राप्त करना

GCM नॉन्स का पुनःउपयोग प्लेनटेक्स्ट पुनर्प्राप्ति के अतिरिक्त एक और विनाशकारी परिणाम उत्पन्न करता है। GHASH प्रमाणीकरण कुंजी H केवल कूटलेखन कुंजी से व्युत्पन्न होती है। यदि दो संदेशों में (कुंजी, नॉन्स) युग्म समान हो, तो हमलावर H पुनर्प्राप्त करने के लिए बहुपद समीकरण हल कर सकता है। H के ज्ञात होने पर हमलावर मनमाने सिफरटेक्स्टों के लिए मान्य GCM प्रमाणीकरण टैग गढ़ सकता है और संदेश की अखंडता को पूरी तरह भंग कर सकता है।

TLS 1.3 में नॉन्स का निर्माण

TLS 1.3 ने TLS 1.2 के कार्यान्वयनों में नॉन्स के पुनःउपयोग से जुड़े जोखिमों से सीख ली। TLS 1.3 GCM नॉन्स बनाते समय 12-बाइट के लेखन आईवी (हैंडशेक से निकाले गए) और 8-बाइट की क्रम संख्या (12 बाइट करने के लिए आरंभ में शून्य जोड़कर) का XOR करता है। क्रम संख्याएँ प्रत्येक रिकॉर्ड के लिए बढ़ती हैं, इसलिए हर रिकॉर्ड एक अद्वितीय नॉन्स का उपयोग करता है। इससे यादृच्छिक नॉन्स बनाने का जोखिम समाप्त हो जाता है और क्रम संख्या तंत्र के माध्यम से नॉन्स की अद्वितीयता सुनिश्चित होती है।

पुनःप्रेषण हमलों का अवलोकन

पुनःप्रेषण हमले में किसी मान्य संदेश या प्रमाणीकरण टोकन को पकड़कर बाद में फिर भेजा जाता है, ताकि धोखाधड़ीपूर्ण परिणाम प्राप्त किया जा सके। उदाहरण के लिए, बैंकिंग लेन-देन को दोबारा भेजकर दोहरा शुल्क लगाना, किसी मान्य प्रमाणीकरण प्रतिक्रिया को दोबारा भेजकर उपयोगकर्ता का रूप धारण करना, या किसी हस्ताक्षरित आदेश को उपकरण पर दोबारा भेजना। हमलावर को संदेश को समझने या उसमें बदलाव करने की आवश्यकता नहीं होती; पकड़े गए डेटा को बस फिर से भेजना ही हमले के लिए पर्याप्त होता है।

पुनःप्रेषण रोकने के लिए टाइमस्टैम्प

प्रमाणित संदेशों में टाइमस्टैम्प शामिल करने से पुनःप्रेषण से सुरक्षा मिलती है। प्राप्तकर्ता संदेशों को केवल एक छोटी समय-सीमा के भीतर स्वीकार करता है, जैसे दावा किए गए टाइमस्टैम्प से 5 मिनट के भीतर। कई घंटे पहले दोबारा भेजा गया संदेश इस सीमा से बाहर होता है और अस्वीकार कर दिया जाता है। टाइमस्टैम्प का प्रमाणीकरण आवश्यक है, अर्थात उसे एचएमएसी या AEAD के अतिरिक्त डेटा के भीतर होना चाहिए, ताकि हमलावर उसमें बदलाव करके उसे नया दिखाने में सक्षम न हो।

पुनःप्रेषण रोकने के लिए क्रम संख्याएँ

क्रम संख्याएँ टाइमस्टैम्प की तुलना में अधिक सुदृढ़ पुनःप्रेषण सुरक्षा प्रदान करती हैं, क्योंकि वे पुराने पुनःप्रेषणों के साथ-साथ दोहराए गए और क्रम से बाहर वितरित संदेशों का भी पता लगाती हैं। प्राप्तकर्ता अगली अपेक्षित क्रम संख्या और हाल में देखी गई संख्याओं की एक चलायमान विंडो बनाए रखता है। प्रत्येक संदेश की क्रम संख्या स्वीकार्य विंडो के भीतर होनी चाहिए और पहले देखी हुई नहीं होनी चाहिए। TLS किसी सत्र के भीतर रिकॉर्ड के पुनःप्रेषण को रोकने के लिए क्रम संख्याओं का उपयोग करता है।

सुरक्षित नॉन्स बनाना

एईएस-GCM के लिए यादृच्छिक नॉन्स बनाने की अनुशंसित रणनीति में क्रिप्टोग्राफ़ी की दृष्टि से सुरक्षित छद्म-यादृच्छिक संख्या जनित्र (CSPRNG) से 96 बिट लेना शामिल है। 96-बिट के यादृच्छिक नॉन्स के साथ, 2^32 कूटलेखनों के बाद (लगभग 4 अरब) जन्मदिन-सीमा के कारण टकराव की प्रायिकता 2^-32 तक पहुँच जाती है। अधिक मात्रा वाले अनुप्रयोगों के लिए काउंटर-आधारित नॉन्स अपनाएँ या कोई अलग AEAD उपयोग करें, जैसे 192-बिट नॉन्स वाला XChaCha20-Poly1305, ताकि सुरक्षित सीमा बढ़ाई जा सके।

नियतात्मक नॉन्स: काउंटर प्रबंधन

नियतात्मक काउंटर-आधारित नॉन्स जन्मदिन-सीमा से जुड़ी समस्याओं से बचाते हैं, लेकिन इनके लिए स्थिति का सावधानीपूर्वक प्रबंधन आवश्यक है। काउंटर को अनुप्रयोग के पुनःआरंभ होने के बाद भी सुरक्षित रखना चाहिए; पुनःआरंभ पर शून्य से शुरू होने वाला काउंटर उसी कुंजी के साथ तुरंत नॉन्स का पुनःउपयोग उत्पन्न कर देता है। नॉन्स का उपयोग करने के बाद नहीं, बल्कि उससे पहले काउंटर को परमाणु रूप से अद्यतन करना चाहिए। वितरित प्रणालियों में काउंटर-आधारित नॉन्स के लिए समन्वय आवश्यक है, ताकि दो नोड एक ही काउंटर मान का उपयोग न करें।

बड़े नॉन्स के लिए XChaCha20-Poly1305

XChaCha20-Poly1305, ChaCha20-Poly1305 के नॉन्स को 96 से बढ़ाकर 192 बिट करता है। 192-बिट के यादृच्छिक नॉन्स के साथ, 2^96 कूटलेखनों के बाद भी (जो संदेशों की खगोलीय रूप से बड़ी संख्या है) जन्मदिन-सीमा के कारण टकराव की प्रायिकता नगण्य रहती है। इससे व्यावहारिक जन्मदिन-संबंधी चिंताओं के बिना यादृच्छिक नॉन्स बनाना सुरक्षित हो जाता है। libsodium का crypto_secretbox (XSalsa20-Poly1305) भी इसी कारण 192-बिट नॉन्स का उपयोग करता है।

GCM में नॉन्स के पुनःउपयोग के परिणाम

यदि दो GCM सिफरटेक्स्ट एक ही कुंजी और नॉन्स का उपयोग करके बनाए जाएँ, तो हमलावर क्या पुनर्प्राप्त कर सकता है?

नॉन्स और पुनःप्रेषण हमले का पुनरावलोकन

नॉन्स के पुनःउपयोग का पुनरावलोकन: नॉन्स सिफरटेक्स्ट की अद्वितीयता सुनिश्चित करते हैं, GCM नॉन्स का पुनःउपयोग प्लेनटेक्स्ट का XOR उजागर करता है और H की पुनर्प्राप्ति के माध्यम से प्रमाणीकरण को भंग करता है, TLS 1.3 नॉन्स की अद्वितीयता सुनिश्चित करने के लिए क्रम संख्या और आईवी का XOR उपयोग करता है, पुनःप्रेषण हमले बिना किसी बदलाव के मान्य संदेशों को फिर भेजते हैं, प्रमाणित संदेशों में टाइमस्टैम्प और क्रम संख्याएँ पुनःप्रेषण रोकती हैं, और GCM के लिए 96-बिट के यादृच्छिक नॉन्स उपयोग करें (जन्मदिन-सीमा का ध्यान रखते हुए) या बड़े यादृच्छिक नॉन्स क्षेत्र के लिए XChaCha20 का उपयोग करें।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cryptology Academy सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
67
पाठ
261

अक्सर पूछे जाने वाले प्रश्न

क्या “Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ” पाठ निःशुल्क है?

हाँ—“Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cryptology Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ” में मैं क्या सीखूँगा?

समझिए कि GCM और अन्य मोड में nonce का पुनःउपयोग ciphertext की गोपनीयता को पूरी तरह कैसे भंग कर सकता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cryptology Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cryptology Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cryptology Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cryptology Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cryptology Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Padding Oracle आक्रमण विस्तार से
  2. Replay आक्रमण और Nonce पुनःउपयोग की कमज़ोरियाँ
  3. एप्लिकेशन-स्तरीय कोड में Timing आक्रमण
  4. क्रिप्टोग्राफ़िक गलत-उपयोग के प्रमुख पैटर्न
← Cryptology Academy पर वापस जाएँ