Signature électronique


La signature électronique


La signature électronique est née de la volonté des entreprises et des administrations de réduire leurs coûts et d’augmenter la sécurité de leurs processus internes.

 

 

L’une des méthodes de signatures électroniques est la signature électronique manuscrite. Celle-ci consiste en la captation de la signature physique grâce à un dispositif de signature appelé tablette de signature.

 

 

Pour réaliser la signature électronique, il est nécessaire de disposer du matériel informatique et des logiciels adaptés.

 

 

La théorie

La signature électronique d’un document est le résultat de l’application d’un certain algorithme mathématique, appelé fonction de hachage, au contenu. Cette fonction de hachage associe une valeur d’un ensemble fini (généralement les entiers naturels) à son entrée. Quand l’entrée est un document, le résultat de la fonction est un numéro qui identifie presque univoquement le texte concret. Si on ajoute ce numéro au texte, le destinataire peut appliquer une nouvelle fois la fonction et comparer le résultat qu’il obtient avec celui qu’il a reçu. Néanmoins, cette démarche comporte certaines difficultés.

 

 

Les possibilités de réseau dans la signature électronique

Pour qu’elle soit utile, la fonction de hachage doit satisfaire deux conditions importantes. Premièrement, il doit être difficile de trouver deux documents dont la valeur pour la fonction de hachage soit la même. Deuxièmement, avec l’une de ces valeurs, il devrait être difficile de récupérer le document qui l’a produite.

Certains systèmes de codification de clé publique peuvent être utilisés pour signer des documents. Le signataire chiffre ou codifie le document avec sa clé publique. Toute personne qui veut vérifier la signature et voir le document n'a qu'à utiliser la clé publique du signataire pour la déchiffrer.

Des fonctions de hachage ont été particulièrement créées pour satisfaire deux propriétés importantes. SHA et MD5 sont deux exemples de ce type d’algorithmes. Pour les utiliser, on signe un document avec une fonction de hachage dont le résultat est la signature. Une autre personne peut vérifier la signature en appliquant cette même fonction à sa copie du document et en comparant le résultat qu'elle obtient avec celui du document d’origine. S’ils coïncident, alors il est pratiquement certain que les documents sont les mêmes.

Le problème réside dans l’utilisation d’une fonction de hachage pour les signatures numériques qui ne permette pas à un « attaquant » d’interférer dans la vérification de la signature. Si le document et la signature étaient envoyés sans chiffrement, cet individu pourrait modifier le document et créer une signature correspondante sans que le destinataire ne le sache. Si seul le document était chiffré, alors un attaquant pourrait manipuler la signature et faire échouer la vérification de celle-ci. Une troisième possibilité est d’utiliser un système de codification hybride pour chiffrer à la fois la signature et le document. Le signataire utilisera sa clé privée et toute personne pourra utiliser sa clé publique pour vérifier à la fois la signature et le document. Cela a peut-être l'air d’être la solution, mais en réalité ça n'a pas de sens. Si cet algorithme sécurisait le document, alors il empêcherait toute modification de celui-ci et il n'y aurait plus aucune raison de le signer. Le problème le plus grave est que cela n'empêche pas d’effectuer des manipulations et ne protège ni la signature, ni le document. Avec cette méthode, on chiffre seulement la clé de session du système de chiffrement symétrique en utilisant la clé privée du signataire. Toute personne peut utiliser la clé publique et récupérer la clé de session. Par conséquent, il est très facile de l'utiliser pour chiffrer des documents falsifiés et des signatures afin de les envoyer à des tiers au nom de l'expéditeur.

 

La solution

Un algorithme efficace devra se servir d'un système de clé publique pour ne chiffrer que la signature. En réalité, la valeur de hachage sera chiffrée grâce à l'utilisation de la clé privée du signataire si bien que quiconque pourra vérifier la signature en utilisant la clé publique correspondante. Le document signé pourra être envoyé en appliquant n’importe quel autre algorithme de chiffrement, voire aucun si le document est public. En cas de modification du document, la vérification de la signature échouera, mais c’est justement à cela que sert cette vérification.

Le Digital Signature Algorithm est un algorithme de signature à clé publique qui fonctionne comme nous l’avons décrit. DSA est l’algorithme de signature principal utilisé par le logiciel GnuPG.