कोलाइसन अटैक

क्रिप्टोग्राफी में, क्रिप्टोग्राफ़िक हैश पर कोलाइसन अटैक सेम हैश वैल्यू अर्थात हैश कोलाइसन प्रोड्यूस करने वाले दो इनपुट को खोजने का प्रयास करता है। यह प्रीइमेज अटैक के कंट्रास्ट है जहां एक स्पेसिफिक टारगेट हैश वैल्यू स्पेसिफाई किया जाता है।

कोलाइसन अटैक रफ़ली दो टाइप के होते हैं: अधिक सामान्यतः:
 * क्लासिकल कोलाइसन अटैक: दो डिफरेंट मैसेज m1 और m2 इस टाइप से ढूंढें कि hash(m1) = hash(m2) है।
 * चूजेन-प्रीफिक्स कोलाइसन अटैक: दो डिफरेंट प्रीफिक्स p1 और p2 दिए गए, दो अपेनडेज m1 और m2 इस टाइप से खोजें कि hash(p1 ∥ m1) = hash(p2 ∥ m2), जहां ∥ कॉनकाटीनेशन को दर्शाता है।

क्लासिकल कोलाइसन अटैक
मैथेमैटिकली स्टेटेड, एक कोलाइसन अटैक में दो डिफरेंट मैसेज m1 और m2 मिलते हैं, जैसे कि हैश hash(m1) = hash(m2)। क्लासिकल कोलाइसन अटैक में, अटैकर का किसी भी मैसेज कंटेंट पर कोई कंट्रोल नहीं होता है, लेकिन उन्हें एल्गोरिदम द्वारा अर्बिट्रेरिली चुना जाता है।

जैसे सिमेट्रिक-की साइफर ब्रूट फोर्स अटैक के प्रति वल्नरेबल होते हैं, वैसे ही प्रत्येक क्रिप्टोग्राफ़िक हैश फ़ंक्शन बर्थडे अटैक का यूज़ करके कोलाइसन के लिए स्वाभाविक रूप से वल्नरेबल होता है। बर्थडे प्रॉब्लम के कारण, ये अटैक किसी ब्रूट फोर्स के कम्पेरिज़न में कहीं अधिक तीव्र होते हैं। n बिट्स का एक हैश 2n/2 टाइम स्टेप (हैश फ़ंक्शन का मूल्यांकन) में तोड़ा जा सकता है।

स्पेसिफिक हैश फ़ंक्शंस में क्रिप्टएनालिसिस को इम्प्लॉय करके अधिक एफ्फिशीएंट अटैक पॉसिबल हैं। जब कोलाइसन अटैक का पता चलता है और बर्थडे अटैक के कम्पेरिज़न में तीव्र पाया जाता है, तो हैश फ़ंक्शन को प्रायः ब्रोकन अनाउन्स किया जाता है। एनआईएसटी हैश फ़ंक्शन कॉम्पीटीशन मुख्य रूप से दो बहुत ही नोर्मली यूज़ किए जाने वाले हैश फ़ंक्शन, एमडी5 और एसएचए-1 के विरुद्ध पब्लिश कोलाइसन अटैक से प्रेरित थी। एमडी5 के विरुद्ध कोलाइसन अटैक में इतना इम्प्रूवमेंट हुआ है कि, 2007 तक, एक रेगुलर कंप्यूटर पर इसमें केवल कुछ सेकंड लगते हैं। इस तरह से बनाए गए हैश कोलाइसन सामान्यतः कांस्टेंट लेंथ के होते हैं और काफी हद तक अनस्ट्रक्चर्ड होते हैं, इसलिए इन्हें वाइडस्प्रेड डॉक्यूमेंट फॉर्मेट या प्रोटोकॉल पर अटैक करने के लिए सीधे इम्प्लीमेंट नहीं किया जा सकता है।

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


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

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

मैथेमैटिकली स्टेटेड है कि, दो डिफरेंट प्रीफिक्स p1, p2 दिए गए हैं, अटैक में दो अपेनडेज m1 और m2 इस टाइप मिलते हैं कि  hash(p1 ∥ m1) = hash(p2 ∥ m2) (जहाँ ∥ कॉनकाटीनेशन है)।

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

एक रियल-वर्ल्ड कोलाइसन अटैक दिसंबर 2008 में पब्लिश हुआ था जब सिक्योरिटी रिसर्चर के एक समूह ने एक फ़ोर्ज़ड X.509 साइन सर्टिफिकेट पब्लिश किया था जिसका यूज़ एमडी 5 हैश फ़ंक्शन के विरूद्व प्रीफिक्स कोलाइसन अटैक का लाभ उठाते हुए, सर्टिफिकेट अथॉरिटी को इमपरसोनेट करने के लिए किया जा सकता था। इसका अर्थ यह था कि एक अटैकर किसी भी ट्रांसपोर्ट लेयर सिक्योरिटी - सिक्योर्ड वेबसाइट को मिडिल-मैन के रूप में प्रस्तुत कर सकता है, जिससे इलेक्ट्रॉनिक कॉमर्स की सिक्योरिटी के लिए प्रत्येक वेब ब्राउज़र में डेवलप्ड सर्टिफिकेट वेलिडेशन को नष्ट कर दिया जा सकता है। गलत सर्टिफिकेट वास्तविक अधिकारियों द्वारा रीवोकेबल नहीं किया जा सकता है, और इसमें अर्बिट्रेरिली फ़ोर्ज़ड एक्सपायरी टाइम भी हो सकता है। हालाँकि 2004 में एमडी5 को बहुत वीक माना जाता था, सर्टिफिकेट अथॉरिटी अभी भी दिसंबर 2008 में एमडी5-वेरिफाइड सर्टिफिकेटों पर साइन करने के इच्छुक थे, और कम से कम एक माइक्रोसॉफ्ट कोड-साइन सर्टिफिकेट मई 2012 में अभी भी एमडी5 का यूज़ कर रहा था।

फ़्लेम (मैलवेयर) मैलवेयर ने माइक्रोसॉफ्ट रूट सर्टिफिकेट द्वारा अपने घटकों के कोड साइन को धोखा देने के लिए चुने हुए-प्रीफिक्स कोलाइसन अटैक के एक नए वेरिएशन का सफलतापूर्वक यूज़ किया जो अभी भी कम्प्रोमाइस्ड एमडी5 एल्गोरिदम का यूज़ करता है।

2019 में, रिसर्चर ने 266.9और 269.4 के बीच और लागत 100,000 अमेरिकी डॉलर से कम कंप्यूटिंग कॉम्पलेक्सिटी के साथ एसएचए-1 के विरुद्ध एक चूज़न-प्रीफिक्स कोलाइसन अटैक पाया। 2020 में, रिसर्चर ने एसएचए-1 के विरुद्ध चुने गए-प्रीफिक्स कोलाइसन अटैक की कॉम्पलेक्सिटी को कम करके 263.4 कर दिया।

अटैक सिनेरियो
क्रिप्टोग्राफ़िक हैश फ़ंक्शंस के कई एप्लीकेशन कोलाइसन रेजिस्टेंस पर निर्भर नहीं होते हैं, इस टाइप कोलाइसन अटैक उनकी सिक्योरिटी को प्रभावित नहीं करते हैं। उदाहरण के लिए, एचएमएसी वल्नरेबल नहीं हैं। अटैक के यूज़ी होने के लिए, अटैकर के पास हैश फ़ंक्शन के इनपुट का कंट्रोल होना चाहिए।

डिजिटल साइन
क्योंकि डिजिटल साइन एल्गोरिदम बड़ी मात्रा में डेटा पर एफिशिऐंटली साइन नहीं कर सकते हैं, अधिकांश इम्प्लीमेंटेशन डेटा की मात्रा को कम करने (संपीड़ित) के लिए हैश फ़ंक्शन का यूज़ करते हैं जिन्हें कांस्टेंट साइज में साइन डाउन करने की आवश्यकता होती है। जैसे ही अंडरलाइंग हैश फ़ंक्शन प्रक्टिकली टूट जाता है, डिजिटल साइन स्कीम प्रायः हैश कोलाइसन के प्रति वल्नरेबल हो जाती हैं; अंडरलाइंग हैशिंग जैसी तकनीकें कठिन प्रीइमेज अटैक की आवश्यकता के कारण अतिरिक्त समय खरीद लेंगी।

सामान्य अटैक सिनेरियो इस टाइप होता है:
 * 1) मैलोरी दो डिफरेंट डॉक्यूमेंट A और B बनाता है जिनका हैश वैल्यू सेम होता है, यानी कोलाइसन। मैलोरी बॉब को डॉक्यूमेंट बी स्वीकार करने के लिए ओसटेन्सीब्ली ऐलिस से धोखा देना चाहता है।
 * 2) मैलोरी डॉक्यूमेंट ए को ऐलिस को भेजता है, जो डॉक्यूमेंट में कही गई बातों से सहमत होती है, उसके हैश पर साइन करती है, और मैलोरी को साइन भेजती है।
 * 3) मैलोरी डॉक्यूमेंट ए से डॉक्यूमेंट बी में साइन जोड़ता है।
 * 4) मैलोरी फिर बॉब को साइन और डॉक्यूमेंट बी भेजता है, यह दावा करते हुए कि ऐलिस ने बी पर साइन किए हैं। क्योंकि डिजिटल साइन डॉक्यूमेंट बी के हैश से मेल खाता है, बॉब का सॉफ़्टवेयर सब्स्टिट्यूशन का पता लगाने में असमर्थ है।

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

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

हैश फ़ंक्शन को अत्यधिक जटिल बनाए बिना हैश फ्लडिंग को रोकने के लिए, नए कुंजी वाले हैश फ़ंक्शन प्रस्तुत किए गए हैं, सिक्योरिटी ऑब्जेक्टिव के साथ जब तक की अननोन है तब तक कोलाइसन ढूंढना कठिन है। वे पिछले हैश के कम्पेरिज़न में धीमे हो सकते हैं, लेकिन क्रिप्टोग्राफ़िक हैश के कम्पेरिज़न में काउंट करना अभी भी बहुत आसान है। 2021 तक, डेनियल जे. बर्नस्टीन सिपहैश (2012) इस वर्ग में सबसे वाइडस्प्रेड रूप से यूज़ किया जाने वाला हैश फ़ंक्शन है। (गैर-कुंजी वाले सरल हैश तब तक यूज़ के लिए सुरक्षित रहते हैं जब तक एप्लिकेशन की हैश तालिका बाहर से कंट्रोल नहीं होती है।)

(आंशिक) प्रीइमेज अटैक का यूज़ करके ब्लूम फिल्टर को भरने के लिए एक सेम अटैक करना पॉसिबल है।

बाहरी संबंध

 * "Meaningful Collisions", attack scenarios for exploiting cryptographic hash collisions
 * Fast एमडी5 and एमडी4 Collision Generators - Bishop Fox (formerly Stach & Liu). Create एमडी4 and एमडी5 hash collisions using groundbreaking new code that improves upon the techniques originally developed by Xiaoyun Wang.  Using a 1.6 GHz Pentium 4, एमडी5 collisions can be generated in an average of 45 minutes, and एमडी4 collisions can be generated in an average of 5 seconds. Originally released on 22Jun2006.