Cryptologie - WordPress.com

publicité
Guillaume Tyson
20-10-12
Cryptologie
Cette conférence nous a sensibilisé à travers l’exemple de la carte bancaire à une discipline
que nous connaissons tous de nom sans pour autant savoir de quoi il en retourne vraiment,
la cryptologie. Sous ce nom se cache en fait deux sciences, la cryptographie et la
cryptanalyse, l’art de concevoir des systèmes de chiffrement et l’art de les casser.
Un système de chiffrement doit respecter certaines contraintes. Une notion clé est celle de
confidentialité, savoir de qui exactement on cherche à protéger des données. Les mesures
prises ne seront pas les mêmes. Souvent on commence par supposer l’adversaire très fort,
puis on adapte l’algorithme à la menace la plus probable. À ce sujet, j’ai trouvé cela
inquiétant de savoir que si ça les intéressait, des organismes très puissants comme la NSA
serait capable d’avoir accès à des données très personnelles de quiconque.
Il existe principalement deux types de systèmes de chiffrement. Le premier type
(historiquement) est celui à clé secrète. Bien qu’il existait déjà sous diverses forme, c’est
Auguste Kerckhoff, un militaire français du 19ème siècle, qui en défini proprement les règles.
L’idée la plus importante de ce genre de système est que l’algorithme, ou le mécanisme, qui
a servi à crypter le message est publique, tout le monde peut avoir accès à la théorie
derrière. Ce qui garantit l’inviolabilité du message est que la clé utilisée pour transcrire le
message codé est tenue secrète. La grosse difficulté est donc de parvenir à transmettre
cette clé tout en garantissant sa confidentialité. C’est à ce type de système auquel on pense
naturellement quand on parle de cryptologie, ou plus naïvement de code secret.
Classiquement, les films d’espionnage où les agents secrets emploient diverses ruses pour se
transmettre la clé.
Cependant, cette méthode connaît aujourd’hui ses limites. D’une part parce qu’il devient de
plus en plus facile pour des ordinateurs de tester toutes les combinaisons possible, d’autre
part parce que ce n’est pas une solution adaptée à toutes les situations. En particulier, c’est
ce que nous avons vu avec l’exemple de la carte bancaire. Typiquement, quand on insère
notre carte dans le lecteur et qu’on tape notre code pin, le terminal interroge la carte pour
savoir si c’est la bonne clé. Il est possible de créer des cartes qui répondent oui quelle que
soit la demande. Une clé secrète ne suffit pas.
Je trouve que la seconde méthode employée, à clé publique, n’a pas autant de charme. Cela
semble trop facile de chiffrer un message. Prenons l’exemple classique d’Alice et Bob qui
cherchent à communiquer. Cette technologie repose sur le principe qu’ils ont tous les deux
en commun un algorithme. (Typiquement aujourd’hui l’algorithme RSA). Supposons qu’Alice
veuille envoyer un message à Bob. Bob d’une part génère à partir de l’algorithme une clé
1
Guillaume Tyson
20-10-12
privée et une clé publique. Il envoi alors à Alice la clé publique et garde pour lui la clé privée.
La clé publique et l’algorithme peuvent être connus de n’importe qui. Alice chiffre alors son
message utilisant l’algorithme et renvoi, toujours publiquement, le message chiffré. Bob est
alors le seul capable de déchiffrer le message car il est le seul à posséder la clé secrète. J’ai
été impressionné, mais aussi à la fois un peu déçu, de voir la puissance des mathématiques
(car c’est bien de cela qu’il s’agit). Même si c’est bien pratique, cela enlève un peu le charme
de l’écriture sympathique ou des systèmes à clé secrète transmis de génération en
génération.
Finalement vient la notion essentielle de l’authenticité, comment vérifier que l’expéditeur
est bien le bon. C’est le problème qui m’a semblé le moins naturel. Il prend toute son
importance avec les cartes bancaires. Si on ne vérifie pas l’authenticité d’une carte, on
s’expose à des risques évidents de fraude. Pour ce faire, le terminal qui interroge la carte
envoi une requête à la banque, reçoit une clé publique puis s’assure que la carte bancaire
interrogée possède la clé secrète, typiquement en demandant la factorisation d’un nombre
aléatoire modulo la clé publique (opération très difficile sans la clé secrète).
Je garderais surtout de cet exposé que les solutions mathématiques à un problème donné
sont bien souvent les plus puissantes. Une conversation peut être surprise, une planque
découverte, mais personne n’est en mesure de résoudre une équation dont il ne connaît pas
toutes les variables. Cela me laisse admiratif mais aussi un peu déçu de penser qu’on ne peut
pas faire mieux que des maths.
2
Téléchargement