Artikelkategori: Säkerhet
Skriven av locodude 2004-02-04 19:10
url: http://www.gnupg.org

Kryptera med GnuPG

I dessa dagar då vi skickar allt mer information kors och tvärs över internet till både den ena och den andra personen kan det vara nyttigt att om man skickar känslig information kunna kryptera den så att den inte faller i fel händer. Ett opensource alternativ till Philip Zimmermans PGP är GnuPG från The GNU Project. Såväl installationen som användandet är mycket enkelt.

Det första du skall göra är surfa in på http://www.gnupg.org och hämta den senaste versionen(i skrivande stund GnuPG 1.2.4). Ladda ner tar.gz-filen till lämplig katalog(t.ex. /usr/local) och öppna en kommandoprompt. Kör sedan följande serie kommandon:

cd /usr/local (eller var du nu lade filen)
tar -xzf gnupg-1.2.4.tar.gz
cd gnupg*
./configure
make
make install (notera att du måste vara root för att köra detta kommando)


Förutsatt att allting gick som det skulle har du nu installerat GnuPG på din dator. Binärfilen återfinns på platsen /usr/local/bin/gpg.

Nästa steg är att skapa dig ett personligt nyckelpar, en publik nyckel som du delar med dig av till de som vill skicka krypterade meddelanden eller filer till dig, och en privat nyckel som du använder för att avkryptera saker som krypterats med din publika nyckel. Återvänd till kommandoprompten och skriv:

gpg --gen-key

Därefter kommer du få svara på ett antal frågor. Först tillfrågas du om önskad längd på din nyckel. Desto kortare nyckel desto lättare är den att knäcka men desto större nyckel desto mer krävande är det för en dator att avkryptera något som krypterats med nyckeln. Jag skulle rekommendera att du iallafall väljer en nyckellängd på 1024 eller mer. När du valt nyckellängd kommer GnuPG att fråga dig efter namn, kommentarer och mailadress till nyckelägaren(d.v.s. du). Nästa steg är att välja ett lämpligt lösenord som sedan kommer att användas när du nyttjar GnuPG. När väl lösenord har valts kommer ditt nyckelpar att skapas.

För att kunna dela med dig av din publika nyckel till andra så att de kan kryptera sina meddelanden till dig gör du bäst i att exportera din nyckel till en textfil. Sedan kan du enkelt lägga upp denna textfil på din hemsida, e-maila eller på annat sätt ge den till de som behöver ha den. Exporterar en publik nyckel gör du med följande kommando:

gpg --armor --output pubkey.gpg --export din@email.adress

Filen pubkey.gpg innehåller nu din publika nyckel i ren text. Naturligtvis kan du egentligen döpa denna fil till precis vad du vill.

Precis som du vill kunna dela med dig till andra av din publika nyckel så vill du med största sannolikhet kunna importera dina kompisars publika nycklar så att även du kan kryptera när du skickar saker till dem. Se då till att skaffa dig en textfil som den ovan från den person som du vill kunna skicka krypterade saker till. Sedan skriver du följande vid prompten för att importera din kompis publika nyckel:

gpg --import pubkey.gpg

Ovan är pubkey.gpg följdaktligen namnet på den nyckelfil som du inskaffat. Nu har personen som nyckeln tillhör lagts till i din lista av publika nycklar.

Säg nu att du vill skicka ett krypterat meddelande till din kompis Kalle. Meddelandet har du t.ex. lagt i en fil som heter message.txt. Med följande kommando skapar du en krypterad fil som du sedan kan skicka till Kalle och vara hyfsat säker på att endast han kan avkryptera och läsa den:

gpg --output message.txt.gpg --encrypt --recipient kalle@email.nu message.txt

När Kalle sedan mottar den krypterade filen message.txt.gpg vill han troligtvis avkryptera den och läsa den. Då skriver han så här:

gpg --output message.txt --decrypt message.txt.gpg

Kalle kommer nu att frågas efter sitt lösenord. När rätt lösenord matats in kommer filen att avkrypteras till filen message.txt som Kalle sedan kan öppna och läsa.

Ibland kan man vilja kryptera något på ett sätt så att man inte behöver ha en privat nyckel till hands för att avkryptera informationen ifråga. Detta är inte lika säkert men gör dock att göra med GnuPG. Den krypterade informationen skyddas då endast av ett lösenord som anges vid krypteringstillfället. För att t.ex. kryptera filen message.txt på detta viset skriver du:

gpg --output message.txt.gpg --symmetric message.txt

Därefter kommer du att vara tvungen att mata in ett lösenord två gånger varpå filen krypteras till message.txt.gpg. Avkryptering av denna fil sker sedan med hjälp av

gpg --output message.txt --decrypt message.txt.gpg

följt av inmatning av korrekt lösenord. Den avkrypterade informationen återfinns nu i filen message.txt.

När ni då bytt nycklar med alla era polare och importerat dessa kommer ni säkert vid ett eller annat tillfälle vilja lista vilka nycklar ni har. Detta görs enkelt med

gpg --list-keys

För att editera en nyckel använder du kommandot

gpg --edit-key UID

och för att ta bort en nyckel skriver du

gpg --delete-key UID

I båda dessa fall är UID användar-ID eller e-mail för den nyckel som du vill ändra eller ta bort.

En annan sak som man använder GnuPG till är att signera olika saker för att verifiera och intyga att de verkligen kommer från dig och är godkända av just dig. Detta kan vara ett e-mail, ett TAR-arkiv eller något annat som du anser kräver detta. För att producera en signatur skriver du

gpg --clearsign minfil.txt

Detta signerar filen minfil.txt med din signatur(OBS! Detta betyder alltså att filen förändras.). Öppna filen och se efter själv att signaturen är på plats. Denna metod lämpar sig inte speciellt väl om man skall signera något annat än textfiler. Om du till exempel vill signera en binärfil eller något liknande är det att föredra att exportera sin signatur till en separat fil och bifoga den istället. För att signera filen minfil.bin men skriva signaturen till filen signature.gpg kör du

gpg --armor --detach-sign --output signature.gpg minfil.bin

Det är ofta lämpligt att både signera och kryptera en fil. Syntaxen för att göra detta ser ut som följer

gpg [-u Avsändare] [-r Mottagare] [--armor] --sign --encrypt [Data]

Det var det hela. Om ni förstod allt ovanstående borde ni nu vara redo för att börja nyttja GnuPG på allvar.

För er som tycker att det är besvärligt att sitta och hacka vid prompten så finns en frontend till GnuPG som heter GPA. Den kan laddas ner från GnuPGs hemsida och dess installation bör gå ganska problemfritt. Likaså finns det en uppsjö av plug-ins till olika program(Mozilla Thunderbird, Kmail, Eudora, etc.) som underlättar användandet av GnuPG. Länkar till dessa finner du även de på GnuPGs hemsida.

Om ni av en eller annan anledning har lust att skicka krypterat material till mig så finns min publika nyckel att ladda ner här och i klartext här.

Tack för mig och lycka till med krypteringen!
×