ProtonMail réécrit les e-mails
(jfloren.net)- 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/signedoumultipart/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
sendtrop 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
- Si l’on appuie sur
- 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
- Proton Bridge n’écoute que sur
- 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/signedoumultipart/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
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
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
« 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
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
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
En général, cela veut dire utilisez-les à leur manière ou partez
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
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
Pour un usage personnel, qu’est-ce que vous recommanderiez ?
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
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
À 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
Je cherche maintenant un fournisseur plus fiable, où je peux utiliser un vrai client mail qui gère correctement IMAP/SMTP et GPG
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
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 ?
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
L’email chiffré ne fonctionne pas correctement
https://latacora.micro.blog/2020/02/19/stop-using-encrypted....
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
.gpgchiffré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
.gpgest suppriméeLe 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é
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é
Monter Proton Bridge sur la machine virtuelle d’un NAS, transférer avec
rinetdles connexions entrantes sur les ports IMAP/SMTP vers un bridge qui n’écoute que sur127.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-hostingJe ne le sais pas de première main, mais c’est un sujet qui revient sans cesse