DNSSEC حقیقتی فراموش شده (قسمت دوم: عملکرد)

در مقاله ی قبل در رابطه با عملکرد DNS، تهدیدات و مشکلاتی که بر سر راه آن وجود داشت، به طور مفصل بحث گردید. در انتها آن چه راه نجات DNS برای در امان ماندن از تهدیدات امنیتی معرفی شد، پروتکلی با نام DNSSEC بود.

قبل از پرداختن به مفاهیم و اصطلاحات DNSSEC، شاید بد نباشد که ابتدا مروری بر مفاهیم Cryptography (رمزنگاری) داشته باشیم.

رمزنگاری (Cryptography):

Cryptography روشی برای رمزگذاری یا تولید hash برای محتویات است. با استفاده از رمزنگاری می توان امنیت و/یا قابل تایید و تصدیق بودن را برای اطلاعاتی که میخواهیم، فراهم آوریم. گاهی اوقات هدف از رمزنگاری تنها مخفی کردن محتویات پیام ها نیست. به عنوان مثال در DNSSEC هدف از رمزنگاری، تایید و تصدیق اطلاعات می باشد.

روش های مختلفی برای رمزنگاری وجود دارد که متداولترین این روش ها، رمزنگاری کلید عمومی یا Public Key Cryptography می باشد. با استفاده از این روش هم امنیت و هم تصدیق اعتبار را می توان از طریق encryption، signature و یا هردو، فراهم آورد.

برای encryption معمولا از یک جفت کلید که یکی اصطلاحا private و دیگری public خطاب می شود، استفاده می گردد. اطلاعاتی که توسط یک کلید encrypt شوند، تنها توسط جفت کلید دیگر قابل decrypt شدن هستند. به عبارت بهتر اگر اطلاعاتی توسط private key رمزگذاری شده باشند، تنها توسط public key قابل دست یابی خواهند بود و بالعکس.

منظور از signature تولید یک امضای دیجیتال با استفاده از مقدار hash به دست آمده از تابع hash ای است که اطلاعات به آن داده شده، به علاوه ی Private key (یا public key) می باشد. نحوه ی اعتبارسنجی یک امضای دیجیتال به این طریق است که: بعد از دریافت یک پیام (یا هرنوع داده ای) به همراه امضای دیجیتال، ابتدا امضا decrypt می گردد (از طریق public key). پس از decrypt امضا، آنچه به دست می آید یک مقدار hash است. گیرنده، پیام دریافت کرده را به یک تابع hash میدهد تا یک مقدار hash به دست آید. اگر مقدار hash به دست آمده توسط تابع hash در سمت گیرنده با مقدار hash دریافت شده (مقدار hash ای که پس از decrypt امضا به دست آمده)، یکسان باشد به این معنی است که داده ها درست بوده و تایید اعتبار می شوند.

DNSSEC: اصطلاحات و مفاهیم پایه

DNSSEC با افزودن یک امضای دیجیتال به رکوردهای DNS موجود، یک دامنه ی نام امن ایجاد می کند. این امضاهای دیجیتال یا اصطلاحا digital signature ها همانند سایر رکورد type های رایج چون: A یا AAAA یا CNAME، در سرورهای DNS ذخیره می شوند. با بررسی امضای اختصاص یافته به یک رکورد می توان مطمئن شد که رکورد DNS دریافت شده، از جانب یک DNS سرور مجاز است و یا رکوردی جعلی است که از طریق حمله ی man-in-the-middle تزریق شده است. ادامه خواندن “DNSSEC حقیقتی فراموش شده (قسمت دوم: عملکرد)”