Signatures numériques
Une signature sur papier ne prouve pas grand-chose : quiconque a vu la tienne une seule fois peut la recopier. Une signature numérique est différente. Elle prouve que le texte vient bien de toi et que pas une lettre n'a changé depuis — et la falsifier est tout aussi impossible que de remonter le temps sur la courbe du chapitre précédent. Car c'est exactement ce qu'elle utilise.
Les mots dont tu as besoin
- Signer
- Créer avec ta clé privée une sorte de sceau sur un texte. Le sceau est un nombre qui correspond précisément à ce texte et à cette clé.
- Vérifier
- Contrôler avec la clé publique si le sceau est correct. Tout le monde peut le faire, car tout le monde peut avoir la clé publique. Si c'est correct : le texte est authentique et inchangé. Si ce n'est pas correct : quelque chose a changé, ou quelqu'un d'autre a signé.
- ECDSA
- Le nom du système de signature qui fonctionne sur les courbes elliptiques. Le EC signifie elliptic curve. C'est ce qu'utilise ta carte d'identité.
- Certificat
- Une déclaration d'une autorité de confiance : « cette clé publique appartient à cette personne ». Elle-même signée, par cette autorité. Sans certificat, tu sais que quelqu'un a signé, mais pas qui.
Le cadenas inversé
Dans le chapitre sur les clés asymétriques, tout le monde fermait le cadenas avec ta clé publique, et toi seul l'ouvrais avec ta clé privée. Une signature inverse ça : toi, tu fais quelque chose avec ta clé privée, et tout le monde peut vérifier avec ta clé publique que c'était bien toi. Car seul celui qui possède la clé privée peut créer un sceau qui correspond à la clé publique associée.
Ce qu'une signature prouve et ne prouve pas
| Oui | Non |
|---|---|
| Que le signataire avait la clé privée en main. | Qui est cette personne. Pour ça, il te faut un certificat. |
| Que le texte est lettre pour lettre le même qu'au moment de la signature. | Que le texte est vrai. Tu peux signer parfaitement un mensonge. |
| Que le signataire ne peut pas le nier après coup. | Quand ça s'est passé. C'est à ça que sert un horodatage. |
Essaie toi-même
Tout se passe dans ton navigateur. Rien n'est envoyé au serveur.
- Clique sur Crée une paire de clés. Remarque à quel point cette clé publique est plus courte que celle de RSA — c'est la courbe.
- Clique sur Signer. Tu obtiens un sceau de 64 octets.
- Clique sur Vérifier. Valide.
- Change maintenant une seule lettre dans le texte — un point, une majuscule — et clique à nouveau sur Vérifier, sans signer à nouveau. Invalide. Il n'y a pas de « presque bon ».
- Remets le texte comme avant et clique deux fois sur Signer. Deux sceaux différents pour le même texte — et pourtant tous les deux valides.
De la clé à la personne
Une signature valide dit : « quelqu'un qui possède cette clé privée a signé ceci ». Mais qui est-ce ? C'est là qu'intervient le certificat. L'État belge dit : « cette clé publique appartient à Koen Thomeer, né tel jour » — et signe lui-même cette déclaration. Si tu veux être sûr que c'était bien l'État, tu vérifies cette signature-là par rapport à la clé de l'État. Tu obtiens ainsi une chaîne de confiance qui se termine par une seule clé qu'il faut simplement croire : la racine. Sur ta carte d'identité, ces certificats se trouvent dans la puce, à côté de tes clés.
Deux clés sur ta carte, exprès
| Clé | Pour quoi | Ce que ça signifie |
|---|---|---|
auth |
Se connecter : prouver que c'est bien toi | Aucune signature sous un document. Juste « oui, c'est bien moi ». |
sign |
Signer des documents | Juridiquement aussi valable que ta signature au stylo. Irrévocable. |
C'est pourquoi ta carte demande parfois ton code PIN deux fois, et
pourquoi la seconde fois est plus importante. Se connecter à un site
utilise auth. Signer un contrat utilise sign, et
ça, tu ne peux plus jamais l'annuler. Dans le dernier chapitre, tu feras
les deux avec ta propre carte.
Voici les maths : prouver que tu sais quelque chose sans le dire
Ta clé privée est un nombre n. Ta clé publique est le point n·P sur la courbe. Une signature est un calcul dans lequel n est caché de telle façon que tout le monde, avec n·P, peut vérifier que tu connais n — sans que n n'apparaisse jamais. Et cet aléa de l'étape 5 ? Chaque signature utilise un nombre aléatoire frais ; sans ça, n finit par fuiter quand même. C'est vraiment arrivé en 2010 avec la PlayStation 3, dont la clé maîtresse a ainsi fuité. Un seul nombre aléatoire manquant, et une entreprise valant des milliards s'est retrouvée à nu. Les mathématiques ne pardonnent aucune négligence.