Académique Documents
Professionnel Documents
Culture Documents
2020 TP
CRYPTOGRAPHIE &
PKI
MASTER
Cybersécurité
CORRECTION
INSA
Patrick CEREGHELLI
Table des matières
1 Introduction au TP ............................................................................................................. 3
2 Préparation des machines ................................................................................................. 3
2.1 Liste des outils/produits necessaires sur la Machine « W10PKI » ............................... 3
2.2 Liste des outils/produits necessaires sur la machine « WebPKI » ............................... 3
3 TP1 : Manipulations avec des outils cryptographiques ...................................................... 4
3.1 Installer la suite « GpG4Win » ..................................................................................... 4
3.2 Créer une paire de clé « PGP » ................................................................................... 6
3.3 Analyse des paires de clé générés .............................................................................. 8
3.4 Signer un fichier avec « GpgEx » ................................................................................ 9
3.5 Chiffrer un dossier avec « GpgEx » ........................................................................... 10
3.6 Exporter une clé « PGP » .......................................................................................... 11
3.7 Importer une clé « PGP » d’un utilisateur externe ..................................................... 11
3.8 Vérification de la signature d’un binaire avec « certutil » ........................................... 13
4 TP2 : Chiffrer et Signer des messages avec un client de messagerie ............................. 14
4.1 Installation et configuration du serveur de messagerie .............................................. 14
4.2 Installation du Client de messagerie « Thunderbird » ................................................ 18
4.3 Paramétrage des comptes de messagerie et génération des clés ............................ 20
4.4 Envoi de mail signé.................................................................................................... 22
4.5 Envoi de mail chiffré et signé ..................................................................................... 25
4.6 Analyse des trames réseaux ..................................................................................... 26
5 TP3 : Chiffrer les communications entre client et serveur ................................................ 27
5.1 Installation d’openSSL ............................................................................................... 27
5.2 Génération d’un certificat « autosigné » .................................................................... 28
5.3 Configuration SSL sur le serveur « HmailServer » .................................................... 29
5.4 Configuration des clients de messagerie pour l’utilisation de SSL ............................. 31
6 TP4 : Installation d’une Autorité de Certification « Microsoft » ......................................... 33
6.1 Installer l’autorité de certification Microsoft ................................................................ 34
6.2 Examiner les paramètres de la console d’administration ........................................... 38
7 TP5 : Inscription des certificats dans une PKI ................................................................. 40
7.1 Les modèles de certificat ? ........................................................................................ 41
7.2 Création d’un modèle de certificats « ADPKIUser » .................................................. 42
7.3 Inscription d’un « certificat » et publication de la liste CRL ........................................ 45
Page 1/62
7.4 Analyser le certificat délivré ....................................................................................... 48
8 TP6 : Utilisation de certificats avec un serveur web......................................................... 50
8.1 Installer et Paramétrer un serveur Apache Windows ................................................. 50
8.2 Se connecter de façon sécurisée à un serveur « Web Apache »............................... 51
8.2.1 Créer un modèle de certificat pour le serveur ..................................................... 51
8.2.2 Générer un certificat pour le serveur Web Apache .............................................. 53
8.2.3 Mettre en œuvre SSL pour sécuriser les flux ...................................................... 58
8.2.4 Vérifier la connexion « Https » au serveur Web .................................................. 59
8.3 Configuration du serveur Web pour authentifier un utilisateur par certificat. .............. 59
9 Annexes........................................................................................................................... 60
9.1 Créer un compte de test dans l’Annuaire Active Directory ......................................... 60
9.2 Intégrer le poste « Windows 10 » à votre domaine AD .............................................. 61
Page 2/62
1 Introduction au TP
Ce TP est à réaliser individuellement dans la mesure des ressources matérielles disponibles
Le présent document devra être rendu, complété aux endroits prévus à cet effet, à l'issu de ce
TP. L'évaluation portera sur la justesse et la pertinence des réponses apportées. Chaque élève
disposera de trois machines :
Page 3/62
3 TP1 : Manipulations avec des outils cryptographiques
Objectifs du TP 1 :
- Installer une suite d’outils cryptographiques
- Manipuler des clés privées/publiques de chiffrement et déchiffrement
- Signer, chiffrer fichiers et dossiers
- Export/Import de clés PGP
- Vérifier la signature d’un binaire avec « certutil »
Machines: W10PKI (windows 10)
Outils : Suite GpG4Win : Kleopatra, GpgEx, outil Microsoft « certutil »
W10PKI
Le logiciel « GpG4Win » est un outil graphique pour Windows qui permet d’exploiter l’outil libre
GPG (GNU Privacy Guard). « GnuGPG » est le logiciel Open Source fréquemment utilisé pour
assurer les services de confidentialité et authentification de données numériques (fichier /
répertoire / email). Les outils utilisés pour ce TP sont « KLEOPATRA » et « GpgEx ».
• KLEOPATRA: gestionnaire de certificats format X.509 ou OpenPGP. Un seul outil pour
gérer les 2 formats de certificat.
• GpGEx: plugin GpG pour Explorateur Windows. Permet d’encrypter et signer des emails
directement depuis l’explorateur Windows
Page 4/62
• Cliquer sur « OK »
• Cliquer sur « Suivant »
• Cliquer sur « Fichier » puis « Nouvelle paire de clés », puis « créer une paire de clés
personnelles openPgP »
Q : Quels sont selon vous les différences entre une paire de clés « OpenPGP » et une
paire de clés au format « X509 »
Une paire de clés X509 devra être certifié par une autorité de certification pour être valide
On va créer trois paires de clés personnelles « OpenPgP » valables 3 ans pour trois utilisateurs
Nom de votre domaine de messagerie : « INSA + Nom du stagiaire ».fr (exemple :
InsaDupont.fr)
Page 6/62
Création des paires de clé
• Saisir « nom » et « adresse électronique »
• Saisir une phrase secrète pour chaque paire de clé générée afin de la protéger et
cliquer sur « OK », puis « terminer ».
Finalement, dans l’interface « Kleopatra » apparaitra les trois paires de clés
Page 7/62
3.3 Analyse des paires de clé générés
Observer la structure des clés générés et répondez aux questions
Les algorithmes utilisés utilisent quel type de cryptographie ? Quelles sont les
caractéristiques de ce type de cryptographie ?
RSA, DSA et ECDSA sont des algorithmes de cryptographie asymétrique
Inventée par Ron Rivest, Adi Shamir, and Leonard Adleman en 1977, RSA est un algorithme
de chiffrement utilisé en cryptographie asymétrique. 99% des certificats émis à ce jour
utilisent la méthode RSA comme algorithme de chiffrement. La longueur de clé minimum
autorisée en RSA est de 2048 bits depuis Novembre 2013. Le fonctionnement RSA est basé
sur la difficulté de factoriser de grands entiers.
DSA signifie Digital Signature Algorithm (Algorithme de Signature Digitale). Il s'agit d'un
algorithme inventé en 1991 aux Etats-Unis par le National Institute of Standards and
Technology (NIST). L'algorithme DSA fut utilisé en premier lieu pour signer
électroniquement des données, mais on l'utilise désormais à la fois comme algorithme de
signature et de chiffrement dans les certificats SSL.
Elliptic Curve Digital Signature Algorithm (ECDSA) est un algorithme de signature
numérique à clé publique, variante de DSA. Il fait appel à la cryptographie sur les courbes
elliptiques. ECC est la méthode de chiffrement la plus récente. Elle signifie Elliptic Curve
Cryptography (Cryptographie sur les Coubres Elliptiques), et offre une connexion plus
rapide et plus sécurisée que les méthodes RSA et DSA. L’ECC est en effet 12 fois plus
puissante que la méthode RSA : un chiffrement 3072 bits avec la méthode RSA correspond
à un chiffrement 256 bits en ECC.
Q : Quelles sont les utilisations possibles de chaque paire de clé
p1.XXX : utilisé pour certifier des clés, ou chiffrer des données confidentielles
p2.XXX : utilisé pour certifier des clés ou signer des documents ou des mails
p3.XXX : utilisé pour certifier des clés, chiffrer des données confidentielles ou signer des
documents ou des mails
Q : Quelle est l’utilisation commune à chaque paire de clé
La certification est l’utilisation commune à chaque paire de clés. La certification consiste à
vérifier l’empreinte par exemple d’un certificat. Soit on la connait soit il faut la vérifier auprès
d’un tiers. Avec les trois paires de clés, il est possible de certifier une clé. Une paire de clé
peut cumuler les utilisations. Il faudra bien protéger la clé privée par une passphrase
conséquente et sauvegarder le certificat dans un endroit sûr.
Q : Quelle est la structure de la troisième paire de clé ?
La troisième paire de clé est composé d’une clé Primaire permettant de certifier/signer et
d’une clé secondaire permettant de chiffrer
Page 8/62
3.4 Signer un fichier avec « GpgEx »
• Modifier dans l’explorateur l’affichage des fichiers et dossiers en cochant la case
« Extensions de noms de fichiers ». Permet de visualiser l’extension des fichiers.
• Créez sur le Bureau un fichier texte « fiche.txt » contenant quelques mots et un dossier
« Confidentiel » contenant des fichiers que vous aurez copiés.
Rappel : GpgEx est un plugin pour l’explorer Windows pour effectuer du chiffrement,
déchiffrement et de la signature.
• Signez le fichier en sélectionnant le fichier, « Plus d’options GpgEX » et clic droit
« Signer »
• Utiliser un certificat permettant la signature
Page 9/62
Q : Dans quel format est enregistré la signature ?
Trouver la configuration permettant de rendre cette signature visible en base 64.
La signature est enregistré dans un format binaire illisible avec un éditeur de texte.
Cocher la case « Creer des fichiers signés ou chiffrés au format texte »
Page 10/62
3.6 Exporter une clé « PGP »
• Effectuez un clic droit sur une des paires de clés et cliquer sur « Exporter… ».
Enregistrer la clé publique sous votre bureau
• Effectuez un clic droit sur une des paires de clés et cliquer sur « Exporter les clés
privées… ». Enregistrer la clé privée sous votre bureau
• Supprimer le certificat exporté dans l’interface « Kleopatra »
Q : Dans quel format sont les exports des fichiers générés ?
Le format utilisé pour les exports en .asc est base 64 avec des entêtes en ASCII
Q : A quoi servira l’export de la clé Privée ?
L’export de clé privée permettra de faire une sauvegarde de sa clé. A conserver
précieusement dans un endroit sur (Coffre au format numérique)
Q : A quoi servira l’export de la clé Publique ?
L’export de la clé publique servira diffuser cette clé à d’autres utilisateurs de notre réseau.
En distribuant la clé publique pour qu’ils l’intègrent à leur gestionnaire de clés, cela
permettra par exemple d’échanger des données chiffrées ou de vérifier une signature.
La première étape est de définir si ce certificat est valide en le vérifiant (appel à la personne,
confirmation depuis un site, etc…)
• Cliquer sur « Oui »
Page 11/62
La deuxième étape permet de certifier la clé publique de cet utilisateur avec un de nos certificats
et à le rendre « exportable »
• Cliquer sur « certifier »
Q : Pourquoi est-il important qu’une une clé publique d’un utilisateur externe soit
certifiée dans un réseau « pair à pair PGP »
L’empreinte de la clé publique identifie clairement la clé et son propriétaire. On va faire des
vérifications et importer cette clé. Si on importe cette clé en la certifiant avec un des
certificats présents, cela veut dire que l’on considère cette clé publique valide et on accorde
la confiance à cette clé pour des opérations de chiffrement/signature
Q : Comment va-t-on gérer la confiance dans un réseau « pair à pair PGP » ?
On va pouvoir intégrer des clés publiques d’autres utilisateurs. En fonction de chaque
utilisateur on pourra donner un niveau de confiance dans la certification de clé. Si on fait
confiance totale à “UtilisateurExterne”., on pourra intégrer des clés publique d’autres
utilisateurs certifié par “UtilisateurExterne”. On fera confiance à ces nouveaux utilisateurs
car on a confiance en “UtilisateurExterne” en tant que signataire des certificats.
La difficulté est de retrouver la chaîne de confiance qui lie deux utilisateurs. La solution
élégante proposée par PGP est la confiance partielle : une signature sur un certificat ne
donne qu’une fraction de la confiance en ce certificat et il faut alors plusieurs signataires
de confiance pour établir toute la confiance du certificat.
L’autre difficulté de ce système est de bien faire la différence entre accorder sa confiance
au certificat d’un utilisateur et accorder sa confiance à un tiers pour signer d’autres
Page 12/62
certificats. Un seul tiers indélicat ou simplement négligeant peut détruire le réseau de
confiance…
Ainsi le réseau va grossir petit à petit mais restera de taille modeste par les multiples
vérifications à effectuer.
• Comparer le résultat du hash à liste des « hashs » fourni pour le binaire windows
Appache « httpd-2.4.46-win64-VS16.zip.txt ». Pour l’algorithme choisi, la valeur calculée
doit être identique à la valeur du fichier.
Page 13/62
4 TP2 : Chiffrer et Signer des messages avec un client de messagerie
Objectifs du TP 2 :
- Construire une infrastructure minimaliste de messagerie
- Mettre en place le chiffrement et la signature d’email
- Envoyer des messages signés et chiffrés
Machines: W10PKI (windows 10) et WebPKI (Serveur windows 2016)
Outils : Serveur de messagerie « HmailServer », Client de messagerie « Thunderbird »,
WireShark
Serveur Mail
W10PKI WEBPKI
• Client de messagerie
« Thunderbird » • Serveur de messagerie
• WireShark « HmailServer »
• OpenSSL
Page 14/62
• Cliquer sur « Next », « Next »
Page 15/62
• Saisir le mot de passe administrateur qui sécurisera l’accès à l’interface d’administration
du serveur de messagerie « hMailServer ». Il sera demandé plus tard lors de la
configuration du serveur.
• Cliquer sur « Next », puis sur « Install »
• Une fois l’installation terminée cliquer sur « finish » pour lancer le serveur.
Page 16/62
Une fois le domaine créé, il faut ajouter deux comptes de messagerie. Pour cela, cliquer sur
« Accounts » puis « Add » et remplir les champs « address » et « password » pour une
utilisation basique.
• Créer les deux comptes « user1 » et « user2 »
Page 17/62
4.2 Installation du Client de messagerie « Thunderbird »
Attention : pour simuler le client de messagerie de deux comptes « user1 » et « user2 », deux
installations distinctes du produit « Thunderbird » seront nécessaires.
• Se connecter sur le poste « W10PKI » avec un compte administrateur
A- Première installation
• Double-cliquez en tant qu’administrateur le fichier « Thunderbird Setup x.x.x.exe » situé
dans le répertoire « Distrib_W10 » et commencez l’installation du produit
Page 18/62
• Renommer sur votre bureau le raccourci du client de messagerie en « ClientMail1 »
B- Deuxième installation
• Double-cliquez en tant qu’administrateur le fichier « Thunderbird Setup x.x.x.exe » situé
dans le répertoire « Distrib_W10 » et commencez l’installation du produit
• Choisir « Personnalisé »
Page 19/62
4.3 Paramétrage des comptes de messagerie et génération des clés
On va paramétrer les comptes de messagerie « user1 » et « user2 » avec chaque client de
messagerie « Thunderbird »
A- Paramétrage du premier compte « user1 »
• Lancer le client de messagerie « ClientMail1 »
Page 20/62
B- Paramétrage du deuxième compte « user2 »
• Lancer le client de messagerie « ClientMail2 »
Page 23/62
Q : User2 a bien réceptionné le message. Est-ce que la signature est valide ? Pourquoi ?
La signature numérique est marque comme incertaine car il manque la clé publique qui
permettra d’identifier que le message provient bien de user1
• Effectuer la correction afin que « user2 » reçoive un message signé et qu’il puisse
identifier le bon émetteur du message. La signature doit apparaitre comme valide pour
les messages reçus en provenance de « User1 »
Page 24/62
4.5 Envoi de mail chiffré et signé
Le chiffrement des messages n’est pas encore activé
• Activer le chiffrement des messages pour les clients de messagerie des deux utilisateurs
Le message reçu doit comporter un petit cadenas qui signifie que les messages sont envoyés
chiffrés.
Page 25/62
4.6 Analyse des trames réseaux
• Sélectionner dans le répertoire « C:\Distrib_W10_PGP » le binaire « Wireshark-win64-
3.4.0.exe» et lancer l’installation du Produit.
Le chiffrement de bout en bout a été mis en place au niveau du client de messagerie.
• Examiner avec Wireshark les trames entre les clients et le serveur de messagerie.
Filtre de capture : port 587 or port 143
Protocole IMAP pour la récupération des messages sur le serveur
Protocole SMTP pour l’envoi des messages
Serveur Mail
W10PKI WEBPKI
• Client de messagerie
« Thunderbird » • Serveur de messagerie
• WireShark « HmailServer »
• OpenSSL
Page 27/62
• Cliquer sur « « finish »
• Créer une clé privée : « openssl genrsa -aes256 -out certificate.key 4096 »
Page 28/62
• Générer le certificat signé par la clé privée (certificat autosigné sans passer par une
autorité de certification)
openssl x509 -req -days 365 -in certificate.pem -signkey certificate.key -out
certificate.pem
• Sur le serveur, dans la partie « SSL certificates » rajouter la clé privé « certificat.key » et
le certificat (clé publique) « certificat.pem »
Remarque : Il est possible de renommer le fichier « certificat.pem » en « certificat.crt », ainsi il
sera reconnu par le système Windows.
Page 29/62
• Configurer les protocoles SMTP et IMAP pour utiliser le certificat généré en utilisant
« StartTLS »
Configuration SMTP sécurisée + Save
Configuration IMAP Sécurisée + Save
Remarque : STARTTLS est un moyen de prendre une connexion non chiffrée existante, et la
"mettre à jour" vers une connexion sécurisée en utilisant SSL/TLS avec les mêmes numéros
de port. TLS lui impose de changer de port et définit des ports spécifiques pour chaque
protocole sécurisé.
Page 30/62
Le tableau suivant donne les ports utilisés pour l’utilisation de « SSL » ou « StartTLS »
Usage Port Sécurité recommandée si un certificat SSL installé
SMTP 25 StartTLS (Facultatif)
SMTP via SSL / TLS 465 SSL / TLS
SMTP présentation 587 StartTLS (obligatoire)
POP3 110 StartTLS (obligatoire)
POP3 via SSL / TLS 995 SSL / TLS
IMAP 143 StartTLS (obligatoire)
IMAP via SSL / TLS 993 SSL / TLS
Le client de messagerie détecte que le certificat est auto-signé et n’envoie donc pas le message
Bien que ça soit une pratique non recommandable, il existe une solution pour contourner ce
problème qui est de déclarer le certificat « autosigné » en tant qu’autorité de certification dans
le client de messagerie.
Page 31/62
• Sélectionner « chiffrement de bout en bout », puis « gestion des certificats S/MIME » et
« autorités ».
• Cliquer sur « Importer » pour importer « certificat.pem » et faire le paramétrage suivant :
Page 32/62
6 TP4 : Installation d’une Autorité de Certification « Microsoft »
Objectifs du TP 4 :
- Installer une autorité de certification Microsoft
- Examiner les paramètres de la console « Autorité de Certification »
Machines : Contrôleur de Domaine avec autorité de certification « DCADPKI »
Outils : console « Autorité de Certification »
Serveur WEB
Autorité de
Contrôleur de Certification WEBPKI
domaine
DCADPKI
W10PKI DOMAINE ADPKI.CORP
Les actions seront réalisées avec le compte « administrateur du domaine » sur le serveur
« DCADPKI » où est installé l’Autorité de Certification
Prérequis à l’installation de l’autorité de certification
• Installation Active Directory « DCADPKI »
• Création d’un compte de test dans l’Active Directory (Cf annexe)
• Intégration des machines « W10PKI » et « WEBPKI » dans le domaine Active Directory
« ADPKI » (Cf annexe)
Page 33/62
6.1 Installer l’autorité de certification Microsoft
On va installer l’autorité de certification sur la machine qui est « contrôleur de Domaine ».
(Attention à ne jamais faire en production)
• Paramétrer l’affichage des extensions de fichiers
• Suivant
Page 34/62
• Cocher également « Inscription de l’autorité de certification via le Web »
• Cliquer « Suivant »
• Cliquer sur « Suivant » pour définir le type d’autorité de Certification et cocher « Autorité
de certification d’entreprise »
Page 35/62
• Cliquer sur « Suivant » pour le type d’AC et cocher « Autorité de certification racine »
Page 36/62
• Cliquer sur « Suivant » et laisser par défaut le chemin base de données de certificats
Page 37/62
6.2 Examiner les paramètres de la console d’administration
• Lancer la console d’administration de l’autorité de Certification
La console d’administration de l’AC présente plusieurs dossiers qui vont comporter les
certificats ainsi que les modèles. Nous reviendrons plus en détail sur les différents dossiers à
la suite des différentes manipulations.
• Pour accéder au paramétrage, faire un clic droit sur l’AC puis cliquer sur « Propriétés »
Page 38/62
Dans l’onglet général afficher le certificat de l’AC et examiner ce certificat
Q : Pourquoi ce certificat doit être autosigné ? Quel est son rôle ?
C’est la première autorité de certification de la PKI et racine de confiance. Le certificat ne
peut être signé par une autre AC. On construit donc un certificat “auto-signé”, cad un
certificat signé par la clé privée correspondant à la clé publique inscrite dans le certificat.
Q : Quelle sera la taille par défaut de la bi-clé RSA ?
2048 Bits
Q : Qu’est-ce une extension X509 ?
Dans la norme X509v3, il y a des extensions dites « standards ». Les extensions sont des
informations importantes dans les certificats fournissant des paramètres pour une
application qui utilise le certificat. Elles donnent des informations complémentaires
concernant l'utilisation des certificats ou les attributs des utilisateurs et des CA. Chaque
extension est considérée comme critique ou non critique.
Q : Quelle sera l’utilisation ce cette clé (Extension X509 Key Usage) ?
20 ans
Q : Que faudra-t-il faire à l’approche de cette date ? Quelle incidence sur les certificats
générés avec ce nouveau certificat ?
Mettre en place une procédure de migration
Les certificats sont toujours valables
Page 39/62
7 TP5 : Inscription des certificats dans une PKI
Objectifs du TP 5 :
- Générer un modèle de certificat
- Inscrire un certificat à l’aide du modèle généré
- Publier une liste CRL
Machines : Contrôleur de Domaine avec autorité de certification « DCADPKI » et poste client
« W10PKI »
Outils : console « Autorité de Certification », console « certificats »
DOMAINE ADPKI.CORP
Autorité de
Certification
Génération d un modèle
Contrôleur de ADPKIUser
domaine
W10PKI
DCADPKI
Inscription du Certificat
• Sur le poste client w10PKIX, se connecter avec le compte créé dans l’annuaire Active
Directory
• Lancer une mmc dans la console
Page 40/62
Q : Comment un poste client sait qu’il y a une Autorité de Certification d’entreprise ?
Grace au certificat racine déployé sur cette même machine de façon automatique lors de
l’intégration à l’annuaire Active Directory.
On peut faire une demande de certificats depuis un poste client via la console « certificats »
Les supprimer
Page 41/62
7.2 Création d’un modèle de certificats « ADPKIUser »
• Se positionner sur « modèle de certificats » dans la console de l’AC
Page 42/62
On autorise l’exportation de la clé privée au format « pfx » et mise au coffre
Page 43/62
• On rajoute 2 fonctionnalités « Chiffrement de document » et « signature de document »
Pour le moment l’AC ne délivre aucun modèle. Il faut ajouter ce nouveau modèle pour qu’elle
puisse le délivrer.
Page 44/62
7.3 Inscription d’un « certificat » et publication de la liste CRL
• Se connecter sur le poste « W10PKI » et lancer la console certificats
• Sélectionner « Demander un nouveau certificat »
Q : Qu’est-ce qu’une liste de révocation des certificats ? A quoi sert -elle ? Pourquoi
est-il nécessaire de la publier ?
Une Liste de Révocations de Certificats (CRL) est la liste des identifiants (numéros de série)
des certificats révoqués. C’est une liste des certificats qui ne sont plus valides et qui ne sont
plus dignes de confiance. Ce mécanisme est fondamental pour les PKI car c’est par la
révocation que l’on se prémunit d’attaques non prévisibles sur les clefs ou de
compromissions accidentelles.
Un certificat peut devenir invalide pour de nombreuses raisons autres que l’expiration
naturelle, comme la perte ou la compromission de la clef privée associée au certificat, des
changements de champs inclus dans le nom du détenteur du certificat, ou encore des
changements de droits d’accès. Ainsi, dans la chaîne de vérification d’un certificat, il faut
toujours vérifier la date de fin de validité du certificat, mais également que le certificat n’est
pas contenu dans la toute dernière CRL publiée.
Page 46/62
Q : Pourquoi les certificats et les listes de révocations sont-elles publiées dans un
annuaire ?
Le propre d’un certificat est d’être une donnée publique accessible à des entités qui ne se
connaissent pas. La publication des certificats sur un annuaire assure qu’un certificat est
accessible à tout moment par les autres utilisateurs.
Lorsqu’un certificat est révoqué par une AC, quelle qu’en soit la raison (perte ou vol de la
clef privée, sortie d’un réseau de communication, etc.), l’AC doit diffuser l’information de
cette révocation aux autres utilisateurs pour que ceux-ci n’utilisent plus la clef publique.
Ainsi l’information doit donc être publiquement accessible à tout moment. Cette diffusion est
réalisée par la publication de la CRL. S’il n’y pas de liste publiée, l’inscription de certificats
échoue.
Effectuer la publication de la CRL vide
• Lancer la console « Autorité de certification » sur le serveur « DCADPKI » et se
positionner sur « certificats révoqués »
• Sélectionner « publier »
• Laisser l’option par défaut « Nouvelle liste de révocation des certificats » et cliquer sur
« OK »
• Se connecter sur « W10PKI » et relancer le processus d’inscription des certificats
• Sélectionner le modèle « ADPKIUser » et cliquer sur « détails »
Page 47/62
• Cliquer sur « propriétés » et sélectionner l’onglet « général » pour mettre un nom
convivial afin d’identifier plus facilement le certificat.
• Cliquer sur « Appliquer » et « OK » puis sur « inscription »
• L’opération doit se terminer avec succès. Cliquer sur « OK »
Oui ce certificat est associé à une clé privée que l’on peut exporter au format « .pfx »
Page 48/62
Q : Quelle est l’utilisation de la clé ? Quelle est la différence en l’extension
« utilisation de la clé » et « utilisation avancée de la clé »
Les valeurs de « utilisation de la clé » sont :
• Signature numérique : utilisation lorsque la clé publique est utilisée avec un
mécanisme de signature numérique pour soutenir des services de sécurité autres que
la non-répudiation, la signature de certificat ou la signature de CRL. Une signature
numérique est souvent utilisée pour l'authentification des entités et l'authentification de
l'origine des données avec intégrité.
• Chiffrement de la clé (a0) : À utiliser lorsqu'un certificat sera utilisé avec un protocole
chiffrant les clés. Un exemple est S/MIME, où une clé rapide (symétrique) est chiffrée
avec la clé publique du certificat. Le protocole SSL effectue également le chiffrement
des clés.
Les extensions d'utilisation des clés définissent l'objectif de la clé publique contenue dans
un certificat.
Les extensions d'utilisation avancée des clés (Extended Key Usage) sont une méthode
permettant d’appliquer la clé publique d'un certificat pour une utilisation à un ensemble
prédéterminé de situations. Par exemple « Chiffrement des fichier EFS », « messagerie
électronique sécurisée » ou « chiffrement des documents »
Q : A quoi sert l’extension « Accès aux informations de l’autorité »
C’est un lien vers le certificat de l’autorité de certification. Il est utile si le logiciel qui vérifie
le certificat ne connait pas ce certificat dans sa base.
Il est publié dans l’annuaire « ADPKI.CORP » dans une endroit appelé la partition de
configuration et visible pour toutes les machines de l’infrastructure AD
Q : Où est l’extension qui fait référence au modèle utilisé pour créer ce certificat ?
Quelle est la version du modèle utilisé ?
L’extension utilisé est « Informations du modèle de certificat »
Version 100.3
Page 49/62
8 TP6 : Utilisation de certificats avec un serveur web
Objectifs du TP :
- Installer/paramétrer un serveur Web Apache sous Windows
- Inscrire un certificat sur un serveur Web à l’aide d’un modèle
Machines : Serveur Windows 2016 « WEBPKI », Contrôleur de Domaine avec autorité de
certification « DCADPKI » et poste client « W10PKI »
Outils : console « Autorité de Certification », console « certificats »,Serveur Apache
Prérequis : Serveur « WebPKI » intégré au domaine AD
WEBPKI
APACHE
Inscription du Certificat
Autorité de
Contrôleur de Certification Accès au site en
domaine HTTPS
Navigateur
DCADPKI
W10PKI
DOMAINE ADPKI.CORP
Page 50/62
• Installer Apache en tant que service Windows en exécutant la commande suivante
« httpd.exe -k install »
Pour un accès depuis la machine W10PKI, on autorisera les connexions entrantes pour le profil
de domaine sur le firewall (Si le firewall est désactivé ou déjà configuré ne rien faire)
Page 51/62
• Sélectionner les paramètres de compatibilité avec l’Autorité de certification « Windows
2016 »
• Inscrire le nom du modèle de certificat « ServeurApache »
• On autorise l’exportation de la clé privée au format « pfx » et mise au coffre
Page 52/62
• Sélectionner le « Nom du sujet ». On récupère l’information d’appartenance du certificat
à partir de l’AD. Le format est « Nom Unique ». Les informations de compte UPN et de
messagerie seront inclus dans le certificat.
Page 53/62
• Cliquer sur Terminer » et « Ok »
• Enregistrer la console sur le Bureau
• Initier une demande de certificats en se positionnant sur « personnel » et sélectionner
« Demander un nouveau certificat »
• Cliquer sur « Suivant » et définir un mot de passe pour protéger la clé privée
»
• Exporter le fichier dans le répertoire “apache24\conf”
Le format binaire « pfx » n’est pas directement utilisable avec le fichier de configuration du
serveur apache. Il faut exporter ce certificat et sa clé privée sous le format « pem » (base64)
éditable. On va pouvoir accéder à la clé privée de cette façon.
Page 55/62
Q : Lister les formats de certificats et leurs différences ?
pfx, .p12, .pem, .der, .crt ou .cer ? Il faut savoir que l’extension du fichier du certificat
SSL/TLS n’est pas importante. Un certificat SSL/TLS peut être enregistré au format txt
(qui est également le plus courant pour la plupart des serveurs Linux, Apache, Unix et
autres) ou binaire (Java, Microsoft Server). Un certificat est enregistré dans un fichier de
texte codé en Base64. Le fichier est lisible dans un éditeur de texte (Notepad) et comporte
les indications ----BEGIN et ----END CERTIFICATE.
Le format binaire des certificats ne peut pas être ouvert dans un éditeur de texte.
Format PEM : Le format le plus utilisé valable pour les certificats et les clés privées. La
plupart des serveurs (par exemple Apache) utilisent la clé privée et le certificat dans les
fichiers séparés. Des certificats PEM sont au format texte codé en Base64.
✓ PEM est un fichier codé en Base64 utilisant des caractères ASCII.
✓ Les extensions sont généralement .cer, .crt, .pem ou .key (pour la clé privée).
✓ Ils sont utilisés pour les serveurs Apache et autres serveurs sous OS Unix/Linux
Format DER : DER est un format de certificat binaire. Ce n'est pas un fichier texte et par
conséquent, il ne peut pas être édité, ouvert et copié en tant que texte en Base64 (dans le
Notepad etc.).
✓ Tous les types de certificats et clés privées peuvent être sauvegardés au format DER.
✓ Les extensions sont généralement .cer ou .der.
✓ Ils utilisent généralement les plates-formes Java.
Format P7B/PKCS#7 : Le format P7B est un format basé sur le Base64. Les extensions
sont « .p7b » ou « .p7c ».
✓ Un fichier P7B contient le certificat et des certificats de chaîne (certificats
intermédiaires) sans la clé privée.
✓ Ils utilisent les plate-formes Java Tomcat.
Page 56/62
A partir de « webpki.pem », on génère manuellement avec « notepad », les trois fichiers
suivants :
Le certificat du serveur avec sa clé publique : « wekpki.crt »
La clé privée du serveur : « webpki.key »
Le certificat de l’autorité de Certification avec sa clé publique : « wekpki.ac »
Attention, veiller à laisser un « saut de ligne » après «END CERTIFICATE » pour l’ensemble
des trois fichiers. Par exemple voici le fichier « wekpki.crt »
Page 57/62
8.2.3 Mettre en œuvre SSL pour sécuriser les flux
• Sur le serveur « WebPKI » avec le compte « administrateur du domaine »
• Ouvrir dans l’éditeur « notepad » le fichier « httpd.conf » situé dans le répertoire « conf »
• Activation des modules en décochant les lignes suivantes :
Le client a récupéré le certificat du serveur avec sa clé publique afin de chiffrer les
communications et authentifier le serveur.
Page 59/62
9 Annexes
Page 60/62
9.2 Intégrer le poste « Windows 10 » à votre domaine AD
Attention le DNS du poste doit faire référence à l’IP du contrôleur de domaine
Set-executionpolicy RemoteSigned pour exécuter les scripts localement (exécuter en tant qu’admi-
nistrateur)
Page 62/62