• sudneo@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    8 months ago

    Proton stores your keys

    Proton stores an encrypted blob.

    All they need now is your decryption password & they can read your messages

    “All they need now is your private key”. It’s literally a secret, they use bcrypt and then encrypt it. Also, “they” are not generally in the threat model. “They” can serve you JS that simply exfiltrates your email, because the emails are displayed in their web-app, they have no need to steal your password to decrypt your key and read your email…

    It isn’t transparent, because most users aren’t running their own frontend locally and tracking all the source code changes.

    Probably we misunderstand what “transparent” means in this context. What I mean is that the average user will not do any PGP operation, in general. Encryption happens transparently for them, which is the whole thing about Proton: make encryption easy and default.

    Now you’re merely trusting them to not send you a custom JS payload to have your decryption password sent to the server.

    Again, as I said before, they control the JS, they can get the decrypted data without getting the password…? You always trust your client tooling. There is always a point where I trust someone, be it the “enigmail” maintainers, Thunderbird maintainers (it has access to messages post-decryption!), the CLI tool of choice etc.

    How many users are actually utilizing their hidden API to ensure that decryption/encryption is only done client-side?

    I mean, their clients are open-source and have also been audited?

    If they have your private key, how many users do you think are using long enough passwords to make cracking their password more challenging?

    I don’t know. But here we are talking about a different risk: someone compromising Proton, getting your encrypted private key, and starting bruteforcing bcrypt-hashed-and-salted passwords. I find that risk acceptable.

    This is just entirely inaccurate and you’ve failed to provide any "proof’ for your generalizations here.

    See other post.

    If you actually understood PGP you’d know you can generate and use local-only keys with IMAPS and have support to use any IMAP client.

    Care to share any practical example/link, and how exactly this means not having a fat client that does the encryption/decryption for you?

    There is no security benefit in their implementation other than to lock you into a walled garden and give you a false sense of security.

    Right, because *DAV protocol are so secure. They all support e2ee, right…? There is a security benefit, and the benefit is trusting the client software more than a server, especially if shared. You can export data and migrate when you want easily, so it’s really a matter of preference.

    • John Richard@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      2
      ·
      8 months ago

      Proton stores an encrypted blob.

      It doesn’t matter that your private key is stored on their servers encrypted/hased or whatever. If you were simply storing it there, that would not be an issue. The problem is that you’re also logging in and relying on whatever JS is sent to you to only happen client-side.

      Probably we misunderstand what “transparent” means in this context. What I mean is that the average user will not do any PGP operation, in general. Encryption happens transparently for them, which is the whole thing about Proton: make encryption easy and default.

      Most users aren’t sending emails from their Proton to other Proton users either. Furthermore, the users that want encryption seek it out. They don’t need to use Proton for encryption, especially when it would be easy for them to get an unknowing users decryption password.

      Again, as I said before, they control the JS, they can get the decrypted data without getting the password…? You always trust your client tooling. There is always a point where I trust someone, be it the “enigmail” maintainers, Thunderbird maintainers (it has access to messages post-decryption!), the CLI tool of choice etc.

      Yes, you have to trust source code somewhere, but with Thunderbird or other mail clients that is open source and their apps are signed or you can reproducibily build from source. However, once that is built it doesn’t change. With Proton, everytime you visit their site you don’t know for sure that it hasn’t changed unless you’re monitoring the traffic. A government is much more likely to convince Proton to send a single user a custom JS payload, than to modify the source code of Thunderbird in a way that would create an exploit that bypasses firewalls, system sandboxing, etc.

      I mean, their clients are open-source and have also been audited?

      You mean their PWA/WebView clients that can still send custom JS at anytime, or their bridge?

      Care to share any practical example/link, and how exactly this means not having a fat client that does the encryption/decryption for you?

      First, explain what you mean by a fat client? GnuPG is not a fat client.

      Right, because *DAV protocol are so secure. They all support e2ee, right…? There is a security benefit, and the benefit is trusting the client software more than a server, especially if shared. You can export data and migrate when you want easily, so it’s really a matter of preference.

      Being able to export things is a lot different than being able to use Thunderbird for Calendars, or a different Contacts app on your phone. DAV is as secure as the server you run it on and the certificate you use for transport.