you can always extend your expiration date, even
after it has expired! This “expiration” is actually
more of a safety valve or “dead-man switch” that will
automatically trigger at some point. If you have access
to the secret key material, you can untrigger it.
..and later: If you forget your passphrase or if your private key is
compromised or lost, the only hope you have is to wait
for the key to expire (this is not a good solution), or
to activate your revocation certificate by publishing
it to the keyservers.
If we respect un-expiration then expiration offers no protection at all against a compromised signing key ..leaving the revocation certificate as our only hope.(I mean ideally you'd always back up your keys and/or revocation certificate, but it's always a question of risk factors. Allowing "unexpiration" definitely induces some risks; the question is are they higher or lower (given the costs) than not allowing it?)
> The protocol reflects layers of cruft built up over the 20 years that it took for cryptography (and software engineering) to really come of age, and the fundamental architecture of PGP also leaves no room for now critical concepts like forward secrecy. [0]
> We could try to slap a GUI on top of it, but I don't believe great products are made that way. Good UX requires thinking about interactions all the way down to the protocol. [1]
unsure if I agree. A lot of the user-space Unix/Linux Gui applications are built that way: command line interface first and GUI to control that. (the opposite of windows where often a cmdline interface is built to control the functionality provided by the GUI application).
So by that logic the majority of applications that have a GUI are labelled "not great products". Hmmmm ...
When it comes to Linux GUI applications, that's a pretty fair description. Understated and over-praising if anything.
Alternatives to PGP should probably include S/MIME and Signify, depending on what you want to do with it.
Soft disagree with that. Signal text and voice chat works just fine if all of your communicating party's machines are offline. (Well, I mean, obviously your voice call won't be answered, but otherwise...)
I'm with moxie and Matthew Green (http://blog.cryptographyengineering.com/2014/08/whats-matter...), I think that we should seriously thank PGP for what it's done, understand what to do and what to not do (I believe Web of Trust is part of these) and take advantage of the fact that PGP has relatively few users to create something better.
If anyone else does it, they better write some really good papers about it and get reviews from the trusted people. (and they usually don't)
One thing I would like to see a summary of is the use of secure USB-keys to keep your private key off your computing device using the smart-card functionality in GnuPG [0]. It seems that this is possible with devices such as Yubico's Yubikey Neo [1]. Having your GPG private key with you as a physical 'key' — with all private operations performed via the USB-key — seems like a great way to increase security and prevent loss of your private key.
[0]: https://en.wikipedia.org/wiki/OpenPGP_card [1]: https://developers.yubico.com/PGP/Importing_keys.html
Currently their is no way to use your 4096bit key over NFC. The Yubikey NEO only supports 2048bit keys and the Yubikey 4 does not support NFC. So you have to either use a secondary key or expose yourself and put your private key on your phone.
I fully expect Yubico to realease a Yubikey 4 with NFC sometime this year, and this would enable my optimal solution:
I have a Smartphone and a Laptop. To securly use them, I should have 3 Yubikeys, 1 of them a Nano plus 2 USB Sticks. The Nano is always plugged into my laptop, exept for exeptional situations. One of the large Yubikeys is on my keyring, the other is at home as a backup. One USB stick is only for the Master Key and I would bring it along if I expected to use certification. The other USB Stick is a poor backup and savly stored at home, it also contains the Revocation Key.
All this is pretty expensive and not really all that easy to set up but if you do it you have the great benefits, like ähh well äähh I guess other crypto nerds might think its cool.
https://www.yubico.com/2015/02/big-debate-2048-4096-yubicos-...
> While it is true that a longer key provides better security, we have shown that by doubling the length of the key from 2048 to 4096, the increase in bits of security is only 18, a mere 16%. Moreover, besides requiring more storage, longer keys also translate into increased CPU usage and higher power consumption.
There is argument to be made that 4096-bit RSA keys are unnecessary. But this isn't it.
https://www.gnupg.org/faq/gnupg-faq.html#no_default_of_rsa40...
Shorter version: RSA-4096 is roughly 28bits over RSA-2048 (112 vs 140 bits).
If I had started with Yubikeys when I started with GPG I would have used 2048 and updated when the Smartcard technology improved.
Additionally I have not a huge need for gpg messages on my Smartphone, so its not a big problem.
Those are very hard to temper with, while USB sticks are trivial to temper with (be it accidentally or by someone with malicious intent).
It's all about proportionality. If your GPG-key (and SSH-key) grants you access to servers containing sensitive data placed there in good faith (think medical records), then having your private keys stored somewhere they can't be copied from without physically obtaining (and destroying) the keys is totally justified.
And if you are doing it because, well, you can, then you are helping in making this knowledge available to the wider community.
I think pushing the bounds and evaluating usablity, maybe finding bugs is important. I still mostly do it for fun. I really like thinking threw different thread models and security systems.
For example, compare the security gained by keybases new system (NaCL, device keys, tracking) with my old gpg/smartcard/wot system.
[1] https://developers.yubico.com/ykneo-openpgp/SecurityAdvisory...
Yubico did not behave badly. Their products continue to improve in secuirty.
What is your alternative setup that provides anything close the same usablity?
Export just the valid self-sigs:
--export-options parameters
export-minimal
Export the smallest key possible. This removes all
signatures except the most recent self-signature on
each user ID. This option is the same as running
the --edit-key command "minimize" before export
except that the local copy of the key is not modi-
fied. Defaults to no.Thanks for this parameter, did not know that before, and this should help a lot! :) I guess it should be something to be pointed out in the docs as well as relevant feature?
Come to think of it, you should be able to load ykneo-openpgp to your card also.
Begins blatant plug -If anyone is looking for a mobile app with of ton of similar digital and physical security guide then we launched Umbrella. It's an open source Android mobile app with advice on everything from sending a secure email to dealing with a kidnap. Take a look here:
https://play.google.com/store/apps/details?id=org.secfirst.u...
Ends blatant plug :)