passwords - सवर - my google password



ऐप के लिए सादे टेक्स्ट पासवर्ड को बदलना (10)

हम वर्तमान में एक वेब ऐप के लिए सादा पाठ पासवर्ड संचय कर रहे हैं जो हमारे पास है

मैं पासवर्ड हैश पर जाने की वकालत करता हूं लेकिन एक अन्य डेवलपर ने कहा कि यह कम सुरक्षित होगा - अधिक पासवर्ड हैश से मेल खा सकते हैं और शब्दकोश / हैश हमले तेजी से होगा

क्या इस तर्क के लिए कोई सच्चाई है?


Answer #1

अधिक पासवर्ड हैश से मेल खा सकते हैं और एक शब्दकोश / हैश हमले तेजी से होगा

हां और ना। एक आधुनिक हैशिंग एल्गोरिथ्म का उपयोग करें, जैसे एक SHA संस्करण, और यह तर्क बहुत ही, बहुत ही सप्ताह में हो जाता है। क्या आपको सचमुच चिंतित होने की जरूरत है कि अगर ब्रूट बल का हमला 467 वर्षों के बजाय केवल 352 साल लगेंगे? (एकेड्यूलल मजाक है।) मूल्य प्राप्त करने के लिए (सिस्टम पर सादे टेक्स्ट में संग्रहीत पासवर्ड नहीं) आपके सहकर्मी की चिंता से बाहर निकलता है


Answer #2

इसमें सच्चाई है कि यदि आप कुछ हैश करेंगे, तो, टक्करें होंगी, इसलिए दो अलग-अलग पासवर्डों के लिए समान खाता अनलॉक करना संभव होगा।

हालांकि व्यावहारिक दृष्टिकोण से, यह एक कमजोर तर्क है - एक अच्छा हैशिंग फ़ंक्शन (एमडी 5 या शाए 1 ठीक होगा) बहुत अधिक गारंटी दे सकते हैं कि सभी अर्थपूर्ण रूप से स्ट्रिंग्स, विशेष रूप से छोटे वाले के लिए, कोई टकराव नहीं होगा। यहां तक ​​कि अगर, एक खाते के लिए दो पासवर्ड मिलते हैं, तो यह एक बड़ी समस्या नहीं है - अगर किसी व्यक्ति को पासवर्ड को बेतरतीब ढंग से अनुमान लगाने की स्थिति में रहना है, ताकि वे इसमें शामिल होने की संभावना रखते हैं, तो आपको बड़ी समस्याएं हैं

मैं तर्क देता हूं कि सादा पाठ में पासवर्ड संग्रहीत करना पासवर्ड मिलान में हैश टकराव के मुकाबले बहुत अधिक सुरक्षा जोखिम का प्रतिनिधित्व करता है।


Answer #3

बिल्कुल नहीं लेकिन इससे कोई फर्क नहीं पड़ता मैंने इससे पहले एक समान प्रतिक्रिया पोस्ट की है:

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


Answer #4

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

शब्दकोश / हैश के हमलों से रोकने के लिए प्रत्येक उपयोगकर्ता और स्थिर (यूजरनेम / युग की तारीख / यूजरगुइड अच्छी तरह से काम करता है) के लिए एक टोकन के खिलाफ हैश करना सुनिश्चित करें


Answer #5

मैं एक सुरक्षा विशेषज्ञ नहीं हूं, लेकिन मुझे लग रहा है कि यदि सादा पाठ अधिक सुरक्षित था, तो हेशिंग पहले स्थान पर मौजूद नहीं होगी।


Answer #6

यह इस बात पर निर्भर करता है कि आप किसके खिलाफ बचाव कर रहे हैं यदि यह एक हमलावर है जो आपके डेटाबेस को खींच रहा है (या अपने आवेदन को डाटाबेस में प्रदर्शित करने के लिए चकरा देनेवाला), तो सादा पाठ पासवर्ड बेकार हैं। कई ऐसे हमले हैं जो यह निजी डेटा-एसक्यूएल इंजेक्शन, सत्र अपहरण, आदि को ख़त्म करने के लिए आवेदन को समझने पर भरोसा करते हैं। अक्सर डेटा को बिल्कुल भी नहीं रखना बेहतर होता है, लेकिन हथेले संस्करण को रखने के लिए बुरे लोग आसानी से इसका इस्तेमाल नहीं कर सकते ।

जैसा कि आपके सह-कार्यकर्ता ने सुझाव दिया है, यह एक शब्दकोश के खिलाफ एक ही हैश एल्गोरिथ्म को चलाने और जानकारी खींचने के लिए इंद्रधनुष तालिकाओं का उपयोग करके हताश हो सकता है। एक सामान्य नमक का उपयोग करने के लिए एक गुप्त नमक और अतिरिक्त उपयोगकर्ता जानकारी का उपयोग करने के लिए हैशल्ड परिणाम विशिष्ट-जैसे कुछ करना है:

String hashedPass=CryptUtils.MD5("alsdl;ksahglhkjfsdkjhkjhkfsdlsdf" + user.getCreateDate().toString() +  user.getPassword);

जब तक आपका नमक गुप्त न हो, या आपके हमलावर उपयोगकर्ता के रिकॉर्ड की सटीक रचना तारीख को नहीं जानते, तो एक शब्दकोश आक्रमण विफल हो जाएगा- यहां तक ​​कि इस घटना में भी कि वे पासवर्ड फ़ील्ड को नीचे खींचने में सक्षम हैं।


Answer #7

सिद्धांत में, हाँ पासवर्ड हैश से अधिक (अधिक जानकारी) हो सकता है, इसलिए हैश टकराव की संभावना है हालांकि, अधिकांश हमलों में डिक्शनरी आधारित हैं, और टकराव की संभावना एक सफल सीधी मैच से भी कम है।


Answer #8

विकिपीडिया से

कुछ कंप्यूटर सिस्टम उपयोगकर्ता पासवर्ड को स्टोर करते हैं, जिसके विरुद्ध उपयोगकर्ता लॉगिन प्रयासों की तुलना करने के लिए, क्लेअरटेक्स्ट के रूप में। यदि कोई आक्रमणकर्ता इस तरह के आंतरिक पासवर्ड स्टोर तक पहुंच देता है, तो सभी पासवर्ड और इसलिए सभी उपयोगकर्ता खातों से समझौता किया जाएगा। यदि कुछ उपयोगकर्ता अलग-अलग प्रणालियों के खातों के लिए एक ही पासवर्ड का उपयोग करते हैं, तो उन लोगों के साथ भी समझौता किया जाएगा।

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

एक सामान्य संपर्क स्टोर केवल सादे टेक्स्ट पासवर्ड का "हैश" रूप है जब कोई उपयोगकर्ता ऐसे सिस्टम पर पासवर्ड में टाइप करता है, तो पासवर्ड हैंडलिंग सॉफ्टवेयर क्रिप्टोग्राफ़िक हैश एल्गोरिथ्म के माध्यम से चलाया जाता है, और अगर उपयोगकर्ता के एंट्री से उत्पन्न हैश मान पासवर्ड डेटाबेस में संग्रहीत हैश से मेल खाता है, तो उपयोगकर्ता को एक्सेस की अनुमति है। हैश मान एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन को एक पासवर्ड के साथ प्रस्तुत किए गए स्ट्रिंग के साथ आवेदन करके बनाया जाता है, आमतौर पर, एक अन्य मूल्य जिसे नमक के रूप में जाना जाता है नमक आम पासवर्ड के लिए हैश मानों की सूची बनाने से हमलावरों को रोकता है। MD5 और SHA1 को अक्सर क्रिप्टोग्राफ़िक हैश फ़ंक्शन का उपयोग किया जाता है।

अधिक है कि आप उस पृष्ठ पर विषय पर पढ़ सकते हैं। मेरी राय में, और मैंने जो कुछ पढ़ा और काम किया है, हैशिंग एक बेहतर परिदृश्य है जब तक कि आप बहुत छोटे (<256 बिट) एल्गोरिथम का उपयोग न करें


Answer #9

वेब ऐप पर सादे पाठ पासवर्ड रखने के लिए बिल्कुल कोई बहाना नहीं है एक मानक हैशिंग एल्गोरिदम (एसएचए-1, एमडी 5 नहीं!) का उपयोग करें, ताकि नमक के मूल्य के साथ, ताकि इंद्रधनुष के हमले असंभव हो


Answer #10

यदि आप अपना पासवर्ड नमक नहीं करते हैं, तो आप इंद्रधनुष तालिका के हमलों (पूर्व-कंपाइल किए गए शब्दकोशों पर संदेह कर रहे हैं जो कि किसी दिए गए हैश के लिए मान्य निविष्टियां हैं)

अन्य डेवलपर को सुरक्षा के बारे में बात करना बंद कर देना चाहिए अगर आप सादा पाठ में पासवर्ड जमा कर रहे हैं और सुरक्षा के बारे में पढ़ना शुरू कर सकते हैं।

Collisions संभव है, लेकिन आमतौर पर पासवर्ड ऐप्स के लिए एक बड़ी समस्या नहीं है (वे मुख्य रूप से उन क्षेत्रों में एक समस्या है जहां फाइलों की अखंडता को सत्यापित करने के तरीके के रूप में उपयोग किया जाता है)

इसलिए: आपके पासवर्ड को नमक (पासवर्ड के दाईं ओर नमक जोड़कर) और एसएचए -1 या अधिमानतः SHA-256 या SHA-512 जैसे अच्छे हैशिंग एल्गोरिथ्म का उपयोग करें।

पी एस: हसीशे के बारे में थोड़ा और विस्तार।

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