Ghost in the Machines
On september 23, 2021 by adminIk gebruik GPG (ook bekend als GnuPG) software voor het versleutelen van bestanden die gevoelige informatie bevatten (meestal wachtwoorden). Als systeemingenieur, doe ik het meeste van mijn werk op servers op afstand, toegankelijk via een command line interface. Uiteraard vind ik het gemakkelijker om de commandoregelversie van GPG te gebruiken om documenten direct te versleutelen en te ontsleutelen.
GPG (GNU Privacy Guard) is een gratis open-sourceversie van PGP (Pretty Good Privacy) versleutelingssoftware. Beide maken gebruik van dezelfde aanpak van cryptografie (d.w.z. versleuteling en ontsleuteling). Wat volgt is een korte inleiding over hoe de GPG-commando-regelprogramma’s te installeren, evenals een lijst met basiscommando’s die u waarschijnlijk nodig zult hebben.
GPG installeren
GPG kan op een aantal verschillende manieren worden geïnstalleerd. De instructies hier installeren de kern van de GPG-commando-regelprogramma’s, die bedoeld zijn om in een terminal te worden gebruikt.
Als u daarentegen de voorkeur geeft aan een grafische gebruikersinterface (of GUI) voor toegang tot GPG-functionaliteit (bijvoorbeeld het versleutelen van e-mailcommunicatie, of het versleutelen van documenten in een GUI-teksteditor), raadpleegt u de koppelingen aan het eind van dit artikel.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
De eenvoudigste manier om de GPG-opdrachtregel-tools op uw Mac te installeren is door eerst Homebrew te installeren, een pakketbeheersysteem dat duizenden softwarepakketten beschikbaar maakt voor installatie op uw Mac.
Open een Terminal venster (Programma’s >Hulpprogramma’s menu), voer dan het volgende commando in.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG Quick How To
Wat volgt is een zeer korte introductie tot command line gebruik van GPG. Zie het als een “snelle referentie” of een “spiekbriefje”. U moet zeker meer leren over GPG dan wat in dit bericht wordt uitgelegd. Het is alleen bedoeld om u op weg te helpen. Als u verwacht GPG uitgebreider te gaan gebruiken, raad ik u sterk aan meer documentatie te lezen (zie de Links sectie hieronder).
GPG is krachtige encryptie software, maar het kan ook eenvoudig te leren zijn – als u eenmaal enkele basisprincipes begrijpt. GPG gebruikt een methode van encryptie die bekend staat als publieke sleutel cryptografie, die een aantal voordelen en voordelen biedt. Echter, om deze voordelen te verkrijgen is een minimum aan complexiteit vereist om het allemaal te laten werken. Voor een overzicht van hoe public key cryptografie werkt, lees de Introductie tot Cryptografie (link onderaan dit bericht).
Typografische conventies gebruikt in commando’s:
In alle voorbeelden hieronder wordt tekst die u moet vervangen door uw eigen waarden (b.v. gebruikersnamen, email adressen, bestandsnamen) getoond in “grijs cursief”. Tekst die u letterlijk (ongewijzigd) zult typen, wordt aangegeven met “zwarte constante breedte”.
"gray italic""black constant width"
Maak uw GPG-sleutel:
Om met GPG aan de slag te gaan, moet u eerst uw sleutelpaar genereren. Dat wil zeggen dat u zowel een private als een public key genereert met één enkel commando. Voer uw naam en email adres in bij de prompts, maar accepteer verder de standaard opties.
gpg --gen-key
De eerste sleutel is uw private (of geheime) sleutel. U moet deze privé-sleutel te allen tijde veilig bewaren, en u mag hem met niemand delen. De private sleutel is beveiligd met een wachtwoord. Probeer het wachtwoord zo lang mogelijk te maken, maar wel iets dat u niet zult vergeten. Als u het wachtwoord vergeet, is er geen manier om het te herstellen. Om dezelfde reden moet u ook een reservekopie maken van uw private sleutel. (Overweeg het gebruik van Time Machine voor back-ups op Mac OS X.)
De tweede sleutel is uw publieke sleutel, die u veilig kunt delen met andere mensen.
De relatie tussen de private en de publieke sleutel is eigenlijk heel eenvoudig. Alles wat met de publieke sleutel is versleuteld, kan alleen met de bijbehorende privésleutel worden ontsleuteld. Daarom zult u uw openbare sleutel aan een andere persoon geven, en zij zullen u hun openbare sleutel geven. Alles wat met uw openbare sleutel is versleuteld, kan alleen door u worden ontsleuteld. Alles wat met de publieke sleutel van de ander is versleuteld, kan alleen door de ander worden ontsleuteld.
Uitvoeren van uw publieke sleutel:
De volgende stap is het exporteren van uw publieke sleutel en deze met een andere persoon te delen. Die persoon moet hetzelfde doen, en hun publieke sleutel exporteren.
gpg --export --armor [email protected] > mypubkey.asc
De publieke sleutel van een andere persoon importeren:
Wanneer u een publieke sleutel importeert, plaatst u deze in wat gewoonlijk wordt aangeduid als uw GPG “sleutelring.”
gpg --import theirpubkey.asc
Lijst de openbare sleutels in uw sleutelring:
U kunt nu een lijst van openbare sleutels in uw sleutelring bekijken, evenals de naam en het e-mailadres die aan elke sleutel zijn gekoppeld.
gpg --list-keys
Lijst privésleutels in uw sleutelring:
Het volgende commando geeft een lijst van de privésleutels in uw sleutelring. Dit toont uw eigen private sleutel, die u eerder hebt gemaakt.
gpg --list-secret-keys
Trust een publieke sleutel:
Als u de publieke sleutel van de ander hebt geïmporteerd, moet u nu het vertrouwensniveau van de sleutel instellen. Dit voorkomt dat GPG u waarschuwt iedere keer dat u iets versleutelt met die publieke sleutel.
Specificeer de naam of e-mail van de andere persoon in het commando.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Gebruikbare GPG-commando’s
GPG heeft veel opties, waarvan u de meeste nooit nodig zult hebben. Hier is een korte lijst van de meest nuttige commando’s die u waarschijnlijk nodig zult hebben.
Een bestand versleutelen:
Om een bestand met de naam bestandsnaam.txt te versleutelen voor een enkel individu, specificeert u dat individu als een ontvanger.
gpg --encrypt --recipient glenn filename.txt
Dit maakt een nieuw versleuteld bestand aan met de naam bestandsnaam.txt.gpg.
Als u een bestand wilt versleutelen zodat alleen u het zelf kunt ontsleutelen, specificeer uzelf dan als de ontvanger.
gpg --encrypt --recipient 'my_name' filename.txt
Als u een bestand wilt versleutelen zodat zowel u als een andere persoon het bestand kunnen ontsleutelen, specificeer dan zowel u als de andere persoon als ontvangers.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Als u een bestand wilt versleutelen voor een groep mensen, definieer de groep in uw gpg.conf bestand (zie sectie hieronder), en specificeer dan de groep als ontvanger.
gpg --encrypt --recipient journalists filename.txt
Na een tijdje zult u beknopter willen zijn en de korte versie van de commandoregelopties willen gebruiken. Hier is hetzelfde commando.
gpg -e -r journalists filename.txt
Decodeer een bestand naar terminal (standaarduitvoer):
De eerste versie van dit commando toont de inhoud van een bestand in het terminalvenster zelf.
gpg --decrypt filename.txt.gpg
Gebruik de --decrypt
optie alleen als het bestand een ASCII tekstbestand is. Als het een binair bestand is, laat dan de --decrypt
optie weg, die het gedecodeerde bestand naar schijf zal schrijven. Op dat moment kunt u het binaire bestand openen in de toepassing die wordt gebruikt om het bestand te bekijken.
Bestand ontsleutelen naar schijf:
Of het bestand nu ASCII of binair is, als u wijzigingen wilt aanbrengen in de inhoud van een versleuteld bestand, moet u het eerst ontsleutelen, uw wijzigingen aanbrengen en vervolgens het bestand opnieuw versleutelen. Zoals ik in de vorige paragraaf heb vermeld, schrijft u de gedecodeerde versie van een bestand naar schijf, door de --decrypt
optie uit het commando weg te laten.
gpg filename.txt.gpg
Indien het gecodeerde bestand bestandsnaam.txt heette.gpg, zal het bovenstaande commando een gedecodeerde versie maken met de naam filename.txt (met de .gpg extensie verwijderd).
Maak groepen van mensen in uw GPG-configuratiebestand
Voor het gemak kunt u een groep van mensen vooraf definiëren in uw GPG-configuratiebestand. Dit heeft het voordeel dat u een bestand aan ieder lid van de groep kunt versleutelen door alleen de groepsnaam als ontvanger op te geven, in plaats van ieder individueel lid van de groep op te geven.
Uw GPG software configuratie wordt opgeslagen in uw home directory in het ~/.gnupg/gpg.conf
bestand. Bewerk dit bestand met uw favoriete opdrachtregel tekst editor (vim, nano, pico, emacs, etc). Er zijn vele instellingen beschikbaar in het configuratiebestand, maar ga naar het gedeelte dat gaat over het definiëren van groepen.
Wanneer u een groep definieert, maakt u een lijst van de leden van de groep. Elk lid wordt genoemd door een attribuut van hun publieke sleutel in uw GPG-sleutelring – meestal een persoonsnaam (of gedeeltelijke naam, zoals voor- of achternaam) of een e-mailadres (of gedeeltelijk e-mailadres).
Als u lid bent van de groep, vergeet dan niet om uzelf in de groep op te nemen! Als u uzelf niet in de groep vermeldt, zult u niet in staat zijn bestanden te ontsleutelen die u naar de groep hebt gecodeerd.
Hier is een voorbeeld van een groep met de naam “journalisten”, met de voornaam van elke persoon.
group journalists = glenn laura ewan barton
Where To Go From Here
Ik moedig u aan meer te leren over GPG. Zie de links hieronder.
U wilt misschien ook leren over veilige methodes om bestanden van de harde schijf van uw computer te wissen. Mac OS X heeft de “Veilig legen prullenbak” optie in Finder. Er zijn ook talloze tools van derden die je kunt installeren.
Nu we het toch hebben over het leren gebruiken van GPG in de commandoregel, kun je “bcwipe” proberen – een programma om bestanden veilig te wissen in de commandoregel.
Op Mac OS X kun je bcwipe installeren via Homebrew.
brew install bcwipe
Links
Algemeen
- Inleiding tot de cryptografie (PDF)
- GnuPG Software Website
- GnuPG op Wikipedia
- Homebrew (Package Manager voor Mac OS X)
GUI Tools
- GPG Suite (GUI voor Mac OS X)
- Hoe GPG Suite te gebruiken op Mac OS X (Electronic Frontier Foundation)
- Gpg4win (GUI voor Windows)
- Hoe Gpg4Win te gebruiken op Windows (Electronic Frontier Foundation)
Geef een antwoord