http, https en certificaten

Daar had ik inderdaad wel eens wat over gelezen. Maar om eerlijk te zijn was een bewuste gedachte aan die twee begrippen niet de aanleiding van mijn bedenkingen. Al komt het wellicht op het zelfde neer. Ik was in de veronderstelling dat alle extra veiligheid die een https-adres biedt alleen maar kan worden geleverd door de hoster van de website. En dat dit anders slechts de helft ervan zou zijn, Naar wat ik nu heb begrepen was die verdenking ten onrechte. Afijn, weer wat geleerd.
 
Laatst bewerkt:
In een wat algemenere zin zijn self-signed certificaten niet per definitie slecht óf minderwaardig aan certificaten die door een erkende CA zijn ondertekend. Zo'n certificaat staat dan niet in de trust store op je computer, waardoor je die afschikkende melding in de browser te zien krijgt.

Er zijn scenario's waarbij je niet een externe CA wilt vertrouwen. Bijvoorbeeld de veilige chatapplicatie Signal, die gebruikt binnen hun applicatie certificaten die ze zelf gesigned hebben. Let wel, hier spelen een aantal factoren mee:
  • Als de private keys van een van de certificaten binnen de chain 'compromised' (gelekt, gehackt, etc) zijn, kan dit misbruikt worden om communicatie die met dergelijke certificaten ondertekend zijn, te ontsleutelen.
  • Signal wil veilige, private communicatie bevorderen voor iedereen, overal ter wereld. Omdat ze dit behoorlijk goed doen, audits geen opmerkelijke bevindingen hadden en experts het aanraden hebben ze een naam hoog te houden. In hun thread model zitten bijvoorbeeld ook statelijke actoren. Daarom is het niet gek dat ze een externe partij niet graag vertrouwen.
  • Omdat het binnen een applicatie gebruikt wordt, kunnen ze certificate pinning gebruiken. Anders dan bij bijvoorbeeld de browser, stelt dit in staat om tijdens het verbinden te checken of het een certificaat van Signal is en indien het afwijkt de verbinding gelijk te stoppen. Hiermee maken ze een 'man-in-the-middle' aanval onmogelijk.
  • Veilig certificaat en sleutelbeheer is ongelooflijk moeilijk (he DigiNotar). Zelf-signed certificaten of zelf de rol van CA op je nemen is dus ook alleen maar zinvol als je het (minimaal) net zo veilig doet als de bestaande CA's.
Joshua Lund, een van de personen achter Signal, heeft er overigens een blog over geschreven.

EV is "Extra Validated". Hierbij wordt echt het bedrijf zelf gevalideerd. b.v. via de inschrijving bij een kamer van koophandel etc. Na validering komen ook deze bedrijfsgegevens in het certificaat te staan. Dit is een tijdrovend proces, wat deze certificaten duur maakt.

Sommige browsers geven bij het ene certificaat een grijs en het andere een groen slotje. Sommige browsers laten bij een EV certificaat ook de bedrijfsnaam in de url balk zien i.p.v. de url zelf. Hoewel steeds meer browsers daarvan terugkomen omdat je daarmee ook mensen kunt misleiden. b.v. door een officieel bedrijf op te richten in een ander land, waar die bedrijfsnaam niet beschermd is, en dan een officieel EV certificaat aan te vragen voor het bedrijf in dat andere land.

EV staat voor Extended Validation, je zat dicht in de buurt :) Het is - zoals je correct aangeeft - een aanvalsvector om een gelijknamig bedrijf in een ander land op te richten en daarop een EV certificaat aan te vragen. Het gros van de gebruikers spot het niet eens, als ze in die balk bijvoorbeeld "Rabobank [IN]" zien staan. "Er staat toch Rabobank?". Een interessante read hierover is te vinden bij Troy Hunt.
 
Terug
Bovenaan