2012-02-25 4 views
16

के लिए नमक मान का चयन कैसे करें विरोधी जालसाजी टोकन नमक मान स्वीकार करता है। वहाँ किसी भी सुरक्षा ऐसीValidateAntiForgeryToken

  • न्यूनतम लंबाई आवश्यकताओं
  • अल्फा-न्यूमेरिक और अन्य पात्रों (पासवर्ड की तरह) की क्रिप्टोग्राफी द्वारा मजबूत
  • मिश्रण

के रूप में भी नमक को चुनने के बारे में चिंताओं, है , ग्राहक द्वारा नमक मूल्य देखने योग्य है? स्रोत कोड को देखते हुए, ऐसा लगता है कि कुकी में नमक मूल्य तैयार करना प्रतीत होता है।

उत्तर

39

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

हम पहले से ही कवर के तहत एक उचित क्रिप्टोग्राफिक नमक का उपयोग करते हैं। अधिक जानकारी के लिए, मेरी प्रतिक्रिया runtime loading of ValidateAntiForgeryToken Salt value पर देखें।

tl; dr: नमक संपत्ति से परेशान न हों। हम किसी भी तरह के भविष्य के संस्करण से इसे हटाने पर विचार कर रहे हैं।

0

सामान्य: आपका नमक 128 बिट्स (उदाहरण के लिए,/dev/urandom) से अधिक सुरक्षित यादृच्छिक, अद्वितीय मान होना चाहिए। इसे सादे पाठ में एक अलग तालिका में संग्रहीत किया जाना चाहिए ताकि इसका उपयोग हैश की पुष्टि करते समय किया जा सके। यह ग्राहक को देखने योग्य नहीं होना चाहिए।

SHA512(password || salt) 

जहां password उपयोगकर्ताओं पासवर्ड है, salt यादृच्छिक रूप से जनरेट अनूठा मूल्य और:

सामान्य विचार है कि आप उन पासवर्ड और नमक एक साथ हैश, और इस मूल्य की दुकान .. उदाहरण के लिए है || concatenation है।

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

संपादित करें: यह MVC विरोधी जालसाजी टोकन के संबंध (लेवी के जवाब को देखें) में गलत है, और इस blog के एक पढ़ा है। नमक दिखाएं नमक का एक अनूठा रूप नाम या फॉर्म आईडी है (और यह लेबल करने के लिए लेबल या नामित नमक नहीं है)

+0

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

+0

ठीक है अगर नमक पुनर्प्राप्त करने योग्य है तो यह स्वयं के उद्देश्य को हरा देगा .. यदि आप चिंतित हैं, तो कुछ बेवकूफ मत चुनें: पी – Kurt

+1

@Prowla - वह एक एमवीसी विरोधी जालसाजी टोकन के लिए नमक के बारे में बात कर रहा है, नहीं एक पासवर्ड नमक। यह ऐसा कुछ नहीं है जिसके लिए एक विशाल परिष्कार की आवश्यकता है। एक साधारण हमले को विफल करने के लिए बस पर्याप्त है। इसके कारण, कोई भी नमक स्वीकार्य होने जा रहा है। हमले का उपयोग किस प्रकार किया जा सकता है इसकी प्रकृति के कारण जाली अनुरोधों के साथ हमले की खिड़की बहुत छोटी है। –

संबंधित मुद्दे