SSL Nedir ve Nasıl Çalışır?

Emre Emanet
5 min readJan 1, 2021

Günümüzde SSL sertifikası kullanmayan web sitesi neredeyse kalmadı. SSL sertifikalarıyla çalışan sitelerin URL kısmında HTTPS ibaresini görürüz. HTTPS, iki sistem arasındaki iletişimi güvence altına almak içinde SSL / TSL teknolojisini kullanır.

HTTPS, Hyper Text Transfer Protokol Secure yani Güvenli Hiper Metin Aktarım Protokolü anlamına gelir. Tarayıcı ve web sunucusu gibi iki sistem arasındaki iletişimin güvenliğini sağlamak için kullanılan bir protokoldür.

Aşağıdaki şekilde, HTTP ve HTTPS arasındaki iletişim farkını göstermektedir. Şekilde görebileceğiniz gibi, HTTP verileri tarayıcı ile web sunucusu arasında açık yani şifrelemeden aktarırken, HTTPS verileri şifreli biçimde aktarır. Böylece HTTPS, bilgisayar korsanlarının tarayıcı ile web sunucusu arasındaki aktarım sırasında verileri okumasını ve değiştirmesini engeller. Bilgisayar korsanları iletişimi engellemeyi başarsalar bile, mesaj şifreli olduğu için bunu kullanamazlar.

HTTPS, SSL veya TLS protokollerini kullanarak tarayıcı ile web sunucusu arasında şifreli bir bağlantı kurar. TLS, SSL’nin yeni sürümüdür.

Secure Sockets Layer (SSL)

SSL, iki sistem arasında şifreli bir bağlantı kurmak için kullanılan standart güvenlik teknolojisidir. Bu bağlantılar tarayıcıdan sunucuya, sunucudan sunucuya veya istemciden sunucuya olabilir. Temel olarak SSL, iki sistem arasındaki veri aktarımının şifreli ve gizli kalmasını sağlar.

HTTPS, esasen SSL üzerinden çalışan bir HTTP protokolüdür. SSL, dijital sertifika olarak da bilinen bir SSL sertifikası kullanarak şifreli bir bağlantı kurar.

SSL temelde iki tane kriptolama algoritmasıyla çalışır bunlar:

  1. Asimetrik Kriptografi
  2. Simetrik Kriptografi

Simetrik Kriptolama: Şifreleyen ve şifreyi açan anahtarın tek bir tane olması durumudur. Örneğin evimizin kapısını açan anahtar hem kapıyı kilitler hem de kapıyı açabilir.

En yaygın kullanılan simetrik algoritmalar AES-128, AES-192 ve AES-256'dır.

Asimetrik Kriptolama: Asimetrik Şifreleme veya Açık Anahtar Şifreleme olarak da bilinir. Verileri şifrelemek ve şifresini çözmek için matematiksel olarak ilişkili bir anahtar çifti kullanır. Bir anahtar çiftinde, bir anahtar, bir iletişimle ilgilenen herkesle paylaşılır. Buna public key denir. Anahtar çiftindeki diğer anahtar gizli tutulur ve private key olarak adlandırılır .

Burada, anahtarlar matematiksel bir değere atıfta bulunur ve verileri şifreleyen veya şifresini çözen matematiksel bir algoritma kullanılarak oluşturulmuştur. Asimetrik kriptografide, veriler sadece bir çift halinde ilgili genel anahtar kullanılarak şifresi çözülebilen özel bir anahtarla imzalanabilir. SSL, SSL anlaşması olarak bilinen iletişimi başlatmak için asimetrik şifreleme kullanır. En yaygın kullanılan asimetrik anahtar şifreleme algoritmaları arasında EIGamal, RSA, DSA ve PKCS bulunur.

SSL Nasıl Çalışıyor?

SSL üzerinden iletişim her zaman SSL anlaşması ile başlar. SSL anlaşması, tarayıcının web sunucusunu doğrulamasına, genel anahtarı almasına ve gerçek veri aktarımının başlangıcından önce güvenli bir bağlantı kurmasına izin veren asimetrik bir şifrelemedir.

Yukarıdaki adımları açıklayalım:

  1. İstemci bir “client hello” mesajı gönderir. Bu, istemcinin SSL sürüm numarasını, şifre ayarlarını, oturuma özgü verileri ve sunucunun SSL kullanarak istemciyle iletişim kurmak için ihtiyaç duyduğu diğer bilgileri içerir.
  2. Sunucu, bir “server hello” mesajıyla yanıt verir. Bu, sunucunun SSL sürüm numarasını, şifre ayarlarını, oturuma özgü verileri, genel anahtarlı bir SSL sertifikasını ve istemcinin sunucuyla SSL üzerinden iletişim kurmak için ihtiyaç duyduğu diğer bilgileri içerir.
  3. İstemci, sunucunun SSL sertifikasını CA’dan (Certificate Authority) doğrular ve sunucunun kimliğini doğrular. Kimlik doğrulama başarısız olursa, istemci SSL bağlantısını reddeder ve bir istisna atar. Kimlik doğrulama başarılı olursa, 4. adıma geçer.
  4. İstemci bir oturum anahtarı oluşturur, bunu sunucunun genel anahtarıyla şifreler ve bunu sunucuya gönderir. Sunucu, istemci kimlik doğrulaması istediyse (çoğunlukla sunucudan sunucuya iletişimde), istemci kendi sertifikasını sunucuya gönderir.
  5. Sunucu, kendi özel anahtarıyla oturum anahtarının şifresini çözer ve onayı, oturum anahtarıyla şifrelenmiş istemciye gönderir.

Bu nedenle, SSL anlaşmasının sonunda, hem istemci hem de sunucu, gerçek verileri şifrelemek veya şifresini çözmek için kullanacakları geçerli bir oturum anahtarına sahiptir. Açık anahtar ve özel anahtar bundan sonra bir daha kullanılmayacaktır.

SSL Sertifika Türleri

SSL sertifikası, yetkili Certificate Authority (CA) tarafından verilen bir veri dosyasıdır. SSL sertifikası, sahibinin public key’ini ve diğer ayrıntıları içerir. Web sunucusu, tarayıcıya bir SSL sertifikası aracılığıyla genel bir anahtar gönderir ve tarayıcı bunu doğrular ve SSL sertifikasını kullanarak web sunucusunun kimliğini doğrular.

Single Domain Certificate

Tek alan adını(domain) içeren sertifikadır. Örneğin, www.medium.com için single domain certificate, mail.medium.com için iletişimi güvenli hale getirmez.

Wildcard SSL Sertifikası

Wildcard SSL sertifikası, tek bir domain adı için sınırsız sayıda alt alan adını güvence altına alır. Örneğin, deneme.com için joker karakterli bir SSL sertifikası ayrıca mail.deneme.com, blog.deneme.com vb. tüm sub domainlerin güvenliğini sağlar.

Unified SSL Certificate /Multi-Domain SSL Certificate/SAN Certificate

Unified SSL Certificate, SAN uzantısı yardımıyla aynı sertifikayı kullanarak 100'e adete kadar domaini güvence altına alır. Özellikle Microsoft Exchange ve Office İletişimi ortamlarının güvenliğini sağlamak için tasarlanmıştır.

Ne tür bir SSL sertifikasına ihtiyacınız olduğunu seçtikten sonra, onu tanınmış CA’dan temin etmeniz gerekir. Örnek bir kaç CA firması:

--

--

No responses yet