2011-11-22 10 views
11

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

स्पष्ट रूप से, इस तरह की कोई योजना सामान्य पासवर्ड हैशिंग का उपयोग करके काम नहीं कर सकती है, क्योंकि आपको हैश की गणना करने के लिए संपूर्ण पासवर्ड जानना होगा।

इस तरह के सिस्टम सामान्य रूप से इस काम को करने के लिए सर्वर-साइड स्टोर करते हैं?

क्या वे पासवर्ड को सादे टेक्स्ट में संग्रहीत करते हैं, या शायद प्रत्येक पत्र का एक अलग हैश, या क्या?

+4

जरूरी नहीं - इसका उत्तर ITSecurity.SE: पर दिया गया है: http://security.stackexchange.com/questions/4830/how-do-some-sites-eg-online-banks-only-ask-for- विशिष्ट -एक्टर्स-से-ए-पी। यह भी देखें http://www.smartarchitects.co.uk/news/9/15/Partial-Passwords--How.html – Piskvor

+0

शायद यह केवल मुझे है, लेकिन मैंने कभी मुझे तीन पत्रों के लिए एक बैंक नहीं देखा है। केवल एक [टीएएन] (http://en.wikipedia.org/wiki/Transaction_authentication_number) के लिए। – PiTheNumber

+0

@PiTheNumber: यह * केवल * आप नहीं है, लेकिन कुछ बैंक ऐसा करते हैं (किया?); मैंने इस पहले अनुभव किया है। ध्यान दें कि यह एक ऐसी प्रणाली है जिसे सेलफोन के व्यापक रूप से गोद लेने से पहले रखा गया था (जिसने टीएएन के उपयोग को सक्षम किया है), और मुझे यकीन नहीं है कि यह अभी भी उस विशेष बैंक में उपयोग में है या नहीं। – Piskvor

उत्तर

15

जैसा कि आप सही ढंग से नोट करते हैं, मानक पासवर्ड हैशिंग योजनाएं काम नहीं करेंगे अगर प्रमाणीकरण केवल पासवर्ड के एक सबस्ट्रिंग का उपयोग करके किया जाता है। मैदान में

स्टोर पासवर्ड: कि एक ऐसी प्रणाली लागू किया जा सकता तरीकों की एक संख्या हैं

  • सरल और आसान लागू करने के लिए।
  • यदि डेटाबेस से समझौता किया गया है तो असुरक्षित।
  • धोखाधड़ी या एन्क्रिप्टेड पासवर्ड भंडारण की आवश्यकता वाले नियमों का पालन नहीं कर सकता है (लेकिन निम्न स्तर के डेटाबेस एन्क्रिप्शन का उपयोग उस के आसपास हो सकता है)।

स्टोर पासवर्ड एन्क्रिप्टेड, जांच करने के लिए डिक्रिप्ट:

  • कोई और अधिक सादे में भंडारण करता है, तो एन्क्रिप्शन कुंजी भी समझौता किया है की तुलना में सुरक्षित।
  • मई में पासवर्ड भंडारण को मना कर नियमों को पूरा कर सकता है।
  • समर्पित hardware security module या एक अलग प्रमाणीकरण सर्वर का उपयोग कर अधिक सुरक्षित बनाया जा सकता है, जो कुंजी को स्टोर करेगा और एन्क्रिप्शन और सबस्ट्रिंग सत्यापन के लिए ब्लैक-बॉक्स इंटरफ़ेस प्रदान करेगा।
  • सब (या पर्याप्त रूप से कई) संभव सबस्ट्रिंग

स्टोर हैश:

  • आवश्यकताओं अन्य समाधान की तुलना में बहुत अधिक संग्रहण स्थान।
  • यदि डेटाबेस से समझौता किया गया है तो पासवर्ड अभी भी ब्रूट फोर्स द्वारा काफी आसानी से पुनर्प्राप्त किया जा सकता है, क्योंकि प्रत्येक सबस्ट्रिंग पर अलग से हमला किया जा सकता है।

उपयोग k-out-of-n threshold secret sharing:

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

अंत में, इन योजनाओं के सभी जानवर बल हमलों के खिलाफ कमजोरी से पीड़ित है, तो डेटाबेस समझौता किया है। इसके लिए मूल कारण यह है कि एक सामान्य पासवर्ड (या, वास्तव में, यहां तक ​​कि एक विशेष रूप से मजबूत भी) के तीन-अक्षर सबस्ट्रिंग में बहुत अधिक एन्ट्रॉपी नहीं है, इसलिए इसे क्रैक करने के लिए कई अनुमान नहीं लगेंगे।

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

हालांकि, मैं कहूंगा कि प्रमाणीकरण के लिए पासवर्ड का केवल एक हिस्सा उपयोग करने का पूरा विचार गहराई से त्रुटिपूर्ण है: यह वास्तव में कुछ विशेष रूप से बाधित हमले परिदृश्यों को छोड़कर सुरक्षा लाभ प्रदान नहीं करता है (जैसे एक गुप्तचर के रूप में जो केवल एक प्रमाणीकरण घटना का निरीक्षण कर सकता है, और जब तक वे एक ही चुनौती प्राप्त नहीं कर लेते हैं, तब तक कोशिश नहीं कर सकते हैं), फिर भी यह मूलभूत प्रमाणीकरण के लिए आवश्यक जानकारी की मात्रा को कम करके सुरक्षा को कमजोर कर देता है। आंशिक पासवर्ड प्रमाणीकरण को संबोधित करने के लिए सुरक्षा चिंताओं के लिए TANs जैसे बेहतर समाधान हैं।

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