Implémenter une infrastructure à clés publiques dans un environnement Windows Server 2003
Accueil > Articles > Réseaux
|
|
Auteurs
|
|
 |
|
 |

96091 228/753
|
Les certificats numériques
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.
Exemple d'un certificat numérique
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 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.

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 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é privée, qui doit rester confidentielle, permet à son possesseur de déchiffrer tous les messages encryptés à l'aide de la première.

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.
- 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.

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.

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.
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.

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.

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.
Introduction
1. Les certificats numériques
1.1 Présentation
1.2 Pourquoi utiliser un certificat numérique
2. Implémenter une infrastructure à clés publiques
2.1 Installation d'une PKI sous Windows Server 2003
2.2 Administrer une infrastructure à clés publiques
3. Exemples de domaines d'application des certificats numériques
3.1 Sécuriser sa messagerie
3.2 Protéger son accès VPN à l'aide de L2TP/IPSec
3.3 Crypter ses fichiers avec EFS
Conclusion
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|