Pretty Good Privacy (PGP) er et computerprogram, der giver kryptografisk fortrolighed og autentificering. PGP bruges ofte til at signere, kryptere og dekryptere elektroniske mails (e-mails) for at øge sikkerheden i forbindelse med e-mailkommunikation. Det blev oprindeligt skabt af Phil Zimmermann i 1991.
PGP og andre lignende produkter følger OpenPGP-standarden (RFC 4880) til kryptering og dekryptering af data.
Hvordan virker PGP?
PGP bruger en kombination af offentlig-nøglekryptografi og symmetrisk kryptering. Kort fortalt:
- Modtagerens offentlige nøgle bruges til at kryptere en tilfældigt genereret sessionsnøgle.
- Sessionsnøglen bruges til at kryptere selve meddelelsen med en hurtig symmetrisk algoritme (f.eks. AES).
- Modtageren dekrypterer først sessionsnøglen med sin private nøgle og bruger derefter sessionsnøglen til at dekryptere meddelelsen.
- For autentificering og integritet kan afsenderen signere meddelelsen digitalt med sin private nøgle, så modtageren kan verificere afsenderens identitet og sikre, at indholdet ikke er ændret.
Nøgletyper og tillidsmodel
PGP arbejder med to hovedtyper af nøgler:
- Offentlig nøgle (public key): Gøres tilgængelig for andre, så de kan kryptere beskeder til dig eller kontrollere dine digitale signaturer.
- Privat nøgle (private key): Holdes hemmelig og bruges til at dekryptere beskeder og lave digitale signaturer.
PGP bruger en decentral tillidsmodel kaldet web of trust, hvor brugere bekræfter hinandens nøgler ved at signere dem. Det adskiller sig fra centraliserede certifikatmyndigheder (PKI), men nogle OpenPGP-implementeringer kan også arbejde sammen med mere traditionelle tillidsmodeller.
Implementeringer og standarder
- OpenPGP (RFC 4880) er standarden, som definerer formater og procedurer for PGP-kompatible systemer.
- En af de mest udbredte gratis implementeringer er GnuPG (GPG), som ofte bruges i kombination med e-mail-klienter og andre værktøjer.
- Der findes kommercielle og open source-klienter, browser-plugins og mobilapps, som implementerer OpenPGP-funktionalitet.
Typiske anvendelser
- Kryptering og signering af e-mails.
- Kryptering af filer og backups.
- Verificering af softwareudgivelser og dokumenter ved hjælp af digitale signaturer.
Sikkerhed, begrænsninger og gode råd
- Beskyttelse af privat nøgle: Din private nøgle skal opbevares sikkert og være beskyttet med en stærk adgangsfrase. Overvej hardware-sikkerhedsmoduler (f.eks. smartcards eller YubiKey) til ekstra sikkerhed.
- Fingeraftryk: Når du udveksler nøgler, skal du verificere nøgle-fingeraftrykket over en uafhængig kanal (telefon, personlig møde) for at undgå "man-in-the-middle".
- Revocation: Opret en tilbagekaldelsescertifikat (revocation certificate) med det samme, du genererer din nøgle, og opbevar det et sikkert sted, så du kan tilbagekalde nøglen, hvis den kompromitteres.
- Metadata og trafikmønstre: PGP beskytter meddelelsens indhold, men ikke nødvendigvis metadata (f.eks. afsender, modtager, tidspunkt). For fuldstændig anonymitet kan andre værktøjer (f.eks. anonymiseringsnetværk) være nødvendige.
- Ingen indbygget fremtidig forward secrecy: Traditionel PGP-kryptering mellem faste nøgler giver ikke automatisk forward secrecy, som nogle moderne protokoller (f.eks. Signal) tilbyder.
- Hold softwaren opdateret: Sårbarheder i implementeringer kan kompromittere sikkerheden, så opdater regelmæssigt.
Kom godt i gang med PGP
- Installer en OpenPGP-implementering som GnuPG (GPG) på din computer eller vælg en betroet klient/app til din platform.
- Generer et nøglepar og vælg en stærk adgangsfrase.
- Opret et revocation-certifikat og gem det sikkert.
- Del din offentlige nøgle via din e-mail-signatur, hjemmeside eller keyservers, og få andre til at bekræfte (signere) din nøgle, hvis I har tillid til hinanden.
- Konfigurer din e-mail-klient (eller brug plugins) til at kryptere og signere meddelelser automatisk.
Afsluttende bemærkninger
PGP er et kraftfuldt værktøj til at beskytte kommunikation og dokumenter, men det kræver korrekt brug og nøglehåndtering for at være effektiv. OpenPGP-standarden (RFC 4880) sikrer interoperabilitet mellem forskellige implementeringer, og projekter som GnuPG gør teknologien tilgængelig for almindelige brugere. Lær de grundlæggende principper, følg bedste praksis for nøglebeskyttelse, og vær bevidst om både styrker og begrænsninger ved PGP-baseret sikkerhed.