NTLM (New Technology LAN Manager) یک مجموعه پروتکل امنیتی است که توسط مایکروسافت برای احراز هویت کاربران و حفاظت از یکپارچگی و محرمانگی فعالیتهای آنها ارائه شده است. این پروتکلها در شبکههای ویندوز استفاده میشوند و به عنوان جانشین پروتکل احراز هویت در Microsoft LAN Manager (LANMAN) معرفی شدهاند.
نحوه کار NTLM
NTLM از یک مکانیزم چالش-پاسخ برای احراز هویت کاربران استفاده میکند. این فرآیند شامل سه پیام است:
- پیام مذاکره (NEGOTIATE MESSAGE): این پیام شامل اطلاعاتی درباره قابلیتهای کلاینت و سرور است، مانند نوع رمزگذاری و امنیت.
- پیام چالش (CHALLENGE MESSAGE): این پیام شامل یک عدد تصادفی 16 بایتی است که توسط سرور به کلاینت ارسال میشود.
- پیام احراز هویت (AUTHENTICATE MESSAGE) : این پیام شامل پاسخ کلاینت به چالش است که با استفاده از هش رمز عبور کاربر تولید میشود.
تفاوت NTLM و Kerberos
NTLM و Kerberos هر دو پروتکلهای احراز هویت هستند، اما تفاوتهای مهمی دارند:
- NTLM: از یک مکانیزم چالش - پاسخ سهمرحلهای استفاده میکند و بر هش کردن رمز عبور تکیه دارد.
- Kerberos: از یک فرآیند دومرحلهای استفاده میکند که شامل یک سرویس صدور بلیط یا مرکز توزیع کلید است و از رمزگذاری برای احراز هویت استفاده میکند.
کاربردهای فعلی NTLM
NTLM هنوز در سیستمهای ویندوز پشتیبانی میشود و برای احراز هویت محلی در سیستمهایی که به دامنه متصل نیستند استفاده میشود. همچنین، NTLM به عنوان یک پشتیبان برای Kerberos عمل میکند و در صورت شکست Kerberos، سیستم تلاش میکند از NTLM استفاده کند.
نسخههای مختلف NTLM
NTLM دارای سه نسخه اصلی است:
- NTLMv1: نسخه اولیه NTLM که از الگوریتمهای هش قدیمیتر استفاده میکند و امنیت کمتری دارد.
- NTLMv2: نسخه بهبود یافته NTLM که از الگوریتمهای هش قویتر و مکانیزمهای امنیتی بهتر استفاده میکند.
- NTLM2 Session: نسخهای از NTLMv2 که از یک مکانیزم امنیتی اضافی برای حفاظت از نشستها استفاده میکند.
نقاط ضعف NTLM
با وجود اینکه NTLM هنوز در برخی سیستمها استفاده میشود، دارای نقاط ضعفی است:
- حملات بازپخش (Replay Attacks): مهاجمان میتوانند پیامهای احراز هویت را ضبط کرده و مجدداً ارسال کنند.
- حملات دیکشنری (Dictionary Attacks): مهاجمان میتوانند با استفاده از جداول دیکشنری، هشهای رمز عبور را بشکنند.
- عدم پشتیبانی از احراز هویت متقابل (Mutual Authentication): NTLM فقط احراز هویت یکطرفه را پشتیبانی میکند و سرور نمیتواند کلاینت را احراز هویت کند.
جایگزینهای NTLM
به دلیل نقاط ضعف NTLM، بسیاری از سازمانها به استفاده از پروتکلهای احراز هویت قویتر مانند Kerberos روی آوردهاند. Kerberos از رمزگذاری قویتر و مکانیزمهای احراز هویت متقابل استفاده میکند که امنیت بیشتری را فراهم میکند.