PGP står för Pretty Good Privacy. Det är en krypteringsprogramvara som är utformad för att tillhandahålla integritet, säkerhet och autentisering för onlinekommunikationssystem. Phil Zimmerman är namnet bakom det första PGP-programmet och enligt honom gjordes det fritt tillgängligt på grund av den växande sociala efterfrågan på integritet.
Sedan skapandet 1991 har många versioner av PGP-programvaran skapats. 1997 lade Phil Zimmerman fram ett förslag till Internet Engineering Task Force (IETF) för att skapa en öppen källkod PGP-standard. Förslaget accepterades och ledde till skapandet av OpenPGP-protokollet, som definierar standardformat för krypteringsnycklar och meddelanden.
Även om det ursprungligen endast användes för att säkra e-postmeddelanden och bilagor, används PGP nu i ett brett urval av användningsområden, inklusive digitala signaturer, fullständig diskkryptering och nätverksskydd.
PGP ägdes ursprungligen av företaget PGP Inc, som senare förvärvades av Network Associates Inc. Under 2010 förvärvade Symantec Corp. PGP för 300 miljoner dollar och termen är nu ett varumärke som används för deras OpenPGP-kompatibla produkter.
Hur fungerar det?
PGP är bland de första allmänt tillgängliga programvarorna som implementerar kryptografi med offentliga nycklar. Det är ett hybridkryptosystem som använder både symmetrisk och asymmetrisk kryptering för att uppnå en hög säkerhetsnivå.
I en grundläggande process för textkryptering omvandlas en oformatterad text (data som tydligt kan förstås) till chiffertext (oläslig data). Men innan krypteringsprocessen äger rum utför de flesta PGP-system datakomprimering. Genom att komprimera oformatterade textfiler innan de överförs sparar PGP både diskutrymme och överföringstid – samtidigt som säkerheten förbättras.
Efter filkomprimeringen börjar själva krypteringsprocessen. I detta skede krypteras den komprimerade oformatterade textfilen med en engångsnyckel, som kallas sessionsnyckeln. Denna nyckel skapas slumpmässigt genom användningen av symmetrisk kryptografi och varje PGP-kommunikationssession har en unik sessionsnyckel.
Därefter krypteras sessionsnyckeln (1) med asymmetrisk kryptering: Den avsedda mottagaren (Bob) tillhandahåller sin offentliga nyckel (2) till avsändaren av meddelandet (Alice) så att hon kan kryptera sessionsnyckeln. Detta steg gör det möjligt för Alice att säkert dela sessionsnyckeln med Bob via Internet, oavsett säkerhetsförhållanden.
Den asymmetriska krypteringen av sessionsnyckeln görs vanligtvis genom användning av RSA-algoritmen. Många andra krypteringssystem använder RSA, inklusive protokollet Transport Layer Security (TLS) som säkrar en stor del av Internet.
När meddelandets chiffertext och den krypterade sessionsnyckeln har överförts kan Bob använda sin privata nyckel (3) för att dekryptera sessionsnyckeln, som sedan används för att dekryptera chiffertexten tillbaka till den ursprungliga oformatterade texten.
Bortsett från den grundläggande processen för kryptering och dekryptering stöder PGP också digitala signaturer, som tjänar minst tre funktioner:
Autentisering: Bob kan verifiera att avsändaren av meddelandet var Alice.
Integritet: Bob kan vara säker på att meddelandet inte ändrades.
Icke-avvisning: Efter att meddelandet är digitalt signerat kan Alice inte hävda att hon inte skickade det.
Användningsområden
Ett av de vanligaste användningsområdena för PGP är att säkra e-postmeddelanden. Ett e-postmeddelande som är skyddat med PGP förvandlas till en sträng med tecken som är oläsliga (chiffertext) och kan bara dechiffreras med motsvarande dekrypteringsnyckel. Arbetsmekanismerna är praktiskt taget desamma för att säkra textmeddelanden och det finns också några mjukvaruapplikationer som gör att PGP kan implementeras ovanpå andra appar, vilket effektivt lägger till ett krypteringssystem till icke-säkra meddelandetjänster.
Även om PGP oftast används för att säkra internetkommunikation kan det också användas för att kryptera enskilda enheter. I detta sammanhang kan PGP tillämpas på diskpartitioner på en dator eller mobil enhet. Genom att kryptera hårddisken måste användaren ange ett lösenord varje gång systemet startar upp.
Fördelar och nackdelar
Tack vare den kombinerade användningen av symmetrisk och asymmetrisk kryptering gör PGP att användare säkert kan dela information och kryptografiska nycklar via Internet. Som ett hybridsystem drar PGP nytta av både säkerheten för asymmetrisk kryptografi och hastigheten för symmetrisk kryptering. Förutom säkerhet och hastighet säkerställer digitala signaturer dataintegriteten och avsändarens äkthet.
OpenPGP-protokollet möjliggjorde uppkomsten av en standardiserad konkurrensmiljö och PGP-lösningar tillhandahålls nu av flera företag och organisationer. Ändå är alla PGP-program som uppfyller OpenPGP-standarderna kompatibla med varandra. Detta innebär att filer och nycklar som skapas i ett program kan användas i ett annat utan problem.
När det gäller nackdelarna är PGP-system inte så enkla att använda och förstå, särskilt för användare med liten teknisk kunskap. Dn långa längden på de offentliga nycklarna anses också vara ganska obekvämt för många.
År 2018 publicerades en stor sårbarhet som heter EFAIL av Electronic Frontier Foundation (EFF). EFAIL gjorde det möjligt för angripare att utnyttja aktivt html-innehåll i krypterade e-postmeddelanden för att få tillgång till oformatterade textversioner av meddelanden.
Några av de problem som beskrivs av EFAIL var emellertid redan kända av PGP-gemenskapen sedan slutet av 1990-talet och faktiskt är sårbarheterna relaterade till de olika implementeringarna från e-postklienternas sida och inte med PGP själv. Så, de alarmerande och vilseledande rubrikerna till trots fungerar PGP och fortsätter att vara mycket säker.
Sammanfattningsvis
Sedan utvecklingen 1991 har PGP varit ett viktigt verktyg för dataskydd och används nu i ett brett spektrum av applikationer, som tillhandahåller integritet, säkerhet och autentisering för flera kommunikationssystem och digitala tjänsteleverantörer.
Medan upptäckten av EFAIL-felet 2018 väckte betydande oro över protokollets lönsamhet, betraktas kärntekniken fortfarande som robust och kryptografiskt sund. Det är viktigt att komma ihåg att det finns olika säkerhetsnivåer för olika PGP-implementeringar.