Alan adı Anahtarlarıyla Tanımlanmış E-Posta

Alan adı Anahtarlarıyla Tanımlanmış E-Posta (DKIM) e-posta sahteciliğini algılamak için tasarlanmış bir [Email authentication e-posta kimlik doğrulama] yöntemidir. Alıcının, belirli bir alandan geldiği iddia edilen bir e-postanın gerçekten bu alanın sahibi tarafından yetkilendirildiğini kontrol etmesini sağlar. Bu yöntemle e-postalarda sahte gönderici adresleriyle yemleme ve yığın e-posta gibi saldırıları önlemek amaçlanmıştır.

Teknik terimlerle, DKIM bir alan adının bir e-posta mesajı ile bir elektronik imza ekleyerek ilişkilendirmesini sağlar. Doğrulama, imzalayan kişinin DNS'de yayınlanan açık anahtarı kullanılarak gerçekleştirilir. Geçerli bir imza, imzalandıktan sonra e-postanın bazı bölümlerinin (muhtemelen ekler dahil) değiştirilmediğini garanti eder. Genellikle DKIM imzaları son kullanıcılar tarafından görülemez ve mesajın yazarları ve alıcıları yerine altyapı tarafından yapıştırılır veya doğrulanır. Bu açıdan DKIM, uçtan uca dijital imzalardan farklıdır.

DKIM, benzer amaçla Yahoo tarafından yürütülen ‘geliştirilmiş alan adı doğrulaması’ ve CISCO tarafından yürütülen ‘tanımlanmış internet postası’ projelerinin 2004 yılında birleştirilmesi ile oluşturuldu. ] Birleştirilmiş bu yöntem IETF standartları ve parça tanımlamalarının temelini oluşturdu ve nihayetinde şu anda[rfc:6376 RFC 6376] olan STD 76’nin oluşturulmasındaki dokümanları desteklemiştir. "Tanımlanmış İnternet Postası", Cisco tarafından imza tabanlı bir posta kimlik doğrulama standardı olarak önerildi; DomainKeys ise Yahoo tarafından bir e-posta göndereninDNS alan adını ve mesaj bütünlüğünü doğrulamak üzere tasarlandı.

2017 yılında imzalama tekniklerinin gözden geçirilmesi için belirli kısıtlamaları oluşturmak için bir başka çalışma grubu olan DKIM Crypto Update (dcrup) oluşturuldu. 2018 Ocak ayında [rfc:8301 RFC 8301' de] SHA-1 ve anahtar uzunluğunun değiştirilmesi yasaklandı(512-2048 dan 1024-4096).

Orijinal geliştirilmiş alan adı doğrulaması, 2004'ten bu yana birçok katkı sağlayanın yorumlarıyla Yahoo’dan Mark Delany tarafından geliştirildi. Bu, Stardart İzleme RFC 4871 ile yerine geçtiği tarihi RFC 4870’de ve Alan adı anahtarıyla e-posta kimlik doğrulaması (DKIM)’de belirtildi ve her ikisi de Mayıs 2007'de yayınlandı. Daha sonra bir takım açıklamalar ve kavramsallaştırmalar toplanmış ve mevcut şartnamenin düzeltilmesi şeklinde düzenlenen ve Ağustos 2009’da yayınlanan [rfc:5672 RFC 5672’de] belirtilmiştir. Eylül 2011'de, RFC 6376, DKIM protokolünün özünü korurken, bu iki belgeyi birleştirdi ve güncelledi. Daha önceki DomainKeys ile ortak anahtar uyumluluğu da mümkün hale geldi.

DKIM başlangıçta gayri resmi bir sanayi konsorsiyumu tarafından üretildi ve daha sonra Barry Leiba ve Stephen Farrell başkanlığındaki IETF DKIM Çalışma Grubu, PGP Şirketi'nden Jon Callas,Mark Delany ve Yahoo'dan Miles Libbey'den oluşan bir grup tarafından geliştirme ve standardizasyon için sunuldu ve Jim Fenton ve Cisco' dan Michael Thomas, birincil yazar olarak nitelendirildi.

DKIM imzalama ve doğrulama olmak üzere 2 ayrı işlem sağlıyor. Her ikisi de bir posta aktarım aracısı (MTA) modülüyle yönetilebilir. İmzalama kuruluşu, yazar,gönderme sitesi veya transit yolu boyunca başka bir aracı veya doğrudan işleyiciye yardım sağlayan bağımsız bir hizmet gibi dolaylı bir işleyici gibi mesajın doğrudan işleyicisi olabilir. İmzalama modülleri, bir veya daha fazla DKIM-Signature ekler ve bir imza; başlık alanlarını, muhtemelen yazar organizasyonunun veya kaynak servis sağlayıcısının yerine ekler. Doğrulama modülleri tipik olarak alıcı organizasyonun yerine etki eder.

bu tür onaylanmış kimliklere duyulan ihtiyaç ortaya çıkmıştır. Örneğin, bir spam iletisi, bu adres veya alan ya da varlıktan olmamasına rağmen, sender@example.com adresinden olduğunu iddia edebilir. Buradaki spammer'ın amacı, alıcının e-postayı kabul etmeye ve okumaya ikna etmektir. Alıcıların belirli bir mesaja veya hatta alana güvenip güvensizlik yapıp yapmayacağına karar vermesi zordur ve sistem yöneticileri, sistemlerinden kaynaklanmış gibi görünen, ancak spam olmayan şikayetlerle de uğraşmak zorunda kalabilirler. DKIM, imzalayıcıların hangi başlık alanlarını imzalamak istediklerini seçmelerine izin verir, ancak Kimden: alanı her zaman imzalanmış olmalıdır. DKIM, imza sahibinin (yazar örgütü) meşru gördüğü e-postaları iletmesini sağlar. Bu durum doğrudan kötüye kullanımı engelleyemez. Gerçek postayı potansiyel sahte postalardan ayırt edebilme özelliği, e-posta alıcılarının yanı sıra gönderenlere de fayda sağlar.

DKIM , Basit Posta Aktarım Protokolü (SMTP)'nün yönlendirme yönlerinden bağımsız olarak  iletilen mailin başlık ve gövde kısmında RFC 5322 ' ye dayanarak çalışır. Bu nedenle DKIM imzası çoklu MTA'lar boyunca temel aktarımdan geçer.

DKIM İmza başlık alanı  etiket=değerleri içeren bir listeden oluşur. Etiketler kısadır ve genellikle sadece bir veya iki harftir. En yaygın olanlar mail mesajının içeriğinin(başlık ve gövde) gerçek elektronik imzası için b, gövde özeti için bh, alan adı imzası için d ve seçici için s kullanılır. Kimlik doğrulama mekanizması için varsayılan parametreler, SHA-256'yı şifreli özet ve RSA'yı açık anahtar şifreleme şeması olarak kullanmak ve Base64 kullanarak şifrelenmiş hash kodlamaktır.

Hem başlık hem de gövde imzaya katkıda bulunur. İlk olarak, ileti gövdesinin özeti(hash) başından itibaren alınır ve verilen bir uzunlukta kesilir. İkincisi, seçilen başlık dosyasının alanları verilen h' ye bağlı olarak özetlenir. Tekrarlanan alan adları, başlığın alt kısmından yukarı doğru sıralanır; bu sıra Alındı: alanlarının başlığa eklenmesiyle aynı sıradır. Mevcut olmayan bir alan boş dizeyle eşleşirse, bu şekilde bu isimle bir alan eklemek imzayı bozar. Bu DKIM İmza: , yaratılan imzanın alanları, bh ile eşit hesaplanan gövde özeti(hash) ve b boş diziye eşitse, bu ikinci özete dolaylı olarak eklenir ve ismi h' da görülmez. Eğer görülürse, daha önceden oluşmuş bir imzayı gösteriyor olur. Her iki özet(hash) için metin, ilgili c algoritmalarına göre standartlaştırılmıştır ve sonuç b olmuştur. Algoritmalar, alanlar ve gövde uzunluğu, açık bir şekilde mesaj tanımını garantilemek için seçilecek, ancak imzalarda meydana gelecek olan kaçınılmaz değişiklikleri devam ettirebilecek imzalara izin verecek şekilde seçilmelidir.

Sorgudan döndürülen veriler ayrıca etiket - değer çiftlerinin bir listesidir. Bu, diğer anahtar kullanım belirteçleri ve bayraklarının yanı sıra alan adının açık anahtarını da içerir. Alıcı bunu daha sonra başlık alanındaki özet(hash) değerini çözmek ve aynı zamanda alınan posta mesajı (üstbilgiler ve gövde) için özet değerini yeniden hesaplamak için kullanabilir. İki değer eşleşirse, bu, postanın belirtilen etki alanı tarafından imzalandığını ve geçiş sırasında değiştirilmediğini kriptografik olarak kanıtlar.

İmza doğrulama hatası mesajın reddedilmesi için zorlamaz. Bunun yerine, mesajın doğruluğunun kanıtlanamamasının kesin nedenleri, aşağı yönde ve yukarı yönde işlemlere açık hale getirilmelidir. Bunu yapma yöntemleri, bir FBL mesajının geri gönderilmesini veya[rfc:7001 RFC 7001]'de açıklandığı gibi mesaja bir Doğrulama-Sonuçları başlık alanı eklemeyi içerebilir.

Alan adı anahtarları(DomainKeys) Yahoo! ' ya atanan   sayılı patent ile korunmaktadır. Yahoo, DKIM IETF Working Group'un amacı için artık kullanılmayan (mülga) DK kütüphanesini ikili lisans şeması altında yayınladı : imzasız bir versiyonu halen bulunabilen Geliştirilmiş Alan Adı Doğrulaması Lisans Sözleşmesi v1.2 ve GNU Genel Kamu Lisansı v2.0 (ve başka bir sürümü yok).

Bu sistemin e-posta alıcıları için birincil avantajı, imza alan adının meşru e-posta akışını güvenilir bir şekilde tanımlamasına izin vermesidir, böylece alan tabanlı kara listeler ve beyaz listelerin daha etkili olmasını sağlar. Bu durum ayrıca yemleme saldırılarının belli bir kısmının kolayca tespit edilebilir hale gelmesini sağlar.

DKIM bir iletiyi etiketleme yöntemidir ve kendi başına spam'i filtrelemez veya tanımlamaz. Bununla birlikte, DKIM'in yaygın kullanımı, spam göndericilerin mesajlarının kaynak adresini oluşturmasını engelleyebilir ve bugün kullandıkları bir tekniktir. Spam gönderenler doğru bir kaynak alan adı göstermeye zorlanıyorsa, diğer filtreleme teknikleri daha etkili bir şekilde çalışabilir. Kaynak alan adı itibar sistemine verilerek spam'ların daha iyi bir şekilde tespit edilmesine yardımcı olabilir. Tersine, DKIM, spam olmadığı bilinen ve filtrelenmesi gerekmeyen postayı tanımlamayı kolaylaştırır. Bir alıcı sistem, yerel olarak ya da üçüncü taraf onaylayıcıları tarafından bilinen iyi gönderim alanlarının beyaz listesini barındırıyorsa, bu alanlardan gelen imzalı postadaki filtrelemeyi atlayabilir ve belki de kalan postaları daha agresif bir şekilde filtreleyebilir.

DKIM bir yemleme karşıtı(anti-phishing)  bir teknoloji olarak yararlı olabilir. Ağır şekilde yemlenen alan adlarında bulunan postalar, postalarının gerçek olduğunu göstermek için postalarını imzalayabilir. Alıcılar bu alan adlarından alınan postalarda imzayı belirleyemezse e-postanın büyük olasılıkla sahte olduğunu anlayabilirler. Bu derece bir denetlemeyi gerektirecek alan adlarına karar vermek kolay değildir. DKIM eskiden yazarların maillerini kendi kimlikleriyle imzaladığı ADSP diye adlandırılan ekstra bir özelliğe sahipti fakat 2013 Kasım' da eski teknoloji olarak sınıflandırıldı.  Bunun yerine, DMARC denilen aynı amaç için kullanılan  ve alan adlarına kendi kendine hangi teknikleri kullanacaklarını yayınlama(SPF ve DKIM de dahil) hakkı veren ve alıcının gelen e-postanın spam olup olmadığına karar vermesini kolaylaştıran bir yöntem bulunur. Örneğin Gmail, DMARC kullanarak eBay ve PayPal' dan gelen kimliği doğrulanmamış bütün e-postaları reddetmiştir.

Bu tasarım yaklaşımı, S / MIME ve OpenPGP içerik koruma standartları gibi diğer ilgili hizmetler ile de uyumludur. DKIM ayrıca DNSSEC standardı ve SPF ile de uyumludur.

DKIM, bir posta sunucusu aracılığıyla gönderilen her mesaj için oluşturulacak şifrelenmiş sağlama toplamı gerektirir; bu da, e-posta teslimi için başka türlü gerekli olmayanhesaplama ek yükü ile sonuçlanır. Bu ek hesaplama yükü, toplu spam e-posta göndermeyi zorlaştırır. DKIM bu yönden, hashcash'a benzer görünebilir, ancak alıcı tarafının doğrulanması ihmal edilebilir miktarda bir çalışma değildir ve tipik bir hashcash algoritması çok daha fazla iş gerektirecektir.

DKIM' in inkar edilememe özelliği, göndericileri(mesela spammerlar) e-postayı göndermediğini iddia etmesini engeller. Bu durumun işe yararlılığı WikiLeaks gibi haber kaynakları tarafından sızdırılan e-postaların gerçek olduğunu ve değiştirilmediğini kanıtlamak için kullandığında(Hillary Clinton' ın 2016 Başkanlık Seçimindeki yol arkadaşı Tim Kaine ile olduğu gibi) gözlenmiştir.

DKIM imzaları, dönüş yolunu ve mesaj alıcılarını içeren mesaj zarfını kapsamaz. DKIM yanlış adreslemeye karşı koruma sağlamaya çalışmadığından, bu durum DKIM' in yararı konusunda olumsuz bir etki oluşturmaz.

Herhangi bir şifreleme çözümüyle ilgili bir endişemesaj tekrarının kötüye kullanılması olabilir. Yeniden oynatma kullanımı ile ortak anahtarlar kullanılarak, bu anahtarlar için DNS sorgularının izlenmesi ve e-postaların büyük e-posta listelerine gönderilmesiyle ilgili yüksek sayıda sorgunun filtrelenmesi veya kötü oyuncuların kötü amaçlı sorguları kullanılarak elde edilebilir.

Yukarıda belirtildiği gibi, kimlik doğrulama ile kötüye kullanımı önleme aynı değildir. Saygın bir alanın kötü niyetli bir e-posta kullanıcısı, kötü bir mesaj oluşturup ve onu DKIM imzalı halde alan adı içerisinden herhangi bir mesaj kutusuna gönderip onu dosya olarak elde ettiğinde, mesajın imzalı bir kopyasını ele geçirmiş olur. İmzalardaki l etiketinin kullanılması, bu tür mesajların daha kolay kendi çıkarlarına göre değiştirilmesini sağlar. İmzalı kopya daha sonra kontrolsüz bir botnet üzerinden bir milyon alıcıya iletilebilir. Mesajı imzalayan e-posta sağlayıcısı, rahatsız edici kullanıcıyı engelleyebilir, ancak önceden imzalı mesajların yayılmasını durduramaz. Bu tür mesajlardaki imzaların geçerliliği her zaman imzalardaki bir sona erme süresi etiketi veya periyodik olarak veya bir olayın bildirimi üzerine bir açık anahtarının iptal edilmesiyle sınırlandırılabilir. Senaryonun etkililiği, bir mesajın spam göndericilere potansiyel olarak yararlı olup olmadığını tespit etme kabiliyeti anlamına geldiğinden, giden postanın filtrelenmesi ile sınırlandırılamaz.

DKIM'in şu anda ikisi de MIME uyumlu olan, basit ve rahat olmak üzere 2 standartlaştırma algoritması bulunur. Posta sunucuları yasal olarak farklı bir karakter kümesine dönüştürebilir ve genellikle bunu X-MIME-Otomatik dönüştürülmüş başlık alanları ile belgeleyebilir. Ayrıca, belirli durumlarda sunucuların MIME yapısını yeniden yazmaları gerekir, böylece girişlerin, epilogun ve varlık sınırlarının değiştirilmesi gerekir, bunların herhangi biri DKIM imzalarını kırabilir. MIME başlık alanlarının işaretlenmemiş olması koşuluyla, sadece ascii dilinde yazılmış düz metin mesajları, uçtan uca bütünlüğün gerektirdiği sağlamlığın tadını çıkarır.

OpenDKIM Projesi, 21 posta sunucusu ve milyonlarca mesaj içeren bir veri topladı ve  gözlemlenen imzaların % 92.3'ü başarılı bir şekilde doğrulandı, başarı oranı e-posta  trafiği düşünüldüğünde  %90.5 a düşer.

Filtreleme veya geçiş yazılımı bir mesajda değişiklik yaptığında sorunlar daha da kötüleşebilir. Gönderen tarafından uygulanan özel önlemler olmadan, posta listelerinin çoğu ve birçok merkezi antivirüs çözümü tarafından çalıştırılan altbilgi eklenmesi, DKIM imzasını kıracaktır. Olası bir etki azaltma, yalnızca mesaj gövdesinin belirtilen sayıda baytını imzalamaktır. DKIM-Signature başlığında l etiketi ile gösterilir. DKIM imzası hesaplanırken, mesaj gövdesinin belirtilen uzunluğunun ötesinde eklenmiş herhangi bir şey dikkate alınmaz. Bu MIME mesajları için işe yaramaz durumdadır.

Başka bir geçici çözüm, bilinen ileticileri beyaz listeye almaktır; (örneğin SPF tarafından iletilenler). Başka bir geçici çözüm olarak ise, ileticilerin imzayı doğruladığı, e-postayı değiştirdiği ve iletiyi Gönderen: üstbilgisiyle yeniden imzalaması önerildi. Bununla birlikte, bu çözümün, RFC 5617 ADSP protokolünü destekleyen SMTP alıcılarında alınan yönlendirilmiş 3. taraf imzalanmış mesajlarla riske girdiğine dikkat edilmelidir.

Ekim 2012' de, Wired  matematikçi Zach Harris ' in google.com şirket alan adı için kısa DKIM anahtarları bir e-posta kaynak sızdırma güvenlik açığı tespit ettiğini ve gösterdiğini bildirdi. Harris kimlik doğrulamanın 384-bit için kendi dizüstü bilgisayarında 24 saatte, 512-bit anahtar için bulut bilişim bilgisayarlarıyla 72 saatte hesaplanabileceğini belirtti. Harris, birçok kuruluşun bu kısa anahtarlarla e-posta imzaladığını tespit etti; Hepsini çözdü ve bu açıklık hakkında kuruluşları haberdar etti. Harris 768-bit anahtar uzunluğunun çok fazla işlem gücü gerektirdiğini fakat daha güvenli sistemler için 1024-bitten daha uzun anahtarların kullanılmasını önerdi. Wired, Harris'in bildirmesi sonucu ve Google’ın kısa bir süre sonra yeni anahtarlar kullanmaya başladıklarını doğruladı. [rfc:6376 RFC 6376'ya] göre, alıcı taraf imzaları 512 bitten 2048 bite kadar olan anahtarlarla doğrulayabilir, dolayısıyla 512 bitten daha kısa olan anahtarların kullanımından kaçınılmalıdır. RFC 6376 ayrıca,  uzun ömürlü anahtarlar için en az 1024 bit anahtar kullanması gerektiğini belirtir.