DKIM چیست و چه کاربردی دارد؟ آشنایی با نحوه عملکرد DKIM در ایمیل

امنیت ایمیل فقط به محافظت از حساب کاربری فرستنده یا گیرنده محدود نمیشود. زمانی که یک ایمیل از یک سرور به سرور دیگر منتقل میشود، سرویس دریافتکننده باید بتواند تا حدی مطمئن شود که پیام واقعا از طرف دامنه ادعاشده ارسال شده و محتوای آن در مسیر تغییر نکرده است. یکی از استانداردهای مهم برای بررسی این موضوع، DKIM است.
DKIM با استفاده از رمزنگاری نامتقارن، یک امضای دیجیتال به ایمیل اضافه میکند. سرور دریافتکننده میتواند با استفاده از کلید عمومی منتشرشده در DNS دامنه، این امضا را بررسی کند و اعتبار پیام را ارزیابی کند.
در این مقاله بررسی میکنیم DKIM چیست، چگونه کار میکند، چه تفاوتی با SPF دارد و چرا استفاده از آن برای سرویسهای ایمیل اهمیت دارد.
DKIM چیست؟
DKIM مخفف DomainKeys Identified Mail است و یک روش استاندارد برای احراز هویت ایمیل محسوب میشود. در این روش، سرویس ارسالکننده با استفاده از یک کلید خصوصی، بخشهایی از پیام ایمیل را امضا میکند.
کلید عمومی متناظر با این کلید خصوصی در DNS دامنه قرار میگیرد. سرور دریافتکننده میتواند با پیدا کردن کلید عمومی، امضای دیجیتال موجود در ایمیل را بررسی کند.
اگر امضا معتبر باشد، سرور دریافتکننده میتواند اطمینان بیشتری داشته باشد که پیام توسط یک سرویس دارای کلید خصوصی معتبر ارسال شده و بخشهای امضاشده پیام در مسیر تغییر نکردهاند.
بنابراین، DKIM دو هدف مهم دارد: احراز هویت دامنه ارسالکننده و تشخیص تغییر محتوای امضاشده ایمیل.
DKIM چگونه کار میکند؟
عملکرد DKIM بر پایه یک جفت کلید رمزنگاری انجام میشود. یکی از این کلیدها خصوصی است و دیگری به صورت عمومی در DNS منتشر میشود.
در زمان ارسال ایمیل، سرویس ایمیل فرستنده ابتدا بخشهای مشخصی از پیام را انتخاب میکند. سپس با استفاده از کلید خصوصی، یک امضای دیجیتال ایجاد میشود و اطلاعات مربوط به این امضا در هدر ایمیل قرار میگیرد.
هنگام دریافت پیام، سرور مقصد هدر DKIM را بررسی میکند. در این هدر اطلاعاتی مانند دامنه امضاکننده و نام Selector وجود دارد. سرور دریافتکننده با استفاده از این اطلاعات، رکورد DKIM مربوط به دامنه را در DNS پیدا میکند.
کلید عمومی موجود در DNS برای بررسی امضا استفاده میشود. اگر امضا معتبر باشد، نتیجه بررسی DKIM موفق خواهد بود. اگر محتوای بخشهای امضاشده تغییر کرده باشد یا کلید عمومی با امضای پیام مطابقت نداشته باشد، بررسی با شکست مواجه میشود.
کلید خصوصی و عمومی در DKIM چه نقشی دارند؟
DKIM از رمزنگاری نامتقارن استفاده میکند و به همین دلیل دو کلید متفاوت دارد.
کلید خصوصی باید در اختیار سرویس ارسالکننده باقی بماند. این کلید برای ایجاد امضای دیجیتال ایمیل استفاده میشود و نباید در اختیار افراد یا سرویسهای غیرمجاز قرار گیرد.
کلید عمومی برای بررسی امضا استفاده میشود و در DNS دامنه منتشر میشود. سرورهای دریافتکننده میتوانند این کلید را دریافت کرده و با استفاده از آن امضای DKIM ایمیل را اعتبارسنجی کنند.
به این ترتیب، نیازی نیست کلید خصوصی در اختیار سرور دریافتکننده قرار بگیرد.
Selector در DKIM چیست؟
Selector یکی از بخشهای مهم DKIM است که مشخص میکند سرور دریافتکننده باید کدام کلید عمومی را از DNS دریافت کند.
ممکن است یک دامنه به صورت همزمان از چند سرویس ارسال ایمیل استفاده کند. در چنین شرایطی میتوان برای هر سرویس یک Selector جداگانه تعریف کرد و کلیدهای عمومی متفاوتی را در DNS قرار داد.
برای مثال، یک سرویس میتواند از Selector با نام mail و سرویس دیگری از Selector با نام newsletter استفاده کند.
رکورد DKIM معمولا در یک زیردامنه مشخص از DNS قرار میگیرد که نام Selector نیز بخشی از آن است. برای مثال:
mail._domainkey.example.com
سرور دریافتکننده نام Selector را از هدر DKIM دریافت میکند و با استفاده از آن رکورد مناسب را در DNS پیدا میکند.
رکورد DKIM در DNS چگونه ایجاد میشود؟
برای فعالسازی DKIM، سرویس ارسالکننده معمولا یک کلید خصوصی و یک کلید عمومی ایجاد میکند. کلید خصوصی روی زیرساخت سرویس ارسال باقی میماند و کلید عمومی باید در DNS دامنه منتشر شود.
رکورد DKIM معمولا از نوع TXT است و ساختاری مشابه نمونه زیر دارد:
v=DKIM1; k=rsa; p=PUBLIC_KEY
در این مثال، v=DKIM1 نسخه DKIM را مشخص میکند، k=rsa نوع کلید را نشان میدهد و p= شامل کلید عمومی است.
مقدار واقعی کلید عمومی بسیار طولانیتر از نمونه بالا است و باید دقیقا همان مقداری باشد که سرویس ایمیل در اختیار شما قرار میدهد.
نکته مهم این است که نحوه ایجاد رکورد DKIM به سرویس ایمیل مورد استفاده بستگی دارد. در بسیاری از سرویسهای ایمیل، رکورد و Selector مورد نیاز از قبل تولید میشود و مدیر دامنه فقط باید اطلاعات ارائهشده را در DNS وارد کند.
DKIM چه کاربردی دارد؟
مهمترین کاربرد DKIM، افزایش قابلیت اعتماد ایمیل و کمک به احراز هویت پیامهای ارسالی است.
با استفاده از DKIM، سرور دریافتکننده میتواند بررسی کند که پیام با استفاده از کلید خصوصی مرتبط با دامنه امضا شده است. همچنین اگر بخشهایی از پیام که تحت پوشش امضا قرار گرفتهاند در مسیر تغییر کرده باشند، بررسی امضا میتواند نامعتبر شود.
این موضوع در مقابله با جعل هویت و برخی حملات فیشینگ اهمیت دارد. مهاجمی که صرفا آدرس فرستنده را جعل کرده باشد، نمیتواند بدون دسترسی به کلید خصوصی معتبر، یک امضای DKIM معتبر برای همان دامنه ایجاد کند.
البته DKIM به تنهایی یک راهکار کامل برای جلوگیری از فیشینگ یا حملات سایبری از طریق جعل هویت نیست و بهتر است در کنار SPF و DMARC استفاده شود.
تفاوت DKIM و SPF چیست؟
SPF و DKIM هر دو برای احراز هویت ایمیل استفاده میشوند، اما روش کار آنها متفاوت است.
SPF مشخص میکند چه سرورها و آدرسهای IP اجازه دارند از طرف یک دامنه ایمیل ارسال کنند. سرور دریافتکننده آدرس IP فرستنده را با قوانین تعریفشده در SPF مقایسه میکند.
DKIM به جای بررسی IP سرور، امضای دیجیتال موجود در ایمیل را بررسی میکند. این امضا با کلید خصوصی سرویس ارسال ایجاد شده و با کلید عمومی موجود در DNS اعتبارسنجی میشود.
در نتیجه، SPF درباره مجاز بودن سرور ارسالکننده اطلاعات میدهد، در حالی که DKIM درباره اعتبار امضای پیام و دامنه امضاکننده اطلاعات ارائه میکند.
استفاده همزمان از این دو روش میتواند دید دقیقتری درباره اعتبار ایمیل در اختیار سرور دریافتکننده قرار دهد.
تفاوت DKIM و DMARC چیست؟
DMARC یک لایه سیاستگذاری بالاتر برای احراز هویت ایمیل است. این استاندارد میتواند از نتایج SPF و DKIM استفاده کند و به صاحب دامنه اجازه میدهد مشخص کند با پیامهایی که احراز هویت آنها موفق نیست چگونه برخورد شود.
برای مثال، صاحب دامنه میتواند سیاستی تعیین کند که ایمیلهای نامعتبر فقط گزارش شوند، به Spam منتقل شوند یا رد شوند.
بنابراین، DKIM و DMARC جایگزین یکدیگر نیستند. DKIM برای امضای دیجیتال و اعتبارسنجی پیام استفاده میشود، در حالی که DMARC برای سیاستگذاری و بررسی همراستایی هویت دامنه در کنار SPF و DKIM کاربرد دارد.
آیا DKIM باعث جلوگیری از قرار گرفتن ایمیل در Spam میشود؟
فعال بودن DKIM به تنهایی تضمین نمیکند که ایمیلهای ارسالی همیشه وارد Inbox شوند. فیلترهای ایمیل عوامل مختلفی را برای تعیین اعتبار و محل تحویل پیام بررسی میکنند.
اعتبار دامنه و IP، محتوای ایمیل، سابقه ارسال، شکایتهای Spam، SPF، DKIM و DMARC همگی میتوانند در این فرایند تاثیر داشته باشند.
با این حال، پیکربندی صحیح DKIM یکی از اقدامات مهم برای ایجاد یک زیرساخت ایمیل معتبر است و نبود آن میتواند اعتبار پیامهای ارسالی را تحت تاثیر قرار دهد.
آیا DKIM محتوای ایمیل را رمزگذاری میکند؟
خیر. DKIM برای رمزگذاری محتوای ایمیل طراحی نشده است.
در DKIM، امضای دیجیتال برای بخشهای مشخصی از پیام ایجاد میشود تا سرور دریافتکننده بتواند اعتبار امضا و تغییر نکردن بخشهای امضاشده را بررسی کند. بنابراین، DKIM با رمزگذاری ایمیل تفاوت دارد.
اگر هدف، جلوگیری از مشاهده محتوای پیام توسط افراد غیرمجاز باشد، باید از روشهای رمزنگاری مناسب برای ایمیل استفاده شود.
آیا DKIM میتواند جلوی جعل فرستنده را بگیرد؟
DKIM میتواند جعل دامنه را دشوارتر کند، اما به تنهایی برای جلوگیری از تمام انواع جعل فرستنده کافی نیست.
مهاجم ممکن است از دامنهای مشابه دامنه اصلی استفاده کند یا در بخشهایی از اطلاعات فرستنده که تحت پوشش DKIM قرار نگرفتهاند دستکاری ایجاد کند. به همین دلیل، برای محافظت بهتر از یک دامنه باید DKIM در کنار SPF و DMARC پیکربندی شود.
DMARC بهخصوص اهمیت زیادی دارد، زیرا امکان تعریف سیاست برای پیامهایی را فراهم میکند که نتوانستهاند الزامات احراز هویت دامنه را برآورده کنند.
چگونه متوجه شویم DKIM به درستی کار میکند؟
برای بررسی DKIM میتوان یک ایمیل آزمایشی ارسال کرد و هدر کامل پیام را بررسی کرد. در هدر ایمیل معمولا نتیجه بررسی DKIM مشخص میشود.
در صورت موفق بودن احراز هویت، معمولا نتیجهای مانند زیر مشاهده میشود:
dkim=pass
اگر بررسی امضا با مشکل مواجه شده باشد، ممکن است نتیجه fail یا وضعیت دیگری نمایش داده شود.
برای بررسی دقیقتر باید Selector استفادهشده، رکورد DKIM موجود در DNS و کلید عمومی منتشرشده بررسی شوند. همچنین باید مطمئن شوید که کلید خصوصی مورد استفاده سرویس ارسال با کلید عمومی منتشرشده در DNS مطابقت دارد.
جمعبندی
DKIM یکی از استانداردهای مهم برای احراز هویت ایمیل است که با استفاده از امضای دیجیتال، به سرور دریافتکننده کمک میکند اعتبار پیام و دامنه امضاکننده را بررسی کند. در این روش، سرویس ارسالکننده با کلید خصوصی پیام را امضا میکند و کلید عمومی متناظر در DNS دامنه قرار میگیرد.
DKIM به تنهایی تمام مشکلات امنیتی ایمیل را برطرف نمیکند، اما یکی از اجزای مهم یک زیرساخت ایمیل امن و قابل اعتماد است. استفاده از DKIM در کنار SPF و DMARC میتواند امکان تشخیص پیامهای غیرمجاز و مدیریت بهتر ایمیلهای مشکوک را فراهم کند.
سوالات متداول
DKIM یک استاندارد احراز هویت ایمیل است که با استفاده از امضای دیجیتال، به سرور دریافتکننده کمک میکند اعتبار دامنه ارسالکننده و تغییر نکردن بخشهای امضاشده پیام را بررسی کند.
کلید عمومی DKIM معمولا در قالب یک رکورد TXT در DNS دامنه قرار میگیرد. نام این رکورد بر اساس Selector تعیین میشود.
Selector مشخص میکند سرور دریافتکننده برای بررسی امضای DKIM باید کدام کلید عمومی را از DNS دریافت کند. استفاده از Selectorهای مختلف امکان استفاده همزمان از چند کلید یا سرویس ارسال ایمیل را فراهم میکند.
خیر. DKIM محتوای ایمیل را رمزگذاری نمیکند، بلکه با استفاده از امضای دیجیتال امکان بررسی اعتبار پیام و تغییر نکردن بخشهای امضاشده آن را فراهم میکند.
SPF مشخص میکند کدام سرورها اجازه ارسال ایمیل از طرف یک دامنه را دارند، در حالی که DKIM اعتبار امضای دیجیتال موجود در پیام را بررسی میکند.
خیر. DKIM یکی از اجزای احراز هویت ایمیل است و بهتر است در کنار SPF و DMARC استفاده شود تا محافظت کاملتری در برابر جعل دامنه و سوءاستفاده از ایمیل ایجاد شود.
خیر. فعال بودن DKIM تضمینی برای قرار گرفتن ایمیل در Inbox نیست. عواملی مانند اعتبار دامنه و IP، محتوای پیام، سابقه ارسال، SPF و DMARC نیز بر نحوه تحویل ایمیل تاثیر دارند.
میتوانید یک ایمیل آزمایشی ارسال کرده و هدر آن را بررسی کنید. اگر احراز هویت با موفقیت انجام شده باشد، معمولا نتیجه بررسی با عبارت dkim=pass نمایش داده میشود.
خیر. کلید خصوصی باید فقط در اختیار سرویس ارسالکننده باشد و هرگز نباید در DNS منتشر شود. کلید عمومی برای بررسی امضا در DNS قرار میگیرد.






























شما میتوانید دیدگاه خود را در مورد این مطلب با ما با اشتراک بگذارید.