Sobes.tech
Junior

Hogyan működik a HTTPS?

sobes.tech MI

Válasz az MI-től

A HTTPS (Hypertext Transfer Protocol Secure) egy olyan protokoll, amely biztosítja az adatok biztonságos átvitelét a kliens (például böngésző) és a szerver között. Az HTTP-n alapul, de titkosítást alkalmaz az átvitt információk védelme érdekében.

A HTTPS működése a TLS (Transport Layer Security) protokoll használatán alapul, amely korábban SSL (Secure Sockets Layer) néven volt ismert. A TLS/SSL három kulcsfontosságú biztonsági szempontot biztosít:

  1. Titkosítás: A kliens és a szerver közötti adatok titkosítva vannak, így azok olvashatatlanok a külső megfigyelők számára.
  2. Adatintegritás: Ellenőrzésre kerül, hogy az adatok nem változtak-e meg a továbbítás során.
  3. Hitelesítés: A szerver megerősíti saját hitelességét a kliens felé.

A HTTPS kapcsolat létesítése több lépésből áll, amelyeket "TLS/SSL Handshake"-nek neveznek:

  1. Client Hello: A kliens egy "Client Hello" üzenetet küld a szervernek, amely tartalmazza:
    • A támogatott TLS verziót.
    • A támogatott titkosítási algoritmusok listáját.
    • Egy véletlenszerű számot.
  2. Server Hello: A szerver válaszol egy "Server Hello" üzenettel, amelyben kiválasztja a kliens által javasolt lehetőségek közül:
    • A TLS verziót.
    • Egy titkosítási algoritmust.
    • Egy véletlenszerű számot.
    • A szerver tanúsítványát.
  3. Certificate: A kliens megkapja és ellenőrzi a szerver tanúsítványának hitelességét:
    • Ellenőrzi a tanúsítvány digitális aláírását a CA (hitelesítési hatóság) nyilvános kulcsával.
    • Ellenőrzi a tanúsítvány érvényességét.
    • Ellenőrzi, hogy a tanúsítványban szereplő domain név megegyezik-e a kért névvel.
  4. Client Key Exchange: A kliens generál egy pre-master secret-et, amit a szerver nyilvános kulcsával titkosít, majd elküldi a szervernek.
  5. Change Cipher Spec (Client): A kliens jelzi a szervernek, hogy készen áll a titkosított adatok cseréjére.
  6. Finished (Client): A kliens egy titkosított üzenetet küld, amely tartalmazza az összes korábbi Handshake üzenet hash-ét az integritás ellenőrzéséhez.
  7. Change Cipher Spec (Server): A szerver dekódolja a pre-master secret-et a saját privát kulcsával, és szimmetrikus kulcsokat generál a session titkosításához. Ezután jelzi a kliensnek, hogy készen áll a titkosított adatok cseréjére.
  8. Finished (Server): A szerver egy titkosított üzenetet küld, amely tartalmazza az összes korábbi Handshake üzenet hash-ét.
  9. Titkosított adatátvitel: A Handshake sikeres befejezése után a kliens és a szerver a generált szimmetrikus kulcsokat használva titkosítják az összes további adatot.

Így az HTTPS biztosít egy biztonságos kommunikációs csatornát, amely biztonságosabbá teszi a webes böngészést.