\: vim:syntax=tex \: $Id: gpg_5_min.azm 1598 2008-12-03 06:40:50Z joostvb $ \: this is a faq in zoem format. see http://micans.org/zoem/ and faq_zmm(7) \import{pud/man.zmm} \import{pud/faq.zmm} \: \setx{"man::year"}{\zinsert{@top_srcdir@/stamp.year}} \setx{year}{\zinsert{stamp.year}} \setx{month}{\zinsert{stamp.month}} \setx{day}{\zinsert{stamp.day}} \setx{tag}{\zinsert{VERSION}} \setx{revision}{\zinsert{VERSION}} \setx{year}{\tr{{delete}{[:space:]}}{\year}} \setx{month}{\tr{{delete}{[:space:]}}{\month}} \setx{day}{\tr{{delete}{[:space:]}}{\day}} \setx{tag}{\tr{{delete}{[:space:]}}{\tag}} \: \setx{year}{ \: \inspect{posix}{^.Date: ([0-9]{4})..+$}{_#1{\1}}{$Date: 2008-12-03 07:40:50 +0100 (wo, 03 dec 2008) $} \: } \: \inspect{posix, dotall, discard-nmp}{^.Date: (~bw{4})}{_#1{\1}}{$Date: 2008-12-03 07:40:50 +0100 (wo, 03 dec 2008) $} \: \inspect{posix, dotall, discard-nmp}{^.Date: ~bw{4}/(~bw{2})}{_#1{\1}}{$Date: 2008-12-03 07:40:50 +0100 (wo, 03 dec 2008) $} \: \setx{month}{ \: \inspect{posix}{^.Date: [0-9]{4}-([0-9]{2})..+$}{_#1{\1}}{$Date: 2008-12-03 07:40:50 +0100 (wo, 03 dec 2008) $} \: } \: \setx{day}{ \: \inspect{posix}{^.Date: [0-9]{4}-[0-9]{2}-([0-9]{2})..+$}{_#1{\1}}{$Date: 2008-12-03 07:40:50 +0100 (wo, 03 dec 2008) $} \: } \: \setx{revision}{ \: \inspect{posix}{^.Revision: ([0-9][0-9]*~b.[0-9][0-9]*)..+$}{_#1{\1}}{$Revision: 1598 $} \: } \setx{year}{\tr{{delete}{[:space:]}}{\year}} \setx{month}{\tr{{delete}{[:space:]}}{\month}} \setx{day}{\tr{{delete}{[:space:]}}{\day}} \setx{revision}{\tr{{delete}{[:space:]}}{\revision}} \: man::cat mdcc.cx \switch{\__device__}{ {html}{ \constant{ {:e} {ë} \: use as \*:e* {:i} {ï} \: use as \*:i* } } {roff}{ \constant{ {:e} {\\(:e} {:i} {\\(:i} } } } \setx{ymd}{\year-\month-\day} \setx{"man::year"}{\year} \setx{"man::month"}{\month} \setx{"man::day"}{\day} \setx{"man::tag"}{\revision} \set{"man::name"}{gpg_5_min} \set{"man::html-title"}{GnuPG in 5 minuten} \set{"man::author"}{Joost van Baal } \set{"man::section"}{7} \begin{pud::man}{ {year} {\year} {month} {\month} {day} {\day} {tag} {\revision} {stamp} {no-stamp} {name}{gpg_5_min} {html_title}{GnuPG in 5 minuten} {author}{Joost van Baal } {section}{7} {synstyle}{long} {defstyle}{long} } \"faq::preamble" \: \${html}{\"man::maketoc"} \sec{name}{TITEL} \NAME{gpg_5_min}{GnuPG in 5 minuten} \sec{toc}{INHOUDSOPGAVE} \"faq::maketoc" \sec{faq}{FAQ} \begin{faqsec}{ {ref}{intro} {cap}{Inleiding} } \faq{tekst}{Wat is dit voor een tekst?} \par{ Deze tekst gaat over GnuPG en andere PGP software. Het is een zeer minimale inleiding: de bedoeling is dat je zo snel mogelijk die software kunt gebruiken. Aan het eind staat een lijstje van meer uitgebreide documenten. Lees die als je meer over technische details, of over de achterliggende beveiligsaspecten wilt weten. En besef: GnuPG is slechts een instrument, echte veiligheid en zekerheid is alleen mogelijk als je weet wat je aan het doen bent. Het lezen van meer uitgebreide documentatie kan daar natuurlijk bij helpen. } \par{ Er wordt van je verondersteld dat je in staat bent software op je computer te installeren (je weet wat een "binary" is), en dat je om weet te gaan met e-mail. De meeste voorbeelden gaan ervan uit dat je het GnuPG programma op de commandline gebruikt. Voor MS Windows gebruikers ziet dat eruit als DOS. Echter: vrijwel alles wat voorgedaan wordt kan ook met grafische programma's gedaan worden. Hoe dat precies moet staat beschreven in de documentatie waar dit document naar zal verwijzen. } \par{ Deze tekst wordt bijgehouden en gepubliceerd op \httpref{http://mdcc.cx/gnupg/}. Werk aan de tekst is begonnen op de mailinglijst van LOSC Breda, in oktober 2003. \: \httpref{http://mailinglist.concepts.nl/pipermail/losc/2003-October/000271.html}. } \faq{waarom}{Waarom zou ik GnuPG gebruiken?} \par{ Als je GnuPG gebruikt, kun je met andere mensen (die ook GnuPG of een vergelijkbaar PGP programma gebruiken) veilig e-mailen. Jouw e-mail kan alleen door de geadresseerde gelezen worden; niemand kan je e-mailverkeer dus afluisteren. Verder is de geadresseerde er zeker van dat het bericht echt van jou afkomt. Voor e-mail van anderen naar jou geldt hetzelfde. } \par{ Normale e-mail garandeert je zoiets niet. Het is in het bijzonder erg eenvoudig mailtjes te sturen met vervalste afzender. } \faq{nee}{Dit lijkt me niks, kan het niet op een andere manier?} \par{ Er zijn alternatieven voor GnuPG die ongeveer dezelfde functionaliteit leveren. } \par{ Je hoeft geen GnuPG of andere PGP-implementatie te gebruiken: S/MIME via bijvoorbeeld \aref{http://www.cacert.org}{CAcert} levert ook autenticatie en vertrouwelijkheid. Sommigen zeggen dat dit systeem minder leertijd vergen. Anderzijds zou het kunnen dat deze manier van werken je meer afhankelijk maakt van 1 centrale } \: Ciphire Mail van \aref{http://www.ciphire.com}{Ciphire Labs}. \par{ Dit document suggereert dat je je e-mailprogramma aanpast om PGP te gebruiken. Je kunt het PGP-werk echter ook buiten je e-mailprogramma laten doen. De \aref{http://www.gnu.org/software/anubis/}{GNU Anubis} software maakt dat mogelijk. GNU Anubis kan handig zijn als het moeilijk is je e-mailsoftware aan te passen voor PGP. Een ander pakket dat ongeveer hetzelfde doet voor MS Windows is \aref{http://sites.inka.de/tesla/gpgrelay.html}{GPGrelay} van Andreas John. } \: (Het lijkt erop dat \aref{ftp://ftp.gnupg.org/GnuPG/geam/}{GEAM} \: (\httpref{http://www.g10code.de/p-geam.html}), nog een andere implementatie van \: dit idee, niet langer onderhouden wordt.) \par{ Uiteraard geldt: kies zelf uit welke manier jou het beste bevalt. } \faq{start}{OK, ik wil met GnuPG gaan werken. Wat nu?} \par{ Je moet zes dingen doen: } \begin{itemize}{ {interitem}{0} {flow}{compact} {type}{arabic} } \item Installeer GnuPG of andere vergelijkbare software (zie de \iref{installsec}{Installatie} sectie hierover) \item Genereer een keypair voor jezelf (zie de \iref{genkey}{``Genereer een PGP/GnuPG key''} paragraaf daarover) \item Maak het publieke deel van je key bekend (zie de paragraaf \iref{publish}{``Publiceer het publieke deel van je keypair''}) \item Zorg dat je e-mailprogramma met GnuPG kan omgaan (zie de vraag \iref{email}{``Hoe vertel ik mijn e-mailprogramma dat ie GnuPG moet gebruiken?''}) \item Sign keys van de mensen waarmee je communiceert, vraag of die mensen jouw key willen signen, werk aan het Web of Trust (zie de \iref{sign}{sectie over Keysigning}) \item Ga veilig e-mailen (zie de vraag \iref{gebruikemail}{``Hoe kan ik nu veilig e-mailen?''}) \end{itemize} \par{ Hieronder worden die dingen uitgelegd. } \end{faqsec} \begin{faqsec}{ {ref}{installsec} {cap}{Installatie} } \faq{install}{Hoe installeer ik PGP software?} \par{ Als je het Debian of Ubuntu GNU/Linux besturingssysteem gebruikt, is het redelijk eenvoudig. Installeer het pakket "gnupg" met een pakketbeheerder zoals \aref{http://packages.debian.org/search?keywords=synaptic&searchon=names&xact=1}{synaptic}, of voer dit commando uit: } \verbatim{\ # aptitude update && aptitude install gnupg} \car{ Voor ander GNU/Linux distributies zul je dit op een andere manier moeten doen; voor Gentoo Linux ziet het er bijvoorbeeld uit als \tt{emerge --sync && emerge gnupg}. (Deze commando's moet je als root uitvoeren; dat kun je zien omdat er een # voor staat. Commando's die je onder je normale gebruikers-account uitvoert worden door een $ vooraf gegaan.) } \par{ Voor vrijwel alle andere GNU/Linux en BSD distributies zijn er gnupg packages beschikbaar. Ook op andere besturingsystemen (Mac OS X bijvoorbeeld) werkt GnuPG, zie \httpref{http://www.gnupg.org/download/supported_systems.html}. } \par{ Mensen die Microsoft Windows gebruiken, kunnen een .zip bestand met gnupg binary van \httpref{ftp://ftp.gnupg.org/gcrypt/binary/} halen. Zie \httpref{http://www.gnupg.org/download/} . } \faq{genkey}{Genereer een PGP/GnuPG key} \par{ Er zijn verschillende smaken van keypairs. Sommige mensen gebruiken keys met subkeys. Hoe je zoiets maakt kun je lezen in de \aref{http://non-gnu.uvt.nl/pub/uvt-unix-doc/gpgkeys-met-subkeys-maken}{handleiding voor PGP keys met subkeys} door Guus Sliepen e.a. Hier zullen we de traditionele en eenvoudigere manier laten zien. Zorg eerst dat de klok van je PC goed staat. GnuPG wil nogal eens lastig doen als er rare tijden of datums in je key staan. Genereer dan een keypair voor jezelf: } \verbatim{\ $ gpg --gen-key} \car{ of, onder Microsoft Windows: } \verbatim{\ c:> \\pad\\naar\\gpg --gen-key} \car{ Er worden verschillende vragen gesteld. De standaard antwoorden zijn bijna altijd goed. Kies een veilige passphrase (op dezelfde manier waarop je een veilig password kiest). NB: tijdens het geven van je passphrase zal er niks op je scherm verschijnen; er zullen geen sterretjes weergegeven worden. } \par{ Genereer verder een revocation certificate: } \verbatim{\ $ gpg --gen-revoke jouwemailadres} \car{ Print de regels tussen } \verbatim{\ -----BEGIN PGP PUBLIC KEY BLOCK-----} \car{ en } \verbatim{\ -----END PGP PUBLIC KEY BLOCK-----} \car{ op een briefje, en berg dat veilig op. Je hebt dit briefje nodig als onverhoopt iemand je keypair steelt. (Je kunt de regels ook in een bestand zetten, dat op een CD branden en de CD veilig opbergen.) } \faq{keypair}{Wat is een keypair eigenlijk?} \par{ Het keypair dat met \tt{gpg --gen-key} gegenereerd is, bestaat uit twee delen: een publiek en een geheim deel. Het publieke deel is in \tt{~/.gnupg/pubring.gpg} gezet, het geheime deel in \tt{~/.gnupg/secring.gpg}. Zorg dat andere mensen het geheime bestand nooit kunnen lezen. Zorg dus dat de computer waarop je zulke bestanden bewaart, \aref{https://www.xs4all.nl/veiligheid/}{goed beveiligd} is. } \faq{email}{Hoe vertel ik mijn e-mailprogramma dat ie GnuPG moet gebruiken?} \par{ Je e-mailprogramma moet verschillende dingen mogelijk maken: } \begin{itemize}{ {interitem}{0} {flow}{compact} {type}{mark} } \item E-mail met jouw digitale handtekening eronder (ge-sign-de e-mail), versturen. \item Versleutelde (encrypted) e-mail versturen. De versleuteling moet alleen door de geadresseerde ontcijferd kunnen worden. \item Verifi\*{:e}ren of ontvangen en ge-sign-de e-mail echt door de afzender getekend is, en aangeven of de key van de afzender te vertrouwen is. \item E-mail die versleuteld is voor jou, kunnen ontcijferen. \end{itemize} \par{ Als je voor je e-mail mutt gebruikt op Debian GNU/Linux of Ubuntu, dan heb je geluk: het werkt gewoon; de functies voor het signen en encrypten van e-mail zitten onder de ``p''. Bij het openen van ondertekende e-mail wordt meteen aangegeven of de handtekening klopt, en of die door jou te vertrouwen is. Bij het openen van versleutelde e-mail, wordt meteen begonnen met ontcijfering. } \par{ Als je de \aref{http://mozilla.org/}{Mozilla} mailer of \aref{http://www.mozilla.org/projects/thunderbird/}{Mozilla Thunderbird} gebruikt (onder GNU/Linux, Unix of Microsoft Windows), dan kun je enigmail gebruiken als lijmlaag tussen je e-mailprogramma en GnuPG. Zie de enigmail website op \httpref{http://enigmail.mozdev.org/} voor informatie. Een Nederlandse handleiding voor mensen die Enigmail onder MS Windows gebruiken staat op deze \aref{http://www.tjaard.nl/firefox-thunderbird/beveiligd-mailen-in-thunderbird-met-enigmail-en-gnupg/}{Enigmail handleiding van Tjaard de Vries}. (NB: Ik heb geen goede Nederlandstalige site met hulp voor GNU/Linux gebruikers van Enigmail kunnen vinden. Het zou mooi zijn als de \aref{http://enigmail.mozdev.org/documentation}{Enigmail Quick Start Guide} ook naar het \aref{http://www.mozilla-nl.org/vertalen/}{Nederlands vertaald} werd.) \: Ben Branders http://branders.name/ } \par{ Ook Gnome's \aref{http://www.novell.com/products/desktop/features/evolution.html}{Evolution} (voor GNU/Linux en andere Unix-achtigen) heeft goede support voor GnuPG. } \par{ Voor andere e-mailprogramma's en besturingssystemen zul je zelf wat onderzoek moeten doen. Een goede start is \httpref{http://gnupg.org/related_software/frontends.html#mua}. Een prima handleiding voor MS Windows gebruikers staat op \httpref{http://drcwww.uvt.nl/~robert/gnupg/gnupg-windows.txt}. } \end{faqsec} \begin{faqsec}{ {ref}{sign} {cap}{Keysigning} } \faq{publish}{Publiceer het publieke deel van je keypair} \par{ Upload het publieke deel van je key naar een keyserver: } \verbatim{\ $ gpg --keyserver=subkeys.pgp.net --send-key jouwkeyID} \car{ \: BTS gnupg: manpage: --send-keys needs "[key IDs]", not "[names]" 397130 Je kunt achterhalen wat het key ID van jouw key is, door het commando } \verbatim{\ $ gpg --list-keys jouwemailadres} \car{ te geven. De eerste regel die je dan ziet, zal eruit zien als bijvoorbeeld } \verbatim{\ pub 1024D/969457F0 2000-01-28 [expires: 2035-01-22]} \car{ De code achter de / is je key ID. In dit geval zou je dus uitvoeren } \verbatim{\ $ gpg --keyserver=subkeys.pgp.net --send-key 969457F0} \par{ Je kunt ook een andere keyserver dan subkeys.pgp.net gebruiken; pgp.surfnet.nl bijvoorbeeld. Het maakt niet zoveel uit welke je gebruikt: de verschillende OpenPGP servers copi\*{:e}ren geregeld de data van elkaar. } \par{ Als je \it{echt} een \it{nog} andere keyserver wilt proberen, kun je de lijst van keyservers op \: FIXME http://www.rediris.es/keyserver/graph.en.html \: \httpref{http://keyserver.kjsl.com/~jharris/keyserver.html}. \: op \httpref{http://www.pgp.net/} \httpref{http://www.gurski.org/~gurski/keys/keyservers} raadplegen. } \faq{getsign}{Wat moet ik doen zodat iemand anders mijn key kan signen?} \par{ De meest gangbare methode om je key gesigned te krijgen is om degene die je key wil signen in levende lijve te ontmoeten. Als die persoon niet helemaal absoluut zeker is dat je bent wie je zegt dat je bent, dan overtuig je die persoon daarvan, bijvoorbeeld door je paspoort of rijbewijs te laten zien. Verder geef je de fingerprint van je publieke key aan die persoon. Dat kun je doen door die op een briefje te printen, en dat briefje te geven. Zo'n briefje - ook wel een keyslip geheten - kun je maken door } \verbatim{\ $ gpg --fingerprint jouwemailadres | lpr} \car{ te doen. Op zo'n briefje staat dan iets als } \verbatim{\ pub 1024D/88C6EDF6 2002-11-04 Joost van Baal Key fingerprint = 7177 F40B 051B 5793 8A0B E219 5F76 E17A 88C6 EDF6 uid Joost van Baal sub 1024g/450B4EE8 2002-11-04 [expires: 2035-05-01]} \car{ Je kunt ook het script \aref{http://www.trilug.org/~jeremy/gpg-key2ps}{gpg-key2ps} gebruiken (als je Debian of Ubuntu gebruikt, te verkrijgen via het \tt{signing-party} Debian pakket) om een A4 met keyslips te maken in PostScript formaat: } \verbatim{\ $ gpg-key2ps jouwemailadres > keyslips.ps} \faq{dosign}{Hoe sign ik een key van iemand Anders?} \par{ Ontmoet Ander, en verifieer of die echt Ander is. Vraag haar om haar key fingerprint. Zorg dat je die op papier hebt, of sla de fingerprint die Ander je gaf op, op b.v. je laptop. Als de eerste regel van de keyslip van de Ander er uit ziet als } \verbatim{\ pub 1024D/88C6EDF6 2002-11-04 Joost van Baal } \car{ dan is de ``keyid'' van de ander \tt{88C6EDF6}. Ga naar huis. Als je geen reden hebt om aan te nemen dat Ander slecht met haar private key omgaat, dan kun je daarna haar key signen. Zie daarvoor de \iref{postksp}{volgende sectie}. } \faq{postksp}{Ik heb deelgenomen aan een PGP Keysigning Party. Wat nu?} \car{ Als je deelgenomen hebt aan een PGP Keysigning Party, dan heb je nu waarschijnlijk een stapel briefjes met key fingerprints. Als het goed is heb je op de bijeenkomst geverifi\*{:e}erd of die fingerprints echt van de personen zijn waarvan ze claimen te zijn. Je kunt dan nu die keys gaan signen. } \par{ Voor iedere keyslip voer je daarvoor het volgende uit. Download eerst de key: } \verbatim{\ $ gpg --keyserver=subkeys.pgp.net --recv-key keyidvanander} \car{ (Je kunt trouwens ook zonder een keyid te gebruiken naar de public key van de Ander zoeken door } \verbatim{\ $ gpg --keyserver=subkeys.pgp.net --search-key "Naam van de Ander"} \car{ te doen.) } \par{ Sign daarna de key: } \verbatim{\ $ gpg --sign-key keyidvanander [...] [ unknown] (1). Iemand Anders [ unknown] (2) Iemand Anders Really sign all user IDs? (y/N)} \car{ Als alle user IDs van dezelfde naam voorzien zijn, kies dan "y". } \verbatim{\ Vingerafdruk van de primaire sleutel: 7177 F40B 051B 5793 8A0B E219 5F76 E17A 88C6 EDF6 Iemand Anders Iemand Anders Weet u zeker dat U deze sleutel wilt ondertekenen met Uw sleutel Joost van Baal (88C6EDF6) Really sign? (y/N)} \car{ Check nu of de fingerprint die gpg je toont echt dezelfde is als op de keyslip staat. Als dat zo is, kies dan "y". Geef daarna de passphrase van je eigen key. De key van Ander is dan gesigned met jouw key. } \par{ Daarna kun je de gesignde key uploaden op het OpenPGP keyserver netwerk door te doen } \verbatim{\ $ gpg --keyserver=subkeys.pgp.net --send-key keyidvanander} \car{ . En je kunt Ander een mailtje sturen, waarin je schrijft dat je haar key hebt ge-upload. } \par{ N.B.: er zijn mensen die liever niet hebben dat je jouw signature op hun key zelf upload. Als je netjes wilt zijn, doe je dat dus niet, maar mail je de gesignde key naar die mensen. De gesignde key kun je in een bestandje opslaan (dat je daarna kunt mailen), door uit te voeren: } \verbatim{\ $ gpg --export --armor keyidvanander >signedkey.asc} \par{ Zie verder overigens de opmerking over "caff" in de \iref{info}{sectie met externe links} voor nog een andere manier om te signen. } \par{ Waarschijnlijk zullen de andere deelnemers van de party jouw key gaan signen. Daarvoor hoef je in het algemeen verder niks te doen. Na een paar dagen kun je eventueel } \verbatim{\ $ gpg --recv-key jouwkeyid} \car{ doen, om de signatures van de anderen op jouw key te downloaden. } \faq{weboftrust}{Hoe werkt het Web of Trust? Wat heb ik eraan?} \par{ PGP software wordt o.a. veel gebruikt door Vrije Software ontwikkelaars, die samenwerken met mensen die ze nooit in levende lijve ontmoet hebben. Om toch enigszins zeker te zijn over de identiteit van je collega in Nieuw Zeeland, is het handig om GnuPG te gebruiken. Stel nu dat Hans in Nederland samen wil werken met Anne in Nieuw Zeeland, voor een project. Het project heeft echter geen budget om vliegreizen naar Nieuw Zeeland te betalen. Nu is het zo dat Anne een nicht in Duitsland heeft: Gisela. Met kerstmis ontmoeten Anne en Gisela elkaar, ze sign-en elkaars GnuPG keys. Jij ontmoet Gisela op een conferentie, en daar is een keysigning party. Omdat je dit document gelezen hebt, doe je natuurlijk mee aan die party. Wanneer je nu een versleuteld en ondertekend mailtje van je collega Anne krijgt, zie je dat Gisela de key van Anne gesigned heeft. Omdat jij zeker weet dat de key van Gisela van Gisela is (jij hebt die immers gesigned), en omdat je het gevoel hebt dat Gisela wel verstand van zaken heeft wat betreft keysigning (je hebt haar bezig gezien op de conferentie), kun je er wel vanuit gaan dat Gisela's signature op de key van Anne waarde heeft. Het is dus waarschijnlijk dat de key van Anne echt van Anne is. } \par{ (Het Web of Trust krijgt een lek als een key gecompromiteerd raakt zonder dat die revoked wordt! Stel dat Boef de geheime sleutel van Anne steelt (of Anne vergist zich in het gebruik van PGP, en geeft haar geheime sleutel aan Boef). Toen Gisela de key van Anne sign-de, kon zij niet nagaan hoe goed Anne met haar geheime sleutel omsprong. (Dit kan zelfs bijna nooit, in het algemeen.) Gisela kon alleen verifi\*{:e}ren dat Anne echt Anne is. Wanneer Boef de geheime sleutel van Anne te pakken heeft gekregen, kan het versleutelde en ondertekende mailtje dus van Boef komen, in plaats van van Anne!) } \par{ Omdat ook jij mogelijk de rol van Gisela kunt spelen voor anderen, is het fijn voor anderen als jij veel keys sign-t. Het is ook fijn voor anderen als je veel mensen de mogelijkheid geeft jouw key te sign-en. En, als je dit veel doet, dan heb je meer kans dat er voor jou een "Gisela" is als je die nodig hebt bij de communicatie met een "Anne". } \faq{weboftrusthelp}{Hoe kan ik meehelpen aan het Web of Trust?} \par{ Ik wil wel meehelpen. Maar waar zijn die conferentie's dan? Of zijn er ook andere manieren om mensen te ontmoeten die hun key gesigned willen hebben? } \par{ Lijsten van mensen die ge\*{:i}nteresseerd zijn in keysigning zijn o.a. te vinden op \httpref{http://www.biglumber.com/x/web?va=1} en \httpref{http://nm.debian.org/gpg.php} . Je kunt jezelf daar ook opgeven. } \end{faqsec} \begin{faqsec}{ {ref}{gebruik} {cap}{Gebruik van GnuPG} } \faq{gebruikemail}{Hoe kan ik nu veilig e-mailen?} \par{ Hoe je nu veilig kunt e-mailen, hangt nogal af van het e-mailprogramma dat je gebruikt. Voorlopig zul je de documentatie die je bij je e-mailprogramma kreeg moeten bekijken: dit hoofdstuk is nog niet geschreven. Ook het stukje over \iref{email}{Hoe vertel ik mijn e-mailprogramma dat ie GnuPG moet gebruiken?} kan je misschien op weg helpen. Uiteraard geldt: de auteur is blij met jouw bijdrage, en met relevante links. } \faq{files}{Maar ik kan GnuPG toch ook gebruiken voor het versleutelen van bestanden?} \par{ GnuPG kan niet alleen voor e-mail gebruikt worden, maar ook voor het ondertekenen en versleutelen van bestanden. Dat doe je als volgt. } \par{ Versleutel en onderteken een bestand zodat alleen jij het nog kunt ontcijferen: } \verbatim{\ $ gpg -se bestand} \car{ Het is aan te raden om bestanden die je versleutelt, altijd \it{ook} te ondertekenen. Op die manier weet je zeker dat de inhoud van het bestand niet stiekem gewijzigd is. } \par{ Het versleutelde bestand zal opgeslaan zijn onder de naam bestand.gpg. Dat versleutelde bestand zal niet-ascii-karakters bevatten. Vaak is het handig als zo'n bestand zonder problemen in een terminal te openen is, en eenvoudig per e-mail te versturen is. Geef in dat geval de optie "-a" (ofwel "--armor") mee aan gpg. In dat geval ziet het versleutelde bestand eruit als: } \verbatim{\ -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.9 (GNU/Linux) hQEOA46mUF8VzrWeEAQAns0J32CTYyk70sufV6Gymi9ai+9XCQQZr9/kjG6HEIzF [...] ycr4f7pR41Sac9SYSOTfi/SMylZ+v5lbbD2gEzZxmmHNTHw3Dkv6opfoYw== =vOZ+ -----END PGP MESSAGE-----} \car{ Zo'n bestand zal opgeslagen worden onder de naam bestand.asc. } \par{ Versleutel en onderteken een bestand zodat alleen Ander (of jij) het nog kunt ontcijferen: } \verbatim{\ $ gpg -se -r Ander bestand} \car{ N.B.: dit is \it{alleen} zinvol als je zeker weet dat de sleutel van Ander echt alleen van Ander is! Zie de \iref{sign}{sectie over Keysigning}. } \par{ Ontcijfer een bestand } \verbatim{\ $ gpg bestand.gpg} \car{ Als het bestand ook ondertekend is, zal een melding over de geldigheid en betrouwbaarheid van de ondertekening gemeld worden. } \par{ Je kunt een bestand trouwens ook versleutelen voor meer dan 1 ontvanger: } \verbatim{\ $ gpg -se -r Ander -r Nogeenander -r Ennogeen bestand } \end{faqsec} \begin{faqsec}{ {ref}{verder} {cap}{En verder?} } \faq{info}{Maar dit is niet alle informatie over GnuPG, wel? Noem eens wat externe links!} \par{ Dit is zeker niet alle informatie! En er zijn in dit stuk dingen over GnuPG niet behandeld, die toch wel belangrijk zijn. Het is dus zeker zinvol er meer over te lezen. Zoals eerder gezegd: GnuPG is slechts een instrument; echte veiligheid en zekerheid is alleen mogelijk als je weet wat je aan het doen bent. } \par{ Eerst een lijstje met algemene documentatie, en websites: } \begin{itemize}{ {interitem}{0} {flow}{compact} {type}{mark} } \item Het \aref{http://wikipedia.org/}{Wikipedia} artikel over PGP, met ook informatie over andere PGP programma's dan GnuPG, en informatie over de geschiedenis van PGP: \httpref{http://en.wikipedia.org/wiki/PGP}. (Het \aref{http://nl.wikipedia.org/wiki/PGP}{Nederlandse artikel} over PGP is helaas minder uitgebreid. Je kunt \aref{http://nl.wikipedia.org/wiki/Wikipedia:Uitleg}{helpen}!) Daarnaast is er een goed Duitstalig Wiki Books boek op \httpref{http://de.wikibooks.org/wiki/GnuPG} beschikbaar. \item Nederlandstalige introductie, met meer aandacht voor de technische achtergrond: GnuPG Mini Howto op \httpref{http://www.dewinter.com/gnupg_howto/dutch/GPGMiniHowto.html}. \item De GnuPG Gentoo Gebruikersgids: \httpref{http://www.gentoo.org/doc/nl/gnupg-user.xml}, een Nederlandse vertaling van de \aref{http://www.gentoo.org/doc/en/gnupg-user.xml}{GnuPG Gentoo User Guide}. Een algemene inleiding in GnuPG, met o.a. ook een beschrijving van Kgpg, een grafisch interface voor GnuPG. (Lees ook het Engelse origineel; in oktober 2008 was de vertaling niet helemaal up to date.) \item \aref{http://www.gnupg.org/(en)/documentation/guides.html#gph}{The GNU Privacy Handbook} op \httpref{http://www.gnupg.org/gph/en/manual.html}. Zeer uitgebreid. \item GnuPG, The Gnu Privacy Guard: \httpref{http://gnupg.org/}. Met uitgebreide lijst van plugins en frontends: \httpref{http://www.gnupg.org/related_software/frontends.html}. \item PGP & GPG -- Email for the Practical Paranoid, een (Engelstalig) boek van \aref{http://bewilderbeast.blackhelicopters.org/~mwlucas/}{Michael W. Lucas}, uitgegeven in april 2006 door \aref{http://www.nostarch.com/}{No Starch Press}; ISBN: 1-59327-071-2. \: \item The International PGP Homepage (met ook informatie over GnuPG, en veel \: (links naar) documentatie): \httpref{http://www.pgpi.org/}. \item De PGP Users mailing lijst: \httpref{http://www.cryptorights.org/lists/pgp-users/}. Hier kun je terecht met vragen over het gebruik van GnuPG en andere PGP software. Engelstalig. \item "A Practical Introduction to GNU Privacy Guard in Windows" door \aref{http://www.glump.net/dokuwiki/about_brendan}{Brendan Kidwell} op \httpref{http://www.glump.net/dokuwiki/gpg/gpg_intro}. \: \item Op http://www.glump.net/content/gpg_intro/html_onepage/gpg_intro.html \: stond ooit "A Practical Introduction to GPG in Windows" door Brendan Kidwell. \: Die pagina is niet meer, wellicht dat je het document toch nog ergens vandaag \: kunt vissen. \: \aref{http://www.glump.net/archive/000060.php}{ \end{itemize} \par{ Over keysigning parties: } \begin{itemize}{ {interitem}{0} {flow}{compact} {type}{mark} } \item Een beknopt document over keysigning, dat in het bijzonder meer aandacht besteed aan de noodzaak van serieus omgaan met het web of trust: \httpref{http://www.debian.org/events/keysigning}. \: "How to not look lost at a key-signing" op \: http://people.debian.org/~stevenk/keysigning.html}. \: https://wiki.ubuntu.com/SteveKowalik \: https://launchpad.net/~stevenk \item Een meer uitgebreid document, met bespreking van de achtergronden van deze parties, is \aref{http://www.cryptnet.net/fdp/crypto/}{GnuPG Keysigning Party HOWTO}, door \aref{http://www.cryptnet.net/people/vab/}{V. Alex Brennen} op \httpref{http://www.cryptnet.net/fdp/crypto/}. Dit document is ook in (veel) vertalingen beschikbaar. \item Het \aref{http://packages.debian.org/unstable/misc/signing-party}{signing-party Debian package} bevat een stel handige scriptjes om het papierwerk voor en na een party af te handelen. \item De \aref{http://jmoore.me/tools/FingerprintCards/}{Fingerprint Cards} webapplicatie, door \aref{http://jmoore.me/}{James Moore}, genereert een pdf met kleine kaartjes met je PGP fingerprint en een foto; handig voor keysigning parties. \item \aref{http://sion.quickie.net/keysigning.txt}{Efficient Group Key Signing Method}, een methode om keysigning party's te organiseren. \end{itemize} \par{ Over analyze van het Web of Trust: } \begin{itemize}{ {interitem}{0} {flow}{compact} {type}{mark} } \item \httpref{http://dtype.org/keyanalyze/} \: \item \httpref{http://keyserver.kjsl.com/~jharris/ka/} (met top 100 van "best connected keys") \item \httpref{http://pgp.cs.uu.nl/} Henk Penning's PGP pagina's, met \httpref{http://pgp.cs.uu.nl/doc/top_1000.html}: top 1000 van "best connected keys". Ook heel leuk zijn de statistieken per key, b.v. \aref{http://pgp.cs.uu.nl/mk_path.cgi?STAT=0B86B067&STATS=statistics}{deze (van mijn key)} en de plaatjes van ranking per key over de tijd, b.v. \aref{http://pgp.cs.uu.nl/graph.php?KEY=969457F0&TYP=rank&STY=BIG}{deze (van mijn andere key)}; \item \httpref{http://the.earth.li/~noodles/pathfind.html} \item \httpref{http://www.biglumber.com/x/web} \item \httpref{http://www.lysator.liu.se/~jc/wotsap/} (met mooie plaatjes) \end{itemize} \: http://webware.lysator.liu.se/jc/wotsap/?top=0x135EA668&bottom=0x969457F0&size=980x600 \: (this one is nice too: \: http://webware.lysator.liu.se/jc/wotsap/?top=0x969457F0&bottom=0xED9547ED ) \par{ In deze FAQ schrijven we dat je alleen de naam van degene van wie je de key tekent, verifieert. Je kunt echter ook de e-mailadressen die aan de key hangen verifi\*{:e}ren. Software die dat mogelijk maakt is caff (CA - fire and forget) op \httpref{http://pgp-tools.alioth.debian.org/}. (Ik denk dat Skami op \httpref{http://alioth.debian.org/projects/skami} inmiddels verouderd is; er was geen activiteit tussen 2005-07 en 2008-10.) } \: \item Cabot op \httpref{http://www.palfrader.org/cabot/} \: \item (Ik denk dat gpg-sign-and-check op \httpref{http://people.debian.org/~lolando/gpg-goodies/} \: inmiddels verouderd is) \faq{tips}{Heb je misschien nog wat specifieke tips?} \par{ Twee tips: eentje over manieren om keys te verifi\*{:e}ren, en eentje over key revocation. } \par{ In dit document gaan we ervan uit dat je Ander ontmoet voordat je haar key sign-t. Er is ook een andere manier om de fingerprint van Ander over een veilig kanaal te ontvangen, en de identiteit van Ander te verifi\*{:e}ren: vraag aan Ander dit: } \begin{itemize}{ {interitem}{0} {flow}{compact} {type}{mark} } \item Stuur 1 cent van jouw persoonlijke bankrekening naar mijn bankrekening; \item Geef je e-mailadres en key fingerprint in het omschrijvingsveld; \item Stuur me een e-mailtje met bericht dat je de overboeking hebt gemaakt. \end{itemize} \par{ Als er te weinig ruimte is voor de hele fingerprint in het omschrijvingsveld, vraag dan om zoveel mogelijk van de laatste karakters van de fingerprint (of vraag om 2 overboekingen om alle informatie over de lijn te krijgen). Als Ander dat allemaal gedaan heeft, kun je de key van Ander tekenen. (Met dank aan \aref{http://www.vanheusden.com/}{Folkert van Heusden} voor deze tip.) Pas echter op: er zijn mensen met verstand van zaken die schrijven: \aref{http://www.debian.org/News/weekly/2005/23/}{keysigning requires to meet in person for a reason}. } \par{ Key revocation: In de sectie \iref{genkey}{Genereer een PGP/GnuPG key} schreven we dat je een revocation certificate moest maken. Als je vermoedt dat iemand anders je private key gestolen heeft, dan kun je je key niet meer gebruiken. Die is dan immers niet meer van jou alleen. Ook anderen zul je op de hoogte moeten stellen dat jouw key niet meer te vertrouwen is. Dat doe je door je revocation certificate te publiceren. Wanneer mensen dan je key downloaden van het keyserver netwerk, zullen ze zien dat de key ongeldig is verklaard. (De key wordt niet verwijderd van het netwerk.) } \par{ Ga als volgt te werk: Zorg dat je revocation certificate in een bestand \tt{revoce.asc} staat. Doe dan } \verbatim{\ $ gpg --import revoce.asc} \car{ (Je kunt controleren dat dit gelukt is: als je \tt{gpg --list-key jouwemailadres} uitvoert, dan staat er bij je key het woord "revoked".) Publiceer je publieke key, waar nu het revocation certificate aan hangt, door } \verbatim{\ $ gpg --keyserver=subkeys.pgp.net --send-key keyidvanander} \car{ te doen. } \end{faqsec} \sec{dank}{DANK} \par{ Dank aan Juul, Marianne Driessen, Stijn, en Ton voor het proeflezen van deze tekst. Dank aan Arjan Broos, Ronald van Engelen, Rop Gonggrijp, Maarten Horden, Thijs Kinkhorst, Benedikt Kratz, Matthijs Langenberg, Virginie Moerenhout, Teun Nijssen, Aldo Plomp en Anton Sluijtman voor het geven van aanvullingen. \: Rop Gonggrijp voor het suggereren van Ciphire. Dank aan Lionel Elie Mamane voor het suggereren van Anubis. Dank aan Henk Penning voor het noemen van de PGP Wiki pagina. Dank aan Jack Raats voor het suggereren van GPGrelay. Dank aan Arvid Gibas voor het suggereren van de GnuPG Gentoo Gebruikersgids. Dank aan Bug Hunter. } \sec{versie}{VERSIE} \par{ \: Versie \revision, \ymd. Versie \ymd. } \sec{copyright}{COPYRIGHT} \par{ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Joost van Baal } \par{ Dit document is vrije software; je kunt het verspreiden en/of wijzigen onder de bepalingen van de GNU Algemene Publieke Licentie, zoals uitgegeven door de Free Software Foundation; oftewel versie 2 van de Licentie, of (naar vrije keuze) een latere versie. } \par{ Dit document is verspreid in de hoop dat het nuttig zal zijn maar \it{zonder enige garantie}; zelfs zonder de impliciete garantie van \it{verkoopbaarheid of geschiktheid voor een bepaald doel}. Zie de GNU Algemene Publieke Licentie voor meer details. } \par{ Een kopie van de GNU Algemene Publieke Licentie is beschikbaar op \httpref{http://www.gnu.org/copyleft/gpl.html} en op aanvraag via de Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA } \par{ Broncode voor dit document is beschikbaar op \httpref{http://mdcc.cx/gnupg/gpg_5_min.azm} en wordt tegen kostprijs door \aref{http://mdcc.cx/~joostvb/}{de auteur} beschikbaar gesteld. } \sec{AUTEUR}{AUTEUR} \par{ \"man::author" } \end{pud::man}