I’m the Keymaster. Are you the Gatekeeper?

It’s time for another of my modern electronic communication security and personal privacy appeals! Catch up on previous episodes here, here, here, or here.

Sometimes I feel like the dude in the clip below (minus the supernatural stuff, natch): I have a lot of keys, and I’m always looking for people to use them with. 1

Maybe you don’t have anything earth-shattering to keep safe, like:

  • state secrets, or
  • insider trading tips, or
  • the proof that the moon landings were faked

Maybe, like me, you just don’t like Big Data™ adding to its growing profile on you when you send email. You can send encrypted email to prevent that, and it’s really not that hard. The biggest prerequisite is that your recipient(s) also have to care enough to allow you to send encrypted mail to them. Without this, you can stop reading right here. Sending encrypted messages to only yourself is the lonely nerd’s endeavor.

Your recipient has to set up a keypair (explicitly or implicitly through an app or sign-up to a key-providing service) for any of this to work.

There are a couple options.

  1. The easy way: use (and get your email contacts to use) ProtonMail.
    Sign up there for free, get a small2 mailbox accompanying your new @protonmail.com and @pm.me email addresses, and write to other ProtonMail users with no chance of anyone but the recipient(s) reading, compiling, analyzing, marketing what you write. They have apps for mobile devices in addition to browser-based webmail UI.

  2. The less easy way: use (and get them to use) some variation of PGP on top of “normal” email.
    You can get most of the benefits of ProtonMail encryption without having to change your address. Some options:
    • Enigmail for Thunderbird Mail (Windows, Mac, Linux)
    • GPGOL plugin for Outlook
    • Most of the default email programs on Linux distributions:
      • KMail
      • Evolution
    • GPGMail plugin for Apple Mail
    • IPGmail app for iOS
    • various GPG-based apps for Android
    • Gmail plugins:
      • FlowCrypt
      • Mailvelope

     

    The metadata (subject, date, time, sender, recipients) has to stay unencrypted and publicly visible in order to route the message properly. 3 There are differing standards and compatibility with those standards for the composition and display of the encrypted, cleartext, formatted, and plaintext versions of your message, so there can be complications. This way is for enthusiasts and anyone paranoid enough to not trust the Swiss consumer privacy laws, to which ProtonMail adheres.

The Free Software Foundation publishes a page on “Email Self-Defense.” They do a much better job of explaining the steps than I do. But you could also just switch to ProtonMail and let them handle all those steps for you automatically.

However you do it4, if you want to send unsnoopable email to us, you’ll need our public keys. These are the public keys we use if you want to write to us securely.

Cliff
cliff at cmail dot xyz public key
cliff1976 at protonmail dot com public key
cliff1976 at pm dot me public key
Sarah
sarah1976 at pm dot me public key
sarah1976 at protonmail dot com public key

By the way, looking for the public key of any ProtonMail user? You can get it from this URL:
https://api.protonmail.ch/pks/lookup?op=get&search=username@protonmail.com

Just put in the correct username in place of “username” in the URL above. PGP-nerds with less-tech-savvy-but-still-concerned friends and family: encourage ProtonMail to them, even if you stick to your existing email address but secure it with GPG. You’ll get the best of both worlds: you are secure in your hackerdom and they barely have to make any change to their habits.

  1. Thinking of you, Snooker. []
  2. But really — 500 MB is big enough for “just email,” if you
    • only give out your address to “real people” as opposed to those who would spam you, and
    • you delete any content you receive but don’t need

    And you can always pay them for more storage if you need it. []

  3. Not so when everyone is using ProtonMail; the mail never leaves ProtonMail’s environment! []
  4. Since a few days ago, ProtonMail now fully supports PGP encryption, even for external recipients! []

Secure messaging update: Threema Web vs. Signal Desktop and ProtonMail

Hey, there are neat new toys to play with! In brief: mobile chat apps are progressing and ProtonMail looks nice for secure email. I put a TL;DR down there for you.

I write about this stuff occasionally.

Threema vs. Signal, again some more

Since my last missive, Threema has released Threema Web for the Android platform…but not yet for iOS or Windows Phone.1 Threema Web promises to offer everything I like about Threema on my phone combined with the convenience of using it on a desktop or laptop computer, where I can type with all 10 fingers. At least I hope so. They haven’t rolled it out for iOS devices yet, and I don’t have an Android device, so I’m not sure. But I’m betting Threema Web continues to allow you to be more anonymous on the internet than Signal, which requires registration with a phone number and allows anyone with Signal and knowledge of your phone number to contact you that way. Threema lets you choose whether to be contactable that way, which I highly appreciate.

Nevertheless, I have started seeing more of my contacts showing up on Signal than in the past. Some of them are undoubtedly using it because of my nagging, but apparently not all of them. For example, I see Airport Liner (our favorite shuttle service from Regensburg to Munich Airport) is using Signal now, too. Probably most people don’t care too much or simply trust WhatsApp not to sell them out to its corporate parent (Facebook), now that WhatsApp offers end-to-end encryption2 based on the same technology as Signal. But I still don’t trust them.

Another thing I liked better about Threema vs. Signal from the beginning was the ability to encrypt short audio clips and send them as messages. Threema’s had that for a long time, but Signal must have gotten it in a recent update (to iOS). That feature is extremely useful when your hands are full or you’re at a stoplight and don’t have time to type out what you could say more quickly.

And of course, Signal does secure phone calls — IIRC, the app grew out of the fusion of a secure audio app (RedPhone) and secure text messaging app (TextSecure). I don’t use it for that very much, but it does work.

Still banging on about secure email

Yeah, I still am. It’s not an easy topic to cover. There are

  • competing standards within standards3,
  • somewhat elegant desktop solutions4, but mostly only clumsy apps on mobile devices
  • inherent weaknesses baked in historically5, and of course
  • the raison d’être for the likes of Gmail, Hotmail, Yahoo! Mail: ad revenue. If their machines can’t read your email, they can’t sell you.

I followed the mailpile project for a couple years, even playing with it at home on a Raspberry Pi or my Linux desktop machines, but it appears to progress only haltingly at best, felt clunky to use, and presumes that you (eventually, when they perfect their product) want your mail to be on your local devices only — like a RasPi or a memory stick you keep on your keychain. That’s not really what I want; I want mail on a server somewhere6 that is only readable for the intended recipients.

They’re really playing up the Swissness.

Then internet pal Harvey Morrell called my attention to ProtonMail. This could be a game-changer. You get:

  • public key encryption7
  • a smooth webmail experience in the desktop
  • iOS and Android apps
  • free, paid, and paid-a-lot tiers of service


I was pretty skeptical at first. Webmail can’t be as secure as an offline private key, because the webserver has to have your private key in order to decrypt messages intended only for you, thus defeating the purpose, right?

That’s true…unless there is another layer of encryption on top of that private key preventing its misuse. Wikipedia explains it: yes, the server behind ProtonMail has the private key needed to decrypt messages encrypted for you, but that private key is symmetrically8 encrypted with your login password, and decrypted on the brower-side to display secured message content only in the browser. So: ProtonMail cannot use your private key (even though it lives on their servers) because your login password prevents that. It’s the first web-based email service with public key encrpytion that sounds promising to me, because it actively promotes its inability to decrypt your email upon demand (of anyone — not even you).

Automatic encryption for ProtonMail users, Optional for everyone else

When you send a message from ProtonMail to another ProtonMail user, it’s encrypted for the recipient automatically. Super-duper easy. But what about sending a message securely to someone who is not a ProtonMail user? You can send a conventional plain-text message if you want. But you can also symmetrically encrypt the message for the recipient by providing a password. Then ProtonMail sends the recipient only a link to retrieve the message, and the recipient enters the symmetrical password then. Keeping that symmetrical password secure is up to you! 9

Composing a message for a non-ProtonMail recipient
Pick a password, confirm it, give a hint if you like.
Here is what a non-ProtonMail recipient sees when you send an encrypted message.

Another nice feature, particularly to help wean you off of your current email provider, is that you can ask ProtonMail to send you a daily reminder at your non-ProtonMail address if there are unread messages in your ProtonMail inbox. Slick!

More to come?

ProtonMail still has a way to go. It does not yet support the full functionality of PGP the way GPGMail or Enigmail does: only in-line PGP works for incoming encrypted messages from outside ProtonMail. This means: if you want to send me “ProtonMail sounds promising!” as an encrypted message at my protonmail.com address, you have to encrypt it using my public key (ask me, I’ll give it to you) and send me an email with this text as its body:

Suggest some products to me based on that, Gmail!

That’s in-line PGP, and it’s probably fine for text messages. All the email programs that support PGP do this kind of en- and decryption for you automatically.

Recipient sees the clear text without any extra effort.

But it gets clunky when a message has more than one part to be encrypted. This is common when there is a plain-text version of the email message and a fancy HTML version of the email message wrapped up in one email, or any attachments. PGP/MIME is clearly the right way to go for that use case, but ProtonMail does not support it yet — at least not for in-bound messages.

It also does not yet support storing and using the public keys of non-ProtonMail users. This means you can’t send an encrypted email to someone who is not a ProtonMail user. At most, you can notify them that an encrypted message is waiting to be retrieved (see above). I wonder if that will ever change; it would be convenient for users already comfortable with the likes of PGP, but it could discourage their free customers from ever coughing up for a paid tier of service. I suppose that’s a feature they could include on the paid tier: paying customers are already paying and don’t need further motivation to use the service.

TL;DR

Whether you

  • need secure private messaging for political or journalistic reasons,
  • are merely trying to not to be the product big internet companies sell to their advertisers, or
  • just like the technology,

try Threema and Signal and their desktop app options for chatting, and consider ProtonMail for securing your email messaging. The techiest among us will get by just fine with PGP encryption layered on top of conventional electronic messaging, but maybe these apps are a lower barrier to entry for friends, family, and colleagues who care about the principles but can’t invest in the learning curve associated with old-school public key encryption.

  1. Haha, “who cares, right?” I fear that some day my employer will force one on me. They’re so cheap and apparently work just fine for things like email and calendaring — the things the company wants you to be doing on their devices. []
  2. of content, but not metadata! []
  3. in-line PGP or PGP/MIME? []
  4. kudos to GPGMail for Apple Mail and the venerable Enigmail for Thunderbird extensions []
  5. encrypt the body of the message however you like, but the headers will remain plain as day []
  6. My server or someone else’s? Either option is OK for me. []
  7. à la PGP []
  8. this means one password does both encryption and decryption. Public key encryption is asymmetrical, using the recipient’s public key to “lock” a message for the recipient and the recipient’s private key to “unlock” it. []
  9. Consider sending it through Signal or Threema. []