
Bescherm uw privacy met de Linux gpg
opdracht. Gebruik versleuteling van wereldklasse om uw geheimen veilig te houden. We laten u zien hoe u gpg gebruikt om met sleutels te werken, bestanden te versleutelen en ze te ontsleutelen.
Met GnuPrivacy Guard (GPG) kunt u bestanden veilig versleutelen zodat alleen de beoogde ontvanger ze kan ontsleutelen. Concreet voldoet GPG aan de OpenPGP-standaard. Het is gemodelleerd naar een programma genaamd Pretty Good Privacy (PGP). PGP is in 1991 geschreven door Phil Zimmerman.
GPG vertrouwt op het idee van twee coderingssleutels per persoon. Elke persoon heeft een privaat sleutel en een openbaar sleutel. De openbare sleutel kan iets ontsleutelen dat is versleuteld met de privésleutel.
Om een bestand veilig te verzenden, versleutelt u het met uw privésleutel en de openbare sleutel van de ontvanger. Om het bestand te ontsleutelen, hebben ze hun privésleutel nodig en uw openbare sleutel.
U zult hieruit zien dat openbare sleutels moeten worden gedeeld. U heeft de openbare sleutel van de ontvanger nodig om het bestand te versleutelen, en de ontvanger heeft uw openbare sleutel nodig om het te ontsleutelen. Het is niet gevaarlijk om uw openbare sleutels alleen maar openbaar te maken. In feite zijn er Public Key Servers voor dat doel, zoals we zullen zien. Privésleutels moeten privé worden gehouden. Als uw openbare sleutel zich in het publieke domein bevindt, moet uw privésleutel geheim en veilig worden gehouden.
Er zijn meer stappen nodig bij het opzetten van GPG dan bij het gebruik ervan. Gelukkig hoef je het meestal maar één keer in te stellen.
Uw sleutels genereren
De gpg
commando is geïnstalleerd op alle Linux-distributies die zijn gecontroleerd, inclusief Ubuntu, Fedora en Manjaro.
U hoeft GPG niet te gebruiken met e-mail. U kunt bestanden versleutelen en beschikbaar maken om te downloaden, of ze fysiek doorgeven aan de ontvanger. U moet echter een e-mailadres koppelen aan de sleutels die u genereert, dus kies welk e-mailadres u wilt gebruiken.
Hier is de opdracht om uw sleutels te genereren. De --full-generate-key
optie genereert uw sleutels in een interactieve sessie binnen uw terminalvenster. U wordt ook om een wachtwoordzin gevraagd. Zorg ervoor dat u onthoudt wat de wachtwoordzin is. Drie of vier eenvoudige woorden samengevoegd met interpunctie is een goed en robuust model voor wachtwoorden en wachtzinnen.
gpg --full-generate-key
U wordt gevraagd om een versleutelingstype uit een menu te kiezen. Typ, tenzij je een goede reden hebt om het niet te doen 1
en druk op Enter.
U moet een bitlengte kiezen voor de coderingssleutels. Druk op Enter om de standaardinstelling te accepteren.
U moet aangeven hoe lang de sleutel moet duren. Als u het systeem test, voert u een korte duur in, zoals 5
voor vijf dagen. Als u deze sleutel wilt behouden, voert u een langere duur in, bijvoorbeeld 1 jaar voor een jaar. De sleutel gaat 12 maanden mee en moet dus na een jaar worden vernieuwd. Bevestig uw keuze met een Y
.
U moet uw naam en uw e-mailadres invoeren. U kunt desgewenst een opmerking toevoegen.
U wordt om uw wachtwoordzin gevraagd. U hebt de wachtwoordzin nodig wanneer u met uw sleutels werkt, dus zorg ervoor dat u weet wat het is.
Klik op de OK
knop als je je wachtwoordzin hebt ingevoerd. U ziet dit venster terwijl u ermee werkt gpg
, dus zorg ervoor dat u uw wachtwoordzin onthoudt.
De sleutel wordt gegenereerd en u keert terug naar de opdrachtprompt.
Een herroepingscertificaat genereren
Als uw privésleutel bij anderen bekend wordt, moet u de oude sleutels loskoppelen van uw identiteit, zodat u nieuwe kunt genereren. Hiervoor heeft u een herroepingscertificaat nodig. We doen dit nu en slaan het ergens op een veilige plek op.
De --output
optie moet worden gevolgd door de bestandsnaam van het certificaat dat u wilt aanmaken. De --gen-revoke
optie oorzaken gpg
om een herroepingscertificaat te genereren. U moet het e-mailadres opgeven dat u gebruikte toen de sleutels werden gegenereerd.
gpg --output ~/revocation.crt --gen-revoke dave-geek@protonmail.com
U wordt gevraagd om te bevestigen dat u een certificaat wilt genereren. druk op Y
en druk op Enter. U wordt gevraagd naar de reden waarom u het certificaat genereert. Omdat we dit van tevoren doen, weten we het niet zeker. druk op 1
als een plausibele schatting en druk op Enter.
U kunt desgewenst een beschrijving invoeren. Druk tweemaal op Enter om uw beschrijving te beëindigen.
U wordt gevraagd uw instellingen te bevestigen, druk op Y
en druk op Enter.
Het certificaat wordt gegenereerd. U ziet een bericht dat de noodzaak om dit certificaat veilig te bewaren, onderstreept.
Het noemt iemand genaamd Mallory. Cryptografiediscussies hebben Bob en Alice lang gebruikt als de twee mensen die met elkaar communiceren. Er zijn andere ondersteunende karakters. Eve is een afluisteraar, Mallory is een kwaadwillende aanvaller. Het enige dat we moeten weten, is dat we het certificaat veilig en beveiligd moeten houden.
Laten we ten minste alle machtigingen, behalve die van ons, uit het certificaat verwijderen.
chmod 600 ~/revocation.crt
Laten we eens kijken ls
om te zien wat de toestemming nu is:
ls -l
Dat is perfect. Niemand behalve de bestandseigenaar – wij – kan iets met het certificaat doen.
De openbare sleutel van iemand anders importeren
Om een bericht te versleutelen dat een andere persoon kan ontsleutelen, hebben we hun openbare sleutel nodig.
Als u hun sleutel in een bestand heeft ontvangen, kunt u deze importeren met het volgende commando. In dit voorbeeld wordt het sleutelbestand ‘mary-geek.key’ genoemd.
gpg --import mary-geek.key
De sleutel wordt geïmporteerd en u krijgt de naam en het e-mailadres te zien die bij die sleutel horen. Dat moet natuurlijk overeenkomen met de persoon van wie je het hebt ontvangen.
Het is ook mogelijk dat de persoon van wie u een sleutel nodig heeft, zijn of haar sleutel heeft geüpload naar een openbare sleutelserver. Deze servers slaan de openbare sleutels van mensen van over de hele wereld op. De sleutelservers synchroniseren periodiek met elkaar zodat sleutels universeel beschikbaar zijn.
De openbare sleutelserver MIT is een populaire sleutelserver en wordt regelmatig gesynchroniseerd, dus het zoeken daar zou succesvol moeten zijn. Als iemand pas onlangs een sleutel heeft geüpload, kan het enkele dagen duren voordat deze wordt weergegeven.
De --keyserver
optie moet worden gevolgd door de naam van de sleutelserver die u wilt doorzoeken. De --search-keys
optie moet worden gevolgd door de naam van de persoon die u zoekt of zijn e-mailadres. We gebruiken het e-mailadres:
gpg --keyserver pgp.mit.edu --search-keys mary-geek@protonmail.com
De overeenkomsten worden voor u op een rijtje gezet en genummerd. Om er een te importeren, typt u het nummer en drukt u op Enter. In dit geval is er één overeenkomst, dus typen we 1
en druk op Enter.
De sleutel wordt geïmporteerd en we krijgen de naam en het e-mailadres te zien die aan die sleutel zijn gekoppeld.
Een sleutel verifiëren en ondertekenen
Als u een bestand met een openbare sleutel heeft gekregen van iemand die u kent, kunt u gerust zeggen dat het van die persoon is. Als je het van een openbare sleutelserver hebt gedownload, heb je misschien de behoefte om te verifiëren dat de sleutel van de persoon is waarvoor deze bedoeld is.
De --fingerprint
optie oorzaken gpg
om een korte reeks van tien sets van vier hexadecimale tekens te maken. U kunt de persoon vragen u de vingerafdruk van zijn of haar sleutel te sturen.
U kunt dan de --fingerprint
optie om dezelfde vingerafdrukreeks van hexadecimale tekens te genereren en deze te vergelijken. Als ze overeenkomen, weet je dat de sleutel van die persoon is.
gpg --fingerprint mary-geek@protonmail.com
De vingerafdruk wordt gegenereerd.
Als u er zeker van bent dat de sleutel echt is en eigendom is van de persoon waarmee deze hoort te zijn verbonden, kunt u de sleutel ondertekenen.
Als u dit niet doet, kunt u het nog steeds gebruiken om berichten van en naar die persoon te versleutelen en ontsleutelen. Maar gpg
zal u elke keer vragen of u verder wilt gaan omdat de sleutel niet ondertekend is. We gebruiken de toepasselijke naam --sign-key
optie en geef het e-mailadres van de persoon op, zodat gpg
weet welke sleutel te ondertekenen.
gpg --sign-key mary-geek@protonmail.com
U ziet informatie over de sleutel en de persoon, en u wordt gevraagd om te bevestigen dat u de sleutel echt wilt ondertekenen. druk op Y
en druk op Enter om de sleutel te ondertekenen.
Hoe u uw openbare sleutel deelt
Om uw sleutel als bestand te delen, moeten we deze exporteren vanuit het gpg
lokale sleutelopslag. Om dit te doen, gebruiken we de --export
optie, die moet worden gevolgd door het e-mailadres dat u hebt gebruikt om de sleutel te genereren. De --output
optie moet worden gevolgd door de naam van het bestand waarnaar u de sleutel wilt laten exporteren. De --armor
optie vertelt gpg
om ASCII-pantseruitvoer te genereren in plaats van een binair bestand.
gpg --output ~/dave-geek.key --armor --export dave-geek@protonmail.com
We kunnen een kijkje nemen in het sleutelbestand met less
.
less dave-geek.key
De sleutel wordt in al zijn glorie getoond:
U kunt uw openbare sleutel ook delen op een openbare sleutelserver. De --send-keys
optie stuurt de sleutel naar de sleutelserver. De --keyserver
optie moet worden gevolgd door het webadres van de openbare sleutelserver. Om te bepalen welke sleutel moet worden verzonden, moet de vingerafdruk van de sleutel op de opdrachtregel worden opgegeven. Let op: er zijn geen spaties tussen de sets van vier tekens.
(U kunt de vingerafdruk van uw sleutel zien door de --fingerprint
optie.)
gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4
U krijgt een bevestiging dat de sleutel is verzonden.
Bestanden versleutelen
We zijn eindelijk klaar om een bestand te versleutelen en naar Mary te sturen. Het bestand heet Raven.txt.
De --encrypt
optie vertelt gpg
om het bestand te versleutelen, en de --sign
optie vertelt het om het bestand te ondertekenen met uw gegevens. De --armor
optie vertelt gpg om een ASCII-bestand te maken. De -r
(ontvanger) optie moet worden gevolgd door het e-mailadres van de persoon naar wie u het bestand verzendt.
gpg --encrypt --sign --armor -r mary-geek@protonmail.com
Het bestand wordt gemaakt met dezelfde naam als het origineel, maar met “.asc” toegevoegd aan de bestandsnaam. Laten we er eens in kijken.
less Raven.txt.asc
Het bestand is volledig onleesbaar en kan alleen worden ontsleuteld door iemand die uw openbare sleutel en de privésleutel van Mary heeft. De enige persoon die beide heeft, zou Mary moeten zijn.
We kunnen het bestand nu naar Mary sturen in de zekerheid dat niemand anders het kan decoderen.
Bestanden decoderen
Mary heeft een antwoord gestuurd. Het bevindt zich in een gecodeerd bestand met de naam coded.asc. We kunnen het heel gemakkelijk decoderen met de --decrypt
optie. We gaan de uitvoer omleiden naar een ander bestand met de naam plain.txt.
Merk op dat we het niet hoeven te vertellen gpg
van wie het bestand is. Het kan dat uit de gecodeerde inhoud van het bestand afleiden.
gpg --decrypt coded.asc > plain.txt
Het bestand is met succes voor ons gedecodeerd.
Uw sleutels vernieuwen
Af en toe kunt u dit vragen gpg
om de sleutels die het heeft te vergelijken met een openbare sleutelserver en om alle gewijzigde sleutels te vernieuwen. U kunt dit om de paar maanden doen of wanneer u een sleutel ontvangt van een nieuw contact.
De --refresh-keys
optie oorzaken gpg
om de controle uit te voeren. De --keyserver
optie moet worden gevolgd door de sleutelserver van uw keuze. Nadat de sleutels zijn gesynchroniseerd tussen de openbare sleutelservers, zou het niet moeten uitmaken welke u kiest.
gpg --keyserver pgp.mit.edu --refresh-keys
gpg
reageert door de sleutels op te sommen die het controleert en u te laten weten of er sleutels zijn gewijzigd en bijgewerkt.
Privacy is een populair onderwerp
Privacy is tegenwoordig nooit ver van het nieuws. Wat uw redenen ook zijn om uw informatie veilig en privé te willen houden, gpg
biedt een eenvoudige manier om ongelooflijk sterke versleuteling toe te passen op uw bestanden en communicatie.
Er zijn andere manieren om gpg
. U kunt een plug-in voor Thunderbird krijgen genaamd Enigmail. Het haakt precies in je gpg
configuratie zodat u e-mailberichten vanuit Thunderbird kunt versleutelen.