TP Protocole HTTPS avec Pratiquer l algorithmique Introduction : Le protocole HTTPS permet l échange de données entre client et serveur de manière sécurisée, en ayant recours au cryptage (technologie SSL). Il permet aussi au client d authentifier le site serveur. Pour utiliser le protocole HTTPS, des certificats de sécurité sont nécessaires, ainsi qu une «clé privé» associée à un mot de passe. On peut réaliser ces certificats et la clé privée avec l un des outils de Pratiquer l algorithmique, ou plus rapidement en utiliser un déjà prêt (c est le cas dans cette application, avec un certificat pour un site web dont l adresse serait www.mondomaine.fr. Le nécessaire : - Un serveur web disposant d un mode sécurisé (le serveur web algorithmique par exemple), - Un ensemble de certificats / clé privée (accompagnant le serveur web algorithmique), - Un navigateur supportant le mode sécurisé (Firefox 3.5 sera utilisé ici). Pour créer ses propres certificats pour un nom de domaine particulier, se reporter à la fin du document. Démarche : 1. Le serveur : Activer sur le serveur web algorithmique le menu Avancé, Présenter les options du serveur sécurisé. Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 1/11
Choisir l onglet Sécurité pour paramétrer le certificat du site, la clé privée, le mot de passe de cette clé et la liste des certificats d autorités. Cliquer sur Vérifier pour contrôler les éléments indiqués. Dans cet exemple qui veut reproduire la réalité, la liste des certificats contient une autorité «racine» nommée Certificat racine Pratiquer Algorithmique s authentifiant elle-même, puis authentifiant une autorité intermédiaire Autorité intermédiaire Pratiquer Algorithmique. Nous verrons qu il suffira de faire confiance à cette autorité racine pour que les sites en découlant indirectement soient authentifiés. Le site exemple www.mondomaine.fr est défini par sont certificat (partie publique) et par sa clé privée associée au mot de passe. Sur l onglet publication, cocher Activer le serveur sécurisé avant de cliquer sur Démarrer. 2. Le client (navigateur) : Il faut pouvoir saisir l URL https://www.mondomaine.fr/ et solliciter notre serveur avec cette adresse. N étant bien sûr pas propriétaire de ce nom de domaine, nous avons donc besoin de modifier le fichier texte Hosts situé dans le dossier C:\WINDOWS\system32\drivers\etc comme suit : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 2/11
Si le serveur ne se situe pas sur la même machine que le navigateur, remplacer 127.0.0.1 par l adresse IP du serveur. Il ne reste plus qu à saisir l URL du site sécurisé : https://www.mondomaine.fr/ dans le navigateur : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 3/11
Le navigateur Firefox affiche, et c est normal à ce stade, une erreur : Il ne fait pas confiance à l autorité qui authentifie le site. Les navigateurs sont «livrés» avec une liste de ces autorités considérées comme fiables. Dans Firefox, choisir le menu Outils, Options et le bouton Avancé. Cliquer sur l onglet Chiffrement et puis le bouton Afficher les certificats : L onglet Autorités liste ces autorités de confiance. Pour rajouter l autorité racine, il faut importer son certificat : Il faut ensuite décider ce que pourra authentifier ce certificat, ici un site web : Il est alors visible dans la liste des certificats : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 4/11
Valider par Ok deux fois. L actualisation du navigateur donne : En cliquant sur le nom du domaine entouré, on obtient quelques informations sur le certificat : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 5/11
Le certificat «intermédiaire» a été récupéré par le navigateur et lui aussi considéré comme fiable : Coté serveur, l activité liée au protocole HTTPS est visible : 3. Créer et utiliser ses propres certificats : Nous avons utilisé des certificats et clés privées déjà disponibles, mais on peut aussi les créer nous-même, au travers de l utilitaire Créer des certificats de l application Pratiquer l algorithmique. Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 6/11
On choisit ici de tout créer, donc on commence par l autorité de certification racine, qui auto-signe son certificat, et qu il faudra ajouter au navigateur plus tard : Les fichiers Certificat racine Lycee.cer et Certificat racine Lycee.cer sont créés. La clé privée est à conserver soigneusement (confidentielle). Créer ensuite une autorité intermédiaire authentifiée par l autorité racine précédente : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 7/11
Cette autorité intermédiaire sera conservée elle aussi sous la forme d un certificat et d une clé privée. On peut créer dans l absolu autant d autorités intermédiaire que souhaité (voir aucune!). L important, c est que l une de ces autorités signe en bout de chaîne un certificat de site, authentifiant un site web d après son URL. Après validation, les fichiers Eleve DUCHMOL.cer et Eleve DUCHMOL.key sont créés. Pour certifier le site, on utilise l une des autorités (la dernière de la chaîne logiquement) : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 8/11
Une fois le certificat et la clé privée créés (www_duchmol_com.cer et www_duchmol_com.key), il faudra pouvoir envoyer au navigateur la chaîne de certification, ce dernier n hébergeant en principe que le certificat de l autorité racine. Ce rôle est assumé par le serveur sécurisé, mais il faut ici générer la chaîne de certification : Choisir le certificat de l autorité censée être dans le navigateur : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 9/11
La fenêtre suivante présente en haut le point de départ (autorité racine), et en bas le certificat du site. Il faut ajouter au milieu les autorités intermédiaires intervenant dans la chaîne de certification : Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 10/11
Une fois la chaîne correctement établie, le bouton Créer devient valide. Cliquer et enregistrer, par exemple sous le nom Chaine Certification. C est terminé. Pour l utiliser dans le serveur algorithmique sécurisé : Dans le navigateur, penser à intégrer le certificat de l autorité racine Certificat racine Lycee.cer comme décrit plus haut, et à intégrer dans le fichier Hosts le domaine www.duchmol.com. Fr. LAGACHE 2010 Protocole HTTPS avec Pratiquer l Algorithmique Page 11/11