2010-09-29 8 views
5

मैं looking around for encryption रहा हूं और मैंने इंद्रधनुष टेबल्स के कई कार्यान्वयन को पासवर्ड पर आकर्षण (विंडोज़ कहें) जैसे काम देखा है।आरएआर पासवर्ड, इंद्रधनुष टेबल क्यों काम नहीं करते?

मुझे अभी तक एक आरएआर फ़ाइल पर इंद्रधनुष हमले का कार्यान्वयन देखने को मिला है। ऐसा क्यों है। इस तरह के हमलों के लिए आरएआर एन्क्रिप्शन अधिक सुरक्षित और प्रतिरक्षा क्या बनाता है?

+2

क्योंकि 'हैशिंग! = Encryption' – NullUserException

उत्तर

15

इंद्रधनुष तालिका हैश फ़ंक्शन को बदलने के लिए एक अनुकूलन है: जब आपके पास सब कुछ है तो पासवर्ड ढूंढना। यद्यपि यह यहां सख्ती से जरूरी नहीं है, मैं What are rainbow tables and how are they used? पढ़ने की अनुशंसा करता हूं जिसमें एक बहुत अच्छी व्याख्या है जो कुछ सामान्य गलत धारणाओं को साफ़ करती है।

आरएआर एन्क्रिप्शन के लिए दो भाग हैं (या बस कुछ भी जो कुछ डेटा एन्क्रिप्ट करने के लिए पासवर्ड का उपयोग करता है)। सबसे पहले, key derivation function (केडीएफ) का उपयोग करके, एक एन्क्रिप्शन कुंजी पासवर्ड से ली गई है। फिर एन्क्रिप्शन कुंजी का उपयोग डेटा को एन्क्रिप्ट या डिक्रिप्ट करने के लिए किया जाता है।

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

किसी भी मामले में, rainbow tables only help against unsalted hashes। WinRAR uses a good KDF (PBKDF2) जिसमें नमक शामिल है।

एक KDF एक निश्चित-आकार कुंजी में एक चर लंबाई स्ट्रिंग बदल देती है। केडीएफ की एक प्रमुख संपत्ति यह है कि इसे विशिष्ट कुंजी इनपुट स्ट्रिंग को अलग-अलग कुंजियों में रखना चाहिए। एक cryptographic hash function (SHA-1, SHA-256, ...) इसे प्राप्त करता है।

  • दो लोग एक ही पासवर्ड चुनते हैं, तो वे एक ही होने तक समाप्त नहीं होना चाहिए: जब इनपुट स्ट्रिंग एक मानव-प्रदान की पासवर्ड है, वहाँ दो अन्य महत्वपूर्ण गुण है जो एक हैश समारोह अपने आप ही को प्राप्त नहीं करता हैं कुंजी।
  • KDF, गणना करने के लिए धीमी गति से होना चाहिए ताकि एक हमलावर जानवर बल द्वारा पासवर्ड नहीं मिल रहा।

एक नमक पहले संपत्ति प्राप्त होता है। दूसरी संपत्ति इस तरह कुछ करने से हासिल की जाती है: पासवर्ड लें, नमक लगाएं, हैश बहुत है; इस हैश को ले लो, नमक लगाओ, हैश बहुत है; कई बार दोहराना।

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

6

इंद्रधनुष सारणी हैश को डीकोड करने के लिए उपयोग नहीं किया जाता है, एन्क्रिप्शन नहीं। एक इंद्रधनुष तालिका संभव इनपुट के कुछ सेट के लिए प्रीकंप्यूटेड हैंश की एक सूची है।

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

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

+0

यह एक बहुत ही अच्छा और बहुत विस्तृत विवरण है। धन्यवाद! ठीक वही जो मेरे द्वारा खोजा जा रहा था। वैसे, हम में से कुछ को सोने की जरूरत है! ;) आप अन्य उपयोगकर्ता की प्रोफ़ाइल देख सकते हैं और देख सकते हैं कि उन्होंने कितनी देर तक चेक नहीं किया है (आपकी आखिरी टिप्पणी के संबंध में!)। – Frankie

+0

मैं क्षमा चाहता हूं। हम दुनिया के दूसरी तरफ अलग-अलग समय में सोते हैं। ;-) –

+0

यदि आपके पास ब्लॉक के लायक सादे टेक्स्ट पालना है, तो आप * एन्क्रिप्शन के खिलाफ इंद्रधनुष तालिकाओं का उपयोग कर सकते हैं। इस मामले में, उस सादे टेक्स्ट ब्लॉक का एन्क्रिप्टेड रूप "हैश" के बराबर है - इंद्रधनुष सारणी का सिद्धांत समान रूप से लागू होता है। – caf

1

हैशड पासवॉर्ड्स के लिए इंद्रधनुष तालिका को हरा करने का एक आसान तरीका salt का उपयोग करना है। मैं आरएआर फाइलों में एन्क्रिप्शन से परिचित नहीं हूं, लेकिन the Wikipedia page कहता है कि आरएआर 3 badass encryption scheme का उपयोग करता है।

+0

एन्क्रिप्शन एल्गोरिदम यहां अप्रासंगिक है, पासवर्ड से कुंजी प्राप्त करने का तरीका क्या मायने रखता है। (Http://blog.zorinaq.com/?e=15) [RAR एक अच्छा कुंजी व्युत्पत्ति समारोह का उपयोग करता है], लेकिन वह वैसे भी इंद्रधनुष तालिकाओं का उपयोग करने के लिए अप्रासंगिक है (देखें एंड्रयू या मेरा उत्तर)। – Gilles

3

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

+0

एन्क्रिप्शन एल्गोरिदम यहां अप्रासंगिक है, पासवर्ड से कुंजी प्राप्त करने का तरीका क्या मायने रखता है। (Http://blog.zorinaq.com/?e=15) [RAR एक अच्छा कुंजी व्युत्पत्ति समारोह का उपयोग करता है], लेकिन वह वैसे भी इंद्रधनुष तालिकाओं का उपयोग करने के लिए अप्रासंगिक है (देखें एंड्रयू या मेरा उत्तर)। – Gilles

+0

@ गिल्स - हाँ, यह मेरा मुद्दा था। मुझे लगता है कि आप ही थे जिन्होंने मुझे एक डाउनवोट दिया, जो मुझे लगता है कि अवांछित है। कृपया अपने डाउनवोट को उलट दें। –

-2

आंद्रे: नमक क्रैश को क्रैक करने में कठोर नहीं बनाते हैं। चूंकि नमक के पास सादे टेक्स्ट में नमक संग्रहीत किया जाता है, इसलिए केवल उस हिस्से को क्रैक किए गए हैश से बाहर लेना आसान होता है ...

नमक का उद्देश्य यह सुनिश्चित करना है कि समान सादे टेक्स्ट में अभी भी अलग-अलग हैंश हो। उदाहरण के लिए, कहें कि आपका पासवर्ड एन्ट्रॉपी 9 है और इसका हैश 64 9एसीबी 24bab481f16ee49cdf0a40870 है। अब अगर आप किसी और के हैश को 649acba24bab481f16ee49cdf0a40870 देखते हैं, तो आप तुरंत अपना पासवर्ड जानते हैं! स्पष्ट रूप से इसमें गैर-सुरक्षा संदर्भों में प्रभाव पड़ता है, जैसे हैशैप्स इत्यादि।

+0

यह एक टिप्पणी होनी चाहिए, जवाब नहीं। –

+2

यह पूरी तरह से सही नहीं है – NullUserException

+0

@Jim आपको टिप्पणी करने के लिए 50 प्रतिनिधि की आवश्यकता है। – NullUserException

संबंधित मुद्दे