1 points par GN⁺ 2023-07-09 | 1 commentaires | Partager sur WhatsApp
  • Après l’apparition d’un problème dans l’application Android de ProtonMail, qui n’envoyait qu’une partie des e-mails envoyés juste après leur rédaction, l’utilisateur a contourné le problème en connectant un autre client mail via Proton Bridge
  • Il a exécuté Bridge dans une VM sur son NAS et ouvert l’accès IMAP/SMTP avec rinetd et Tailscale, afin d’utiliser le même compte depuis FairEmail sur Android et Claws sous Linux
  • Il a configuré des signatures PGP/MIME dans FairEmail+OpenKeyring et Claws, mais les e-mails de test n’étaient reconnus comme signés par aucun des deux clients
  • Le mainteneur de Claws a estimé que la structure MIME était cassée, et des tickets existants de Proton Bridge signalaient déjà un conflit entre le traitement PGP automatique de Proton et les signatures de l’utilisateur
  • Le cœur du problème est que Proton modifie discrètement les e-mails sans proposer d’option permettant de conserver tels quels les messages multipart/signed ou multipart/encrypted

Problème de l’application Android et contournement via Proton Bridge

  • Après avoir quitté Google pour ProtonMail il y a quelques années par mécontentement, l’ensemble était globalement utilisable, mais il y a quelques mois le client Android a commencé à altérer le contenu des e-mails
    • Si l’on appuie sur send trop vite après avoir fini de saisir le message, seule une partie du contenu rédigé est envoyée
    • Pour être sûr que l’envoi se passe correctement, il fallait attendre environ 10 secondes après la saisie
  • L’utilisateur a configuré Proton Bridge dans une VM sur son NAS afin de passer à une autre méthode, avec des clients différents de l’application Proton
    • Proton Bridge n’écoute que sur 127.0.0.1
    • rinetd transmet les connexions entrantes sur les ports IMAP et SMTP vers Bridge
    • Tailscale est configuré sur cette machine et sur le téléphone afin de connecter le client mail Android au compte Proton
  • Sur Android, il a utilisé FairEmail, et sous Linux, Claws

Comment les signatures PGP/MIME se cassent

  • Il a ensuite ajouté une configuration côté clients pour joindre une signature PGP aux messages sortants
    • Une sous-clé dédiée à la signature a été exportée vers l’appareil Android
    • FairEmail+OpenKeyring a été configuré
    • Claws sous Linux a également été configuré pour PGP/MIME
  • Les messages de test envoyés à lui-même ne sont pas reconnus comme des e-mails signés dans Claws ni dans FairEmail
    • En passant à PGP inline, cela fonctionne
    • Le mainteneur de Claws a répondu que la structure MIME était corrompue
    • Un e-mail signé envoyé par le mainteneur est correctement vérifié dans Claws
  • Comme exemples liés montrant que Proton casse depuis le départ les signatures PGP sortantes, les tickets proton-bridge issue #26 et issue #320 sont cités
  • Le comportement de Proton peut se résumer ainsi
    • Lorsqu’un e-mail classique est envoyé via Proton à un autre client Proton, Proton effectue automatiquement une signature et un chiffrement PGP
    • Cette signature et ce chiffrement automatiques ne cohabitent pas avec la signature appliquée directement par l’utilisateur
    • Résultat : la signature appliquée par l’utilisateur est cassée
  • L’utilisateur considère comme principal grief l’absence d’option permettant d’indiquer à Proton de laisser tels quels les messages multipart/signed ou multipart/encrypted
  • Tout en reconnaissant que PGP n’est pas largement utilisé, il estime que Proton modifie discrètement les e-mails et adopte une attitude du type « nous savons mieux que vous » face aux plaintes des utilisateurs, et envisage donc un autre hébergeur mail

1 commentaires

 
GN⁺ 2023-07-09
Commentaires sur Hacker News
  • Si, en lisant seulement le titre, vous êtes prêt à abandonner ProtonMail, ici « réécrit les e-mails » veut plutôt dire que ProtonMail ne prend pas en charge les signatures PGP appliquées par l’utilisateur à cause de la façon dont il a conçu son système de signature automatique et de chiffrement
    Il ne s’agit pas de dire qu’ils modifient arbitrairement le corps des e-mails envoyés, dans le sens le plus évident que comprendrait un utilisateur ordinaire
    Si vous faites partie des 99,9 % qui ne signent pas leurs e-mails et ne vérifient pas les signatures, ce n’est probablement pas un vrai problème en pratique, mais la réponse de Proton sur ce sujet ressemble quand même à une blague
    https://github.com/ProtonMail/proton-bridge/issues/26

    • Le fond du problème, c’est que cela abîme la confiance
      S’ils ne savent même pas gérer correctement quelque chose d’aussi basique que PGP, difficile de faire confiance au reste du logiciel, surtout quand ils se présentent eux-mêmes comme une entreprise « Privacy-first »
      Aujourd’hui, « Privacy » semble devenir un simple terme marketing
    • Au fond, même en l’écrivant longuement, ça revient à dire la même chose : vous allez devoir téléverser votre clé privée et il faudrait simplement l’accepter
  • « Cela semble lié au comportement de ProtonMail qui supprime tous les e-mails en texte brut dès qu’il y a une partie encodée en MIME »
    https://github.com/ProtonMail/proton-bridge/issues/26#issuec...
    En fait, ce qui est encore plus choquant, c’est qu’en présence d’une partie encodée en MIME comme du HTML, ils suppriment la partie texte brut
    En vérifiant, je constate que les messages importés depuis GMail et les nouveaux messages reçus dans ProtonMail ne conservent plus que la partie HTML, alors que l’affichage de la source dans GMail montre bien à la fois la partie HTML et la partie texte brut
    Cela signifie qu’on ne peut plus les lire plus tard avec un client texte seul, et comme ce n’est même pas pour économiser de l’espace de stockage, je ne comprends pas comment ils ont pu penser que c’était acceptable de casser ça
    L’espace de stockage, c’est moi qui le paie

    • Office365 fait exactement la même chose
      Du point de vue des grands fournisseurs, dès qu’un e-mail entre dans leur système, ce n’est plus vraiment un e-mail au sens d’origine, mais leur propre objet
      Il se peut qu’ils ne fassent aujourd’hui qu’une reconstruction partielle par simple courtoisie
    • Ce n’est qu’une supposition, mais ça sent l’enshittification
      On dirait qu’ils dégradent le produit tout en économisant quelque part, en espérant qu’un nombre suffisant de clients ne s’en aperçoive pas
  • Je suis content que quelqu’un ait pointé du doigt cette attitude condescendante du genre « nous savons mieux que vous » quand les gens se plaignent
    Au lieu de m’expliquer que je tiens mal l’outil, il faudrait au minimum reconnaître que je ne peux pas faire ce que je veux à cause des limites du produit, puis réfléchir à la possibilité de les changer

    • J’ai fini par éviter les outils logiciels qui se vantent d’être « opinionated »
      En général, cela veut dire utilisez-les à leur manière ou partez
    • Où est-ce qu’on vous explique exactement que « vous le tenez mal » ?
    • Cela fait aussi 5 ans que la récupération et l’envoi automatiques via WKD sur mobile ont été signalés, et ce n’est toujours pas pris en charge
      C’est assez hallucinant
  • ProtonMail est vraiment le pire
    À chaque fois qu’un fil comme celui-ci apparaît, je repense à mon expérience quand j’ai essayé d’utiliser ProtonMail pour mon entreprise
    ProtonMail facturait chaque compte, qu’une adresse e-mail soit active ou non, et quand un employé quittait l’entreprise, je voulais désactiver l’adresse tout en conservant l’historique des e-mails
    Mais exporter les e-mails depuis ProtonMail est suffisamment difficile pour nécessiter un ingénieur
    J’ai donc demandé s’ils pouvaient ajouter une fonction permettant de désactiver définitivement une adresse e-mail sans continuer à la facturer, et j’ai reçu la réponse évasive typique de ProtonMail
    J’étais déjà mécontent parce que la recherche était pire qu’une simple recherche par sous-chaîne, et après plusieurs années d’usage professionnel, il arrive forcément un moment où il faut retrouver d’anciennes conversations
    J’ai fini par résilier le compte et fermer ma carte privacy.com
    Un an plus tard, en voyant que cette carte fermée était toujours débitée chaque mois, j’ai essayé de me connecter à mon ancien compte, mais le mot de passe enregistré dans mon gestionnaire de mots de passe ne fonctionnait plus
    J’ai envoyé un e-mail pour signaler ce qui semblait être un bug, et après une longue discussion stérile, le support m’a demandé les informations de carte bancaire pour arrêter les paiements
    Comme c’était une carte fermée depuis déjà un an, je n’avais plus ces informations, et j’ai arrêté de répondre à partir de là
    Confier ses données personnelles à des gens qui traitent avec hostilité des clients payants posant des questions raisonnables me semble être un énorme signal d’alarme

    • Je comprends la frustration, mais ce cas d’usage professionnel ne semble pas correspondre à l’objectif pour lequel Proton a été conçu
      Proton ressemble davantage à un service pensé pour garder des conversations entièrement privées entre leurs destinataires, et le fait même que vous puissiez encore accéder aux e-mails d’un employé parti me surprend davantage
    • J’utilise Proton VPN depuis longtemps et j’envisageais de passer de Gmail à Proton Mail, mais ce n’est peut-être pas une très bonne idée
      Pour un usage personnel, qu’est-ce que vous recommanderiez ?
    • Je ne veux pas paraître arrogant, mais le logiciel n’est pas immuable
      Qu’en est-il aujourd’hui ? Avez-vous essayé l’application Import-Export de ProtonMail, et avez-vous retesté la recherche actuelle ?
  • Je suis choqué d’apprendre que je n’étais pas le seul à avoir ce bug où, si on appuie sur « Envoyer » trop vite dans le client Android, seule une partie du message rédigé est envoyée
    Plusieurs emails envoyés à mon médecin et à mon conseiller financier ont été tronqués de cette façon, et comme je me souvenais clairement avoir saisi l’intégralité du contenu, j’en étais venu à me demander sérieusement si les médicaments que je prends pour mon traitement contre le cancer provoquaient de brèves hallucinations

    • Je suis responsable produit mail, et nous connaissons ce problème précis qui affecte certains utilisateurs ; un correctif est en cours
      En fait, nous sommes en train de réécrire toute l’app Android, qui devrait devenir plus stable et plus simple à utiliser, avec une sortie prévue vers la fin de l’année
      D’ici là, si vous rencontrez des problèmes d’envoi répétés dans l’app Proton Mail sur Android, vous pouvez utiliser l’application web (https://mail.proton.me) depuis n’importe quel appareil
    • C’est triste qu’ils n’aient toujours pas corrigé ça
      À quoi sert un service d’email s’il n’arrive pas à envoyer correctement les emails ?
      J’ai eu ce bug à un moment important, et ça fait réfléchir à ce qui aurait pu se passer si le destinataire avait ignoré le message vide au lieu de me le signaler
    • C’est un peu effrayant de voir à quel point nous dépendons de la technologie, au point de remettre en cause notre santé mentale quand elle dysfonctionne
    • Moi aussi, ce problème m’a causé beaucoup de mauvaises expériences
      Je cherche maintenant un fournisseur plus fiable, où je peux utiliser un vrai client mail qui gère correctement IMAP/SMTP et GPG
    • Il m’est déjà arrivé qu’un email ne parte pas alors que j’avais explicitement appuyé sur envoyer
      Ce genre de chose relève des régressions et bugs de développement applicatif ; peut-être que faire d’excellents produits n’intéresse tout simplement pas suffisamment Proton
  • Je suis toujours surpris qu’Apple n’ait pas encore essayé de fluidifier la procédure PGP
    J’imaginais quelque chose où les clés seraient générées sur l’appareil, synchronisées via iCloud, puis où la clé publique serait publiée
    Comme Apple met fortement en avant la confidentialité, j’espérais que cela pousserait aussi Gmail, Outlook et d’autres à adopter un PGP natif, mais ça semble avoir été un vœu pieux

    • PGP et l’email posent tellement de problèmes d’usage que la plupart des professionnels de la sécurité vraiment sérieux ne s’en servent pas particulièrement
      C’est devenu un outil de niche pour utilisateurs passionnés, et il y a tellement de problèmes qu’il vaut mieux utiliser des plateformes de messagerie alternatives conçues dès le départ avec le chiffrement en tête, comme Signal
      Par exemple, si vous envoyez un email chiffré et que le destinataire le transfère, que se passe-t-il ?
      Quand il répond, le message d’origine sera-t-il inclus encore chiffré, ou déchiffré ? En général, c’est le second cas, donc le même texte en clair se retrouve dans deux messages
      Si vous envoyez un email à plusieurs personnes, qui gère le chiffrement pour chaque destinataire ?
      Si seuls certains destinataires prennent en charge le chiffrement, à quoi bon, puisque le message sera de toute façon envoyé en clair à d’autres ?
      Comment fait-on pour envoyer à une liste de diffusion dont on ne connaît pas les participants ?
      Qu’est-ce qui doit être chiffré de manière standard ? Le corps seulement ? L’objet, qui fait partie des en-têtes email ? Les autres en-têtes aussi ?
      Même si on ne veut qu’une signature, que signe-t-on de manière standard ? Le texte d’une conversation subit toutes sortes de transformations : comment cette signature est-elle censée survivre ?
    • Avec Apple, on pourrait imaginer qu’ils créent un protocole mail entièrement nouveau pour faire fonctionner l’email chiffré
      L’utilisateur saisirait l’adresse du destinataire, le serveur vérifierait cette adresse, demanderait une clé de chiffrement à l’hôte mail, l’hôte renverrait la clé, et l’utilisateur continuerait à rédiger son email
      Un peu comme HTTPS sur UDP
    • Apple prend assez au sérieux la confidentialité et la sécurité, et PGP relève bien davantage de la sécurité d’apparat que du « sérieux » sur ce spectre
    • Je ne pense pas que qui que ce soit fera ça
      L’email chiffré ne fonctionne pas correctement
      https://latacora.micro.blog/2020/02/19/stop-using-encrypted....
    • Google propose le chiffrement côté client pour les entreprises, mais utilise S/MIME plutôt que PGP
      https://support.google.com/a/answer/10741897
      https://security.googleblog.com/2023/06/gmail-client-side-en...
  • Si l’entreprise d’email détient la clé privée, à quoi sert PGP ?
    Il ne reste que la sécurité pendant le transport sur le réseau et la vérification des signatures ?
    Le partage de clé privée est une drôle de manière de préserver un secret

    • Un ami était à distance et n’avait pas le fichier directement, donc il m’a demandé de lui envoyer un fichier .gpg chiffré
      Mais il s’est avéré qu’il ne pouvait pas en télécharger certains
      Après test et signalement du bug, ProtonMail a répondu qu’il supposait que la pièce jointe était chiffrée avec la clé de l’adresse de l’utilisateur et essayait donc de la déchiffrer
      Apparemment, lors de la récupération ou régénération du nom de fichier d’origine, l’extension .gpg est supprimée
      Le plus surprenant, c’est que ProtonMail a proposé comme solution de contournement de récupérer la clé privée correspondant à la clé publique de la pièce jointe, ce que mon ami a refusé
    • Proton ne détient pas les clés privées en clair
      Il stocke les clés privées chiffrées avec le mot de passe de l’utilisateur, et nous ne connaissons pas non plus ce mot de passe
  • Il existe aussi un ticket vieux de 2 ans
    https://github.com/ProtonMail/proton-bridge/issues/180
    Proton complique l’envoi de correctifs par les développeurs open source, et ne semble pas s’en soucier
    https://git-send-email.io/#step-2
    On peut y lire : « Protonmail est généralement connu comme un hébergeur email plutôt mauvais. Il casse les emails sortants, ce qui peut empêcher l’application des patchs côté destinataire. Sans même parler de son traitement injuste de l’open source et de ses fausses promesses en matière de sécurité. Vous devriez envisager un autre fournisseur de messagerie »
    Heureusement, j’ai pu changer de crèmerie au bout d’une semaine et obtenir un remboursement intégral

  • Il y a une certaine ironie à réaliser que j’ai soumis un lien http tout en publiant un message qui se plaint de sécurité

    • Pire encore, jfloren.net n’est pas dans la liste de préchargement HSTS
    • C’est un billet de blog accessible anonymement ; en quoi le protocole utilisé change-t-il quoi que ce soit ?
  • Monter Proton Bridge sur la machine virtuelle d’un NAS, transférer avec rinetd les connexions entrantes sur les ports IMAP/SMTP vers un bridge qui n’écoute que sur 127.0.0.1, puis configurer Tailscale sur cette machine et sur le téléphone pour accéder au compte Proton depuis un client mail Android (préférence pour FairEmail) et depuis Claws sous Linux, cela ressemble à une bonne partie de la complexité du self-hosting

    • Chaque fois qu’on parle d’email ici, des gens familiers du self-hosting disent qu’il est presque impossible d’empêcher Gmail de marquer leurs mails comme spam
      Je ne le sais pas de première main, mais c’est un sujet qui revient sans cesse