Door Anoniem: Door Erik van Straten: Omdat bijna niemand lijkt te (willen) inzien dat:
1) je niets aan encryptie hebt als je niet weet met welke partij je communiceert
Een van de redenen om desondanks HTTPS te prefereren boven HTTP is dat sommige internetproviders waren begonnen om advertenties te injecteren in pagina's die via HTTP werden geladen.
[...]
Voor zover ik het begrepen heb is dat de motivatie geweest voor Let's Encrypt, of een belangrijk deel van de motivatie.
VeiligheidsdienstenAls ik mij niet heel erg vergis werd het belangrijkste argument aangedragen door Edward Snowden, namelijk dat internetverkeer massaal werd afgeluisterd door veiligheidsdiensten. Vandaar dat de EFF zo'n voorstander was en is van https.
Omdat veiligheidsdiensten zelfs
versleuteld (https) verkeer massaal zouden opslaan wordt de symmetrische sessiesleutel allang niet meer door de webbrowser gegenereerd en versleuteld met de public key uit het servercertificaat (waarna alleen degene die over de bijpassende private key beschikt, normaal gesproken de webserver, die sessiesleutel kan decrypten), maar wordt het Diffie-Hellman (DH) algoritme gebruikt voor de symmetrische "key agreement".
Sterker, in moderne https-certificaten staat dat de public key daarin
uitsluitend gebruikt mag worden voor het checken van digitale handtekeningen. Zo'n "signing" certificaat heeft dan ook geen enkele relatie meer met het versleutelen van https verbindingen; het enige doel is het bewijzen van de identiteit van de server (doordat de server de hash van een aantal verbindingsparameters versleutelt, waardoor iedereen die het certificaat met public key heeft kan checken of aan de clientzijde gebruik gemaakt wordt van exact dezelfde verbindingsparameters, en er dus geen aanvaller tussen zit).
Doel van DH en "signing certificates":
mocht een geheime dienst ooit de private key van de server opeisen, dan kan daarmee, dankzij DH, niet alle
eerder door die veiligheidsdienst opgeslagen
versleutelde communicatie worden ontsleuteld (daarom wordt het gebruik van DH en signing certs "forward secrecy" genoemd; pas vanaf het moment dat een derde de private key van een webserver in bezit heeft, kan die partij zich
voordoen als die webserver).
Om dezelfde reden wordt DoH aangemoedigd en ondersteunt TLSv1.3 versleutelde SNI.
AdverteerdersOngetwijfeld werden de EFF en andere privacy-organisaties hierbij
enorm gesteund door partijen die leven van advertentie-inkomsten, zoals Google, Facebook en dergelijke. Niet omdat die adverteerders zich zorgen maken over de privacy van burgers, of dat burgers
teveel advertenties zouden zien, maar omdat (zoals je schreef)
hun advertenties in webpagina's werden
vervangen door die van anderen, maar ook vanwege "click fraud": partijen "onderweg" die deden alsof de gebruiker "aan het einde van de lijn" op een advertentie klikte.
Derde partijen buiten de deurEen versleutelde verbinding tussen een webserver
gegeven diens domeinnaam en een webbrowser voorkómt de meeste vormen van toegang tot die verbinding
door derde partijen. Daar bestaan uitzonderingen op, maar dat zijn incidenten vergeleken met de eenvoud en massaliteit waarmee http-verkeer werd afgeluisterd, gewijzigd en/of omgeleid.
Voor de (vertegenwoordigers van de) adverteerders (de twee-en-een-halfde partijen) zijn DV (Domain Validated) certificaten goed genoeg; die houden die
derde partijen buiten de deur. Ook als je alleen maar wilt dat veiligheidsdiensten (
ook derde partijen) niet
massaal kunnen afluisteren, volstaan in de meeste gevallen DV-certificaten.
Nb. veiligheidsdiensten kunnen nog steeds meta-data vergaren (in elk geval van-naar IP-adressen, het aantal uitgewisselde bytes en daarmee zelfs versleutelde webpagina's identificeren) en onversleuteld aftappen bij hosting- en CDN-providers. Ook kunnen ze
actieve aanvallen uitvoeren door een server direct vóór de echte server te plaatsen (met hetzelfde IP-adres dus), daar een DV-certificaat voor aanvragen (bijvoorbeeld van Let's Encrypt) en daar (desgewenst selectief, bijv. afhankelijk van het IP-adres van de client) nauwelijks detecteerbare Attacker-in-the-Middle aanvallen mee uitvoeren. Maar dit is allemaal veel meer gedoe en/of levert minder "intel" op dan http-verkeer afluisteren deed.
Je hebt (deels) gelijkJe hebt dus
gelijk dat DV-certificaten
derde partijen buiten de deur houden (niet de twee-en-een-halfde partijen: adverteerders, analytics-boeren en ordinaire meekijkers waarvan de website-eigenaar vindt dat zij mogen meekijken en manipuleren).
Echter, voor burgers die zich netjes aan de wet houden (dus niets te vrezen zouden moeten hebben van veiligheidsdiensten), en die zelf geen last hadden van vervangen advertenties en/of klik-fraude, zijn deze certificaten irrelevant. Voor hen is het van primair belang dat een website, van
een tweede partij, van de organisatie is waarvan zij
denken dat die website is, en dat zij niet om de tuin worden geleid door cybercriminelen.
Door Anoniem: En het maakt verschil voor elke netwerk node waar netwerkverkeer langs komt. HTTP staat echt wagenwijd open voor MITM-aanvallen.
Klopt. Ik heb dan ook altijd gepleit voor https i.p.v. http.
Maar waar het hier om gaat is niet http versus https, maar https met een legitieme partij versus https met een criminele partij
die zich voordoet als een legitieme partij.
Door Anoniem: Zelfs zonder dat je weet wie eigenlijk die HTTPS-webserver bestiert voegt het al wat toe dat in ieder geval geregeld is dat je een foutmelding krijgt als er met het verkeer tussen jou en die server geknoeid is.
Wat een onzin. "Mijn bankrekening is geplunderd maar gelukkig kreeg ik geen https foutmelding en kon er niemand meekijken!"
Sterker, als jouw router en/of jouw ISP http verkeer op kwaadaardige links en/of content scannen, zou http wel eens
veiliger kunnen zijn dan https. Niet voor niets zijn er organisaties en virusscanners die je rootcertificaten laten installeren om "TLS-inspectie" te kunnen doen.
Zonder dat soort (controversiële en nieuwe risico's introducerende) maatregelen zijn organisaties volledig afhankelijk van "endpoint security" maatregelen, die een single point of failure vormen (en te vaak niet werken). Ik zeg niet dat we naar http terug moeten, maar wel dat we veel te weinig zekerheden hebben over de andere kant van versleutelde verbindingen.
Door Anoniem: Ja, het zou geweldig zijn als de verificatie van alle certificaataanvragers zo sterk zou zijn dat het slotje in de adresbalk zekerheid zou geven dat je met een bona fide partij in verbinding staat.
Dat is larie want dat kan nooit. Als jij zaken doet met iemand waarvan jij precies weet
wie het is, zegt dat totaal niets over
de betrouwbaarheid van die persoon. Hooguit weet je hoe die persoon zich in het verleden heeft gedragen, maar dat biedt geen harde garanties voor de toekomst.
Het
beste dat we met techniek voor elkaar kunnen krijgen, is dat je redelijk zeker weet
met welke partij je communiceert en dat dit niet eenvoudig gespoofed kan worden. DV-certificaten blijken in de praktijk veel te eenvoudig te misbruiken door criminelen.
Vergelijkbaar: als je vindt dat er teveel jongeren met grote messen rondlopen en verbieden niet helpt, kun je er ook voor zorgen dat die grote messen niet "bij de HEMA voor het grijpen liggen".
Door Anoniem: Maar die zekerheid had je voor Let's Encrypt ook al niet, CA's hadden allang de verwachtingen op dat vlak beschaamd. In de praktijk lijkt dat een gepasseerd station te zijn.
Er zijn incidenten geweest (zoals de hack van Diginotar). Maar die wegen nauwelijks op tegen hoe vaak het goed ging en gaat. En dat is nodig ook, want er bestaat, in de praktijk, geen alternatief.
Helaas zijn EV-certificaten onderdrukt doordat de USA geen fatsoenlijke federale kamer van koophandel heeft (waardoor onderzoekers konden demonstreren dat je in elk van twee staten een andere organisatie kon oprichten die dezelfde EV-karakeristieken kreeg, bijvoorbeeld "Duplicate, Inc. [USA]").
Nog veel meer helaas is dat webrowsers sindsdien niet in één oogopslag duidelijk maken dat de server een DV- of een betrouwbaarder certificaat heeft opgestuurd.
Zoals ik al eerder aangaf: een gebruiker heeft
niets aan een DV-certificaat als hij/zij niet weet of een domeinnaam van de bedoelde organisatie is of niet -
vooral niet als misbruik supereenvoudig is omdat Let's Encrypt (maar ook andere DV-cert-uitgevers), zonder blikken of blozen, certificaten uitgeven die duidelijk bedoeld zijn voor phishing, en dat in no time, zonder enige vorm van authenticatie van de aanvrager en geheel gratis. Dat is de kat op het spek binden.
Voorbeelden:
microsoft-sso.net,
mlcrosoft.cloud en
mlcrosoft.info (die laatste krijgt al meer dan 2 jaar DV-certs, zie
https://crt.sh/?q=mlcrosoft.info). Drie voorbeelden uit een lange lijst met domeinnamen te vinden in
https://blog.group-ib.com/0ktapus (bron:
https://www.security.nl/posting/765689/Tienduizend+accounts+bij+130+organisaties+getroffen+door+grote+phishingaanval).