एक चुनौती पासवर्ड क्या है?


170

मैं एक उबंटू सर्वर पर एसएसएल की स्थापना कर रहा हूं। खेतों में से एक यह सीएसआर स्थापित करने के हिस्से के रूप में पूछता है "चुनौती पासवर्ड" है। वो क्या है? डिफ़ॉल्ट रिक्त है। क्या मुझे एक दर्ज करने की आवश्यकता है?

जवाबों:


152

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

यहां एक कुंजी उत्पन्न की जा रही है, और उत्पन्न कुंजी की शुरुआत:

$ openssl genpkey -algorithm rsa -out foo.key
............++++++
...++++++

$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

इस कुंजी का कोई पासफ़्रेज़ नहीं है। मुझे एक निर्माण के लिए प्रेरित नहीं किया गया था, और एक में प्रवेश नहीं किया था। अब, एक एन्क्रिप्टेड कुंजी उत्पन्न करते हैं:

$ openssl genpkey -algorithm rsa -des3 -out bar.key
...........................................++++++
.....................................++++++
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

$ head -3 bar.key
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQInfwj1iv3icMCAggA
MBQGCCqGSIb3DQMHBAizMHBklBexiwSCAoDtRKf1WtMiVMH7HraGTIG0rlQS6Xuj

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

$ openssl req -new -key foo.key
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:asdfasdf
An optional company name []:
-----BEGIN CERTIFICATE REQUEST-----
MIIBmzCCAQQCAQAwQjELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0
eTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAn2M0Abg2jL/+v9J54r+ASAY5XQFmbQJiaBJAaPg/o3dwmw+U
awbzSopPFMXCgSJeczcFV4GkN1eEYq2Cmam3tH6t8mVDh0/UryJSWBsaFm9mh9RF
gIpP0hEkYZTf/0X+X06ukt9S/Id9Z/tVgPsZA3TcNjNhJfVaTm81/4ykq8UCAwEA
AaAZMBcGCSqGSIb3DQEJBzEKDAhhc2RmYXNkZjANBgkqhkiG9w0BAQUFAAOBgQCa
ivuDRBlHOhBjg6wPbH9NvCnvEnxeEAkYi0Sl/Grdo/WCk17e+sv9wgqEW1QSIdbV
XzMeWidurv4AtcATwhfk9tBcYBCTxANkTONzhJG7Yk9OAz8g8Ljo8EEvPf4oHqpw
tBg10DCD2op0lCwL2LBdPO3RG20f/HD6fEXPVxZdOQ==
-----END CERTIFICATE REQUEST-----

और सिर्फ यह दिखाने के लिए कि कुंजी जादुई रूप से एन्क्रिप्टेड नहीं है:

$ head -3 foo.key
-----BEGIN PRIVATE KEY-----
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ9jNAG4Noy//r/S
eeK/gEgGOV0BZm0CYmgSQGj4P6N3cJsPlGsG80qKTxTFwoEiXnM3BVeBpDdXhGKt

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

क्या आपको चुनौती पासवर्ड दर्ज करने और उसका उपयोग करने के लिए चुनना चाहिए, आपको यह सुनिश्चित करने की आवश्यकता होगी कि आप उस पासवर्ड को सुरक्षित स्थान पर सहेजते हैं। यदि आपको कभी भी किसी भी कारण से अपने प्रमाणपत्र को पुनर्स्थापित करने की आवश्यकता है, तो आपको उस पासवर्ड को दर्ज करना होगा।


2
क्या "एसएसएल जारीकर्ता" और एक सीए (प्रमाणपत्र प्राधिकरण) के बीच अंतर है?
जोनाथन

3
तकनीकी रूप से वे स्वयं एसएसएल प्रोटोकॉल जारी नहीं कर रहे हैं, बल्कि एसएसएल संगत प्रमाणपत्र। मुझे ऐसा लगता है कि एसएसएल जारीकर्ता कम स्पष्ट है। SSL प्रमाणपत्र जारीकर्ता स्पष्ट होगा, मेरी विनम्र राय में।
जोनाथन

6
बहुत (बहुत) पूर्ण उत्तर, जब किसी को IMHO की आवश्यकता नहीं थी। पूछे गए प्रश्न के आधार पर, आप अपने सभी उत्तर को समाप्त कर सकते हैं सिवाय इसके कि "चुनौती पासवर्ड" मूल रूप से एक साझा-गुप्त nonce ... 'है। मेरा मानना ​​है कि गैर-प्रासंगिक जानकारी को कम विचलित करने के साथ, पूरी तरह से पूछे गए प्रश्न का उत्तर दिया होगा।
जो

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

3
मैं इसी प्रश्न से चकित था, और इस उत्तर को इस विषय की मेरी सीमित समझ के लिए मददगार नहीं पाया (जिस तरह से यह लिखा गया है), लेकिन सौभाग्य से सुरक्षा
ज़ाग्रिम्सन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.