FI/SP/00

Signatures

Claude.Lecommandeur@epfl.ch, collaborateur au Service informatique central

Le problème de la signature des messages et plus généralement des documents n'est pas récent. Dès l'antiquité on utilisait des sceaux de bois ou de métal qu'on appliquait sur de la cire chaude ou du plomb pour en garantir l'origine.

Plus récemment, on a simplifié la technique, l'auteur se contentant d'apposer son nom écrit d'une façon particulière et constante en bas du document à signer. Le signataire est supposé être le seul à pouvoir reproduire cette écriture et le récepteur est supposé en être convaincu.

Plus généralement, signer un document, c'est donc lui adjoindre un truc (un machin peut parfois suffire) qui prouve qu'une certaine personne (physique ou morale) prend la responsabilité du contenu de ce document.

Cela se corse dans le cas d'un document électronique. Quoi de plus anonyme qu'une suite d'octets, vous pouvez la modifier, la dupliquer, et prétendre n'importe quoi sur elle. Il va donc falloir ruser.

La solution est le chiffrement à clé publique. Un algorithme de chiffrement est une méthode qui permet de transformer un document en un autre totalement incompréhensible si l'on ne dispose pas d'une clé. Voir «Chiffrement des données et sécurité informatique» (http://ditwww.epfl.ch/SIC/SA/publications/FI95/fi-7-95/7-95 -page3.html) pour quelques détails sur la question.

Il y a, en gros, 2 catégories d'algorithmes de chiffrement, ceux dits à clé privée et ceux dits à clé publique. Nous nous intéressons ici aux algorithmes à clé publique qui sont le ressort principal des méthodes de signatures électroniques. Dans ce cas la clé qui permet le chiffrement est différente de celle qui permet le déchiffrement. Et de plus, ces 2 clés ne sont pas déductibles facilement l'une de l'autre. Voir quelques détails sur la question (http://cognac.epfl.ch/CA/pk_crypt.html) par mon estimé collègue Martin Ouwehand.

clé publique du personnage louche qui a écrit l'article
k728xsHOWC/it5uDkUud4vkAx2Tpb0FjuI2pe8Fxq0MyXqB4LmNbfQgyZTAHCeo0r79J+3JsZfaJasZ76wms5uqTf4Nb0 /a1h5lHPBB1gdb06bJzlrSer3nKY3WqoF2G

Supposons que Bob veuille faire parvenir un message galant à son amie Alice. Il prend donc un algorithme de chiffrement (A), une paire de clés dont l'une sera nommée clé secrète (S) et l'autre clé publique (P).

A et P sont donc connus de tout le monde et S n'est connue que de Bob. D'autre part il faut signaler ici qu'Alice est une personne assez suspicieuse. Comment va donc faire Bob pour lui prouver qu'il est bien l'auteur du poulet?

Facile, il le chiffre à l'aide de l'algorithme A en utilisant sa clé secrète S, il obtient ainsi un autre document D. Il envoie à Alice ce document, ainsi que l'algorithme A et sa clé publique P. A la réception, la belle Alice déchiffre D en utilisant A et P et si tout s'est bien passé elle obtient le billet original, mais avec en plus la certitude que Bob est bien l'auteur puisqu'il est le seul à disposer de la clé secrète S qui a permis de fabriquer D.

Cela n'a pas l'air mal comme ça, mais Alice est-elle vraiment sure de l'origine de la missive? En fait, que peut déduire Alice sur l'authenticité de D? Elle a juste la preuve que le signataire du message est le possesseur de la clé secrète associée à la clé publique P. Il y a donc encore une étape à franchir, Bob doit prouver à Alice que la clé publique P est bien la sienne.

Si Bob et Alice se connaissent personnellement, Bob peut communiquer sa clé publique par un moyen non informatique, comme par exemple des signaux de fumée, mais ce serait fastidieux et en général, Bob et Alice ne se connaissent pas personnellement. Il faut donc qu'un organisme tiers se charge de cette garantie. Le travail de cet organisme est de certifier que telle clé publique est bien celle de telle personne.

Ces organismes existent et se nomment des autorités de certification, les garanties qu'ils produisent s'appellent des certificats. L'EPFL dispose d'une telle autorité (http://cognac.epfl.ch/CA ).

Quel genre de documents électroniques signe-t-on et pourquoi ? En gros, 3 catégories:


Des courriers électroniques

Si on veut utiliser le courrier électronique de façon un peu sérieuse, il va devenir de plus en plus nécessaire que l'expéditeur justifie son identité. On pourra alors se passer totalement des documents papier dans beaucoup de cas.


Des programmes

Quand on exécute un programme sur son ordinateur, par exemple en cliquant sur un document attaché à un e-mail en VBS au titre prometteur, ce serait pas mal de se renseigner sur l'auteur avant de commettre l'irréparable. Les programmes signés sont souvent des programmes d'informatique mobile plus connus sous le nom d'applets.


Des certificats

Vous vous êtes sans doute posé la question: sous quelle forme est donné ce fameux certificat signé par l'autorité de certification dont il est question plus haut? Cette autorité dispose elle-même d'une paire de clés qu'elle utilise pour signer des documents du genre:

Juste pour rire, voici un vrai certificat: http://slpc1.epfl.ch/public/claude.pem.

Quels outils de signature utilise-t-on? Le lecteur ne sera pas surpris d'apprendre qu'il y a toute une variété de possibilités incompatibles entre elles.

Pour le courrier électronique, les 2principaux protagonistes sont PGP et S/MIME:

Pour les programmes et les certificats, rien de normalisé, des tas de formats et sous-formats avec des moyens de conversion pour passer de l'un à l'autre. Rien de palpitant.


retour au sommaire du Flash informatique spécial été 2000
retour à la page principale des Flash informatique
Vos commentaires
© FI spécial été 2000 du 5 septembre 2000