Geliştiricilerin HTTPS'ye geçiş yaparken karşılaştığı engellerden ikisi kavramlar ve terminolojidir. Bu kılavuzda her ikisine de kısaca değinilmektedir.
Özet
- Tarayıcı ile sunucu arasındaki iletileri imzalamak ve şifresini çözmek için ortak/özel anahtarlar kullanılır.
- Sertifika yetkilisi (CA), ortak anahtarlar ile herkese açık DNS adları ("www.foobar.com" gibi) arasındaki eşlemeyi doğrulayan bir kuruluştur.
- Sertifika imzalama isteği (CSR), ortak anahtarı, anahtarın sahibi olan tüzel kişiyle ilgili bazı meta verilerle birlikte paketleyen bir veri biçimidir.
Genel ve özel anahtar çiftleri nedir?
Ortak/özel anahtar çifti, şifreleme ve şifre çözme anahtarı olarak kullanılan ve özel bir matematiksel ilişki paylaşan çok büyük bir sayı çiftidir. Anahtar çiftleri için yaygın bir sistem RSA kripto sistemidir. Ortak anahtar, iletileri şifrelemek için kullanılır ve iletilerin şifresi yalnızca ilgili özel anahtarla çözülebilir. Web sunucunuz, herkese açık anahtarının reklamını yapar ve istemciler (web tarayıcıları gibi), sunucunuza güvenli bir kanal oluşturmak için bu anahtarı kullanır.
Sertifika yetkilisi nedir?
Sertifika yetkilisi (CA), ortak anahtarlar ile herkese açık DNS adları ("www.foobar.com" gibi) arasındaki eşlemeyi doğrulayan bir kuruluştur. Örneğin, bir istemci belirli bir ortak anahtarın www.foobar.com için gerçek ortak anahtar olup olmadığını nasıl bilebilir? Bunu önceden bilmenin bir yolu yoktur. CA, web sitesinin ortak anahtarını kriptografik olarak imzalamak için kendi özel anahtarını kullanarak belirli bir anahtarın belirli bir site için doğru anahtar olduğunu onaylar. Bu imzanın taklit edilmesi hesaplama açısından mümkün değildir. Tarayıcılar (ve diğer istemciler), bilinen CA'ların sahip olduğu genel anahtarları içeren güven ankrajı depoları tutar ve bu genel anahtarları kullanarak CA'nın imzalarını kriptografik olarak doğrular.
X.509 sertifikası, ortak anahtarı anahtarın sahibi olan tüzel kişiyle ilgili bazı meta verilerle birlikte paketleyen bir veri biçimidir. Web'de anahtarın sahibi site operatörüdür ve önemli meta veriler web sunucusunun DNS adıdır. Bir istemci HTTPS web sunucusuna bağlandığında web sunucusu, istemcinin doğrulaması için sertifikasını sunar. İstemci, sertifikanın süresinin dolmadığını, DNS adının istemcinin bağlanmaya çalıştığı sunucunun adıyla eşleştiğini ve bilinen bir güven ankrajı CA'nın sertifikayı imzaladığını doğrular. Çoğu durumda CA'lar web sunucusu sertifikalarını doğrudan imzalamaz. Genellikle, bir güven ankrajını bir ara imzalayana veya imzalayanlara ve son olarak web sunucusunun kendi sertifikasına (son varlık) bağlayan bir sertifika zinciri vardır.
Sertifika imzalama isteği nedir?
Sertifika imzalama isteği (CSR), sertifika gibi bir ortak anahtarı, anahtarın sahibi olan tüzel kişiyle ilgili bazı meta verilerle birlikte paketleyen bir veri biçimidir. Ancak istemciler CSR'leri yorumlamaz, CA'lar yorumlar. Bir CA'dan web sunucunuzun herkese açık anahtarı için kefil olmasını istediğinizde CA'ya bir CSR gönderirsiniz. CA, CSR'deki bilgileri doğrular ve sertifika oluşturmak için kullanır. Ardından CA size nihai sertifikayı gönderir. Bu sertifikayı (veya daha olası bir seçenek olarak bir sertifika zincirini) ve özel anahtarınızı web sunucunuza yüklersiniz.