DKIM چیست؟
DomainKeys Identified Mail (DKIM) روشی است برای احراز هویت رمزنگاریشده پیامهای ایمیلی و اعتبارسنجی دامنهای که ایمیل از آن ارسال شده است.
DKIM با استفاده از یک کلید عمومی (Public Key) که در DNS دامنه به صورت رکورد TXT منتشر میشود، پیامها را امضا و سپس توسط گیرنده تأیید میکند.
این امضا تضمین میکند که محتوای ایمیل از زمان ارسال تا رسیدن به گیرنده، تغییر نکرده است.
استفاده از DKIM علاوه بر افزایش امنیت ایمیل ، به اعتبار ایمیل ارسالی کمک نموده و به سرویس های دریافت کننده ایمیل نیز اجازه تشخیص ایمیل های معتبر از جعلی را می دهد.
کلیدهای DKIM برای کاربر نهایی قابل مشاهده نیستند و فرآیند امضا و بررسی کاملاً در بکاند سرورها انجام میشود.
DKIM چگونه کار میکند؟
DKIM از دو بخش اصلی تشکیل شده است:
امضا کردن (Signing)
امضای ایمیل میتواند توسط:
- نویسنده پیام
- یک سرور واسط در مسیر
- یا یک سرویس شخص ثالث
انجام شود. این امضا بهصورت هدر DKIM-Signature به پیام اضافه میشود.
امضای هدرها اختیاریست، اما هدر From همیشه باید امضا شود.
تأیید (Verifying)
سرور گیرنده (یا سرورهای واسط) با بررسی رکورد DNS دامنه، امضای DKIM را تأیید میکند.
ساختار جستجوی رکورد DNS به این صورت است:
selector._domainkey.domain.com
مثال:
brisbane._domainkey.example.com
رکورد بازگشتی شامل یک سری مقدارهای tag=value است، از جمله کلید عمومی دامنه. سرور گیرنده با استفاده از این کلید، هش پیام را رمزگشایی کرده و آن را با هش بدنه پیام مقایسه میکند.
اگر این دو هش با هم مطابقت داشته باشند، نشان میدهد که پیام:
- از طرف دامنه معتبر ارسال شده،
- و در مسیر ارسال دستکاری نشده است.
نکته مهم:
شکست در اعتبارسنجی DKIM باعث رد خودکار پیام نمیشود، اما اطلاعات آن معمولاً در Authentication-Results ثبت میشود یا از طریق فیدبکلوپها در اختیار فرستنده قرار میگیرد.
نقش DKIM در مبارزه با فیشینگ و اسپم
DKIM را می توان یکی از مهم ترین ابزارهای احراز هویت ایمیل دانست که به سرورهای دریافت کننده ایمیل کمک میکند تا اصالت پیام را بررسی کنند. DKIM نقش مهمی در کاهش جعل هویت دامنه، مقابله با حملات فیشینگ و افزایش اعتبار ایمیلهای ارسالی دارد و در کنار SPF و DMARC، یکی از پایههای اصلی امنیت و افزایش اعتبار ایمیل به حساب می آید.
- DKIM بهتنهایی ایمیل اسپم را مسدود نمیکند، اما به اعتباردهی فرستنده کمک میکند.
- اگر اسپمرها مجبور به استفاده از دامنه واقعی خود شوند، ابزارهای فیلترینگ راحتتر میتوانند پیامها را شناسایی کنند.
- وقتی ایمیلی بدون امضای DKIM باشد، سرور گیرنده میتواند آن را مشکوک به جعل یا تقلب در نظر بگیرد.
- DMARC میتواند تعیین کند که در صورت شکست DKIM چه برخوردی با پیام شود (Reject، Quarantine یا None).
طول کلید پیشنهادی
طول کلید DKIM باید حداقل ۱۰۲۴ بیت باشد.
سرویسهایی مانند Google، Yahoo و Microsoft، کلیدهایی با طول کمتر را رد میکنند یا در آینده رد خواهند کرد.
ساختار یک رکورد DKIM-Signature
نمونهای از یک رکورد DKIM:
makefile
CopyEdit
DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;
c=relaxed/simple; q=dns/txt; l=1234; t=1117574938; x=1118006938;
h=from:to:subject;
bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZVoG4ZHRNiYzR
معنی تگها (tag=value):
تگ | توضیح |
v | نسخه DKIM (معمولاً 1) |
a | الگوریتم امضا (مثلاً rsa-sha256) |
d | دامنهای که پیام را امضا کرده |
s | سلکتور (Selector) برای تعیین کلید |
c | الگوریتم سادهسازی (Canonicalization) هدر و بدنه |
q | روش جستجوی رکورد (مثلاً dns/txt) |
l | طول بدنهای که امضا شده |
t | زمانسنجی یا زمان امضا |
x | تاریخ انقضای امضا |
h | فهرست هدرهایی که امضا شدهاند |
bh | هش بدنه پیام |
b | امضای دیجیتال پیام |
منابع مقاله:










ارسال پاسخ