From e293fb9aa070d6d53b1c8f993672f3bcb9b2dcb4 Mon Sep 17 00:00:00 2001 From: ItsDrike Date: Sun, 10 Apr 2022 13:46:50 +0200 Subject: [PATCH] Add GnuPG post --- content/posts/gnupg/index.md | 403 +++++++++++++++++++++++++++++++++ content/posts/gnupg/key-id.png | Bin 0 -> 60562 bytes 2 files changed, 403 insertions(+) create mode 100644 content/posts/gnupg/index.md create mode 100644 content/posts/gnupg/key-id.png diff --git a/content/posts/gnupg/index.md b/content/posts/gnupg/index.md new file mode 100644 index 0000000..debdafd --- /dev/null +++ b/content/posts/gnupg/index.md @@ -0,0 +1,403 @@ +--- +title: Introduction to encryption with GnuPG +date: 2022-04-10 +tags: [privacy, linux, encryption] +--- + +GnuPG (short for GNU Privacy Guard), also known as just GPG is a public-key cryptography implementation. This allows +for a secure transmission of files between parties and can also be used to digitally sign files, to prove that they +weren't modified in any way. + +However until somewhat recently, even though I knew that many people used this tool, and I knew what it was doing, I +mostly avoided actually using it because I simply didn't know how to. But over the last few months, I've learned a lot +about how it works internally, and obviously about it's basic usage, and I wanted to share some of this knowledge and +give you a basic guide showing what GPG can do, and perhaps an article which you can quickly refer to if you forget +what command to run for what thing. + +## How Public Key Encryption works + +In Public Key Encryption, or asymetric encryption, the issuer creates a key pair, consisting of a public key, and a +private key. As the name would imply, private key is kept to the issuer and should never be exposed, while the public +key should be given to anyone freely. + +This kind of structure is very useful, because it allows others to have some information (public key) with which they +can encrypt files in a way that they'll only be decryptable with the private key, which they don't have, so after +deleting the original file, even they wouldn't then be able to decrypt that file, making it safe to have it stored on +their system. + +If both parties then create their own key pairs and share the public keys between each other, it allows +for a secure communication between them, even if there were someone monitoring their communication, because both +parties only ever sent the public keys, and while they can be used for encryption, the man in the middle wouldn't be +able to decrypt any sent files. + +This also allows the issuer to "sign" a file, creating a unique signature file, which people can check against that +file to confirm it wasn't modified. This signature can only be generated with the issuer's secret/private key, however +anyone with the public key can check that the signature is genuine and was issued by the corresponding private key to +their public one. + +In contrast, a symetric encryption scheme, which is the alternative, is when the involved parties share the same key, +with which they can both encrypt and decrypt files. The disadvantage of this scheme is that if someone is spying on a +conversation already, sending this key to the other party safely isn't possible, and if the attacker gets hold of it, +they can decrypt all sent conversation easily. Symetric encryption also lacks the possibility of meaningful signature +generation, since to verify the signature, you'd need the single key, and if you did have that key, you could easily +modify the file and sign in with that key, resulting in a perfectly valid signature. + +## How to install GPG + +If you're on basically any Linux distribution, you'll most likely already have gpg installed, since most package +managers require the packages to be signed by the maintainers, and this is done with the use of GnuPG. But in the +unlikely case that you wouldn't have it installed, you'll probably be able to find it in your package manager, under +`gpg`, or `gnupg` name, if neither works, try adding `2` behind them, signifying the version. If for some reason the +package isn't in the package manager (very unlikely), you can also build it from +[source](https://github.com/gpg/gnupg). + +If you're on Windows (why would you do that to yourself?), you can install +[gpg4win](https://www.openpgp.org/software/gpg4win/), which is a ported version of gpg. + +## Creating your key + +To create your own public-private key pair, you'll need to issue this command: + +```sh +gpg --full-gen-key +``` + +This will ask a few questions, that will configure the key, most notably this will be: +- **Key type** - Which you will most likely want to keep at the default value (RSA and RSA) +- **Key size** - Where you should prefer the biggest possible size (probably 4096 bits), to make brute-force attacks + really hard +- **Expiration time** - If you want to limit the time your key will be valid for, note that with a private key, this + time can later be changed, if you need to extend/shorten it. +- **Real name** - your name (it doesn't actually need to be real) +- **Email address** - You should make sure you actually have access to this email, to allow the key to be registered on + key-servers (I'll describe those later) +- **Comment** - Usually holds the purpose of given key, but can be left empty +- **Passphrase** - Keys with passphrase will require entering this phrase each time the private key will be used (for + each signature generation, or file decryption). This does add to security, since even if someone got access to your + files and got the key, it wouldn't be useful without the passphrase. But having to enter a passphrase each time can + be annoying, ultimately you have to choose if you want convenience, or more security. + +After this, GPG will generate the actual keys, containing the configuration you entered using *entropy*. Entropy +describes the amount of unpredictability that exists in your system. This is used to securely generate a random value +(the key), which couldn't easily be reconstructed (computers are generally bad at creating truly random values). + +Depending on the key size, this may take a while, though from my experience, it's usually very quick, but some people +do report it taking minutes. If this is your experience, you can try using a tool like `haveged`, which generates +entropy from the CPU timings, or you can just do so yourself, by moving windows around, starting random programs, etc. + +## List your key(s) + +If you have more keys with the same email in your GPG database, you may need to obtain the key ID instead of simply +using the email to refer to your key in other commands, because the email would now point to multiple keys. To list all +keys with a given email, you can simply run: + +```sh +gpg --list-keys [your-email] +``` + +You can also leave out the email, and just run `gpg --list-keys`, to see all keys that are in your GPG database. This +will likely contain a lot of keys that were added by your package manager, but your key should be present in there too. + +If you instead just want to see the keys which you have the secret/private key for (so probably only your own keys), +you can also run `gpg --list-secret-keys`. + +The key ID is the long string (probably on the second line), looking like this: + +![Key ID in command output](./key-id.png) + +This key ID is safe to share and doesn't expose your private key nor your public key in any way. + +## Generate a revocation certificate + +After you've made your own private-public key pair, you'll want to make absolutely certain that you also generate a so +called "Revocation certificate". This is a certificate file which you generate using your private key, and it allows +you to immediately prove that you've been in the possession of the private key at some point. When you send this +certificate to others, they can apply it which will immediately revoke your key validity and the key will be considered +no longer valid. + +Many people are instead relying on the expiration date to limit the damage, even if an attacker got access to the +private key, however that is not a good solution, because with a private key, it's actually possible to change the +expiration date and content signed with this key with a changed expiration date will be recognized and accepted by the +public key. An expired key isn't safe to dispose of either, since the expiration date can actually be changed even +after that expiration date, giving you a false sense of safety! + +You should then make sure that you store your revocation certificate in a separate place, so that if the computer with +the private keys got compromised, and you lost the access to the private key completely, you'll still have a way to +prove that you did have that access at some point, and have a certificate that revokes the validity of that now +compromised key. + +To generate this certificate, type: + +```sh +gpg --output ./revocation.crt --gen-revoke [key-id] +``` + +Where the `[key-id]` should be replaced by the unique ID given to this key by GPG. This can also be the email address, +however that's not a good ID if you have multiple generated keys with the same email address (if you enter an email, +matching multiple keys, gpg will show you the possible keys it knows about with that emails, and their IDs). + +After that, you'll be asked to confirm that you want to create a revocation certificate, and you'll then be asked for a +reason for the certificate. Since you're making this certificate ahead of time, ideally, you should make one for each +of the scenarios, since the revocation reason will be shown to other users. + +## Importing someone else's key + +GPG keys can be distributed as files, and you should ask the party you wish to communicate with for their public key, +so that you can import it to generate encrypted messages, that only they can read. Once they give you this key, to +import it you can use this command: + +```sh +gpg --import name_of_pub_key_file +``` + +But files aren't the only way of sharing keys. People often import their keys to "key servers" (I'll explain those +later), if this is the case with your other party, you can get their key simply by searching for it on that key server, +usually by searching for their email address on that key server. You'll also need to know what key server is this the +key stored on. The common ones are: `keys.openpgp.org`, `pgp.mit.edu`, `keyserver.ubuntu.com`, but there are countless +others. To import a key from one of these key servers, you can use: + +```sh +gpg --keyserver keys.openpgp.org --search-keys [search parameters] +``` + +You can replace `[search parameters]` with the email or key's ID, sometimes keyservers also allow searching for user +IDs, or other things, but some keyservers won't support those. (If you want to try this out, you can use +`itsdrike@protonmail.com` on `keys.openpgp.org`) + +## Sign the received key + +Once you receive someone's key, you should then sign it with your own key, to tell GPG that you do trust that this key +is legitimate and that you've verified it belongs to who it says it does. To do that, you can do: + +```sh +gpg --sign-key [key-id] +``` + +Where, once again, `[key-id]` can be replaced by the received key's email address, or the ID. + +After you've signed the key, you should help the key's issuer to take the advantage of your signing and send them that +signed version, so that when they're distributing their key to someone else, if that someone already has your key +imported and they trust you, they can find out that you've trusted this key in that it's information (name, email) is +in fact correct. + +```sh +gpg --output ./signed-key.key --export --armor [key-id] +``` + +When they then receive your signed key, they can simply import it back into their database with: + +```sh +gpg --import ./signed-key.key +``` + +## Sharing your keys + +Now that you've created your public-private key pair, and managed to import someone elses public key, you'll probably +want to know how to actually share your own keys. + +### Sharing public key + +For a meaningful communication between you and the other party, just having their public key isn't enough, they also +need to have your public key, so that they can send you encrypted messages that only you can decrypt too. To do this, +you will need to export your private key into a file which you can then send. You can do this with a following command: + +```sh +gpg --output ./my-public-key.key --armor --export [key-id] +``` + +But in most cases, you'll likely want to make your public key available to anyone who wants it, instead of having to +send it individually. You can do this in many ways, for example putting this key file onto your website, but the most +common solution for this is to use a key server. Most key servers have a front-end which you can upload this exported +file to manually, and as a verification that the key does indeed belong to you, you'll be sent an email with some +verification link/token. + +Another option is to send the keys to a keyserver directly through GPG, which you can do like this: + +```sh +gpg --send-keys --keyserver [keyserver URL] [key-id] +``` + +Note that keyservers often sync with other trusted keyservers, so if you upload your key to one key-server, it may +actually get shared around across many other keyservers too. + +### Sharing a private key + +When you're moving to another computer, or you want to work on multiple machines, you may need to have your GPG keys on +both of these machines. This process is pretty similar to exporting a public key, but with private keys, you will need +to be a lot more careful in where you then put this exported file and how you get it into the other machine. This is +because if at any point someone else gets to your private key, you can consider the key as compromised and immediately +issue out your revocation certificate to everyone who currently has your public key on their system and generate a new +key for yourself. + +For this reason, whenever you're dealing with an exported secret key, once you've imported it into the other system, +you should immediately shred this file so that it can't be recovered from whatever media you used to transfer it to the +other machine, and if you're transferring over the internet, you should always make sure your connection is end-to-end +encrypted before even considering to send over the exported secret key. + +Now that you know the risks, to export a private/secret key, you can run this command: + +```sh +gpg --output ./my_private_key.key --export-secret-keys [key-id] +``` + +Importing it afterwards is quite simple, and uses the same command as importing public keys: + +```sh +gpg --import ./my_private_key.key +``` + +Note that you will want to export both private key, and a public key to then use your key on another machine. + +## File encryption with GPG + +Now that you've generated your key and exchanged the public parts with the other parties, you can finally actually get +to communicating with the other party in a fully end-to-end encrypted way! + +### Encryption + +To encrypt a file, we can use this command: + +```sh +gpg --armor --encrypt -r --armor [key-id] my_plaintext_file.txt +``` + +Here, the `[key-id]` points to the recipient's public key id, so either an email, or key's ID directly. This is NOT +your key id, it's the recipient's one! + +This will generate an encrypted file with the same name as the original, but with an additional extension of `.asc`, +this extension means that we used ASCII readable characters in the encrypted file, instead of raw bytes. If you don't +need this, you can leave out the `--armor` flag, and instead get a file that ends with `.gpg` and contains the raw +bytes after encryption. + +The use of `-r` flag is also optional, and using it will allow the encrypted file to also be decrypted by us, not just +by the recipient. This is something that we usually want, so that we can actually know what we sent even after deleting +the file on our side, but if for any reason we wouldn't want to be able to decrypt this later on, leaving out this flag +will ensure that without the recipient's private key, we won't be able to decrypt this file. + +Optionally, if you want to let the recipient know that it was you who encrypted this file, you can also perform signing +on the encrypted result. You can do this separately, following the signing file section, or you can simply include +`--sign` flag when running this command, but note that you may also need `--sign-key [your-key-id]` if you haven't +already specified a signing key in your GPG settings. (More about this in the signing files section). + +### Decryption + +After you've managed to send an encrypted file to the other party, decryption on their side is very easy. GPG will +automatically detect what key was used to encrypt this file (as long as the key is in GPG's database) and if there's a +private part present for this key, it will decrypt it without needing to manually specify what key to use. All that's +needed is running this command: + +```sh +gpg --decrypt encrypted_message.txt.gpg +``` + +## Signing files + +Other than just encryption, GPG also supports so called "signing". This is done to prove that you've verified that +given signed file wasn't tampered with and is legitimate. Signing a file requires a private key, and can then be +verified by anyone with a matching public key. When you create a digital signature file like this, if someone were to +edit the original file, the signature would no longer match to that file, and they wouldn't be able to generate a new +one, at least not without your private key. This is why you see many linux installation media (ISOs) also provide a +signature file, which was signed with the private keys of the maintainers. + +### Full signatures + +To sign a file, use this command: + +```sh +gpg --sign-key [your-key-id] --sign untampered_file.txt +``` + +Optionally, you can go to you GPG settings at `~/.local/share/gnupg/gpg.conf`, or sometimes in `~/.gnupg/gpg.conf` and +specify the default signing key so you don't need to keep entering the `--sing-key` flag. To do that, just add a line +saying `default-key [key-id]`, note that in this case though, the `[key-id]` should be the actual ID given to the key +by GPG, to avoid any confusion with other keys that may be added later with the same email. + +After that, you'll get a signed file, named `untampered_file.txt.gpg`, again, if you want to, you can use ASCII +encoding instead of just raw bytes to make it easier to share the file by simply specifying the `--armor` flag, in that +case, the file will instead end with `.asc`. + +At this point, instead of sharing the original file, you can distribute the signed file, however this probably isn't +actually what you'd want, because it would require the recipients to use GPG to get the original file from the signed +version. Instead, what's way more common is to generate a "detached signature", described below. + +### Detached signatures + +A detached signature is a separate file, which is distributed along with the original file that the signature is for. +This detached signature only contains the actual signature contents, without also including the entire file contents. +That way, people don't need to do any extra work to get the original file out of a full signature file, but it's still +very easy to verify, that the signature does in fact match the distributed file, and that it was signed by a trusted +key. To generate this kind of signature, use this command: + +```sh +gpg --sign-key [your-key-id] --detach-sign untampered_file.txt +``` + +This will now generate the signature file as `untampered_file.txt.sig`, but once again, you can use `--armor` to +instead get `untampered_file.txt.asc` in ASCII encoding. + +### Checking the validity of a signature + +Any time a file comes with a signature, you'll most likely want to verify that this signature is genuine and that it +does belong to the distributed file, and was made with the trusted key. To do this, you will need the public key part, +with which this signature was generated imported in your gpg database. After that, you can simply run this command: + +```sh +gpg --verify untampered_file.txt.sig untampered_file.txt +``` + +This will show you who is the issuer of this signature, and would fail if it didn't match the given file (second +argument), reporting a BAD signature. + +In case you're working with full signatures, instead of a detached signature file and an original (pretty uncommon), +you can simply only use the single full signature file as an argument to the `--verify` flag: + +```sh +gpg --verify untampered_file.txt.gpg +``` + +After that, you'll likely want to extract the original file from the fully signed file, to do that, simply run: + +```sh +gpg --output untampered_file.txt untampered_file.txt.gpg +``` + +## Misc + +If you've managed to get all the way to this section, congratulations! You should now know a ton about how basic +asymetric encryption works and what can it do, and also how to utilize it with GPG, to sign files or send encrypted +messages to your friends. + +However I wanted to talk a bit more about many different places where GPG is often used, and maybe where you can use +it: +- A very common use-case, which I've already mentioned a bit about is the use in package managers. This is because with + package managers, it's hard for the owners of these to set up world-wide mirror servers across the entire world and + maintain each and every one of them, so instead, they rely on other people to set their own mirrors and make them + accessible to others. However this comes with an obvious risk, and that is that you need to trust the owner of this + mirror server that they aren't tampering with the packages and putting malware into them. To do that, usually every + package will be signed with the secret key of the maintainers of this package manager, and building and automatic + verifier in the package manager, that ensures each package was signed with the correct key, and matches the package. +- Another relatively common practice amongst developers is to sign their git commits. This is done to prove that these + commits are authentic and in fact made by the correct person. An unsigned commit is not trustworthy, because anyone + can change their committing email to anything and there's no check ensuring that this email does in fact belong to + them. However if a commit is signed with a trusted key, and you've verified that this key is authentic and does in + fact belong to who it says it does, you can then trust all commits signed with this key without worrying they're + faked. +- Encrypting emails is also very commonly done through GPG, and in fact, a lot of email software (such as Thunderbird) + include native support for automatic encryption/decryption with GPG. This manual encryption in emails is necessary, + because the email protocol is very old, and it doesn't actually have any encryption at all. That means that your + email providers do actually receive your emails unencrypted and can read through all of them! Some providers, such as + protonmail, do claim that they always store your emails encrypted, which may be true (though you have to trust them + on it, you can't easily verify this claim), however this encryption only happens after the email is received, so they + can still capture the contents of your email, even if they can't read the already stored ones (if they do actually + encrypt them that is). +- Simple file encryption, for example on files that you have on a USB drive which you may worry someone may steal, or + even for files on your computer directly, if they're sensitive (such as passwords, sensitive documents, ...) +- GPG is also good at generating random sequences from your system's entropy, often used as seeds for pseudo-random + number generation, or for creation of new keys +- Encrypted full system backups, stored on a cloud. This prevents the cloud provider from getting into your precious + files stored on your system, but still allows you to keep big backup files on their computer, that you can decrypt + whenever you'd actually need them + +Oh and, in case you'd want to send me something encrypted, feel free to get my public key from `keys.openpgp.org`, +registered under email: `itsdrike@protonmail.com`. You can also get it from my website as a file +[here](https://s.itsdrike.com/gpg). diff --git a/content/posts/gnupg/key-id.png b/content/posts/gnupg/key-id.png new file mode 100644 index 0000000000000000000000000000000000000000..27e221df837b59b690a636248c0640c9012e4d84 GIT binary patch literal 60562 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