HTTPS kullanan web sitesi açtığınızda, Exchange Server üzerinde TLS yapılandırdığınızda, Active Directory Certificate Services (AD CS) kurduğunuzda veya VPN kimlik doğrulaması yaptığınızda aslında aynı teknolojiyi kullanıyorsunuz:.509 dijital sertifikaları.

Günümüzde neredeyse tüm kurumsal altyapılar sertifikalara dayanmasına rağmen, çoğu kişi sertifikayı yalnızca “HTTPS için kullanılan dosya” veya “içinde public key bulunan yapı” olarak düşünüyor. Oysa tanım oldukça eksik kalıyor.

yazıda dijital sertifikanın gerçekte ne olduğunu, içerisinde hangi bilgilerin bulunduğunu Sertifika Otoritesi’nin (Certificate Authority – CA) aslında neyi imzaladığını teknik açıdan inceleyeceğiz.

Dijital Sertifika Nedir?

En basit ifadeyle dijital sertifika;

“ kimliği, kimliğe ait açık anahtarla ilişkilendiren ilişkinin güvenilir Sertifika Otoritesi tarafından doğrulandığını gösteren dijital olarak imzalanmış veri yapısıdır.“

Burada dikkat edilmesi gereken nokta “veri yapısı” ifadesidir. Çünkü sertifika tek başına anahtar değildir. Aslında içerisinde onlarca farklı bilgi barındırır.

Örneğin;

  • Sertifikanın sahibi (Subject)
  • Sertifikayı yayınlayan CA (Issuer)
  • Açık anahtar (Public Key)
  • Geçerlilik başlangıç bitiş tarihleri
  • Seri numarası
  • Anahtar kullanım amaçları
  • SAN (Subject Alternative Name)
  • EKU (Enhanced Key Usage)
  • CRL Distribution Points
  • Authority Information Access (AIA)
  • Sertifika politikaları
  • birçok farklı uzantı…

Dolayısıyla sertifika yalnızca “kimlik kartı” değildir; aynı zamanda güven ilişkisini tanımlayan bütünleşik yapıdır.

Windows Sertifika Görüntüleyicisi Bize Her Şeyi Göstermiyor

Windows üzerinde herhangi sertifikayı açtığınızda aşağıdaki sekmelerle karşılaşırsınız:

  • General
  • Details
  • Certification Path

Çoğu yönetici burada yalnızca;

  • Subject
  • Issuer
  • Thumbprint
  • Expiration Date

alanlarına bakıp pencereyi kapatır. Fakat görünen bilgiler aslında sertifikanın yalnızca okunabilir gösterimidir.

Arka planda ise.1 standardına göre tanımlanmış, DER formatında kodlanmış oldukça düzenli veri yapısı bulunur. CER veya CRT uzantıları ise yalnızca verinin farklı gösterim şekilleridir.

Yani;

certificate.cer certificate.crt certificate.der certificate.pem

dosyalarının içerdiği mantık aynıdır. Fark sadece verinin nasıl saklandığıdır.

Sertifikanın Kalbi: TBSCertificate

X.509 sertifikalarının en önemli bölümü TBSCertificate yapısıdır. “To Be Signed” yani İmzalanacak Veri anlamına gelir. İşte Sertifika Otoritesi’nin koruduğu tüm bilgiler burada yer.

bölüm içerisinde;

  • Subject
  • Issuer
  • Public Key
  • Validity
  • Serial Number
  • SAN
  • EKU
  • Key Usage
  • CDP
  • AIA
  • Certificate Policies

gibi tüm kritik bilgiler bulunur. Kısacası sertifikanın güvenilirliğini sağlayan her alan TBSCertificate’in parçasıdır.

Sertifika Otoritesi Aslında Neyi İmzalar?

Burada en çok karıştırılan konulardan biri şudur. Birçok kişi CA’nın yalnızca Public Key’i imzaladığını düşünür. Gerçekte ise durum tamamen farklıdır.

CA;

  • Önce TBSCertificate bölümünün tamamını.
  • verinin kriptografik hash değerini üretir.
  • Oluşan hash’i kendi Private Key’i dijital olarak imzalar.
  • Oluşan imzayı sertifikanın içerisine Signature Value olarak ekler.
  • Yani CA tek tek alanları imzalamaz. Sertifikanın tamamını tek kriptografik nesne olarak korur. nedenle Subject alanından SAN kaydına kadar bütün bilgiler dijital imzanın kapsamına girer.

    Neden Tek Karakter Bile Değiştirilemez?

    Bunun cevabı hash algoritmalarında saklıdır. Hash fonksiyonlarının en önemli özelliği “Avalanche Effect” olarak bilinen davranıştır. Yani veride yapılan çok küçük değişiklik bile tamamen farklı hash üretir.

    Örneğin;

    server01.contoso.

    server02.contoso.

    arasındaki tek fark yalnızca karakter olsa bile oluşacak hash değeri tamamen farklı olacaktır.

    İşte yüzden;

    • Subject değiştirilemez.
    • SAN değiştirilemez.
    • Geçerlilik tarihi değiştirilemez.
    • EKU eklenemez.
    • Public Key değiştirilemez.

    Çünkü bunlardan herhangi biri değiştiğinde TBSCertificate’in hash değeri değişecektir. Sonuç olarak CA tarafından oluşturulan dijital imza artık doğrulanamaz.

    İmzayı Kim Doğrular?

    istemci HTTPS bağlantısı kurarken veya sertifikayı doğrularken işlemleri gerçekleştirir:

    • Sertifika içerisindeki TBSCertificate bölümünü.
    • Aynı hash algoritmasını kullanarak yeni hash hesaplar.
    • Sertifikada bulunan Signature Value değerini CA’nın Public Key’i doğrular.
    • İki hash değeri aynıysa sertifikanın değiştirilmediğine karar verir.

    mekanizma sayesinde istemci yalnızca sertifikanın geçerli olup olmadığını değil, aynı zamanda yayınlandıktan sonra değiştirilip değiştirilmediğini anlayabilir.

    Certutil Sertifikanın İçeriğini İncelemek

    Windows işletim sistemlerinde bulunan certutil aracı, sertifikaların içeriğini detaylı şekilde incelemek için oldukça faydalıdır.

    Örneğin;

    certutil -dump certificate.cer

    komutu

    • Subject
    • Issuer
    • Public Key
    • Signature Algorithm
    • EKU
    • SAN
    • CDP
    • AIA
    • Certificate Policies

    gibi tüm alanları ayrıntılı olarak görüntüleyebilirsiniz.

    Aynı şekilde;

    certutil -verify certificate.cer

    komutu ise sertifikanın dijital imzasını doğrular güven zincirini kontrol. PKI altyapılarında sorun giderme süreçlerinde iki komut oldukça sık kullanılır.

    Dijital sertifikalar yalnızca HTTPS bağlantısını sağlayan dosyalar değildir. Her sertifika; kimlik bilgilerini, açık anahtarı, kullanım amaçlarını, geçerlilik sürelerini birçok farklı uzantıyı içeren yapılandırılmış veri kümesidir. verilerin tamamı TBSCertificate içerisinde yer alır Sertifika Otoritesi tarafından tek seferde dijital olarak imzalanır.

    İşte nedenle sertifika yayınlandıktan sonra içerisinde bulunan tek karakterin bile değiştirilmesi mümkün değildir. Yapılacak en küçük değişiklik, sertifikanın hash değerini değiştirir dijital imzanın geçersiz olmasına neden.

    sonraki IIS, Exchange, AD CS veya TLS yapılandırmanızda sertifikaya yalnızca dosya olarak değil; güveni sağlayan, kriptografik olarak korunan modern güvenlik altyapılarının temelini oluşturan kritik bileşen olarak bakmanız, PKI mimarisini çok daha doğru anlamanıza yardımcı olacaktır.