IUT de Villetaneuse, Université Paris 13, Sorbonne Paris Cité Étienne André Travaux pratiques de cryptographie Autorité de certification Licence Pro R&T ASUR Version du sujet : 23 décembre 2014 Ce TP s effectuera individuellement, avec un PC sous Linux, sur une image personnalisée. Vous rédigerez un compte-rendu qui sera envoyé à l enseignant avant la fin de la séance. Ce compterendu prendra de préférence la forme d un document mis en forme avec LibreOffice et exporté en PDF. Nom du fichier : crypto-tp-ca-nom-prenom.pdf Adresse électronique : Etienne.Andre(arobase)univ-paris13.fr Objet du courriel : «TP crypto CA : <votrenom>» Le compte-rendu contiendra toutes les commandes nécessaires à ce TP et, le cas échéant, les réponses aux questions. Objectif du TP Mettre en place une autorité de certification, et ainsi permettre la création d un site en https qui fonctionne sans erreur de certificat. Partie 1: Configuration du serveur Apache Dans un premier temps, nous allons mettre en place un serveur Web qui va prendre en charge l affichage du site www.villetaneuse.iut. Il est probable qu il faille fonctionner en mode superutilisateur (su) pour la majorité de cette partie. Étape 1 : Démarrer le serveur Apache. Étape 2 : Le contenu du site par défaut (d adresse 127.0.0.1) est disponible dans le répertoire /var/www/. La page qui s affiche lorsque l on se rend à l adresse 127.0.0.1 est décrite dans le fichier /var/www/index.html. Éditer ce fichier (par exemple avec mousepad ou emacs), et remplacer Bienvenue! par Bienvenue sur 127.0.0.1!. Étape 3 : Créer un répertoire /var/www/iutv/ qui contiendra le contenu de notre site. Copier le fichier /var/www/index.html dans /var/www/iutv/, et l ouvrir avec un éditeur de texte. Remplacer Bienvenue! par Bienvenue à l IUT de Villetaneuse!. Étape 4 : La configuration du site par défaut est disponible dans le fichier /etc/apache2/sites-available/default. Dupliquer ce fichier de configuration vers /etc/apache2/sites-available/iutv. Étape 5 : Éditer le fichier de configuration de notre site (c est-à-dire /etc/apache2/sites-available/iutv) de la façon suivante : Cryptographie 1/6 2014 2015 Université Paris 13
À la ligne ServerAdmin, indiquer une adresse électronique du domaine @villetaneuse.iut ; Ajouter une ligne ServerName et indiquer le nom de domaine (donc www.villetaneuse.iut) ; Ajouter une ligne ServerAlias, et indiquer villetaneuse.iut ; Spécifier la racine des fichiers du site DocumentRoot telle que nous l avons configurée plus haut. Étape 6 : Indiquer à la machine que le nom de domaine www.villetaneuse.iut pointe en local, en éditant le fichier /etc/hosts, et en ajoutant www.villetaneuse.iut villetaneuse.iut à la première ligne. Étape 7 : Activer le site www.villetaneuse.iut sur Apache grâce à la commande suivante : $ a2ensite iutv Ne pas oublier de recharger ensuite la configuration. Étape 8 : Ouvrir votre navigateur Web préféré (par exemple Iceweasel, qui se lance avec l icône au milieu en bas, ou par la commande firefox). Vérifier que les adresses 127.0.0.1 et www. villetaneuse.iut affichent bien la page attendue respectivement. Partie 2: Configuration du serveur Apache avec SSL Nous allons maintenant autoriser SSL sur Apache pour permettre l accès à https://www. villetaneuse.iut. Étape 1 : La configuration du site SSL par défaut (d adresse 127.0.0.1) est disponible dans le fichier /etc/apache2/sites-available/default-ssl. Dupliquer ce fichier de configuration vers iutv-ssl. Étape 2 : Ouvrir le fichier iutv-ssl, et modifier comme pour la version sans SSL les lignes ServerAdmin, ServerName, ServerAlias et DocumentRoot. Étape 3 : Activer la prise en compte de SSL par Apache. Puis activer la version SSL de votre site. Étape 4 : Ouvrir votre navigateur Web préféré (par exemple firefox). Aller sur https://www. villetaneuse.iut. Que se passe-t-il? Expliquer. Partie 3: Création d autorités de certifications Nous allons mettre en place des autorités de certification à l aide de tinyca, qui est une sur-couche graphique (quoique basique) à openssl. Étape 1 : Ouvrir tinyca à l aide de la commande tinyca2. Cryptographie 2/6 2014 2015 Université Paris 13
Étape 2 : Nous allons d abord créer une autorité de certification racine. Cette autorité sera la principale autorité, dont vous pourrez exporter et utiliser les certificats. À l ouverture de tinyca, une fenêtre de création d autorité de certification s ouvre. Dans les champs «Nom» et «Informations», indiquer ROOTCA-iutv. Dans le champ «Pays», indiquer FR. Choisir un mot de passe ; il est (exceptionnellement!!) conseillé de le noter dans le cadre de ce TP, car vous allez créer d autres mots de passe, et en aurez besoin plus tard. Dans le champ «Localité», indiquer Villetaneuse. Dans le champ «Unité Organisationnelle», indiquer IUT de Villetaneuse. Dans le champ «Adresse email», entrez une adresse électronique, par exemple du domaine @villetaneuse.iut. Laisser les autres champs aux valeurs par défaut (notamment, 4096 et SHA1, qui sont de bons choix). Lorsque la seconde fenêtre s affiche, laisser les valeurs par défaut. Note En fonction de votre temps, votre compte-rendu pourrait contenir une capture d écran de la fenêtre de configuration. Étape 3 : Nous allons ensuite créer une sous-autorité de certification (sub-ca), dédiée à notre site www.villetaneuse.iut. Cliquer sur l onglet «CA», puis cliquer sur la 3 e icône en partant de la droite dans la barre d outils. Dans le champ «mot de passe», indiquer le mot de passe de l autorité de certification racine (créée plus haut). Dans les champs «Nom» et «Informations», indiquer iutv-ca. Dans le champ «Pays», indiquer FR. Choisir un second mot de passe (et le noter exceptionnellement dans un coin). Dans le champ «Localité», indiquer Villetaneuse. Dans le champ «Unité Organisationnelle», indiquer IUT de Villetaneuse. Dans le champ «Adresse email», entrez une adresse électronique, par exemple du domaine @villetaneuse.iut. Laisser les autres champs aux valeurs par défaut. Note En fonction de votre temps, votre compte-rendu pourrait contenir une capture d écran de la fenêtre de configuration. Étape 4 : Nous allons maintenant créer un certificat pour notre site www.villetaneuse.iut. Sélectionner l onglet «Requêtes de certification» et cliquer sur l icône «Nouvelle requête de certification» (4 e icône en partant de la droite dans la barre d outils). Dans le champ «Nom», entrer www.villetaneuse.iut. Dans le champ «Email», entrer la même adresse électronique que celle indiquée dans le fichier de configuration iutv-ssl. Choisir un troisième mot de passe (et le noter exceptionnellement dans un coin). Étape 5 : Nous allons maintenant signer la requête. Effectuer un clic droit puis «signer la requête». Quand on vous demande de choisir entre un client et un serveur, sélectionner «serveur». Le mot de passe demandé sera celui de la sous-autorité de certification (donc le 2 e mot de passe). : Cryptographie 3/6 2014 2015 Université Paris 13
Requête signée avec succès. Certifica créé. Étape 6 : Nous allons maintenant exporter le certificat racine. Dans le menu CA, sélectionner «ouvrir CA» puis sélectionner l autorité de certification racine. Sélectionner l icône d export (deuxième icône en partant de la droite). Garder les options par défaut (PEM cochée). Vous pouvez exporter par exemple dans /home/etudiant/rootca.pem. Certificat exporté avec succès dans : /home/etudiant/rootca.pem Étape 7 : Nous allons maintenant exporter le certificat du site. Dans le menu CA, sélectionner «ouvrir CA» puis sélectionner la sous-autorité de certification. Sélectionner l onglet Certificats, puis clic droit et «Export de certificat». Garder les options par défaut (PEM cochée / non / non). Vous pouvez exporter par exemple dans /home/etudiant/iutv-cert.pem. Certificat exporté avec succès dans : /home/etudiant/iutv-cert.pem Étape 8 : Nous allons maintenant exporter la clé du site. Sélectionner l onglet Clés, puis clic droit et «Export de la clé». Choisir les options PEM cochée / oui / non. (Indiquer «sans mot de passe» permet d éviter de saisir la clé lors du démarrage du serveur.) Vous pouvez exporter par exemple dans /home/etudiant/iutv-cle.pem. Entrer le mot de passe de la clé (3 e mot de passe). Clée exportée avec succès : /home/etudiant/iutv-cert.pem Étape 9 : Enfin, nous allons exporter la chaîne de certification du site. Sélectionner l onglet CA, puis cliquer sur l icône d export de la chaîne (icône la plus à droite). Vous pouvez exporter par exemple dans /home/etudiant/iutv-chaine.pem. Chaîne de certification exportée avec succès dans : /home/etudiant/iutv-chaine.pem Partie 4: Configuration des certificats sous Apache Étape 1 : Copier les trois fichiers du site (c est-à-dire tous les fichiers.pem à l exception de rootca.pem) dans /etc/ssl/private/. Étape 2 : Ouvrir le fichier de configuration de votre site en version SSL (c est-à-dire /etc/apache2/sites-available/iutv-ssl), et modifier les lignes suivantes : SSLCertificateFile /etc/ssl/private/iutv-cert.pem SSLCertificateKeyFile /etc/ssl/private/iutv-cle.pem SSLCertificateChainFile /etc/ssl/private/iutv-chaine.pem En option, rediriger les logs : ErrorLog ${APACHE_LOG_DIR}/error-iutv-ssl.log Cryptographie 4/6 2014 2015 Université Paris 13
Étape 3 : Ouvrir votre navigateur Web préféré (par exemple firefox). Aller sur https://www. villetaneuse.iut. Que se passe-t-il? Expliquer. Partie 5: Configuration du navigateur Web Dans cette partie, nous allons importer le certificat racine sous Firefox. Étape 1 : Ouvrir votre navigateur (il est possible qu il faille le faire en mode super-utilisateur). Ouvrir «Préférences» puis «Avancé» puis onglet «Certificats» puis «Afficher les certificats» puis onglet «Autorités» puis «Importer...». Cocher les 3 cases. Vérifier que le certificat apparaît bien dans la liste. Étape 2 : Aller sur https://www.villetaneuse.iut. Que se passe-t-il? Expliquer. Étape 3 : Supposons que vous souhaitiez maintenant créer un nouveau site https://www.vitry. iut. Quelle(s) opération(s) devez-vous effectuer sur tinyca? Sur le serveur du site? Sur le navigateur? Partie 6: Interception de trames Étape 1 : Ouvrir wireshark en tâche de fond. Lancer la capture. Charger la page http://www. villetaneuse.iut. Arrêter la capture. Grâce au filtre de wireshark, ne garder que les trames transportant du TCP. Expliquer ce que vous pouvez retrouver dans ces trames. Étape 2 : Même question avec la page https://www.villetaneuse.iut. Expliquer la différence. Cryptographie 5/6 2014 2015 Université Paris 13
Annexe : configuration du système L image que vous utilisez est une Debian 7.7.0 32 bits (http://cdimage.debian.org/ debian-cd/7.7.0/i386/iso-cd/debian-7.7.0-i386-netinst.iso). Mot de passe du super-utilisateur : iutparis13 Nom d utilisateur : etudiant Mot de passe de l utilisateur : etudiant En outre, les paquets suivants ont été installés : xfce4 xfce4-goodies tinyca emacs Sources Sujet inspiré d un tutoriel pour tinyca : http://theworldofapenguin.blogspot.fr/2007/06/create-your-own-ca-with-tinyca2-part-1.html Autre site intéressant : http://www.ghacks.net/2009/09/16/create-your-own-certificate-authority-with-tinyca/ Cryptographie 6/6 2014 2015 Université Paris 13