Sikre dine personlige data med Linux-kommandoen gpg. Utnytt avansert kryptering for å beskytte dine hemmeligheter. Denne veiledningen viser deg hvordan du bruker gpg til å administrere nøkler, kryptere og dekryptere filer.
Gnu Privacy Guard (GPG) muliggjør sikker kryptering av filer, slik at kun den tiltenkte mottakeren kan dekryptere dem. GPG følger OpenPGP-standarden, og er basert på programmet Pretty Good Privacy (PGP), utviklet av Phil Zimmerman i 1991.
GPG opererer med konseptet om to krypteringsnøkler per bruker: en privat nøkkel og en offentlig nøkkel. Den offentlige nøkkelen kan dekryptere data kryptert med den tilhørende private nøkkelen.
For sikker overføring krypteres en fil med din private nøkkel og mottakerens offentlige nøkkel. Mottakeren må bruke sin private nøkkel og din offentlige nøkkel for å dekryptere filen.
Offentlige nøkler må deles. Du trenger mottakerens offentlige nøkkel for å kryptere filen, og de trenger din offentlige nøkkel for å dekryptere den. Å dele offentlige nøkler er trygt, og det finnes offentlige nøkkelservere for dette formålet. Private nøkler må holdes hemmelige. Selv om den offentlige nøkkelen er offentlig tilgjengelig, må den private nøkkelen være beskyttet.
Oppsett av GPG krever flere steg enn selve bruken. Heldigvis trenger du som regel kun å gjøre dette én gang.
Opprette nøkler
Kommandoen gpg er installert i de fleste Linux-distribusjoner, inkludert Ubuntu, Fedora og Manjaro.
GPG kan brukes til mer enn bare e-post. Du kan kryptere filer for nedlasting eller fysisk overføring. Du må likevel knytte en e-postadresse til nøklene dine.
Bruk følgende kommando for å opprette nøkler. Alternativet –full-generate-key genererer nøklene gjennom en interaktiv økt i terminalen. Du blir også bedt om en passordfrase. Det er viktig å huske denne. En god passordfrase består av tre eller fire enkle ord med tegnsetting, som beskrevet her.
gpg --full-generate-key
Velg en krypteringstype fra menyen. Skriv 1 og trykk Enter, med mindre du har spesielle grunner til å velge noe annet.
Velg en bitlengde for krypteringsnøklene. Trykk Enter for å akseptere standarden.
Angi hvor lenge nøkkelen skal vare. For testing kan du bruke en kort varighet, som 5 dager. For varig bruk, velg en lengre periode, for eksempel 1 år. Nøkkelen må fornyes etter denne perioden. Bekreft valget ditt med Y.
Oppgi navn og e-postadresse. Du kan eventuelt legge til en kommentar.
Du blir nå bedt om å oppgi passordfrasen. Du trenger denne for å jobbe med nøklene, så husk den.
Klikk OK etter å ha skrevet inn passordfrasen. Husk denne frasen, da den trengs hver gang du bruker gpg.
Nøkkelgenereringen starter, og du returneres til ledeteksten.
Generere et tilbakekallingssertifikat
Hvis din private nøkkel blir kompromittert, må du deaktivere de gamle nøklene for å kunne generere nye. Dette gjøres ved hjelp av et tilbakekallingssertifikat. Lagre sertifikatet på et trygt sted.
Bruk alternativet –output for å angi filnavnet for sertifikatet. Alternativet –gen-revoke ber gpg om å generere tilbakekallingssertifikatet. Angi e-postadressen som ble brukt da nøklene ble opprettet.
gpg --output ~/revocation.crt --gen-revoke [email protected]
Bekreft at du ønsker å generere sertifikatet med Y. Oppgi årsaken til genereringen, for eksempel 1 for en plausibel gjetning, og trykk Enter.
Du kan legge inn en beskrivelse hvis du vil. Trykk Enter to ganger for å avslutte beskrivelsen.
Bekreft innstillingene med Y, og trykk Enter.
Sertifikatet genereres. Du får en melding om å oppbevare det sikkert.
I kryptografisammenheng har Bob og Alice lenge vært standardpersonene i kommunikasjon. Eve er en avlytter, og Mallory er en ondsinnet angriper. Oppbevar sertifikatet sikkert.
Fjern alle tillatelser fra sertifikatet, bortsett fra dine egne.
chmod 600 ~/revocation.crt
Sjekk tillatelsen med ls:
ls -l
Kun filens eier (du) har tillatelse til å gjøre endringer i sertifikatet.
Importere andres offentlige nøkkel
Du trenger andres offentlige nøkkel for å kryptere meldinger de kan dekryptere.
Importer nøkkelen fra en fil ved å bruke følgende kommando, og erstatt mary-geek.key med ditt filnavn.
gpg --import mary-geek.key
Nøkkelen importeres, og du får informasjon om navnet og e-postadressen tilknyttet nøkkelen. Sjekk at dette samsvarer med personen du mottok nøkkelen fra.
En annen mulighet er at personen har lastet opp nøkkelen sin til en offentlig nøkkelserver. Disse serverne lagrer offentlige nøkler fra brukere over hele verden og synkroniseres jevnlig for universell tilgjengelighet.
MIT sin offentlige nøkkelserver er et populært valg for søk. Det kan ta noen dager før nylig opplastede nøkler vises.
Bruk alternativet –keyserver etterfulgt av navnet på serveren, og alternativet –search-keys etterfulgt av personens navn eller e-postadresse. Vi bruker e-postadressen:
gpg --keyserver pgp.mit.edu --search-keys [email protected]
Resultater listes med nummer. Skriv nummeret og trykk Enter for å importere. I dette tilfellet, er det kun et treff. Vi skriver derfor 1 og trykker Enter.
Nøkkelen importeres, og informasjon om navnet og e-postadressen tilknyttet nøkkelen vises.
Bekrefte og signere en nøkkel
Hvis du har mottatt en offentlig nøkkelfil fra noen du kjenner, kan du være sikker på at den tilhører vedkommende. Hvis du har lastet ned nøkkelen fra en offentlig server, kan det være lurt å bekrefte identiteten.
Alternativet –fingerprint genererer en sekvens av ti sett med fire heksadesimale tegn. Du kan be personen om å sende deg sitt nøkkelfingeravtrykk.
Bruk –fingerprint til å generere fingeravtrykket og sammenligne det med fingeravtrykket du har mottatt. Hvis de er identiske, er du sikker på at nøkkelen tilhører personen.
gpg --fingerprint [email protected]
Fingeravtrykket genereres.
Når du er trygg på at nøkkelen er ekte og tilhører den rette personen, kan du signere den.
Selv uten å signere nøkkelen kan du bruke den til å kryptere og dekryptere meldinger til og fra personen. GPG vil derimot spørre om du vil fortsette hver gang, fordi nøkkelen er usignert. Bruk alternativet –sign-key og personens e-postadresse for å angi hvilken nøkkel som skal signeres.
gpg --sign-key [email protected]
Du får informasjon om nøkkelen og personen, og blir spurt om du vil signere den. Trykk Y og Enter for å signere.
Dele din offentlige nøkkel
For å dele nøkkelen din som en fil, må du eksportere den fra gpg’s lokale nøkkellager. Bruk alternativet –export, etterfulgt av e-postadressen du brukte til å generere nøkkelen. Alternativet –output angir filnavnet for eksporten. –Armor forteller gpg å generere ASCII-utdata i stedet for en binær fil.
gpg --output ~/dave-geek.key --armor --export [email protected]
Du kan se innholdet i nøkkelfilen med mindre.
less dave-geek.key
Nøkkelen vises i fullt format:
Du kan også dele nøkkelen din på en offentlig nøkkelserver. Bruk alternativet –send-keys for å sende nøkkelen til serveren. –Keyserver angir serverens nettadresse. Fingeravtrykket for nøkkelen må oppgis i kommandolinjen for å identifisere hvilken nøkkel som skal sendes. Merk at det ikke er mellomrom mellom gruppene med fire tegn.
(Du kan finne fingeravtrykket for din nøkkel med alternativet –fingerprint.)
gpg --send-keys --keyserver pgp.mit.edu 31A4E3BE6C022830A804DA0EE9E4D6D0F64EEED4
Du vil motta bekreftelse på at nøkkelen er sendt.
Kryptere filer
Du er nå klar til å kryptere en fil og sende den til Mary. Filen heter Raven.txt.
Bruk –encrypt for å kryptere filen, og –sign for å signere den med dine detaljer. –Armor lager en ASCII-fil. Alternativet -r (mottaker) må følges av e-postadressen til den du sender filen til.
gpg --encrypt --sign --armor -r [email protected]
Filen lages med samme navn som originalen, men med «.asc» lagt til. La oss se på innholdet.
less Raven.txt.asc
Filen er uleselig og kan kun dekrypteres av noen som har din offentlige nøkkel og Marys private nøkkel. Mary burde være den eneste personen som har begge.
Du kan nå sende filen til Mary, vel vitende om at ingen andre kan dekryptere den.
Dekryptere filer
Mary har sendt et svar i en kryptert fil kalt coded.asc. Dekrypter filen med alternativet –decrypt. Omdiriger utdataene til en ny fil kalt plain.txt.
Du trenger ikke å angi hvem filen er fra. GPG finner dette fra det krypterte innholdet.
gpg --decrypt coded.asc > plain.txt
Filen er nå dekryptert.
Oppdatere nøkler
Jevnlig bør du la gpg sjekke nøklene sine mot en offentlig nøkkelserver for å oppdatere de som har endret seg. Dette kan gjøres med noen måneders mellomrom eller når du mottar en nøkkel fra en ny kontakt.
Bruk alternativet –refresh-keys for å utføre sjekken. Alternativet –keyserver angir serveren. Ettersom nøklene er synkronisert mellom serverne, spiller det ingen rolle hvilken du velger.
gpg --keyserver pgp.mit.edu --refresh-keys
gpg vil liste opp nøklene som sjekkes, og informere deg om eventuelle oppdateringer.
Personvern er viktig
Personvern er et stadig viktigere tema. GPG tilbyr en enkel måte å beskytte filene dine og kommunikasjonen din med sterk kryptering.
Det finnes flere måter å bruke gpg på. Du kan installere et tillegg for Thunderbird som heter Enigmail, som integreres med gpg-konfigurasjonen for å kryptere e-postmeldinger fra Thunderbird.