Hoe zet ik een OpenPGP keyserver op? Deel I: uitleg, waarom en benodigdheden

Door Flippylosaurus op zondag 4 september 2016 21:26 - Reacties (7)
Categorie: -, Views: 1.271

Ik merk op dat Tweakblogs de laatste tijd helemaal wordt platgespamd door Yarden's Yalden's gespam over een paar zinnetjes in een artikel die in zijn ogen incorrect zijn, waarop andere bloggers weer reageren en op z'n beurt zit de hele "Nu op Tweakblogs" sectie op de FP vol met artikelen die op één of andere manier iets met Yalden te maken hebben.
Aangezien het een tijdje geleden is dat ik wat heb geschreven ga ik even wat schrijven over een projectje van me wat nu bezig is. Het is een OpenPGP keyserver! Ik ga het even opsplitsen in verschillende delen omdat ik nu geen zin heb om in de techische details te duiken.
Ik ben zelf de beheerder van pgpkeyserver.nl (waarom dat vrij was weet ik ook niet) en wil graag wat informatie delen.
Ik hoop wat mensen geïnterreseerd hier in te krijgen omdat je dan eindelijk wat load krijgt op de server die toch niks staat te doen.
Zoals de titel zegt ga ik het systeem uitlegen, het over het waarom hebben en de benodigdheden opnoemen.

Uitleg

PGP is een systeem om beveiligd met elkaar te communiceren. Het staat ook wel bekend als GPG, OpenPGP of GnuPG. Ik gebruik vaak die termen door elkaar, maar ze hebben allemaal dezelfde betekenis als we het over standaarden hebben.

Als jij een beveiligde mail naar een ander persoon wilt sturen heb jij zijn publieke sleutel nodig. Die kan je op een keyserver vinden. Die keyservers zijn met elkaar verbonden in een soortement mesh. Als jij een server opzet moet jij andere servers in je netwerk hebben (in vaktaal "peeren") die met jou gegevens delen die op hun servers worden geüpload of die doorgestuurd worden van andere servers.

Wat ik mij aan het begin afvroeg: hoe weet je zeker dat die persoon is wie hij is? Hiervoor is het Web of Trust ontwikkeld. Dit is een gedecentralizeerde variant op een Certificaat Authoriteit. In plaats van door één organisatie geverifieerd worden waarvan je niet zeker weet of die organisatie 100% OK is laat jij jezelf verifieren door een heleboel mensen. Verifiëren is het signeren van iemands publieke sleutel en dit weer uploaden naar een keyserver. Je kan je eigen keys ook signeren. Dit is bijvoorbeeld handig als je een nieuwe sleutel neemt. Als jij een nieuwe sleutel neemt, signeer je je nieuwe sleutel met de oude sleutel op een maximaal vertrouwensniveau. Bij mijn sleutel (http://pgpkeyserver.nl/pk...arch=0xA4B8697C&op=vindex) kan je bijvoorbeeld zien dat die is gesigneerd door iemand met dezelfde naam met vertrouwensniveau 3. Dit staat er als volgt:

sig sig3 20EBC59A 2016-07-31 __________ __________ Flippylosaurus <hillebrand@flippylosaurus.eu>

Elke sleutel heeft een uniek ID. Mijn oude sleutel heeft UID 0x20EBC59A, mijn nieuwe heeft 0xA4B8697C.

Het mooie is is dat als je je sleutel op één server upload dat het binnen enkele minuten over het hele internet is te zien. 99,9% van alle servers gebruiken SKS. SKS is een server die een nieuw algoritme gebruikt om met minimale load sleutels efficient te delen. Vroegere servers gebruikten PKS. Dit maakt(e) gebruik van E-mail. Je kan nog steeds mailsync (zo heet dat protocol) gebruiken, maar ik raad het af om dat te gebruiken.

Nog even terug op het Web of Trust. Mensen kunnen elkaars sleutel signeren; bevestigen dat die persoon is wie hij claimt te zijn. Dit gebeurt op grote schaal tijdens keysigning parties (https://en.wikipedia.org/wiki/Key_signing_party). Je kan letterlijk aan iedereen met een sleutel vragen of hij je sleutel signeert. Die persoon mag je dan om een ID-kaart of paspoort vragen. Dit is normaal, om te verifiëren dat de naam op de sleutel je echte naam is. Ook is het handig om te verifiëren dat je de sleutel van de echte persoon signed en niet een toevallige key met de zelfde UID door fingerprints te vergelijken. Je kan het een stapje hoger zetten door een bericht te encrypten tussen de 2 partijen om te verifiëren dat beide partijen de goede sleutels hebben.

Ohja, over dat 'peeren'. Je kan niet zomaar iemands anders' server in jouw lijst zetten. Beide partijen moeten elkaars servers in hun lijsten hebben voordat er sleutels worden uitgedeeld. Ik raad het aan om - als je een server werkend hebt - dit te vragen op een mailinglist als sks-devel@nongnu.org. Laat je niet afschrikken door de naam, dit is echt niet alleen voor developers! Hier komen ook vaak mensen die willen peeren.


Waarom?

Het is simpelweg leuk. Je doet de community een plezier, je helpt mee met een groot netwerk van keyservers, en je maakt een alternatief op pgp.mit.edu (die best brak is), en je leert wat meer over keyservers.

Benodigdheden

Vrij simpel. Je moet:
  • Verstand van Linux hebben
  • Een stel hersens hebben
  • Doorzettingsvermogen hebben
  • Kunnen wachten
  • Een server hebben met goede uplink
  • Een werkende koffiemachine hebben
  • Zin hebben om man pages door te lezen
Heb je nú al interesse en wil je niet gauw genoeg beginnen? Hier zijn een paar handige linkjes.

http://manpages.debian.org/man8/sks
https://bitbucket.org/sks...ks-keyserver/wiki/Peering
http://www.keysigning.org/sks/

P.S.: Als je hulp nodig hebt, vraag het! Ik wil ook graag peeren met servers die stabiel zijn. Stuur me even een PM of een mailtje.

P.P.S.: Vragen zijn altijd welkom! Laat ze als-je-blieft achter.

P.P.P.S.: Ik ben niet heel bekend met bloggen. Mocht je opmerkingen over mijn schrijfstijl hebben, meld ze!

Volgende: Het probleem met spellen die hun players servers laten opzetten 09-'16 Het probleem met spellen die hun players servers laten opzetten
Volgende: Tweakers op Telegram - update! 06-'16 Tweakers op Telegram - update!

Reacties


Door Tweakers user Yalden, zondag 4 september 2016 22:07

Interessante blog! Leuk dat je mij ook nog even noemt! Veel succes met de server!

Door Tweakers user Flippylosaurus, zondag 4 september 2016 22:10

Yalden schreef op zondag 04 september 2016 @ 22:07:
Interessante blog! Leuk dat je mij ook nog even noemt! Veel succes met de server!
Danku!


Door Tweakers user i-chat, zondag 4 september 2016 22:34

het ultime probleem met pgp, het werkt niet omdat het te decentraal opgezet is.

zou de overheid een stichting hebben opgericht a la SIDN om een keyserver netwerk te runnen dan zou ik me daar wel bij aanmelden, - een prima vervolgstap zou dan zijn dat de BD je een eenmalige identificatie-link geeft waarmee je je public-key kunt laten verifieren en voilla we hebben ook geen digi-D meer nodig...

"stukje van/uit cake" zou je denken maar niets lijkt minder waar...

tot die tijd gebruikt niemand pgp en heeft het ook voor mij geen enkele zin me erin te verdiepen.

Door Tweakers user Flippylosaurus, zondag 4 september 2016 22:45

i-chat schreef op zondag 04 september 2016 @ 22:34:
zou de overheid een stichting hebben opgericht a la SIDN om een keyserver netwerk te runnen dan zou ik me daar wel bij aanmelden, - een prima vervolgstap zou dan zijn dat de BD je een eenmalige identificatie-link geeft waarmee je je public-key kunt laten verifieren en voilla we hebben ook geen digi-D meer nodig....
FYI: SIDN heeft geen connecties met de overheid. het enige wat er in de buurt komt is een agreement dat als de SIDN de stekker er uit trekt en er is geen andere organisatie die het wil overnemen dat de overheid dan .nl in zijn beheer krijgt

Nee. Dit wil je niet. Als de overheid zo iets 100% in zijn handen krijgt heeft diezelfde overheid de mogelijkheid om het met 1 druk op de knop uit te zetten. Het zal waarschijnlijk niet open source zijn, dus diezelfde overheid kan waarschijnlijk je beveiligde berichten meelezen, bijna alle gov't ICT projecten failen vaak, et cetera. Je wilt je privacy niet in de handen van de regering hebben.

[Reactie gewijzigd op zondag 4 september 2016 22:46]


Door Tweakers user Qwerty-273, maandag 5 september 2016 09:27

Ga je ook dieper in op keyservers voor bedrijven? Dat is namelijk het grootste knelpunt voor de adoptie van OpenPGP bij het bedrijfsleven. Zeker als je het vergelijkt met de x.500 certificaten voor s/mime waarbij de uitgevende CA vertouwd wordt, en automatisch elk uitgegeven eind cert vertrouwd wordt.

Bij versleutelde communicatie tussen bedrijf A en B, hoe zorg je er voor dat elke nieuwe key van A (nieuwe medewerkers etc) vertrouwd wordt door B, zonder dat ze elke keer handmatig de key moeten controleren / belletje doen om te controleren of de fingerprint klopt / key signen.

Ook wil je als bedrijf controle houden op de publieke sleutels, dus ze masaal verspreiden via publieke keyservers en er vervolgens moeite mee hebben om veroudere sleutels (bv wanneer de prive sleutel verloren is gegaan door een systeem crash) te verwijderen is niet echt super om daar achter aan te gaan met partijen waar geen enkel contract is afgesloten.

Door Tweakers user i-chat, maandag 5 september 2016 20:28

Flippylosaurus schreef op zondag 04 september 2016 @ 22:45:
[...]

FYI: SIDN heeft geen connecties met de overheid. het enige wat er in de buurt komt is een agreement dat als de SIDN de stekker er uit trekt en er is geen andere organisatie die het wil overnemen dat de overheid dan .nl in zijn beheer krijgt
de SIDN is een organisatie die namens de NL-overheid het NL-domain runt, en daar vermodelijk ook wel iets van een vergoeding voor betaald aan de schatkist...

en het beheer:
Nee. Dit wil je niet. Als de overheid zo iets 100% in zijn handen krijgt heeft diezelfde overheid de mogelijkheid om het met 1 druk op de knop uit te zetten. Het zal waarschijnlijk niet open source zijn, dus diezelfde overheid kan waarschijnlijk je beveiligde berichten meelezen, bijna alle gov't ICT projecten failen vaak, et cetera. Je wilt je privacy niet in de handen van de regering hebben.
een heel aantal aannames waarvan er eigenlijk geen enkel klopt of door mij is aangehaald, laat staan aangehangen. ik noem ze even:

* de overheid kan het uitzetten: ja dat klopt maar ze kunnen evengoed jouw server uit een rek halen op verdenking van het een of ander.
* het zal waarschijnlijk niet opensource zijn.... ehm hadden we het hier niet over pgp, dat is opensource dus als de overheid een pgp-dienst opzet is die opensource...
* alle / veel it-projecten van de overheid falen, tja juist daarom zou de overheid pgp moeten invoeren als defacto manier van online-edentificatie dan hoeven ze dus geen E-ID of DigiD uit te vinden, lijkt me dus dikke prima...

en over privacy, we hadden het nog steeds over pgp en keyservers, dus wat is er (behalve het officiele karakter wanneer het een overheids-erkend systeem wordt wezenlijk veranderd...
email is nog steeds email, of het nu van je verzekeringsagent of van een spammer afkomstig is.

Reageren is niet meer mogelijk