2011-03-09 11 views
16

मैंने लोगों को प्रमाणीकरण टोकन पीढ़ी के लिए यूयूआईडी का उपयोग करके देखा है। हालांकि, RFC 4122 में यह कहा गया है किसत्र आईडी/प्रमाणीकरण के लिए सर्वोत्तम प्रथाओं टोकन पीढ़ी

मान लीजिए कि यूयूआईडी अनुमान लगाने में कठोर हैं; उन्हें का उपयोग सुरक्षा क्षमताओं के रूप में नहीं किया जाना चाहिए (पहचानकर्ता जिनके पास केवल पहुंच है), उदाहरण के लिए।

मैं सोच रहा था कि जावा में उदाहरण के लिए एल्गोरिदम का उपयोग किया जाता है और सत्र आईडी/प्रमाणीकरण टोकन पीढ़ी के लिए .NET। क्या यूयूआईडी वास्तव में उन प्रयोजनों के लिए अनुपयुक्त है जो औसत सुरक्षा आवश्यकताओं से अधिक हैं?

उत्तर

5

UUID पीढ़ी यादृच्छिक है, लेकिन खराब एंट्रॉपी के साथ यादृच्छिक अर्थ है कि आप UUID एस अनुमान लगाना आसान कर देंगे। यदि आप एक अच्छा यादृच्छिक संख्या जनरेटर का उपयोग करते हैं, तो आप UUID एस उत्पन्न कर सकते हैं जिसका उपयोग सत्रों के लिए किया जा सकता है। हालांकि, इस पर पकड़ यह है कि UUID में अंतर्निहित पुन: प्ले रोकथाम, छेड़छाड़, निर्धारण आदि नहीं है, आपको इसे अपने आप संभालना होगा (पढ़ें: स्वयं द्वारा एक यूयूआईडी पर विचार नहीं किया जाना चाहिए स्वयं द्वारा वैध सत्र आईडी)। जैसा कि कहा गया है, तो यहां आप एक सुरक्षित UUID उत्पन्न python का उपयोग करेगा के लिए एक अच्छा टुकड़ा है:

Unique session id in python

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