Chiffrement et signature électronique (basée sur le standard X509) Frédéric KASMIRCZAK 1
Sommaire I. La cryptologie base de la signature électronique... 3 1. Les systèmes symétriques à l origine de la cryptologie... 3 2. Les systèmes asymétriques à l origine de la signature électronique... 4 II. Le principe de signature électronique... 6 1. Valeur légale de la signature électronique... 6 2. Mise en œuvre de la signature électronique... 6 III. Le certificat électronique preuve de l identité d une entité... 8 A propos de ce document... 10 Frédéric KASMIRCZAK 2
I. La cryptologie base de la signature électronique La cryptologie a pour but de protéger des données électroniques en s appuyant sur l utilisation d une ou plusieurs clés. On distingue deux principes de cryptologie : le mécanisme symétrique et le mécanisme asymétrique. 1. Les systèmes symétriques à l origine de la cryptologie La caractéristique principale des systèmes symétriques et que l émetteur et le récepteur d un message utilise la même clé pour chiffrer et déchiffrer un document. Ils sont aussi appelé «système a clé secrète partager». Considérons Pierre l émetteur et Paul le récepteur du message. Pierre souhaite donc envoyer un message à Paul. Pour cela Pierre génère une clé de chiffrement symétrique puis chiffre l intégralité du document qu il souhaite transmettre à Paul. Il envoie ensuite le document chiffré à Paul mais Paul a besoin de la clé pour pouvoir déchiffrer le document. S agissant d une clé symétrique, il doit utiliser la même clé qu a utilisée Pierre pour chiffrer le document. On voit tout de suite le problème du partage de cette clé entre l émetteur et le récepteur du message. Si cette clé est interceptée pendant sa transmission, elle pourra être utilisée par une personne non autorisée pour déchiffrer le document. Figure 1 : Principe du chiffrement symétrique Frédéric KASMIRCZAK 3
2. Les systèmes asymétriques à l origine de la signature électronique Contrairement à un système symétrique, un système asymétrique est basé sur l utilisation de deux clés. Il y a la clé dite privée qui ne doit être connue que par son titulaire et la clé dite publique qui a pour but d être distribuée. Considérons de nouveau Pierre l émetteur d un message et Paul le récepteur. Pierre a donc à sa disposition la clé publique de Paul qui correspond de manière unique à la clé privée de Paul. Pierre chiffre l intégralité du document qu il souhaite transmettre en utilisant la clé publique de Paul. Il transmet le document à Paul. Celui-ci et uniquement celui-ci (car il est le seul à posséder la clé privée permettant de déchiffrer le document chiffré avec la clé publique correspondante) déchiffre le document en utilisant sa clé privée. On voit donc très bien qu avec ce système qu il n y a plus le problème de partage de la clé unique puisqu il existe deux clés étroitement liées entre elles. Figure 2 : Principe théorique du chiffrement asymétrique Cependant, dans la pratique cela ne se déroule pas ainsi. Les algorithmes asymétriques sont très gourmant en performances et très lent, les algorithmes symétriques étant beaucoup plus rapides. De ce fait, l émetteur va générer une clé symétrique, il va chiffrer l ensemble du document avec cette clé symétrique puis il va chiffrer la clé symétrique avec la clé publique asymétrique du récepteur (une clé de chiffrement étant beaucoup moins volumineuse qu un document). Ainsi le récepteur sera le seul à pourvoir déchiffrer la clé symétrique nécessaire au déchiffrement du document. On utilise ainsi les avantages des deux techniques. Frédéric KASMIRCZAK 4
Figure 3 : Principe pratique du chiffrement asymétrique C est grâce à l existence de la clé privée qui permet «d identifier» de façon certaine une entité (personne ou machine) que la signature électronique est possible. Frédéric KASMIRCZAK 5
II. Le principe de signature électronique 1. Valeur légale de la signature électronique Depuis le 13 mars 2000 (avec la loi n o 2000-230), la signature numérique d'un document a en France la même valeur légale qu'une signature sur papier. 2. Mise en œuvre de la signature électronique Comme vu précédemment, la signature électronique est possible par l utilisation du système asymétrique. Cependant, contrairement au chiffrement d un document avec la clé publique pour le rendre confidentiel, c est la clé privée qui va être utilisé pour signer. En effet nous somme dans le cas opposé. Lorsque l on rend confidentiel un document, on veut qu une seule personne puisse le déchiffrer, alors que pour un document signé on veut que tout le monde puisse le consulter. Prenons le cas ou Pierre signe un document électronique. Il a donc à sa disposition une clé privée et une clé publique correspondant à cette clé privée. Le fait de signer n ayant pas pour but de rendre confidentiel, on ne va pas chiffrer l intégralité du document mais uniquement son empreinte (c est aussi en raison du problème de coût du chiffrement asymétrique). Pour calculer l empreinte d un document, on utilise une fonction de hachage (ex : SHA1 ou MD5) qui est une fonction à sens unique. Ainsi, on ne peut pas retrouver la base ayant permis l obtention de l empreinte. La moindre modification du document amènera à l obtention d une empreinte différente. Ainsi on est certain de l intégrité du document à un instant donné. Pierre va donc chiffrer l empreinte du document avec sa clé privée. Il va ensuite transmettre le document en clair ainsi que l empreinte qu il a signé. Figure 4 : Signature d'un document Frédéric KASMIRCZAK 6
Le récepteur va recalculer l empreinte du document en clair qu il a reçu, il va déchiffrer l empreinte signée qu il a reçue avec la clé publique de l émetteur. Une fois qu il est en possession des deux empreintes, il les comparent et peut ainsi savoir si le document a été modifié et s assurer de «l identité» de l émetteur puisqu il existe une seule clé privée correspondante à la clé publique. Figure 5 : Vérification d'un document signé Frédéric KASMIRCZAK 7
III. Le certificat électronique preuve de l identité d une entité Un certificat électronique permet de répondre aux questions suivantes : à qui appartient la clé publique et à quoi sert cette clé publique. Un certificat électronique est une sorte de carte de visite électronique donnant l identité du propriétaire de la clé et quels sont les usages possibles de cette clé. Par conséquent, il faut que ce certificat électronique soit rendu infalsifiable pour qu on ne puisse pas modifier les informations le constituant. L intégrité d un certificat est contrôlée toujours par le principe de comparaison d empreinte (le certificat possédant son empreinte signé par le certificat du niveau hiérarchique supérieur). Un certificat électronique est délivré par une autorité de certification (AC) digne de confiance, appelée aussi tiers de confiance. Une demande de certificat électronique est au format PKCS#10. L'Autorité de certification a pour mission, après vérification de l'identité du demandeur du certificat par une autorité d'enregistrement, de signer, émettre et maintenir à jour une liste de certificats (appelée liste de révocation) dit révoqué. Lorsqu un certificat est révoqué, il ne peut plus être utilisé pour diverse raison comme par exemple la perte de clé privée relatif à celui-ci. Il existe trois niveaux de certificat électronique (plus totalement vrai) : Un certificat de classe 1 est délivré après la vérification de l adresse email du demandeur. Il s agit d une vérification assez simpliste puisqu il est très facile de créer une adresse électronique au nom d une autre personne. Un certificat de classe 2 est délivré après vérification de pièces justificatives envoyées par courrier comme par exemple une photocopie de la carte d identité. Un certificat de classe 3 est délivré après une vérification en face à face de l identité de la personne. La crédibilité d un certificat repose sur l ensemble des certificats parents qui ont signé ce certificat. Tous les certificats parents d un certificat forment la chaîne de certification ou de confiance. Le format le plus répandu pour un certificat électronique est le format normalisé par le standard X509. Un certificat X509 (version 3) comporte les informations suivantes : Version du certificat Numéro de série du certificat Algorithme de signature du certificat de l AC Nom de l AC qui a généré ce certificat Période de validité du certificat (date d émission et date de «péremption») Nom de l utilisateur auquel appartient le certificat Clé publique du certificat Algorithme à utiliser avec la clé publique Frédéric KASMIRCZAK 8
Identification possible de l AC (facultatif) Identification possible de l utilisateur (facultatif) Extensions comme par exemple le rôle du certificat (signature, chiffrement, etc.) (facultatif) Signature de l AC Un certificat électronique accompagné de sa clé privée peut être stocké sous différentes formes, les plus répandues sont : Le format PKCS#12 permet de stocker le certificat et sa clé privée dans une fichier d extension.p12. Ce fichier est protégé par un code pin. Ce code pin permet de déchiffrer la clé privée et le certificat contenu dans le fichier. Le problème de ce format est qu on peut l attaquer par brute force puisqu il ne se verrouille jamais. Le format PKCS#11 qui stocke le certificat et sa clé privée dans une puce cryptographique. Cette puce cryptographique est contenue dans une carte à puce ou dans une «clé USB». Un tel composant est appelé token cryptographique. Contrairement à un fichier.p12, un token cryptographique se verrouille après trois codes pin erronés et devient ainsi complètement inutilisable. Le format PKCS#7 est quand à lui utilisé pour transmettre plusieurs certificats (notamment une chaîne de certification). Voici un exemple de visualisation d un certificat électronique : Figure 6 : Visualisation d'un certificat électronique Frédéric KASMIRCZAK 9
A propos de ce document Copyright (c), 2009, Frédéric KASMIRCZAK Permission vous est accordée de copier, distribuer et/ou modifier ce document sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture selon les termes de la licence GNU Free Documentation License, Version 1.3 ou ultérieure publiée par la Free Software Foundation. Plus d informations sur http://www.gnu.org/copyleft/fdl.html Frédéric KASMIRCZAK 10