
ضبط DKIM یک روش امن برای احراز هویت ایمیل است. این پروتکل از هرزنامهها و سایر روشهای هک از جعل هویت دامنه ایمیل اصلی جلوگیری میکند. در این مقاله وبلاگ پارس پاک به طور مفصل در مورد رایج ترین روش سرقت اطلاعات از طریق ایمیل و DKIM و نحوه برخورد با آن صحبت می کنیم.
ایمیل ها چگونه فاش می شوند؟
ابتدا باید اشاره کنیم که تمامی آدرس های ایمیل دارای دامنه هستند. این دامنه شامل دو بخش است:
- قسمت قبل @
- قسمت بعد از @ دامنه اصلی است.
قسمت بعد از @ به عنوان قسمت اصلی دامنه در نظر گرفته می شود که ثابت است. اما قسمت قبل از @ کاملاً متغیر است و می تواند مثلاً یک نام کاربری باشد. به عنوان مثال “[email protected]” را در نظر بگیرید. «akbari» قسمت متغیر و «example.com@» قسمت ثابت یا دامنه اصلی و قانونی ایمیل است.
اکنون، یکی از روشهای سرقت اطلاعات، ایجاد یک دامنه ایمیل جعلی است. یعنی هکر یک دامنه جعلی درست مانند دامنه اصلی ایجاد می کند (در این مثال @example.com) و پیام هایی را از آن ایمیل برای افراد آن شرکت ارسال می کند. بنابراین با دامنه جعل شده توسط او می تواند اعتماد مردم را جلب کند.
با نحوه سرقت اطلاعات ایمیل آشنا شوید
نمونه ای از سرقت اطلاعات با جعل یک دامنه ایمیل
برای درک بهتر مکانیسم DKIM Records، بیایید مثالی را ببینیم. فرض کنید دامنه ایمیل شرکتی “example.com” است. اکنون شخص X که یک هکر است، یک دامنه جعلی شبیه به “[email protected]” ایجاد می کند. سپس از آن دامنه به Y ایمیل می زند و از او می خواهد که اطلاعات محرمانه شرکت را برای او ارسال کند. از آنجایی که دامنه این ایمیل مشابه دامنه اصلی و قانونی ایمیل شرکت است، ممکن است شخص Y متوجه این حمله مخرب نشود و به شخص X اعتماد کند.
برای آشنایی کامل با انواع ایمیل شرکتی و نحوه دریافت این سرویس مقاله زیر را از دست ندهید.
ایمیل شرکتی چیست؟
پروتکل DKIM چیست؟
رکورد DKIM یک پروتکل امنیتی است که یک دیوار آتش بین فرستنده و گیرنده ایمیل ایجاد می کند و جعل دامنه ایمیل را برای مهاجمان سخت تر می کند. این ضبط زمانی مسئولیت خود را به بهترین نحو انجام می دهد که با دو فناوری زیر همراه باشد:
- SPF (مخفف Sender Policy Framework): چارچوب سیاست فرستنده
- DMARC (مخفف عبارت Domain-based Message Authentication Reporting and Conformance): احراز هویت و گزارش و تطبیق پیام مبتنی بر دامنه
ایمیلهایی که از فایروالهای DKIM، SPF و DMARC عبور نمیکنند، بهعنوان «هرزنامه» علامتگذاری میشوند یا اصلاً توسط سرورهای ایمیل تحویل داده نمیشوند. شایان ذکر است که اگر DKIM، SPF و DMARC برای دامنه example.com پیکربندی و فعال شده باشند، گیرنده ایمیل، Y، یا این ایمیل جعلی را در پوشه هرزنامه خود می بیند یا اگر سرور ایمیل آن را رد کند، آنها را دریافت می کند. به هیچ وجه آن را نمی بینم. ایمیل جعلی را نمی بینم. نمی توانید ببینید
DKIM Records چگونه کار می کند؟
پروتکل DKIM دو جنبه دارد:
- رکورد DKIM ذخیره شده در رکوردهای DNS برای دامنه.
- هدر DKIM که به همه ایمیلهای دامنه پیوست شده است.
DKIM از یک تکنیک امضای دیجیتال مبتنی بر رمزنگاری کلید عمومی برای تأیید منشاء ایمیل استفاده می کند. مبدا این ایمیل همان سروری است که ایمیل ها از آن ارسال می شوند. اما سوال مهم اعتبار این دامنه و اصالت آن است که نیاز به تایید دارد. برای این کار از دو کلید استفاده می شود:
- کلید خصوصی که متعلق به فرستنده است و برای امضای پیام ها استفاده می شود (مرحله رمزگذاری ایمیل).
- کلید عمومی که متعلق به گیرنده است و برای تأیید امضاها استفاده می شود (مرحله رمزگشایی ایمیل).
نکته مهم این است که گیرنده نمی تواند از کلید عمومی برای امضای پیام ها استفاده کند و بالعکس. این کلیدها توسط سرور ایمیل تولید می شوند و کلید عمومی به صاحب دامنه داده می شود. همچنین این کلید عمومی را در یک رکورد DNS که در دسترس عموم است (همانند DKIM Records) ذخیره می کند.
همه ایمیلهای ارسال شده از دامنه اصلی (به عنوان مثال @example.com) دارای هدر DKIM هستند. این هدر شامل بخشی از داده هایی است که با کلید خصوصی رمزگذاری شده یا امضا شده است. به این فرآیند «امضای دیجیتال» می گویند. اکنون وظیفه سرور ایمیل این است که رکورد DKIM DNS را بررسی کند و کلید عمومی را دریافت کند، سپس امضای دیجیتال را با استفاده از کلید عمومی تأیید کند.
مراحل کاری پروتکل DKIM
مزیت رمزگذاری ایمیل چیست؟
علاوه بر تأیید منشأ، فرآیند تولید امضای دیجیتال (رمزگذاری ایمیل) تضمین میکند که ایمیل در طول انتقال تغییر نکرده است. زیرا هنگامی که ایمیل به دست گیرنده می رسد، اگر سربرگ یا متن ایمیل تغییر کرده باشد، امضای دیجیتال تایید نمی شود. حتی اگر فقط یک شخصیت متفاوت باشد! این فرآیند درست مانند مهر و موم کردن حروف قدیمی است.
هر قسمت از پروتکل DKIM چه کاری انجام می دهد؟
قبلاً گفتیم که DKIM دارای دو بخش اصلی است. در ادامه به بررسی مسئولیت این دو بخش با هم خواهیم پرداخت.
1. بخش اول: رکورد DKIM
DKIM یک رکورد DNS TXT یا رکورد متن است. این نوع رکورد زمانی استفاده می شود که بخواهیم متن را، هر چه که باشد، به دامنه خود مرتبط کنیم. بنابراین یک رکورد DKIM دقیقا چه کاری انجام می دهد؟ این رکورد کلید عمومی DKIM را ذخیره می کند. کلید گفته شده یک رشته تصادفی حاوی کاراکترهای مختلف است. سرورهای ایمیل همچنین سوابق DNS دامنه را برای یافتن رکوردهای DKIM و دیدن کلید عمومی که رکورد DKIM بخشی از آن است، نظارت می کنند.
نمونه ای از رکوردهای DKIM
در تصویر زیر نمونه ای از رکورد DKIM DNS TXT را مشاهده می کنید:
نمونه ای از رکورد DKIM
در مرحله بعد، ما به بخش های مختلف رکوردهای DKIM نگاه خواهیم کرد.
1. نام را ضبط کنید
برخلاف اکثر رکوردهای متنی، رکوردهای DKIM فقط با نام دامنه ذخیره نمی شوند. اسم تخصصی هم دارند. این نام از فرمت کلی زیر پیروی می کند:
[selector]._domainkey.[domain]
در این نام، Selector پارامتری است که ارائه دهنده سرویس ایمیل آن را تعریف می کند. این انتخابگر در هدر DKIM قرار داده شده است تا سرور بتواند رکورد DKIM را در بین رکوردهای DNS جستجو کرده و سریعتر آن را پیدا کند. “domain” همچنین نام دامنه اصلی ایمیل است و “domainkey” یک عبارت رایج در نام تمام رکوردهای DKIM است.
سرویس میزبانی ایمیل چیست و چه تفاوتی با هاست معمولی دارد؟ چگونه آن را بدست آوریم؟ در مقاله زیر بخوانید.
میزبان ایمیل چیست؟
2. محتوا
می توانید محتوای رکورد را در قسمت “محتوا” مشاهده کنید. بدنه بخشی است که نوع رکورد و کلید عمومی را نشان می دهد. در مثال بالا ابتدا v=DKIM1 داریم که نشان می دهد این رکورد از نوع DKIM است. سپس کلید عمومی را داریم که بعد از p= ظاهر می شود.
3. نوع ضبط و TTL
نوع رکورد در ستون “Type” نمایش داده می شود که TXT یا متن است. حالا TTL چیست؟ TTL مخفف “زمان برای زندگی” است. این پارامتر که یک عدد است، مدت زمان اعتبار این رکورد را نشان می دهد. TTL رکوردهای DKIM معمولاً چند دقیقه است.
مراحل پروتکل DKIM چگونه کار می کند
2. قسمت دوم: هدر DKIM
سرور ایمیل فرستنده امضای دیجیتال خود را با استفاده از سه جزء زیر ایجاد می کند:
- هدر ایمیل
- متن ایمیل
- کلید خصوصی
این امضای دیجیتال به عنوان بخشی از هدر DKIM به ایمیل پیوست شده است. شایان ذکر است که اکثر سرویس های ایمیل به طور پیش فرض هدر ایمیل را نمایش نمی دهند. مگر اینکه کاربر این ویژگی را در تنظیمات خود فعال کرده باشد. برای مثال، کاربران جیمیل باید روی نماد سه نقطه عمودی در گوشه سمت راست بالای فضای کاری کلیک کنند تا هدر ایمیل را ببینند.
برای آموزش ورود به وب میل و تغییر زبان آن مقاله زیر را مطالعه کنید.
آموزش ورود به ایمیل
نمونه ای از هدر DKIM
متن زیر نمونه ای از هدر رکورد DKIM است:
v=1; a=rsa-sha256; d=example.com; s=big-email; h=from:to:subject; bh=uMixy0BsCqhbru4fqPZQdeZY5Pq865sNAnOAxNgUS0s=; b=LiIvJeRyqMo0gngiCygwpiKphJjYezb5kXBKCNj8DqRVcCk7obK6OUg4o+EufEbB tRYQfQhgIkx5m70IqA6dP+DBZUcsJyS9C+vm2xRK7qyHi2hUFpYS5pkeiNVoQk/Wk4w ZG4tu/g+OA49mS7VX+64FXr79MPwOMRRmJ3lNwJU=
در این متن متغیرهای زیر را داریم:
- v نسخه DKIM را نشان می دهد.
- d نام دامنه فرستنده است.
- s انتخابی است که سرور ایمیل دریافت کننده باید از آن برای جستجوی رکورد DNS استفاده کند.
- h فیلدهای هدر را که برای ساخت امضای دیجیتال استفاده می شود فهرست می کند. مثال بالا از هدرهای from، to و subject استفاده می کند. فیلدهای انتخاب شده در این مرحله را نمی توان بعداً تغییر داد.
- bh هش بدنه ایمیل است. هش توسط یک تابع ریاضی به نام تابع هش ایجاد می شود. این هش همراه با ایمیل ارسال می شود تا سرویس ایمیل گیرنده بتواند امضا را قبل از دانلود کل ایمیل محاسبه کند. زیرا دانلود برخی از ایمیل ها زمان زیادی می برد.
- A الگوریتمی است که b (یک امضای دیجیتال) یا bh را محاسبه می کند. در این مثال، RSA-SHA-256 را داریم که نشان دهنده الگوریتم RSA است و از تابع هش SHA-256 برای امضای دیجیتال استفاده می کند.
- b یک امضای دیجیتال است که بر اساس h و bh تولید شده و با یک کلید خصوصی امضا شده است. b به سرور دریافت کننده اجازه می دهد تا دو کار را انجام دهد: 1. احراز هویت سرور ارسال کننده. 2. اطمینان از اینکه یکپارچگی ایمیل دستکاری نشده است.
نکته: با استفاده از محتوای مشابه در h و bh و کلید عمومی DKIM، سرور ایمیل دریافت کننده معتبر بودن امضای دیجیتال را تأیید می کند. در این صورت، اگر از کلید خصوصی صحیح استفاده شود و محتوا (یعنی هدر و بدنه) تغییر نکند، ایمیل از دیوار DKIM عبور می کند.
نتیجه
DKIM Records یک روش قدرتمند احراز هویت ایمیل است، به طوری که بهترین فناوری احراز هویت در Gmail به حساب می آید. از آنجایی که هیچ چیز در دنیای فناوری قطعی نیست، این رکورد نیز به دلایل مختلف شکسته می شود. اما ترکیب DKIM با SPF و DMARC می تواند تا حد زیادی نقاط ضعف این پروتکل را جبران کند و ترکیبی عالی برای احراز هویت ایمیل ایجاد کند.
سوالات متداول
1. پروتکل DKIM چیست؟
DKIM یک روش احراز هویت ایمیل است که می تواند دامنه جعلی فرستنده پیام را شناسایی کند. با فعال کردن این پروتکل، گیرنده پیام مطمئن می شود که این ایمیل توسط یک فرستنده معتبر ارسال شده است.
2. رابطه DKIM و DMARC چیست؟
DMARC یک فناوری احراز هویت ایمیل است که بر اساس DKIM و SPF است و به عنوان یک رکورد TXT ذخیره می شود. DMARC در واقع سرنوشت ایمیل هایی را تعیین می کند که از سد SPF و DKIM عبور نکرده اند. SPF، SKIM و DMARC دست به دست هم می دهند تا از جعل ایمیل جلوگیری کنند.
3. آیا استفاده از رکورد DKIM ضروری است؟
خیر، این ورودی پروتکل امنیتی اختیاری است. اما توصیه می کنیم آن را به عنوان یک لایه امنیتی قوی به DNS خود اضافه کنید.
4. اجزای پروتکل DKIM چیست؟
این پروتکل از دو بخش تشکیل شده است: 1. رکورد DNS که از نوع TXT (متن) است. 2. هدری که به خود ایمیل ضمیمه شده و معتبر بودن ایمیل را تضمین می کند.
5. آیا پروتکل DKIM می تواند خراب شود؟
این پروتکل مانند اکثر روش های امنیتی دیگر، گاهی اوقات از ضعف رنج می برد. مهمترین دلیل شکست آن عدم تطابق بین دامنه هدر امضای DKIM و دامنه در هدر From است.
6. آیا DKIM به تنهایی برای احراز هویت ایمیل کافی است؟
پروتکل DKIM علیرغم مزایای فراوان، نقاط ضعفی نیز دارد. به همین دلیل بهتر است این فناوری را با SPF و DKIM ترکیب کرده و نقاط ضعف آن را پوشش دهیم.
{ “@context”: “https://schema.org”، “@type”: “FAQPage”، “mainEntity”: [{
“@type”: “Question”,
“name”: “پروتکل DKIM چیست؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “DKIM روشی برای احراز هویت ایمیل است که میتواند جعلیبودن دامنه فرستنده پیام را تشخیص دهد. با فعالبودن این پروتکل، گیرنده پیام مطمئن میشود که این ایمیل را فرستندهای معتبر فرستاده است.”
}
},{
“@type”: “Question”,
“name”: “ارتباط DKIM با DMARC چیست؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “DMARC یکی از فناوریهای احراز هویت ایمیل است که روی DKIM و SPF ساخته و بهعنوان رکورد TXT ذخیره میشود. DMARC درواقع سرنوشت ایمیلهایی را تعیین میکند که نتوانستهاند از سد SPF و DKIM بگذرند. SPF و SKIM و DMARC دست در دست یکدیگر میدهند تا از جعل ایمیل جلوگیری کنند.”
}
},{
“@type”: “Question”,
“name”: “آیا استفاده از رکورد DKIM ضروری است؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “خیر، این رکورد پروتکل امنیتی اختیاری است؛ اما پیشنهاد ما این است که آن را بهعنوان لایه امنیتی قوی به DNS خود اضافه کنید.”
}
},{
“@type”: “Question”,
“name”: “پروتکل DKIM از چه اجزایی تشکیل شده است؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “این پروتکل از دو بخش تشکیل شده است: ۱. رکورد DNS که از نوع TXT (متنی) است؛ ۲. هِدِری که به خودِ ایمیل پیوست میشود و تضمین میکند که این ایمیل معتبر است.”
}
},{
“@type”: “Question”,
“name”: “آیا ممکن است پروتکل DKIM با شکست مواجه شود؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “این پروتکل نیز مثل اکثر روشهای امنیتی دیگر گاهی دچار ضعف میشود. مهمترین دلیل شکست آن نیز تطابقنداشتن دامنه هِدِر امضای DKIM با دامنه موجود در هِدِر From است.”
}
},{
“@type”: “Question”,
“name”: “آیا DKIM بهتنهایی برای احراز هویت ایمیل کافی است؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “پروتکل DKIM با وجود مزایای بسیارش، ضعفهایی هم دارد؛ بههمیندلیل، بهتر است این فناوری با SPF و DKIM نیز ترکیب و ضعفهایش پوشش داده شود.”
}
}]
}
منبع:
ابر فلر
پروتکل Dkim Record چیست و چگونه کار می کند؟ اولین بار در پارسپک به نظر می رسد.