Vous êtes sur la page 1sur 27

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

1/27

a cles publiques. Dans un environnement WS2003 1/27 Implémenter une infrastructure à clés publiques dans un

Implémenter une infrastructure à clés publiques dans un environnement Windows Server 2003

Dans une société où la sécurité et la confidentialité des communications sont chaque jour plus important, les certificats numériques, véritables cartes d'identités pour les utilisateurs de réseaux informatiques, sont un domaine en plein essor. Les certificats numériques sont diffusés dans une infrastructure à clés publiques, infrastructure de plus en plus répandue dans les entreprises. Un exemple d'utilisation qui gagne chaque jour du terrain et bien entendu les cartes à puces.

Bien que n'ayant plus besoin de démontrer leur intérêt, beaucoup d'entre vous hésitent encore à franchir le pas, et notamment à implémenter dans votre propre réseau une infrastructure à clés publiques permettant de garder un contrôle total sur la gestion de vos certificats.

La première partie de cet article présente les certificats numériques, leur utilité ainsi que leur fonctionnement dans une infrastructure à clés publiques. La deuxième partie présente la mise en place et la gestion de ce type d'infrastructure à l'aide du système d'exploitation serveur de Microsoft :

Windows Server 2003. Enfin, dans un dernier point, seront présentés quelques domaines dans lesquels les certificats sont de plus en plus utilisés pour sécuriser la communication sur un réseau informatique.

dans lesquels les certificats sont de plus en plus utilisés pour sécuriser la communication sur un

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

2/27

1. Les certificats numériques

1.1 Présentation

Un certificat numérique (aussi appelé certificat électronique) est un fichier permettant de certifier l'identité du propriétaire d'une clé publique, un peu à la manière d'une carte d'identité. Un certificat est généré dans une infrastructure à clés publiques (aussi appelé PKI pour Public Key Infrastructure) par une autorité de certification (Certification Authority , CA) qui a donc la capacité de générer des certificats numériques contenant la clé publique en question.

Actuellement, les certificats numériques sont reconnus à la norme X.509 version 3. Ce format se compose entre autre de :

la version du certificat X.509 (actuellement la V3)

le numéro de série

l'algorithme de signature

le nom de l'émetteur (autorité de certification)

la date de début de fin de validité

l'adresse électronique du propriétaire

la clé publique à transmettre

le type de certificat

l'empreinte du certificat (signature électronique)

La signature électronique est générée par l'autorité de certification à l'aide d'informations personnelles (telles que le nom, le prénom, l'adresse e-mail, le pays du demandeur, etc) en utilisant sa propre clé privée.

e-mail, le pays du demandeur, etc) en utilisant sa propre clé privée . Exemple d'un certificat

Exemple d'un certificat numérique

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

3/27

Il existe de nombreux types de certificats numériques, répondant chacun à un besoin particulier. Les principaux types sont :

Certificat de messagerie (permet de crypter et de signer ses e-mails)

Authentification IPSec pour un accès distant par VPN

Authentification Internet pour les pages Web sécurisées

Cryptage des données avec EFS

Signature de logiciel

1.2 Pourquoi utiliser un certificat numérique ?

Un certificat numérique intervient dans différents mécanismes permettant de sécuriser l'échange de données sur un réseau. On y retrouve le cryptage asymétrique ou encore la signature électronique combinée à un contrôle d'intégrité des données.

1.2.1 Le cryptage

Il existe deux types de cryptage : le cryptage symétrique et le cryptage asymétrique. Seul le cryptage asymétrique nécessite l'utilisation de certificats numériques.

Le cryptage symétrique

Le cryptage symétrique fonctionne à l'aide d'une et unique clé, qui permet à la fois de crypter les données et de les décrypter. Pour échanger des données cryptées symétriquement entre deux personnes, il faut que les deux personnes soient en possession de la clé de cryptage symétrique.

soient en possession de la clé de cryptage symétrique. Sur ce schéma, Pierre utilise une clé

Sur ce schéma, Pierre utilise une clé privée (un mot de passe par exemple) pour encrypter le message. Paul reçoit le message crypté et doit donc disposer de la clé privée de Pierre ayant encrypté les données pour pouvoir y accéder.

Tout le problème du cryptage symétrique est qu'il faut pouvoir échanger la clé privée à travers le réseau de manière sécurisée et donc s'assurer qu'aucune personne malveillante n'est pu se procurer la clé lui permettant de déchiffrer le message. Le cryptage symétrique reposant sur le fait que l'expéditeur ait communiqué au destinataire du message la clé privée lui permettant de décrypter le message, il n'y a pas besoin de garantir l'identité de l'expéditeur.

Le cryptage asymétrique

o Principe du cryptage asymétrique

Le cryptage asymétrique s'appui sur un couple de clés composé d'une clé publique permettant à n'importe qui de crypter un message, un destinataire muni de sa propre clé privée. La clé publique est donc largement diffusée dans le réseau (local, Internet, …) et permet le cryptage du message alors que la clé

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

4/27

privée, qui doit rester confidentielle, permet à son possesseur de déchiffrer tous les messages encryptés à l'aide de la première.

tous les messages encryptés à l'aide de la première. Le serveur de clés publiques va générer

Le serveur de clés publiques va générer à la demande de Paul un couple de clé publique / clé privée. Il transmettra la clé privée à Paul et partagera à tout le monde la clé publique. Pierre crypte le message avec la clé publique de Paul obtenu sur le serveur et transmet le message sur le réseau. Lorsque Paul le reçoit, il pourra le déchiffrer grâce à sa clé privée.

Des données cryptées en utilisant le cryptage asymétrique peuvent mettre jusqu'à 1000 fois plus de temps pour être décryptées par rapport au cryptage symétrique. C'est pour cette raison que très souvent, les deux cryptages sont utilisés simultanément : le cryptage asymétrique (plus sécurisé) permet d'échanger la clé privée utilisée par le cryptage symétrique entre les deux hôtes après quoi le cryptage symétrique (plus rapide) est alors utilisé. Dans ce cas la clé privée est appelée clé de session.

o Pourquoi utiliser un certificat numérique pour sécuriser le cryptage aysmétrique ?

Un certificat numérique permet, lors d'un cryptage asymétrique, de garantir lorsque cela s'avère nécessaire, l'identité des différents intervenants. Prenons l'exemple de l'envoi d'un message crypté de manière asymétrique entre deux utilisateurs.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

5/27

a cles publiques. Dans un environnement WS2003 5/27 Dans ce cas, Pierre veut transmettre des informations

Dans ce cas, Pierre veut transmettre des informations confidentielles à Paul. Il va donc récupérer auprès du serveur de clés publiques la clé de cryptage qu'il pense être celle de Paul. Malheureusement, sans certificat (donc sans carte d'identité) l'identité du propriétaire de la clé publique n'est pas garantie. Pierre va donc crypter le message avec la clé publique qu'il pensera être celle de Paul mais qui appartiendra en réalité à Jacques le pirate. Jacques n'aura donc plus qu'à récupérer le message et pourra le décrypter sans aucun problème avec sa propre clé privée.

Dans le cas de l'utilisation d'un certificat numérique, Pierre se serait aperçu que la clé publique ne pouvait pas appartenir à Paul et n'aurait donc pas transmis son message.

1.2.2 Signature numérique et non répudiation des données

Le rôle d'une signature numérique et de la non répudiation des données

Alors que le cryptage permet d'empêcher une personne non autorisée à accéder à un contenu protégé, la signature numérique est un procédé qui permet de s'assurer que l'émetteur d'un message est bien celui qu'il prétend être.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

6/27

a cles publiques. Dans un environnement WS2003 6/27 Pierre envoie un message à Paul et le

Pierre envoie un message à Paul et le signe de son nom. Malheureusement un pirate, Jacques, intercepte le message signé par Pierre et le modifie. Il laisse la signature de Pierre et le renvoie à Paul. Paul pensera donc lorsqu'il recevra le message, que c'est Pierre qui lui a envoyé.

La signature électronique seule ne suffit donc pas. Il a fallu mettre en place un système plus élaboré : la non-répudiation des données. Pour ne plus que le message puisse être modifié à l'insu du destinataire, la signature du message dépendra du contenu du message. Ainsi, en cas de modification de la moindre des données, la signature ne correspondra plus à celle initialement prévue.

Fonctionnement d'une signature numérique

La signature d'un message passe donc par deux étapes successives et complémentaires : la création d'un condensé du message puis sa signature.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

7/27

a cles publiques. Dans un environnement WS2003 7/27 Tout d'abord, l'émetteur du message, Pierre, va

Tout d'abord, l'émetteur du message, Pierre, va créer un condensé (en quelque sorte l'empreinte numérique de son message). Il va ensuite crypter ce condensé à l'aide de sa clé privée (que lui seul possède, ce qui garantit son origine) et joindre ce résultat, appelé la signature numérique du message, à son message. Il pourra ensuite envoyer son message à Paul. Lorsque Paul recevra le message, il va tout d'abord décrypter le condensé à l'aide de la clé publique de Pierre. Ensuite il va créer un condensé du message reçu qu'il pourra enfin comparer au condensé reçu avec le message. Si son condensé et celui reçu sont identiques, cela signifie que le message est exactement le même que Pierre a envoyé.

1.2.3 Les infrastructures à clés publiques (PKI)

Une PKI (Public Key Infrastructure), aussi appelée IGC (Infrastructure de Gestion de Clés) est une infrastructure réseau qui a pour but final de sécuriser les échanges entre les différents composants d'un réseau.

Cette infrastructure se compose de quatre éléments essentiels :

Une Autorité d'Enregistrement (Registration Authorities) : c'est cette autorité qui aura pour mission de traiter les demandes de certificat émanant des utilisateurs et de générer les couples de clés nécessaires (clé publique et clé privée). Son rôle peut s'apparenter à la préfecture lors d'une demande de carte d'identité.

Une Autorité de Certification (Certification Authorities) : elle reçoit de l'Autorité d'Enregistrement les demandes de certificats accompagnées de la clé publique à certifier. Elle va signer à l'aide de sa clé privée les certificats, un peu à la manière de la signature de l'autorité sur une carte d'identité. Il s'agit du composant le plus critique de cette infrastructure en raison du degré de sécurité requis par sa clé privée.

Une Autorité de Dépôt (PKI Repositories) : il s'agit de l'élément chargé de diffuser les certificats numériques signés par la CA sur le réseau (privé, Internet, etc).

Les utilisateurs de la PKI : ce sont les personnes effectuant des demandes de certificat mais aussi ceux qui souhaitent vérifier l'identité d'un certificat qu'ils ont reçu.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

8/27

a cles publiques. Dans un environnement WS2003 8/27 Exemple de demande d'un certificat pour signer

Exemple de demande d'un certificat pour signer numériquement les e-mails de Pierre

Lorsque l'Autorité de Certification reçoit une demande de certificat par l'intermédiaire de l'Autorité d'Enregistrement, elle doit générer un certificat. Pour prouver que le certificat émane réellement de cette CA, il doit être signé avec la clé privée de l'Autorité de Certification. Cela signifie que si un utilisateur arrive à se procurer cette clé privée, il pourrait créer des certificats numériques valides en générant lui- même le couple de clés. Il pourrait donc signer et décrypter l'intégralité des données circulant. Il est donc primordial d'assurer la sécurité et la confidentialité de la clé privée de l'Autorité de Certification.

Dans une PKI assez importante, il peut être judicieux de garder la clé privée sur un ordinateur autonome (non relié à un réseau) et physiquement sécurisé sur lequel l'opérateur de certificat (personne de confiance) générera les certificats en apportant la clé publique à signer sur une mémoire mobile et en récupérant le certificat généré de la même manière.

2. Implémenter une infrastructure à clés publiques

2.1 Installation des Services de Certificats sous Windows Server 2003

2.1.1 Installation du service IIS

Si vous envisagez la diffusion de certificats par l'intermédiaire d'une page Web, il est préférable d'installer IIS (Internet Information Services) avant l'installation de l'autorité de certification. De cette manière, IIS sera automatiquement configuré pour diffuser des certificats.

Pour installer IIS, il faut se rendre dans « Ajout/Suppression de programmes » dans le panneau de configuration. Sélectionner « Ajouter ou supprimer des composants Windows », double cliquer sur « Serveur d'applications », sur « Services IIS » puis sur « Services World Wide Web ». Sur la fenêtre

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

9/27

qui s'ouvre, cochez « Active Server Pages (ASP) » ainsi que « Services World Wide Web » puis cliquer sur le bouton OK. Lancez l'installation à l'aide du bouton Suivant.

Lancez l'installation à l'aide du bouton Suivant . Une fois la copie des fichiers terminée, ouvrez

Une fois la copie des fichiers terminée, ouvrez la page http://127.0.0.1 à l'aide d'Internet Explorer. La page devrait être marquée : « En chantier » si IIS fonctionne correctement.

2.1.2 Installation des Services de certificats

Attention : après l'installation des services de certificats, il n'est plus possible de changer le nom ou le domaine du serveur.

Pour installer une autorité de certification sous Windows Server 2003, il faut se rendre dans

« Ajout/Suppression de programmes » dans le panneau de configuration. Sélectionner « Ajouter ou

supprimer des composants Windows », cocher « Services de certificats » puis cliquer sur le bouton

« Suivant ». La première étape de l'installation consiste à choisir le type d'autorité de certification.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

10/27

a cles publiques. Dans un environnement WS2003 10/27 Il existe deux types principaux d'installation : 

Il existe deux types principaux d'installation :

Autorité d'entreprise : à utiliser si l'autorité de certification doit délivrer des certificats dans un domaine auquel appartient le serveur (se base sur l'annuaire d'Active Directory). Cette autorité doit être contrôleur de domaine.

Autorité autonome : permet de délivrer des certificats dans un réseau comme Internet

Il existe deux niveaux fonctionnels pour chacun de ces deux types d'installation :

Autorité racine : l'autorité de certification est la première du réseau

Autorité secondaire : dépend d'une autorité racine

Remarque : Il est possible de spécifier des paramètres avancés pour la génération du couple de clés pour cette autorité de certification, en cochant « Utiliser les paramètres personnalisés ».

Il faut ensuite choisir un nom pour cette autorité de certification ainsi que, dans le cas d'une autorité racine, la période de validité des certificats délivrés. Pour terminer, l'installation propose de changer l'emplacement de la base des certificats et des fichiers journaux. Après avoir validé cette dernière étape, la copie des fichiers nécessaires commence. Une fois l'installation effectuée, un nouveau composant apparaît dans le menu « Outils d'administration » : Autorité de certification.

2.1.3 Sécuriser IIS à l'aide du protocole SSL

Il est possible de sécuriser les pages Web du serveur IIS à l'aide du protocole SSL (Secure Sockets Layer). Lors de l'utilisation du SSL, les données qui transiteront entre le demandeur d'un certificat et l'autorité de certification seront cryptées, dans notre cas, cela permettra de sécuriser tous les échanges avec l'autorité de certification.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

11/27

Pour activer SSL sur le serveur IIS, il faut d'abord ouvrir le « Gestionnaire des services Internet (IIS) » dans le menu « Outils d'administration ». Sélectionnez l'ordinateur local, puis « Sites Web ». Effectuez un clique droit sur le « Site Web par défaut » (qui contient le répertoire virtuel CertSrv) et choisissez « Propriétés ». Dans la fenêtre qui s'affiche, sélectionnez l'onglet « Sécurité du répertoire ».

l'onglet « Sécurité du répertoire ». Sur la page qui s'affiche, cliquez sur le bouton «

Sur la page qui s'affiche, cliquez sur le bouton « Certificat de serveur ». Suivez l'assistant pour « Créer un certificat ».

Si votre serveur appartient à un domaine, il est possible de transmettre directement la demande à l'autorité de certification en cliquant sur « Envoyer immédiatement la demande à une autorité de certification en ligne ». Dans le cas contraire choisissez « Préparer la demande, mais ne pas l'envoyer maintenant ». Choisissez ensuite un nom pour le nouveau certificat, l'organisation et l'unité d'organisation, le nom du site Web et enfin le pays, le département et la région où se situe votre serveur.

Si vous avez choisi de préparer une demande, il vous faudra l'enregistrer avant de pouvoir générer le certificat en vous rendant sur http://127.0.0.1/certsrv . Vous pourrez alors sélectionner « Demander un certificat », soumettre une « demande de certificat avancée » et enfin « soumettre une demande de certificat en utilisant un fichier CMC ou PCK#10 ». Dans la zone de texte « Demande enregistrée », collez le contenu du fichier enregistré précédemment (qui se trouve par défaut dans c:\certreq.txt) puis cliquez sur le bouton « Envoyer ».

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

12/27

a cles publiques. Dans un environnement WS2003 12/27 Dans le cas d'une autorité de certification autonome,

Dans le cas d'une autorité de certification autonome, vous devrez autoriser manuellement la génération de ce certificat en vous rendant dans « Autorité de certification » dans le menu « Outils d'administration ». Il vous faudra ensuite vous rendre dans les « Demandes en attente », d'effectuer un clique droit sur la demande que vous venez d'émettre afin de pouvoir « Délivrer » ce certificat. Une fois votre autorisation accordée, retournez à l'accueil de la page Web puis « Afficher le statut d'une requête

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

13/27

de certificat en attente ». Sélectionnez votre demande puis « Télécharger le certificat » sur votre disque dur. Fermez alors le navigateur Internet.

Revenez dans les propriétés du Site Web d'IIS, dans l'onglet « Sécurité du répertoire ». Cliquez à nouveau sur le bouton « Certificat de serveur » puis « Traitez la demande en attente ». Sélectionnez le certificat que vous venez d'enregistrer. Votre serveur IIS dispose donc maintenant de son propre certificat garantissant aux yeux des utilisateurs son identité et il ne reste plus qu'à activer le protocole SSL sur ce site Web.

Pour cela, toujours dans l'onglet « Sécurité du répertoire », cliquez sur le bouton « Modifier » et cochez « Requérir un canal sécurisé (SSL) » ainsi qu' « Exiger le cryptage 128 bits ». Enregistrez la configuration et fermez le Gestionnaire des services Internet. L'interface Web de l'autorité de certification est désormais accessible en entrant l'url suivante : https://nom-de-lautorite/certsrv.

l'url suivante : https://nom-de-lautorite/certsrv. 2.2 Administrer une infrastructure à clés publiques 2.2.1

2.2 Administrer une infrastructure à clés publiques

2.2.1 L'outil "Autorité de certification"

L'outil « Autorité de certification », présent dans les outils d'administration de Windows Server 2003, vous permet de gérer votre autorité de certification :

Liste des certificats révoqués

Liste des certificats délivrés

Demandes en attente

Demandes ayant échoué

Administration des modèles de certificats (uniquement sur une autorité d'entreprise)

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

14/27

La liste des certificats révoqués contient tous les certificats révoqués dans cette infrastructure. Il est possible de publier la liste des certificats révoqués manuellement, en effectuant un clique droit sur « Liste des certificats révoqués » puis en choisissant « Publier » dans Toutes les tâches. Vous pouvez publier une liste de base ou seulement une liste delta.

La liste des certificats délivrés vous permet de consulter mais aussi de révoquer les certificats émis par cette autorité de certification. Pour révoquer un certificat, sélectionnez-le puis effectuez un clique droit afin de choisir « Révoquer un certificat » dans le menu Toutes les tâches. Il est possible de choisir une raison pour cette révocation. Le certificat apparaît alors dans la liste évoquée précédemment.

Les demandes en attente, dans le cas d'une autorité de certification autonome, apparaissent ici. Il vous est alors possible de délivrer ou non le certificat à l'utilisateur. Pour cela, sélectionnez le certificat puis effectuez un clique droit dessus. Choisissez « Délivrer » ou « Refuser » dans le menu Toutes les tâches. Dès lors, l'utilisateur peut aller consulter le nouvel état de sa demande.

Les demandes ayant échoué représentent les certificats n'ayant soit pas été autorisés, soit n'ayant pas pu être émis (demande de certificat avancé incorrecte, erreur de création du certificat, etc).

Dans le cas d'une autorité de certification faisant partie d'un domaine, une ligne supplémentaire existe :

Les modèles de certificats. Vous pouvez administrer ces modèles depuis cet outil. En double cliquant sur un modèle de certificat, sa description apparaîtra. Il est aussi possible de gérer ces modèles, pour cela effectuez un clique droit sur une zone vide puis sélectionnez « Gérer ».

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

15/27

a cles publiques. Dans un environnement WS2003 15/27 Outre ces fonctionnalités, il est possible depuis cette

Outre ces fonctionnalités, il est possible depuis cette interface de renouveler le certificat de l'autorité de certification manuellement en effectuant un clique droit sur son nom, puis en sélectionnant « Renouveler le certificat d'Autorité de certification » dans le menu « Toutes les tâches ».

sélectionnant « Renouveler le certificat d'Autorité de certification » dans le menu « Toutes les tâches

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

16/27

Il est aussi possible d'administrer son autorité de certification en ligne de commande à l'aide de la commande « certutil ». Vous pouvez par exemple afficher les modèles de certificats ( -template ), signer une liste de révocation ( -sign ) ou encore importer un nouveau certificat dans la base de données ( - importcert ). Pour obtenir l'aide complet de cette commande, entrez « certutil /? ».

2.2.2 L'interface Web "certsrv"

Pour effectuer une nouvelle demande de certificat, les utilisateurs peuvent se connecter à l'aide d'Internet Explorer sur le site Web : http://nom-de-l'autorite/certsrv (ou https://nom-de-l'autorite/certsrv dans le cas d'une connexion sécurisée).

L'interface Web se décompose en trois parties :

Demander un certificat : permet de demander des certificats standards ou avancés

Afficher le statut d'une requête de certificat en attente : permet dans le cas d'une autorité de certification autonome, de récupérer un certificat après ayant été validé par l'administrateur

Télécharger un certificat d'autorité de certification… : permet de télécharger le certificat de l'autorité de certification ainsi que la liste de révocations des certificats de cette infrastructure

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

17/27

a cles publiques. Dans un environnement WS2003 17/27 Pour pouvoir installer un certificat, il faut tout

Pour pouvoir installer un certificat, il faut tout d'abord en faire la demande (Demander un certificat). Vous pouvez choisir entre différents types de certificat (navigateur Web, courrier électronique, EFS, utilisateur, serveur, IPSec, etc) selon les besoins dans votre réseau. Si vous exprimez une demande sur une autorité de certification autonome, il vous faudra entrer des informations d'identification (nom, société, pays etc) permettant de vous identifier sur votre certificat avant de pouvoir soumettre votre demande. Il vous faudra ensuite patienter jusqu'à ce qu'un administrateur autorise manuellement votre demande. Lorsque cela aura été fait, vous pourrez installer votre nouveau certificat (« Afficher le statut d'une requête de certificat en attente » sur l'interface Web). Dans le cas d'une demande à une autorité d'entreprise il vous suffit de sélectionner le type de certificat puis de l'installer.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

18/27

a cles publiques. Dans un environnement WS2003 18/27 Remarque : Pour accorder votre confiance aux certificats

Remarque : Pour accorder votre confiance aux certificats émis par cette autorité de certification, vous devez installer la chaîne de certificats d'Autorité de certification (Télécharger un certificat d'autorité de certification).

Sur cette page, vous pouvez aussi télécharger la liste de révocation de certificats émis par cette autorité. Elle contient la liste des certificats ayant été marqués comme obsolètes (clé privée compromise, certificat ayant dépassé sa période de validité, etc). Il est possible de télécharger la liste de révocation de base (qui contient tous les certificats révoqués par cette autorité) mais aussi la liste delta (qui contient seulement les dernières mises à jour).

2.2.3 La MMC "Certificats"

Le composant enfichable Certificats permet de gérer les certificats d'un utilisateur ou d'un ordinateur. Pour cela, dans le menu démarrer, choisissez « Exécuter » puis entrez « MMC ».

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

19/27

a cles publiques. Dans un environnement WS2003 19/27 Dans la fenêtre qui s'ouvre, déroulez le menu

Dans la fenêtre qui s'ouvre, déroulez le menu « Fichier » puis choisissez « Ajouter/Supprimer un composant logiciel enfichable ». Sélectionnez le bouton « Ajouter » puis double cliquez sur « Certificats ». Vous pouvez alors choisir d'afficher les certificats de l'utilisateur actuel ou alors de l'ordinateur.

Le dossier « Personnel » contient tous les certificats ayant été accordés à cet objet (certificat EFS, messagerie, IPSec, etc). Il est possible de sauvegarder un certificat et éventuellement la clé privée lui étant associée en le sélectionnant, en effectuant un clique droit dessus puis en choisissant « Exporter » dans le menu Toutes les tâches. Si vous souhaitez exporter la clé privée, il faut que lors de l'installation du certificat, la clé a été marquée comme exportable, et l'assistant vous demandera alors d'entrer un mot de passe pour protéger cette clé.

Remarque : Il est conseillé de garder une sauvegarde de ses certificats ainsi que de ses clés privées pour pouvoir les réutiliser en cas de problème sur son système (par exemple pour pouvoir décrypter des fichiers cryptés à l'aide d'EFS après une défaillance du système d'exploitation).

Le composant logiciel enfichable Certificats permet aussi, dans le cas d'un ordinateur présent dans un domaine, qui comprend une autorité de certification d'entreprise, de faire une demande de certificat sans passer par l'interface Web. Pour cela, il suffit d'effectuer un clique droit sur le dossier « Personnel » afin de « Demander un nouveau certificat » dans le menu Toutes les tâches.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

20/27

a cles publiques. Dans un environnement WS2003 20/27 Remarque : Dans le cas d'une autorité

Remarque : Dans le cas d'une autorité d'entreprise, il est possible de diffuser automatiquement des certificats à l'aide d'une GPO.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

21/27

2.2.4 Sécurisez une autorité de certification

21/27 2.2.4 Sécurisez une autorité de certification Exemple d'implémentation d'une PKI à trois niveaux

Exemple d'implémentation d'une PKI à trois niveaux

L'autorité de certification racine étant l'élément le plus critique d'une PKI en raison de la confidentialité de sa clé privée, il est fortement conseillé d'utiliser une infrastructure à plusieurs niveaux. Dans l'exemple ci-dessus, l'autorité racine ne délivre que deux certificats (donc seulement deux utilisations de sa clé privée) aux autorités de certifications intermédiaires. Une fois les autorités de certifications intermédiaires approuvées par l'autorité racine, elle peut être déconnectée du réseau ce qui garantit qu'aucun utilisateur malveillant ne pourra "voler" la clé privée de l'autorité de certification racine.

Lorsque ces autorités de certifications intermédiaires auront reçues leur certificat leur permettant d'exercer leur fonction, elles pourront à leur tour autoriser les autorités de certifications dites "émettrice". De cette manière, il est aussi possible de déconnecter du réseau les autorités intermédiaires en laissant les autorités de certifications "émettrices" signer les certificats. Cette hiérarchie permet non seulement de choisir quelle autorité va délivrer tel type de certificat, mais aussi de limiter les risques d'attaque de cette PKI, puisqu'en aucun cas il ne sera possible d'être en possession de la clé privée de l'autorité racine stockée dans un endroit sûr puisque hors du réseau (et dans un endroit physiquement protégé).

2.2.5 Sauvegarder une autorité de certification

L'autorité de certification doit être régulièrement sauvegardée, et cela pour deux raisons :

elle est la seule à posséder sa clé privée permettant de générer des certificats aux utilisateurs de la PKI

elle contient les certificats clients qu'elle diffuse sur le réseau

Il existe deux manières de sauvegarder son autorité de certification :

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

22/27

à l'aide de l'utilitaire de sauvegarde de Windows

en utilisant l'outil d'administration « Autorité de certification »

Pour effectuer une sauvegarde de l'autorité de certification, il faut effectuer une sauvegarde de l'état du système (System Stage) à l'aide de l'Utilitaire de Sauvegarde présent dans Windows (Menu démarrer puis Accessoire, Outils système). Pour cela, lancez l'utilitaire en « mode avancé » si ce n'est pas déjà le cas, puis sélectionnez l'onglet « Sauvegarder ». Cochez la case « System State » et éventuellement d'autre répertoire si nécessaire (il est conseillé de sauvegarder par la même occasion le disque système), puis « Démarrez la sauvegarde ».

le disque système), puis « Démarrez la sauvegarde ». Il est possible de ne pas effectuer

Il est possible de ne pas effectuer une sauvegarde complète du système sur lequel se trouve l'autorité de certification mais seulement les paramètres de ce service. Cela permet par exemple en cas de corruption ou de perte de la clé privée de l'autorité de la restaurer. Pour cela, effectuez un clique droit sur le nom de votre autorité de certification dans l'outil d'administration « Autorité de certification » puis sélectionnez « Sauvegarder l'Autorité de certification » dans « Toutes les tâches ». Cochez les cases « Clés privées et certificat d'Autorité de certification » ainsi que la « base de données de certificats et journal de la base de données de certificat ». Spécifiez un emplacement pour votre sauvegarde puis cliquez sur Suivant. Vous devez ensuite entrer un mot de passe permettant d'apporter une première protection au stockage de votre clé privée.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

23/27

a cles publiques. Dans un environnement WS2003 23/27 Remarque : Ce fichier contenant la clé privée

Remarque : Ce fichier contenant la clé privée de votre autorité de certification (qui est donc l'élément critique de votre PKI), il doit être stocké et protégé de toutes attaques avec une attention particulière. Le mot de passe entré lors de la sauvegarde peut être découvert par un pirate utilisant le « brute force » (essai de toutes les combinaisons possibles), ce n'est qu'une question de temps.

3. Exemples de domaines d'application des certificats numériques

Les certificats numériques peuvent être utilisés dans de nombreux domaines

3.1 Sécuriser sa messagerie

Chaque jour, un nombre croissant d'e-mail transitent sur les réseaux du monde entier (réseaux d'entreprise, réseaux locaux, Internet etc). La messagerie a pris une telle importance dans les communications qu'elle se doit d'être sécurisée. Pour assurer sa sécurité, deux méthodes peuvent être mises en place :

la garantie de l'identité de l'expéditeur

le cryptage des données

Pour garantir votre identité à vos destinataires lorsque vous envoyez un e-mail, vous pouvez faire appel à un certificat de messagerie.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

24/27

a cles publiques. Dans un environnement WS2003 24/27 Exemple d'un certificat de messagerie Ce certificat vous

Exemple d'un certificat de messagerie

Ce certificat vous permet d'envoyer des e-mails avec votre compte de messagerie en y joignant votre signature numérique.Les messages signés numériquement apparaissent dans Microsoft Outlook avec

une icône particulière
une icône particulière

et dispose d'une ligne supplémentaire dans l'entête :

Si vous souhaitez utiliser un certificat de messagerie destiné à Internet et que vous ne disposez pas d'une autorité de certification personnelle, vous pouvez gratuitement créer votre certificat en suivant l'article de Nicolas Milbrand disponible ici.

Pour crypter un message, l'opération est moins évidente, puisqu'il nous faut posséder la clé publique du destinataire. Il faut donc que le destinataire a mit à votre disposition un certificat de messagerie et que vous le possédiez. Dans ce cas, crypter un message avec Microsoft Outlook se déroule de manière très semblable à apposer sa signature électronique sur un e-mail.

à apposer sa signature électronique sur un e-mail. Il suffit de sélectionner l'icône « Crypter le

Il suffit de sélectionner l'icône « Crypter le message » dans la barre d'outils du message.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

25/27

3.2 Protéger son accès VPN à l'aide de L2TP/IPSec

Pour établir un tunnel entre deux hôtes avec Windows Server 2003, il vous faut choisir soit PPTP (Point to Point Tuneling Protocol) soit L2TP (Layer 2 Tunnel Protocol). La méthode la plus sécurisée à utiliser dans le cas d'un tunnel VPN (Virtual Private Network) est d'opter pour le protocole L2TP complété par IPSec (IP Security).

IPSec supporte trois types d'authentification :

Utilisation d'une clé pré-partagée que l'on entre sur le serveur et sur les clients. Cela représente la manière la moins sécurisée d'authentification et doit être utilisée seulement en dernier recours.

Utilisation d'un système de certificat numérique, ce qui représente la manière la plus fiable d'un un réseau tel qu'Internet

Dans un domaine, utilisation de l'authentification Kerberos liée à Active Directory. Si le serveur et le client appartiennent à la même forêt, cela représente la manière la plus adaptée d'effectuer l'authentification des hôtes.

Nous allons étudier ici la mise en place d'une authentification par certificat numérique. Nous supposerons alors que le serveur et le client peuvent communiquer correctement à l'aide de L2TP/IPSec. Vous pouvez vérifier votre configuration en utilisant la méthode de clé pré-partagée qui est la plus simple à mettre en œuvre. Une fois cette étape accomplie, il est possible de mettre en place l'authentification par certificat numérique en réalisant les opérations ci-dessous sur le client et sur le serveur.

Installation des certificats sur le client et le sur serveur :

L'authentification par certificat nécessite l'installation d'un certificat IPSec sur les deux ordinateurs souhaitant communiquer. Pour cela, connectez-vous sur http://nom-de-la-CA/certsrv, demandez un certificat puis soumettez une demande de certificat avancée (« Demande de certificat avancée puis Créer ou soumettre une demande de requête »). Complétez les informations demandées, puis choisissez un « Certificat IPSec ». Les certificats IPSec doivent être stockés pour le compte de l'ordinateur et non pour le compte de l'utilisateur actif. Pour cela, il vous faut cocher la case « Stocker le certificat dans le magasin de l'ordinateur local ». Lorsque votre demande de certificat est acceptée, installer le certificat (sur la page d'accueil du site Web de l'autorité de certification, choisissez « Afficher le statut d'une requête de certificat en attente » puis sélectionnez le « Certificat IPSec »).

Installation du certificat de l'autorité de certification sur le client et sur le serveur :

Si vous utilisez cette autorité de certification pour la première fois, il vous faut installer le certificat de l'autorité de certification, gage de votre confiance envers cette autorité. Pour cela, toujours sur la page d'accueil, choisissez « Télécharger un certificat d'autorité de certification », puis « télécharger un certificat de l'Autorité de certification ». Fermez l'interface Web. Dans la MMC Certificat , développez « Certificats (ordinateur local) » puis effectuez un clique droit sur « Autorité de certification racines de confiance » pour sélectionner « Importer » dans « Toutes les tâches ». Cliquez sur Suivant puis sur Parcourir. Rechercher le certificat précédemment enregistré puis cliquez à nouveau sur Suivant. Vous devez stocker le certificat dans le magasin « Autorités de certification racines de confiance », sélectionné par défaut. Cliquez sur Suivant puis Terminer. Vous avez maintenant confiance en cette autorité de certification.

Vous pouvez maintenant vous connecter et vous authentifier à l'aide de votre client sur votre serveur VPN. Assurez-vous que le protocole L2TP soit bien sélectionné : pour le client Windows, afficher les propriétés de la connexion VPN , sélectionnez l'onglet « Gestion de réseau » puis sélectionnez VPN L2TP IPSec dans le Type de réseau VPN.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

26/27

3.3 Crypter ses fichiers avec EFS

Le système de fichier encrypté (Encrypting File System, EFS) est supporté par Windows 2000, XP et Server 2003. Il permet aux utilisateurs de protéger l'accès à leurs données par des utilisateurs non autorisés de manière totalement transparente.

Crypter un fichier avec EFS :

Crypter un fichier avec EFS sur Windows XP ou Server 2003 est relativement simple. Il suffit d'afficher les propriétés du fichier à crypter (clique droit sur le fichier puis choisir « Propriétés »). Sélectionnez le bouton « Avancé » puis cochez la case « Crypter le contenu pour sécuriser les données ». Le fichier ainsi crypté apparait en vert dans l'explorateur Windows.

crypté apparait en vert dans l'explorateur Windows. Principe de fonctionnement de EFS : Pour crypter un

Principe de fonctionnement de EFS :

Pour crypter un fichier, EFS va tout d'abord crypter symétriquement les données puis ajouter la clé cryptage, appelée FEK pour File Encryption Key. Pour améliorer la sécurité, EFS va ensuite ajouter la FEK au fichier et crypter celle là en utilisant le cryptage asymétrique. La clé symétrique ainsi cryptée est stockée dans un champ nommé DDF pour Data Decryption Field. Il est aussi possible de spécifier un agent de récupération ce qui permet de récupérer les données même en cas de perte du certificat de l'utilisateur.

Utiliser de préférence EFS dans une PKI :

Le certificat de l'utilisateur et la privée lui étant liée est stocké dans le profil local de l'utilisateur. Ainsi, en cas de panne du système, si aucune sauvegarde du certificat et de la clé privée n'est disponible, l'utilisateur ne pourra donc plus décrypter ses données, même si un agent de récupération a été créé puisque lui non plus n'aura plus accès à son certificat et sa clé privée stockés localement.

Pour résoudre ce problème en cas de défaillance, il est possible d'utiliser une PKI qui sera chargée de gérer les certificats et qui plus est bénéficie d'une sauvegarde régulière. Un autre avantage d'utiliser une PKI, est qu'en cas d'utilisation de profil distant dans un domaine Active Directory, les utilisateurs pourront décrypter leurs fichiers depuis n'importe quelles machines du domaine.

Implementer une Infrastructure a cles publiques. Dans un environnement WS2003

27/27

Conclusion

A l'heure actuelle, sécuriser les communications dans son entreprise n'est plus une option, mais bien une

obligation. Il n'est plus question de laisser à la portée de tous des informations sensibles alors qu'il est

possible de sécuriser ses échanges sur un réseau informatique, de garantir l'identité d'un utilisateur ou encore de sécuriser le stockage de ses données à l'aide d'une infrastructure à clés publiques.

Ce type d'infrastructure qui se base sur les certificats numériques, connait une popularité croissante dans

le monde professionnel. Cependant, elle attire aussi de plus en plus de particuliers soucieux d'améliorer

la sécurité, notamment à l'aide d'une messagerie sécurisée ou encore du cryptage EFS proposé par le

système d'exploitation client de Microsoft : Windows XP.

Les certificats étant devenus presque indispensables, pourquoi utiliser les services d'un prestataire extérieur pour accomplir cette lourde tâche plutôt que d'implémenter vous même dans votre réseau, une infrastructure à clés publiques à l'aide de Windows Server 2003 ?