Il faut distribuer la clé. Mais plus simplement le "premier message".
Bob, c'est bien toi?
Et toi, t'es bien Alice?
Et prouve-moi que t'es Bob!
Toi-même, commence d'abord!
Comment être sûr que l'on discute bien avec la bonne personne? Comment Alice est certaine
que c'est bien Bob qui reçoit ses missives, et réciproquement?
Et bien la première fois, ils ne sont jamais certains, c'est impossible.
D'ailleurs, dans la vrai vie, il y a toujours quelqu'un
qui fait les présentations. Enfin, presque toujours,
parce que sans, et bien difficile d'être certain.
Et il ne faut pas prendre Eve pour une idiote:
elle va s'interposer dans la conversation électronique.
C'est le problème du man in the middle autrement dit l'homme au milieu.
Position du problème
Bob doit faire parvenir sa clé publique à Alice.
Ensuite, Alice pourra chiffrer un message avec la clé de Bob et lui envoyer.
Mais nos deux compères, comment savent-ils qu'ils sont bien en train de discuter
avec la bonne personne? Surtout la première fois, quand ils ne se connaissent pas encore?
Et en plus, Eve, qui n'est pas née de la dernière pluie, peut se mettre au milieu de la conversation!
Eve intercepte la clé publique de Bob, et envoie sa propre clé publique à Alice,
qui croit que c'est la clé de Bob!
Alice chiffre alors le message avec la clé reçue et la transmet à Bob... sauf que
c'est Eve qui intercepte la missive, et peut décoder avec sa clé secrète, puisqu'Alice
a chiffré le message avec la clé publique d'Eve, croyant que c'est celle de Bob!
Alice peut ensuite envoyer un message à Bob, qui croit dur comme fer que le
message vient d'Alice, puisqu'il a envoyé sa clé secrète, et que lui seul
peut décoder le message...
Ce problème est généralement mis de coté dans les papiers concernant les
systèmes sécurisés, probablement parce que les gens pensent que c'est connu
et classique. Mais bon, ce serait mieux de le rappeler systématiquement, car
c'est du bon sens commun.
Tiers & ancre de confiance
Cette histoire d'homme du milieu prend sa racine dans un problème général
de confiance. D'une manière pénible et gênante pour un paranoïaque comme moi,
il faut bien faire confiance à quelque chose ou quelqu'un au départ.
C'est ce qu'on appelle une ancre de confiance ou
un tiers de confiance.
Quand vous allez voir votre banquier la première fois, ou que vous
entrez votre premier mot de passe dans le système qui va gérer vos
emails, et bien vous faites confiance, forcément...
Pour la distribution de la clé publique d'une personne, on peut
utiliser une sorte de banque, de préférence certifiée par une
autorité de certification (en qui on a confiance comme notre ANSSI en France),
banque qui va servir de tiers de confiance:
vous savez que les clés stockées dans cette banque sont correctes.
De toutes manières, vous le faites de facto si vous utilisez
un mail chiffré dans votre entreprise: vous faites confiance à
votre structure informatique d'entreprise pour gérer les clés.
Le problème de fond avec le tiers de confiance, c'est que tout repose
sur lui. Et si jamais on n'a plus confiance dans le tiers de confiance
pour une raison quelconque, et bien tout l'édifice s'écroule...
Est-ce que vous croyez tout ce que je vous raconte? Vraiment?