Post on 13-May-2015
OpenPGP en X.509
Leon Kuunders
Nedsecure Consulting
OpenPGP als PKI voor bedrijven
Nedsecure Consulting / Biodata Information Technology
Introductie
• Het klassieke OpenPGP web of trust is niet geschikt voor bedrijven.
• Het web of trust kan in een zeer flexibele hiërarchie worden omgezet.
• Het OpenPGP web of trust is eigenlijk beter dan het X.509 systeem.
Nedsecure Consulting / Biodata Information Technology
Historie
• X.509 is bedoelt voor een hiërarchische structuur, met een CA als centraal vertrouwenspunt.
• OpenPGP is ontwikkelt met de mens als centraal vertrouwenspunt.
Nedsecure Consulting / Biodata Information Technology
OpenPGP Web of Trust
• Alice ontmoet Bob en tekent zijn sleutel. Deze wordt daardoor voor haar geldig.
• Alice tekent de sleutel van Bob met een Trusted Introducer handtekening. Hierdoor vertrouwt ze sleutels die door Bob worden getekend. Als Bob vervolgens de sleutel van Charlie tekent wordt deze automatisch geldig voor Alice.
NormalSignature
BobAlice
Trusted IntroducerSignature
NormalSignature
Alice Bob Charlie
Nedsecure Consulting / Biodata Information Technology
OpenPGP Web of Trust
• Alice tekent de sleutel van Bob met een Meta Introducer handtekening. Hierdoor is Bob in staat voor Alice sleutels te tekenen als Trusted Introducer. Sleutels die door deze Trusted Introducer worden getekend worden automatisch door Alice vertrouwd.
AliceTrusted
IntroducerSignature
Charlie
NormalSignature
DavidMeta
IntroducerSignature
Bob
Nedsecure Consulting / Biodata Information Technology
OpenPGP Web of Trust
• Dit waren de eenvoudigste voorbeelden. De geldigheid van sleutels en vertrouwen wordt via elke gebruiker doorgegeven waardoor een stervormige structuur ontstaat.
• Of een sleutel geldig is of niet wordt bepaald vanuit het gebruikers standpunt.
• Het model komt goed overeen met de menselijke handelswijze als het om vertrouwen gaat.
• Het maakt op een pijnlijke manier duidelijk waarom bedrijven een hiërarchische structuur willen.
Nedsecure Consulting / Biodata Information Technology
Hiërarchie en anarchie
• We kijken nog eens naar het eerste voorbeeld, maar hernoemen de sleutel van Bob naar “CA”:
Trusted IntroducerSignature
Alice
CA
NormalSignature
Charlie
Nedsecure Consulting / Biodata Information Technology
Hiërarchie en anarchie
• Met deze aanpassing van de basis van een web of trust kunnen we een hiërarchische structuur opzetten.
• Het is dus de eenvoudigste vorm van een OpenPGP PKI structuur en volledig conform de OpenPGP standaard.
• Het X.509 model ziet er precies hetzelfde uit. In X.509 wordt de sleutel echter niet door Alice getekend, maar slaat ze hem op in haar “Trusted Root CA” folder.
Nedsecure Consulting / Biodata Information Technology
Een multi-level PKI
• Een eenvoudige hiërarchy is in de meeste gevallen niet flexibel genoeg.
• Een extra niveau is nodig voor deze flexibiliteit.
• We hernoemen de Meta Introducer en de Trusted Introducer.
Alice
NormalSignature
David
RootCA
Trusted IntroducerSignature
NormalSignature
Meta IntroducerSignature
Meta IntroducerSignature
UserCA
Nedsecure Consulting / Biodata Information Technology
Een multi-level PKI
• We kunnen meerdere Sub CA‘s introduceren voor bijvoorbeeld:– Afdelingen– Buitenlandse vestigingen– Eigen / inhuur werknemers– Werknemers / partners
• De beveiliging van het Root CA certificaat is belangrijk. Gebruik voor het tekenen en valideren van sleutels de eigen bedrijfs Sub CA.
Nedsecure Consulting / Biodata Information Technology
OpenPGP en Cross-Certificeren
• Doordat een OpenPGP sleutel meerdere handtekeningen kan bevatten is dit eenvoudiger en flexibeler uit te voeren.
• Cross-certificeren kan door een Sub CA certificaat van een partner te tekenen met een Trusted Introducer handtekening van het eigen Root Certificaat.
• Deze Sub CA sleutel bevat op dat moment twee handtekeningen, die van de partner en die van de eigen organisatie.
• Er kan een geldigheidsduur worden meegegeven.
• Het beëindigen van de cross-certificering kan door de Trusted Introducer handtekening in te trekken.
Nedsecure Consulting / Biodata Information Technology
OpenPGP en Cross-Certificeren
Alice
NormalSignature
Bob
CA
Trusted IntroducerSignature
NormalSignature
Meta IntroducerSignature
Meta IntroducerSignature
Charlie
NormalSignature
David
CA
Trusted IntroducerSignature
NormalSignature
Meta IntroducerSignature
Meta IntroducerSignature
Trusted IntroducerSignature
Organisatie Alpha
Organisatie Beta
SubCA
SubCA
Nedsecure Consulting / Biodata Information Technology
Web of trust?
• Op de bedrijfs PKI is geen enkele invloed van buitenaf.
• Doordat vertrouwen wordt verleend vanuit het gebruikersperspectief heeft het tekenen van een sleutel allen invloed op de persoon die tekent, niet op de ander.
• Als een partner besluit het Root CA certificaat te tekenen met een Meta Introducer handtekening dan worden automatisch alle sleutels van de organisatie door de partner vertrouwd. Dit kan gebeuren zonder tussenkomst van de eigen organisatie.
• Het is belangrijk het importeren van sleutels in de eigen sleutelring tegen te gaan. Hierdoor kan het intrekken van sleutels moeilijker worden.
Nedsecure Consulting / Biodata Information Technology
Gecentraliseerde sleutelgeneratie
• De traditionele manier met OpenPGP: Sleutels worden door gebruikers aangemaakt (decentraal)
• Bedrijven: Gecentraliseerd sleutels aanmaken– Beschikbaarheid: Backup sleutels
• De privé sleutel kan worden teruggehaald i.h.g.v. verlies sleutel of wachtwoord.
• De privé sleutel kan worden teruggehaald als een werknemer het bedrijf verlaat.
– Sleutels kunnen op een veilige manier worden opgeslagen
– Sleutels voldoen aan het bedrijfsbeleid
– Publieke sleutels kunnen direct in de PKI kenbaar worden gemaakt.
Nedsecure Consulting / Biodata Information Technology
CMR vs. CKR
• CMR: Coporate Message Recovery(ADK: Additional Decryption Key)Elk bericht wordt minimaal gecodeerd voor de ontvanger en de bedrijfssleutel.
– Single point of failure– Geldt alleen voor berichten die
worden verstuurd, niet voor berichten die worden ontvangen
– De kans zit er in dat deze sleutel zeer vaak gebruikt moet gaan worden (wachtwoord vergeten, etc...)
Nedsecure Consulting / Biodata Information Technology
CMR vs. CKR
• CKR: Coporate Key RecoveryVan elke encryptie sleutel wordt een backup veilig opgeslagen
– Omdat er voor het versleutelen van berichten en het plaatsen van een handtekening verschillende sleutels worden gebruikt blijft de integriteit van de privé sleutel gewaarborgt.
– Een sleutel kan worden ingetrokken op het moment dat men de backup nodig heeft.
Nedsecure Consulting / Biodata Information Technology
Publiceren van sleutels
• OpenPGP biedt twee mogelijkheden:– HTTP keyservers
• Tien jaar geleden geïntroduceerd• Benaderbaar met vrijwel elk OS• Extra database• Replicatie issues• Goed inzetbaar voor kleinere
installaties en pilots
Nedsecure Consulting / Biodata Information Technology
Publiceren van sleutels
– X.500 LDAP directories• Sneller, eleganter• Ondersteuning voor onder andere
Microsoft Active Directory, Siemens Dir.X, Netscape Directory, Novell NDS
• Veel bedrijven hebben reeds een directory infrastructuur
• Het inbedden van de PKI in de directory infrastructuur reduceert de kosten gemoeid met het onderhoud
Nedsecure Consulting / Biodata Information Technology
Conclusie
• Het klassieke Web of trust is voor grotere organisaties niet geschikt
• Met een Web of trust kan echter een zeer flexibele hiërarchische structuur worden opgezet
• Doordat OpenPGP certificaten meerdere handtekeningen kunnen bevatten is het flexibeler (en pragmatischer)
• Als CA model kiezen voor een multi-level ontwerp gebruiken
• Het centraal genereren van sleutels biedt duidelijke voordelen
• OpenPGP sleutels kan men het beste opslaan in de X.500 directory services