3.2.2. Certificats de
clés publiques
Comme nous venons de le voir, la cryptographie à
clé publique peut être utilisée pour chiffrer des mots de
passe. En outre, elle peut également être employée pour
signer des données, qu'il s'agisse d'un contrat afin que les parties qui
l'ont signé ne puissent pas en répudier le contenu a posteriori,
ou qu'il s'agisse d'une valeur aléatoire pour assurer
l'authentification.
En effet, les certificats de clés publiques sont l'une
des techniques d'authentification les plus usitées à ce jour,
certes loin derrière les mots de passe mais ce moyen d'authentification
devient de plus en plus populaire.
La cryptographie asymétrique fait intervenir deux
éléments qui sont mathématiquement liés entre eux :
la clé privée et la clé publique.
La clé publique est :
o Disponible pour tout le monde.
o Utilisée par une personne qui souhaite authentifier
l'émetteur d'un document électronique signé avec la
clé privée. Le contrôle de la signature permet aussi de
s'assurer de l'intégrité du fichier.
o Utilisée par une personne souhaitant chiffrer un
message afin que ce dernier soit uniquement lisible par le possesseur de la
clé privée associée.
La clé privée est :
o Conservée secrète par son possesseur.
o Utilisée par son possesseur pour signer un document
électronique (message, contrat ou autre).
o Utilisée par son possesseur pour déchiffrer un
message chiffré à son attention.
Connaissant la clé publique, il est impossible en un
temps raisonnable, avec des moyens raisonnables (i.e. en une journée
avec un seul PC), de deviner la clé privée associée. Mais
avec des moyens conséquents et connaissant la clé publique, il
est possible de retrouver la clé privée associée puisqu'en
août dernier le défi RSA-155 proposé par la
société américaine RSA Security Inc. a été
relevé: une clé de 155 chiffres (ce type de clé est
utilisé dans 95% des transactions de commerce électronique) a
été cassée grâce à 300 machines en
réseaux, ce qui est équivalent à 30 à 40
années de temps ordinateur (temps CPU). Ainsi, à ce jour, il est
admis qu'en connaissant la clé publique il est impossible en un temps
raisonnable avec des moyens raisonnables de deviner la clé privée
associée : l'usage de clés asymétriques est jugée
sûre.
L'Information Standard Organization (ISO) définit dans
le standard ISO/IEC 7498-2 (Systèmes de traitement de l'information -
Interconnexion de systèmes ouverts - Modèle de
référence de base - Partie 2 : Architecture de
sécurité), la signature numérique comme étant
« des données ajoutées à une unité de
données ou transformation cryptographique d'une unité de
données permettant à un destinataire de prouver la source et
l'intégrité de l'unité de données et
protégeant contre la contrefaçon » (par le destinataire, par
exemple).
Le principe de l'authentification de l'expéditeur d'un
message grâce à l'usage de la signature numérique est le
suivant : l'expéditeur calcule le Message Authentication Code
ou MAC à l'aide d'une fonction « hash ». Puis,
l'expéditeur signe le MAC avec sa clé privée. Le MAC
signé est joint au message et l'ensemble est envoyé.
Le destinataire fait le « hash » du message
reçu en utilisant le même algorithme que celui de
l'expéditeur et compare ce MAC au MAC envoyé avec le message.
S'ils ne sont pas égaux, cela signifie que le message a
été altéré : la modification d'un seul bit pendant
la transmission fait échouer le contrôle et permet d'alerter le
destinataire. Plus qu'un mécanisme d'authentification de
l'expéditeur d'un message, le MAC permet donc aussi de garantir
l'intégrité du message.
La question qui nous assaille à cet instant c'est
comment peut-on être sûr que cette signature (cf. modèle
ci-dessous) est belle et bien celle de notre correspondant ?
BEGIN
SIGNATUREQCVAwUBMARe7gvyLNSbw6ZVAQF6ygP/fDnuvdAbGIDWaSMXUIs&»%k3MuNHYzdZOOcqkDh/Tc2+DubuEa6GU03AgZY8K9t5r9lua34E68pCxegUz009b10cjNt6+o+704Z3j1yy9ijYM8BWNaSp9L2W4nUuWBdlWyel82PjjRVNZEtqtSRQuPEpJ2IHtx9tGevH10
END SIGNATURE
Cette certitude naît de la relation de confiance liant
l'expéditeur en question à son bi-clé (couple
constitué d'une clé privée et d'une clé publique).
Ce lien appelé certificat est, en fait, un fichier contenant les
paramètres cryptographiques (algorithme utilisé, taille des
clés, etc.) et les données d'identification de son possesseur, le
tout signé par un tiers qui en a validé le contenu. Ce tiers est
appelé autorité de certification (AC).
Maintenant que l'on peut avoir la garantie qu'une personne est
bien celle qu'elle prétend être i.e. que la signature
électronique de quelqu'un est bien de cette personne et que nous savons
qu'il faut pour cela, vérifier le certificat X.509 (cf. RFC 2459
Internet X.509 Public Key Infrastructure, Certificate and CRL Profile
pour plus de détails sur son contenu) associé à la
clé de signature et/ou remonter la chaîne de certification
jusqu'au certificat de l'AC racine (certificat auto signé), il reste
à savoir où trouver ce(s) certificat(s). Dans les entreprises,
les certificats de clés publiques sont stockés dans des annuaires
LDAP (Lightweight Directory Access Protocol). Pour un
usage personnel de MAC ou autres applications utilisant la
cryptographie asymétrique, les certificats des utilisateurs ainsi que de
leur AC (et éventuellement, hiérarchie de certification
jusqu'à l'AC racine) sont souvent stockés dans les
Navigateurs (Microsoft Internet Explorer et Netscape
Communicator). Ceux-ci comportent déjà par défaut un
certain nombre de certificats d'AC racines (cf. Outils/Options
internet/Contenu/Certificats).
Notons pour information, qu'une mesure de
sécurité est d'effacer (Remove) ces certificats lors de
l'installation et de ne rajouter que ceux autorisés par l'entreprise. Si
vous souhaitez avoir vos propres certificats d'authentification afin, par
exemple, de faire des transactions en ligne, vous pouvez contacter un
Opérateur de Service de Certification (OSC). De
nombreux OSC sont présents sur le marché français et
européen.
|