TLS et son prédécesseur, SSL, sont des protocoles cryptographiques visant à assurer la sécurité des communications (confidentialité et intégrité dans certains cas et non-répudiation dans d’autres cas) sur un réseau.

Dans TLS unidirectionnel, ou TLS ordinaire, le certificat X.509 du serveur est créé par une AC à laquelle le client peut faire confiance lorsqu’il veut se connecter. L’infrastructure à clé publique (ICP) est responsable de la gestion de la confiance et de la distribution du ou des certificats. Les autorités de certification (CA) jouent un rôle très important dans la PKI. Un certificat X.509 n’est rien d’autre que des informations sur le serveur et la clé publique du serveur qui est signée numériquement par une AC.

Un serveur peut être configuré pour autoriser les connexions de n’importe quel client (comme dans TLS à sens unique) ou il peut être configuré pour demander à tous les clients qui tentent de se connecter à lui de s’authentifier. Ainsi, pour qu’un client s’authentifie, il faut un certificat client. Dans l’authentification TLS bidirectionnelle, alias TLS avec authentification par certificat client, le certificat client est également impliqué en plus du certificat serveur pour renforcer le processus d’authentification. Tout comme un certificat de serveur, un certificat de client contient des informations de base sur l’identité du client, sa clé publique et la signature numérique d’une autorité de certification sur ce certificat vérifie que ces informations sont authentiques. Le certificat client doit être signé par une AC à laquelle le serveur fait confiance et il est évident que les deux certificats X.509 doivent exister avant la connexion!

Une façon dont TLS est suffisamment sécurisé lorsque vous l’utilisez avec l’authentification, quelque chose à laquelle vous êtes confronté lorsque vous voulez vous connecter à Gmail. Lorsque vous utilisez l’interface web de Gmail, vous utilisez TLS à sens unique via une capacité https du navigateur en plus de votre mot de passe. Si vous n’utilisez pas votre mot de passe, vous seul pouvez vérifier que vous avez été connecté à un serveur légitime, mais le serveur Gmail ne peut pas vérifier votre identité et nous ne pouvons donc pas dire que la connexion est sécurisée. Si Gmail offre un TLS bidirectionnel, vous pouvez facilement vous y connecter sans entrer votre mot de passe et la connexion est considérée comme sécurisée.

L’intention principale d’utiliser une connexion TLS bidirectionnelle serait lorsqu’un serveur ne devrait accepter des connexions TLS que d’un groupe limité de clients autorisés. Un exemple peut être un scénario dans lequel une organisation veut limiter les connexions TLS à un serveur pour qu’elles ne proviennent que des partenaires ou des clients légitimes de l’organisation. Définitivement, la liste blanche d’IP pour les clients n’est pas une bonne pratique de sécurité parce que l’IP peut être usurpée.

Pour simplifier le processus de poignée de main TLS à 2 voies, nous pouvons dire

  1. Un client envoie une demande d’accès à des informations protégées sur le serveur.

2. Le serveur présente son certificat X.509. au client.

3. Le client vérifie le certificat du serveur en validant la signature numérique de la clé publique du serveur en utilisant la clé publique de l’AC.

4. Si la dernière étape est réussie, le client envoie son certificat au serveur.

5. Le serveur vérifie le certificat du client en utilisant la même approche à l’étape 3.

6. En cas de succès, le serveur donne accès aux informations protégées au client.

Si vous devez configurer un serveur web Apache pour gérer le TLS bidirectionnel, consultez ce document : http://www.robinhowlett.com/blog/2016/01/05/everything-you-ever-wanted-to-know-about-ssl-but-were-afraid-to-ask/

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.