Pretty Good Privacy

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Pretty Good Privacy (lett: aardig goede privacy) wordt meestal afgekort tot PGP en is één van de veel gebruikte vercijferingsmethodes op internet. De standaard die aan PGP ontsproten is wordt thans OpenPGP genoemd en er zijn tegenwoordig vele programma's, zowel commercieel als open source, die deze standaard implementeren en ook grotendeels onderling compatibel zijn.

OpenPGP-cryptografie is gebaseerd op een schema van asymmetrische cryptografie, oorspronkelijk op het RSA-principe. Dit houdt in dat er twee verschillende sleutels zijn, één voor vercijferen en één voor ontcijferen van de informatie.

Er zijn vele OpenPGP-servers die van duizenden mensen de publieke sleutel opgeslagen hebben. Met die sleutel en een OpenPGP-programma kan men een vertrouwelijk bericht sturen naar één van de personen die op die server hun publieke sleutel op hebben laten slaan. Daarnaast is het ook mogelijk om sleutels als tekst te exporteren en te importeren zodat deze bijvoorbeeld op de website van de eigenaar geplaatst kan worden.

Hoewel dit principe erg veilig is, is het wel zaak te bedenken welke garantie er geboden wordt: iemand heeft een sleutel gemaakt en tekent daar berichten mee of laat mensen daar berichten mee vercijferen. Dit betekent dus niet automatisch dat deze sleutel toebehoort aan de persoon aan wie wij denken dat hij behoort. Om deze reden kennen veel OpenPGP-implementaties publieke sleutels een vertrouwenswaarde toe, die door de gebruiker gewijzigd kan worden nadat deze via een betrouwbaar kanaal (telefoon, ontmoeting) geverifieerd heeft dat de sleutel inderdaad van de vermoede persoon afkomstig is.

GPG, ook wel GnuPG, is een juist niet gepatenteerd alternatief voor PGP. GPG is te gebruiken bij Microsoft Outlook, Mozilla Thunderbird, Apple Mail, Eudora en veel andere mailprogramma's door plug-ins te downloaden en aan de programmatuur toe te voegen. De Thunderbird plug-in heet Enigmail. De zwakste schakel bij berichtenversleuteling is meestal het wachtwoord dat de eindgebruiker kiest, niet de software. Het ideale wachtwoord is een lange reeks cijfers, hoofdletters, kleine letters en symbolen.

Voor GNOME bestaat er een frontend voor GPG genaamd Seahorse voor het beheer van de sleutels.

Werking van PGP[bewerken]

Wat is PGP (Pretty Good Privacy)?

Als een gebruiker een stuk tekst wil vercijferen met PGP, dan comprimeert PGP de tekst meestal eerst. Hierdoor wordt zowel de plaats die het bestand inneemt op de harde schijf verminderd als de tijd die nodig is om het te versturen. Een nadeel van dit comprimeren, is dat het de sterkte van je versleuteling verslechtert. Dit is omdat de patronen waarnaar cryptoanalysten zoeken in de tekst om het systeem te kraken toenemen door het comprimeren van de tekst.

Dan maakt PGP een IDEA-sessiesleutel aan, een sleutel die gegenereerd wordt door de willekeurige bewegingen van je muis en de toetsen die je aanslaat. Met deze sessiesleutel wordt de tekst vercijferd. De sessiesleutel zelf wordt met de publieke sleutel van de beoogde ontvanger versleuteld, waarna beide delen verstuurd worden.

Decryptie werkt precies andersom. De ontvanger gebruikt zijn of haar geheime sleutel om de versleutelde sessiesleutel te ontcijferen. Daarna ontcijfert PGP met behulp van de sessiesleutel de ontvangen tekst.

Sleutels[bewerken]

Een sleutel is een waarde waarmee je cryptografisch algoritme een tekst versleutelt. Het is in principe een erg groot getal, waarvan de lengte gemeten wordt in bits. Uitgaande van een goed cryptografisch algoritme geldt: hoe langer de sleutel, hoe veiliger de versleuteling.

Hoewel de publieke en de geheime sleutel wiskundig aan elkaar gerelateerd zijn, is het erg lastig om de geheime sleutel af te leiden wanneer men alleen de publieke sleutel weet. Het is in theorie voor iemand die genoeg tijd en rekenkracht tot zijn beschikking heeft mogelijk om deze afleiding te maken. In de praktijk kan dit echter alleen bij (erg) kleine sleutels. Bij grotere sleutels is de rekenkracht van de huidige computers niet voldoende om de afleiding binnen een bruikbare tijd te maken. De keuze van de lengte van de sleutel is dus een afweging tussen veiligheid enerzijds en gebruikssnelheid anderzijds, waarbij het optimum afhangt van de waarschijnlijkheid dat iemand de betreffende boodschap zou willen kraken.

Sleutels worden versleuteld opgeslagen. PGP slaat de sleutels in twee bestanden op; één voor de publieke sleutels en één voor de geheime sleutels. Deze bestanden worden sleutelringen genoemd. Wanneer je PGP gebruikt, zul je in het algemeen de publieke sleutels van jouw ontvangers toevoegen aan jouw publieke sleutelring. Jouw geheime sleutels worden opgeslagen in jouw geheime sleutelring. Wanneer je deze ring kwijtraakt, kun je geen data meer ontcijferen waarvoor je deze sleutels nodig hebt.

Digitale handtekeningen[bewerken]

Wanneer een gebruiker een bericht wil voorzien van een digitale handtekening, dan voegt hij of zij een met zijn of haar geheime sleutel versleutelde tekst toe aan het bericht. Hierdoor kan een ontvanger controleren of het bericht echt afkomstig is van de verzender door het te ontcijferen met de publieke sleutel van de verzender.

Een groot voordeel van publieke-sleutelcryptografie is dat het zorgt voor een systeem waarmee digitale handtekeningen kunnen worden gebruikt. Hierdoor kan een ontvanger zowel verifiëren of het bericht echt van de verwachte verzender afkomt (authenticiteit) als controleren of de data nog intact is (data-integriteit). Daarnaast zorgt het er ook voor dat een verzender niet kan ontkennen dat hij of zij een bericht gestuurd heeft (non-repudiation).

Referenties[bewerken]

Zie ook[bewerken]

Externe links[bewerken]