Sobes.tech
Junior

HTTPS nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

HTTPS (Hypertext Transfer Protocol Secure), istemci (örneğin, bir tarayıcı) ile sunucu arasında güvenli veri iletimini sağlayan bir protokoldür. HTTP tabanlıdır, ancak iletilen bilgileri korumak için şifreleme kullanır.

HTTPS'in çalışması, daha önce SSL (Secure Sockets Layer) olarak adlandırılan TLS (Transport Layer Security) protokolünün kullanımına dayanır. TLS/SSL, güvenliğin üç temel yönünü sağlar:

  1. Şifreleme: İstemci ile sunucu arasındaki veriler şifrelenir, bu da onları dışarıdan gözlemleyenler için okunamaz hale getirir.
  2. Veri bütünlüğü: Verilerin iletim sırasında değiştirilmediği doğrulanır.
  3. Kimlik doğrulama: Sunucu, kimliğini istemciye doğrular.

HTTPS bağlantısının kurulması süreci, "TLS/SSL Handshake" olarak adlandırılan birkaç aşamadan oluşur:

  1. Client Hello: İstemci, sunucuya şu bilgileri içeren bir "Client Hello" gönderir:
    • Desteklenen TLS sürümü.
    • Desteklenen şifreleme algoritmaları listesi.
    • Rastgele bir sayı.
  2. Server Hello: Sunucu, "Server Hello" ile yanıt verir ve istemcinin önerdiği seçenekler arasından seçim yapar:
    • TLS sürümü.
    • Bir şifreleme algoritması.
    • Rastgele bir sayı.
    • Sunucu sertifikası.
  3. Certificate: İstemci, sunucu sertifikasını alır ve doğruluğunu kontrol eder:
    • Sertifikanın dijital imzasını, sertifika otoritesinin (CA) açık anahtarı kullanarak doğrular.
    • Sertifikanın geçerlilik süresini kontrol eder.
    • Sertifikadaki alan adının, erişilen alan adıyla eşleştiğinden emin olur.
  4. Client Key Exchange: İstemci, pre-master secret (ön anahtar gizli) oluşturur, bunu sunucu sertifikasının açık anahtarıyla şifreler ve sunucuya gönderir.
  5. Change Cipher Spec (Client): İstemci, sunucuya şifreli veri alışverişine hazır olduğunu bildirir.
  6. Finished (Client): İstemci, handshake'ın tüm önceki mesajlarının özetini içeren şifreli bir mesaj gönderir ve bütünlüğü doğrular.
  7. Change Cipher Spec (Server): Sunucu, pre-master secret'ı özel anahtarıyla çözer ve oturum için simetrik anahtarlar oluşturur. Ardından, şifreli veri alışverişine hazır olduğunu bildirir.
  8. Finished (Server): Sunucu, handshake'ın tüm önceki mesajlarının özetini içeren şifreli bir mesaj gönderir.
  9. Şifreli veri iletimi: Handshake başarıyla tamamlandıktan sonra, istemci ve sunucu, oluşturulan simetrik anahtarları kullanarak tüm sonraki verileri şifreler.

Bu şekilde, HTTPS güvenli bir iletişim kanalı sağlar ve web gezinmeyi daha güvenli hale getirir.