image

Cryptografieprofessor: hoogste tijd dat PGP verdwijnt

donderdag 14 augustus 2014, 11:06 door Redactie, 16 reacties

De bekende cryptografieprofessor Matthew Green, die onder andere betrokken is bij de audit van het encryptieprogramma TrueCrypt, heeft een betoog online gezet waarin hij pleit voor het verdwijnen van Pretty Good Privacy (PGP). PGP wordt onder andere gebruikt voor het versleutelen van e-mail.

Onlangs kondigden zowel Google als Yahoo aan dat ze e-mail met behulp van PGP gaan versleutelen. Green benadrukt dat dit een positief effect op het gebruik van versleutelde e-mail zal hebben, iets wat hard nodig. Toch is PGP niet het antwoord, aldus de professor. "Het probleem is dat ondanks al het goeds PGP in het verleden heeft gedaan, het een e-mailencryptiemodel is dat fundamenteel stuk is. Het is tijd dat PGP sterft."

Sleutels

Het eerste kritiekpunt is het gebruik van sleutels. PGP werkt met een privésleutel en een publieke sleutel. De sleutels zijn zo lang dat ze niet handmatig door mensen zijn te controleren. Mensen moeten echter wel de authenticiteit van een sleutel verifiëren, wat via sleutelservers en 'public key fingerprints' wordt gedaan. Het opvragen van een publieke sleutel aan de hand van een fingerprint gebeurt in het geval van GnuPG via HTTP. Daarnaast zorgde een bug in de één na laatste versie van GNuPG ervoor dat de fingerprint van ontvangen sleutels niet werd geverifieerd.

Het tweede kritiekpunt van Green is dat PGP geen Perfect Forward Secrecy (PFS) gebruikt, of forward secrecy zoals hij het noemt. Bij PFS wordt voor elke sessie een aparte sleutel gegenereerd en na het aflopen van de sessie of het versturen van een bericht verwijderd. In het geval aanvallers de encryptiesleutel compromitteren hebben ze nog geen toegang tot de eerder opgeslagen berichten van gebruikers, aangezien die met een aparte afgeleide sleutel zijn gegenereerd. Het gebruik van PFS binnen PGP zou wel mogelijk zijn, maar dit vereist aanpassingen aan het PGP-protocol die waarschijnlijk niet zullen plaatsvinden.

E-mailclients

Een ander punt dat Green dwarszit is de implementatie van PGP binnen e-mailclients. Daardoor kan het voorkomen dat belangrijke e-mails onversleuteld worden verstuurd en voor onbelangrijke berichten de encryptie staat ingeschakeld. Google en Yahoo lossen dit probleem op door helemaal geen gebruikersinterface te tonen, maar dit maakt encryptie weer ontransparant. Daarnaast moeten gebruikers ook de sleutelmanagementoptie van Yahoo en Google vertrouwen.

Volgens Green moet er dan ook het nodige gebeuren. Hij pleit voor een betere aanpak van het sleutelbeheer. Daarnaast moet forward secrecy in het protocol zitten ingebakken en moet er nieuwere encryptie worden gebruikt. Als laatste moet de "backwards compatibility" worden geschrapt. "Het beveiligen van zowel versleutelde als onversleuteld e-mail is te moeilijk. We hebben aparte netwerken nodig die dit vanaf het begin afhandelen."

Green erkent dat hij misschien als een zeurkous klinkt. "Maar zoals ze zeggen: een PGP-criticus is slechts een PGP-gebruiker die de software al een tijdje echt heeft gebruikt." Volgens de professor is er zoveel potentie en zijn er zoveel mogelijkheden om het op dit gebied beter te doen. "Het is tijd dat we die ideeën omarmen en stoppen met terugkijken."

Reacties (16)
14-08-2014, 11:09 door Anoniem
PFS kan je zelf configgen..... http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html
14-08-2014, 11:20 door Anoniem
Green mag dingen vinden, maar hij hoeft zijn mening niet door te drammen op deze manier. PGP werkt prima en naast encryptie wordt het ook gebruikt voor verificatie, dus zowel integriteitschecks als ondertekening. Matt, kom maar terug als je een alternatief hebt en doe niet zo stoer, man.
14-08-2014, 11:32 door Anoniem
Nou het is tijd voor de ECC-protocol
14-08-2014, 12:42 door Anoniem
Door Anoniem: PFS kan je zelf configgen..... http://www.heise.de/security/artikel/Forward-Secrecy-testen-und-einrichten-1932806.html

Zucht. PGP is geen webserver. Heeft helemaal geen mogelijkheden voor PFS.

Door Anoniem: Nou het is tijd voor de ECC-protocol

En wat heeft ECC (een protocol) met email encryptie te maken? Vindt je RSA niet goed genoeg, denk je dat ECC beter is? Zo ja, dan begrijp je niet wat het door Green aangestipte probleem is.
14-08-2014, 12:55 door Fwiffo
@Anoniem 11:09: Ik vind ook dat PFS op het mailserver niveau thuishoort. En hoe moet ik me dat voorstellen met PGP? Als je de ephemeral key wist, kan je zelf ook de oude mailtje niet meer lezen. Je kan dan beter elke paar jaar een nieuwe PGP sleutel aanmaken en de oude wipen als dat echt is wat je wilt (met een expiry date erop). Zelf vind ik het wel handig een backup te hebben van oude mailtjes. Mensen klagen al dat ze die niet kunnen doorzoeken in hun mail programma (vanwege de PGP encryptie erop).

Heb ook een beetje het idee dat het hele betoog van Matthew Green rust op de Forward Secrecy. Waarvan hij zelf toegeeft dat het lastig te implementeren is in PGP.
14-08-2014, 13:02 door Erik van Straten
Door Redactie: Mensen moeten echter wel de authenticiteit van een sleutel verifiëren, wat via sleutelservers en 'public key fingerprints' wordt gedaan. Het opvragen van een publieke sleutel aan de hand van een fingerprint gebeurt in het geval van GnuPG via HTTP. Daarnaast zorgde een bug in de één na laatste versie van GNuPG ervoor dat de fingerprint van ontvangen sleutels niet werd geverifieerd.
Die bug (http://bugs.gnupg.org/gnupg/issue1579) is uitermate slordig, maar het verifiëren van de authenticiteit van een sleutel hoort los te staan van het verkrijgen van een public key (en hoort dus ook los te staan van de automatische fingerprint controle die door die bug niet wordt uitgevoerd).

Het ophalen van een public key, bijv. vanaf een keyserver, via http (niet https) is een risico [1], maar moet niet worden overschat. Het punt is dat iedereen public keys kan uploaden naar key servers, zonder dan hun identiteit (dus authenticiteit) wordt vastgesteld.

Een groot probleem, bij elk protocol dat je bedenkt, is dat het meestal enorm lastig is om vast te stellen of een public key daadwerkelijk toebehoort aan iemand die jij niet persoonlijk kent (d.w.z. de persoon die over de bijbehorende private key beschikt, als het goed is als enige).

Om enige zekerheid te hebben kun je via een ander kanaal vaststellen dat de ontvangen public key identiek is aan de public key van de eigenaar (bijvoorbeeld door die persoon te bellen, ervan uitgaande dat je erop kunt vertrouwen dat het telefoonnummer daadwerkelijk van de bedoelde persoon is). In de praktijk doe je dat niet door de public keys zelf met elkaar te vergelijken (veel te lang), maar door de fingerprint ervan met elkaar te vergelijken.

Verder heeft Matthew Green goede argumenten, lees http://blog.cryptographyengineering.com/2014/08/whats-matter-with-pgp.html voordat je reageert (hij noemt o.a. alternatieven met potentie).

[1] Stel een aanvaller heeft MitM toegang tot jouw netwerkverbinding. Als jij eerst een binary met bijbehorende signature file downloadt via http (of ftp), kan de aanvaller de binary en de signature file wijzigen. Als jij vervolgens de public key ook via een http downloadt, kan de aanvaller ook die wijzigen. Als jij die key, zonder op andere wijze te controleren dat die key daadwerkelijk van de bedoelde auteur is, gebruikt om de integriteit en authenticiteit van de binary te controleren, maak je een grote fout.

Het scenario dat download van de public key vanaf een keyserver via https zou plaatsvinden helpt hier niet met 100% zekerheid. De aanvaller kan de signature file bijvoorbeeld zo wijzigen dat gesuggereerd wordt dat een andere ontwikkelaar uit het vertrouwde team de binary heeft ondertekend, waarvoor de aanvaller een public key heef geupload naar keyservers. Je moet dus altijd proberen vast te stellen dat een public key daadwerkelijk van de gesuggereerde persoon is (en dat die persoon geautoriseerd is om te signeren), en dat is meestal knap lastig als je de betreffende ondertekenaar of haar/zijn collega's niet persoonlijk wilt lastigvallen.
14-08-2014, 14:32 door spatieman
bedrijven, die lokal key storage aanbieden voor encryptie zowiezo niet te vertrouwen, want die key's liggen allang bij de NSA.
14-08-2014, 15:11 door Anoniem
Hij heeft een paar aardige puntjes, maar ook een paar mindere. Ben het wel eens dat GPG een waardeloze user interface heeft, en dat email clients vaak daar ook maar heel erg matig in zijn. GUI-email clients zijn sowieso vaak maar matig, want meestal geschreven door mensen die email niet echt snappen. Degenen die dat wel doen gebruiken namelijk OHA geen GUI. Daarnaast hebben de meeste gebruikers ook alleen maar een client toegeschoven gekregen met een "hier, is intuitief" en het ontbreekt ze daardoor aan de meest elementaire kennis. Encryptie is vooralsnog niet elementair, dus dat ze dat niet snappen is niet raar.

Toch denk ik niet dat een tiental alternatieve, "betere" systemen uitvinden nou zoveel zoden aan de dijk gaat zetten. Wat dacht je er van eerst eens in wat we hebben te duiken, dat echt te doorgronden, en daarna pas te verzinnen hoe het beter kan?
14-08-2014, 15:24 door [Account Verwijderd]
[Verwijderd]
14-08-2014, 15:25 door [Account Verwijderd]
[Verwijderd]
14-08-2014, 17:45 door Anoniem
Door Fwiffo: @Anoniem 11:09: Ik vind ook dat PFS op het mailserver niveau thuishoort. En hoe moet ik me dat voorstellen met PGP? Als je de ephemeral key wist, kan je zelf ook de oude mailtje niet meer lezen. Je kan dan beter elke paar jaar een nieuwe PGP sleutel aanmaken en de oude wipen als dat echt is wat je wilt (met een expiry date erop).
Forward Secrecy werkt niet ivm PGP ja, vandaar ook dat PGP moet verdwijnen. Maar elke paar jaar veranderen voegt ook haast niks toe en vaker is onpraktisch vanwege dat alle contacten je key elke opnieuw moeten verifiëren.
Overigens kan ik aanbevelen om het originele artikel ook te lezen.
14-08-2014, 19:41 door Fwiffo
@Anoniem 17:45: Je kan bij PGP aparte keypairs voor signing and encryptie gebruiken. De signing key hou je dan, terwijl je om de zoveel tijd de encryptie key vernieuwt (en ondertekent met je oude signing key). PGP is zo gek nog niet. Zonde om dat weg te gooien.

Als de bedoeling is e-mail helemaal te vervangen. Veel succes! Maar ik geloof niet dat dat ooit zal lukken. E-mail is net zoiets als IPv4. Dat gaat nooit meer weg :-/ Compatibiliteit met PGP 2.x verdwijnt wel langzaam maar zeker omdat degene die GnuPG onderhoudt daar geen energie meer in wil stoppen (PGP 2.x werkt o.a. met MD5 en dat kan niet veranderd worden).
14-08-2014, 19:49 door Anoniem
Door Fwiffo: @Anoniem 17:45: Je kan bij PGP aparte keypairs voor signing and encryptie gebruiken. De signing key hou je dan, terwijl je om de zoveel tijd de encryptie key vernieuwt (en ondertekent met je oude signing key). PGP is zo gek nog niet. Zonde om dat weg te gooien.

Als de bedoeling is e-mail helemaal te vervangen. Veel succes! Maar ik geloof niet dat dat ooit zal lukken. E-mail is net zoiets als IPv4. Dat gaat nooit meer weg :-/ Compatibiliteit met PGP 2.x verdwijnt wel langzaam maar zeker omdat degene die GnuPG onderhoudt daar geen energie meer in wil stoppen (PGP 2.x werkt o.a. met MD5 en dat kan niet veranderd worden).
Ah bedankt, daar was ik nog niet zo van op de hoogte. Eigenlijk zou dat dan een standaard configuratie in de verschillende PGP/GPG programma's moeten worden.

Over MD5, ik weet niet of dit over hetzelfde gaat, maar de hashing methodes kan je wel via een config file aan passen:
https://www.apache.org/dev/openpgp.html#sha1
15-08-2014, 08:14 door Anoniem
Tja, in de beveiligingswereld heb je altijd lieden die overal iets van moeten vinden. Nu moet PGP verdwijnen, maar wat voor PgP geldt gaat in feite ook voor PKI op. Prima omdat aan te pakken maar hoe dan? Oplossingen bieden de critici meestal niet dus blijft het voornamelijk stil aan die kant, dus kunnen ze net zo goed hun mond houden want iedereen die een beetje bekend is met PKI/PgP kent de zwakheden van het geheel wel. Probleem is dat het mechanisme om 100% zeker te zijn van wie een Public key is gewoon erg lastig is om het ook nog gebruikersvriendelijk te houden. Uiteraard weet je best wel van de mensen die je persoonlijk kent hun public keys maar het wordt lastiger om dat van minder goed bekenden of onbekenden vast te stellen. Ik zou daar niet zo snel iets voor kunnen verzinnen maar ik ben dan ook geen cryptografieprofessor.
15-08-2014, 11:25 door Anoniem
Dat GnuPg een lousy interface heeft en daardoor email's niet encrypt betekend nog niet dat andere betaalde PGP oplossingen dezelfde mankementen hebben.
15-08-2014, 13:20 door Anoniem
Door Anoniem: Oplossingen bieden de critici meestal niet dus blijft het voornamelijk stil aan die kant, dus kunnen ze net zo goed hun mond houden
Je kan klagen dat critici onproductief zijn omdat ze geen kant-en-klare betere oplossingen aandragen maar daarom maar alle tegenwerpingen wegwuiven en dus met ranzige non-oplossingen blijven werken is zomogelijk nog onproductiever. Het is het ontkennen van het evident hebben van een probleem.

Of dat hier ook het geval is, ach, pgp/gpg heeft hele duidelijke problemen, en dit onderkennen is wel een noodzakelijke eerste stap. Wat nu verder te doen? Geen idee. Tijd voor wat brainstormen dan maar. Iemand moet het doen.

Ik zou daar niet zo snel iets voor kunnen verzinnen maar ik ben dan ook geen cryptografieprofessor.
Punt is een beetje dat de cryptonerds met ideen komen die cryptonerds leuke ideetjes vinden maar die vaak genoeg maar heel matig werken in de praktijk. Je moet namelijk ook cryptonerd zijn om het te kunnen gebruiken.

Bijvoorbeeld, PKI is problematisch omdat het van een hierarchie uitgaat, iets wat binnen een grootbedrijf nog wel zou passen (voor zekere taken) maar voor een heel land is het al nodeloos restrictief en voor heel de wereld is het een onbeveiligbare ramp. Die ~600 CA certificaten in je browser zijn 600 single points of failure.

Daarnaast is het voor DNSgebruik een volstrekt nodeloze hierarchie die geen enkele binding heeft met DNS; wat ze daar hadden moeten doen is een "natuurlijke" binding tussen hostnaam en certificaatuitgever, bijvoorbeeld uitgedeeld als gratis extraatje bovenop de domeinnaam die je bestelt. Maar zou de dood zijn van een hele commercie, en een behoorlijk lucratieve ook nog.

PGP gebruikt een web of trust dat weer een hele eigen problematiek kent, net zo goed te beginnen met dat het eigenlijk te ingewikkeld is voor non-cryptonerds om te begrijpen, laat staan te gebruiken. Wat betekent het dat je anderen vertrouwt om certificaten te introduceren? Je moet dus vertrouwen dat ze weten waar ze het over hebben, en hoe weet jij dat?

Als hypothetisch voorbeeld: Wat je zou willen is bijvoorbeeld dat je voor bestellen bij een webshop het certificaat nagaat --eentje waar meerdere signaturen op voorkomen, iets wat PKI VZIW niet kan-- en of daar een signatuur van je eigen bank tussen zit, zo van "wij geloven dat deze shop hun zaakjes op orde heeft". Je vertrouwt je bank met je geld dus is het niet raar om op hun signatuur te vertrouwen voor een webshop. Je zou zelfs wettelijk een garantieplicht aan zo'n signatuur kunnen hangen.

Maar dat wil je dan weer helemaal niet voor websites waar hele andere dan bankzaken afgehandeld worden, daar wil je signaturen van hele andere partijen vertrouwen. Dat onderscheid kan je nu helemaal niet maken. Een signatuur van de Turkse overheid is net zo goed als een signatuur van de Nederlandse, of van een willekeurig Amerikaans bedrijf. PGP heeft vergelijkbare problemen, iets wat de professor ook aanstipt.

Ik zou zo snel niet weten hoe je dat oplost, maar door het helder te maken dat daar een probleem zit kunnen we mogelijke oplossingen gaan verzinnen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.