Wat is HTTPS?

HTTP beschermd met TLS. Het versleutelt de uitwisselingen, detecteert manipulatie en authenticeert de server met een servercertificaat. URL's beginnen met https:// en het standaardpoortnummer is 443. Verzoeken en antwoorden hebben dezelfde vorm als bij HTTP, met een TLS-laag eronder.

Japanse benaming: HTTPS

“HTTPS” komt voor in 12 oefenvragen uit 6 onderwerpen, bijv. Basis van computernetwerken, Basis van webtechnologie, Basis van informatiebeveiliging.

Vakgebied: Basis van webtechnologie

Hoe een verbinding tot stand komt

De browser opent eerst een TCP-verbinding met de server (bij HTTP/3 QUIC) en voert daarna een TLS-handshake uit. De browser stuurt de cipher suites die hij ondersteunt, een waarde voor de sleuteluitwisseling en de naam van de server die hij wil bereiken (SNI), en de server stuurt zijn certificaat en zijn eigen waarde voor de sleuteluitwisseling terug. Met een sleuteluitwisseling zoals ECDHE leiden de twee voor elke verbinding een nieuwe gedeelde sleutel af, en de browser controleert het certificaat van de server. De HTTP-verzoeken en -antwoorden die volgen, worden versleuteld en tegen manipulatie beschermd met symmetrische cryptografie zoals AES-GCM. Met TLS 1.3 kost de handshake één rondgang.

De server controleren met zijn certificaat

Een servercertificaat is een domeinnaam met een publieke sleutel, waarvoor een certificaatautoriteit (CA) met een digitale handtekening instaat. De browser controleert of het certificaat via een keten van handtekeningen naar een vertrouwde root-CA leidt, of het binnen zijn geldigheidsperiode valt, of het overeenkomt met de hostnaam in de URL en of het niet is ingetrokken. Dat voorkomt man-in-the-middle-aanvallen waarbij iemand de verbinding onderschept en zich voordoet als de echte server. Mislukken de controles, dan toont de browser een waarschuwing en stopt hij de verbinding.

Wat het beschermt en wat niet

HTTPS beschermt de inhoud van pagina's, het pad en de query van de URL, headers en cookies tegen afluisteren en manipulatie onderweg. Het IP-adres van de server en de hoeveelheid en timing van het verkeer blijven zichtbaar, en de domeinnaam is vaak af te leiden uit DNS-query's of de SNI. Bovendien beschermt HTTPS alleen het kanaal; het toont niet aan dat de beheerder van de site te vertrouwen is, want ook nepsites kunnen certificaten krijgen en HTTPS gebruiken. Het wordt gebruikt samen met HSTS, dat terugvallen naar HTTP voorkomt, en het cookieattribuut Secure, dat cookies alleen via HTTPS verstuurt.

Nu oefenen: vragen over HTTPS

In een Kubernetes-cluster moeten HTTPS-aanvragen die voor één hostnaam binnenkomen, naar de Service api worden gestuurd als het pad met /api begint, en anders naar de Service web. Welke resource is geschikt om deze routeringsregel vast te leggen?

  1. AIngress
  2. BReplicaSet
  3. CEen Service van type: ClusterIP
Antwoord en toelichting tonen

Antwoord: A. Ingress

Een Ingress is een resource die regels vastlegt om HTTP- en HTTPS-aanvragen van buiten het cluster op basis van de hostnaam en het URL-pad naar Services te sturen, en ook TLS-terminatie kan daar worden ingesteld. De component die de aanvragen werkelijk ontvangt en doorstuurt, is een Ingress-controller die in het cluster is geïnstalleerd (en als reverse proxy werkt). Een Service van type: ClusterIP is een aanspreekpunt dat alleen vanuit het cluster bereikbaar is en kent geen routering op basis van het pad. Een ReplicaSet houdt het aantal Pods op peil en heeft niets met het routeren van verkeer te maken.

Een client maakt een nieuwe HTTPS-verbinding (TLS 1.3 over TCP) met een webserver met een rondetijd (RTT) van 100 ms. Welke waarde ligt het dichtst bij de tijd tot het antwoord op het eerste verzoek begint binnen te komen? De DNS-naamresolutie is al gedaan; verwaarloos de verwerkingstijd van de server en de overdrachtstijd van de gegevens.

  1. AOngeveer 100 ms
  2. BOngeveer 300 ms
  3. COngeveer 200 ms
Antwoord en toelichting tonen

Antwoord: B. Ongeveer 300 ms

Eerst kost de three-way handshake van TCP één rondgang (de client kan zijn eerste TLS-bericht samen met de laatste ACK versturen). Daarna kost de handshake van TLS 1.3 één rondgang, en vervolgens kosten het HTTP-verzoek en het antwoord nog één rondgang, samen drie rondgangen: 3 × 100 = 300 ms. Met TLS 1.2 kost de sleuteluitwisseling twee rondgangen, wat vier rondgangen of 400 ms geeft. Deze wachttijd hangt af van het aantal RTT's, dat door de afstand wordt bepaald, dus meer bandbreedte op de verbinding maakt hem niet korter. QUIC, dat door HTTP/3 wordt gebruikt, voegt de handshakes van transport en cryptografie samen tot één rondgang en biedt bij een nieuwe verbinding met dezelfde server ook een manier om al in de eerste rondgang gegevens te sturen (0-RTT).

Veelgestelde vragen

Wat is het verschil tussen HTTP en HTTPS?

HTTPS versleutelt HTTP-uitwisselingen met TLS en voegt detectie van manipulatie en serverauthenticatie toe. Verzoeken en antwoorden hebben dezelfde vorm, en de standaardpoorten zijn 80 voor HTTP en 443 voor HTTPS. Bij gewone HTTP kunnen apparaten onderweg de inhoud lezen of wijzigen.

Is een site veilig alleen omdat ze HTTPS gebruikt?

HTTPS bevestigt dat het verkeer onderweg niet wordt gelezen of gewijzigd en dat er een verbinding is met een server voor die domeinnaam. Het garandeert niet dat de site zelf echt of onschadelijk is. Ook phishingsites kunnen HTTPS gebruiken, dus de domeinnaam moet zorgvuldig worden gecontroleerd.

Gebruikt HTTPS versleuteling met een publieke sleutel of symmetrische versleuteling?

Beide, voor verschillende taken. De handshake gebruikt technieken met publieke sleutels voor de sleuteluitwisseling en de authenticatie met certificaten, en de eigenlijke gegevens worden versleuteld met een snel symmetrisch algoritme dat de daar gemaakte sleutels gebruikt.

“HTTPS” in de toelichting

Vragen met “HTTPS” (12)

  1. In een Kubernetes-cluster moeten HTTPS-aanvragen die voor één hostnaam binnenkomen, naar de Service api worden gestuurd als het pad met /api begint, en anders naar de Service web. Welke resource is geschikt om deze routeringsregel vast te leggen?
  2. Een client maakt een nieuwe HTTPS-verbinding (TLS 1.3 over TCP) met een webserver met een rondetijd (RTT) van 100 ms. Welke waarde ligt het dichtst bij de tijd tot het antwoord op het eerste verzoek begint binnen te komen? De DNS-naamresolutie is al gedaan; verwaarloos de verwerkingstijd van de server en de overdrachtstijd van de gegevens.
  3. Wat wordt door HTTPS (HTTP beveiligd met TLS) beschermd?
  4. Apparaat A (192.168.1.10) bevindt zich achter een router die NAPT uitvoert en het externe globale adres 198.51.100.7 heeft. A maakt vanaf bronpoort 50000 verbinding met poort 443 van webserver 203.0.113.5. De router vertaalt de bron naar poort 61000 op 198.51.100.7. Wat is de bestemming van de pakketten met het antwoord die de webserver terugstuurt?
  5. Welke combinatie van protocollen en de poortnummers die hun servers standaard gebruiken, is juist?
  6. Welke beschrijving van de cookie die met de bovenstaande header wordt ingesteld, is juist?
  7. Welke beschrijving van een Service Worker is juist?
  8. Welke beschrijving van een reverse proxy is juist?
  9. Een webapplicatie voor een prikbord had een kwetsbaarheid waarbij scripts in teksten die gebruikers plaatsten, werden uitgevoerd in de browsers van andere bezoekers. Welke combinatie geeft de naam van deze kwetsbaarheid en de fundamentele tegenmaatregel juist weer?
  10. Als een webapplicatie vóór en na het inloggen dezelfde sessie-ID blijft gebruiken, kan een aanvaller de gebruiker een vooraf door de aanvaller klaargemaakte sessie-ID laten gebruiken en zich na het inloggen van de gebruiker met die ID als de gebruiker voordoen. Wat is de meest geschikte tegenmaatregel tegen deze aanval?
  11. Stel 1 GiB = 2³⁰ bytes en 1 EiB = 2⁶⁰ bytes. Een blokcijfer met een blok van 64 bits (zoals 3DES) wordt in CBC-modus gebruikt om een grote hoeveelheid gegevens onder één sleutel te versleutelen. Als de blokken cijfertekst als willekeurige waarden van 64 bits worden beschouwd, bij welke hoeveelheid gegevens is de kans dat er door de verjaardagsparadox een paar identieke blokken cijfertekst verschijnt volgens de vuistregel niet meer te verwaarlozen?
  12. Welke beschrijving van een WAF (webapplicatiefirewall) is juist?

Verwante termen

HTTP (Hypertext Transfer Protocol) URL (uniform resource locator) TLS (Transport Layer Security) Cookie (HTTP-cookie) IP-adres Cross-site scripting (XSS) Reverse proxy DNS (Domain Name System) Poortnummer Kubernetes

Naar de woordenlijst