Comment un message peut-il prouver qui l'a vraiment envoyé ?
Une signature numérique est liée mathématiquement à un seul message précis : contrairement à une signature sur papier, impossible de la recopier sur un autre document et qu'elle reste valable.
▶ Lancer l'histoireIl porte un sceau que seul l'expéditeur a pu apposer. L'expéditeur signe le message avec une clé privée que lui seul détient, et n'importe qui peut vérifier cette signature avec la clé publique correspondante. Comme il est impossible en pratique de produire une signature valide sans cette clé privée, une signature qui se vérifie donne à tout destinataire la confiance que le message vient bien d'un expéditeur qu'il connaît, qu'il s'agisse d'un e-mail, d'une mise à jour logicielle ou d'une transaction financière.
L'idée ressemble à une signature manuscrite, mais elle se comporte très différemment. Une signature sur papier peut être photocopiée sur un autre document et rester convaincante. Une signature numérique, elle, ne le peut pas : elle est liée mathématiquement au contenu du message, ce qui rend impossible pour quiconque de forger une signature valide sur un autre message. Change un seul mot, et l'ancienne signature ne correspond plus.
Sous le capot, un schéma de signature repose sur trois étapes. D'abord, la génération de clés choisit une clé privée au hasard et produit une clé publique correspondante. Ensuite, la signature prend un message et la clé privée pour produire une signature. Enfin, la vérification prend le message, la clé publique et la signature, puis accepte ou rejette la revendication d'authenticité. Tout le système ne tient que si forger une signature valide sans connaître la clé privée est impossible en pratique ; sinon, n'importe qui pourrait imiter n'importe qui. Bitcoin repose exactement là-dessus : pour dépenser des pièces, leur propriétaire signe la transaction avec sa clé privée, et le réseau la vérifie avec la clé publique.
L'idée a une naissance que l'on peut dater précisément : Whitfield Diffie et Martin Hellman décrivent la notion de signature numérique dès 1976, en supposant seulement que de tels schémas pouvaient exister. Peu après, l'algorithme RSA de Ronald Rivest, Adi Shamir et Len Adleman permet de produire des signatures primitives, mais seulement comme preuve de concept, car les signatures RSA « brutes » ne sont pas sûres. Il faudra plus d'une décennie pour que l'idée arrive sur les bureaux : le premier logiciel largement commercialisé à proposer la signature numérique est Lotus Notes 1.0, sorti en 1989, qui reposait sur RSA.
1976
Diffie et Hellman décrivent le concept
Peu après
RSA fournit une preuve de concept fonctionnelle
1989
Lotus Notes 1.0 intègre des signatures basées sur RSA
Quiz
0/3
Récap
La clé privée signe, la clé publique vérifie, et la signature est liée au message exact.
Le fait surprenant · Contrairement à une signature sur papier, une signature numérique ne peut pas être recopiée sur un autre document en restant valable.
Liens
- 🪙 Comment un livre blanc anonyme est-il devenu une monnaie que personne ne contrôle ?
- ⚔️ Comment des ordinateurs peuvent-ils s'accorder si certains mentent peut-être ?
- 🔢 Comment RSA fait-il de deux nombres premiers un cadenas que tout le monde peut fermer, mais que toi seul peux ouvrir ?
- 🔐 Comment deux inconnus peuvent-ils convenir d'un secret alors que tout le monde écoute ?
Sources (2)
Pas de source, pas d'affirmation. Chacun des 12 faits de cette leçon renvoie à au moins une de ces sources.