Authentification de serveur SSL
L'authentification de serveur SSL permet de vérifier que les sites avec lesquels vous communiquez possèdent l'identité annoncée. L'authentification confirme l'identité d'un serveur, via l'application de techniques standard de cryptographie de clé publique, afin de vérifier qu'un certificat serveur et un ID public sont valides et qu'ils ont été émis par l'une des autorités de certification répertoriées dans la liste du client.
La communication avec des serveurs "sécurisés" possédant des certificats d'authentification émis par une autorité de certification est essentielle pour la mise en place d'un environnement sécurisé. Les certificats d'authentification sont des documents signés numériquement qui lient la clé publique à l'identité du propriétaire de la clé privée. L'authentification a lieu au moment de la connexion ; elle est indépendante de l'application ou du protocole d'application. Grâce à SSL, l'authentification s'effectue via l'échange de certificats (blocs de données au format décrit dans la norme X.509 ITU-T). Les certificats X.509 sont émis et signés numériquement par une autorité de certification.
- Le client envoie une demande de session SSL à Serveur1. Mais cette demande (ainsi que la totalité du trafic correspondant) est acheminée via Serveur2. Au lieu d'acheminer la demande du client à Serveur1, Serveur2 répond directement à la demande via l'envoi au client de son propre certificat.
- Le client reçoit le certificat envoyé par Serveur2 et vérifie la liste d'autorités de certification sécurisées. Le certificat de Serveur2 est signé par la même autorité de certification que Serveur1 : par conséquent, le client accepte le certificat et crée une session sécurisée avec Serveur2.
- Une fois la session sécurisée terminée avec le client, Serveur2 demande et crée sa propre session SSL avec Serveur1. A partir de ce moment-là, le client envoie les informations chiffrées à Serveur2. Serveur2 déchiffre les informations, puis les chiffre à nouveau et les envoie à Serveur1. Il fait de même pour les informations qui circulent dans le sens opposé. Le résultat est le suivant : Serveur2 est capable de les lire et de les modifier, même si toutes les données sont chiffrées sur Internet.
L'authentification SSL serveur a pour but d'éviter cette situation. Lorsque l'authentification serveur est activée, le client (après vérification du certificat serveur) vérifie que le nom Internet indiqué dans le certificat correspond au nom Internet du serveur. S'ils correspondent, la négociation SSL se poursuit. Dans le cas contraire, la connexion prend fin.
- Le client envoie une demande de session SSL à Serveur1. La demande et le trafic qui en découle sont acheminés via Serveur2. Au lieu d'acheminer la demande du client à Serveur1, Serveur2 répond directement à la demande via l'envoi au client de son propre certificat.
- Le client reçoit le certificat envoyé par Serveur2 et vérifie la liste d'autorités de certification sécurisées. Le certificat de Serveur2 est signé par la même autorité de certification que Serveur1 : par conséquent, le client accepte le certificat et crée une session sécurisée avec Serveur2.
- Une fois la session sécurisée terminée (mais avant l'envoi ou la réception de données réelles), le client compare le nom Internet du certificat et le nom du serveur avec lequel il souhaite communiquer. Puisque ces noms ne correspondent pas, le client sait que la connexion ne peut pas se poursuivre : il se déconnecte.