PGP (PRETTY GOOD PRIVACY) VEEL VOORKOMENDE VRAGEN
PGPFAQNL/PGPVVV 1.1 -- 29 april 1997 © copyright 1996,1997, all rights reserved Wouter van den Berg <[email protected]>
Nieuwste versie : <URL:http://huizen.dds.nl/~wfberg/pgp/>
Vrij verspreidbaar mits onveranderd, in zijn geheel, en gratis. Commentaar en aanvullingen naar <URL:mailto:[email protected]>
[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
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:[email protected]>
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 <[email protected]>, 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!
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 [email protected] worden dus gespeld
als <URL:mailto:[email protected]>
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.
Commentaar, kritiek, en aanvullingen op deze faq zijn welkom
op <URL:mailto:[email protected]>, 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>
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>
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.
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.
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]
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 [email protected]
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.
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.
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.
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(!)
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 <[email protected]>" 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>
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])
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.
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'.
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..
<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.
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 <[email protected]>"
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.
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].
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.
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.
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].
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>
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.
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:[email protected]> 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:[email protected]>
Andere FIDOTECH pgpkeyservers die hiermee gesynchroniseerd zijn,
zijn 2:283/512.17 FIDO, 2:283/312.18 FIDO en 666:3105/777 NOTB
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.
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:[email protected]>
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..
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.
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.
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.
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.
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..
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.
En wat alternatieve Nederlandse termen :
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.
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.
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..
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
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:[email protected]>
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