Bij Antagonist kun je een SSL-certificaat voor je website aanschaffen, maar wat doet dat precies? Eerder schreef mijn collega al over de encryptie die SSL/TLS gebruikt. In dit blog wil ik graag ingaan op een ander facet van SSL/TLS, namelijk vertrouwen. Laten we beginnen!
UPDATE
Sinds 11 april 2017 hebben alle domeinnamen, subdomeinen, aliassen en pointers bij Antagonist gratis SSL en HTTP/2 gekregen. Dit geldt voor iedere klant, ongeacht je pakket, inclusief Resellers. Lees hier meer!
Validatiemethoden
Als je een SSL-certificaat aanschaft, dan moet je kiezen voor één van de volgende validatiemethoden:
Als je voor één van de eerste twee opties kiest, dan krijg je te maken met onze leverancier Comodo. Zij controleren of je daadwerkelijk bent wie je beweert te zijn. Met andere woorden, ben jij daadwerkelijk de eigenaar van de website waar je het certificaat voor wilt aanschaffen? Bij domeinvalidatie wordt een minder strikte controle uitgevoerd en ronden wij bij Antagonist deze voor je af. Ideaal, zo heb jij er geen omkijken naar.
Het doel bij deze validatie is om te controleren of je daadwerkelijk de eigenaar van de website bent. Je bezoekers maken (zonder het door te hebben) gebruik van deze controle die Comodo uitvoert. Om uit te leggen hoe dit werkt, moeten we eerst een kijkje nemen bij hoe cryptografie werkt.
In de volksmond wordt vaak van SSL gesproken, maar dit is een technologie die in de praktijk bijna niet meer wordt gebruikt. SSL is vervangen door TLS. Zodoende mag je ervan uitgaan dat SSL en TLS synoniem zijn.
Cryptografie
Meestal denkt men bij SSL/TLS direct aan geheimhouding en dat is ook een belangrijk onderdeel. Als je gaat internetbankieren, wil je immers niet dat er mensen mee kunnen kijken. Door gebruik te maken van encryptie, ook wel ‘versleuteling’ genoemd, kunnen we ervoor zorgen dat derden niet mee kunnen lezen. Echter, hoe weten we zeker dat we met de juiste partij communiceren en dat berichten ongewijzigd aankomen? Aan de hand van een praktisch voorbeeld leg ik uit waarom cryptografie, integriteit en authenticiteit belangrijke facetten zijn.
Internetbankieren
Stel, je schaft een webhostingpakket aan bij Antagonist en je wilt betalen via iDEAL. Je wordt dan op een zeker moment doorgestuurd naar de website van je bank, waar je moet inloggen en de betaling moet goedkeuren. De website van je bank maakt gebruik van TLS, te herkennen aan het groene slotje in de adresbalk.
Geheimhouding is hier van groot belang. Je gaat immers inloggen en je wilt niet dat iemand, die het verkeer tussen jouw en je bank afluistert, in staat is om deze gegevens te lezen. TLS gebruikt hiervoor encryptie en dat zorgt ervoor dat alleen jij en je bank de relevante gegevens kunnen lezen. Iemand die het verkeer afluistert, ziet alleen maar onherkenbare data langskomen.
Daarnaast is het van groot belang dat je zeker weet dat de gegevens die jij naar je bank stuurt ook precies goed aankomen. Als dat niet het geval is, dan zou iemand bijvoorbeeld het rekeningnummer kunnen aanpassen. Jij denkt dat je Antagonist betaalt, maar ondertussen betaal je per ongeluk een kwaadwillende.
En dan als laatste, maar zeker niet het minste, je wilt zeker weten dat je daadwerkelijk op de website van je bank zit en niet iets dat erop lijkt. Met andere woorden, de authenticiteit van de website is van groot belang. Encryptie kwam eerder al aan bod, dus laten we een kijkje nemen naar de andere twee onderdelen: integriteit en authenticiteit.
Integriteit
Ondanks het gebruik van encryptie kan een slimme aanvaller toch berichten aanpassen. Zo zou een aanvaller ervoor kunnen kiezen om het bericht voor jou onleesbaar te maken.
Dit is vergelijkbaar met een brief die je per post verstuurd. Als je daar geheimtaal in gebruikt, kan de postbode de brief niet lezen. Echter, hij of zij zou er wel voor kunnen kiezen om letters weg te halen of in te voegen. De ontvanger kan die brief dan ook niet meer lezen, maar is zich niet per se bewust van een aanval.
TLS bewaakt je ook tegen dit soort aanvallen, door bijvoorbeeld een techniek als HMAC in te zetten. Hierdoor kan gegarandeerd worden dat berichten niet tijdens het transport aangepast zijn.
Authenticiteit
Daarnaast is het belangrijk dat we zeker weten dat we met de juiste persoon of instantie communiceren. Na het toepassen van encryptie en integriteitscontroles weten we zeker dat onze communicatie geheim en onveranderd is. Wat we echter niet zeker weten, is of onze communicatiepartner daadwerkelijk is wie we denken dat het is. Voor hetzelfde geld onderschept een aanvaller onze communicatie (een zogenaamde ‘man-in-the-middle-aanval’) en dat is natuurlijk niet de bedoeling.
Ook hier heeft TLS een oplossing voor. Deze is echter – zowel technisch als conceptueel – wat lastiger te begrijpen. We begeven ons hier namelijk op het raakvlak tussen de digitale en de echte wereld. We proberen immers vast te stellen of de website die we bezoeken daadwerkelijk van de beoogde organisatie is.
Terugkijkend naar ons eerdere iDEAL-voorbeeld: de website waar je jouw gegevens invult, lijkt van je bank te zijn, maar hoe weet je zeker dat het verkeer niet onderschept wordt? We moeten erop kunnen vertrouwen dat de website die we zien, daadwerkelijk van onze bank is.
TLS gebruikt hiervoor een soort handtekening en net als in het echt, is een handtekening waardeloos als je de afgever niet hebt gecontroleerd. Stel, je gaat naar de bank om een rekening te openen, je moet je dan legitimeren en een handtekening zetten. Vervolgens kun je een cheque schrijven en zolang je die met dezelfde handtekening ondertekent, kan de bank controleren dat die daadwerkelijk door jouw ondertekend is. TLS gebruikt een vergelijkbaar mechanisme en dit is waar de certificaten en validatie in het spel komen.
Certificaten
Wat in de praktijk een TLS-certificaat genoemd wordt, bestaat daadwerkelijk uit drie onderdelen: een certificate signing request (CSR), een sleutel en het daadwerkelijke certificaat. De CSR kan gezien worden als een soort aanvraagformulier. Als je bij Antagonist een certificaat bestelt, dan maken wij deze CSR automatisch voor je aan. In de CSR staan gegevens die met je website te maken hebben, zoals het land van herkomst, een eventuele organisatienaam en contactgegevens. Onze leverancier Comodo gebruikt deze gegevens om je aanvraag te controleren.
De sleutel en het certificaat worden samen gebruikt om te controleren dat de website legitiem is. Wat er feitelijk gecontroleerd wordt, is of de website gevalideerd is door een TLS-leverancier die we vertrouwen. Als je een website bezoekt die gebruikmaakt van TLS dan ontvangt je browser van de website het certificaat en een bewijs dat de server in het bezit is van de sleutel. Hierbij verlaat de sleutel nooit de webserver.
Het proces is te vergelijken met een controle van je paspoort bij de douane. De beambte bekijkt of je gezicht (en eventueel je vingerafdruk) overeenkomen met de gegevens op het paspoort. Als dat het geval is, gaat hij of zij ervan uit dat de identiteit gecontroleerd is door de uitgever van het paspoort. In dit geval heeft het paspoort de functie van een certificaat, je gezicht of vingerafdruk is je sleutel en de overheid die het paspoort uitgeeft is de TLS-leverancier.
Het is van belang dat de sleutel geheim blijft. Als deze uitlekt, dan kan iedereen een website starten die zich voordoet als jouw website. Als je bij Antagonist een certificaat bestelt, dan dragen wij er zorg voor dat je sleutel goed bewaard blijft. Daar hoef jij je dus geen zorgen over te maken.
Validatie
Onze computers vertrouwen een paar honderd TLS-leveranciers, zogeheten Certificate Authorities. We gaan ervan uit dat deze bedrijven hun werk goed doen, maar hoe werkt die validatie precies?
Alle vormen van validatie – uitgebreide, organisatie- en domeinvalidatie – beginnen door vast te stellen of de aanvrager daadwerkelijk de eigenaar van het domein is. Wanneer je bij Antagonist een certificaat koopt, dan zorgen wij ervoor dat dit goed gaat. Je hoeft hier dus zelf niets voor te doen. Dit heeft als bijkomend voordeel, dat je binnen een paar minuten je website kunt voorzien van een SSL-certificaat.
In het geval van domeinvalidatie is de procedure nu afgerond en wordt het certificaat opgeleverd en geïnstalleerd. Laten we eens kijken wat er met uitgebreide validatie verder gedaan wordt.
In dit geval moet de Certificate Authority vaststellen of de website legitiem is en dit is een kwestie van handwerk. Eerst zal een medewerker van de Certificate Authority de website bezoeken om te kijken of de website van een echt bedrijf is. Als de website er legitiem uitziet, dan gaat men proberen om de contactgegevens van het bedrijf uit een andere bron te halen. Dit kan een KvK-registratie zijn of bijvoorbeeld de Gouden Gids. Als de gegevens op de website en de externe bron overeenkomen, wordt er telefonisch contact opgenomen met de aanvrager. Als deze stap afgerond is en de Certificate Authority tevreden is, dan wordt het certificaat uitgegeven.
Voor de bezoekers van een website is het te zien of er gebruik is gemaakt van uitgebreide validatie. In het geval van domein- of organisatievalidatie is er een groen slotje te zien zoals hier:
In geval van uitgebreide validatie is er naast een groen slotje ook een bedrijfsnaam te zien:
Als de Certifcate Authority zijn werk goed doet, is het onmogelijk om een certificaat met uitgebreide validatie te krijgen voor een bedrijf dat niet bestaat of een domein of bedrijf waar je geen eigenaar van bent. Het is dus vrijwel onmogelijk om bijvoorbeeld een certificaat met uitgebreide validatie voor de ING aan te vragen, behalve door de ING zelf natuurlijk.
Wat doet TLS niet?
TLS is bedoeld om tegen specifieke aanvallen te beschermen. Als er gebruik wordt gemaakt van domeinvalidatie, dan wordt er alleen gecontroleerd of het verkeer niet onderweg wordt onderschept. Bij organisatievalidatie en vooral bij uitgebreide validatie wordt echt gecontroleerd of de website legitiem is.
Als gebruiker moet je echter nog steeds goed opletten wat je doet. TLS beschermt bijvoorbeeld niet echt tegen phishing-aanvallen (waarbij je een e-mail ontvangt die bijvoorbeeld van je bank lijkt te zijn, maar dat niet is).
Tevens werkt TLS enkel als je de Certificate Authority kunt vertrouwen en niet alle zijn betrouwbaar. Zo bleek in 2011 dat de Nederlandse Certificiate Authority DigiNotar gehackt was en enkele dagen certificaten heeft uitgeven zonder validatie. Daarnaast zijn er landen zoals China, waar Certificate Authorities, zoals het Hong Kong Post Office in handen zijn van de overheid. Dat betekent dat de overheid certificaten kan uitgeven voor willekeurige domeinen om zo beveiligd verkeer af te luisteren.
Tot slot
Zit je er aan te denken om een SSL-certificaat te bestellen? Om je hierbij op weg te helpen, heb ik hieronder een aantal relevante bronnen op een rijtje gezet die je hiervoor kunt doornemen:
- Alles wat je moet weten over SSL
- Hoe kan ik een SSL-certificaat bestellen?
- Hoe forceer ik https en voorkom ik onveilige content?
Mocht je alsnog twijfelen welke type certificaat je het beste kunt kiezen of heb je er andere vragen over? Schroom niet om een e-mail naar support@antagonist.nl te sturen. We helpen je graag verder op weg!
Weet je al welke type certificaat je graag wilt? Je kunt dan een SSL-certificaat via jouw klantaccount van Mijn Antagonist bestellen. Zo zorg je ervoor dat ook jouw website een betrouwbare uitstraling heeft!
P.S. Wil je op de hoogte blijven van alle artikelen, updates, tips en trucs die verschijnen op ons blog? Dat kan! Via RSS, per e-mail, het liken op Facebook, het +1’en op Google+ of het volgen op Twitter.