Why I Wrote PGP (1991, revised 1999)

5 days ago (philzimmermann.com)

> In 2013, an article on "Zimmermann's Law" quoted Phil Zimmermann as saying "The natural flow of technology tends to move in the direction of making surveillance easier"

A well-intentioned ideal from a bygone era.

  • Good ideas demand to be free. =3

    • There's a good idea in PGP, and a very bad one. The good idea --- and PGP genuinely deserves credit here --- is end-user, consumer-facing strong cryptography tools. That's now universally accepted and has been for decades. The bad idea is a tool with PGP's design, of "cryptographic jack-of-all-trades". PGP's design has aged like milk, and PGP itself is a security liability in almost every system that hosts it.

      31 replies →

  The only plausible way of processing that amount of traffic is a massive Orwellian application of automated voice recognition technology to sift through it all, searching for interesting keywords or searching for a particular speaker's voice.

Welp.

The biggest issue of using PGP was using PGP. You were pretty nerdy to be on the internet back then, but even then using PGP was beyond what the majority of people wanted to do. Exchanging keys was problematic. Writing text in one app, encrypting in another app, copying encrypted back to an email was just tiresome.

I'm still glad that it existed as its mere existence seems to have pushed things in the right direction as far as protecting everyone's ability to use encryption if they chose. It just never became the panacea it was envisioned to be.

  • One big usability issue these days is that PGP identities come in the form of a file. Lots of people don't have the concept of that anymore.

    Dunno that things have gotten much better over the years. End to end encryption is still fairly unusable to most. I think that rather than spending so much time on the cryptography we should instead work on a E2EE usability standard. Having everyone doing their own thing with respect to usability is not working out.

    • The term E2EE has been subverted. Apps like WhatsApp claiming to be E2EE, but only if you actually enable it, so that people think they are being encrypted when they are not does not help. ProtonMail falls into this as well where allowing email to non-encrypted addresses means there is no encryption. It's obvious to some, but not so for the majority. Very few people read the caveats that WhatsApp and ProtonMail provide.

      6 replies →

    • ASCII armored exports suitable for plain text copying and pasting and inclusion in other documents and messages seem to be the norm for sharing. Keys are referred to by keyid or email. To the key database, files seem more like an implementation detail.

      It provides the tools necessary to implement a simpler workflow.

    • > One big usability issue these days is that PGP identities come in the form of a file. Lots of people don't have the concept of that anymore.

      Mind. Blown.

  • There were (are? it's been a while) many PGP users on the various darkweb markets. It was great fun teaching people to use it and actually having a community to use it with.

    It was pretty awkward to later emerge as the PGP expert at work. I was at that time a bit shy about explaining how I got so comfortable with it.

    • The fundamental idea of technology such as PGP is that the percentage of stuff worth finding for the authorities needs to be really low. Ie. an incredible amount of "legitimate" innocent traffic needs to be flowing through the technology.

      Otherwise, anyone who is using it at all will get court ordered and then, with our current system, you just lose.

      Tor solves this by making traffic entirely homogenous such that any "it could be anyone" and by making nodes extraordinarily easy to host (such that any nerd can just leave one running 24/7). Even so there are way too few nodes.

      But PGP-over-email is way too metadata leaky, and if you're doing anything that actually has a threat model, you need PGP-over-email to be itself common.

      3 replies →

    • It's easy to explain. "I use PGP for my personal notes (symmetric) and for e-mailing my security conscious friends (public-key)". That's sufficient and not awkward.

      1 reply →

  • To be honest: I keep hearing that PGP was / is difficult to use. That couldn‘t be further from the truth - but somehow it has become an urban myth. From the very first versions that I used on my first Mac up to GPG Mail or Proton Mail I never encountered any significant difficulties and could successfully exchange messages with my peers - both in business and private contexts.

    • At least the versions I remember had a really bad UX for marking keys as trusted.

      The correct operation for (even locally) marking "this key belongs to person X" is signing the key. Marking it as "trusted" indicates "this key is a CA that can create statements who other keys belong to", but it's easier to find/"understand".

      So if you haven't first studied the details of the security model and terminology, you just start increasing the trust level on the key of your communication partner until the warnings go away, not realizing that by doing this, you've made that key a CA and the reason the warnings disappeared is because you now trust the self-signature (in addition to all other signatures the key issued).

    • It's still extremely difficult.

      If we assume that the threshold of what is "difficult" is for example 1) installing a desktop application, or even running a deskop OS.

      2) Running an email provider other than what you are already doing (gmail, hotmail, yahoo mail, ...), or switching email providers

      3) Copying and pasting text or using files.

      This was perhaps a viable thing to do for users in 2005 because if you were on the internet, chances are you at least had a desktop computer, and if you used email chances are you already had to struggle with an email client.

      But now? Anything that isn't as easy as installing an app on your device (a device that isn't a full computer) is "difficult".

      It's not that it's harder today, it's that everything else is easier (Like telegram/signal and other privacy-minded services), and that there are now 6 billion internet users and most never used a computer and never will.

      4 replies →

    • I once had a chat with a security professor who had decided to try to get his group to use encrypted email for all of their communications. And they just couldn't get mailing lists working right with encrypted email.

      5 replies →

    • Please, enlighten me on how you used PGP where calling it hard to use is so far from the truth. ProtonMail only works if you send messages to another ProtonMail user. It does not protect you when you email someone else.

      4 replies →

  • I used it for a little while and Turnpike email software from the UKs Demon Internet integrated it pretty well.

    The problem was only one other person I knew actually used it, it didn't really have a justifiable use for most people.

    I did use the encrypted mountable drives for a while, that worked very well. I since moved to TrueCrypt and now onto Vercrypt and haven't used a PGP product for probably over 15 years.

    Shame really but it just didn't get enough traction.

There's a lot of negativity around pgp, but I actually like the fact that you see the raw ciphertext as opposed to everything happening in the background.

I also like the portability of openpgp.js its pretty versatile in my opinion.

https://openpgpjs.org/

  • Agree, we use OpenPGP.js in our web projects. It's great for combining it with server-side GnuPG.

    It used to be more of a concern without TLS, but now it's reasonably secure to use.

    We use it for the user sessions, allowing the client to own their session and identity.

    The browser generates the keypair and signs each post and login challenge, so the private key never leaves the client. The server only stores the public key (as a plaintext file in git) and verifies signatures with GnuPG, which means there's no password hash in the database to leak, and the identity is just a fingerprint anyone can audit. Using two independent implementations (OpenPGP.js on the client, GnuPG on the server) is a nice bonus.