Sobes.tech
Middle

Tarayıcı ile sunucu arasındaki mesajların şifrelemesi nasıl yapılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Tarayıcı ile sunucu arasındaki şifreleme, HTTPS protokolü kullanılarak gerçekleştirilir; bu, HTTP üzerine ek bir katman olup SSL/TLS protokollerini (Secure Sockets Layer / Transport Layer Security) kullanır.

Güvenli bağlantı kurulumu süreci (Handshake):

  1. Client Hello: Tarayıcı, desteklediği SSL/TLS sürümlerini, şifreleme algoritmaları (cipher suites) listesini, sıkıştırma algoritmalarını ve rastgele bir sayıyı (istemci tarafından) içeren bir mesaj gönderir.
  2. Server Hello: Sunucu, önerilenler arasından en iyi protokol sürümünü, şifreleme setini ve sıkıştırma algoritmasını seçer, ayrıca kendi rastgele sayısını (sunucudan) oluşturur ve bunları SSL/TLS sertifikasıyla birlikte tarayıcıya gönderir.
  3. Kimlik Doğrulama: Tarayıcı, sunucu sertifikasını doğrular:
    • Kök sertifika otoritesine (Root CA) güvenilirlik.
    • Sertifikanın geçerlilik süresi.
    • Sertifikadaki alan adının web sitesinin adresiyle uyumu.
    • Sertifikanın iptal edilmemiş olması (CRL veya OCSP).
  4. Premaster Secret: Tarayıcı, rastgele bir sayı (premaster secret) üretir, bunu sunucunun açık anahtarıyla şifreler (sertifikadan alınır) ve sunucuya gönderir.
  5. Oturum Anahtarı Oluşumu: Hem tarayıcı hem de sunucu, istemci (Client Random), sunucu (Server Random) rastgele sayıları ve premaster secret kullanarak simetrik bir oturum anahtarı oluşturur.
  6. Change Cipher Spec: Tarayıcı, sunucuya, oluşturulan oturum anahtarını kullanmaya geçişi bildiren bir mesaj gönderir.
  7. Finished: Tarayıcı, tüm önceki el sıkışma mesajlarının hash'ini, oturum anahtarıyla şifreler ve sunucuya gönderir. Bu mesaj, el sıkışmanın doğruluğunu doğrular.
  8. Change Cipher Spec: Sunucu, tarayıcıya, şifreli bağlantıya geçişi bildiren bir mesaj gönderir.
  9. Finished: Sunucu, tüm önceki el sıkışma mesajlarının hash'ini, oturum anahtarıyla şifreler ve tarayıcıya gönderir.

Başarılı el sıkışmadan sonra, tarayıcı ile sunucu arasındaki tüm veri iletimi, oluşturulan oturum anahtarına dayalı simetrik şifreleme kullanılarak gerçekleşir. Simetrik şifreleme, asimetrik şifrelemeye göre çok daha verimlidir ve büyük veri hacimlerinin şifrelenmesi için uygundur.

Kullanılan algoritmalar (örnek):

  • Asimetrik şifreleme (oturum anahtarının değişimi için): RSA, Diffie-Hellman (DH), Elliptic Curve Diffie-Hellman (ECDH).
  • Simetrik şifreleme (verilerin şifrelenmesi için): AES, 3DES, ChaCha20.
  • Hashleme (mesajların bütünlüğünü kontrol etmek için): SHA-256, SHA-384.