Question Qu'est-ce qu'un mot de passe de challenge?


Je configure SSL sur un serveur Ubuntu. L'un des champs qu'il demande dans le cadre de la configuration du CSR est un "mot de passe de challenge". Qu'est-ce que c'est? La valeur par défaut est vide. Dois-je en entrer un?


155
2018-05-04 14:34


origine




Réponses:


Le "mot de passe de challenge" demandé dans le cadre de la génération de CSR est différent de la phrase secrète utilisée pour chiffrer la clé secrète (demandé au moment de la génération de la clé, ou lorsqu'une clé en texte brut est ultérieurement cryptée - puis à nouveau demandée à chaque démarrage du service activé par SSL qui l'utilise).

Voici une clé générée et le début de la clé générée:

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

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

Cette clé n'a pas de mot de passe. Je n'ai pas été invité à en créer un et je n'en ai pas saisi un. Maintenant, générons une clé cryptée:

$ 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

Il convient donc de préciser à quoi une clé privée chiffrée (qu'Apache, ou tout autre serveur compatible SSL, aura besoin de déverrouiller pour son démarrage) et une clé privée en texte clair (qui ne nécessite pas de déverrouillage au moment du démarrage du service) . Maintenant, je vais générer un CSR avec un mot de passe de défi du non crypté clé:

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

Et juste pour montrer que la clé n'a pas été cryptée comme par magie:

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

Alors je le répète: le "mot de passe de challenge" demandé dans le cadre de la génération de CSR est ne pas la même chose qu'une phrase secrète utilisée pour chiffrer la clé secrète. Le "mot de passe de challenge" est essentiellement un nonce à secret partagé entre vous et l'émetteur du certificat SSL (également appelé autorité de certification, ou CA), intégré dans le CSR, que l'émetteur peut utiliser pour vous authentifier si nécessaire. Certains émetteurs de certificats SSL rendent cela plus clair que d’autres; Regardez au bas de cette page pour voir où ils disent que le mot de passe de défi est nécessaire - il est ne pas quand vous redémarrez apache:

Si vous choisissez de saisir et d’utiliser un mot de passe de challenge, vous aurez besoin de   pour vous assurer que vous enregistrez ce mot de passe dans un endroit sécurisé. Si vous   jamais besoin de réinstaller votre certificat pour une raison quelconque, vous serez   nécessaire pour entrer ce mot de passe.


138
2018-05-04 15:29



Existe-t-il une différence entre un "émetteur SSL" et une autorité de certification? - Jonathan
Techniquement, ils n'émettent pas le protocole SSL lui-même, mais plutôt un certificat compatible SSL. J'ai l'impression que l'émetteur SSL est moins clair. Émetteur de certificat SSL serait clair, à mon humble avis. - Jonathan
Réponse très (très) complète, quand on n'en avait pas besoin à mon humble avis. Sur la base de la question posée, vous pouvez éliminer toute votre réponse sauf que "le mot de passe de challenge" est fondamentalement une nonce à secret partagé ... ". Je pense que cela aurait répondu à la question posée de manière tout aussi complète, avec des informations non pertinentes moins gênantes. - joe
@ joe merci! Ce que vous ne pouvez pas voir (car vous n'avez pas le représentant), c'est que je répondais à une réponse précédente supprimée depuis par un utilisateur très bien noté (qui, dans ce cas, malheureusement, s'était trompé), donc je devais le faire. une réfutation point par point. Sa suppression ultérieure, qui n’a pas été effectuée par son auteur, fait que la mienne semble un peu étrange, mais jusqu’à présent, j’ai choisi de la laisser tenir. Si un nombre suffisant d'autres personnes appuient votre point de vue en votant en amont de votre commentaire, je modifierai ma réponse. - MadHatter
Cette même question me déconcerta et trouvai cette réponse peu utile pour ma compréhension limitée du sujet (en raison de la façon dont elle est écrite), mais heureusement, ma réponse fut tirée de security.stackexchange.com/a/77082/67048 - zagrimsan