PGP heeft de naam moeilijk te zijn, en die reputatie komt vooral door het opzetten, niet door de cryptografie. U kunt dezelfde standaard en hetzelfde cijfer vanuit een browsertabblad gebruiken, zonder installatie en zonder sleutelbos. Hier leest u hoe dat werkt, wat u ervoor inlevert, en wanneer u toch beter naar de desktoptools grijpt.
Wat er verandert zonder installatie
Niets aan het formaat. Een bericht dat in een browser met OpenPGP.js is versleuteld, is een gewoon OpenPGP-bericht: het opent in GnuPG op de opdrachtregel, in Kleopatra op Windows, in wat uw correspondent ook al gebruikt. De uitwisselbaarheid is gelijk omdat de standaard gelijk is.
Wat wél verandert, is waar de code draait en waar die bij kan. GnuPG op de desktop draait als een lokaal proces met een sleutelbos op schijf. Een browsertool draait als JavaScript in een tabblad, zonder enige blijvende sleutelopslag.
Twee manieren om te versleutelen zonder sleutels
Op wachtwoord (symmetrisch)
U kiest een wachtwoord, het bericht wordt daarmee versleuteld, en iedereen met dat wachtwoord kan het ontsleutelen. Geen sleutelparen, geen sleuteluitwisseling, niets om vooraf in te richten. Dit is wat de meeste mensen willen voor een eenmalige actie: een collega een inlog sturen, een vriend een adres.
De adder onder het gras is dat het wachtwoord de ontvanger moet bereiken, en niet naast het bericht mag reizen. Juist die ene eis is waar de meeste fouten in de praktijk ontstaan — we behandelen dat hier grondig.
Publieke sleutel
Heeft uw ontvanger al een publieke PGP-sleutel, dan kunt u daar rechtstreeks naartoe versleutelen en omzeilt u het gedeelde-wachtwoordprobleem volledig. Alleen de houder van de bijbehorende privésleutel kan het resultaat ontsleutelen, dus er hoeft geen geheim te worden verstuurd. CrypClip ondersteunt dit onder Geavanceerde opties.
Dit is beslist beter wanneer het beschikbaar is. Alleen ís het zelden beschikbaar, want het vereist dat de ander al een sleutelpaar heeft.
De eerlijke beperkingen
Een browsertool vervangt een desktop-PGP-opstelling niet zomaar, en het is goed om duidelijk te zijn over waar de gaten zitten.
Geen sleutelbeheer
Er is geen sleutelbos, geen sleutelgeneratie, geen vertrouwensmodel, geen omgang met verlooptermijnen. Moet u identiteiten over de tijd beheren — precies waar PGP voor is ontworpen — dan wilt u GnuPG.
Geen ondertekening
Versleuteling bewijst dat niemand anders het bericht kan lezen. Ze bewijst niet wie het heeft verstuurd. Ondertekening doet dat wel, en browsertools bieden dat doorgaans niet. Als echtheid net zo belangrijk is als geheimhouding, is dat gat aanzienlijk.
Een groter aanvalsoppervlak
Code die bij het laden van de pagina over het netwerk komt, kan in principe worden gemanipuleerd — door een gecompromitteerde server, of door een kwaadaardige browserextensie met toegang tot de pagina. Software die u eenmalig heeft geïnstalleerd en geverifieerd heeft die eigenschap niet. Dit is de echte afweging, en ze is niet nul.
Wachtwoordversleuteling is zo sterk als het wachtwoord
AES-256 is niet de zwakke plek. Een wachtwoord van acht tekens wel. Symmetrische PGP leidt de sleutel af uit uw wachtwoordzin, dus een voorspelbare kan offline worden aangevallen door iedereen die de versleutelde tekst heeft, hoe sterk het onderliggende cijfer ook is.
Hoe u de beweringen controleert in plaats van gelooft
Elke tool kan beweren dat hij uw gegevens nergens naartoe stuurt. De nuttige vraag is of u dat kunt bevestigen.
Bij een browsertool kan dat, en het kost een minuut: open het netwerktabblad van uw browser en versleutel iets — u zou geen enkel uitgaand verzoek met uw tekst mogen zien. Of verbreek de netwerkverbinding volledig en versleutel alsnog; werkt het dan nog, dan werd er niets verstuurd. CrypClip wordt bovendien onverkleind geleverd, juist zodat de JavaScript te lezen is, en de pagina over de werking loopt elke controle na.
Die controleerbaarheid is de compensatie voor het grotere aanvalsoppervlak. Een desktopbinary kunt u ook niet zomaar doorlezen — maar die haalt u wel niet bij elk gebruik opnieuw op.
Wat moet u dan gebruiken?
Gebruik een browsertool wanneer u één bericht aan één persoon moet sturen en het alternatief is dat het onversleuteld gaat. Dat is een echte verbetering, en het is het gangbare geval.
Gebruik GnuPG wanneer u sleutels over langere tijd beheert, wanneer u handtekeningen nodig heeft, of wanneer uw dreigingsmodel een goed uitgeruste tegenstander omvat die het afleveren van de pagina zelf zou kunnen aanvallen. We lopen die vergelijking uitgebreid na in CrypClip vs de GPG-opdrachtregel.