Sådan krypteres og dekrypteres filer med GPG på Linux

Beskyt dit privatliv med kommandoen Linux gpg. Brug kryptering i verdensklasse for at holde dine hemmeligheder sikre. Vi viser dig, hvordan du bruger gpg til at arbejde med nøgler, kryptere filer og dekryptere dem.

GnuPrivacy Guard (GPG) giver dig mulighed for sikkert at kryptere filer, så kun den tilsigtede modtager kan dekryptere dem. Specifikt overholder GPG OpenPGP standard. Det er modelleret på et program kaldet Pretty Good Privacy (PGP). PGP blev skrevet i 1991 af Phil Zimmerman.

GPG er afhængig af ideen om to krypteringsnøgler pr. person. Hver person har en privat nøgle og en offentlig nøgle. Den offentlige nøgle kan dekryptere noget, der blev krypteret ved hjælp af den private nøgle.

For at sende en fil sikkert, krypterer du den med din private nøgle og modtagerens offentlige nøgle. For at dekryptere filen skal de have deres private nøgle og din offentlige nøgle.

Du kan se, at offentlige nøgler skal deles. Du skal have modtagerens offentlige nøgle for at kryptere filen, og modtageren skal bruge din offentlige nøgle for at dekryptere den. Der er ingen fare i at gøre dine offentlige nøgler netop det – offentlige. Faktisk er der offentlige nøgleservere til netop det formål, som vi skal se. Private nøgler skal holdes private. Hvis din offentlige nøgle er i det offentlige domæne, skal din private nøgle holdes hemmelig og sikker.

Der er flere trin involveret i at konfigurere GPG, end der er i at bruge det. Heldigvis behøver du normalt kun konfigurere det én gang.

Generering af dine nøgler

gpg-kommandoen blev installeret på alle de Linux-distributioner, der blev kontrolleret, inklusive Ubuntu, Fedora og Manjaro.

Du behøver ikke bruge GPG med e-mail. Du kan kryptere filer og gøre dem tilgængelige til download eller videregive dem fysisk til modtageren. Du skal dog knytte en e-mailadresse til de nøgler, du genererer, så vælg hvilken e-mailadresse du vil bruge.

Her er kommandoen til at generere dine nøgler. Indstillingen –full-generate-key genererer dine nøgler i en interaktiv session i dit terminalvindue. Du vil også blive bedt om en adgangssætning. Sørg for at huske, hvad adgangssætningen er. Tre eller fire enkle ord sammenføjet med tegnsætning er en god og robust model for adgangskoder og adgangssætninger.

gpg --full-generate-key

Du bliver bedt om at vælge en krypteringstype fra en menu. Medmindre du har en god grund til at lade være, skal du skrive 1 og trykke på Enter.

Du skal vælge en bitlængde til krypteringsnøglerne. Tryk på Enter for at acceptere standarden.

Du skal angive, hvor længe nøglen skal holde. Hvis du tester systemet, skal du indtaste en kort varighed som f.eks. 5 i fem dage. Hvis du vil beholde denne nøgle, skal du indtaste en længere varighed som f.eks. 1 år i et år. Nøglen holder i 12 måneder og skal derfor fornys efter et år. Bekræft dit valg med et Y.

  Sådan installeres den hyggelige lydbogsafspiller på Linux

Du skal indtaste dit navn og din e-mailadresse. Du kan tilføje en kommentar, hvis du ønsker det.

Du vil blive bedt om din adgangssætning. Du skal bruge adgangssætningen, når du arbejder med dine nøgler, så sørg for, at du ved, hvad det er.

Klik på knappen OK, når du har indtastet din adgangssætning. Du vil se dette vindue, mens du arbejder med gpg, så sørg for at huske din adgangssætning.

Nøglegenereringen vil finde sted, og du vil blive returneret til kommandoprompten.

Generering af et tilbagekaldelsesattest

Hvis din private nøgle bliver kendt af andre, bliver du nødt til at adskille de gamle nøgler fra din identitet, så du kan generere nye. For at gøre dette skal du have en tilbagekaldelsesattest. Vi gør det nu og opbevarer det et sikkert sted.

Indstillingen –output skal efterfølges af filnavnet på det certifikat, du ønsker at oprette. Indstillingen –gen-revoke får gpg til at generere et tilbagekaldelsescertifikat. Du skal angive den e-mailadresse, som du brugte, da nøglerne blev genereret.

gpg --output ~/revocation.crt --gen-revoke [email protected]

Du vil blive bedt om at bekræfte, at du ønsker at generere et certifikat. Tryk på Y og tryk på Enter. Du vil blive spurgt om årsagen til, at du genererer certifikatet. Da vi gør dette før tid, ved vi det ikke med sikkerhed. Tryk på 1 som et plausibelt gæt, og tryk på Enter.

Du kan indtaste en beskrivelse, hvis du ønsker det. Tryk på Enter to gange for at afslutte din beskrivelse.

Du bliver bedt om at bekræfte dine indstillinger, tryk på Y og tryk på Enter.

Certifikatet vil blive genereret. Du vil se en meddelelse, der understreger behovet for at opbevare dette certifikat sikkert.

Den nævner en, der hedder Mallory. Kryptografi diskussioner har længe brugt Bob og Alice som de to mennesker, der kommunikerer. Der er andre bifigurer. Eve er en aflytning, Mallory er en ondsindet angriber. Alt, hvad vi behøver at vide, er, at vi skal opbevare certifikatet sikkert og sikkert.

Lad os som minimum fjerne alle tilladelser bortset fra vores fra certifikatet.

chmod 600 ~/revocation.crt

Lad os tjekke med ls for at se, hvad tilladelsen er nu:

ls -l

Det er perfekt. Ingen bortset fra filejeren – os – kan gøre noget med certifikatet.

Import af en andens offentlige nøgle

For at kryptere en besked, som en anden person kan dekryptere, skal vi have deres offentlige nøgle.

Hvis du har fået deres nøgle i en fil, kan du importere den med følgende kommando. I dette eksempel hedder nøglefilen “mary-geek.key.”

gpg --import mary-geek.key

Nøglen importeres, og du får vist det navn og den e-mailadresse, der er knyttet til den pågældende nøgle. Det skal naturligvis matche den person, du modtog det fra.

  Windows 10 giver dig mulighed for at indlæse en brugerdefineret Linux-kerne

Der er også mulighed for, at den person, du skal bruge en nøgle fra, har uploadet sin nøgle til en offentlig nøgleserver. Disse servere gemmer folks offentlige nøgler fra hele verden. Nøgleserverne synkroniserer med hinanden med jævne mellemrum, så nøgler er universelt tilgængelige.

Den offentlige MIT-nøgleserver er en populær nøgleserver og en, der regelmæssigt synkroniseres, så søgningen der skulle være vellykket. Hvis nogen først for nylig har uploadet en nøgle, kan det tage et par dage, før den vises.

Valgmuligheden –keyserver skal efterfølges af navnet på den nøgleserver, du ønsker at søge efter. Indstillingen –search-keys skal efterfølges af enten navnet på den person, du søger efter, eller deres e-mailadresse. Vi bruger e-mailadressen:

gpg --keyserver pgp.mit.edu --search-keys [email protected]

Kampene er listet for dig og nummereret. For at importere en, skriv nummeret og tryk på Enter. I dette tilfælde er der et enkelt match, så vi skriver 1 og trykker på Enter.

Nøglen importeres, og vi får vist navnet og den e-mailadresse, der er knyttet til den pågældende nøgle.

Verifikation og signering af en nøgle

Hvis du har fået udleveret en offentlig nøglefil af en, du kender, kan du roligt sige, at den tilhører denne person. Hvis du har downloadet den fra en offentlig nøgleserver, føler du måske behov for at bekræfte, at nøglen tilhører den person, den er beregnet til.

Indstillingen –fingerprint får gpg til at oprette en kort sekvens på ti sæt af fire hexadecimale tegn. Du kan bede personen om at sende dig fingeraftrykket af deres nøgle.

Du kan derefter bruge -fingerprint-indstillingen til at generere den samme fingeraftrykssekvens af hexadecimale tegn og sammenligne dem. Hvis de matcher, ved du, at nøglen tilhører den person.

gpg --fingerprint [email protected]

Fingeraftrykket genereres.

Når du er overbevist om, at nøglen er ægte og ejes af den person, den formodes at være tilknyttet, kan du underskrive deres nøgle.

Hvis du ikke gør dette, kan du stadig bruge det til at kryptere og dekryptere beskeder fra og til den pågældende person. Men gpg vil spørge dig hver gang, om du vil fortsætte, fordi nøglen er usigneret. Vi bruger den passende navngivne –sign-key-mulighed og angiver personens e-mail-adresse, så gpg ved, hvilken nøgle der skal signeres.

gpg --sign-key [email protected]

Du vil se oplysninger om nøglen og personen og vil blive bedt om at bekræfte, at du virkelig vil underskrive nøglen. Tryk på Y og tryk på Enter for at underskrive nøglen.

Sådan deler du din offentlige nøgle

For at dele din nøgle som en fil, skal vi eksportere den fra gpg’s lokale nøglelager. For at gøre dette bruger vi muligheden –eksport, som skal efterfølges af den e-mailadresse, som du brugte til at generere nøglen. Indstillingen –output skal efterfølges af navnet på den fil, du ønsker at få nøglen eksporteret til. Indstillingen –armor fortæller gpg at generere ASCII panseroutput i stedet for en binær fil.

gpg --output ~/dave-geek.key --armor --export [email protected]

Vi kan tage et kig inde i nøglefilen med mindre.

less dave-geek.key

Nøglen er vist i al sin herlighed:

  Sådan konverteres Google Docs til Libre Office-filer på Linux

Du kan også dele din offentlige nøgle på en offentlig nøgleserver. Indstillingen –send-keys sender nøglen til nøgleserveren. Indstillingen –keyserver skal efterfølges af webadressen på den offentlige nøgleserver. For at identificere, hvilken nøgle der skal sendes, skal fingeraftrykket for nøglen angives på kommandolinjen. Bemærk, at der ikke er mellemrum mellem sættene med fire tegn.

(Du kan se fingeraftrykket for din nøgle ved at bruge –fingeraftryksindstillingen.)

gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4

Du får en bekræftelse på, at nøglen er sendt.

Kryptering af filer

Vi er endelig klar til at kryptere en fil og sende den til Mary. Filen hedder Raven.txt.

Indstillingen –encrypt fortæller gpg at kryptere filen, og –sign-indstillingen fortæller den at signere filen med dine detaljer. Indstillingen –armor fortæller gpg at oprette en ASCII-fil. Valgmuligheden -r (modtager) skal efterfølges af e-mailadressen på den person, du sender filen til.

gpg --encrypt --sign --armor -r [email protected]

Filen oprettes med samme navn som originalen, men med “.asc” tilføjet til filnavnet. Lad os tage et kig ind i den.

less Raven.txt.asc

Filen er fuldstændig ulæselig og kan kun dekrypteres af en person, der har din offentlige nøgle og Marys private nøgle. Den eneste person, der har begge disse burde være Mary.

Vi kan nu sende filen til Mary i tillid til, at ingen andre kan dekryptere den.

Dekryptering af filer

Mary har sendt et svar. Det er i en krypteret fil kaldet coded.asc. Vi kan dekryptere det meget nemt ved at bruge -dekryptere muligheden. Vi vil omdirigere outputtet til en anden fil kaldet plain.txt.

Bemærk, at vi ikke behøver at fortælle gpg, hvem filen er fra. Det kan løses ud fra det krypterede indhold af filen.

gpg --decrypt coded.asc > plain.txt

gpg --decrypt coded.asc > plain.txt i et terminalvindue” width=”646″ height=”212″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”  onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”></p>
<p>Lad os se på plain.txt-filen:</p>
<pre>less plain.txt</pre > <p><img loading=

Filen er blevet dekrypteret for os.

Opfriskning af dine nøgler

Med jævne mellemrum kan du bede gpg om at kontrollere de nøgler, den har mod en offentlig nøgleserver, og om at opdatere alle, der er ændret. Du kan gøre dette hvert par måneder, eller når du modtager en nøgle fra en ny kontakt.

Indstillingen –refresh-keys får gpg til at udføre kontrollen. Valgmuligheden –keyserver skal efterfølges af nøgleserveren efter eget valg. Når først nøglerne er blevet synkroniseret mellem de offentlige nøgleservere, burde det være ligegyldigt, hvilken du vælger.

gpg --keyserver pgp.mit.edu --refresh-keys

gpg svarer ved at angive de nøgler, den kontrollerer, og fortælle dig, hvis nogen er ændret og blevet opdateret.

Privatliv er et varmt emne

Privatliv er aldrig langt fra nyhederne i disse dage. Uanset dine grunde til at ønske at holde dine oplysninger sikre og private, giver gpg en enkel måde at anvende utrolig stærk kryptering på dine filer og kommunikation.

Der er andre måder at bruge gpg på. Du kan få et plugin til Thunderbird hedder Enigmail. Den kobles direkte ind i din gpg-konfiguration for at tillade dig at kryptere e-mail-beskeder inde fra Thunderbird.