Ghost in te Machines
On september 23, 2021 by adminJeg bruger GPG (også kendt som GnuPG) software til at kryptere filer, der indeholder følsomme oplysninger (for det meste adgangskoder). Som systemtekniker udfører jeg det meste af mit arbejde på fjernservere, der er tilgængelige via kommandolinjeinterface. Naturligvis finder jeg det lettere at bruge kommandolinjeversionen af GPG til direkte at kryptere og dekryptere dokumenter.
GPG (GNU Privacy Guard) er en gratis open source-version af PGP-krypteringssoftware (Pretty Good Privacy). Begge anvender konceptuelt set den samme tilgang til kryptografi (dvs. kryptering og dekryptering). De er dog hver især unikt forskellige i deres implementering.
Det følgende er en hurtig grundbog om, hvordan man installerer GPG-kommandolinjeværktøjerne, samt en liste over de grundlæggende kommandoer, som du sandsynligvis får brug for.
Installation af GPG
GPG kan installeres på en række forskellige måder. Vejledningen her installerer de centrale GPG-kommandolinjeværktøjer, som er beregnet til at blive brugt i en terminal.
Hvis du derimod foretrækker en grafisk brugergrænseflade (eller GUI) til at få adgang til GPG-funktionalitet (f.eks. kryptering af e-mail-kommunikation eller kryptering af dokumenter i en GUI-teksteditor), henvises til linkene i slutningen af denne artikel.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
Den nemmeste måde at installere GPG-kommandolinjeværktøjerne på din Mac på er ved først at installere Homebrew, et pakkehåndteringssystem, der gør tusindvis af softwarepakker tilgængelige til installation på din Mac.
Åbn et Terminal-vindue (menuen Programmer > Hjælpeprogrammer), og indtast derefter følgende kommando.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG Quick How To
Det følgende er en meget kort introduktion til brugen af kommandolinjen til GPG. Tænk på det som en “hurtig reference” eller et “snydeark”. Du bør helt sikkert lære mere om GPG end det, der er forklaret i dette indlæg. Det er kun beregnet til at få dig i gang. Hvis du forventer at bruge GPG i større omfang, vil jeg på det kraftigste råde dig til at læse mere dokumentation (se afsnittet Links nedenfor).
GPG er et kraftfuldt krypteringsprogram, men det kan også være let at lære – når du først har forstået nogle grundlæggende principper. GPG bruger en krypteringsmetode, der er kendt som kryptering med offentlige nøgler, som giver en række fordele og fordele. For at opnå disse fordele kræves der imidlertid et minimalt niveau af kompleksitet for at få det hele til at fungere. Du kan få en oversigt over, hvordan kryptografi med offentlige nøgler fungerer, ved at læse Introduktion til kryptografi (link nederst i dette indlæg).
Typografiske konventioner, der anvendes i kommandoer:
I alle nedenstående eksempler er tekst, som du skal erstatte med dine egne værdier (f.eks. brugernavne, e-mail-adresser, filnavne), vist med “grå kursiv”. Tekst, som du skal skrive bogstaveligt (uændret), er angivet med “sort konstant bredde”.
"gray italic""black constant width"
Opret din GPG-nøgle:
For at komme i gang med GPG skal du først generere dit nøglepar. Det vil sige, at du skal generere både en privat og en offentlig nøgle med en enkelt kommando. Indtast dit navn og din e-mail-adresse ved opfordringerne, men accepter ellers standardindstillingerne.
gpg --gen-key
Den første nøgle er din private (eller hemmelige) nøgle. Du skal altid opbevare denne private nøgle sikkert, og du må ikke dele den med nogen. Den private nøgle er beskyttet med en adgangskode. Prøv at gøre adgangskoden så lang som muligt, men noget du ikke vil glemme. Hvis du glemmer adgangskoden, er der ingen måde at gendanne den på. Af samme grund bør du også lave en sikkerhedskopi af din private nøgle. (Overvej at bruge Time Machine til sikkerhedskopier på Mac OS X.)
Den anden nøgle er din offentlige nøgle, som du trygt kan dele med andre mennesker.
Forholdet mellem den private og den offentlige nøgle er faktisk meget simpelt. Alt, der er krypteret med den offentlige nøgle, kan kun dekrypteres med den tilhørende private nøgle. Derfor vil du give din offentlige nøgle til en anden person, og de vil give dig deres offentlige nøgle. Alt, der er krypteret med din offentlige nøgle, kan kun dekrypteres af dig. Alt, der er krypteret til den anden persons offentlige nøgle, kan kun dekrypteres af den anden person.
Eksportér din offentlige nøgle:
Det næste skridt er at eksportere din offentlige nøgle og dele den med en anden person. Denne person skal gøre det samme og eksportere sin offentlige nøgle.
gpg --export --armor [email protected] > mypubkey.asc
Importér en anden persons offentlige nøgle:
Når du importerer en offentlig nøgle, placerer du den i det, der almindeligvis kaldes din GPG-“nøglering”.”
Liste over de offentlige nøgler i din keyring:
Du kan nu få vist en liste over de offentlige nøgler i din keyring samt det navn og den e-mailadresse, der er knyttet til hver nøgle.
gpg --list-keys
Liste over private nøgler i din keyring:
Med følgende kommando får du en liste over de private nøgler i din keyring. Dette vil vise din egen private nøgle, som du oprettede tidligere.
gpg --list-secret-keys
Trods en offentlig nøgle:
Når du har importeret den anden persons offentlige nøgle, skal du nu indstille tillidsniveauet for nøglen. Dette forhindrer GPG i at advare dig, hver gang du krypterer noget med den pågældende offentlige nøgle.
Angiv den anden persons navn eller e-mail i kommandoen.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Nyttige GPG-kommandoer
GPG har mange muligheder, hvoraf du aldrig får brug for de fleste. Her er en hurtig liste over de mest nyttige kommandoer, som du sandsynligvis får brug for.
Krypter en fil:
For at kryptere en fil med navnet filnavn.txt for en enkelt person skal du angive denne person som modtager.
gpg --encrypt --recipient glenn filename.txt
Dette vil oprette en ny krypteret fil med navnet filnavn.txt.gpg.
Hvis du ønsker at kryptere en fil, så kun du selv kan dekryptere den, skal du angive dig selv som modtager.
gpg --encrypt --recipient 'my_name' filename.txt
Hvis du vil kryptere en fil, så både du og en anden person kan dekryptere filen, skal du angive både dig og den anden person som modtagere.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Hvis du vil kryptere en fil for en gruppe af personer, skal du definere gruppen i din gpg.conf-fil (se afsnittet nedenfor), og angiv derefter gruppen som modtager.
gpg --encrypt --recipient journalists filename.txt
Efter et stykke tid vil du gerne være mere kortfattet og bruge den korte version af kommandolinjeindstillingerne. Her er den samme kommando.
gpg -e -r journalists filename.txt
Dekrypter en fil til terminal (standardudgang):
Den første version af denne kommando viser indholdet af en fil i selve terminalvinduet.
gpg --decrypt filename.txt.gpg
Brug kun --decrypt
-indstillingen, hvis filen er en ASCII-tekstfil. Hvis det er en binær fil, skal du udelade --decrypt
-indstillingen, som vil skrive den dekrypterede fil til disken. På det tidspunkt kan du åbne den binære fil i det program, der bruges til at få vist filen.
Dekrypter en fil til disk:
Hvad enten filen er ASCII eller binær, skal du, hvis du vil foretage ændringer i indholdet af en krypteret fil, først dekryptere den, foretage dine ændringer og derefter dekryptere filen igen. Som jeg nævnte i det foregående afsnit, skriver du den dekrypterede version af en fil til disken ved at udelade --decrypt
-indstillingen i kommandoen.
gpg filename.txt.gpg
Hvis den krypterede fil hed filnavn.txt.gpg, vil ovenstående kommando oprette en dekrypteret version med navnet filnavn.txt (med .gpg-udvidelsen fjernet).
Skab grupper af personer i din GPG-konfigurationsfil
For nemheds skyld kan du på forhånd definere en gruppe af personer i din GPG-konfigurationsfil. Dette har den fordel, at du kan kryptere en fil til hvert medlem af gruppen ved kun at angive gruppens navn som modtager, i stedet for at skulle angive hvert enkelt medlem af gruppen på besværlig vis.
Din GPG-softwarekonfiguration gemmes i din hjemmemappe i filen ~/.gnupg/gpg.conf
. Rediger denne fil ved hjælp af din foretrukne kommandolinje-teksteditor (vim, nano, pico, emacs osv.). Der er mange indstillinger tilgængelige i konfigurationsfilen, men gå til det afsnit, der vedrører definitionen af grupper.
Når du definerer en gruppe, angiver du en liste over gruppens medlemmer. Hvert medlem refereres ved en attribut af deres offentlige nøgle, der findes i din GPG-nøglering – typisk et personnavn (eller en del af et navn, f.eks. fornavn eller efternavn) eller en e-mail-adresse (eller en del af en e-mail-adresse).
Hvis du er medlem af gruppen, skal du huske at inkludere dig selv i gruppen! Hvis du ikke anfører dig selv i gruppen, vil du ikke kunne dekryptere filer, som du krypterer til gruppen.
Her er et eksempel på en gruppe med navnet “journalister”, hvor fornavnet på hver person er angivet.
group journalists = glenn laura ewan barton
Hvor skal du gå hen herfra
Jeg opfordrer dig til at lære mere om GPG. Se nedenstående links.
Du vil måske også gerne lære om sikre metoder til at slette filer fra din computers harddisk. Mac OS X har indstillingen “Secure Empty Trash” (sikker tøm papirkurven) i Finder. Der findes også adskillige tredjepartsværktøjer, som du kan installere.
Da vi er inde på temaet om at lære at bruge GPG på kommandolinjen, kan du måske prøve “bcwipe” – et program til sikker sletning af filer på kommandolinjen.
På Mac OS X kan du installere bcwipe via Homebrew.
brew install bcwipe
Links
Alment
- Introduktion til kryptografi (PDF)
- GnuPG Softwares websted
- GnuPG på Wikipedia
- Homebrew (pakkehåndtering til Mac OS X)
GUI-værktøjer
- GPG Suite (GUI for Mac OS X)
- Sådan bruges GPG Suite på Mac OS X (Electronic Frontier Foundation)
- Gpg4win (GUI for Windows)
- Sådan bruges Gpg4Win på Windows (Electronic Frontier Foundation)
Skriv et svar