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

certificate chain

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

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.
Par Jérémy HERGAULT, le .