DKIM چیست و چگونه کار می کند؟ شما برای احراز هویت خود در پروسه سیستم باید از DKIM استفاده کنید. بعد از اینکه به این موضوع پی ببرید که DKIM چیست میتوانید برای امنیت بیشتر از آن استفاده کنید. شما میتوانید در این مقاله بیشتر با DKIM آشنا شوید و طریقه کار با آن را بهصورت کامل متوجه شوید تا در صورت نیاز از آن استفاده کنید. این موضوع بسیار با اهمیت است و در راستای امنیت وردپرس میباشد. اگر که نمیدانید امنیت وردپرس چیست حتما مقاله مورد نظر را مطالعه کنید.
DKIM چیست؟

DKIM چیست؟ DKIM مخفف کلمه (Domain Key Identified Mail) است. سیستم DKIM برای تصدیق هویت ایمیل است که برای تشخیص حقههای ایمیل طراحی شده است. این سیستم یک روشی را فراهم میکند تا میل سرورهای گیرنده ایمیل را بررسی کنند که ایمیل دریافتی از طرف Domain مدیریت مربوطه مورد بررسی و تأیید قرار گرفته است یا خیر. سرور DKIM یک امضای دیجیتال است که دریافتکننده میتواند از طریق Public Key امضا کند و در DNS zone دامنه امضاکننده مورد بررسی قرار بگیرد. بعد از اینکه با DKIM آشنا شدید و فهمیدید که DKIM چیست در ادامه به این موضوع پی میبریم منظور از کلید عمومی رمزنگاری شده چیست؟
منظور از کلید عمومی رمزنگاری شده چیست؟
Public Key Cryptography یا همان کلید عمومی رمزنگاری شده است که بهعنوان رمزنگاری نامتقارن هم شناخته میشود و یک الگوریتم رمزنگاری است که توسط دو کلید جداگانه کار میکند. یکی از کلیدها بهصورت رمز و دیگری بهصورت عمومی است و بهصورت کلی Public Key همیشه برای ایمنسازی ارتباطات الکترونیکی در شبکههای عمومی مانند اینترنت استفاده میشود. PublicKey بهعنوان یک محتوای رکورد دامنه تعریف میشود و Private key در Mail Server بسته به نوع Mail Server و نحوه کار آن تعریف میگردد.
بهعنوانمثال در Mail Serverهای Smarter mail که بهصورت رسمی در هاست ایمیل مورداستفاده قرار میگیرند Private Key توسط Smarter mail برای هر دامنه تعریف میشود. DKIM به دلیل ادغام Domain Key و Internet Identified Mail است. بهترین سرویسدهندههای ایمیل در دنیا شامل Yahoo ،Gmail ،AOL و… DKIM را قابلاستفاده کردهاند و هر ایمیلی که از این سازمانها ارسال میشود بایستی یک امضای DKIM را حمل کند.
اهمیت DKIM چیست؟

اهمیت DKIM چیست؟ سرورهای ایمیلی که امضای DKIM را بررسی میکنند میتوانند از اطلاعات مربوط به امضای DKIMبهعنوان قسمتی از فرایند محدودسازی اسپمها و حملات فیشینگ استفاده کنند. همچنین DKIM از دریافتکنندگان ایمیل نمیخواهد هیچ کار خاصی انجام دهند. در مجموع میتوان نتیجه رفت که بسته به نوع پیادهسازی، DKIM میتواند این تضمین را کند که یک پیام در طول انتقال دستکاری نشده یا تغییر نکند و به شما اطمینان خاصی میدهد.
DKIM چگونه کار میکند؟
الان که فهمیدید که اهمیت DKIM چیست باید بدانید چگونه کار میکند. امضای DKIM(DKIM Signature) شامل یک لیست با قالب “Tag=Value” است. Tagها بهصورت معمول یک یا دو حرف هستند. پراستفادهترین Tagها عبارتاند از:
- B : امضای دیجیتال واقعی محتوا
- BH : بدنه کد رمز شده
- D : دامنه موردنظر
- S : Selector (انتخابکننده)
مکانیزم پیشفرض رمزنگاری DKIM روش SHA-256 است. برای رمزنگاری Public Key از الگوریتم RSA استفاده میشود و جهت رمزگشایی کد رمز شده از الگوریتم Base64 استفاده میشود.
یک نمونه از امضای DKIM به شرح زیر است:
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:date:keywords:keywords;
Bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
B=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZ
VoG4ZHRNiYzR
باتوجهبه این که در هر Mail server تنظیمات مربوط به تعریف DKIM متفاوت است میبایست انجام تنظیمات باتوجهبه استراتژی Mail server مربوطه انجام گردد، اما وبسایتهایی وجود دارند که با ذکر نام دامنه و نام Selector میتوانند Public Key و Private Key را تولید نمایند و برای استفاده در Mail server مورداستفاده قرار میگیرند.
جهت اطمینان از درستی عملکرد DKIM تنظیم شده میتوانید در این وبسایت اطلاعات مربوط به دامنه و Selector را وارد نمایید و نتیجه را مشاهده نمایید. درصورتیکه در بخش DKIM Check اطلاعات مربوط به رکورد txt ایجاد شده را نمایش داد به این معنی است که DKIM بهدرستی بر روی دامنه شما تنظیم شده است.
امضای دیجیتال DKIM
وظیفه Canonicalization این است که حذف فاصلهها و فضای خالی را انجام بدهد و این کار با اطلاعرسانی هدرهای قرار گرفته در تگ h انجام میشود. بعد از انجام این عمل مقدار هش هدر و محتوای پیام ساخته میشود و سپس کلید عمومی جفت کلید از طریق درخواست از DNS از دامنه دریافت میشود. در این مرحله گیرنده با استفاده از کلید عمومی با استفاده از امضای دیجیتال گام سوم بخش قبلی را رمزگشایی میکند و با این عمل هش فرستاده شده توسط فرستنده از هدر و متن پیام محاسبه گردیده بود و میرسد.
اگر این هش با هشی که گیرند محتوا محاسبه کرده است یکی باشد در واقع یعنی محتوای ایمیل و هدر آن در انتقال تغییر و دستکاری نشده است و یکپارچگی دادهها حفظ شده است. جواب دادن کلید عمومی روی محتوا رمزگذاری شده یعنی همان جفت کلید نشان میدهد که کلید خصوصی که برای رمزگذاری استفاده شده است در اختیار همان دامنه است که میگوید ایمیل را ارسال کرده است و در نهایت با کارکردن این جفت کلید هویت اصلی فرستنده برای گیرنده تأیید میشود.
نحوه ساخت امضای DKIM

ابتدا باید Canonicalization انجام شود. به این معنی که تمام فاصلهها و فضاهای خالی بین کلمات متن ایمیل، به همراه بخشی از Header که در رکورد DKIM مشخص میشوند، حذف شوند که باعث بهوجودآمدن یکرشته متن بههمچسبیده به دست میآید. با این کار چه در سمت فرستنده ایمیل و چه در سمت گیرنده ایمیل رشته متن یکسانی ساخته میشود. بعدازاین مرحله مقدار هش این رشته واحد محاسبه میشود.
سپس مالک دامنه باید با استفاده از کلید خصوصی که در اختیار دارد، خروجی هش گام دوم را رمزگذاری کند. در این شرایط در هنگام ارسال ایمیل در بخش DKIM در Header ایمیل ارسالی از سوی فرستنده، هم هش بهدستآمده در گام دوم و هم خروجی رمزگذاری این گام قرار میگیرند. در اینجا موارد موردنیاز برای رمزگشایی و احراز هویت توسط فرستنده در محتوای Header بر روی هر ایمیل قرار میگیرد. در آخر مالک دامنه، کلید عمومی جفت کلید را برای دسترسیهای گیرندگان بعدی، در رکورد TXT و با خصوصیات DKIM قرار میدهد.
نکته مهم دیگر این است که در DKIM
نکات مهم DKIM چیست؟ کل پیام و محتوای ارسال شده در ایمیل رمزگذاری نمیشود بلکه با استفاده از کلید خصوصی فقط از مجموع هش شده دادههایی که در هدر و متن پیام رمزگذاری میشود بنابراین درست نیست که فکر کنیم DKIM کل محتوای پیام و ایمیل رمزگذاری شده است و از دید دیگران مخفی است چون برای تین سیستم یک هدف مشخص در نظر گرفته شده است که آن هم مشخصکردن یکپارچگی محتوا و هویت اصلی فرستنده است و محرمانگی پیام اهمیت خاصی ندارد.
برای رمزنگاری و محرمانه شدن محتوای ایمیل در حال انتقال از سیستمها و پروتکلهای دیگری مانند STARTTLS استفاده میشود. بهصورت کلی DKIM مزیتهایی هم دارد که اگر بخواهیم به آنها اشاره کنیم میتوانیم به محاسبه هش یک متن کوتاه نسبت به یک متن کوتاه دیگر و در مقایسه با یک متن بلند رمزدار برای پردازش بهوقت کمتری نیاز دارد و به همین دلیل از حملات DOS جلوگیری میکند.
اگر سروری که ایمیل را دریافت میکند برای تشخیص هویت فقط متن رمزگذاری شده را رمزگشایی کند میتواند باعث اتلاف وقت شود و در نتیجه حملهکننده درخواستهای زیادی را برای سرور ارسال میکند و باعث میشود که سرور درگیر شود.
جمعبندی
شما اکنون با اهمیت بالای DKIM آشنا شدید و میتوانید خودتان یک امضای DKIM بسازید و با خیال راحت به استفاده از آن بپردازید. بعد از این که فهمیدید DKIM چیست به اهمیت بالا و امنیت بالای DKIM مشخص است و اگر تا به امروز نمیتوانستید این کار را انجام دهید اکنون و با این آموزش میتوانید خودتان DKIM بسازید. ما در این مقاله کامل به این موضوع پرداختیم که DKIM چیست و چگونه کار میکند.
حتی به این موضوع هم پرداختیم که اهمیت DKIM چیست و کامل آن را توضیح دادیم. امیدواریم توانسته باشیم به شما عزیزان کمک کنیم و اگر این مقاله برای شما مفید بود آن را با دیگران به اشتراک بگذارید تا دیگران هم بتوانند از آن استفاده کنند.
پیروز و سربلند باشید😉