CDS ve CDNSKEY, DNSSEC kullanan child zone'un (alt bölgenin) parent zone'da (üst bölgede) tutulan DS kaydında istediği değişikliği bildiren kayıt türleridir. Özellikle anahtar değişimlerinde alt bölgedeki yeni güven bilgisini üst bölgeye standart ve otomasyona uygun biçimde iletirler.

DNSSEC, DNS verilerinin kaynağını ve değiştirilmediğini imzalarla doğrulamaya yarar. DS kaydı, alt bölgenin DNSKEY kaydındaki açık anahtara ait özeti taşıyarak üst ve alt bölge arasındaki DNSSEC güven ilişkisini kurar.

CDS ve CDNSKEY, parent zone'da aynı alan adına ait DS RRset'ini (DS kayıt kümesini) kendileri değiştirmez. Child zone yalnız istediği DS durumunu yayımlar; parental agent (üst bölge adına DS kaydını yöneten sistem) bu sinyali doğrular. Bu görevi üst bölgeyi yöneten kuruluş, alan adı kayıt kuruluşu veya DS değişikliğine yetkili başka bir sistem üstlenebilir; yetkili sistem DS kayıt kümesini yalnız kabul koşulları sağlanırsa günceller.

CDS ve CDNSKEY Kayıtları Nasıl Çalışır?

  • Alt bölge, üst bölgedeki DS kayıt kümesinin eklenmesini, değiştirilmesini veya kaldırılmasını CDS, CDNSKEY ya da iki kaydı birlikte kullanarak bildirir.
  • CDS, hedef DS bilgisini DS biçiminde taşır; CDNSKEY ise üst bölgenin DS üretmek için kullanabileceği anahtar bilgisini taşır.
  • Üst bölge sistemi kayıtların kaynağını, CDS ile CDNSKEY arasındaki tutarlılığı, yetkili sunucuların verdiği yanıtları ve DNSSEC doğrulamasının sürüp sürmeyeceğini denetler; güncellemeyi yalnız kendi kabul koşulları sağlandığında uygular.
  • Mevcut bir DS kayıt kümesi güncellenirken üst bölge sistemi yeni sinyali var olan güven zinciri üzerinden doğrular.
  • İlk DS ekleme veya tüm DS kayıtlarını kaldırma gibi güven ilişkisini başlatan ya da bitiren işlemler daha sıkı doğrulama gerektirir.

DS Değişikliğinin Üst Bölgeye Bildirilmesi

Alt bölgenin yönetimini yetkili DNS sunucularına bırakma işlemine delegasyon denir. DNSSEC anahtar değişikliği alt bölgede başlar, ancak bu delegasyonun DS kaydı üst bölgede tutulur. Alt bölgede yeni bir anahtar yayımlamak, üst bölgedeki güven bilgisini tek başına değiştirmez. Alt bölge istediği DS durumunu CDS/CDNSKEY ile yayımlar; üst bölge sistemi isteği doğrulayıp kabul ederse DS kayıt kümesini günceller. Böylece alan adı sahibi veya alt bölgenin DNS kayıtlarını yöneten DNS operatörü her anahtar değişiminde DS verisini başka bir kanaldan elle taşımak zorunda kalmaz.

Yine de bu mekanizma bir yetki devri değildir. Alt bölge, üst bölge üzerinde doğrudan yazma hakkı kazanmaz; üst bölge sistemi yalnız kendi politikası ve doğrulama adımları çerçevesinde işlem yapar.

CDS ile CDNSKEY Arasındaki Fark Nedir?

İki kayıt aynı amaca hizmet eder, ancak üst bölgeye farklı bilgi taşır. Üst bölgenin hangi kayıt türünü işlediği biliniyorsa yalnız o tür yayımlanabilir. Tercih bilinmiyorsa CDS ve CDNSKEY kayıtlarının ikisini de aynı anahtar kümesini gösterecek biçimde yayımlamak gerekir.

  • CDS, DS kaydında kullanılacak anahtar etiketi, algoritma, özet türü ve özet değerini taşır. Üst bölge, kabul ettiği CDS bilgisinden karşılık gelen DS kaydını oluşturabilir.
  • CDNSKEY, DNSKEY biçimindeki açık anahtar verisini taşır. Üst bölge, bu bilgiden kendi kabul ettiği özet algoritmasına göre DS değerini hesaplar.

İki kayıt arasındaki fark, özet algoritmasını hangi tarafın seçeceğini de belirler. CDS kullanıldığında alt bölge belirli bir DS özeti yayımlar; CDNSKEY işlendiğinde üst bölge, yayımlanan anahtar üzerinden kendi politikasına uygun DS özeti üretebilir.

DS Güncellenirken Kayıt Tutarlılığı Nasıl Doğrulanır?

Mevcut DS kayıt kümesi bir anahtar değişikliği için yenilenirken, yeni CDS veya CDNSKEY kayıtlarının görülmesi tek başına yeterli değildir. Üst bölge sistemi, yetkili sunuculardan alınan yanıtların aynı anahtar kümesini gösterdiğini ve yeni DS kayıt kümesinin DNSSEC doğrulamasını sürdüreceğini kontrol eder. Birden çok DNS sağlayıcısı veya devam eden bir anahtar geçişi varsa sunucular geçici olarak farklı kayıt kümeleri sunabilir; sistem bu durumda hangi kaydın daha yeni olduğunu tahmin etmeden güncellemeyi durdurur.

  1. Alt bölgenin DNS operatörü yeni anahtar durumunu hazırlar ve CDS/CDNSKEY kayıtlarını alt bölgenin ana alan adında yayımlar. Bu kayıtları, mevcut DNSKEY kümesinde bulunan ve üst bölgedeki DS kayıtlarından en az birinin işaret ettiği anahtarla imzalar.
  2. Alt bölgenin DNS operatörü, yeni kayıtların delegasyondaki bütün yetkili ad sunucularında aynı anahtar kümesini göstermesini bekler.
  3. Üst bölge sistemi, delegasyonda listelenen her yetkili ad sunucusunun bütün IP adreslerine doğrudan sorgu gönderir.
  4. Sistem, ulaşabildiği sunuculardan gelen yanıtların aynı anahtar kümesini gösterdiğini kontrol eder. Bir sunucu geçici olarak yanıt vermiyorsa daha sonra yeniden dener.
  5. Üst bölge sistemi, uygulanacak DS kayıt kümesinin alt bölgedeki imzalar için geçerli bir DNSSEC doğrulama yolu bırakıp bırakmadığını sınar.
  6. Kontroller başarılıysa üst bölge sistemi DS kayıt kümesini günceller. Üst bölgedeki değişiklik yayılmadan ve ilgili önbellek süreleri dolmadan alt bölgenin DNS operatörü eski anahtarı veya geçiş kayıtlarını kaldırmaz.

Anahtar geçişinin farklı aşamaları internette aynı anda görülebilir. Bu yüzden erken veya eksik bir DS değişikliği, geçerli DNSSEC yanıtlarının doğrulanamamasına yol açabilir.

CDS ve CDNSKEY Hangi DS Değişikliklerini Bildirir?

CDS/CDNSKEY mekanizması üç işlem için kullanılır: ilk kez DS yayımlayarak DNSSEC doğrulamasını başlatmak, mevcut DS kayıt kümesini anahtar değişikliğine göre güncellemek veya üst bölgedeki tüm DS kayıtlarının kaldırılmasını istemek. Bu işlemlerin güvenlik etkileri aynı değildir.

Mevcut ve geçerli bir DS ilişkisi varken yapılan anahtar güncellemesi, var olan güven zinciri üzerinden doğrulanabilir. İlk DS kaydı eklenirken ise üst bölgede alt bölgeyi doğrulayacak bir DS yolu henüz yoktur. RFC 9615'e göre CDS/CDNSKEY kayıtları, alt bölgeye ek olarak alan adı alt bölgenin dışında kalan her yetkili DNS sunucusunun özel sinyal alanında da yayımlanır. Üst bölge sistemi bu sinyallerin DNSSEC doğrulamasını yapar ve bütün ilgili sunuculardan aldığı kayıtları, kayıt türü bazında alt bölgedeki kayıtlarla karşılaştırır. Bir sorgu veya doğrulama başarısızsa ya da kayıtlar eşleşmiyorsa ilk DS kaydını eklemez. Bu yöntem authenticated bootstrapping (güvenli ilk kurulum) olarak adlandırılır.

DNSSEC'i kapatmak için RFC 8078 özel bir silme sinyali tanımlar. Bu durumda CDS kayıt kümesi yalnız CDS 0 0 0 0, CDNSKEY kayıt kümesi ise yalnız CDNSKEY 0 3 0 0 kaydını içerebilir. Üst bölge bu sinyali de doğrular ve kendi kabul politikasına göre değerlendirir. Tüm DS kayıt kümesinin kaldırılması, alt bölgeyi üst bölge üzerinden doğrulayan güven zincirini sona erdirir. Alt bölgenin DNS operatörü, üst bölgedeki DS kayıtları önbelleklerden çıkana kadar imzalamayı kapatmamalıdır.

Otomatik DS Güncellemesinde Neler Kontrol Edilir?

  • Üst bölge sistemi gerçekten CDS/CDNSKEY işliyor mu ve hangi kabul politikasını uyguluyor?
  • CDS ve CDNSKEY birlikte yayımlanıyorsa aynı anahtarları mı ifade ediyor?
  • Tüm yetkili ad sunucuları aynı CDS/CDNSKEY durumunu sunuyor mu?
  • Üst bölgedeki DS değişikliği uygulandıktan sonra alt bölge halen geçerli biçimde doğrulanabiliyor mu?
  • Üst bölgedeki DS değişikliği bütün sunuculara yayıldı mı ve eski yanıtların önbellek süresi doldu mu?
  • Silme sinyali DNSSEC'i gerçekten kapatma isteğini gösteriyor mu ve bu işlemin güvenlik etkisi açık mı?

RFC 10026, üst bölge sisteminin yeni DS kayıt kümesini yayımlarken kayıtların önbellekte tutulma süresini belirleyen TTL değerini geçici olarak 5-15 dakikaya düşürmesini önerir. Bu değer hem en az birkaç gün boyunca hem de önceki DS kayıt kümesinin önbellek süresi dolana kadar düşük tutulur. Amaç hatalı yeni kayıttan geri dönüşü hızlandırmaktır; eski DS kayıt kümesinin TTL değerini önceden düşürmek anahtar geçişindeki beklemeyi kısaltmaz.