احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

Digest Authentication چیست؟ پروتکل SChannel و Negotiate

امروز میخواهیم سه پروتکل Negotiate، Digest Authentication و Schannel در احراز هویت های مایکروسافتی را معرفی کنیم. اما قبل از آن باید به معرفی دو مفهوم در این بازه بپردازیم. با ما همراه باشید:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

(Microsoft Security Support Provider Interface (SSPI چیست ؟

در واقع میتوان بصورت خیلی خلاصه، SSPI را پایه و اساس فرآیند احراز هویت در سیستم عامل ویندوز دانست. وظیفه SSPI ارائه سرویس های احراز هویت به اپلیکیشن ها است و به نوعی زیرساخت سرویس های احراز هویت در سیستم های ویندوزی و شبکه است. مکانیزم SSPI این اجازه را میدهد تا توکن های احراز هویت بین دو بخش شبکه که در کانال ارتباطی موجود هستند، منتقل شوند. با کمک SSPI یک اپلیکیشن میتواند بدون نیاز به تغییر اینترفیس امنیتی سیستم خود، از مدل های مختلف احراز هویت که بر روی سیستم و یا شبکه موجود هستند، استفاده کند.

(Security Support Providers (SSPs چیست ؟

SSPها فرآیند اجرایی و پیاده سازی پروتکل های احراز هویتی هستند که بر روی فرمی از نوع DLL ها نصب شده اند. SSPها بصورت پیش فرض شامل پروتکل های احراز هویت Negotiate (SPNEGO)، Kerberos، NTLM، Schannel و Digest Authentication میباشند که بر روی SSPI سوار شده اند. این پروتکل های با شیوه های مختلف، امنیت احراز هویت را تامین میکنند.

نقشه کار به این صورت است که هنگامی که یه طرف ارتباط، طرف دیگرارتباط را احراز هویت میکند، درخواست های احراز هویت بسمت SSPI مسیردهی و هدایت میشوند و از آنجا SSPI این درخواست ها را بسوی یکی از SSP هایش میفرستند تا فرآیند احراز هویت را تکمیل نماید.شکل زیر ساختاری از معماری SSPI و مولفه هایش در یک سیستم عامل مایکروسافتی را نشان میدهد.



معرفی پروتکل های Negotiate، Digest Authentication و Schannel در احراز هویت های مایکروسافتی



حال که با این دو مفهوم کمتر شنیده شده ولی بشدت پایه ای را در رابطه با فرایند احراز هویت آشنا شدیم، به معرفی سه پروتکل باقی مانده از خانواده احراز هویت مایکروسافت میپردازیم:

Negotiate چیست؟

این مکانیزم به عنوان یک لایه اپلیکیشن مابین SSPI و دیگر SSP ها عمل میکند. این SSP برای مذاکره با پروتکل احراز هویت خاصی مورد استفاده قرار میگیرد. بصورت پیش فرض این خود اپلیکیشن است که SSP خاصی مانند Kerberos و یا NTLM را برای پردازش درخواست Logon انتخاب میکند اما اگر اپلیکیشن Negotiate SSP را انتخاب کند، Negotiate درخواست اپلیکیشن را تحلیل کرده و آن را بسمت بهترین SSP از لحاظ پیکربندی امنیتی سیستم هدایت میکند.

در حال حاضر Negotiate SSP انتخاب هایش را از میان دو پروتکل Kerberos و NTLM انجام میدهد. بصورت پیش فرض پروتکل Kerberos انتخاب اول Negotiate SSP خواهد بود مگر آنکه این پروتکل در یکی از دو طرف ارتباط نتواند مورد استفاده واقع شود و یا آن که محدودیت هایی مانند وجود User principal name (UPN)، Service Principal Name (SPN و یا NetBIOS account name در درخواست مانع از تکمیل فرآیند احراز هویت با Kerberos شود.

Digest Authentication چیست؟

Digest یک استاندارد صنعتی بر اساس پروتکل احراز است که در (Lightweight Directory Access Protocol (LDAP و احراز هویت وب مورد استفاده قرار میگیرد. پروتکل Digest از نوع پروتکل های "challenge-response" است که اعتبار اکانت را از طریق شبکه و با استفاده از کلیدهای مخفی (Secret Keys) مانند یک هش MD5 یا message digest (الگوریتمی در MD5)، جابجا میکند.

Schannel چیست ؟

Schannel که مخفف شده Secure channel است، پیاده سازی های SSP در زمینه پروتکل های احراز هویت و استاندارد اینترنت SSL/TLS میباشد. Schannel در احراز هویت وب سرور مانند دسترسی کاربر به یک وب سرور امن مورد استفاده قرار میگیرد. از پروتکل های SSL/TLS در احراز هویت مشترک دو بخش کلاینت و سرور و همچنین در رمرنگاری پیام های بین آن ها استفاده میشود. پروتکل های SSL/TLS با ورژن های 2.0 و 3.0 بر اساس رمزنگاری کلید عمومی (Public Key) کار میکنند.مانا و ITPro ای باشید.


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

نظرات