2011-08-09 1 views
1

La prise de contact de SSL devrait négocier la suite de chiffrement entre homologues qui contient des algorithmes d'authentification, d'échange de clés, de chiffrement et de résumé. Mais le certificat X.509 que le serveur envoie au client contient déjà l'algorithme d'authentification, alors pourquoi SSL négocie-t-il à nouveau l'algorithme d'authentification?Pourquoi la ciphersuite de ssl contient-elle un algorithme d'authentification?

Répondre

1

La "suite de chiffrement" est environ support: le client et le serveur essaient de sélectionner un ensemble d'algorithmes qu'ils savent tous deux gérer. Par exemple, si le client annonce qu'il peut utiliser TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, alors le serveur sait que le client saura quoi faire avec une signature DSS (calculée sur un échange de clés Diffie-Hellman), et ainsi le serveur peut utiliser un certificat avec un Clé publique DSS. Cela a du sens si nous supposons que le serveur a plusieurs certificats (avec différents types de clé): le serveur veut envoyer au client le "bon" certificat.

(Ceci est un peu théorique, car dans la pratique tout le monde soutient et utilise RSA -. Ou Diffie-Hellman parfois éphémère signé avec RSA)

1

Tout d'abord, comme mentionné dans la réponse de Thomas, suite de chiffrement est sur le support (tout d'abord). Ensuite, SSL/TLS prend en charge non seulement les certificats pour l'authentification, mais également plusieurs autres mécanismes.

1

Mais le certificat X.509 le serveur envoie au client déjà contient l'algorithme de authetication, alors pourquoi SSL négocier à nouveau l'algorithme d'authentification ?

Parce que vous l'avez arrière vers l'avant. L'algorithme d'authentification est négocié d'abord , puis les certificats correspondant à ces/ces algorithmes sont envoyés.

0

En plus des réponses précédentes (qui sont correctes - le serveur choisira un certificat qui correspond à l'algorithme d'authentification sélectionné), je dois noter que le certificat X.509 ne contient pas d'algorithme d'authentification. Un certificat X.509 (ou PKIX) contient des paramètres d'algorithme. C'est-à-dire, les clés publiques RSA, les paramètres pour les courbes elliptiques, etc. La méthode d'authentification que vous utilisez (cryptage RSA ou Diffie-Hellman avec signatures RSA) n'est pas mandatée par le certificat. C'est la partie qui est négociée avec TLS.