क्यों SHA-256 अकेले पासवर्ड भंडारण के लिए अनुपयुक्त है

फ़ाइल चेकसम और सर्वर-साइड पासवर्ड स्टोरेज विभिन्न समस्याओं को हल करता है। पासवर्ड संग्रहण भी प्रत्येक ऑफ़लाइन अनुमान महंगा बनाना चाहिए।

3 मिनट पढ़ासमय की आवश्यकता: पढ़ना; कार्यान्वयन को एक अलग समीक्षा की जरूरत है
इस गाइड में

हशिंग एन्क्रिप्शन नहीं है: कोई संबंधित डिक्रिप्शन ऑपरेशन नहीं है। फिर भी, डेटाबेस के लीक होने के बाद एक हमलावर ने अनुमान लगाया है और उन्हें चोरी किए गए रिकॉर्ड्स से तुलना कर सकता है।

SHA की गति एक नुकसान हो जाता है

SHA-256 अखंडता जांच और कई क्रिप्टोग्राफिक अनुप्रयोगों के लिए उपयोगी है। इसकी गति पासवर्ड संग्रहण के लिए अवांछनीय है। एक नमक मिलाना SHA256(salt + password) यह अनुमान पर्याप्त रूप से महंगा नहीं है। नमक और कम्प्यूटेशनल लागत विभिन्न उद्देश्यों की पूर्ति करती है।

एक क्रेडेंशियल प्रारूप या साधारण हैशे के लूप को आविष्कार न करें। एक बनाए रखा पासवर्ड हैशिंग पुस्तकालय का उपयोग करें।

एक समर्पित पासवर्ड हैशिंग फंक्शन चुनें

OWASP नए सिस्टम के लिए Argon2id को पसंद करता है, जिसमें अनुपलब्ध होने पर एक विकल्प के रूप में scrypt किया जाता है। PBKDF2 विशिष्ट अनुपालन आवश्यकताओं को पूरा करता है। Bcrypt विरासत प्रणालियों के लिए प्रासंगिक बनी हुई है लेकिन इसमें इनपुट की लंबाई भी शामिल है।

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

नमक और काली मिर्च को समझें

एक नमक यादृच्छिक और प्रत्येक रिकॉर्ड के लिए अद्वितीय है; यह रहस्य नहीं होना चाहिए। एल्गोरिथ्म पहचानकर्ता और सत्यापन मापदंडों को भी स्टोर करें, अक्सर पुस्तकालय के एन्कोडेड रिकॉर्ड के भीतर।

एक काली मिर्च पासवर्ड डेटाबेस के बाहर रखा एक वैकल्पिक रहस्य है। यह कुछ उल्लंघन परिदृश्यों में मदद कर सकता है लेकिन रोटेशन और कुंजी प्रबंधन को जटिल बनाता है। यह न तो नमक और न ही एक उपयुक्त हैशिंग फंक्शन को प्रतिस्थापित करता है।

सफल सत्यापन के बाद रिकॉर्ड को अपग्रेड करें

एक सफल लॉगिन पर, पहले पुराने रिकॉर्ड को सत्यापित करें, फिर सबमिट किए गए पासवर्ड को फिर से छोड़ दें यदि मापदंडों को बाहर कर दिया गया है। आप मौजूदा हैश से मूल पासवर्ड को पुनर्प्राप्त नहीं कर सकते हैं ताकि पूरे डेटाबेस को माइग्रेट किया जा सके। निष्क्रिय खातों को एक अलग रीसेट या माइग्रेशन पॉलिसी की आवश्यकता होती है। Rehashing एक पिछले लीक नहीं है।

तैनाती से पहले, परीक्षण गलत पासवर्ड, विरासत प्रवासन, लंबाई सीमा और भार। कभी भी परीक्षण पासवर्ड लॉग इन करें या उन्हें विश्लेषिकी के लिए भेजें।