SSL/TLS Sertifika Analizi

Bir internet sitesine girdiğinizde http ve https farkını günümüz tarayıcılar ile görmeniz çok kolay. http’nin ssl/tls protokolü uygulanmış hali olan https için sertifikaları kullanırız.

Bu yazımızda https’li bir siteye girdiğimizde  sertifika detaylarını nasıl okumamız, ne anlamamız gerektiğinden kriptolojik detaya girmeden değineceğiz.

Bu yazımız süresince gokhankesici.com’a girdiğinizde gördüğünüz sertifikayı inceleyeceğiz.

# Certificate Path

Sertifikayı açtığınızda (Windows’da) ilk karşınıza General bölümü gelse de ben certificate path bölümünden anlatmaya başlayacağım.

g2 - SSL/TLS Sertifika Analizi

Burada 3 adet sertifika görüyoruz. En altta yer alan sertifika benim sitemin sertifikası. Peki neden damlakent.com yazıyor. Buna sonradan değineceğiz.

Sertifika ağacının en tepesinde yer alan DST ROOT CA X3 sertifika root ca olarak ifade edilir. Let’s Encrypt Authority X3 ise Intermediate CA olarak ifade ediliyor. Yani Root CA tarafından imzalanmış CA tipli bir ara sertifika. Benim damlakent.com isimli sertifikamı da bu intermediate adlı seritifika imzalıyor.

# Root CA

İstisnalar olsa da (Firefox gibi) genellikle istemciler işletim sisteminin sertifika dizininde sertifika otoritesini arar. Örneğin benim sertifikamın root CA’yi DST Root CA X3’dür. Chrome’la siteme girdiğim Chrome gidip Root CA’mi işletim sisteminin dizinde arayacaktır. Burada bulamazsa tarayıcımda uyarı çıkaracaktır.

Örneğin Windows’da Trusted Root Certificates kısmında DST RooT CA X3’ü görebilirsiniz. Bu liste Windows güncellemeleriyle varsayılanda otomatik güncellenir.

g3 - SSL/TLS Sertifika Analizi

Root CA sertifikamızın detaylarına baktığımızda ise CA tipinde olduğunu Basic Constraints kısmından da anlayabiliyoruz. Path Length Constraint kısmında yazan None ifadesi ise bu sertifikanın ne kadar dal yani ara CA oluşturacağını söylüyoruz. Root CA olması sebebiyle herhangi bir kısıtlaması yok.

g4 - SSL/TLS Sertifika Analizi

Root CA sertifikalara bakarsanız sertifikanın imzalayanı ile imzalanı aynı olduğunu görürsünüz. Yani self-signed sertifikalardır.

g5 - SSL/TLS Sertifika Analizi

# Intermediate CA

Root CA tarafından sertifika imzalama yetkisi olan sertifikalardır. Ara sertifikanın ne kadar ara sertifika oluşturma yetkisi oluşturacağı bilgisi de yine Path Length Constraint kısmında görebilirsiniz.

g7 - SSL/TLS Sertifika Analizi

Public sertifikalarımız bu ara CA’lerce imzalanır. Root CA’ler kullanıcının işletim sisteminde tanımlı olduğunu belirtmiştik. Intermediate sertifikaların root CA’lerden farkı, siz benim siteme girdiğinizde ben size Root CA’yi vermiyorum, ama kendi sertifikamın yanında intermediate CA’yi mi de veriyorum.

g8 - SSL/TLS Sertifika Analizi

# End Entity Certificate

Bu siteyi şifreli haberleşmede kullandığı public anahtarının yer aldığı asıl sertifikamızdır.

# Sertifika Alanları

Asıl sertifikamızın detaylarında gördüğümüz alanları tek tek inceleyelim.

g11 - SSL/TLS Sertifika Analizi

Alanları incelerken gördüğünüz alanların anlamı ise aşağıdaki gibidir.

g23 - SSL/TLS Sertifika Analizi

Version : Burada sertifikanızın versiyonunu göreceksiniz. İlk versiyon ilk sertifika tipiydi. Daha sonra zamanla ssl/tls protokollerin gelişmesiyle bu alanlara eklemeler olmuştur. Temel versiyon 1 alanlarını detaylar kısmından filtreleyerek görmeniz mümkün.

Serial number : Sertifika CA’yi tarafından sertifikanızın seri numarası.

Signature algorithm & Signature hash algorithm : Sertifika talebi yaparken belirli bir şifreleme algoritması kullanarak public ve private key’lerinizi oluşturursunuz. public key’inizi CA’yle paylaşırsınız. CA bu public key ‘i değilde onun hash’ini alıp imzalar. Ben örneğin RSA algoritmasıyla public key i mi oluşturmuşum. Hash içinde SHA256 algoritmasını talep etmişim. Tarayıcılar zaman zaman algoritmaları yetersiz bulabilir. Örneğin SHA1 yakın zamana kadar güvenli bir algoritma sayılıyorken. Artık güvensiz kabul ediliyor. Buna dikkat etmekte fayda var diye düşünüyorum.

Issuer : Sertifikanızı imzalayanın bilgileri burada yer alır. Burada sertifika imzalayacısının common name (CN)’i, organizasyonu ve ülkesi gibi bilgiler yer alır. Gösterilen ise CN’dir.

Valid from/to : Sertifikaların başlangıç/bitiş geçerlilik süresi burada belirtilir.

Subject : Sertifika talebi yaparken CSR’da özellikle doldurduğunuz o bilgiler bu bölümde yer alır.

Public key : CA’ye gönderdiğimiz public anahtarımız burada yer alır. Örneğin ben RSA algoritması ile 2048 bit için açık anahtar oluşturmuşum. RSA 1024 artık güvensiz sayıldığından minumum 2048 bit RSA kullanınız.

Enhanced Key Usage & Key Usage : Bu kullandığımızın sertifikanın hangi amaçlarla kullanılabileceğini kısıtlar. Örneğin bizim sertifikamızda Code signing yok. Sertifika kaydedici sitelere giderseniz code signing sertifikalar için ayrı ürünler görürsünüz. Onlardan alsaydınız burada Code signing’i görecektiniz. Ben ise sertifikayı server authentication için kullanıyorum. Çünkü siz beni doğruluyorsunuz ben sizi doğrulamıyorum bu sitede. Key usage ise sertifika içerisindeki anahtarın kullanım sebebi belirtilmiştir.

g17 - SSL/TLS Sertifika Analizi

g18 - SSL/TLS Sertifika Analizi

Subject & Authority Key Identifier : Subject Key’de sertifikanızı ait public anahtar’dan üretilmiş id, Authority Key ise sizin CA otoritesinin anahtarın id numarası.

Authority Information Access : Önemli bir alandır. Çünkü burada sertifikanızı imzalayana client erişmek isterse buraya bakabilir. Bunun yanı sıra sertifikanın statüsünü sertifika otoritesi tarafında görmek ister client. O bilgi de yine burada URL adresi olarak yer alır. Örneğin aşağıdaki 1. alan OCSP yani sertifikamızın durumu tarayıcımız tarafından buradan kontrol eder. Eğer ara sertifikamız sunucudan istemciye gönderilmezse istemci 2. alandaki URL’den bizim sertifikamızı imzalayan ara sertifikamızı bulacaktır. İsterseniz manuel olarak gidip aşağıdaki linkleri kontrol edebilirsiniz.

g15 - SSL/TLS Sertifika Analizi

Subject Alternative Name : Bazen SAN destekli diye sertifikalarda bir detay görürsünüz. SAN demek bir sertifika içinde birden domaine izin verilebileceği anlamına gelmektedir. Bu tip eklentiyle oluşturulmuş v3 sertifikalarda Subject kısmındaki CN’e bakmak yerine SAN’daki CN’lere bakar. Örneğin sitem için Subject kısmına bakarsanız sertifikanın damlakent.com için oluştuğunu görürsünüz. Halbuki sitem gokhankesici.com. Bu sertifika birden fazla domaini destekler şekilde oluşturulmuş. SAN için herhangi bir kısıtlama olmasa da üreticilerin kendi iş modellerine göre SAN’ı kısıtlarlar. Ya da siz www.gokhankesici.com için sertifika alırsınız. Bazı üreticiler sizin yerinize gokhankesici.com ‘ı da dahil ederler ve ücret almazlar.

g20 - SSL/TLS Sertifika Analizi

Basic Constraints : Burada sertifikanın tipini görebilirsiniz. CA ‘mi yoksa End entity sertifika mı. CA’se ara sertifika yetkisivar mı yok mu görebilirsiniz.

Certificate Policies : Sertifika aldınız ve sertifika ile ilgili politikaları görmek mi istiyorsunuz. Burada bu bilgi URL içerisinde paylaşılır. Örneğin en aşağıda bahsettiğimiz EV ‘li sertifikaların OID bilgileri varsa bu politakaların içerisinde belirtilir.

g19 - SSL/TLS Sertifika Analizi

Thumbprint & Thumbprint algorithm : Öncelikle şunu belirteyim. Bu iki alanda sertifikanın içerisinde bulunmayan datalardır. Örneğin Windows sertifikanın SHA1 ile sertifika dosyasının hash’ini alır ve bu alanlarda değerlerini ve ilgili algoritmayı gösterir.