Was ist ein Challenge-Passwort?

170

Ich richte SSL auf einem Ubuntu-Server ein. Eines der Felder, nach denen im Rahmen der Einrichtung des CSR gefragt wird, ist ein "Abfragekennwort". Was ist das? Der Standardwert ist leer. Muss ich eine eingeben?

Will Martin
quelle

Antworten:

152

Das als Teil der CSR-Generierung angeforderte "Challenge-Passwort" unterscheidet sich von der Passphrase, die zum Verschlüsseln des geheimen Schlüssels verwendet wird (zum Zeitpunkt der Schlüsselgenerierung oder beim späteren Verschlüsseln eines Klartextschlüssels angefordert - und jedes Mal dann erneut abgefragt, wenn SSL aktiviert wird Dienst, der es verwendet, startet ).

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 keine eingegeben. Nun 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, wie ein verschlüsselter privater Schlüssel (welcher Apache oder ein anderer SSL-fähiger Server beim Start entsperrt werden muss) und ein privater Klartextschlüssel (der zum Startzeitpunkt des Dienstes nicht entsperrt werden muss) aussehen . Jetzt erstelle ich aus dem unverschlüsselten Schlüssel eine CSR mit einem Challenge-Passwort :

$ 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 um zu zeigen, dass der Schlüssel nicht auf magische Weise verschlüsselt wurde:

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

Deshalb sage ich noch einmal: Das im Rahmen der CSR-Generierung angeforderte "Challenge Password" ist nicht dasselbe wie eine Passphrase, die zum Verschlüsseln des geheimen Schlüssels verwendet wird. Das "Abfragekennwort" ist im Grunde genommen eine vertrauliche Angelegenheit zwischen Ihnen und dem SSL-Zertifikatsaussteller (auch als Zertifizierungsstelle oder CA bezeichnet), die in die CSR eingebettet ist und die der Aussteller möglicherweise verwendet, um Sie zu authentifizieren, falls dies jemals erforderlich sein sollte. Einige SSL-Zertifikatsaussteller machen dies klarer als andere. Schauen Sie unten auf dieser Seite nach, um zu sehen, wo das Challenge-Passwort benötigt wird - nicht, wenn Sie Apache neu starten:

Wenn Sie ein Abfragekennwort eingeben und verwenden möchten, müssen Sie dieses an einem sicheren Ort aufbewahren. Wenn Sie Ihr Zertifikat aus irgendeinem Grund erneut installieren müssen, müssen Sie dieses Kennwort eingeben.

MadHatter
quelle
2
Gibt es einen Unterschied zwischen einem "SSL-Aussteller" und einer Zertifizierungsstelle (Certificate Authority)?
Jonathan
3
Technisch gesehen stellen sie nicht das SSL-Protokoll selbst aus, sondern ein SSL-kompatibles Zertifikat. Ich habe das Gefühl, dass der SSL-Aussteller weniger klar ist. SSL Certificate Issuer wäre meiner bescheidenen Meinung nach klar.
Jonathan
6
Sehr (sehr) vollständige Antwort, wenn man IMHO nicht gebraucht wurde. Aufgrund der gestellten Frage können Sie Ihre gesamte Antwort streichen, mit der Ausnahme, dass das folgende "Kennwort für die Sicherheitsabfrage" im Grunde genommen ein nicht vertraulicher Vorgang ist ... ". Ich glaube, das hätte die gestellte Frage genauso vollständig beantwortet, mit weniger störenden nicht relevanten Informationen.
Joe
3
@ Joe danke! Was Sie nicht sehen können (weil Sie nicht den Repräsentanten haben), ist, dass ich auf eine seitdem gelöschte frühere Antwort eines sehr hoch bewerteten Benutzers (der in diesem Fall leider falsch lag) reagierte und dies tun musste eine Punkt für Punkt Widerlegung. Die anschließende Löschung, die nicht vom Autor vorgenommen wurde, lässt mich ein wenig seltsam aussehen, aber bis jetzt habe ich mich dafür entschieden, es stehen zu lassen. Wenn genug andere Ihren Standpunkt unterstützen, indem sie Ihren Kommentar verbessern, werde ich meine Antwort ändern.
MadHatter
3
Ich war von genau dieser Frage verblüfft und fand diese Antwort nicht besonders hilfreich für mein begrenztes Verständnis des Themas (aufgrund der Art und Weise, wie sie geschrieben wurde), aber glücklicherweise fand ich meine Antwort von security.stackexchange.com/a/77082/67048
Zagrimsan