GNU Privacy Guard

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif
GNU Privacy Guard
Senaste utgåva 2.0.9 och 1.4.9 / 26 mars 2008
Operativsystem Multiplattform
Programkategori Säkerhetsprogram
Licens GPL
Webbplats gnupg.org

GNU Privacy Guard (eller kort GnuPG eller GPG) är ett fritt program tillhörandes GNU-projektet som används för att kryptera, dekryptera, signera och verifiera exempelvis e-brev och filer. GNU Privacy Guard följer IETF-standarden OpenPGP fullt ut (RFC2440). GNU Privacy Guard är huvudsakligen skrivet av Werner Koch.

Innehåll

Funktion

GnuPG använder sig av hybridkryptering vilket innebär att både asymmetrisk och symmetrisk kryptering används. Eftersom asymmetriska krypteringsnycklar är mycket längre än symmetriska, så är det väldigt beräkningsintensivt att kryptera långa textmeddelanden med dem. Därför krypteras meddelandet först med en symmetrisk krypteringsnyckel, en sessionsnyckel, som sedan i sin tur krypteras asymmetriskt. I den asymmetriska krypteringen används mottagarens publika nyckel för att kryptera den symmetriska sessionsnyckeln, som sedan dekrypteras av mottagaren då denne använder sig av sin privata nyckel.

Genom att den publika nyckeln används vid kryptering och den privata vid dekryptering så gör sig avsändaren viss om att endast mottagaren kan dekryptera innehållet, givetvis förutsatt att mottagaren håller sin privata nyckel hemlig för omgivningen.

För att mottagaren ska kunna förvissa sig om att avsändaren verkligen är den som skickat meddelandet och att den inte förfalskats eller att någon har kommit in på vägen och utfört en så kallad man-in-the-middle attack (ung. person mitt emellan-attack) och ändrat på innehållet, så kan avsändaren tillverka ett kryptografiskt hashvärde baserat på innehållet i meddelandet och sedan kryptera det med sin privata nyckels, som också innehåller en verifikationsnyckel. Mottagaren använder sedan avsändarens publika nyckel för att avgöra om meddelandet är autentiskt.

Installation

GnuPG kan bland annat installeras genom att installationspaket, som passar det operativsystem som används, laddas ned från GnuPG:s officiella webbplats. I många linuxsystem finns det färdiga installationspaket som hanteras i den pakethanterare som medföljer operativsystemet. Eftersom GnuPG distribueras som öppen källkod kan källkoden laddas ned för egenhändig kompilering. Då krävs det en separat kompilator som är anpassad för det operativsystem som kompileringen görs i.

Skapa nycklar

För att skapa en uppsättning med nycklar används

gpg --gen-key

Man får sedan en lättföljd meny med lite olika steg. Lite om att välja nyckelstorlek kan läsas i GnuPG:s officella HOWTO. Standard 1024-bitars för DSA bör räcka.

Efter detta kommer ett val om när nyckeln ska gå ut, detta för ökad säkerhet. För privatpersoner bör never-expire duga gott. (Invändningar?)

När de personliga uppgifterna är ifyllda är det dags att välja en passphrase (dvs åtminstone en någorlunda lång textmassa) för att förhindra att andra kan använda/läsa din privata nyckel. Nästan hela säkerheten ligger (som vanligt) i att välja så starka lösenord som möjligt. Med för svagt lösenord blir säkerheten väldigt mycket svagare om någon skulle komma över dina filer.

När du är färdig med nyckelgenereringen är det dags att göra en backup på dina nycklar och filer. Detta görs enklast genom följande kommando (i Linux/Unix/Liknande system).

cd ~
tar -zvcf gnupg_keys.tar.gz .gnupg/

Exportera nycklar

För att kunna lägga upp din publika nyckel på webbsidor och kunna ge till dina nära och kära krävs att du exporterar den publika nyckeln. Detta görs genom

gpg --export --armor din.email@host.se

Du kan också redirecta till en fil, ex. namn_efternamn.asc, för att lägga ut på webbsidor.

Denna kan sedan skickas och spridas till världen. Men hur vet folk som laddat ner den publika nyckeln att det verkligen handlar om Arne och inte Kalle som försöker vara elak och sprida sin nyckel som din?

Detta kan lösas på två huvudsakliga sätt. Dels kan man låta en tredje part som båda litar på signera nyckeln, dels kan man använda fingerprint för att verifiera dess korrekthet. För att visa fingerprints används

gpg --fingerprint

Något snarlikt följande visas då

/home/arne/.gnupg/pubring.gpg
----------------------------
pub  1024D/12345678 2004-11-17 Arne Arnesson (dude) <dev@null.com>
     Key fingerprint = 1234 5678 9ABC DEF0 1234  5678 9ABC DEF0 1234 5678
sub  1024g/87654321 2004-11-17

KeyID:t är 12345678 och kan användas för att snabbt identifiera olika personers nycklar. Fingerprinten är den långa (Key fingerprint = [..]) och används för att verifera att det faktiskt är din publika nyckel och ingen annans.

Importera nycklar

För att importera en nyckel används

gpg --import foo_dude.asc

eller varför inte

wget -O - http://example.com/foo_dude.asc | gpg --import

Vid import tar GnuPG och lägger till nyckeln i din nyckelring. Du kan sedan köra --fingerprint för att verifera att det är rätt nyckel du fått.

Signera/Verifera filer

GnuPG kan användas för att signera och verifera att en fil är densamma efter tex. en överföring över Internet.

För att signera filen bar kan man göra på många olika sätt (se gpg(1)), men vi kommer här att skapa en separat ASCII-fil bar.asc som innehåller signaturen

gpg -b --armor bar

De båda filerna kan nu skickas över till en annan dator där du har importerat den publika nyckeln sedan tidigare. Kör då

gpg --verify bar.asc

Du ser nu om det är en Good signature eller en BAD. Om resultatet är av det tidigare slaget betyder det att filen är intakt och oförändrat - allt väl.

Du kommer (om du överfört "det" till en annan dator) få en varning på att nyckeln inte är pålitlig.

Trust

GnuPG med e-postklienter

Mozilla Thunderbird

Mozilla Thunderbird har ännu inget inbyggt stöd för Gnu Privacy Guard, men tillägget Enigmail ger tillgång till verktyg som förenklar användningen av Gnu Privacy Guards kommandon med hjälp av dialogrutor och menyalternativ.

Externa länkar

Personliga verktyg