Le certificat numérique est un composant essentiel d’une infrastructure à clé publique. C’est un document électronique qui associe l’identité individuelle d’une personne à la clé publique qui lui est associée.
1. Introduction sur la non-répudiation et la signature numérique
La non-répudiation est une propriété très souhaitée dans le monde numérique. Cet article décrit cette propriété et montre comment elle peut être obtenue en utilisant des signatures numériques.
2. Définition du problème
Les documents numériques sont omniprésents. Ayant reçu un document, nous voulons nous assurer que :
1. L’expéditeur est bien celui qui prétend être l’expéditeur du document.
2. Ce document exact a été envoyé par l’expéditeur : il n’a pas été modifié en chemin vers le récepteur.
Débattons d’abord de la façon dont le hachage peut être utilisé pour obtenir l’intégrité du document.
3. Hachage
Le hachage du document D est noté H(D). La fonction de hachage idéale est irréversible, et il n’existe pas deux documents différents D1 et D2 tels que H(D1)=H(D2) . Plus la fonction de hachage est longue, plus la probabilité d’une collision est faible. La collision a lieu lorsque le même hachage est créé pour deux documents différents.
Le hachage est utilisé pour réaliser l’intégrité des données et il n’y a pas de clé impliquée. Ce dont nous avons également besoin, c’est d’une authentification de l’expéditeur.
4. HMAC
Supposons que Mark va envoyer le document à Kevin, et qu’ils partagent une clé.
HMAC est un hachage du document et de la clé. Marc calcule le HMAC, l’ajoute au document et l’envoie à Kevin. Kevin calcule le HMAC : hachage du document qu’il a reçu et de la clé qu’il partage avec Mark. Ensuite, Kevin compare le HMAC avec le HMAC ajouté au document. Lorsqu’ils correspondent, Kevin sait que c’est Mark qui a envoyé ce document. Si un attaquant (man-in-the-middle) modifie le document et le HMAC, Kevin le détectera : l’attaquant ne connaît pas la clé. De cette façon, l’intégrité et l’authentification des données peuvent être vérifiées par Kevin.
HMAC est utilisé pour fournir l’intégrité et l’authentification des données. Le problème est que HMAC ne fournit pas la non-répudiation, car Mark et Kevin partagent la clé. Comment résoudre ce problème ? Une signature numérique est la solution.
5. Signature numérique
D’abord, il faut connaître la relation entre les clés dans la cryptographie asymétrique (la clé publique et la clé privée) afin de comprendre le fonctionnement des signatures numériques.
La clé publique est disponible pour tout le monde. La clé privée n’est connue que de son propriétaire et ne peut pas être dérivée de la clé publique. Lorsque quelque chose est chiffré avec la clé publique, seule la clé privée correspondante peut le déchiffrer. De plus, lorsque quelque chose est crypté avec la clé privée, n’importe qui peut le vérifier avec la clé publique correspondante. Maintenant, revenons à l’histoire de Mark et Kevin pour mieux comprendre comment cela fonctionne.
La clé privée de Mark est utilisée pour chiffrer le hachage du document. Ce hachage chiffré est appelé signature numérique. Mark envoie à Kevin le document avec la signature numérique annexée du document. Kevin utilise la clé publique de Mark pour décrypter la signature numérique. Ensuite, Kevin calcule le hachage du document et le compare à la signature numérique déchiffrée du document, qui est le hachage du document. Lorsque ces hachages correspondent, Kevin sait qui est réellement l’expéditeur du message et quel message exactement a été envoyé. La propriété de non-répudiation est obtenue en utilisant une signature numérique.
Il reste une question. Comment Kevin sait-il que la clé publique est vraiment celle de Mark ? Il pourrait y avoir un homme du milieu se présentant comme Mark. Un certificat numérique est utilisé pour résoudre ce problème. Kevin obtient le certificat numérique de Mark, qui comprend la clé publique de Mark et son nom. Le certificat est signé numériquement par l’autorité de certification (CA) de confiance – le hash du certificat est crypté avec la clé privée de la CA de confiance. Kevin dispose de la liste des CA de confiance (avec leurs clés publiques) dans son système d’exploitation. Cela permet à Kevin de vérifier que la clé publique appartient bien à Mark.
6. Stockage de la clé privée
Une fois la clé privée de Mark volée, la sécurité est rompue. Alors, Mark n’est pas le seul à connaître sa clé privée, et la non-répudiation n’est pas établie. C’est pourquoi la clé privée doit être stockée de manière sécurisée. La complexité est le pire ennemi de la sécurité. Ainsi, les ordinateurs personnels et les smartphones ne sont pas un bon choix pour stocker les clés privées. Nous avons besoin de quelque chose de dédié.
Il est recommandé de stocker les clés privées sur des cartes à puce afin de minimiser le risque qu’elles soient volées. Les clés privées ne quittent pas les cartes à puce lorsque les signatures numériques sont créées.
7. Résumé
Dans le monde numérique, nous voulons vérifier qui est réellement l’expéditeur du document, et quel document a été envoyé par l’expéditeur (l’homme du milieu pourrait avoir modifié le document en chemin vers le récepteur). En d’autres termes, nous voulons adhérer à la propriété de non-répudiation.
HMAC est utilisé pour fournir l’intégrité et l’authentification des données. Il ne fournit pas la non-répudiation, car il implique l’utilisation de la clé, qui est partagée par les entités communicantes.
Les signatures numériques sont utilisées pour fournir la non-répudiation. La sécurité est rompue lorsque les clés privées sont volées. C’est pourquoi les clés privées doivent être stockées sur des cartes à puce afin de réduire le risque qu’elles soient volées.
Les signatures numériques sont utilisées pour assurer la non-répudiation.
0 commentaire