Wat is het verschil tussen http en https?
16 juli 2019 · Beveiliging, Hosting, WebsitesHTTPS is een veiligere variant van HTTP. Met een HTTPS verbinding wordt het voor digitale schurken erg lastig om informatie van jou te stelen als jij lekker aan het surfen bent op het internet. Hoe dat werkt en waarom een HTTPS verbinding verplicht zou moeten zijn lees je in dit artikel.
HTTPS in plaats van HTTP
Volgens Wikipedia houdt een HTTPS verbinding het volgende in:
Een HTTPS-verbinding is een TLS-verbinding met daarin een normale HTTP-verbinding. De TLS-verbinding versleutelt hierbij het HTTP-verkeer, waardoor het verkeer, als het onderschept wordt, niet uit te lezen valt zonder het encryptie-algoritme te kraken. Dit in tegenstelling tot normaal HTTP-verkeer. Dit wordt namelijk als onversleutelde tekst over de verbinding verstuurd, waardoor het zonder iets te kraken uit te lezen valt als het onderschept wordt.
Dit is echter een vrij technische uitleg. Hieronder zal ik het in Jip-en-Janneke taal uitleggen.
Allereerst: wat is HTTP?
De meeste computers zijn verbonden via het internet. Dit kan via een kabel zijn of – zoals steeds vaker – via een draadloze verbinding. Maar alleen verbonden zijn met elkaar is niet genoeg. Je moet ook met elkaar kunnen praten.
Het Hypertext Transfer Protocol, oftewel HTTP, is een internetprotocol (de afkorting mag je meteen vergeten). Via het HTTP protocol zijn de manieren en regels afgesproken waarop computers met elkaar kunnen praten en informatie kunnen uitwisselen via het internet. Alle browsers (programma’s waarmee je website kunt bezoeken) en webservers (computers waar de website wordt gehost) praten volgens dit protocol.
Do you speak English?
Als er geen vast protocol zou zijn, dan zouden computers wel met elkaar verbonden kunnen zijn, maar elkaar niet verstaan. De browser zou dan berichten kunnen sturen naar de webserver (bijvoorbeeld om een bepaalde pagina van een website op te vragen), maar de webserver zou deze berichten niet begrijpen.
Dit zou hetzelfde zijn als een Fransman en een Duitser, die met elkaar zouden willen praten via de telefoon. Echter kan de Fransman geen Duits en de Duitser geen Frans. Zo lang ze geen gemeenschappelijke taal hebben, wordt het erg lastig voor ze om informatie uit te wisselen. Zouden ze allebei Engels spreken, dan kunnen ze wel met elkaar communiceren.
In dit voorbeeld is het Engels het HTTP-protocol. Een gemeenschappelijke taal waardoor verschillende apparaten eenvoudig met elkaar kunnen praten via het internet.
Maar wat is HTTPS dan?
Zoals de naam doet vermoeden is HTTPS een uitbreiding op het HTTP-protocol. De afkorting staat voor Hypertext Transfer Protocol Secure (vergeet.
Hier zie je dat onze website is beveiligd via een https verbinding. Ook te herkennen aan het slotje links van de domeinnaam.
HTTPS is in de basis hetzelfde als HTTP, maar dan met een extra laag beveiliging. De berichten die een browser en webserver met elkaar uitwisselen worden via HTTPS versleuteld met behulp van een bepaalde sleutel. Zonder deze sleutel zijn ze niet te ontcijferen.
Stiekem briefjes sturen…
Een goede manier om de werking van het HTTPS-protocol te begrijpen is door je even voor te stellen dat je weer even bent en in de klas zit. We hebben allemaal wel eens een briefje gestuurd naar die leuke jongen of dat lieve meisje. Superspannend! Het briefje moest vaak de hele klas door en niemand – zeker de leraar niet – mocht het lezen.
Een goede oplossing was geweest om een kistje met een slot en twee sleutels te kopen. Een sleutel is voor jou en de andere sleutel voor degene die de briefjes zou mogen lezen. Nu kun je het briefje in het kistje stoppen, het kistje op slot doen en het kistje met het briefje veilig rondsturen. Niemand kan het kistje open maken en het briefje lezen. Je boodschap is volledig veilig.
HTTPS is geheimtaal
HTTPS werkt in de basis op dezelfde manier. Het bericht zelf wordt versleuteld. Niet via een soort van kistje, maar door het bericht onleesbaar te maken. Als je het versleutelde bericht zou willen bekijken zie je een rare rij met tekens en cijfers. Alleen jouw browser en de server waar de website wordt gehost hebben de sleutel om het bericht te ontcijferen naar normale taal.
De berichten die via https worden verstuurd, zijn daarom een soort van geheimtaal. Alleen de verzender en de ontvanger kunnen de berichten ontcijferen. Andere personen kunnen de berichten misschien wel onderscheppen en het bericht lezen, maar zullen nooit begrijpen wat er staat. Ze zien alleen een rij tekens en cijfers. De geheimtaal kennen ze namelijk niet en zonder de sleutels is het bericht niet te ontcijferen.
Het belang van versleuteling
Een voorbeeld van het versleutelen van berichten dat we allemaal kennen, is wanneer landen in oorlog zijn. Vanuit de controlekamers worden er berichten verstuurd naar het front, soms wel duizenden kilometers verderop. Regelmatig gaan deze berichten via vijandelijk terrein.
Zouden deze berichten onderschept worden, dan is het natuurlijk van levensbelang dat de vijand het bericht niet kan ontcijferen en kan lezen. Dan weten ze namelijk direct wat de plannen en strategie van de andere partij zouden zijn.
Het is in dat geval dus beter om niet direct in het Engels (of een andere taal) te communiceren, maar in een geheimtaal en dus alle berichtgeving goed te versleutelen. Alleen de verzender en de ontvanger zouden het bericht moeten kunnen ontcijferen.
Een prachtige film over het versturen en het ontcijferen van versleutelde berichten is the imitation game (2014). De film gaat over de beroemde Britse informaticus Alan Turing. Dankzij de machine die Turing met zijn collega’s ontwikkelde, konden de geallieerden de berichten van de Duitsers ontcijferen. In de film komt goed naar voren wat de kracht van versleutelde communicatie is, maar zeker ook de kracht van het kraken van de versleuteling.
Waarom is een https verbinding belangrijk?
Zoals in het voorbeeld hierboven, is het verstandig dat sommige informatie niet in de verkeerde handen valt. Het probleem met internet is dat het relatief makkelijk af te luisteren is. Internet is namelijk een open standaard en iedereen kan daar gebruik van maken.
Nu is het thuis niet zo gevaarlijk. Als het goed is heb je een wachtwoord op het Wi-Fi netwerk en geef je alleen degene die je vertrouwt dat wachtwoord. Maar er zijn genoeg plekken in bijvoorbeeld café’s of fastfood-restaurants waar er geen wachtwoord op het netwerk zit of het netwerk eigenlijk helemaal niet zo goed beveiligd is. Meestal is gratis W-Fi een lokkertje om meer klanten te trekken en wordt het netwerk niet (goed) onderhouden.
In Cafés en koffie-barretjes wordt veel gewerkt met laptops. Is de Wi-Fi niet beveiligd? Dan kan iedereen zien welke sites jij bezoekt…
Het probleem is dat iedereen die op hetzelfde netwerk zit als jij, jouw internetverkeer af kan luisteren. Zijn er dus mensen met kwade zin ingelogd op hetzelfde (onbeveiligde) Wi-Fi netwerk als jij? Dan kunnen ze jouw verkeer eenvoudig afluisteren. Is jouw verkeer niet versleuteld via HTTPS, dan kunnen ze letterlijk zien wat jij allemaal verstuurd.
Gevoelige informatie
En via het internet verstuur je (heel erg) veel gevoelige informatie. Als je inlogt op een website, zoals Facebook of Marktplaats, dan stuur je jouw e-mail en wachtwoord naar de webserver van die website. De webserver kijkt of jou gegevens kloppen. Heb je een account bij die website met dat e-mailadres en hoort daar ook het wachtwoord bij? Dan ben je ingelogd.
He moment dat je op inloggen klikt en je e-mailadres en wachtwoord worden verstuurd, kan deze informatie – als die niet versleuteld zou zijn – worden afgeluisterd. En als iemand die informatie heeft, dan kan hij met jou account inloggen op bijvoorbeeld Facebook of marktplaats en onder jou naam op die website gaan handelen.
Dit geld ook voor je bankgegevens of inloggegevens van je DigiD. Vallen deze gegevens in kwade handen, dan zou degene die je gegevens weet te bemachtigen geld van je rekening af kunnen halen of zich bij de overheid voordoen als jou.
Zorg voor een HTTPS verbinding!
Daarom is het dus belangrijk dat een website zijn data en verbinding versleuteld met een HTTPS verbinding. Zodat niemand meer de data af kan luisteren. Uiteraard zijn alle banken, Facebook, Marktplaats en overheids-sites goed beschermd via een HTTPS verbinding. Maar er zijn genoeg sites die niet beveiligd zijn.
Nu denk je, tja… Als op een of andere niet-beveiligde site mijn account wordt “gehackt” dan maakt me dat niet zoveel uit. Maar het probleem is dat veel mensen overal hetzelfde wachtwoord en dezelfde gebruikersnaam hebben.
Is dat bij jou ook het geval? Dan kunnen ze proberen jouw inloggegevens af te luisteren van minder goed beveiligde sites en met die gegevens proberen in te loggen op sites die in theorie wel goed beveiligd zijn….
Zorg dus – voor de veiligheid van jouw bezoekers – dat jouw website altijd via een beveiligde HTTPS verbinding loopt. Dan loop je het minste risico dat gegevens van je bezoekers worden gestolen.
Hoe krijg ik een HTTPS verbinding?
Om het verkeer van jouw website te versleutelen en dus te beveiligen moet je een SSL-certificaat installeren. Een SSL-certificaat is als het ware de sleutel die het verkeer vertaald naar geheimtaal en weer terug naar begrijpbare taal.
Een SSL-certificaat installeer je op je hosting-pakket en kost vaak tussen de €10 en €20. Tegenwoordig heb je echter ook gratis SSL-certificaten via de dienst Let’s Encrypt. Veel hostingpartijen, waaronder wijzelf, maken al gebruik van Let’s Encrypt.
Een SSL-certificaat kun je aanvragen door in te loggen bij je hostingpartij en deze vervolgens aan te schaffen of te installeren via het dashboard. De meeste hostingpartijen hebben hier handige handleidingen voor. Vaak kunnen ze je ook helpen bij het aanvragen van zo’n certificaat. Wij regelen standaard een SSL-certificaat voor onze klanten.
Nadat je een SSL-certificaat hebt geïnstalleerd is het zaak om de verbinding met je website ook daadwerkelijk via HTTPS te laten lopen. Als mensen de website via HTTP kunnen bereiken dan is de data alsnog niet beveiligd!
Het configureren doe je door al het verkeer van je website naar HTTPS om te leiden. Voor WordPress zijn hier een aantal handige plugins voor, zoals Really Simple SSL.
Kom je er niet helemaal uit of heb je hulp nodig? Dan kun je altijd even contact met ons opnemen.
Geef een reactie