Sobes.tech
Junior

Mesélj az HTTPS protokollról.

sobes.tech MI

Válasz az MI-től

A HTTPS (Hypertext Transfer Protocol Secure) a HTTP protokoll kiterjesztése, amely biztonságos adatátvitelt biztosít a kliens ( böngésző) és a szerver között.

A HTTP főbb különbségei és működési elvei:

  • Titkosítás: Az SSL/TLS protokollokat használja az adatok titkosítására, megvédve azokat az elfogás és módosítás ellen.
  • Integritás: Biztosítja, hogy a kliens által küldött adatok változatlanul érkezzenek a szerverhez.
  • Hitelesítés: Lehetővé teszi a kliens számára, hogy ellenőrizze a szerver hitelességét, biztosítva, hogy a megfelelő erőforrással kommunikál.

A biztonságos kapcsolat felépítésének lépései:

  1. Client Hello: A kliens elküldi a szervernek az által támogatott SSL/TLS verziók, titkosítási algoritmusok és egyéb paraméterek listáját.
  2. Server Hello: A szerver kiválasztja a legmegfelelőbb paramétereket a kliendől kapott javaslatok közül, és visszaküldi azokat, valamint a saját tanúsítványát.
  3. Certificate Verify: A kliens ellenőrzi a szerver tanúsítványát (hitelesség, érvényesség, bizalmi lánc).
  4. Client Key Exchange: A kliens generál egy titkos kulcsot, azt a szerver nyilvános kulcsával (a tanúsítványból) titkosítja, és elküldi.
  5. Server Change Cipher Spec, Finished: A szerver dekódolja a titkos kulcsot, elindítja a szekció titkosítását, és megerősíti, hogy készen áll a titkosított adatok cseréjére.
  6. Client Change Cipher Spec, Finished: A kliens szintén elindítja a szekció titkosítását, és megerősíti, hogy készen áll.
  7. Biztonságos adatcsere: A további adatok a szekció titkos kulcsán alapuló szimmetrikus titkosítással történnek.

A HTTPS kötelező azoknak a webhelyeknek, amelyek bizalmas információkkal (bejelentkezések, jelszavak, banki adatok) dolgoznak, és fontos SEO tényező. A HTTPS tesztelésekor fontos ellenőrizni:

  • Az SSL tanúsítvány érvényességét és helyességét.
  • A modern TLS verziók támogatását.
  • A sebezhetőségek (pl. Heartbleed, POODLE) jelenlétét.
  • A HTTP-ről HTTPS-re történő helyes átirányítást.
  • A kevert tartalmat (amikor HTTPS oldalról HTTP erőforrásokat töltenek be).

A teszteléshez eszközök használhatók: Postman, curl, OpenSSL, böngésző fejlesztői eszközök.

# SSL tanúsítvány ellenőrzése OpenSSL-lel
openssl s_client -connect example.com:443
# HTTPS kérés példája Python requests-sel
import requests

try:
    response = requests.get("https://example.com")
    response.raise_for_status()  # HTTP hibák ellenőrzése
    print("HTTPS kapcsolat sikeres.")
except requests.exceptions.RequestException as e:
    print(f"Hiba HTTPS kapcsolódásban: {e}")