Comment une signature électronique / numériques marche ?
Le paradigme de signature électronique (appelé aussi signature numérique) est un procédé permettant de garantir l’authenticité de l’expéditeur (fonction d’authentification) et de vérifier l’intégrité du message reçu.
Il existe de nombreux avantages évidents à adopter les signatures numériques pour remplacer les signatures manuscrites : réduire le gaspillage de papier et les coûts opérationnels, accélérer la distribution des documents, etc. Mais ce qui est moins évident à vos yeux sont les étapes menant à signer numériquement un document.
La signature électronique assure également une fonction de non-répudiation, c’est-à-dire qu’elle permet d’assurer que l’expéditeur a bien envoyé le message (autrement dit elle empêche l’expéditeur de nier avoir expédié le message).
Les signatures électronique / numériques : comment ça marche ?
- Lorsque vous cliquez “signer”, une empreinte numérique unique se crée (appelée un hachage) grâce à un algorithme mathématique. Ce hachage est spécifique à ce document, ce qui signifie que la moindre modification créera un hachage différent.
- Le hachage est chiffré avec la clé privée du signataire. Le hachage chiffré et la clé publique du signataire sont ensuite réunis dans une signature numérique qui est annexée au document.
- Le document signé numériquement est alors prêt à être distribué.
Qu’est-ce qu’une fonction de hachage ?
Une fonction de hachage (parfois appelée fonction de condensation) est une fonction permettant d’obtenir un condensé (appelé aussi condensat ou haché ou en anglais message digest) d’un texte,
c’est-à-dire une suite de caractères assez courte représentant le texte qu’il condense. La fonction de hachage doit être telle qu’elle associe un et un seul haché à un texte en clair (cela signifie que la moindre modification du document entraîne la modification de son haché).
D’autre part, il doit s’agir d’une fonction à sens unique (one-way function) afin qu’il soit impossible de retrouver le message original à partir du condensé.
S’il existe un moyen de retrouver le message en clair à partir du haché, la fonction de hachage est dite « à brèche secrète ». Ainsi, le haché représente en quelque sorte l’empreinte digitale (en anglais finger print) du document.
Les algorithmes de hachage les plus utilisés actuellement sont :
MD5 (MD signifiant Message Digest).
Développé par Rivest en 1991, MD5 crée une empreinte digitale de 128 bits à partir d’un texte de taille arbitraire en le traitant par blocs de 512 bits. Il est courant de voir des documents en téléchargement sur Internet accompagnés d’un fichier MD5, il s’agit du condensé du document permettant de vérifier l’intégrité de ce dernier).
SHA Secure Hash Algorithm, pouvant être traduit par Algorithme de hachage sécurisé
SHA (pour Secure Hash Algorithm, pouvant être traduit par Algorithme de hachage sécurisé) crée des empreintes d’une longueur de 160 bitsSHA-1 est une version améliorée de SHA datant de 1994 et produisant une empreinte de 160 bits à partir d’un message d’une longueur maximale de 264 bits en le traitant par blocs de 512 bits.
Vérification de la signature électronique / numériques
- Lorsque vous ouvrez le document avec un programme qui supporte la fonction de signature numérique (par ex. : Adobe Reader, Microsoft Office), celui-ci utilise automatiquement la clé publique du signataire (qui faisait partie de la signature numérique du document) pour déchiffrer le hachage du document.
- Le programme calcule un nouveau hachage pour le document. Si ce nouveau hachage correspond au hachage déchiffré de l’étape 1, le programme saura que le document n’a pas été modifié et affiche un message similaire à celui-ci : “Le document n’a pas été modifié depuis la signature.”
Le programme valide également que la clé publique utilisée pour signer appartient bien au signataire et affiche son nom.