İletişim

DKIM Nedir?

Kısa tanım

DKIM (DomainKeys Identified Mail), gönderen sunucunun e-postanın seçili başlıklarını ve gövdesini özel anahtarla imzaladığı, alıcının da imzayı DNS'te yayımlanan açık anahtarla doğruladığı bir e-posta kimlik doğrulama yöntemidir (RFC 6376). Geçerli bir imza, iletinin imzayı atan alan adının sorumluluğunda gönderildiğini ve yolda değiştirilmediğini gösterir. İletiyi şifrelemez; yalnızca bütünlüğü ve kaynağı doğrular.

Diğer adları: DomainKeys Identified Mail, DKIM imzası, DKIM kaydı, DKIM signature, _domainkey

E-postanın özel anahtarla imzalanıp alıcı sunucunun DNS'teki açık anahtarla imzayı doğruladığı DKIM akışı

İmzalama ve doğrulama adımları

  1. Gönderen sunucu, iletinin gövdesinden bir hash değeri hesaplar ve From, Subject, Date gibi seçtiği başlıklarla birlikte bunu özel anahtarıyla imzalar.
  2. İmza, iletiye eklenen DKIM-Signature başlığına yazılır.
  3. Alıcı sunucu bu başlıktaki alan adı (d=) ve selector (s=) değerlerinden DNS sorgusunun adresini kurar: s1._domainkey.example.com.
  4. Oradaki TXT kaydında yayımlanan açık anahtarla imzayı doğrular ve gövde hash'ini yeniden hesaplayıp karşılaştırır.

Özel anahtar yalnızca gönderen tarafta durur; açık anahtar herkese açıktır. Bu, genel anahtarlı kriptografinin klasik kullanımıdır ve şifreleme ile karıştırılmamalıdır: ileti içeriği DKIM sayesinde gizli hâle gelmez.

DKIM-Signature başlığını okumak

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com;
  s=s2026; t=1759480000; h=from:to:subject:date:message-id;
  bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVO...;
  b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4z...
EtiketAnlamı
d=Sorumluluğu üstlenen alan adı. DMARC uyumu için önemli olan değer budur.
s=Selector; aynı alan adında birden fazla anahtarın ayırt edilmesini sağlar.
h=İmzaya dahil edilen başlıkların listesi.
bh= / b=Gövde hash'i ve asıl imza.
c=Kanonikleştirme; relaxed boşluk farkları gibi küçük değişikliklere tolerans tanır.

Selector'lar ve anahtar yönetimi

Selector mekanizması sayesinde aynı alan adı için birden fazla anahtar aynı anda yayımlanabilir: kurumsal posta bir selector'la, pazarlama platformu başka bir selector'la imzalar. Anahtar rotasyonu da böyle yapılır: yeni anahtar yeni bir selector altında yayımlanır, gönderim yeni anahtara geçirilir, eski imzalı iletilerin teslimatı tamamlanınca eski kayıt kaldırılır.

RFC 8301'e göre rsa-sha1 artık imzalama ve doğrulamada kullanılmamalıdır; RSA anahtarları en az 1024 bit olmak zorundadır ve 2048 bit önerilir. RFC 8463 ayrıca Ed25519 algoritmasını tanımlar; ancak alıcı desteği RSA kadar yaygın olmadığından genellikle RSA imzasıyla birlikte kullanılır.

DKIM neyi kanıtlamaz?

  • Görünür gönderen adresini: İmza d= alan adına aittir. Bir pazarlama servisi iletileri varsayılan olarak kendi alan adıyla imzalıyorsa DKIM geçer, ama bu sizin alan adınız hakkında bir şey söylemez. DMARC, d= değerinin From alan adıyla uyumlu olmasını şart koşarak bu boşluğu kapatır; bu yüzden servis panellerinde “kendi alan adınla imzala” ayarını etkinleştirmek gerekir.
  • İçeriğin güvenli olduğunu: Saldırgan kendi alan adıyla kusursuz DKIM imzalı kimlik avı iletisi gönderebilir.
  • Her durumda sağlam kalacağını: Konu satırına etiket ekleyen veya altbilgi iliştiren e-posta listeleri imzayı bozabilir.

Bir iletinin DKIM sonucunu görmek için alınan iletinin ham başlıklarındaki Authentication-Results satırında dkim=pass değerine ve hangi header.d için geçtiğine bakın. SPF sonucu da aynı satırda yer alır.

İlgili terimler

← Sözlüğe dön