विशिष्ट हार्डवेयर में 90,510 पुनरावृत्तियों,, 50 बिलियन से अधिक प्रदर्शन कर सकते हैं प्रति सेकंड हैश (2013 की शुरुआत में। यह एक चलती लक्ष्य है क्योंकि हार्डवेयर तेजी से हो जाता है)।
यदि आप पीबीकेडीएफ 2 के 1,000 पुनरावृत्तियों करते हैं तो यह हमले को 50 अरब प्रति सेकेंड से 50 मिलियन प्रति सेकेंड तक घटा देगा। 10,000 पुनरावृत्तियों प्रति सेकंड 5 मिलियन होगा।
हालांकि एक सामान्य वेब सर्वर उस उपवास के पास कहीं भी नहीं होगा। यह बहुत आपके लिए धीमा होने जा रहा है। आपको अपने उत्पादन सर्वर पर कुछ परीक्षण करने की आवश्यकता है और 10,000 पुनरावृत्तियों को बहुत धीमा कर सकता है।
तो यह वास्तव में नहीं है कि पीबीकेडीएफ 2 को कितनी तेजी से बल दिया जा सकता है, यह तेज़ है कि आपका सर्वर एक पीबीकेडीएफ 2 पासवर्ड सत्यापित कर सकता है। आपको यह तय करने की ज़रूरत है कि आपको कितना समय लगता है कि इसे लेना चाहिए (आधे सेकेंड? सेकेंड का दसवां? दूसरा का सौवां?) और उसके बाद पीबीकेडीएफ 2 राउंड की संख्या को समायोजित करें।
अपने ग्राहकों द्वारा उपयोग किए जाने वाले पासवर्ड की ताकत पर भी विचार करें। यदि उनके पास सभी उत्कृष्ट पासवर्ड हैं, तो इससे कोई फ़र्क नहीं पड़ता कि आप किस हैशिंग सिस्टम का उपयोग करते हैं। यदि वे सभी भयानक पासवर्ड का उपयोग कर रहे हैं तो पीबीकेडीएफ 2 उनकी रक्षा करने के लिए पर्याप्त नहीं है - आपको हार्डवेयर को नमकीन हैश ऐप्पल जैसे अधिक विदेशी प्राप्त करने की आवश्यकता होगी, ताकि कम से कम कुछ में 4 अंकों की संख्या को कोशिश करने और चालू करने के लिए आईफोन में उपयोग किया जा सके। सुरक्षा (मूल रूप से वे एक समर्पित हार्डवेयर चिप द्वारा किए जाने वाले सभी हैंशिंग को मजबूर करते हैं, जो जानबूझकर धीमा है। डेटा को किसी अन्य हार्डवेयर पर ले जाएं और इसे डिक्रिप्ट करना असंभव है)।
पासवर्ड मानना एक शब्दकोष (अधिकांश पासवर्ड हैं) में नहीं है, तो पासवर्ड की ताकत की गणना प्रत्येक वर्ण के लिए वर्णमाला में संभावित वर्णों की संख्या को गुणा करके गुणा करके की जाती है। तो यदि किसी पासवर्ड में अक्षरों (26 वर्ण वर्णमाला) और अंक (10 वर्ण) हैं तो आपके पास 36 वर्ण वर्णमाला है, और यदि यह 6 वर्ण लंबा है तो आप इसे 6 बार गुणा करें।
तो 6 अंकों का अल्फान्यूमेरिक पासवर्ड 36 * 36 * 36 * 36 * 36 * 36 है, या यदि आप पसंद करते हैं: 36^6। इससे आपको 2.1 बिलियन संभावित पासवर्ड मिलते हैं ... आम तौर पर हम मानते हैं कि हैकर को वास्तविक पासवर्ड लगभग आधा रास्ता मिल जाएगा, इसलिए इसे 1 बिलियन कॉल करें।
यदि आप पीबीकेडीएफ 2 का उपयोग कर रहे हैं और 1,000 पुनरावृत्तियों हैं, तो विशेष हार्डवेयर वाले हैकर लगभग 20 सेकंड में 1 बिलियन पासवर्ड अनुमान लगाएंगे। यह बिल्कुल अच्छी सुरक्षा नहीं है।
आप या तो पीबीकेडीएफ 2 (जो आपकी वेबसाइट को धीमा कर देगा) के अधिक राउंड का उपयोग करके या बेहतर उपयोगकर्ताओं के लिए अपने पासवर्ड को समझाने के द्वारा सुरक्षा में सुधार कर सकते हैं। बस 6 के बजाय 7 अंकों पर स्विच करके, या ऊपरी केस अक्षरों या यहां तक कि प्रतीकों को जोड़कर, वे नाटकीय रूप से उनकी सुरक्षा में सुधार करेंगे।
वुल्फ्राम अल्फा गणित करने के लिए उपयोगी है: ((36^6)/50 million) seconds
जहां 36 वर्णमाला का आकार है और 6 पासवर्ड की लंबाई है, और 50 मिलियन प्रति सेकेंड अनुमानों की संख्या हैकर एक हैकर उपयोग कर सकता है (50 मिलियन एक है 1,000 राउंड के साथ पीबीकेडीएफ 2 के बाद गंभीर हमलावर जा रहा है)।
आपके डेटाबेस में कितने पासवर्ड हैं? यदि व्यक्तिगत पासवर्ड को तोड़ने में 20 सेकंड लगते हैं, तो क्या मुझे 30 दिनों का गणित या 30 साल लगेगा? यह निर्भर करता है कि आपके पास कितने ग्राहक हैं।
यह माना जाता है कि अगर सबसे मजबूत व्यक्ति बलपूर्वक बलपूर्वक नहीं है तो यह सबसे कठिन है। (* और यह इस प्रकार के रूप में डिज़ाइन किया गया है *) मेरे पास कोई आंकड़ा आसान नहीं है, हालांकि। – ZJR
संबंधित http://security.stackexchange.com/questions/12114/aes-encryption-choice-of-password – CodesInChaos
@ZJR PBKDF2 स्क्रिप से ब्रूट-बल के लिए बहुत सस्ता है। – CodesInChaos