PGPFAQNL/PGPVVV


Comment: This is the Dutch PGP FAQ.

PGP (PRETTY GOOD PRIVACY) VEEL VOORKOMENDE VRAGEN

PGPFAQNL/PGPVVV 1.1 -- 29 april 1997 © copyright 1996,1997, all rights reserved Wouter van den Berg <wfberg@dds.nl>

Nieuwste versie : <URL:http://huizen.dds.nl/~wfberg/pgp/>

Vrij verspreidbaar mits onveranderd, in zijn geheel, en gratis. Commentaar en aanvullingen naar <URL:mailto:faq-nl-admin@mail.pgp.net>


[1] inleiding (waar vind ik de nieuwste versie van deze VVV?)
[1.1] URLs : wat zijn al die rare tekentjes?
[1.2] wat een domme FAQ! ik wil klagen!
[2] wat is PGP?
[2.1] waarom heb ik PGP nodig?
[2.2] hoe werkt PGP?
[2.3] (il)legaliteit
[2.4] waar kan ik PGP krijgen?
[2.5] versies
[2.6] hoe veilig is PGP?
[3] hoe installeer ik PGP?
[3.1] het maken van een sleutelpaar
[3.2] Nederlandse taalmodule
[3.3] Back-ups
[3.4] een goede wachtzin (passphrase) verzinnen
[4] hoe gebruik ik PGP?
[4.1] coderen
[4.2] decoderen
[4.3] ondertekenen
[4.4] shells
[4.5] anonymous remailers en PGP
[4.6] PGP thuis en op werk gebruiken
[5] hoe ga ik met sleutels om?
[5.1] ondertekenen
[5.2] meerdere sleutels/meerdere userids, user-id veranderen
[5.3] keyservers
[5.4] wat als mijn prive sleutel gestolen is?
[6] problemen
[6.1] oude PGP decodeert bericht nieuwe PGP niet
[6.2] clearsigning doet raar met streepjes
[6.3] meerder bestanden tegelijk coderen
[6.4] pgppass
[6.5] virus in randseed.bin
[6.6] PAS OP : swapfiles..
[6.7] Engelse woorden
[6.8] Passhrase vergeten
[6.9] tenslotte
[7] bronnen
[7.1] shells en utilities
[7.2] bbs-en


1 inleiding (waar vind ik de nieuwste versie van deze VVV?)


Deze lijst van Veel Voorkomende Vragen (VVV), of in het Engels FAQ, is bedoeld als een inleiding bij het programma PGP, en ook als een praktische gids voor het gebruik ervan. Hoewel er veel documentatie beschikbaar is voor PGP, is deze meestal Engelstalig. In dit document worden voor sommige technische termen zoals 'clear-sign' toch de Engelse termen gehandhaafd, bij gebrek aan degelijke Nederlandse vertalingen, en om verwarring te voorkomen. Zie [6.7]
Deze VVV is gemaakt door mij aan de hand van zeer vele bronnen, waaronder de uitstekende (Engelse) documentatie van PGP zelf. Zie [7] voor een overzicht van plaatsen waar meer informatie te vinden is.
Deze VVV is beschermd door auteursrecht, maar mag vrijelijk verspreid worden zolang hij 1) niet veranderd, 2) in zijn geheel en 3) zonder geld ervoor te vragen, verspreid wordt.
Commentaar en aanvullingen op deze VVV kun je me sturen op <URL:mailto:faq-nl-admin@mail.pgp.net>

De nieuwste versie van deze faq kun je vinden via het WWW op <URL:http://huizen.dds.nl/~wfberg/pgp/>, of <URL:http://www.pgp.net/pgpnet/pgp-faq-nl/>
Er is nu ook een Nederlandse nieuwsgroep over cryptografie en cryptanalyse <URL:news:nl.comp.crypt>


Let goed op : de bestandsnamen van deze VVV zijn pgpvvvXX.txt, pgpvvvXX.zip en pgpvvvXX.htm, waar XX vervangen moet worden met het huidige versienummer (bijvoorbeeld 10 voor versie 1.0). Let ook op de datum die in de VVV vermeld staat. Als de VVV die je hebt erg oud is, kun je beter even kijken of er al een nieuwere versie is.

De PGPfaqNL/PGPVVV is met behulp van PGP ondertekend (vanaf versie 1.0), in zowel de tekstversie als de World Wide Web versie in HTML. Om deze ondertekening te controleren, kun je mijn publieke sleutel afhalen van een van de PGPfaqNL/PGPVVV homepages, of van een keyserver. (Meer informatie over keyservers : Zie [5.3])
Het User-Id is Wouter van den Berg <faq-nl-admin@mail.pgp.net>, het nummer is 18815205 (oftewel 0x18815205). De publieke sleutel wordt ook meegeleverd in het ZIP archief in het bestand sleutel.asc Het bestand dat overblijft na het contoleren van de ondertekening van de HTML-versie van de FAQ is geen goede HTML, en kan er raar uitzien.. Het originele bestand moet je gebruiken om te bekijken met een browser.

Deze faq zou niet in deze vorm mogelijk zijn geweest zonder de kritiek en het commentaar van de betatesters -- bedankt!

1.1 URLs : wat zijn al die rare tekentjes?


URLs (Uniform Resource Locators) zijn eigenlijk een manier om internet-adressen op te schrijven. Een voorbeeld van een URL is
http://huizen.dds.nl/~wfberg/pgp/ het adres van de homepage van deze FAQ op het World Wide Web. Er zijn naast het WWW echter ook andere soorten van informatie op het net te vinden. Adressen van bestanden beginnen meestal met ftp, en nieuwsgroepen zien er uit als
news:nl.comp.crypt Om duidelijker te maken, voornamelijk voor computerprogramma's dan, kan je er ook nog een haakje < , URL: voorzetten en een haakje > erachter.. Dus: <URL:news:nl.comp.crypt>..
E-mail adressen, zoals faq-nl-admin@mail.pgp.net worden dus gespeld als <URL:mailto:faq-nl-admin@mail.pgp.net>
Als je deze FAQ in de HTML-versie leest, dan zijn er ook nog links aangegeven, die geen URL bevatten, maar een nummer. Dit nummer verwijst dan naar een nummer van een paragraaf in de FAQ. Door op [1.1] te klikken, spring je dus hier naar toe.

1.2 wat een domme FAQ! ik wil klagen!


Commentaar, kritiek, en aanvullingen op deze faq zijn welkom op <URL:mailto:faq-nl-admin@mail.pgp.net>, en kan eventueel gecodeerd worden met mijn PGP sleutel (Zie [1.0]).
Kom je er helemaal niet uit? Heb je vragen die niet in deze FAQ staan? Vertel het me dan ook, anderen zitten misschien ook met die vraag.. (Vragen over specifiek PGP shells (Zie [7.1]) horen niet echt in deze FAQ thuis, die programma's hebben overigens vaak zelf uitstekende documentatie.)
Wil je alleen maar even PGP uittesten, dan kan je beter even iemand die je kent vragen of jullie het samen kunnen testen..
Voor vragen ove het gebruik en om mensen te zoeken die samen met je PGP uit willen proberen, kun je ook eens kijken in de nieuwsgroep <URL:news:nl.comp.crypt>


2 wat is PGP?


PGP staat voor 'Pretty Good Privacy'. Het is een computerprogramma, verkrijgbaar voor vele platforms, om berichten of bestanden mee te coderen met behulp van publieke sleutel encryptie. Dit betekent dat, in tegenstelling tot klassieke encryptie-methoden, een persoon 2 sleutels heeft : het sleutelpaar. Een sleutel, de 'publieke sleutel', wordt gebruikt om een bericht te coderen, terwijl dat gecodeerde bericht alleen met de 'prive sleutel' kan worden gedecodeerd. De publieke sleutel kan dus aan iedereen gegeven worden, ook tegenstanders, zonder dat die de berichten kunnen decoderen. Alleen de houder van de prive sleutel kan dat. Met een prive sleutel is dus alleen een bericht te decoderen dat met de bijbehorende publieke sleutel is gecodeerd.
Omgekeerd geldt dit ook : als je iets codeert met de prive sleutel dan kan iemand anders het met je publieke sleutel decoderen ; hij of zij weet dan wel zeker dat het van jou afkomt. PGP biedt dus ook de mogelijkheid om 'digitale handtekening' te maken, d.w.z. het onder- tekenen van documenten of data, waardoor kan worden vastgesteld of bepaalde data wel van een bepaald person afkomt. Dit wordt voornamelijk gebruikt met e-mail, maar ook om aan te tonen dat anti- virus software van de makers afkomt, en niet een trojaans paard is.
PGP is de laatste jaren uitgegroeid tot een zogenaamde ad-hoc standaard, dat wil zeggen dat, hoewel het niet officieel is vastgelegd PGP door zoveel mensen wordt gebruikt, dat het op eigen kracht een soort van standaard is geworden.

PGP is gratis voor prive gebruik! De broncode is vrij verkrijgbaar en voor vele platforms te compileren. Veranderingen mogen echter niet worden gemaakt. Buiten de VS moeten commerciele gebruikers een licentie voor IDEA kopen van Ascom-Systec. Voor meer details zie <URL:http://www.ascom.ch/Web/systec/security/license.htm>

2.1 waarom heb ik PGP nodig?


PGP heb je nodig als je wilt dat bepaalde dingen niet op straat liggen. In tegenstelling tot bijvoorbeeld telefoongesprekken, waar altijd nog moeite moet worden gedaan om een lijn af te tappen, is het op het internet mogelijk om e-mail op vele verschillende plaatsen zonder moeite te onderscheppen, en te lezen. E-mail kan ook helemaal geautomatiseerd afgezocht worden naar 'verdachte' woorden, zoals 'bom' 'uranium', of zinnen; 'ik stem dit jaar op de oppositie' PGP wordt bijvoorbeeld door mensenrechtenorganisaties in landen met akelige regimes gebruikt.
Ook in democratieen is het verstandig om bepaalde berichten te coderen, zoals brievenwisselingen met geheime minnaars, advocaten, of belastingadviseurs. In feite valt coderen te vergelijken met het gebruiken van een envelop voor je brieven, in plaats van ze op een postkaart te schrijven.
Je kunt het argument ook omkeren: "waarom zou je NIET je prive berichten encrypten? Gaat het iemand anders aan wat jij schrijft, hoe triviaal ook? Je zou toch behoorlijk boos worden als de postbode al je post zat te lezen."-Arnoud "Galactus" Engelfriet
En tenslotte kunnen bedrijven encryptie ook gebruiken, om privacy- gevoelige informatie te beschermen, of bedrijfsgeheimen, onderhandelingen over fusies en contracten, en telewerken.

2.2 hoe werkt PGP?


PGP gebruikt het RSA publieke sleutel encryptie algoritme. Dit algoritme, uitgevonden door Rivest, Shamir en Adleman, maakt gebruik van het feit dat een vermenigvuldiging van twee grote priemgetallen ontzettend moeilijk is om te ontbinden in factoren, d.w.z. weer te splijten in die twee getallen.
Ook maakt PGP gebruik van het IDEA, International Data Encryption Algorithm, om berichten te coderen. Dit is een conventioneel encryptie algoritme, d.w.z. het gebruikt maar 1 sleutel. Die is 128 bits groot, oftewel er zijn daarvoor 2 tot de macht 128 verschillende mogelijkheden. Om IDEA te kraken zou je al die mogelijkheden moeten testen. (of eigenlijk gemiddeld de helft)
Omdat het coderen van berichten met RSA ontzettend lang zou duren, maakt PGP gebruik van een hybride (samengesteld) systeem. PGP kiest een willekeurige 128 bits sleutel, codeert daar het bericht mee, en codeert vervolgens die sleutel met RSA.
RSA heeft sleutelgroottes van duizenden bits, alleen vanwege het principe waarop dit gebaseerd is, het vermenigvuldigen van erg grote priemgetallen is dit ook nodig. IDEA gebruikt maar een sleutel van 128 bits, maar is gebaseerd op heel andere theorie, en is dus juist sterker dan RSA! RSA wordt gebruikt zodat je niet met elkaar een geheime sleutel voor IDEA hoeft af te spreken..

Technische details over PGP

PGP gebruikt een publieke sleutel encryptie-algoritme.. Daarin zijn er 2 sleutels, P() en G(). P() is je publieke sleutel, G() je geheime-, of privesleutel.
Het RSA-algoritme werk zo : een text X, met RSA behandeld met P() kan alleen met G() gelezen worden. G(P(X))=X
Een text X, met RSA behandeld met G() kan alleen met P() gelezen worden - hierop is ondertekenen gebaseerd : P(G(X))=X
PGP codeert echter niet de hele text met RSA, dit zou veel te lang duren. In plaats daarvan maakt PGP een willekeurige 128 bits sleutel k, en gebruikt die om de text met IDEA te coderen. IDEA(X,k) en P(k) zijn het gecodeerde bericht. Door G(P(k))=k kan vervolgens IDEA(X,k) gedecodeerd worden.
(Omdat IDEA een heel ander algoritme is dan RSA zijn de 128 bits voldoende : symmetrische encryptie is vanaf 112 bits veilig te noemen, omdat bijvoorbeeld RSA van geheel andere mathematische principes uitgaat als IDEA, heeft deze ook andere, grote sleutels, minimaal 1024 om veilig te zijn, nodig.) Onderteken gaat bijna net zo, alleen nu wordt er een zogenaamde MD5 hash van het bericht genomen, dit is een 128 bits getal dat voor elk bericht uniek zou moeten zijn.. In werkelijkheid zijn er natuurlijk "maar" 2 tot de 128de macht mogelijkheden van dat getal, en hebben 2 berichten een kans van 2 tot de 64de om dezelfde MD5 hash te hebben.. MD5 is in principe net zo veilig als IDEA.
Een ondertekening van een bericht is G(MD5(X)), als je de publieke sleutel van de ondertekenaar hebt krijg je dus P(G(MD5(X)))=MD5(X), en MD5(X) kan je gemakkelijk zelf uitrekenen.
Sleutels worden net zo ondertekend, alleen wordt de ondertekening in het sleutelbos (keyring) formaat opgeslagen.
Als je codeert en ondertekent stuur je IDEA(X+G(MD5(X)),k) en P(k) De MD5 hash wordt dus ook met IDEA gecodeerd. Decoderen, en de handtekening controleren gaat dan met G(P(k))=k P(G(MD5(X)))=X en X decodeer (IDEA) je met k.
Als je het bericht aan meerdere mensen verstuurt dan wordt het gecodeerde bericht IDEA(X,k) en P(k), P2(k), P3(k) etc.. Oftewel : voor elke publieke key wordt de willekeurige IDEA sessie key k nog eens met RSA gecodeerd.

2.3 (il)legaliteit


Het coderen van berichten is in de meeste landen niet verboden, behalve in landen met een niet zo sterke democratische traditie, en in Frankrijk.
In Nederland is het coderen van berichten en bestanden toegestaan, hoewel er soms stemmen opgaan om het te verbieden. Wachtwoorden hoef je alleen aan de politie te geven tijdens een huiszoeking als je zelf geen verdachte bent.
In Belgie moeten crypto-systemen voor gebruik in telecommunicatie in principe goedgekeurd worden door het BIPT,door sommigen wordt dat ook gezien als een verplichting om sleutels af te geven.. Deze wet is nog erg vaag, interpretaties over de wet lopen uiteen. Voorlopig wordt hij niet toegepast.
De Raad van Europa kent echter wel een richtlijn die zegt dat het legitieme gebruik van encryptie niet 'onevenredig' in het gedrang moet komen door maatregelen die rechtsonderzoek moeten vergemakkelijken. De Europese Commissie bereidt een raadsbesluit voor om een systeem in te voeren in de Europese Unie, waarbij waarschijnlijk prive sleutels in depot zouden liggen bij derde partijen; justitie zou dan de mogelijkheid hebben toegang te krijgen tot die prive sleutels.

Import en export van PGP is ook toegestaan, in tegenstelling tot in Amerika, waar de export van PGP, of wat voor een sterke coderings- software dan ook verboden is. Alleen speciale afgezwakte versies mogen geexporteerd worden. Zorg er dus voor dat je PGP niet vanuit Amerika haalt, niet omdat de Amerikanen opeens de oceaan overstormen om je te arresteren (zoals ze deden bij Noriega) maar omdat je de eigenaar van de computer waarvan je het vandaan haalt in grote problemen zou kunnen brengen. Als ze erachter komen, kunnen ze het je ook moeilijk maken, wanneer je bijvoorbeeld op vakantie nog eens in de VS komt.
PGP mag wel naar Canada ge-exporteerd worden, omdat Canada het aan dezelfde exportrestricties onderwerpt. Exporteren van PGP staat gelijk aan het exporteren van munitie.
Overigens zijn de ITAR reguleringen op cryptografie onlangs door een Federale Staatsrechtbank ongrondwettig verklaard in de zaak Bernstein, het is onduidelijk in hoeverre deze uitspraak precedent schept.

Op IDEA geldt internationaal een patent. Als je PGP bedrijfsmatig wilt gebruiken, dan moet je bij Ascom-Systec AG in Zwitserland een licentie kopen. Omdat dat nogal duur is zullen toekomstige versies misschien overstappen op Blowfish, een niet-gepatenteerd algoritme, dat ook al gebruikt wordt in PGPfone, of op 3DES (triple DES).
In de VS zijn er patent-problemen met RSA : het patent van RSA, dat overigens alleen in de VS geldt wordt daar door een bedrijf geexploi- teerd, daarom is er van PGP een versie die door MIT uitgebracht wordt MIT heeft namelijk nog van oorsprong rechten op het patent. Omdat de versie van PGP waarin het niet-gelicenseerde algoritme gebruikt wordt sneller is, is er ook een internationale versie. Zie [2.5]

2.4 waar kan ik PGP krijgen?


Hierover is er de Engelstalige 'Where to get PGP FAQ', waarvan de laatste versie op <URL:http://inet.uni-c.dk/~pethern/getpgp.html> te vinden is, en ook in de nieuwsgroepen <URL:news:alt.security.pgp>, <URL:news:comp.security.pgp>, en <URL:news:comp.security.pgp.resources> en op <URL:ftp://rtfm.mit.edu> Die FAQ bespreekt ook andere programma's die handig zijn voor het gebruik van PGP, zoals shells, interfaces, en dergelijke.
In Nederland is de laatste versie van PGP te vinden op <URL:ftp://ftp.nl.net/pub/crypto/pgp> <URL:ftp://ftp.nic.surfnet.nl/surfnet/net-security/encryption/pgp> <URL:ftp://ftp.replay.com/pub/crypto> op pgp.net - <URL:ftp://ftp.pgp.net/pub/pgp/> of op het web (uit Noorwegen) <URL:http://www.ifi.uio.no/pgp/>

Je kunt PGP op vele plaatsen vinden, maar zorg dat je het niet uit Amerika haalt : dat is strafbaar.

Ook op Nederlandse BBSen kun je PGP vinden, bijvoorbeeld op de NOTB host Gelderland Viber BBS 026-3890037.
Via E-mail kun je PGP van een FTP-site afhalen, stuur een berichtje naar ftpmail@ftpmail.ramona.vix.com

reply <je-email-adres>
connect ftp.pgp.net
binary
uuencode
get /pub/pgp/pc/msdos/pgp263i.zip
quit

Je krijgt de ZIP file dan in gedeelten, UUencoded in je postbus. Als je een leeg berichtje naar dit adres stuurt krijg je uitleg.

2.5 versies


De nieuwste versies van PGP zijn PGP 2.6.2 en PGP 2.6.3.i PGP 2.6.3.xi is een versie die is geoptimaliseerd voor 386 en hoger.
Er zijn ook nog versies met nog een extra letter, deze bevatten zgn. bugfixes ; bepaalde foutjes zijn hersteld, dit zijn dus geen enorm veranderde nieuwe versies, en bevatten zelfs geen nieuwe opties. PGP 2.6.3ui is de onofficiele (U voor Unofficial) internationale versie, deze versie bevat enkele bugfixes (herstelde fouten) en wat extra functies.

PGP 2.6.2 is de Amerikaanse (MIT) versie: deze is iets langzamer maar wel legaal voor gebruik binnen de VS. MIT Versie 2.6 en hoger van PGP maken gecodeerde berichten die eerdere versies niet kunnen decoderen, om mensen over te halen om toch vooral de nieuwe versie te gaan gebruiken waarmee geen patentproblemen zijn.
PGP is verkrijgbaar voor veel verschillende computers en besturings- systemen. De broncode is vrij verkrijgbaar, en kun je zelf voor je eigen computer compileren.

Op dit is er al een Pre-Alpha-versie van PGP 3.0, die in boekvorm te verkrijgen is om de ITAR te omzeilen. De ISBN nummers zijn 0-9649654-1-0 en 9649654-2-9 (update). PGP 3.0 zal behalve RSA,IDEA, en MD5(voor ondertekenen) ook ElGamal (publieke sleutel encryptie), 3DES (conventioneel) en SHA1 en DSS (ondertekenen) ondersteunen, als de geruchten waar zijn tenminste.

2.6 hoe veilig is PGP?


Er zijn verschillende methoden om PGP te kraken ; deze worden aangeduid als 'attacks', aanvallen.


Ten eerste zou kunnen worden geprobeerd te geheime prive sleutel te achterhalen door middel van de bekende publieke sleutel. Dit is voor een sleutel van een bepaalde lengte net zo moeilijk als het ontbinden in factoren van zo een groot getal. Kleine sleutels, zoals sleutels van 384 en 426 bits zijn allang eens gekraakt, zij het met enige moeite, door de ongebruikte tijd op computers op het internet aan elkaar gekoppeld te benutten. Geheime diensten hebben voor dit werk natuurlijk hun eigen computers. RSA sleutels tot 512 bits mogen uit de VS, met een vergunning, worden ge-exporteerd. Dit betekend dat de Amerikanen deze sleutels waarschijnlijk met vrij weinig moeite kunnen kraken. Grotere sleutels liggen waarschijnlijk nog buiten hun bereik, met ieder bit meer, wordt de benodigde rekentijd immers verdubbeld. 2048 bits sleutels zijn nog wel een tijdje veilig.
Tenzij de geheime diensten (met name de Amerikaanse dienst die internationale communicatie onderschept en decodeerd, de NSA) een sneller methode om getallen in (2) factoren te ontbinden hebben gevonden, maar dit is onwaarschijnlijk, omdat dit een probleem is dat ook in de wetenschap grote aandacht heeft.


Het is makkelijker om je geheime sleutel gewoon van je computer te halen. De wachtzin dat een geheime sleutel beschermt is meestal makkelijk te raden (Zie [3.4]). Een 'tempest attack' gebruikt de straling die van een computer afkomt om gegevens over je wachtzin te achterhalen. Zou zouden signalen van je toestenbord, die voor elke toets die je indrukt een uniek stralingspatroon uitstraalt, straten verder opgevangen kunnen worden. Dit is voor het grootste deel nog theorie, tenminste, niemand weet echt of het kan, of geeft het niet toe. Je prive sleutel is makkelijker te stelen door een inbraak.


Er zouden zwakheden in de gebruikte algoritmes kunnen zitten. RSA en IDEA zijn echter al zolang bekend bij wetenschappers, en worden zo vaak onder de loep gehouden, dat niet te verwchten valt dat er erg grote zwakheden in zitten. Maar als die er wel zijn, zou de NSA het ons dan vertellen?


Rest ons nog de onelegante 'brute-force attack'. Deze methode probeert gewoon alle mogelijkheden voor de sleutel die voor het IDEA gedeelte wordt gebruikt. Aangezien deze sleutel 128 bits is, zijn daarvoor 2 tot de macht 128 mogelijkheden. Dit is zo'n groot getal dat berekend is dat met alle computers op deze aarde de zon allang al uitgedoofd is tegen de tijd dat de uitkomst gevonden is.

Dit lijkt allemaal alsof er erstige problemen met de veiligheid van PGP zijn. Dit is niet zo. Vele pogingen van wetenschappers om het te kraken falen jammerlijk, zeker bij grote sleutelgroottes. En op dit moment is PGP het meest geavanceerde cryptographische systeem dat voor het publiek beschikbaar is, alhoewel voor militaire toepassingen ongetwijfeld nog betere methoden beschikbaar zijn. PGP is in ieder geval stukken beter dan bijvoorbeeld DES, dat in een weekje met een beetje moderne thuiscomputer gekraakt is, en heeft als voordeel dat je geen wachtwoord af hoeft te spreken. PGP is ook beter dan een programmaatje waar nog nooit iemand van heeft gehoord. Methoden die door mensen die denken dat ze onkraakbaar zijn worden gemaakt zijn vrijwel altijd nog onveiliger dan bijvoorbeeld DES.. 'Geheime' methoden zijn al helemaal niet te vertrouwen, omdat niemand zo'n methode tegen het licht kan houden. De sterke van een algoritme moet dan ook in de sleutel en het algoritme liggen, niet in de geheimhouding van het algoritme. Beveiligingen in commerciele toepassingen zoals PKZIP en tekstverwekrers zijn vaak zo verschrikkelijk slecht dat ze met pen en papier te kraken zijn, hoewel daar tegenwoordig wat aan verbeterd, bijvoorbeeld in browsers, die nu ook RSA en RC4 gebruiken, alleen moeten commerciele software producenten, die voornamelijk in de VS gevestigd zijn, zich houden aan de exportrestricties, en zwakkere systemen afleveren aan het buitenland.


Het feit dat de geheime diensten van de VS heel erg boos waren, en waarschijnlijk nog steeds zijn, alhoewel de strafzaken wegens gebrek aan bewijs zijn gestaakt, op de maker van PGP, Philip Zimmermann, mag ook als een aanwijzing gezien worden ten aanzien van de sterkte van PGP. Ook de export-regels wijzen hierop, en het feit dat het Amerikaanse ministerie voor buitenlandse zaken Amerikanen die naar het buitenland reizen aanraden om wel 2048 bits RSA te gebruiken, wat gezien moet worden als een inschatting van wat niet-Amerikaanse geheime diensten niet kunnen kraken, en waarschijnlijk gebaseerd op de eigen ervaring, pleit hiervoor.


3 hoe installeer ik PGP?


PGP installeren is op zich simpel. Je hoeft alleen het ZIP bestand uit te pakken, en een paar omgevings-variabelen aan te passen. De volgende beschrijving is voor DOS (en dus ook voor Windows) : Maak een directory c:\pgp aan. Gebruik pkunzip -d pgp263i.zip Zet in de Autoexec.bat : SET PGPPATH=C:\PGP SET TZ=met-1dst Nu moeten alleen nog een publieke en een prive sleutel gemaakt worden. Als je PGP in een andere directory installeert moet je ook PGPPATH aanpassen.


Voor Linux/Unix geldt het volgende : Maak in je home directory een directory .pgp aan mkdir ~/.pgp Zet vervolgens in ~/.pgp de pgp bestanden (unzippen/untarren) Zorg dat niemand verder de directory kan lezen chmod 700 ~/.pgp De beheerder (root) kan altijd al je bestanden lezen(!)

3.1 het maken van een sleutelpaar

Type PGP -kg. (zonder iets erachter, en enter drukken)
Kies een sleutelgrootte, aanbevolen is het maximum 2048 bits. Dit is bij het aanmaken van het sleutelpaar veel langzamer dan een kleinere sleutel, in het gebruik echter maar een beetje langzamer. Amerikaanse versies van PGP kunnen maar sleutels aanmaken tot 2047 bits groot zijn, maar ze kunnen wel 2048 bits sleutels gebruiken bij alle andere bewerkingen ; dit is een foutje in de programmatuur. Een andere veelgebruikte grootte is 1024 bits. Kleiner moet je beslist niet nemen, zo is RSA met 576 bits bijvoorbeeld door de VS goedgekeurd voor export (oftewel; dat kunnen ze snel kraken)
Nu moet je een 'user-ID' kiezen. De vorm daarvan is "Wouter van den Berg <wfberg@dds.nl>" oftewel ; eerst je naam, en dan je e-mail adres tussen haakjes. Nu vraagt PGP om een hoop letters in te tikken, de tijd tussen toetsaanslagen gebruikt PGP om willekeurige getallen te maken. PGP vraagt ook om een passphrase, een wachtwoord, of letterlijk wachtzin, om je prive sleutel mee te versleutelen. Kies een makkelijk te onthouden, maar moeilijk te raden (dus geen namen!) wachtzin. Lees hiervoor ook de Passphrase FAQ. De Passphrase FAQ is te vinden op <URL:http://www.stack.nl/~galactus/remailers/passphrase-faq.html> en de paragraaf over wachtzinnen. (Zie [3.4]) Schrijf je passphrase overigens nooit ergens op! (herhaal NOOIT)
Als je geen wachtzin ingeeft, maar op enter drukt, dan wordt je prive sleutel niet met een wachtzin beschermd. Dit is dus behoorlijk gevaarlijk, en moet je nooit doen.. Nu verschijnen een hoop plusjes en minnetjes op het scherm, en daarna is het klaar. (een . betekent dat het getal dat getest wordt op dat moment deelbaar is door de priemgetallen tot 8191, als een getal wordt gevonden dat niet deelbaar is, volgen 4 Fermat testen, die bepalen of het getal zeer waarschijnlijk ook echt een priemgetal is, een test wordt aangegeven door + of *, na 2X **** of ++++ op het scherm heb je de twee benodigde priemgetallen)

Met PGP -kxa <je user-id> <bestand> kun je je publieke sleutel naar een bestand kopieren om aan mensen te geven waarmee je PGP wilt gebruiken. (type de haakjes niet mee, die staan hier om aan te geven dat je het niet letterlijk in moet typen, maar je eigen waarden in moet vullen)

Als je met PGP iets wilt doen met een bestaande user-id, kun je ook maar een stukje van de user-id intypen, dan zoekt PGP de juiste sleutel op, zolang er geen onduidelijkheid bestaat. Dus bijvoorbeeld om mijn sleutel naar een bestand te schrijven kan ik pgp -kxa Wouter wouter.asc gebruiken. Behalve wanneer ik nog een publieke sleutel met een user-id waar 'Wouter' in staat heb, dan kan ik dus beter pgp -kxa wfberg wouter.asc gebruiken.. Onderteken nu je eigen sleutel met pgp -ks <user-id>

3.2 Nederlandse taalmodule


Er is ook een Nederlandse taalmodule voor PGP. Je hoeft alleen maar language.txt en pgp.hlp te kopieren naar de PGP directory, en in de config.txt "Language = en" te veranderen in "Language = nl"
Je kunt deze module van de internationale PGP homepage, of de een van de vele FTP-sites afhalen. (Zie [2.4])

3.3 Back-ups


Het is verstandig om een back-up te maken van je sleutels, cq de bestanden pubring.pgp en secring.pgp. Het is verstandig om deze bestanden conventioneel gecodeerd te back-uppen (pgp -c) Zie [4.1]
Je kunt ook je prive sleutel in meerdere delen splitsen, zodat een bepaald aantal delen nodig is om je prive sleutel weer te krijgen (bijvoorbeeld 5 delen, waarvan je er 3 nodig hebt), met behulp van een zogenaamd m,n-threshold scheme. Secure split (secsplit.zip) doet dit. Secsplit vind je meestal ook waar je PGP vindt.

3.4 een goede wachtzin (passphrase) verzinnen


Een wachtzin moet makkelijk te onthouden, maar moeilijk te raden zijn. Gedegen advies is natuurlijk om niet je naam, gebruikersnaam, telefoonnummer of andere informatie die anderen zo kunnen raden te gebruiken, maar ook moet je rekening houden met de mogelijkheid van een poging om je wachtzin te achterhalen door middel van een computer.
Zogenaamde 'dictionary attacks' maken gebruik van het feit dat wachtzinnen over het algemeen gewone woorden of zinnen zijn. Duizenden Nederlandse en buitenlandse woorden, beroemde citaten, en veelvoorkomende zinnen kunnen in korte tijd op je prive sleutel (als die in handen van je tegenstanders is gevallen) of conventioneel gecodeerde berichten worden uitgeprobeerd. Hiervoor hoeft je tegenstander nog niet eens te beschikken over de geavanceerde computerapparatuur die een geheime dienst zou hebben.
Waar programma's minder rekening mee kunnen houden zijn woorden die opzettelijk erg raar zijn gespeld, willekeurige letters en vreemde combinaties van kleine en grote letters. (In iedere goed wachtzin zitten tenminste kleine en grote letters, cijfers, en leestekens!)
De lengte van de wachtzin is natuurlijk ook van belang. Kies dus nooit een wachtwoord, maar altijd een -zin.
Een 'brute-force attack' doorzoekt alle mogelijkheden voor een wachtzin, dus bijvoorbeeld alle lettecombinaties tot een bepaalde lengte, met of zonder hoofdletters, cijfers en leestekens. Deze aanval duurt heel erg lang, en een goede wachtzin zorgt ervoor dat deze methode moet worden gebruikt.


De vraag hoe ingewikkeld je wachtzin moet zijn hangt natuurlijk ook af van voor wie je je gegevens geheim wilt houden. Als je je geheimen hebt voor een spreekwoordelijk jonger zusje hoef je geen ellenlange ingewikkelde wachtzin te gebruiken, en hoef je je prive-sleutel ook niet zo erg goed te bewaken. Tegen tegenstanders met aardig wat expertise, en eventueel geld, zoals concurrenten die aan bedrijfsspionage doen, of hackers, kun je maar beter strenge beveiliging aanbrengen. Tegen geheime diensten of de maffia helpt dit alles niet zo. Deze zullen 'rubber hose cryptanalysis' toepassen ; de methode om een wachtzin te achterhalen door middel van een tuinslang die herhaaldelijk op degene die de wachtzin weet geslagen wordt, totdat de wachtzin gevonden is. Dit wordt ook wel gezien als een alternatieve 'brute force atack'.


4 hoe gebruik ik PGP?


PGP -h geeft een helptekst. Het is overigens wel aan te raden om de complete (maar Engelse) handleiding te lezen, door ondeskundig gebruik heb je er anders niks aan. Dit neemt toch behoorlijk wat tijd in beslag, je moet er rekening mee houden dat PGP een moeilijk programma is. Verwacht niet na 5 minuten perfecte resultaten..

4.1 coderen


<user-id> is het user-id, of een gedeelte ervan van de publieke sleutel van degene(n) aan wie je het bestand wilt sturen.
PGP -e <bestandsnaam> <user-id> geeft <bestandsnaam>.pgp binair
PGP -ea <bestandsnaam> <user-id> geeft <bestandsnaam>.asc ascii
PGP -e <bestandsnaam> <user-id> -u <eigenuser-id> gebruik je als je zelf meerdere sleutels hebt.
PGP -e <bestandsnaam> <user-id> <user-id> (etc.) kan ook, om aan meerdere mensen een gecodeerd bericht te sturen. Dan kan wel iedereen zien aan welke andere mensen je het bericht ook hebt gestuurd. Als ze niet alle publieke sleutels hebben, zien ze trouwens alleen maar de key-ids (getallen) en niet de namen (user-ids)

Conventioneel coderen gebruikt geen publieke sleutels, maar een afgesproken geheime sleutel. Je moet dus ervoor zorgen dat jij en je gesprekspartner een veilige, lange, sleutel (=passphrase) hebben afgesproken, zonder dat iemand anders er achter kan zijn gekomen. (dus bijvoorbeeld niet via (e-)mail of telefoon) gebruik PGP -c <bestandsnaam> Conventioneel coderen is veel sneller, maar je kunt niet ondertekenen. Conventioneel coderen is vooral handig voor back-ups.

4.2 decoderen


PGP <bestandsnaam> geeft <bestandsnaam>.
PGP -p <bestandsnaam> levert de originele bestands- naam op
met PGP <bestandsnaam> -o <bestandsnaam> kan je zelf de naam van het gedecodeerde bericht bepalen.
Door in config.txt EncryptToSelf = yes te zetten, worden alle berichten ook met je eigen publieke sleutel gecodeerd, zodat je ze zelf ook nog kunt lezen. Om EncryptToSelf correct te laten werken moet in config.txt MyName met de complete user-id gevuld worden, dus zoiets als MyName = "Wouter van den Berg <wfberg@dds.nl>"

4.3 ondertekenen


Met PGP -s <bestandsnaam> onderteken je een bericht. (ondertekenen is het zelfde als coderen met je eigen prive sleutel van een zogenaamde MD5 hash (een message digest) van het document, die hash is uniek voor dat bericht, iedereen die je publieke sleutel heeft kan controleren of jij het hebt ondertekend, omdat alleen jij jouw prive sleutel hebt.)

Met PGP -sta <bestandsnaam> maak je een zogenaamde clear-signature, de tekst van het bericht is dan nog leesbaar, en er wordt een blokje toegevoegd met de gecodeerde(= getekende) hash. Ook komt er een lijntje boven de tekst te staan, als je die weghaalt, of het bericht verandert, klopt de ondertekening (natuurlijk) niet meer.
Als PGP -sta niet werkt, probeer dan pgp -sta +clearsig=on, bevalt dat, voeg dan Cleasig=on toe aan de config.txt
PGP weigert soms tekstbestanden als zodanig te herkennen, als de regels in het bestand erg lang zijn, het bestand wordt dan in een ASCII-armor (zie [6.7]) opgeslagen. Dit is geen foutje, maar dit hoort zo, omdat sommige programma's die e-mail verwerken te lange regels automatisch afkappen.
Met PGP -sb <bestandsnaam> maak je een ondertekening die in een apart los bestand wordt opgeslagen. (een zgn. detached certificate)
Met PGP -es <bestandsnaam> codeer je het bestand, en onderteken je het. Bij het decoderen wordt een ondertekening automatisch gecontroleerd, als je niet hoeft te decoderen dan kan je een clearsig controleren met PGP <bestandsnaam>, en een detached certificate met PGP <bestandsnaam_certificaat> <bestandsnaam>


Soms geeft het controleren van een ondertekening aan dat de onder- tekening niet klopt, dit kan komen door de verschillen tussen de regelafbreking tussen verschillende besturingssystemen. Als je onder DOS een tekst intypt, breekt hij de regels af met de ascii codes 13 en 10, als je een ondertekende tekst nu aan iemand met unix of een mac stuurt, kan het zijn dat zijn of haar systeem een van beide steeds weglaat. De tekst is dan veranderd door het systeem, en PGP ziet dat meteen, zelfs al is de inhoud niet veranderd. Zet in de config.txt de optie textmode=on of gebruik de -t switch om dit te voorkomen.
Ook het zogenaamde 'wordwrap', of terugloop kan voor problemen zorgen bij clear-signen: als je de tekst schrijft in brede regels, met PGP ondertekend, en je e-mail programma breekt de ondertekende tekst steeds af op een bepaald punt, dan is de tekst veranderd, en klopt de ondertekening niet meer.
Overigens is bij clearsignen alleen het gedeelte tekst tussen de 'begin PGP signed message' en 'begin PGP signature' ondertekend, alles wat boven of onder die strepen staat kan dus vervalst worden, inclusief de commentaar-regels in het ondertekenings-blok (alles voor een lege regel in dat blok wordt beschouwd als commentaar)


Het is, middels een omweg ook mogelijk om HTML-documenten en broncode van computerprogramma's leesbaar te ondertekenen. Zet aan het begin van het bestand een commentaar-sluiten (bijvoorbeeld *\ in c, } in pascal of --> in HTML) en aan het einde van het bestand commentaar-openen (/*,{,<!--).. Onderteken het bestand nu leesbaar, d.w.z. clearsign, m.b.v PGP -sta <bestand>. Voeg nu aan het begin van het bestand commentaar-openen, en aan het eind van het bestand commentaar sluiten toe. De begin-regel en het ondertekenings-blok van PGP staan nu in commentaar.

4.4 shells


Om het gebruik van PGP te vergemakkelijken zijn er vele shells en interfaces voor PGP.
Deze shells vervangen PGP niet, ze beiden alleen een mooi gekleurd uiterlijk, intern roepen ze gewoon PGP aan met de commando's die je ook op de commando lijn zou gebruiken. Deze shells zijn vaak ook handig om sleutels goed te beheren. Voor een overzicht van een paar van deze shells, Zie [7.1].

4.5 anonymous remailers en PGP


Anonymous remailers zijn servers die je mail verder versturen, na eerst de headers te verwijderen. De ontvanger kan dus alleen afleiden dat de e-mail via de anonymous remailer is verstuurd. Nu zou iemand dus de anonymous remailer af kunnen tappen, en de ingaande berichten, waar de geadresseerde en de afzender instaan kunnen lezen. Om dit ietwat vage risico tegen te gaan, kun je sommige remailers e-mail sturen die met PGP gecodeerd is, haal de PGP publieke sleutel van de remailer op, maak een bericht voor de remailer aan, codeer dit met PGP, en plak er een header voor om te zeggen dat het PGP gecodeerd is.. (Encrypted: PGP om precies te zijn).
Je kunt ook anoniem een berichtje aan een remailer sturen, zo voorkom je dat een operator van een remailer toch stiekem je e-mail traceert. Private Idaho kan dit soort taken automatiseren. Zie [7.1]
De remailers zelf bieden vaak uitstekende documentatie over alle functies die ze ondersteunen.

4.6 PGP thuis en op werk gebruiken


Als je om de een of andere reden PGP ook op computersystemen wilt gebruiken die ook voor anderen toegankelijk zijn, bijvoorbeeld op je werk, let dan op de volgende dingen :
Laat geen ongecodeerde berichten op de harde schijf rondslingeren, verwijder deze met PGP -w, dan wordt het bestand overschreven, en kan niet meer met undelete terug worden gehaald.
Zet je prive sleutel niet op de harde schijf. Gebruik de secring optie in config.txt. Als je secring=a:secring.pgp in de config.txt zet, dan zoekt PGP voor je prive-sleutel op de a: floppy-schijf.
Zet ook de optie randseed=a:randseed.bin in de config.txt, en eventueel de optie pubring=a:pubring.pgp.
Kijk of het besturingssysteem swap-files gebruikt, als dit zo is, zet deze optie uit, hetgeen je systeem langzamer maakt, of zie [6.6]
Gebruik NOOIT de pgppass omgevingsvariable op vreemde systemen!
Controleer of er geen rare programma's worden opgeroepen bij het opstarten.
Gebruik PGP niet op vreemde systemen die op een netwerk zijn aangesloten, controleer of andere mensen niet via het netwerk jouw bestanden kunnen lezen, en gebruik PGP niet via terminals, maar alleen op alleenstaande systemen.


5 hoe ga ik met sleutels om?


PGP -kg maakt een sleutelpaar
PGP -kr <user-id> verwijdert een sleutel
PGP -kx <user-id> kopieert een sleutel naar een bestand
PGP -ka kopieert een sleutel van een bestand
PGP -kv <user-id> laat info van een sleutel zien.

Als je een publieke sleutel van iemand krijgt, moet je er zeker van zijn, dat het wel echt van die persoon afkomt. Immers, iemand zou zo zelf een publieke sleutel kunnen maken met als user-id iemand anders' naam, en dan berichten aan die persoon kunnen decoderen, en weer gecodeerd verdersturen (Man-In-The-Middle Attack).
Als je een sleutel niet persoonlijk van iemand kunt krijgen, dan kun je altijd nog hem of haar bellen, en vragen om de 'fingerprint', die krijg je met PGP -kvc <user-id>. Als deze klopt, dan is de sleutel echt. Door PGP -kvc 0x18815205 in te tikken, krijg je o.a. dit : Key fingerprint = 32 8E FE 5C 32 83 76 03 AF 54 EF B3 F0 D7 FA FD
De lengte van de sleutel (in dit voorbeeld 2048) is ook van belang, als de lengte niet klopt dan is het vrij makkelijk om een sleutel te maken met dezelfde fingerprint.
Er zijn ook geraffineerdere methoden om de echtheid van een sleutel te controleren. Zie [5.1].

5.1 ondertekenen


Als jij zeker weet dat een sleutel echt is, kan je hem ondertekenen. Degene die dan die sleutel weer van jou krijgt, kan dan controleren of jouw ondertekening klopt. Als dat zo is, en diegene zeker weet dat jouw sleutel echt is, kan hij/zij er bijna zeker van zijn dat die nieuwe sleutel ook echt is.
Je kunt controleren of een sleutel echt van iemand is door hem of haar in het echt te zien, evt. op een zogenaamde key-signing-party, een speciaal voor het tekenen van sleutels georganiseerde bijeenkomst waar iedereen met key-id en identificatie langs komt, of door op te bellen als je een telefoonnummer van die persoon uit betrouwbare bron hebt, en te vragen om de 'fingerprint', deze kun je zien (ook van je eigen sleutel) met PGP -kvc <user-id>.

PGP -ks ondertekent een sleutel, PGP vraagt ook wanneer je een sleutel opneemt met PGP -ka of je hem wilt ondertekenen. PGP -krs verwijdert een signature weer van een sleutel.
PGP werkt op basis van het zogenaamde 'web-of-trust' idee. Als jouw vriendin Alice zegt dat Bob's sleutel echt is, en die van Charly dan ga je er van uit dat dat zo is. Als Bob zegt dat Dave's sleutel echt is, dan vertrouw je het niet meteen, behalve als ook Charly dit bevestigd.. PGP geeft bij sleutels dan ook aan in hoeverre de sleutel 'betrouwbaar' is op basis van de ondertekeningen.
Hoeveel vrienden van vrienden er nodig zijn om een sleutel als echt te beschouwen wordt in de config.txt ingesteld met marginals_needed, (normaal is dit 2) en hoeveel vrienden een sleutel moeten tekenen voordat PGP de sleutel als volkomen betrouwbaar beschouwd is in te stellen met completes_needed.
Cert_depth stelt in hoeveel niveaus van vrienden je deze puntentelling door laat gaan, standaard is 4.
Je kunt ook met je oude sleutel een nieuwere sleutel, bijvoorbeeld een grotere ondertekenen. Alle ondertekeningen op je oude sleutel tellen dan voor je nieuwe sleutel weer half mee.
De ondertekening van een sleutel controleer je met pgp -kc <user-id>

5.2 meerdere sleutels/meerdere user-ids, user-id veranderen


Je kunt ook meerdere sleutels gebruiken, bijvoorbeeld een paar voor het laten coderen en zelf decoderen van je berichten, en een om te ondertekenen. Sommige mensen doen dit, omdat het problemen voorkomt als je een sleutel kwijt raakt, en je hoeft je onderteken sleutel niet zo paranoide te bewaken als je codeer sleutel.
De sleutel die je het laatst hebt gemaakt wordt gebruikt om te ondertekenen, en om berichten naar jezelf te coderen. Dit kan je weer wijzigen door in config.txt MyName="mijn vorige sleutel" te zetten. Als jij (of iemand anders) meerder sleutels gebruikt met de zelfde user-id kun je ook een user-id in hexadecimaal formaat geven. Met PGP -kv zie je die getallen. Je moet 0x ervoor laten staan, en je beseffen dat PGP bij incomplete nummers 0x123 aanziet voor 0x12345678 maar ook voor 0x12300000 of 0x00123000 etc. !
Als je meerdere e-mail adressen hebt, kun je beter meerdere user-ids aanmaken dan meerdere sleutels. Met PGP -ke voeg je een user-id aan een sleutel toe, een sleutel kan je dan gebruiken door een van beide user-ids te gebruiken. De key-id (dat nummertje) blijft natuurlijk hetzelfde.
Zo kun je ook je user-id veranderen. Maak de nieuwe user-id aan met PGP -ke "nieuwe" en verwijder dan de oude met pgp -kr "oude" (wel voluit spellen..) PGP vraagt dan of je alleen de user-id of de hele sleutel wilt verwijderen, kies dan natuurlijk voor het alleen verwijderen van de user-id.
Het is verstandig om al je user-ids te ondertekenen (met je eigen key) zo kan iemand bijvoorbeeld niet een user-id aanmaken met 'mijn nieuwe key is <key-id>' om mensen een ander key, die hij/zij zelf gemaakt heeft te laten gebruiken in plaats van je echte key. Vervalsingen vallen door de mand doordat ze niet ondertekend zijn.

5.3 keyservers


keyservers zijn in feite een grote publieke database met publieke sleutels. Door daar gebruik van te maken hoeft niet steeds iedereen een hele speurtocht te maken naar je sleutel als ze met je willen praten. Om je sleutel op te nemen in een keyserver stuur je een e-mail met het subject ADD naar <URL:mailto:pgp-public-keys@keys.pgp.net> met je publieke sleutel in het bericht (de body).
Om een sleutel op te halen stuur je een berichtje met in het subject MGET <user-id>, user-id kan ook gedeeltelijk zijn.
Op het www vind je op <URL:http://www.pgp.net/pgpnet/pks-commands.html> een web-interface hiervoor
Ook op verscheidene netwerken die op FIDONET-technologie gebaseerd zijn, zogenaamde FIDOTECH netweren kennen keyservers. NOTB is het enige FIDOTECH netwerk in Nederland dat PGP gecodeerde netmail (Routed Encrypted Netmail) toestaat, en heeft ook een keyserver op 66:666/7 (NOTB) of 2:283/607.7(FIDO) of via het internet op <URL:mailto:pgpserver@viber.iwg.nl>
Andere FIDOTECH pgpkeyservers die hiermee gesynchroniseerd zijn, zijn 2:283/512.17 FIDO, 2:283/312.18 FIDO en 666:3105/777 NOTB

5.4 wat als mijn prive sleutel gestolen is?


Stuur dan snel iedereen die je kent, en de key-servers een zogenaamd 'key revocation certificate'. PGP accepteert de sleutel dan niet meer. (een andere naam is key compromise certifivate).
Je moet nu een nieuwe sleutel maken. De oude kan je echt niet meer gebruiken : wees dus voorzichtig. Gebruik hiervoor PGP -kd
Om deze optie te testen(of om alvast een certificaat te maken voor het geval dat je je prive sleutel kwijtraakt!) kun je eerst een back- up maken van pubring.pgp en secring.pgp en dan PGP -kd gebruiken. Het certificaat zou je dan op diskette kunnen zetten (pgp -kxa), om pas te gebruiken als je je sleutels kwijt bent. Na het maken van het certificaat moet je pubring.pgp en secring.pgp weer terug copieren.
Je kunt alleen een revocation certificate maken van een publieke sleutel als je ook de bijbehorende prive sleutel hebt. Revocation certificates beschermen dus tegen "ik ben mijn sleutel kwijt"-grappen van je tegenstanders.


6 problemen


Dit hoofdstuk geeft wat veel voorkomende problemen plus de oplossingen. Vind je hier je probleem niet, kijk dan even in een van de hoofdstukken hierboven. Kom je er echt niet uit, en ben ik gewoon iets vergeten, mail me dan op <URL:mailto:faq-nl-admin@mail.pgp.net>

6.1 oude PGP decodeert bericht nieuwe PGP niet


De oude versie van PGP (tot 2.6) waren in strijd met een patent in de VS. Daarom is in PGP 2.6 een nieuw bestandsformaat gebruikt, om mensen aan te sporen om de nieuwere versie te gebruiken. Om deze functie uit te zetten kun je in de internationale versies van PGP Legal_Kludge=off in de config.txt zetten.
PGP 2.6 en hoger lezen wel bestanden die PGP 2.3 maakt..

6.2 clearsigning doet raar met streepjes

Omdat een ondertekend bericht met clearsignen begint met een header, namelijk "-----BEGIN PGP MESSAGE-----", om verwarring te voorkomen voor PGP, zet het voor andere streepjes in een bericht dus nog een streepje en een spatie. Hier is niks aan te doen, maar het is normaal.
Nadat je de ondertekening gecontroleerd hebt, ziet alles er weer normaal uit.

6.3 meerder bestanden tegelijk coderen


Onder DOS gebruik je hiervoor de aanroep for %f in (*.*) do PGP -e %f <user-id> -z"je passphrase" (gebruik in batch-files %%f in plaats van %f)
Of je kunt de bestanden eerst TARen, PKZIPen of ARJen, of je kunt een PGP shell gebruiken.

6.4 pgppass


Met set pgppass="je passphrase" gebruikt PGP deze telkens wanneer een passphrase(=wachtzin) gevraagd wordt. Pas als het niet werkt, vraagt PGP aan de gebruiker om een wachtzin. Dit commando moet je dus niet in je autoexec.bat zetten. (je moet je passphrase sowieso nergens opschrijven of opslaan)
Je moet set pgppass ook niet gebruiken als andere mensen bij je computer kunnen, bijvoorbeeld op kantoor. Door set te typen krijgt iemand dan je passphrase te zien.

6.5 virus in randseed.bin

Soms zullen virusscanners in randseed.bin een virus opmerken. Dit is vals alarm. Randseed.bin verandert iedere keer dat PGP wordt opgestart, en daar zullen sommige scanners vreemd van opkijken.
Ook kan het zo zijn dat de tekens in randseed.bin, dat willekeurige tekens bevat, per toeval en reeks bevatten die lijkt op eentje die in een bepaald virus gevonden wordt. Je kunt gerust virusscanners zo instellen dat ze randseed.bin overslaan. Ook kun je randseed.bin gerust verwijderen, PGP maakt dan een nieuwe aan als je PGP weer gebruikt.

6.6 PAS OP : swapfiles..


Moderne multi-tasking operating systems (een hele mond vol) zoals Linux, OS/2 en Windows, maken gebruik van zogenaamde swap-files. Die swapfiles zijn grote bestanden op de schijf waarin gegevens worden gezet die niet meer in het RAM-geheugen passen, waardoor programma's toch kunnen werken. Hierin kunnen dus ook je passphrase, en alle onge- codeerde berichten komen te staan! PGP kun je dus het beste onder DOS gebruiken, of je moet de swapfile functie uitzetten.
Een oplossing waarbij je toch swapfiles en PGP kunt gebruiken is de volgende : stel de swapfile in op een vaste grootte, en noteer de locatie van de swapfile. In dit voorbeeld gebruik ik c:\386spar.par, de swap-file van windows 3.x. Als je klaar bent met het gebruik van de computer, ga dan uit windows, en type het volgende in, pgp -w c:\386spart.par echo y3|undelete c:\386spart.par Je kunt deze commando's ook in een batch-file zetten.
Er zijn ook programma's die dit wat eleganter afhandelen, of voor andere platforms..

6.7 Engelse woorden

Dit is een verzameling van Engelse woorden die je aan kunt treffen in documenten over PGP of encryptie in het algemeen. Ook de hier vertaalde termen worden genoemd.


ASCII
de standaard voor de betekenis van de eerste 128 (=7 bits) karakters van de tekenset.
ASCII armor
manier van PGP om (8 bits) data m.b.v. maar 7 (cq 6) bits te versturen (d.m.v. radix-64) voor bijvoorbeeld e-mail.
asymmetric encryption
asymmetrische encryptie gebruikt maar een sleutel, voorbeelden zijn DES en IDEA
bugfix
een opgeloste fout in software
certificate
een certificaat; echtheidsbewijs
cipher
een encryptie methode, of ciphertext
ciphertext
gecodeerde data (gegevens)
clear signing
zo ondertekenen dat de tekst toch nog leesbaar is.
compression, data
datacompressie, zoals LZW, ZIP..
compromise certificate
zie revocation certificate
conventional cryptography
asymmetrische encryptie; gebruikt 1 sleutel
cryptanalysis
het analyseren van cryptoystemen 'kraken'
crypto
kort voor encryption of cryptography.
cryptography
het ontwerpen van cryptosystemen
cryptosystem
een methode om gegevens te versleutelen
decrypt, to
decoderen
encrypt, to
coderen
encryption
encryptie; het coderen (in het algemeen)
fingerprint
unieke code voor je prive sleutel (pgp -kvc)
freeware
gratis software
ITAR
de Amerikaanse regels tegen export van munitie, die dus ook voor PGP gelden (international traffic in arms regulation).
key
sleutel
key escrow
het systeem waarbij je sleutels aan een TTP geeft (meestal de overheid) zodat je weet dat je iemands echte key hebt,en (vaak) zodat de politie kan aftappen
key management
sleutelbeheer; hoe controleer ik de echtheid van sleutels?
key ring
een bestand waarin PGP je sleutels opslaat, je hebt er 2 een publieke en een prive resp. pubring.pgp en secring.pgp
message digest
een controlegetal dat ondertekend wordt in plaats van het hele bericht te onder- tekenen. voorbeeld : MD5, SHA
passphrase
wachtzin (N.B. niet wachtwoord!) een zin waarmee je je prive sleutel beschermt.
plaintext
ongecodeerde gegevens
public key
publieke sleutel
public key encryption
encryptie waarbij met een publieke en een prive sleutel gewerkt wordt, wat met de ene sleutel gecodeerd wordt, kan alleen met de andere gedecodeerd worden (vb. RSA) ook wel symmetric encryption genoemd
radix-64
het formaat dat PGP voor een ASCII armor gebruikt (op zichzelf geen codering)
revocation certificat
een ongeldigheidsverklaring, maakt je sleutel ongeldig Zie [5.4]
secret key
geheime sleutel (asymmetrische encryptie) of prive sleutel (symmetrische encryptie)
sign
ondertekenen
signature, digital
digitale handtekening
symmetric encryption
zie public key encryption
time stamping
het toevoegen van een tijd en datum aan data : omdat deze dtum/tijd betrouwbaar moet zijn kan hier bijvoorbeeld public key encryption worden gebruikt.
TTP
trusted third party; vetrouwde derde partij iemand die je vertrouwd om je de echte sleutels te geven van anderen (key escrow) en voor certificatie, timestamping, sleutel- distributie en -intrekking.

En wat alternatieve Nederlandse termen :


ASCII-code
ASCII-armor (zie boven)
ASCII-codering
ASCII-armor (zie boven)
certificeren
ondertekenen
geheime sleutel
soms gebruikt als equivalet van de term prive sleutel
geheime zin
passphrase; wachtzin
invoeromleiding
input-redirection, PGP leest van toetsenbord en schrijft naar scherm,in plaats van van en naar bestanden (PGP -f....)
signeren
ondertekenen
sleutelring
key ring (zie boven)
versleutelen
coderen
vingerafdruk
fingerprint (zie boven)

In deze VVV wordt er onderscheid gemaakt tussen de termen geheime sleutel (voor conventionele-) en prive sleutel (voor symmetrische encryptie). Je kunt immers een (RSA) prive sleutel niet gebruiken als een (IDEA) geheime sleutel.. Dit dus om verwarring te voorkomen.

6.8 Passhrase vergeten


Vergeet je passphrase niet. Als je hem kwijt bent, dan is je secret key volkomen onbruikbaar. Je kan dan aan jou verzonden berichten niet meer decoderen. Erger is nog dat je geen key-revocation meer kunt genereren. Als je key al op een keyserver staat, dan kan hij dus daar niet meer als ongeldig gemarkeerd worden. Keyserver beheerders weigeren in het algemeen om keys te verwijderen indien u niet kunt aantonen dat de key van jou is.
Ben je erg bang om je key kwijt te raken, gebruik dan een secret sharing, m.b.v. SecureSplit (secsplit.zip).. Dit splijt geheime informatie in meerdere delen, op een zodanige manier dat je minder dan het totale aantal delen echt nodig hebt om de informatie weer te lezen (bijvoorbeeld 5 delen, waarvan 3 nodig ; je kunt dit zelf instellen) Je kunt dan de delen aan bekenden geven, of opbergen in brandkasten..
Als je geen goede wachtzin hebt gekozen (wat je dus wel moet doen, zie [3.4]) kun je misschien met PGPCRACK, een programma dat een brute-force attack (zie [3.4]) doet misschien de informatie nog achterhalen, alleen dit kan dus erg lang duren.

6.9 tenslotte


PGP is een uitstekend programma om je bestanden mee te beveiligen, hoewel het sommigen zal afschrikken door de wat spartaanse interface. Verkeerd gebruik van PGP (makkelijk te raden wachtzin, prive sleutel op harde schijf van computer op het werk) is erger dan helemaal geen beveiliging ; het biedt namelijk ook geen beveiliging, maar alleen maar een vals gevoel van veiligheid. Het is dan ook aan te bevelen de complete documentatie die bij PGP zit door te lezen, ook al is die in het Engels.
Mocht je toch PGP willen gebruiken zonder de manual te gebruiken, onthou dan het volgende : pgp -h of pgp -? geeft een hulptekst, en als PGP de documentatie niet op de schijf kan vinden, houd het er mee op.. Dit los je op door +nomanual achter de normale commando's te typen, telkens als je pgp gebruikt..


7 bronnen

Meer Engelstalige informatie over PGP hier te vinden :


PGP's originele documentatie door Phillip Zimmerman PGPDOC1.TXT, PGPDOC2.TXT, PGP.HLP (uit de PGP distributie)
The International PGP Homepage <URL:http://www.ifi.uio.no/pgp/>
The comp.security.pgp FAQ <URL:http://www.pgp.net/pgpnet/pgp-faq/>
PGP.net keyservers, faqs, resources <URL:http://www.pgp.net/pgp/>
Galactus' Privacy Homepage <URL:http://www.stack.nl/~galactus/remailers/index-privacy.html>
RSA Cryptography Today FAQ (ook technisch) <URL:ftp://rtfm.mit.edu/pub/usenet/news.answers/cryptography-faq/rsa/>
Where to get PGP FAQ <URL:http://inet.uni-c.dk/~pethern/getpgp.html>
The Passphrase FAQ <URL:http://www.stack.nl/~galactus/remailers/passphrase-faq.html>
Crypto Law Survey <URL:http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm>
Idea licensing <URL:http://www.ascom.ch/Web/systec/security/license.htm>
Technische uitleg RSA/IDEA (engelse pgpfaq) <URL:http://www.pgp.net/pgpnet/pgp-faq/faq-appendix2.html>
PGP Shells <URL:http://www.primenet.com/~shauert/>
Wouter's Crypto Page <URL:http://www.dra.nl/~wfberg/crypto.htm>

Nederlandse PGP informatie op het web :


PGP tips voor Linux <URL:http://www.nllgg.nl/tips/pgp.html>
Nederlandstalige informatie en de PGPfaqNL/PGPVVV <URL:http://www.pgp.net/pgpnet/pgp-faq-nl/> <URL:http://huizen.dds.nl/~wfberg/pgp/>

In deze nieuwsgroepen wordt erover gepraat :


<URL:news:nl.comp.crypt> alles over cryptografie
<URL:news:comp.security.pgp.announce> aankondigingen m.b.t. PGP
<URL:news:comp.security.pgp.discuss> discussie
<URL:news:comp.security.pgp.tech> technische vragen over PGP
<URL:news:comp.security.pgp.resources> hulpprogramma's voor PGP
<URL:news:alt.security.pgp> algemeen over PGP
<URL:news:sci.crypt> wetenschappelijke discussie
<URL:news:talk.politics.crypto> politiek over encryptie

7.1 shells en utilities

MS-Windows
Private Idaho - voor e-mail; Inclusief gebruik van Remailers <URL:http://mail.eskimo.com/~joelm/>
PGPEudora <URL:http://www.xs4all.nl/~comerwel/>
PGP Winfront <URL:http://alpha.netaccess.on.ca/ugali/crypt/winfront.html>
WPGP <URL:http://www.panix.com/~jgostl/wpgp/>
PowerPGP <URL:http://www.servtech.com/public/fruitcake/powerpgp.html>
PGP Encryptor Interface voor Pegasus Mail <URL:http://web.aimnet.com/~jnavas/winpmail.html>
PGPclick <URL:http://www.ncinter.net/~rewilson/pgpkey.html>

DOS
AutoPGP <URL:http://www.ifi.uio.no/~staalesc/AutoPGP/>
Pretty Good Shell <URL:http://www.hio.tem.nhl.nl/studenten/crame000/index.html>

OS/2
PGP Easy Rider <URL:ftp://ftp.wilmington.net/bmtmicro/pgpeasy.zip>

MaC
MacPGP Control <URL:http://www.deepeddy.com/pgp/>

Gnu Emacs
Mailcrypt <URL:http://cag-www.lcs.mit.edu/mailcrypt/>
Mew <URL:ftp://ftp.aist-nara.ac.jp/pub/elisp/Mew/mew-current.tar.gz>

Zie ook :
Scott Hauert's collection of PGP Front Ends & Shells <URL:http://www.primenet.com/~shauert>
Using Microsoft Windows with PGP <URL:http://www.lcs.com/winpgp.html>
Mark Grant's PGP add-ons page <URL:http://www.c2.org/~mark/pgp/other.html>
PGP-related utilities and sevices <URL:http://world.std.com/~franl/pgp/utilities.html>
en The International PGP Homepage ; Zie [7]

Op <URL:ftp://ftp.pgp.net/pub/pgp/> zijn vele utilities en shells voor PGP te vinden. In elke directory staat een README.HTML, waardoor deze FTP-site ook heel goed met een WWW-browser te bekijken is.
Staan hier niet-werkende links in? Laat het me weten op <URL:mailto:faq-nl-admin@mail.pgp.net>

7.2 bbs-en

De volgende BBSen in Nederland houden zich ook bezig met PGP

Viber BBS (NOTB host Gelderland)
026-3890037 28k8 ansi inloggen met eigen naam

Insanity Systems III
071-5768914 28k8 ansi inloggen met eigen naam

* Einde van de PGPFAQNL/PGPVVV


Terug naar boven