07 décembre 2007

Confidentialité par emails

MAJ 07/12/2007: ajout partie 5.
Billet initial du 05/12/2007.

Ce mémo est à destination des magistrats, greffiers, avocats et experts envisageant d'utiliser leur adresse email pour échanger des données confidentielles. Il sera développé, modifié et corrigé en fonction des commentaires et du temps que je pourrai y consacrer.

1) Problème
2) Solution retenue
3) Principes de chiffrement
4) Principes de signature
5) Les outils
6) Création de ses clefs
7) Les risques


1) Problème
Zythom, expert judiciaire, souhaite communiquer avec Maître Eolas, avocat, dans le cadre d'une expertise.
Les échanges doivent être confidentiels.
Il est possible que des documents soient annexés aux courriers échangés.
Les deux parties souhaitent avoir la preuve que l'autre a bien reçu et lu la correspondance (non-répudiation[1]).
Il va de soi que chacun souhaite également que la correspondance reçue et lue soit exactement celle qui a été envoyée (aucun tiers n'a réussi à la modifier).

2) Solution retenue
Pour des raisons légales, la solution retenue est basée sur l'utilisation de la messagerie électronique et la connaissance des adresses emails des deux parties. L'envoi d'un email équivalant à s'adresser des cartes postales, le choix est fait d'utiliser un système de chiffrement (parfois appelé à tort cryptage).
J'ai choisi le système GPG pour son universalité, sa gratuité, sa robustesse, sa qualité et sa licence libre.

3) Principes de chiffrement
Chaque partie dispose d'un couple de clefs qui va permettre la sécurisation des échanges: une clef privée (connue seulement de son propriétaire) et une clef publique (accessible à tous).

Ce qui donne:
Clef privée de Zythom et clef publique de Zythom,
Clef privée de Me Eolas et clef publique de Me Eolas.

Lorsque Zythom souhaite chiffrer un message adressé à Me Eolas (et à lui seul), il utilise pour cela la clef publique de Me Eolas pour chiffrer le message avant envoi (puisque la clef est publique, Zythom peut la connaître et l'utiliser).

Seul Me Eolas dispose de la clef permettant le déchiffrage (la clef privée de Me Eolas).
Même Zythom ne pourrait pas déchiffrer le message, puisqu'il ne dispose pas de cette clef privée indispensable (mais où est le problème, puisqu'il dispose du message avant chiffrage).

En résumé, lorsque l'on veut écrire à quelqu'un, il suffit de chiffrer le message avec la clef publique de cette personne.

Comment obtenir la clef publique d'une personne?
Et bien, il suffit de connaître son adresse email et de contacter un serveur de gestion de clefs publiques.

4) Principes de signature
Comment signer un document pour permettre d'identifier son auteur?
Par exemple, comment Zythom va-t-il signer un document de façon à permettre à Me Eolas de s'assurer que Zythom en est bien l'auteur?

Construction de la signature:
Zythom calcule la somme de contrôle[2] du message qu'il adresse à Me Eolas.
Cette somme de contrôle est ensuite chiffrée par Zythom avec sa propre clef privée (qu'il est le seul à détenir) et est jointe au document en tant que signature.

Vérification de la signature:
Me Eolas pourra alors calculer d'un côté la somme de contrôle du document qu'il a reçu, et d'un autre côté déchiffrer à l'aide de la clef publique de Zythom la signature jointe au document. Si les deux sommes de contrôle correspondent, l'auteur du document est identifié.

5) Les outils
Je n'ai pas la prétention de présenter tous les outils existants, ni même ceux couvrant toutes les configurations possibles. Je partage simplement mon expérience personnelle (forcément limitée).

La base:
Sous système d'exploitation Windows 2000/XP/2003/Vista: gpg4win. Choisissez a minima GnuPG et WinPT

Les messageries:
Les utilisateurs de Thunderbird installeront enigmail.
Les utilisateurs de Firefox installeront FireGPG qui fonctionne parfaitement pour Gmail.
Les utilisateurs d'Outlook: Personnellement, j'utilise beaucoup le copier/coller et WinPT avec le bloc notes.

6) Création de ses clefs
A venir...

7) Les risques
A venir...
La lecture des commentaires donnent déjà une bonne idée des risques.


[1] La non-répudiation signifie la possibilité de vérifier que l'envoyeur et le destinataire sont bien les parties qui disent avoir respectivement envoyé ou reçu le message. Autrement dit, la non-répudiation de l'origine prouve que les données ont été envoyées, et la non-répudiation de l'arrivée prouve qu'elles ont été reçues (extrait de wikipedia).

[2] La somme de contrôle, également appelée empreinte, résumé de message, condensé, condensat ou encore empreinte cryptographique, est calculée à l'aide d'une fonction de hachage.

11 commentaires:

  1. Il demeure cependant un problème de certification des clés publiques.

    Connaissant l'email de Me Eolas, qu'est-ce qui vous assure que la clé fournie par le serveur de clés que vous contactez est bien celle de Me Eolas ? En particulier, qu'est-ce qui vous prouve qu'il ne s'agit pas d'une clé générée par moi, mais portant l'adresse email de Me Eolas ? En particulier quand on connait l'efficacité de la propagation des clés entre serveurs de clés...

    Le mieux est de procéder à un échange de clés (ou d'éléments discriminant comme l'empreinte de la clé ou un bloc de données signé) en présence l'un de l'autre. Ou de trouver un tiers de confiance ayant signé vos clés respectives. Mais comment certifier la clé du tiers ?

    Le gros problème de OpenPGP est justement la certification des clés qui ne repose que sur le concept limité de cercle de confiance. S/MIME apporte une solution plus élégante avec l'utilisation de certificats X509, mais là encore se pose le problème du choix du tiers de confiance commun, i.e. l'autorité de certification.

    RépondreSupprimer
  2. Je ne suis pas sur de comprendre votre objection.
    Si les deux parties se sont mises d'accord sur la bonne adresse email, le fait que chaque partie possède une clef privée unique permet au mécanisme de clef publique de fonctionner.
    Si un tiers génère une fausse clef publique, celle-ci ne permettra pas de déchiffrer ni de valider une signature.
    Me trompe je?

    RépondreSupprimer
  3. Cher Zythom,

    N'oubliez pas que l'on peut aussi communiquer sur des plateformes d'échange, sans passer par un email. L'email servant éventuellement à signaler qu'un nouveau document vient d'être déposé.

    Le gros problème, que ce soit avec l'email crypté ou avec une plateforme d'échange, est que le document (décrypté) va certainement se balader dans des secrétariats ou administrations à l'insu de l'expéditeur, voire du destinataire. Il sera aussi certainement présent sur l'ordinateur de l'expéditeur / destinataire, en clair. Et il sera aussi photocopié en X exemplaires par Y secrétaires.

    Enfin, par rapport à l'interception de courrier papier, est-ce que la transmission numérique est moins sûre ? Votre rapport hyper-confidentiel envoyé en AR au magistrat va peut-être être intercepté à votre bureau de poste, ou dans la sacoche du facteur, ou dans le bureau du secrétaire, le temps d'être photographié...

    RépondreSupprimer
  4. Cher confrère,

    Vous avez parfaitement raison.
    Mais mon propos n'est pas d'analyser la chaîne complète de sécurité.

    Actuellement, l'envoi par la poste en RAR, s'il est fait avec suffisamment de discrétion (en évitant les étiquettes rouges "confidentiel"), est une méthode assez sure.

    Se faire intercepter un rapport d'expertise par un agent postal malhonnête est très peu probable. Mais on n'est jamais à l'abri d'un maitre chanteur...

    Vous avez raison de souligner que certaines affaires nécessitent des moyens plus sécurisés (cryptage du disque dur, sécurisation des accès au laboratoire d'analyse, transporteur ad hoc, etc.)

    Ce n'est heureusement pas mon cas.

    Quel que soit le niveau de sécurité atteint, il sera toujours possible de passer outre. J'essaye simplement d'insuffler un peu de sécurité là où elle me semble particulièrement manquer. En l'espèce, les futurs échanges d'emails dans le milieu judiciaire.

    Futurs échanges qui ont déjà lieu, si j'en réfère aux dossiers que je traite.

    Confraternellement.

    RépondreSupprimer
  5. Peut etre un lien quelque part vers gpg4win ou vers le site de pgp payant (peut etre plus user friendly) dans ce billet pourrait etre tres utile, parce que la plupart du temps quand je trouve un guide ou une explication je me retrouve en allant sur le site officiel du truc mentionner (ca m'est d'abord arriver avec Xvid, puis x264, et aussi dans une moindre mesure mais j'avais l'habitude GPG) a me retrouver sourriant avec un .tar.gz bourrer de codes sources que je suis proprement incapable de compiler sur mon ordinateur et je dois jouer les indiana jones sur internet pour trouver un binaire (le must fut x264 ou le seul binaire que je put trouver me donnait un gui de configuration qui n'avait rien avoir avec ce que me montrait le guide).

    RépondreSupprimer
  6. C'est prévu dans la suite du billet à venir avec une partie consacrée aux outils.

    RépondreSupprimer
  7. Zythom, vous avez raison, mon objection porte bien sur le fait de récupérer une fausse clé publique. Et vous avez raison sur l'effet, sauf que vous n'aurez cet effet qu'une fois le message envoyé...

    Je vais partir d'une anecdote. Un jour, il y a longtemps, un correspondant me demande de lui envoyer ma clé publique. Je lui réponds qu'il lui suffit de la demander à un serveur de clés. Il se fend donc d'une requête et ne trouve rien. Ce qui veut dire qu'il avait tapé un serveur de clés qui ne connaissait pas ma clé (mais dans quel monde vit-on ?!).

    Maintenant, je me place dans la peau d'un attaquant. Ce dernier ayant préalablement noté ce défaut, aurait pu créer une clé à mon nom et l'uploader sur ce même serveur. Mon correspondant aurait alors ramené, intégré et signé cette clé. Avec un peu de chance pour l'attaquant, il se serait aussi senti bien inspiré de la réuploader avec sa signature exportable, que tout le monde la voit.

    Premier effet Kiss-Kool. Mon correspondant va envoyer les données super confidentielles qu'il voulait échanger, chiffrées avec la clé de l'attaquant. Évidemment, je vais tout de suite m'apercevoir du problème, puisqu'incapable de déchiffrer le message. Mais il sera déjà trop tard, puisque les données se balladent déjà dans la nature avec un attaquant capable de les déchiffrer.

    Deuxième effet Kiss-Kool. Ça ne dérange pas plus que ça un serveur de clés d'avoir plusieurs clés associées à la même adresse email, l'identifiant unique étant son ID. Par exemple, si vous chercher les clés associées au nom Dupont (désolé), vous allez rapidement en trouver 8 différentes associées à la même adresses email. L'une d'entre elle n'est-elle pas une clé usurpée ?

    Troisième effet Kiss-Kool (c'est beau Internet), mon correspondant ayant signé la clé en question, elle gagne en niveau de confiance. Un second correspondant qui irait à la pêche à ma clé avant qu'on ne s'aperçoive du soucis la croirait plus crédible que l'autre. Et à partir de là, c'est le recurring Kiss-Kool effect.

    Bref, tout ça pour dire que le seul échange de l'adresse email pour récupérer une clé ne suffit pas, et que l'exemple mentionné avant est particulièrement efficace quand les clés échangées ont été créées récemment. Il faut donc au minimum également communiquer l'ID de la clé, supposé unique mais cependant falsifiable (cf. fameuse clé 0xDEADBEEF), et son empreinte.

    Ça peut sembler un peu capillotracté, mais cette histoire de certification des clés est réellement le point faible de OpenPGP.

    RépondreSupprimer
  8. Juste trois points.

    La non répudiation n'est pas, mais je me trompe peut-être, l'accusé de réception comme l'article laisse l'entendre.
    Au contraire, la non-répudiation est l'impossibilité pour un émetteur de nier une correspondance après coup.

    Une autre chose dans un cadre beaucoup plus badin concerne les adresses eamil, et leur falsification.
    J'ai pu me rendre a de nombreuses reprises que les personnes ne vérifient jamais les adresses d'un emetteur. Ainsi, si par hasard maitre eolas s'attend a recevoir des emails de zythom@yahoo.fr, il ne s'offusquera pas de recevoir un mail de zythom@yahoo.ca. Puis il cliquera sur "répondre à" et hop.

    Enfin, plutôt que de lorgner du côté de PGP, pourquoi ne pas utiliser une véritable PKI, avec (évenutellement) de la crypto hardware. La clé d'autorité sera distribué de la main à la main (et non par le biais du réseau).

    C'est du lourd (lourd a mettre en oeuvre aussi), mais ça fonctionne.

    Et les experts pourront sans doute confirmer que la PKI en tant que telle n'a pas été cassée.

    RépondreSupprimer
  9. Une PKI n'est pas un outil ou une techno, c'est un process. Du slideware comme on dit chez nous (notez qu'on trouve des failles dans PowerPoint).

    Mais pour prendre vie, comme tout process, il doit être implémenté. Son efficacité dépend alors de son implémentation, qui elle peut être cassée...

    RépondreSupprimer
  10. Un déménagement laborieux suivi d'un problème de réouverture de ligne (merci FT) m'ont fait prendre du retard dans la lecture des billets. Je post donc ce commentaire tardivement et j'espère que vous en prendrez connaissance. (En principe, du fait qu'il doit être validé avant d'être publié, il le sera !).

    Ce billet fort intéressant sur les problèmes de sécurité et de confidentialité informatique m'a fait penser à quelques anecdotes véridiques qui montrent qu'en dépit de systèmes de sécurité particulièrement efficaces, les failles sont souvent bien éloignées du problème à la base. A méditer donc.

    J'ai, parmi mes amis, un couple travaillant à France Télécom (vous connaissez ?). Ils sont, bien que parfaitement profanes en la matière, très consciencieux et respectueux des procédures touchant à la sécurité et à la confidentialité de leur métier. Ils sont aussi très sensibles aux problèmes de gaspillage et de protection de l'environnement. A ce titre ils ne supportent pas la gabegie quotidienne en papier de l'administration dans laquelle ils travaillent, et il est autorisé par la hiérarchie (ou ignoré) que les tonnes de feuilles de papiers imprimées par habitude ou par erreur soit ré-utilisées comme brouillon. C'est ainsi qu'un jour ayant utilisé du papier brouillon qu'ils avaient ramenés chez eux, j'ai pu me rendre compte que c'était la liste des noms, adresses et numéros de téléphone des abonnés du département inscrits sur liste rouge ! …et je ne vous parle même pas des mots de passe et identifiants figurants sur des feuilles mal imprimées et négligemment jetées à la corbeille.

    Dans le même ordre d'idée, un de mes anciens chefs de service (dans un grand groupe industriel connu mais dont je cacherai le nom) utilisait aussi comme bloc-note de brouillon quelques pages mal imprimées maintenues entre-elles par une pince. A chaque fois qu'il me faisait passer des notes écrites sur son brouillon, ma première réaction, dès qu'il avait tourné le dos, était de lire ce qu'il y avait écrit au verso… J'ai pu ainsi prendre connaissance de compte rendu de réunions confidentielles et même quelques bribes d'un texte issu d'un "comité secret"… Je jure que je n'ai rien revendu aux puissances ennemies. ;o)

    Le plus cocasse, c'est qu'en parallèle nous étions sans cesse sensibilisé par le service informatique sur les risques de piratages informatiques d'informations sensibles. Comme quoi, on est bien loin des considérations hautement techniques ou des mini caméras et micros d'espionnage cachés dans les plafonds ou sous les tables… Il faut toujours se méfier du brouillon !

    Plus anecdotique, plus tard j'ai travaillé dans l'agence d'une société commerciale dont le responsable organisait le ramassage (nocturne et discret) des poubelles de ses concurrents négligemment déposées sur le trottoir devant leur agence en fin de semaine. Les informations ainsi récoltées (et ce n'est pas du vol au sens de la loi) étaient de première importance.

    Je viens également de lire un article qui souligne qu'en matière de sécurité informatique les procédures que l'utilisateur de base doit mettre sont tellement contraignantes et inadaptées qu'en général le mot de passe de connexion est souvent inscrit sur un post-il collé sur l'écran de l'ordinateur avec la mention du responsable informatique suivante : "Pour éviter tout problème de connexion, merci ne pas changer le code d'accès". Une mention similaire aurait même été écrite sur un courrier officiel que certains rectorats ont envoyé aux établissements scolaires avec le mode d'emploi du dernier système informatique mis en place pour prendre connaissance des dossiers personnels des étudiants… ça fait sourire !

    Pour finir, toutes ces considérations me rappellent une histoire de science-fiction dans laquelle un vaisseau spatial venant d'une galaxie lointaine est venu se poser sur la terre à l'époque des hommes des cavernes. Ces visiteurs venus d'un monde plus avancé que le notre étaient vêtus de combinaison de sécurité extrêmement performantes capables d'arrêter tout type de rayon destructeur : laser, résonance magnétique, et même des systèmes rayonnant que nous n'avons pas encore découvert… c'est pour dire ! Il ne reste de cette mission venue découvrir la terre qu'un message désespéré qui disait : "nous sommes attaqués par des armes inconnues qui traversent nos combinaisons… nous ne pouvons pas résister… nous sommes perdus…".
    Ils venaient d'être attaqués par des hommes primitifs qui les ont transpercé avec leurs flèches de bois et de silex !…

    J'ai trouvé cette métaphore très belle et très contemporaine.

    RépondreSupprimer
  11. Juste pour signaler que FireGPG n'est plus maintenu.

    Merci pour ce memento et les commentaire instructif.

    RépondreSupprimer

Lectrice, admiratrice, avocate, magistrate, programmeuse, dessinatrice, chère consœur, femmes de tous les pays, lecteur, j'ai toute confiance en vous pour prendre bien soin de vérifier que votre prose est compatible avec les normes orthographiques et grammaticales en vigueur. Et si vous pouviez éviter les propos insultants ou haineux, je vous en serais reconnaissant.
N'hésitez pas à respecter ces quelques règles qui peuvent même s'appliquer en dehors de ce blog.

Les commentaires sur ce blog sont modérés. Votre message apparaîtra sur le blog dès que le modérateur l'aura approuvé. Merci de votre patience.