PGP (Pretty Good Privacy): uitleg over e-mailversleuteling en authenticatie

Leer PGP: duidelijke uitleg over e-mailversleuteling, ondertekening en authenticatie. Bescherm je privacy met OpenPGP-standaard en praktische tips.

Schrijver: Leandro Alegsa

Pretty Good Privacy (PGP) is een computerprogramma dat cryptografische privacy en authenticatie biedt. PGP wordt vaak gebruikt voor het ondertekenen, versleutelen en ontsleutelen van elektronische mails (e-mails) om de veiligheid van e-mailcommunicatie te verhogen. Het is oorspronkelijk gemaakt door Phil Zimmermann in 1991 en groeide snel in populariteit, deels door de publieke discussie rond exportbeperkingen op cryptografie in die periode.

PGP en andere soortgelijke producten volgen de OpenPGP-standaard (RFC 4880) voor het versleutelen en ontsleutelen van gegevens. De standaard beschrijft formaten voor sleutels, berichten, handtekeningen en hoe verschillende cryptografische algoritmen gecombineerd worden gebruikt.

Hoe werkt PGP?

PGP gebruikt een hybride cryptosysteem dat twee technieken combineert:

  • Symmetrische encryptie: de daadwerkelijke e-mailinhoud wordt versleuteld met een eenmalige, snelle symmetrische sleutel (de 'session key').
  • Asymmetrische encryptie: die session key wordt vervolgens versleuteld met de publieke sleutel van de ontvanger, zodat alleen de ontvanger met zijn private sleutel de session key kan ontsleutelen.

Voor authenticatie en integriteit kan de afzender de mail digitaal ondertekenen met zijn private sleutel. Ontvangers verifiëren de handtekening met de bijbehorende publieke sleutel en zien daarmee dat de boodschap echt van die afzender komt en niet is aangepast.

Belangrijke concepten

  • Publieke en private sleutels: de publieke sleutel deel je openbaar, de private sleutel bewaar je geheim. Samen vormen ze het paar waarmee versleuteling en ondertekening mogelijk zijn.
  • Fingerprint: korte unieke representatie van een publieke sleutel die je gebruikt om sleutels mondeling of persoonlijk te verifiëren.
  • Sleutelservers en keyrings: publieke sleutels kunnen op sleutelservers worden gepubliceerd zodat anderen ze kunnen vinden; gebruikers bewaren gevonden sleutels in hun sleutelring.
  • Verificatierichtlijnen: controleer fingerprints persoonlijk of via een betrouwbaar kanaal om 'man-in-the-middle'-aanvallen te voorkomen.
  • Revocatiecertificaat: een vooraf aangemaakte verklaring waarmee je een sleutel kunt intrekken als je private sleutel gecompromitteerd raakt of je deze kwijtraakt.

Web of trust en trustmodellen

PGP staat bekend om het web of trust-model: in plaats van een centrale autoriteit (zoals bij certificaten in een PKI) vertrouw je sleutels op basis van handtekeningen van andere gebruikers. Personen tekenen elkaars sleutels om vertrouwen aan te geven. Dit werkt goed in gemeenschappen met persoonlijke verificatie, maar kan voor grotere organisaties complexer zijn dan een gecentraliseerde certificaatuitgever.

Implementaties en compatibiliteit

  • De bekendste vrije implementatie is GnuPG (ook wel gpg genoemd), die volledig compatibel is met OpenPGP.
  • Veel e-mailclients en plugins ondersteunen PGP of OpenPGP; sommige hebben integratie ingebouwd, andere gebruiken extensies of externe tools.
  • PGP/OpenPGP is interoperabel tussen verschillende implementaties zolang ze de OpenPGP-standaard (RFC 4880) volgen.

Praktische tips en best practices

  • Gebruik een sterk wachtwoord/passphrase voor je private sleutel en overweeg hardwarematige sleuteldragers (smartcards, YubiKey) voor extra beveiliging.
  • Maak een revocatiecertificaat zodra je een sleutel aanmaakt en bewaar dit op een veilige plaats.
  • Controleer fingerprints persoonlijk of via een betrouwbaar kanaal voordat je iemand vertrouwt.
  • Maak regelmatig backups van je private sleutel (versleuteld) en bewaar deze op een veilige locatie.
  • Houd software up-to-date en kies moderne algoritmen en voldoende sleutelgrootte (bijvoorbeeld RSA 3072/4096 of moderne elliptische curven zoals Curve25519, afhankelijk van implementatie en compatibiliteit).

Beperkingen en aandachtspunten

  • PGP versleutelt doorgaans de body van een e-mail en eventuele bijlagen, maar niet altijd alle headervelden (zoals verzend- en ontvangstadres), waardoor metadata zichtbaar blijft.
  • Opgeslagen e-mails krijgen geen forward secrecy; als een private sleutel wordt gecompromitteerd, kunnen oudere berichten met die sleutel worden ontsleuteld.
  • Het web of trust vereist actief beheer en verifiëren van sleutels; gebruikersfouten (bijv. niet verificatie van fingerprints) kunnen vertrouwen ondermijnen.
  • Complexiteit en gebruiksgemak kunnen een drempel zijn voor niet-technische gebruikers; correcte configuratie is cruciaal voor veiligheid.

Alternatieven en aanvullingen

Een veelgenoemd alternatief voor PGP in e-mailcontext is S/MIME, dat werkt met een hiërarchische PKI en certificaten van certificaatautoriteiten. Voor realtime communicatie bieden moderne systemen (zoals Signal) wel end-to-end encryptie met forward secrecy en eenvoudigere sleuteluitwisseling.

PGP blijft een krachtige en flexibele methode om e-mailinhoud en identiteit te beschermen, mits zorgvuldig gebruikt en gecombineerd met goede sleutelbeheerpraktijken.

OpenPGP

OpenPGP staat op het Internet Standards Track; de huidige specificatie is RFC 4880 (november 2007). OpenPGP is nog in ontwikkeling en van de opvolger van RFC 2440, RFC 4880, is een voorgestelde norm gemaakt. Veel e-mailclients bieden e-mailbeveiliging die compatibel is met OpenPGP, zoals beschreven in RFC 3156.

De Free Software Foundation heeft haar eigen OpenPGP-compatibel programma ontwikkeld, GNU Privacy Guard (afgekort GnuPG of GPG). GnuPG is vrij beschikbaar samen met alle broncode onder de GNU General Public License (GPL) en wordt apart onderhouden ver diverse Graphical User Interfaces (GUI's) die interageren met de GnuPG-bibliotheek voor versleutelings-, ontsleutelings- en ondertekeningsfuncties (zie KGPG, Seahorse, MacGPG). Verscheidene andere verkopers hebben ook software ontwikkeld die OpenPGP-compatibel is.

Verwante pagina's

  • FreeOTFE - Schijfversleuteling
  • PuTTY - SSH-codering


Zoek in de encyclopedie
AlegsaOnline.com - 2020 / 2025 - License CC3