TD1 – Communication simple client / serveur

Dans ce TD vous verrez comment mettre en place une communication sécurisée (TLS/SSL) entre un client et un serveur.

Pour ce faire, à l’aide d’OpenSSL (utilisé en ligne de commande), vous utiliserez les fonctions classiques de la cryptographie et des communications sécurisées : Certificats, SSL.

Pour réaliser ce TD, vous aurez besoin des commandes de base d’OpenSSL.

Chaine de certification

Affichage d’une chaine de certification

Tous les serveurs publics devraient posséder une chaine de certification. Car c’est grâce à cette chaine qu’un client peu avoir confiance ou non en ce serveur. Généralement plusieurs serveurs publics essayent d’avoir le même certificat racine pour qu’un client ait le moins de certificat à connaitre.

Rechercher la chaine de certification d’un serveur public, y compris le certificat racine.

Vous devrez stocker/convertir la chaine de certification au format PEM.

Visualiser le contenu des certificats à l’aide des commandes OpenSSL.

Création d’une chaine de certification

Maintenant que vous avez vu à quoi ressemblait une chaine de certification, il est temps d’en créer une.

Créer une chaine de certificats à 2 niveaux

certificate chain

Les 2 niveaux de cette chaine signifient qu’elle devra comprendre :

Communication TLS/SSL

Pour effectuer des tests de connexions sécurisés, OpenSSL est pourvu d’un client et d’un serveur web. Ce sont les outils openssl s_client et s_server.

Faire communiquer de manière sécurisée un client et un serveur en local.

Maintenant que vous avez vérifié que votre communication locale fonctionne il est temps d’essayer à l’extérieur.

Faire communiquer client et serveur avec un autre groupe.

Demande de certification

Le but est d’utiliser un certificat root commun

Effectuer une demande de certificat final auprès d’un autre groupe.

Autorités dans un navigateur

Les connexions sécurisées sont possibles grâce à des tiers de confiances. Ces tiers sont des autorités de certification qui garantissent que les certificats générés sont authentiques.

Un navigateur Internet possède les certificats (CAs) de ces autorités de certifications. Tout site web présentant un certificat n’appartenant pas à une CAs de cette liste sera considéré comme non sécurisé et un avertissement sera affiché. Cet avertissement vous laissera le choix de quitter le site ou alors de faire une exception et d’ajouter le certificat du site web aux certificats de confiance.

Dans Firefox, la liste des CAs est disponible dans les paramètres Sécurité > Certificats > Autorités

Ajouter votre autorité de certification serveur (autorité racine) à votre navigateur pour effectuer une connexion sécurisée

Par Jérémy HERGAULT, le .