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

پروتکل Kerberos چگونه کار می کند؟ آشنایی با مکانیزم کاری کربروس

در این نکته قصد داریم تا مکانیزم عملکرد پروتکل Kerberos را برای شما دوستان تشریح کنیم. فرآیند احراز هویت و تائید اعتبار و نهایتا لاگین کردن ما به ویندوز خیلی بسرعت اتفاق میافتد و همین پارامتر سرعت ممکن است باعث شود که به اشتباه فکر کنیم که در پشت صحنه این احراز هویت، مکانیزم خاصی وجود ندارد.احراز هویت Kerberos طوری طراحی شده است که با فرمت خاصی از پاکت های داده به نام تیکت (ticket) کار کند.

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

این تیکت ها در شبکه بجای پسورد منتقل میشوند؛ بنابراین اختلال در فرآیند احراز هویت و ترافیک شبکه برای هکرها بیش از پیش سخت تر میشود. سرویس های دومین در اکتیو دایرکتوری در سطح دومین و یا فارست به پیاده سازی پیش فرض Kerberos نیاز دارد. Kerberos Key Distribution Center (KDC ملزم به یکپارچه شدن با دیگر سرویس های امنیتی ویندوز سرور که بر روی DC در حال اجرا هستند، میباشد.جریان درخواست تیکت Kerberos به سه بخش اصلی تفکیک میشود که عبارتند از:

  • سرویس احراز هویت
  • سرویس تخصیص تیکت
  • کلاینت – سرور
وب سایت توسینسو
  1. (Kerberos authentication service request (KRB-AS-REQ: هنگامی که سعی دارید تا به ویندوز لاگین کنید، کلاینت با سرویس احراز هویت KDC برای صدور یک تیکت با عمر کم تماس برقرار میکند، این تماس در قالب یک پیام که حاوی هویت کلاینت مانند SID هایش است، میباشد. این پیام به (Ticket Granting Ticket (TGT معروف است.
  2. (Kerberos authentication service response (KRB-AS-REP: سرویس احراز هویت (AS) یک TGT با عمر محدود را ساخته و یک session key را ایجاد میکند که کلاینت از آن برای رمزنگاری ارتباطش با سرویس تخصیص تیکت ((Ticket Granting Service (TGS) استفاده میکند. توجه داشته باشید که در این مرحله کلاینت هنوزهیچ دسترسی ای به منابع لوکال و یا دومین ندارد.
  3. (Kerberos Ticket Granting Service Request (KRB-TGS-REQ: هنگامی که کلاینت میخواهد به منابع دسترسی داشته باشد، درخواستی را به TGS برای صدور تیکت به جهت دسترسی به آن منابع (لوکال یا سرور و سرویس تحت شبکه) ارسال میکند. این تیکت به Service Ticket (ST) یا Session Ticket معروف است. کلاینت برای دریافت Service Ticket بایستی TGT تائید شده، تائید کنند اعتبار و نام منبعی را که میخواهد دسترسی داشته باشد با استفاده از فرمت (Server Principal Name (SPN به TGS تحویل دهد.
  4. (Kerberos Ticket Granting Service Response (KRB-TGS-REP: در این مرحله TGS شروع به بررسی اعتبار مدارکی خواهد بود که کلاینت برای دریافت service ticket به آن ارائه کرده است و در نهایت اگر TGT مورد قبول واقع شود، یک service ticket را صادر خواهد کرد. مشخصات کلاینت از TGT بر روی service ticket کپی خواهد شد و سپس service ticket به کلاینت ارسال میشود.
  5. (Kerberos Application Server Request (KRB-AP-REQ: بعد از این که کلاینت service ticket را دریافت کرد، آن را به همراه تائید کننده جدیدش برای سرور مقصد (منبع) ارسال میکند و تقاضای دسترسی میکند. سرور service ticket را رمزگشایی و هویت تائید کننده اعتبار را بررسی میکند و در نهایت برای سرویس های ویندوز یک access token صادر خواهد کرد. این access token بر مبنای یوزری خواهد بود که تقاضای دسترسی را کرده است و بر اساس SID ها عمل میکند.
  6. (Kerberos Ticket Granting Service Response (KRB-TGS-REP: انجام این مرحله اختیاری است. کلاینت ممکن است از سرور درخواست کند که هویتش را برای احراز هویت های مشترک تائید کند. اگر چنین درخواستی از سوی کلاینت ارسال شود، سرور مقصد یک برچسب زمانی را از سوی تائید کنند اعتبار بهمراه session key رمزنگاری کرده و بسوی کلاینت بازپس میفرستد.

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

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

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

نظرات