2010-01-21 7 views
2

Lors d'une prise de contact SSL/TLS, le client envoie une liste de suites de chiffrement prises en charge et le serveur sélectionne celui à utiliser pour la conversation. Windows dispose d'une liste de suites de chiffrement hiérarchisée (configurable via le registre) et sélectionne la première suite de cette liste prise en charge par le client. Une fois qu'une liste de chiffrements acceptables est créée à l'aide des indicateurs de suite de chiffrement, quel algorithme OpenSSL utilise-t-il pour sélectionner la suite de chiffrement lorsqu'il agit en tant que serveur? Je n'ai pas trouvé la réponse dans la documentation OpenSSL.Sélection de chiffrement de serveur OpenSSL

+0

Thomas Pornin a la bonne réponse. Je ne suis pas sûr pourquoi vous avez accepté l'autre ... – Jumbogram

Répondre

0

Jetez un oeil à this manpage.

La commande cipherlist convertit les listes de chiffrement OpenSSL en listes de préférences chiffrées SSL ordonnées. Il peut être utilisé comme outil de test pour déterminer le liste de chiffrement appropriée.

+3

Cela répond 'comment le serveur forme la liste de suites de chiffrement', mais ne répond pas à la question posée, 'comment le serveur décide quelle suite de chiffrement utiliser pour un connexion.' – Jumbogram

20

La liste des suites de chiffrement envoyées par le client est ordonnée; la première suite de la liste est celle que le client préfère le plus. Normalement, OpenSSL, en tant que serveur, respecte la préférence du client: il sélectionne la suite la plus préférée par le client parmi la liste des suites prises en charge par le client et le serveur. Depuis OpenSSL-0.9.7 (sorti fin 2002), OpenSSL dispose d'un flag programmatique appelé SSL_OP_CIPHER_SERVER_PREFERENCE qui applique les préférences du serveur: la liste des suites de chiffrement supportées par le serveur est également classée par ordre de préférence, et le serveur sélectionne la suite que le serveur préfère le plus parmi celles prises en charge par le client et le serveur. Ce drapeau est documenté dans le fichier include ssl.h.

Avec la commande "s_server" de la ligne de commande, l'option "-serverpref" est utilisée pour activer l'indicateur SSL_OP_CIPHER_SERVER_PREFERENCE.