Votre navigateur ne prend pas en charge le javascript, dès lors, certaines fonctionnalités ne sont pas disponibles
Vers le contenu de cette page

Comment fonctionne la signature digitale ?

La signature digitale repose sur l’utilisation combinée d’un algorithme de hashing (par exemple MD5, SHA-1) et d’un algorithme de cryptage asymétrique (par exemple RSA). Le processus repose sur deux séquences d'actions décrites par les illustrations suivantes :

La signature d'un message
Figure 1: La signature d'un message

Pour signer un message :

  1. L’expéditeur calcule d’abord le 'digest' (Hash 1) du message d’origine à l’aide d’un algorithme de hashing.
  2. Ensuite, il crypte ce digest, par cryptage asymétrique, en utilisant sa clé privée.
  3. Il associe finalement à ce dernier résultat ses données d’identification, contenues dans un certificat. Il envoie le tout (message clair, digest crypté et certificat) au destinataire.
Vérification de la signature
Figure 2: Vérification de la signature

Le destinataire du message peut appliquer la technique inverse afin de vérifier la validité de la signature :

  1. Il calcule lui-même le digest (Hash 1) du message reçu.
  2. Il extrait le certificat afin de déterminer l’identité de l’expéditeur supposé et sa clé publique ; il utilise cette clé publique pour décrypter le digest (Hash 2) en utilisant le même algorithme de cryptage asymétrique que l’expéditeur.
  3. Il compare le digest (Hash 1) qu'il a calculé avec celui extrait de la signature (Hash 2) : la concordance des valeurs des deux digests (Hash 1 et Hash 2) garantit l’authenticité du message.

Si le résultat de ce déchiffrement est égal à Hash 2, le résultat de la vérification est positif, c'est-à-dire que le destinataire du message est certain que le message reçu a bien été signé au moyen de la clef privée associée à la clef publique contenue dans le certificat (authentification de l'émetteur), et que le message n'a pas été modifié en cours de route (garantie d'intégrité du message transmis).

C'est le certificat qui garantit que les clefs publique et privée mentionnées ci-dessus sont bien les clefs de l'émetteur supposé, et non pas les clefs d'une entité qui essaie de se faire passer pour l'émetteur supposé. C'est pourquoi il est important de vérifier ce certificat. Le destinataire vérifiera donc que le certificat de l'émetteur a été émis par une Autorité de Certification 'autorisée', qu'il n'a pas été falsifié, qu'il n'a pas été révoqué et que sa date de validité n'a pas été dépassée. Il vérifiera éventuellement si d'autres conditions d'acceptation sont satisfaites (par exemple, le certificat doit appartenir à une classe de certificats considérée comme 'admissible').