Question:
Vérification de la révocation du certificat SSL
user1157
2011-01-24 11:10:36 UTC
view on stackexchange narkive permalink

Dans le protocole SSL, je ne vois pas où le certificat est vérifié pour l'état de révocation.

https://developer.mozilla.org/en/Introduction_to_SSL

La révocation du certificat et la vérification de l'état ne sont-elles pas implémentées dans le protocole SSL?

SSL n'a pas besoin d'utiliser des certificats pour l'identification du serveur ou du client, donc l'ajouter à la spécification SSL le rendrait moins extensible.
Deux réponses:
Thomas Pornin
2011-02-07 17:34:41 UTC
view on stackexchange narkive permalink

Le protocole SSL spécifie la manière dont un serveur envoie son certificat au client. Le client doit alors "obtenir" la clé publique du serveur en validant le certificat. La spécification SSL ne décrit pas la validation de certificat; pour cela, vous devez regarder X.509, dans lequel vous verrez qu'il s'agit d'un processus beaucoup plus complexe que ce qui est décrit dans le document vers lequel vous créez un lien.

Vérification le statut de révocation fait partie de la validation du certificat. Le client est en fait libre de le faire de la manière qui lui convient; de nombreux navigateurs Web "vérifient" l'état de révocation par un processus qui va comme "mmhh ... il n'est probablement pas révoqué de toute façon, pas besoin de vérifier quoi que ce soit". Dans le monde X.509, le statut de révocation peut être vérifié en téléchargeant et en validant les CRL (Certificate Revocation Lists) ou en obtenant des réponses OCSP des répondeurs OCSP (une réponse OCSP est une sorte de CRL réduite à un seul certificat cible). Théoriquement, le statut de révocation doit être obtenu pour tous les certificats, c'est-à-dire le certificat du serveur mais aussi les certificats CA intermédiaires utilisés pour valider les certificats du serveur, et tous les autres certificats utilisés pour valider les réponses CRL et OCSP (cela peut devenir très récursif). Le coût global (en particulier au moment du téléchargement) peut devenir prohibitif, c'est pourquoi de nombreux clients s'appuient sur un modèle plus faible mais plus rapide (par exemple, vérifier l'état uniquement pour le certificat du serveur lui-même, pas pour l'autorité de certification intermédiaire; ou vérifier l'absence d'état du tout).

Quoi qu'il en soit, la validation est la façon dont la clé publique du serveur est obtenue, elle se produit donc pendant la négociation SSL, juste avant que le message ClientKeyExchange ne soit envoyé par le client.

Eugen Constantin Dinca
2011-01-24 11:19:41 UTC
view on stackexchange narkive permalink

Il existe deux façons de vérifier l'état d'un certificat:

Aucun de ces éléments n'est spécifique à SSL, et c'est exactement ce qu'ils font: vérifier l'état d'un certificat. Ils s'appliquent donc tous les deux à tout ce qui utilise des certificats.

alors à quel stade de la phase d'établissement de la connexion SSL le contrôle de l'état est-il effectué?
@user1157: au stade de la prise de contact après la récupération du certificat de serveur. C'est au client (c'est-à-dire au navigateur) de vérifier le certificat du serveur de la manière qui lui convient (c'est-à-dire qu'il a une chaîne de certificats valide, il utilise un algorithme de signature de certificat fort, il n'est pas expiré, le nom commun correspond à l'URL, il n'est pas dans la liste des certificats révoqués reçus de l'autorité de certification lors de la dernière mise à jour de la CRL, obtention d'une «bonne» réponse à la demande OCSP, etc.).
oui mais la vérification de la révocation de la certification n'est pas mentionnée dans le lien que j'ai posté ci-dessus. :(
@user1157: Parce que les contrôles CRL et OCSP sont quelque chose qui appartient au client de faire, cela ne fait pas partie du protocole SSL.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...