Another signcryption scheme as described in the article is also implemented by the libsodium author as an extension:<p><a href="https://github.com/jedisct1/libsodium-signcryption" rel="nofollow">https://github.com/jedisct1/libsodium-signcryption</a><p>It's unclear from the article if this is the same implementation age uses.<p>Signcryption schemes are also a good candidate algorithm for replacing JWTs and PASETO as they suffer from no algorithm confusion, and don't need what PASETO calls "Algorithm Lucidity" and serve both plaintext authentication, authenticated encryption, sender receiver verification, and shared key generation that can be used for unlimited encrypted streaming, for example with libsodium's crypto_secretstream API.<p><a href="https://doc.libsodium.org/secret-key_cryptography/secretstream" rel="nofollow">https://doc.libsodium.org/secret-key_cryptography/secretstre...</a><p><a href="https://github.com/paseto-standard/paseto-spec/blob/master/docs/02-Implementation-Guide/03-Algorithm-Lucidity.md" rel="nofollow">https://github.com/paseto-standard/paseto-spec/blob/master/d...</a>
The hypothetical I want to pose people is, let's say your server is corrupted or I.pacted by ransomware. So you pull your gpg backups and hit restore. The data somehow looks correct and in line with expectations, but the signature fails to verify.<p>You can say 'well I know there was tampering, or possible one bit of bitrot' but then what? Let's say my backup was a poatgresql backup that restored correctly and had no obvious issues.<p>People often state backups mist be signed but just not sure how you would even respond. You cannot just not use the backup if all your backups are the same and you just had an incident. You could say "now we don't trust the data" but again what is meaningful action here?<p>Is it really a plausible threat that an attacker wiped put production, gained access to your backup infrastructure, but instead of just wiping it in order to force you to pay a ransom they took a new backup and quietly modified it? Surely such a person would just modify production if they wanted such a game.
This is very interesting, thanks for sharing!<p>I have considered switching from GPG to age quite a lot, but I mostly use GPG for file encryption so this issue was a deal breaker for me. I did consider signing the encrypted backups with minisign, but then I needed two unrelated key pairs to safely access my backups instead of just one.
I use Gpg heavily, no reason to change (well, unless perhaps Age provides ChaCha-20 Poly1305 with 256 bits file keys not 128, and someone creates a good backup software with it).