मैं वास्तव में हैशिंग एल्गोरिदम की ताकत के बारे में सबसे हाल के घटनाक्रमों के साथ अद्यतित नहीं हूं, वर्तमान में पासवर्ड संग्रहीत करने के लिए मेरी सबसे अच्छी शर्त क्या है?
इसके अलावा, सैल्टिंग और की स्ट्रेचिंग मुझे कितनी सुरक्षा प्रदान करते हैं?
उत्तर:
उत्तर № 1 के लिए 6- MD5 टूट गया है.
- SHA-1 की महत्वपूर्ण कमजोरियाँ हैं.
- SHA-2 को इस समय पर्याप्त माना जाता है।
- SHA-3 शीघ्र ही एक FIPS मानक बन जाएगा.
- सर्वश्रेष्ठ अभ्यास पासवर्ड हैशिंग को रैंडम सैल्टिंग और की स्ट्रेचिंग के साथ संयोजित करना है, PBKDF2.
- ए पासवर्ड सलाटिंग, हैशिंग और स्ट्रेचिंग पर अच्छी चर्चा.
- मेरे सी # में पासवर्ड सलाटिंग, हैशिंग और स्ट्रेचिंग का कार्यान्वयन.
हैशिंग द्वारा प्रदान की गई अतिरिक्त सुरक्षा के लिए,यह निर्भर करता है कि आप कितने हैश पुनरावृत्तियों का उपयोग करते हैं। एक उदाहरण के रूप में, यह कहें कि आप 2 ^ 14 हैश पुनरावृत्तियों का उपयोग करने का निर्णय लेते हैं। यह पासवर्ड को 14 बिट्स से एन्ट्रापी बढ़ाता है। मूर के कानून के अनुसार, हैश द्वारा प्रदान की जाने वाली प्रत्येक अतिरिक्त बिट्रोपी का अर्थ है कि आज के समय में पासवर्ड को क्रैक करने के लिए लगभग 18 अतिरिक्त महीने। तो 21 साल (14 x 18 महीने) से पहले पुनरावृत्त हैश को उसी समय में क्रैक किया जा सकता है जैसे कि आज कच्चे पासवर्ड को क्रैक किया जा सकता है।
नमकीन द्वारा प्रदान की गई अतिरिक्त सुरक्षा यह है कि यह इंद्रधनुष तालिकाओं के उपयोग को रोकता है।
उत्तर № 2 के लिए 1
Security.stackexchange पर यह प्रश्न bcrypt बनाम PBKDF2 की एक अच्छी चर्चा है - क्या कोई सुरक्षा विशेषज्ञ पासवर्ड भंडारण के लिए bcrypt की सलाह देते हैं?
कुंजी यह है कि अकेले हैश फ़ंक्शन नहीं होगाप्रीकंप्यूटेशन अटैक (उदा। इंद्रधनुष तालिका) को रोकना। और एक नमक मिलाया "t आपको डिक्शनरी या ब्रूट फोर्स अटैक से बचाता है। हैश एल्गोरिथ्म के साथ अपनी खुद की स्कीम बनाने की तुलना में आप bcrypt या PBKDF2 का उपयोग करना बेहतर समझते हैं।