Bestanden coderen en decoderen met GPG op Linux

Linux-terminalvenster op een laptop
Fatmawati Achmad Zaenuri / Shutterstock.com

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

gpg --full-generation-key in een terminalvenster

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.

sleutelgeneratievragen in een terminalvenster

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.

sleutelgeneratievragen in een terminalvenster

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.

gpg wachtwoordzin venster

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.

gpg-sleutelgeneratie voltooid in een terminalvenster

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

gpg --output ~ / revocation.crt --gen-revoke dave-geek@protonmail.com in een terminalvenster

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.

gpg-certificaatvragen in een terminalvenster

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

chmod 600 ~ / revocation.crt in een terminalvenster

Laten we eens kijken ls om te zien wat de toestemming nu is:

ls -l

http://cryptocouple.com/ in een terminalvenster

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

gpg --import mary-geek.key in een terminalvenster

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.

met succes geïmporteerde sleutel in een terminalvenster

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

gpg --keyserver pgp.mit.edu --search-keys mary-geek@protonmail.com in een terminalvenster

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.

gpg sleutelserver resulteert in een terminalvenster

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

gpg --fingerprint mary-geek@protonmail.com in een terminalvenster

De vingerafdruk wordt gegenereerd.

gpg-vingerafdruk in een terminalvenster

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

gpg --sign-key mary-geek@protonmail.com in een terminalvenster

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.

gpg-sleutel ondertekening bevestiging in een terminalvenster

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

gpg --output ~ / dave-geek.key --armor --export dave-geek@protonmail.com in een terminalvenster

We kunnen een kijkje nemen in het sleutelbestand met less.

less dave-geek.key

public key-bestand in less in een terminalvenster

De sleutel wordt in al zijn glorie getoond:

public key-bestand in less in een terminalvenster

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

gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4 in een terminalvenster

U krijgt een bevestiging dat de sleutel is verzonden.

bevestigingssleutel is verzonden naar sleutelserver in een terminalvenster

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

gpg --encrypt --sign --armor -r mary-geek@protonmail.com in een terminalvenster

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

minder Raven.txt.asc in een terminalvenster

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.

Versleutelde inhoud van raven.txt.asc in een terminalvenster

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

gpg --decrypt coded.asc> plain.txt in een terminalvenster” width=”646″ height=”212″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”></p>
<p>Laten we eens kijken naar het bestand plain.txt:</p>
<pre>less plain.txt</pre>
<p><img loading=

Het bestand is met succes voor ons gedecodeerd.

gedecrytpted bestand in less in een terminalvenster

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 --keyserver pgp.mit.edu --refresh-keys in een terminalvenster

gpg reageert door de sleutels op te sommen die het controleert en u te laten weten of er sleutels zijn gewijzigd en bijgewerkt.

gpg-sleutel wordt vernieuwd in een terminalvenster

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.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in