2012-08-27 15 views
6

का उपयोग करके मैं लंबे समय तक अपने पासवर्ड हैश के लिए PHPass का उपयोग कर रहा हूं। मैं मानता हूं कि अभी भी ऐसी चीजें हैं जिन्हें मैं सही ढंग से पासवर्ड से समझ नहीं पा रहा हूं (या अनदेखा करता हूं) इसलिए आज मैं उन सभी जानकारी की समीक्षा कर रहा था जो मुझे मिल सकती थीं।उचित सलाखों और PHPass

की समीक्षा PHPass दस्तावेजों, मैं इस में steped है:

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

मैंने उस वाक्य को बोल्ड किया है जो मुझे परेशान करता है।
मैं हमेशा यह मानता हूं कि नमक कुछ हद तक गुप्त होना चाहिए, इस अर्थ में कि यह हमलावर को नहीं जाना चाहिए। तो यदि सही ढंग से समझा जाता है, तो PHPass उसी हैश में उपयोग किए गए नमक को संग्रहीत करता है, इसलिए यह पासवर्ड की तुलना करते समय इसका उपयोग करने में सक्षम होता है और मान्य होता है या नहीं।
मेरे प्रश्न

  1. क्या यह सुरक्षित है? यदि हैश से समझौता किया गया है, तो हमलावर के पास नमक पासवर्ड है जिसका उपयोग है ... मुझे कुछ याद आती है।
  2. मैं वास्तव में पासवर्ड को सलाम करने के बारे में परेशान करने के लिए स्वतंत्र हूं? क्या मैं वास्तव में PHPass पर भरोसा कर सकता हूं?
+0

। यह 'गहराई में रक्षा' का मुख्य सिद्धांत है। लेकिन अगर _phpass_ पहले से ही नमक जोड़ता है, तो यह एक और परत नहीं जोड़ देगा। – Leri

+0

1.) किस तरह की सुरक्षा के बारे में आप अवगत हैं? क्या आप इसे और अधिक ठोस बना सकते हैं? - 2.) क्या आप हां या नहीं के साथ एक दूसरे के अंश के भीतर निम्नलिखित प्रश्न आत्मविश्वास के साथ जवाब दे सकते हैं: "क्या नमक का उपयोग कर Phpass है?" - कहें कि आप कितनी निश्चित और कितनी जल्दी इसका जवाब दे सकते हैं और साथ ही जवाब भी दे सकते हैं। – hakre

+0

@ हाकरा मैं पासवर्ड के साथ नमक को संग्रहित करने के कार्य को प्रतिबिंबित कर रहा हूं। मैं हमेशा यह अलग-अलग स्थानों में संग्रहीत करता हूं (उदाहरण के लिए डीबी फ़ील्ड पढ़ें) बेहतर था। –

उत्तर

1

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

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

1

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

3

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

नमक का इरादा ज्ञात होने पर समझौता नहीं किया जाता है; हमलावर को अभी भी प्रत्येक हैश पर अलग-अलग हमला करने की जरूरत है। इसलिए, आप बस पासवर्ड के साथ नमक स्टोर कर सकते हैं।

तो, PHPass सुरक्षित है?
हाँ! PHPass (सर्वोत्तम प्रथाओं के अनुसार) आपके लिए एक मजबूत यादृच्छिक नमक उत्पन्न करता है। यह एक अच्छी तरह से समीक्षा और अच्छी गुणवत्ता पुस्तकालय है।

ब्याज का लिंक:
How to securely hash passwords?
How to store salt?
Password Hashing add salt + pepper or is salt enough?
Salt Generation and open source software

`salt` आप सुरक्षा में एक और परत जोड़ने जोड़ने के साथ
संबंधित मुद्दे