OVH Cloud OVH Cloud

Crypto via webmail

3 réponses
Avatar
Oleg
Bonjour,

Je cherche un moyen simple de communiquer via mails chiffrés avec une
personne "A" qui utilise sa messagerie via le web uniquement.

L'ordinateur que cette personne utilise ne lui appartient pas et elle ne
peut pas installer d'appli dessus. D'ailleurs elle ne saurait pas faire.

Par ailleurs, je sais (on est dans un film, hein) qu'une autre personne
"B" surveille discrètement, depuis une autre bécane sur le net, la
correspondance de "A" car elle connaît son mot de passe de messagerie,
lui ayant elle-même créé son compte de messagerie.

Je me demandais s'il existait des sites proposant une applet Java
permettant de faire du chiffrement à clé publique, simple et sans
nécessiter une grande sécurité. Faut juste chiffrer "pour le commun des
mortels" et que ce soit simple à expliquer à "A".

OK, je sais, il suffirait que "A" se crée bêtement un nouveau compte de
messagerie, mais c'est trop facile vu comme ça.

J'ai cherché (mal?)... et rien trouvé. Y a-t-il des trucs utilisables ?

Merci
Oleg

3 réponses

Avatar
Clement Seveillac
Ce Tue, 23 Sep 2003 23:19:03 +0200,
Oleg écrivait :

Je cherche un moyen simple de communiquer via mails chiffrés avec une
personne "A" qui utilise sa messagerie via le web uniquement.

L'ordinateur que cette personne utilise ne lui appartient pas et elle ne
peut pas installer d'appli dessus. D'ailleurs elle ne saurait pas faire.
[...]
J'ai cherché (mal?)... et rien trouvé. Y a-t-il des trucs utilisables ?


Partager un mot de passe avec A et faire du chiffrement symetrique via
un executable n'ayant pas besoin de s'installer, voire (si A n'a besoin
que de recevoir) via des archives auto-extractibles ?

Je n'ai pas de windows sous la main (ou plutot si, mais j'utilise
actuellement la partition linux de mon portable :) , mais je pense que
des logiciels comme aCrypt+ (http://www.idapro.com/) n'ont pas besoin
de s'installer pour etre executes, et les cryptogrammes produits sont
auto-extractibles.

Quant a des applets java disponibles sur des webmails pour faire de la
crypto assymetrique, je n'en connais pas encore, mais je n'ai pas
beaucoup cherche faute de besoin :-)
--
clem

Avatar
Oleg
Oleg écrivait :
Je cherche un moyen simple de communiquer via mails chiffrés avec une
personne "A" qui utilise sa messagerie via le web uniquement.

L'ordinateur que cette personne utilise ne lui appartient pas et elle ne
peut pas installer d'appli dessus. D'ailleurs elle ne saurait pas faire.
[...]
J'ai cherché (mal?)... et rien trouvé. Y a-t-il des trucs utilisables ?



Partager un mot de passe avec A et faire du chiffrement symetrique via
un executable n'ayant pas besoin de s'installer, voire (si A n'a besoin
que de recevoir) via des archives auto-extractibles ?


Justement c'est là le pb, je ne saurais pas comment partager un mot de
passe avec "A", je n'ai que le mail... Merci pour la réponse en tous cas.

Cordialement
Oleg


Avatar
Horace
Je résume le problème.
A veut communiquer avec B.
Seul moyen de communication : l'e-mail.
Or un tiers C intercepte (potentiellement) toutes les communications
entre A et B.
Il est impossible d'échanger une clef par mail.

Comment communiquer par chiffre ?


Génial :) ça devient hyper intéressant !!

J'ai deux solutions à vous proposer (pour le prix de... 0 !). Je ne vous
donne la seconde que par jeu, par amusement. Cela pourra peut-être
intéresser quelqu'un ici...

LA PREMIERE

1) A et B décident d'un protocole spécifique : ils choisissent de
concert un algorithme, ainsi que le "comment on va faire" (ordre d'échange
des clefs, etc. - on y reviendra). Il importe peu que C soit au courant de
tout cela ou non, s'il a peu ou pas de connaissances en crypto.
2) Ils choisissent CHACUN UNE clef personnelle, que l'autre IGNORE.
3) A choisit une clef commune C0.
4) A la code avec l'algo et sa propre clef. Il obtient C1.
5) Il envoie C1 à B.
6) C intercepte C1. Il ne sait pas quoi en faire ! Selon l'algorithme
choisi, il peut casser le code. C'est là qu'est le risque. Mais si C est un
quidam (une mère qui surveille les mails de sa fille !!!!!), il n'en fera
rien.
7) B reçoit C1.
8) B code C1 avec sa propre clef. B obtient C2.
9) B envoie C2 à A.
10) C intercepte C2 et peut pleurer...
11) A déchiffre C2 avec sa propre clef. Il obtient C3.
12) A envoie C3 à B.
13) C a renoncé.
14) B déchiffre C3 avec sa propre clef... et obtient C0 !!
15) A et B disposent à présent d'une clef C0 commune (éventuellement,
même de plusieurs), que C ignore. Ils peuvent à présent échanger des
messages via RSA, ou autre...

Mais ceci n'est possible qu'avec certains algo seulement.
C'est mathématiquement possible avec une clef de César, mais ce n'est
pas sûr du tout, par exemple (je n'ai pas envie d'expliquer pourquoi ;
faîtes le calcul sur une feuille vous verrez : 253+12&5 265-20$5
245-12#3 233+20%3 : opérations +12/-12 et -20/+20. Mais si C sait
qu'il s'agit d'une clef de César, alors il verra que la différence entre 265
et 245 (qu'il a eu entre les mains) est "-20", d'où de 233, il saura
retrouver, via "+20" le 253...).

Comment faire ? Je ne vois, a priori, pas de logiciel "accessible" (un
des éléments de l'énoncé était, je crois, que B ne peut pas installer de
logiciels, ou quoi) qui permette de faire cela...
Mais cela me semble être la meilleure solution possible !

Après, A et B peuvent par exemple se servir de C0 pour mettre un mot de
passe sur une archive ZIP. Par exemple, si B se connecte à partir d'une
bibliothèque, ou d'un cyber-café, en général, les ordinateurs sont récents,
et disposent de WinZip...


LA SECONDE

Cette solution est plus délicate à mettre en oeuvre.

Voici ce que je pense : il faudrait demander l'adresse de A via
internet, et lui envoyer une disquette qui contiendrait un petit programme
exécutable qui affiche la clef, et, éventuellement, quelques infos
(logiciels, instructions, etc.)
Pourquoi un EXE ? Tout simplement parce que le programme contiendra une
instruction de première importance : dès qu'il a été lu (la première fois,
donc), il s'auto-reprogramme, de telle sorte, par exemple, à n'afficher plus
que des * dans la boîte de dialogue... Je pense que c'est faisable en Visual
Basic, assez simplement.

En résumé :
- ouverture (1) du programme ;
- affichage d'une boîte de dialogue (affiche le texte et la clef) ;
(b)
- clic sur "OK" :
- affichage d'une deuxième boîte de dialogue (où il n'y rien marqué
d'important, style "Programme achevé", juste pour laisser un délai au
programme après le clic sur "OK") et modification du programme ;
- clic sur "OK" ;
- fermeture du programme ;
- tentative d'ouverture (2) du programme ;
- affichage des informations modifiées, retour en (b)

Évidemment, un programmeur ou quiconque qui ait quelques connaissances
en info pourra désassembler le programme, et retrouver la clef initiale.
Mais bon, vous avez demandé un truc simple...

Sinon, il reste possible de mettre ce petit programme à disposition sur
Internet, mais là, il ne pourra pas enregistrer la modification (du
programme).
Reste la possibilité de l'échanger via un logiciel comme MSN. Il y a peu
de chances qu'un quidam arrive à accéder aux informations. Mais on n'est pas
sûr de l'identité de la personne avec laquelle on communique...



Si quelqu'un pouvait me donner quelques précisions quant à l'algo dont
on pourrait se servir pour coder C0...


~~
Horace