Tag Archives: PGP

Interessante PKI vraagstukken

Security.nl heeft met artikel SSL niet bestand tegen afluisteren overheid een leuke ingang gegeven naar het failliet van X.509. Het doet me ook denken aan de presentatie van
Dan Kaminsky tijdens 26C3.



Eigenlijk is CAcert al failliet en de komende X.509 certificaten van de overheid zijn dus eigenlijk ook een uitdaging aan het worden. Helaas is PGP niet veel beter en minder goed inzetbaar dan X.509-certificaten.

GPG onderhouden

Het is alweer ruim een jaar geleden dat ik een posting deed om automagisch GnuPG te onderhouden, maar de tijd heeft niet stilgestaan. Helaas is de tijd ook weer niet zo snel gegaan als gehoopt. Hoewel het framework binnen GNOME belooft om ontbrekende keys automagisch op te halen is de volgende aanpassing aan ~/.gnupg/gpg.conf wel aan te raden om alle “legacy” applicaties ook correct te laten werken.

keyserver-options auto-key-retrieve timeout=5

Helaas zal hierdoor je public keyring wel groeien naarmate de tijd vordert. In de posting van 2008 werden keys in de public keyring al ververst en deze opdracht in nu uitgebreid om verlopen en/of ingetrokken keys uit de locale cache te gooien.

37 20 * * Sun ( gpg -q --refresh-keys ; gpg -q --check-trustdb --batch --yes ; gpg --delete-keys --batch --yes `LANG=C gpg --list-keys | egrep '\[(expired|revoked):' | sed -e 's/^.*\///; s/ .*$//' | sort -u` ) >/dev/null 2>&1

Op deze manier blijft de public keyring nog enigsinds beheersbaar en snel.

Bijgewerkt: Een wildcard verwijdert en de ANDs vervangen door een semicolons.

OpenPGP en SHA1

Dat MD5 namespace collissions had welke steeds serieuzere vormen begon aan te nemen was al een feit en voor SHA-1 waren ook al problemen te voorzien aan de toekomst. Helaas lijken voor SHA-1 de vorderingen sinds november 2008 en nu zo snel te gaan dat het een probleem begint te vormen zoals ook uit een posting is te halen:

Last week at eurocrypt, a small group of researchers announced a fairly serious attack against the SHA-1 digest algorithm, which is used in many cryptosystems, including OpenPGP. The general consensus is that we should be moving in an orderly fashion toward the theater exits, deprecating SHA-1 where possible with an eye toward abandoning it soon (one point of reference: US gov’t federal agencies have been directed to cease all reliance on SHA-1 by the end of 2010, and this directive was issued before the latest results).

Vooral de regel dat de Verenigde Staten van Amerika SHA-1 voor het einde van 2010 in de ban doet geeft mogelijk aan hoe serieus de zaak is. En met oa de MD5 problemen in veel X.509-certificaten nog vers in het achterhoofd wordt het misschien tijd om sommige hashing- en encryptiemethodieken in de ban te doen.

En hoewel het eerste gedeelte van de oplossing nog redelijk onschuldig is met de aanpassingen van de voorkeuren blijft de vraag was er bij het tweede gedeelte te winnen is nu. Zeker aangezien dat het een stuk verder ingrijpt dan nu mogelijk wordt voorgeschoteld. Om binnen 90 dagen over te stappen gaat veel problemen opleveren in the-web-of-trust waarbij de vraag misschien ontstaat of X.509-certificaten zoals van CACert geen betere lange termijn oplossing blijken. Maar een ding is wel duidelijk en dat is dat er meer speelt dan nu duidelijk is aangezien de VS op hoog tempo nu ook SHA-1 wil uitfaseren en sommige protocollen zoals DNS over wil hebben naar DNSSEC.

Oude e-mailadressen

Nu komt er toch een einde aan sommige e-mailadressen welke al jaren niet meer worden gebruikt of alleen nog door spammers en oplichters. Hiermee wordt e-mail met een PGP of een S/MIME signature ook bijna zo goed als standaard om ontvangers een mogelijkheid te geven om te controleren wie de verzender is.

GnuPG onderhouden

PGP is een mooie vinding en hoewel het web of trust zwakheden kan hebben doordat mensen onzorgvuldig omgaan met hoe ze sleutels moeten ondertekenen. Maar helaas of gelukkig blijven er wijzigingen aan die web of trust plaats vinden doordat sleutels verlopen of relaties met andere sleutels zijn opgezet.

Om de lokale keystore te verversen en opnieuw het web of trust te berekenen is het verstandig om dit een per maand of per paar weken te doen. Dit afhankelijk van de wijzigingen die je verwacht en hoe actief je bent. Het volgende commando in cron doet alles wat nodig is om de keystore elke zondagavond bij te werken.


37 20 * * * Sun ( gpg -q --refresh-keys && gpg -q --check-trustdb --batch --yes ) >/dev/null 2>&1

Wel een punt van aandacht. De tijd 20:37 is een gekozen random tijd, maar kies een eigen tijdstip zodat de keyservers niet elke zondagavond op hetzelfde tijdstip worden bestookt.