Switching from GPG to Age

(luke.hsiao.dev)

28 points | by speckx 8 days ago ago

14 comments

  • lrvick 20 minutes ago

    Age only covers encryption. It does not cover signing, ssh, web of trust, hierarchical keys, key discovery, etc. It is in no way a replacement for a modern PGP keychain.

    Ignore GnuPG which is a shit show stuck in the 90s. PGP != GPG

    For a modern long lived personal PGP keychain use Keyfork on AirgapOS which gives you a secure 24 word mnemonic backup, optional split backup across redundant smartcards, and a separation of a CA key and daily driver subkeys on smartcards all done correctly so you do not have to think about it. I would suggest a Nitrokey Pro due to open source rust firmware, though Yubikeys are supported.

    From there you can use your smartcard for ssh, password management, git commit signing, etc. and make your key easy to discover without impersonation using keyoxide to have all your services, domains, etc attest to your key, as well as any humans who vouch for you.

    A proper PGP keychain is a long lived digital passport first, that has encryption and authentication subkeys.

    https://git.distrust.co/public/keyfork

    https://git.distrust.co/public/airgap

    • Arubis a few seconds ago

      I like the idea of AirgapOS; "just turn off the network" has always felt a little dissatisfying.

      That said, if you're already in the GnuPG ecosystem, https://incenp.org/notes/2015/using-an-offline-gnupg-master-... will cover you for pretty much everything here except the mnemonic backup using baseline tooling. I presume you can get a shell utility to pipe your key in and get that mnemonic version out if you'd like.

    • justincormack 15 minutes ago

      ssh covers ssh and now signing, eg for git commits. The vouching and web of trust stuff never worked for mist people.

      • lrvick 4 minutes ago

        Abusing ssh for signing is a silly thing to do in most cases when modern PGP tooling covers this and so many other use cases with modern tools.

        Also, again, use keyoxide which is a modern decentralized alternative to keybase. You can vouch for yourself to bootstrap trust.

  • s20n an hour ago

    Not having gpg-agent is a huge deal breaker for me. I feel gpg-agent doesn't get enough love. Not only can it do all the ssh-agent operations, it can also be used with gpgme-json[1] to do web authentication with your [A] key. It's truly a shame that hardly any applications leverage the powerful cryptography afforded by GPG.

    [1]: https://manpages.debian.org/trixie/gpgme-json/gpgme-json.1.e...

    • ognarb 25 minutes ago

      I knew about gpgme-json, but I didn't knew, you could do web auth with that. I though the usecase was mainly mailvelope. How does that work?

    • Avamander an hour ago

      > Not only can it do all the ssh-agent operations

      It can not. Doesn't work with PKCS#11 PIV. In general GPG's behavior with SmartCards is idiotic and interferes with many other applications.

      It's good that people don't use GPG more often and I can just purge it from my systems.

      • johnisgood 44 minutes ago

        What do you mean? I use GPG with SSH (or SSH with GPG) all the time, and I need gpg-agent for that. GPG's agent replaces ssh-agent and serves SSH keys derived from your GPG key.

        Can you do this with Age? If not, then I am going to stick to GPG.

  • aborsy 8 days ago

    Age is super clean and very nice.

    But I don’t think it will ever be a replacement for gpg (and might have already passed its window to replace it for file encryption). It just does file encryption. GPG does tons of other things that you will find are very useful (like around key management and signatures).

    • zaphar an hour ago

      Literally the only thing I ever actually used gpg for was file encryption. I tried dong key management and signatures for a very brief period 20 years ago and gave up because no one else was doing it and it was annoying trying to do the right opsec things with no payoff.

      Ever since then, as far as I can tell there has been a very small very niche group who use gpg for anything other than file encryption. So age is the obvious choice for the vast majority of us and it's adoption seems to be reflecting that.

      • lrvick 11 minutes ago

        By very small niche group, you mean every maintainer of every widely used production linux distribution and most of the core packages that form the supply train trust layer for the entire internet? Or every reasonably competent security vulnerability disclosure team? (Even Google and Apple!)

        PGP is the only standardized cryptographic online identity layer we have and still very heavily used by anyone working on security critical software for signed commits, signed reviews, system administration, etc.

        Honestly I find it hard to take anyone seriously who works in any engineering role where security matters that is -not- using PGP smartcards to sign and push their commits, sign code reviews, sign build reproductions of container images, encrypt their passwords, etc.

    • WhyNotHugo an hour ago

      age is so clean precisely because it does only one thing.

      While GPG has other use cases; the intent is that those use cases are satisfied by different tools. Eg: signify for signing.

      I’m also considering moving away from GPG, but the main limitation are signed git tags (for releases). For supports GPG or SSH keys. I’m not sure that I’m a fan of signing with SSH keys, I’d rather have first-class support for signify.

  • knorker 43 minutes ago

    Is it post-quantum yet? I could not find indications of that.

    • aborsy 5 minutes ago

      It uses key files that are 128 bits. With symmetric encryption, it’s equivalent to AES-128, so not really post quantum.

      It has post quantum plugins, but those are third party plugins!