2010-03-08 9 views
6

I read that SHA-1 is being retired from the FIPS 180-2 standard.विभिन्न प्लेटफार्मों में एसएचए -2 के लिए समर्थन की स्थिति क्या है?

स्पष्ट रूप से SHA-1 में कमजोरियां हैं जो इस निर्णय को जन्म देती हैं। क्या कोई उस निर्णय के आधार पर विस्तार कर सकता है? वाणिज्यिक अनुप्रयोगों में एसएचए -1 के उपयोग के लिए क्या प्रभाव हैं?

मेरे असली सवाल कर रहे हैं:

  • विभिन्न वर्ग पुस्तकालयों और प्लेटफार्मों में SHA-2 समर्थन की स्थिति क्या है?
  • क्या मुझे SHA-2 पर जाने का प्रयास करना चाहिए?

मुख्यधारा प्लेटफार्मों में रुचि रखते हैं: .NET, जावा, C/C++, अजगर, जावास्क्रिप्ट, आदि

उत्तर

5

SHA1, Sha0, MD4 और md5 सब पिछले कुछ वर्षों में असुरक्षित पाए गए हैं। समस्या यह है कि यदि कोई हमलावर 2 अलग-अलग संदेशों को उत्पन्न कर सकता है जो परिणामी हैश उत्पन्न करते हैं, तो इसे टकराव कहा जाता है। इससे पीकेआई, पासवर्ड प्रबंधन, फ़ाइल अखंडता जांच आदि के लिए बहुत सारी समस्याएं होती हैं। वर्तमान में sha1 केवल 2^52 बिट सुरक्षा प्रदान करता है जो हमलावरों की पहुंच के भीतर है। जहां SHA-256 (शा 2 परिवार का सबसे छोटा सदस्य) 2^256 बिट्स प्रदान करता है।

सभी प्लेटफ़ॉर्म में SHA-256 कार्यान्वयन होना चाहिए, हालांकि उनमें से सभी मूल नहीं हैं। PHP में आपको mhash एक्सटेंशन का उपयोग करना होगा। इसके बदले में कुछ प्लेटफ़ॉर्म सुरक्षित हैश फ़ंक्शंस प्रदान नहीं करते हैं, मैं ईमानदारी से इसका मानना ​​चाहता हूं क्योंकि उन्हें सिक्योरिटी की परवाह नहीं है। PHP के मामले में मुझे एक तथ्य के लिए पता है कि they don't care about secuirty

वर्तमान में SHA-2 के साथ कुछ भी गलत नहीं है और इसमें सुरक्षा का बहुत बड़ा मार्जिन है। यदि आप वास्तव में परावर्तक हैं तो आप SHA-512 का उपयोग कर सकते हैं। शा -3 2012 में बाहर हो जाएगा, आपको अपने PASSWORDS जैसे शाआ -2 के साथ जो कुछ भी कर सकता है उसे पैच करना चाहिए, और उसके बाद SHA-3 पर जाएं जब आप कर सकते हैं लेकिन SHA-512 बहुत लंबे समय तक अच्छा होगा।

+0

-1 पुरानी फड फैलाने के लिए –

+4

@edgar जब तक PHP में सुरक्षित हैश फ़ंक्शन की तरह मूल सेक्यूरिटी फीचर्स की कमी होती है, तो यह अभी भी बहुत प्रासंगिक है। मैं जो सोचता हूं उसके आधार पर तथ्यों को नहीं बदल सकता। – rook

4

विंडोज विस्टा और बाद में माइक्रोसॉफ्ट एन्हांस्ड आरएसए और क्रिप्टोएपीआई के लिए एईएस क्रिप्टोग्राफिक प्रदाता में SHA-2 का समर्थन करता है, और .NET Framework ने .NET 1.1 के बाद SHA-2 का समर्थन किया है।

1

अधिकांश प्लेटफ़ॉर्म अब SHA-2 परिवार का समर्थन करते हैं। हालांकि, SHA-1 अभी भी एसएसएल जैसे कई अनुप्रयोगों में उपयोग किया जाता है, और थोड़ी देर के लिए उपयोग में लाया जाएगा।

"SHA-3" के लिए एक प्रतियोगिता अच्छी तरह से चल रही है। जब यह आता है तो SHA-1 से नए SHA-3 मानक तक कूदना उचित हो सकता है।

+0

sha3 कुछ साल दूर है, मैं सुनिश्चित करता हूं कि sha2 asap पर जाकर आप सुरक्षित रहें। इसका केवल 1 फ़ंक्शन कॉल चेंज है, यह अधिकांश ऐप्स के लिए एक बड़ा सौदा नहीं होना चाहिए (एक संपूर्ण पीकेआई एक अलग कहानी है और इसमें पैच करने में समय लगेगा) – rook

+0

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

+0

हैश टकराव संदेश प्रमाणीकरण कोड को प्रभावित नहीं करते हैं, वे मीडिया एक्सेस कंट्रोल पतों को भी प्रभावित नहीं करते हैं। शा -3 2012 में बाहर हो जाएगा, आपको अपने ** पासवर्ड ** जैसे शाआ -2 के साथ जो कुछ भी कर सकते हैं उसे पैच करना चाहिए। – rook