Frage Was ist ein Challenge-Passwort?


Ich richte SSL auf einem Ubuntu-Server ein. Eines der Felder, nach denen es im Rahmen der Einrichtung des CSR fragt, ist ein "Challenge-Passwort". Was ist das? Der Standardwert ist leer. Muss ich einen eingeben?


155
2018-05-04 14:34


Ursprung




Antworten:


Das "Challenge-Passwort", das im Rahmen der CSR-Generierung angefordert wird, unterscheidet sich von der Passphrase, die zum Verschlüsseln des geheimen Schlüssels verwendet wird (Wird zur Schlüsselgenerierungszeit angefordert oder wenn ein Klartextschlüssel später verschlüsselt wird - und jedes Mal erneut angefordert, wenn der SSL-aktivierte Dienst, der ihn verwendet, gestartet wird).

Hier wird ein Schlüssel generiert und der Anfang des generierten Schlüssels:

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

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

Dieser Schlüssel hat keine Passphrase. Ich wurde bei der Erstellung nicht zur Eingabe aufgefordert und habe noch keine eingegeben. Jetzt generieren wir einen verschlüsselten Schlüssel:

$ 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

Es sollte also klar sein, was ein verschlüsselter privater Schlüssel (welcher Apache oder irgendein anderer SSL-fähiger Server für das Starten benötigt) und ein privater Klartextschlüssel (der zum Zeitpunkt des Starts des Dienstes keine Entsperrung erfordert) aussehen muss . Jetzt erzeuge ich einen CSR mit ein Challenge-Passwort von der unverschlüsselt Schlüssel:

$ 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-----

Und nur um zu zeigen, dass der Schlüssel nicht magisch verschlüsselt wurde:

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

Also sage ich noch einmal: Das "Challenge-Passwort", das im Rahmen der CSR-Generation angefordert wird, lautet nicht dasselbe wie eine Passphrase, die zum Verschlüsseln des geheimen Schlüssels verwendet wird. Das "Challenge-Passwort" ist im Grunde eine Shared-Secret-Nonce zwischen Ihnen und dem SSL-Zertifikatsaussteller (auch Certification Authority oder CA genannt), eingebettet in die CSR, mit der sich der Aussteller ggf. authentifizieren kann. Einige SSL-Zertifikat-Aussteller machen dies klarer als andere; aussehen unten auf dieser Seite um zu sehen, wo sie sagen, dass das Challenge-Passwort benötigt wird - es ist nicht wenn du Apache neu startest:

Wenn Sie ein Challenge-Passwort eingeben und verwenden möchten, benötigen Sie   um sicherzustellen, dass Sie dieses Passwort an einem sicheren Ort speichern. Wenn du   jemals müssen Sie Ihr Zertifikat aus irgendeinem Grund neu installieren, werden Sie sein   erforderlich, um dieses Passwort einzugeben.


138
2018-05-04 15:29



Gibt es einen Unterschied zwischen einer "SSL-Issuer" und einer CA (Certificate Authority)? - Jonathan
Technisch geben sie nicht das SSL-Protokoll selbst aus, sondern ein SSL-kompatibles Zertifikat. Ich fühle mich wie SSL-Emittent ist weniger klar. SSL Certificate Issuer wäre meiner bescheidenen Meinung nach klar. - Jonathan
Sehr (sehr) vollständige Antwort, wenn man nicht gebraucht wurde IMHO. Basierend auf der gestellten Frage können Sie alle Ihre Antworten löschen, außer dass das "Challenge-Passwort" im Grunde ein Shared-Secret-Nonce ist ... ". Ich glaube, das hätte die gestellte Frage ebenso vollständig beantwortet, mit weniger ablenkenden, nicht sachdienlichen Informationen. - joe
@ Joe Danke! Was man nicht sehen kann (weil man nicht die Vertretung hat) ist, dass ich auf eine seither gelöschte frühere Antwort eines sehr hoch bewerteten Users (der in diesem Fall leider falsch lag) reagierte eine Punkt-für-Punkt-Widerlegung. Die anschließende Löschung, die nicht von seinem Autor vorgenommen wurde, lässt mich etwas seltsam aussehen, aber bis jetzt habe ich beschlossen, es stehen zu lassen. Wenn genügend andere Ihren Standpunkt unterstützen, indem Sie Ihren Kommentar aktualisieren, werde ich meine Antwort ändern. - MadHatter
Ich war von dieser gleichen Frage verblüfft und fand diese Antwort nicht so hilfreich für mein begrenztes Verständnis des Themas (aufgrund der Art, wie es geschrieben wurde), fand aber glücklicherweise meine Antwort von security.stackexchange.com/a/77082/67048 - zagrimsan