WPA-PSK पासफ़्रेज़ के लिए तकनीकी आवश्यकताएँ क्या हैं?


8

मैं WPA-PSK पासफ़्रेज़ जेनरेट करने के बारे में सोच रहा था, और मैं इसके लिए OpenBSD मैनपेज में देखता हूं wpa-psk(8):

The passphrase must be a sequence of between 8 and 63
ASCII-encoded characters.

वास्तव में "ASCII- एन्कोडेड" के मानदंड क्या हैं? बस इतना है कि वे उच्च बिट परेशान के साथ 8-बिट वर्ण होना चाहिए? क्या गैर-मुद्रण योग्य वर्णों की अनुमति है?

यह सोचने के लिए आओ ... क्या बेतरतीब ढंग से पासफ़्रेज़ पैदा करने का मेरा दृष्टिकोण कोई मतलब नहीं है? क्या सिर्फ 64 यादृच्छिक बाइट्स उत्पन्न करना और एक कुंजी के रूप में उपयोग करना बेहतर होगा?

जवाबों:


12

> वास्तव में "ASCII- एन्कोडेड" के मानदंड क्या हैं? बस इतना है कि वे उच्च बिट परेशान के साथ 8-बिट वर्ण होना चाहिए? क्या गैर-मुद्रण योग्य वर्णों की अनुमति है?

विकिपीडिया के वाई-फाई संरक्षित पहुँच का कहना है कि WPA-PSK पासफ़्रेज़ 8 से 63 मुद्रण योग्य ASCII वर्ण है , और इस संदर्भ में एक फुटनोट के रूप में शामिल है:

पास-वाक्यांश में प्रत्येक वर्ण में 32 से 126 (दशमलव) की सीमा में एक एन्कोडिंग होना चाहिए, समावेशी। (IEEE Std। 802.11i-2004, अनुलग्नक H.4.1)
अंतरिक्ष वर्ण इस सीमा में शामिल है।

> यह सोचने के लिए आओ ... क्या बेतरतीब ढंग से पासफ़्रेज़ पैदा करने का मेरा तरीका कोई मायने रखता है? क्या सिर्फ 64 यादृच्छिक बाइट्स उत्पन्न करना और एक कुंजी के रूप में उपयोग करना बेहतर होगा?

> मुझे लगता है कि मैं अभी भी एक सुरक्षित RNG का उपयोग करके सिर्फ 256 बिट उत्पन्न करूँगा ...

क्या आपका वायरलेस राउटर और हर डिवाइस जिसे आप अपने वायरलेस नेटवर्क से कनेक्ट करना चाहते हैं, आपको 64 हेक्स पात्रों के रूप में WPA-PSK कुंजी को मैन्युअल रूप से दर्ज करने देता है? यदि नहीं, तो आपको अपने सभी उपकरणों में इसे दर्ज करने में सक्षम होने के लिए एएससीआईआई पासफ्रेज़ का उपयोग करना पड़ सकता है।


@Studiohack द्वारा उद्धृत RFC2898 से - इस दस्तावेज़ के दौरान, एक पासवर्ड को मनमाने ढंग से लंबाई का एक ओकटेट स्ट्रिंग माना जाता है जिसकी व्याख्या एक पाठ स्ट्रिंग के रूप में अनिर्दिष्ट है। इंटरऑपरेबिलिटी के हित में, हालांकि, यह अनुशंसा की जाती है कि एप्लिकेशन कुछ सामान्य पाठ एन्कोडिंग नियमों का पालन करें। ASCII और UTF-8 [27] दो संभावनाएँ हैं। (ASCII UTF-8 का एक उपसमूह है।)
asveikau

इसके अलावा, ऐसा लगता है कि ओपनबीएसडी, लिनक्स, विंडोज, और मैक ओएस एक्स सभी हेक्स कुंजी का उपयोग करते हैं। एकमात्र समस्या जिसका मुझे सामना करना पड़ा है, मैमो यूआई इसे पसंद नहीं कर रही है - लेकिन कॉन्फ़िगरेशन का समर्थन करने वाली XML फ़ाइल इसका समर्थन करती है।
asveikau

ठीक है, मैं 802.11i-2004 का हिस्सा देखता हूं जो कहता है कि। आप सही हे।
अस्विकौ

1

से http://www.xs4all.nl/~rjoris/wpapsk.html - "WPA कुंजी गणना - पासफ़्रेज़ से हेक्साडेसिमल कुंजी गणना का विवरण करने के लिए":

WPA-PSK एन्क्रिप्शन के लिए, द्विआधारी कुंजी पासफ़्रेज़ से निम्न सूत्र के अनुसार निकाली गई है:

PBKDF2 फ़ंक्शन एक पासफ़्रेज़ से एक कुंजी प्राप्त करने के लिए एक मानकीकृत विधि है। यह RFC2898 में निर्दिष्ट किया गया है कि इसकी गणना कैसे करें, इस पर स्पष्ट विवरण के साथ। फ़ंक्शन को एक अंतर्निहित छद्म आयामी फ़ंक्शन की आवश्यकता होती है। WPA के मामले में, अंतर्निहित फ़ंक्शन HMAC-SHA1 है। SHA1 एक ऐसा फंक्शन है, जो एक मनमाने राशि के इनपुट डेटा से 160-बिट हैश की गणना करता है। यह RFC3174 में स्पष्ट रूप से समझाया गया है। HMAC एक क्रिप्टोग्राफिक हैश फ़ंक्शन को एक कुंजी संदेश प्रमाणीकरण फ़ंक्शन में बदलने के लिए एक मानकीकृत विधि है। यह RFC2104 में निर्दिष्ट है।

संक्षेप में, मुख्य व्युत्पत्ति प्रक्रिया में 4096 बार एक HMAC-SHA1 फ़ंक्शन को पुनरावृत्त करना शामिल है, और फिर अधिक महत्वपूर्ण बिट्स का उत्पादन करने के लिए फिर से करना। इसमें शामिल गणना की मात्रा 1 MByte डेटा से अधिक SHA1 हैश की गणना करने के बराबर है। शायद यह बताता है कि इस पृष्ठ पर जावास्क्रिप्ट इतना धीमा क्यों है।

आपके प्रश्न के लिए Does my approach of randomly generating a passphrase make any sense? Would it be better to just generate 64 random bytes and use that as a key?:: या तो एक बहुत मजबूत होगा, जब तक आप अपने यादृच्छिक बाइट्स पासफ़्रेज़ में सभी प्रकार के प्रतीकों, संख्याओं और यादृच्छिक वर्णमाला वर्णों का उपयोग करते हैं। जिस तरह से मैं इसे देखता हूं: वे दोनों (उत्पन्न या यादृच्छिक) अनुमान / हैक करना असंभव होगा ...


1
हम्म। तो यह RFC के मेरे पढ़ने के आधार पर प्रतीत होता है कि PBKDF2 फ़ंक्शन प्रिंट करने योग्य ASCII वर्णों पर निर्भर नहीं करता है, और बाइनरी डेटा के साथ ठीक करना चाहिए। मुझे लगता है कि मैं अभी भी एक सुरक्षित RNG का उपयोग करके केवल 256 बिट उत्पन्न करूंगा ... (मुझे विश्वास नहीं है कि यह अनुमान लगाना असंभव होगा। हालांकि, छोटी सी संभावनाएं हैं कि यह कुछ ऐसा उत्पन्न करेगा जो कमजोर से टकराता है। पासफ़्रेज़ ।: पी)
एसेविकौ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.