Ara Sertifika Nedir ve TLS Sertifika Zinciri Nasıl Çalışır?

Ara sertifika, bir web sunucusuna verilen TLS sertifikasını istemcinin önceden güvendiği kök sertifikaya bağlayan, sertifika otoritesine ait bir sertifikadır. TLS sertifika zinciri ise sunucu sertifikasıyla başlayıp genellikle bir veya daha fazla ara sertifika üzerinden güvenilen köke uzanan sertifika sırasıdır.
Sunucu sertifikasının tarih ve alan adı bakımından geçerli görünmesi tek başına yeterli değildir. İstemci, sunucu sertifikasını imzalayan otoriteden kendi güven deposundaki güven köküne uzanan doğrulanabilir bir yol kuramazsa bağlantıyı güvenilir saymayabilir.
Bu nedenle eksik, ilgisiz veya uygun sırada sunulmayan ara sertifikalar bazı tarayıcılarda, uygulamalarda ve cihazlarda sertifika uyarısına yol açabilir. Başka bir istemcide bağlantının çalışması, sunucunun zinciri eksiksiz sunduğunu kanıtlamaz.
TLS Sertifika Zincirinin Yapısı
- Zincir, siteye ait sunucu sertifikasıyla başlar.
- Her ara sertifika, kendisinden önceki sertifikayı imzalayan sertifika otoritesini temsil eder.
- Doğrulama yolu, istemcinin güven deposunda bulunan bir kök sertifikaya ulaşmalıdır.
- Sunucu gerekli ara sertifikaları bağlantı sırasında göndermelidir. İstemcinin bunları ayrıca bulacağına güvenmeyin.
- Sunucu çoğu durumda kök sertifikayı göndermez; güven kararı istemcide önceden bulunan kök sertifikaya dayanır.
İngilizcede certificate chain olarak adlandırılan yapı, yalnızca art arda eklenmiş dosyalardan ibaret değildir. Sertifikayı düzenleyen kuruluşun ve sertifika sahibinin bilgileri, açık anahtarlar, imzalar ve sertifika otoritesi yetkileri birbiriyle uyumlu olmalıdır. İstemci bu ilişkileri kullanarak hedef sertifikadan güven köküne uzanan geçerli bir doğrulama yolu kurar.
Sunucu, Ara ve Kök Sertifikalarının Görevleri Farklıdır
Zincirdeki sertifikalar aynı biçimi kullansa da görevleri farklıdır. Aşağıdaki karşılaştırma, her sertifikanın güven ilişkisindeki yerini ve bağlantı sırasında nereden elde edildiğini gösterir.
| Sertifika türü | Zincirdeki görevi | Genellikle nerede bulunur? | Sunucu gönderir mi? |
|---|---|---|---|
| Sunucu sertifikası | Alan adını ve sunucunun açık anahtarını temsil eder. | Web sunucusunda yapılandırılır. | Evet, listenin ilk sertifikasıdır. |
| Ara sertifika | Sunucu sertifikasını veya başka bir ara sertifikayı üst otoriteye bağlar. | Sunucudaki zincir paketinde bulunur. | Evet, sunucu gerekli ara sertifikaların tamamını göndermelidir. |
| Kök sertifika | Doğrulama yolunun güven dayanağıdır. | İşletim sistemi, tarayıcı veya uygulamanın güven deposunda bulunur. | Çoğu durumda hayır. |
Sunucu sertifikası siteyi doğrudan temsil eder. Bu sertifikanın sertifika imzalama yetkisi bulunmaz; amacı, sunucunun kimliği ile bağlantıda kullanılan açık anahtar arasındaki bağı göstermektir.
Ara sertifika, sertifika otoritesinin günlük sertifika verme işlemlerini kök anahtardan ayrı yürütmesini sağlar. Zincirde tek bir ara sertifika bulunabilir veya sunucu sertifikasıyla kök arasında birden fazla ara sertifika yer alabilir. Sunucu sertifikası istemcinin doğrudan güvendiği bir kök tarafından imzalanmışsa arada ara sertifika bulunmayabilir.
Kök sertifika genellikle kendinden imzalıdır ve daha üst bir sertifikayla doğrulanmaz. Güvenilirliği, istemcinin güven deposuna işletim sistemi, tarayıcı, uygulama yöneticisi veya kurum politikası aracılığıyla önceden eklenmiş olmasından gelir.
İstemci Sertifika Zincirini Nasıl Doğrular?
TLS bağlantısında sunucu, sertifika listesini kendi sertifikasıyla başlatır. Ardından gelen her sertifika, kendisinden hemen önceki sertifikayı imzalayan otoriteye ait olmalıdır. Liste, sunucu sertifikasından başlayıp ara sertifikalara doğru bu sırayla ilerler.
İstemci bu listeyi kendi güven deposuyla birleştirerek bir sertifika yolu oluşturur. Yol üzerindeki dijital imzaları, geçerlilik sürelerini ve ara sertifikaların sertifika otoritesi olarak kullanılmasına izin veren temel kısıtlamaları denetler. TLS uygulaması ayrıca sunucu sertifikasındaki alan adlarının bağlantı kurulan alan adıyla eşleşmesini ve sertifikanın amaçlanan kullanım için uygun olup olmadığını değerlendirir.
Güven depoları bütün cihazlarda aynı değildir. İşletim sistemi, tarayıcı, Java çalışma ortamı, mobil uygulama veya gömülü cihaz farklı kök sertifikalar kullanabilir ve sertifika yolunu farklı kurabilir. Bu yüzden aynı sunucu bir istemcide sorunsuz çalışırken başka bir istemcide güven hatası verebilir.
Eksik veya Yanlış Sertifika Zinciri Doğrulamayı Bozar
Sunucu gerekli ara sertifikayı göndermezse istemci, sunucu sertifikasındaki imzayı doğrulayacak üst sertifikanın açık anahtarına ulaşamayabilir. Bazı istemciler eksik ara sertifikayı önbellekten veya sertifikadaki AIA (Authority Information Access) uzantısının CA Issuers alanındaki adresten bulabilir. Bu alan, sertifikayı imzalayan otoritenin sertifikasına erişim bilgisini verir; AIA içindeki iptal durumu sorgulama adresiyle aynı şey değildir. Her uygulama bunu yapmadığı ve ağ erişimi başarısız olabildiği için sunucudaki eksik zinciri bu yolla telafi etmeye güvenmeyin.
Yanlış ara sertifika da doğrulama yolunu kesebilir. Benzer ada sahip fakat farklı anahtar kullanan bir sertifika, süresi dolmuş bir ara sertifika veya sertifika otoritesi yetkisi olmayan bir sertifika geçerli doğrulama yolunun kurulmasını engelleyebilir. Zincire ait olmayan ek sertifikalar ve sıralama hataları da bazı istemcilerde bağlantıyı bozabilir; sunucuyu istemcinin bu sorunları düzelteceğine güvenecek biçimde yapılandırmayın.
Eksik veya hatalı bir zincirde şu belirtilerle karşılaşabilirsiniz:
- Tarayıcı ya da uygulama sertifika otoritesinin güvenilir olmadığını bildirir.
- Site masaüstü tarayıcıda açılırken mobil uygulama, API istemcisi veya eski cihaz bağlantıyı reddeder.
- Aynı cihazda siteyi daha önce açmış tarayıcı profili çalışırken temiz bir profil veya farklı bir istemci hata verir.
- Zincir denetimi, sunucu sertifikası ile güvenilen kök arasında eksik veya uyumsuz bir sertifika olduğunu gösterir.
Sunucu Hangi Sertifikaları Göndermeli?
Sunucu kendi sertifikasını ve güvenilen köke ulaşmak için gereken ara sertifikaları göndermelidir. Önce sunucu sertifikası, ardından varsa onu imzalayan ara sertifika ve üst ara sertifikalar gelmelidir. İstemcinin güven deposundaki kök sertifika doğrulama yolunun son dayanağını oluşturur.
Kök sertifikayı bağlantı sırasında göndermek yeni bir güven oluşturmaz. İstemci bu köke zaten güvenmiyorsa sunucudan aldığı kopyayı güvenilir saymaz. Bu nedenle kök sertifikayı genellikle listeye eklememelisiniz; sunucudan gönderilen kopya yalnızca gereksiz veri taşır.
Sertifika otoritesi veya barındırma paneli, sunucu sertifikasıyla ara sertifikaları birleştiren bir zincir paketi verebilir. Dosya adı platforma göre değişebilir; önemli olan doğru sunucu sertifikasını ve gerekli ara sertifikaları doğru sırayla kullanmanızdır. Alternatif veya çapraz imzalı zincirler arasından, desteklemek istediğiniz istemcilerin güvendiği bir köke ulaşan zinciri seçmelisiniz.
Sertifika Zincirini Kontrol Ederken Nelere Bakılır?
Yapılandırmadan sonra yalnızca sertifikanın bitiş tarihine bakmayın. Sunucunun bağlantı sırasında hangi sertifikaları gönderdiğini, bu sertifikaların sırasını ve istemcinin hangi güven köküne ulaşabildiğini birlikte kontrol edin.
- İlk sertifikanın ilgili alan adına ait sunucu sertifikası olduğunu doğrulayın.
- Her ara sertifikanın açık anahtarıyla bir önceki sertifikadaki imzanın doğrulanabildiğini kontrol edin.
- Ara sertifikaların geçerlilik süresini ve sertifika otoritesi yetkilerini inceleyin.
- Zincirin yaygın istemci güven depolarındaki bir köke ulaşıp ulaşmadığını kontrol edin.
- Sunucunun gereksiz, ilgisiz veya yanlış sertifikalar göndermediğinden emin olun.
Bir sunucunun gönderdiği sertifikaları ve aralarındaki ilişkiyi görmek için SSL Sertifika ve Zincir Kontrolü aracını kullanabilirsiniz. Araç, sunucunun gönderdiği sertifikalardaki eksiklik ve sıralama sorunlarını gösterir; ancak farklı istemci güven depolarıyla yapacağınız testlerin yerini tek başına tutmaz.







