کربروس (پروتکل)

**کِربِروس**  یک پروتکل احراز هویت در شبکه‌های رایانه‌ای است، و براساس «بلیت»، کارهایی را انجام می‌دهد، تا به گره‌هایی که روی یک شبکه غیرامن ارتباط برقرار می‌کنند، کمک کند تا بتوانند هویت‌شان را برای یکدیگر، به صورت امن، اثبات کنند.  هدف اولیه طراحان این پروتکل برای مدل کارساز-کارخواه بوده‌است، و این پروتکل احرازهویت دوجانبه را فراهم می‌کند (یعنی هم کاربر و هم کارساز هویت دیگری را تصدیق می‌کند). پیام‌های کربروس در مقابل حملات شنود و بازپخش محافظت شده‌اند.

کربروس بر اساس رمزنگاری کلید متقارن ساخته شده‌است، و به «طرف سوم قابل اعتماد» احتیاج دارد، و به صورت اختیاری می‌تواند از رمزنگاری کلید عمومی در فازهای خاصی از احرازهویت استفاده کند. کربروس به صورت پیش‌فرض از پورت یودی‌پی شماره ۸۸ استفاده می‌کند.

## تاریخچه و توسعه
کربروس برای محافظت از خدمات شبکه توسط پروژه‌ی آتنا ارائه شده و در دانشگاه MIT توسعه یافته‌است. این پروتکل برپایه‌ی پروتکل کلید متقارن نیدهام‌شرودر است. نام پروتکل از کربروس،  سگ سه‌سر نگهبان جهنم در اساطیر یونان، گرفته شده‌است. چندین نسخه از این پروتکل وجود دارد، نسخه‌های ۳–۱ تنها در داخل MIT رخ داده‌است. استیو میلر و کلیفورد نیومن، طراحان اولیه از نسخه 4 کربروس، نسخه منتشر شده در اواخر دهه‌ی هشتاد میلادی، هر چند که آن را در درجه اول برای پروژه آتنا هدف قرار داده بودند.

نسخه ۵، طراحی شده توسط جان کول و کلیفورد نیومن، به عنوان RFC 1510 در سال ۱۹۹۳ ظاهر شد (منسوخ شده توسط RFC 4120 در سال ۲۰۰۵ ساخته شده‌است)، با هدف غلبه بر محدودیت‌ها و مشکلات امنیتی از نسخه۴.
MIT یک پیاده‌سازی از کربروسهای آزادانه در دسترس ایجاد می‌کند، تحت مجوز کپی رایت مشابه که مورد استفاده برایBSD است. در سال ۲۰۰۷، MIT تشکیل کنسرسیوم از کربروسها را دادکه برای ترویج و توسعه آن ادامه داده شد. حامیان مالی مؤسس عبارتند از فروشندگان مانند اوراکل، اپل، گوگل، مایکروسافت، شرکت Centrify و شرکت TeamF1، و مؤسسات آموزشی مانند مؤسسه سلطنتی فناوری در سوئد، دانشگاه استنفورد، MIT، و فروشندگان مانند CyberSafe نسخه‌های تجاری پشتیبانی را ارائه می‌دهند.
مقامات در ایالات متحده کربروسها را به عنوان فناوری‌های نظامی کمکی طبقه‌بندی و صادرات آن‌ها ممنوع اعلام شده چرا که آن را با استفاده از الگوریتم استاندارد رمزنگاری داده‌ها (با کلیدهای ۵۶ بیتی) کرده‌اند. غیر از پیاده‌سازی کربروس۴، KTH-KRB که در مؤسسه سلطنتی فناوری در سوئد ساخته شده از سیستم‌های موجود در خارج از ایالات متحده قبل از تغییر مقررات ایالات متحده، صادرات خود را رمزنگاری کرده و (حدود ۲۰۰۰) توسعه یافته‌است. اجرای سوئدی در یک نسخه محدود به نام eBones بود. eBones بر مبنای انتشار استخوان MIT (ساده شده از هر دو توابع رمزنگاری و تماس آنها) بر اساس نسخه از کربروس۴ پچ سطح ۹ صادر شده بود.
در سال ۲۰۰۵، کار گروه نیروی ضربت مهندسی اینترنت به روز رسانی مشخصات کربروس است. به روز رسانی‌های اخیر عبارتند از:
* رمزگذاری و بررسی مشخصات فنی RFC 3961.
* استاندارد رمزگذاری پیشرفته(AES)رمزگذاری برای کربروس ۵
* نسخه جدید از مشخصاتکربروس V5"خدمات شبکه احراز هویت(کربروسV5". این نسخه RFC 1510، شرح دادن جنبه‌هایی از پروتکل و استفاده در یک توضیح مفصل تر و واضح تر در نظر گرفته شده‌است.
* نسخه جدیداز مشخصاتGSS - API"مکانیسم رابط برنامه کاربردی خدمات عمومی امنیت نسخهکربروس5:نسخه2."RFC ۴۱۲۱

## مایکروسافت ویندوز
ویندوز ۲۰۰۰ و بعد از آن کربروس را به‌طور پیش فرض به عنوان روش احراز هویت خود استفاده می‌کردند. بعضی چیزهایی که توسّط مایکروسافت به مجموعه پروتکل‌های کربروس اضافه شدند، در RFC 3244 «کربروس‌های مایکروسافت ویندوز ۲۰۰۰ - پروتکل‌های تغییر رمز عبور و تنظیم رمز عبور» مستند شده‌اند. در RFC 4757 مستنداتی درباره استفاده مایکروسافت از رمزنگاری RC4 آمده است. مایکروسافت در حالی که پروتکل کربروس را استفاده می‌کند و گسترش می‌دهد، آن را در نرم‌افزار MIT استفاده نمی‌کند.

کربروس به عنوان روش احراز هویت ترجیح داده شده استفاده می‌شود: به‌طور کلی، پیوستن یک کارخواه (client) به یک دامنه ویندوز به منزله فعّال‌سازی کربروس به عنوان پروتکل پیش فرض برای احراز هویّت‌ها از سوی آن کارخواه به سرویس‌ها در حوزه ویندوز و تمام حوزه‌ها با روابط اعتماد به آن دامنه است.
از طرف دیگر، زمانی که هرکدام کارخواه یا کارساز یا هر دو به یک دامنه ملحق نشده‌اند (یا متعلّق به محیط دامنه مورد اعتماد یکسانی نیستند)، ویندوز در عوض از  NTLM برای احراز هویت بین کارخواه و کارساز استفاده می‌کند.

## یونیکس و سیستم عامل‌های شبه یونیکس
بسیاری از سیستم عامل‌های یونیکس و شبه یونیکس، شامل فری‌بی‌اس‌دی، اپل مک اواس ده، لینوکس ردهت انترپرایز، سولاریس اوراکل، ای‌آی‌اکس آی بی ام و زد/اواس، شرکت کارساز Univention و دیگران، شامل نرم‌افزار برای احراز هویت کربروس از کاربران یاسرویس دهندگان است. پیاده‌سازی‌های جاسازی شده از پروتکل احراز هویت از کربروس V برای عوامل کارخواه و خدمات شبکه در حال اجرا بر روی سیستم عامل‌های جاسازی شده نیز موجوداست که از شرکت‌های مانند TeamF1، Inc است.

## پروتکل
### توصیف
کارخواه تأیید هویت خود را به کارساز تأیید هویت (AS) که نام کاربری را به یک مرکز توزیع کلید(KDC) می‌فرستد. KDC به مسائل مربوط به درخواست ارائه بلیط (TGT)، که زمان مهر، رمزگذاری آن با استفاده از رمز عبور کاربر و در نتیجه رمزگذاری شده به ایستگاه کاری کاربر را برمی‌گرداند اعتبار می‌بخشد. بخاطر این است که به ندرت انجام می‌شود، به‌طور معمول در لاگین کاربر، اعتبار TGT باقی است تا زمان انقضای آن، هر چند ممکن توسط مدیر جلسه کاربر تکرار شود در حالی که آن‌ها وارد سایت شوند.

هنگامی که کارخواه نیاز به برقراری ارتباط با گره دیگر دارد ("اصلی" در طرز سخن گفتن از کربروس) کارخواهTGT را به درخواست ارائه خدمات (TGS)، که معمولاً سهام میزبان همان KDC است می‌فرستد. پس از بررسی TGT که معتبر است و کاربر مجاز به دسترسی به سرویس درخواست شده‌است، TGS مسائل مربوط به بلیط و کلیدهای جلسه را وارد می‌نماید، که به کارخواه برگشته است. کارخواه پس از آن درخواست به کارساز خدمات(SS) به همراه درخواست خدمات خود راارسال می‌کند.

پروتکلی که در جزئیات زیر توصیف شده‌است.

### کارخواه کاربر مبتنی بر ورود به سیستم
# کاربر نام کاربری و گذرواژه را بر روی ماشین گیرنده وارد می‌کند. سایر مکانیزم‌های اعتبار مانند pkinit برای استفاده از کلیدهای عمومی در محلی از گذرواژه اجازه می‌دهند.
# کارخواه گذرواژه را به کلید رمزنگاری متقارن تبدیل می‌کند. هر دودر ساختاردرونی در زمانبندی کلیدی یا یک مخلوط یک طرفه بسته رمز -مجموعه استفاده می‌شوند.

### احراز هویت کارخواه
# کارخواه یک پیام متن واضح از ID کاربر به درخواست خدمات AS از طرف کاربر می‌فرستد. (یادداشت: نه کلیدهای مخفی و نه گذرواژه به AS ارسال نمی‌شوند)AS کلید مخفی به وسیله هش کردن گذرواژه از کاربر در پایگاه داده تولید می‌کند. (دایرکتوری فعال در ویندوز کارساز)
# AS برای دیدن کارخواه در پایگاه داده چک می‌کند. اگر آن هست،AS دو پیام زیر را پشت هم به کارخواه ارسال می‌کند:
#* پیام A: *کلید جلسه کارخواه /TGS*با استفاده از کلید مخفی کارخواه / کاربر رمزگذاری شده‌است.
#* پیام B: *بلیط ارائه بلیط*(که شامل ID کارخواه، آدرس شبکه کارخواه، مدت اعتبار بلیط، و *کلید نشست گیرنده/TGS*)که با استفاده از کلیدهای مخفی TGS رمزگذاری شده‌است.
# هنگامی که کارخواه پیام‌های A و B را دریافت می‌کند، آن به رمزگشایی پیام A با کلید محرمانه تولید شده از رمز عبور وارد شده توسط کاربر توجه می‌کند. اگر کاربر کلمه عبور را با گذرواژه در پایگاه داده AS مطابقت ندارد، وارد کند، کلید مخفی کارخواه‌ها مختلف است و در نتیجه به رمزگشایی پیام Aقادر نخواهد بود. با یک رمز عبور معتبر و کلید مخفی، کارخواه پیام A را رمزگشایی کرده که*کلید جلسه کارخواه/ TGS*را به دست آورد. این کلید جلسه برای ارتباطات بیشتر با TGS استفاده می‌شود. (توجه: سرویس گیرنده پیام B را نمی‌تواند رمزگشایی کند، آن با استفاده از کلیدهای مخفی TGS رمزگذاری می‌کند) در این مرحله، کارخواه اطلاعات کافی از تأیید هویتش به TGS داده.

### مجوز خدمات کارخواه
# هنگامی که درخواست خدمات را، کارخواه در دو پیام زیر به TGS می‌فرستد:
#* پیام C: متشکل از TGT از پیام B و ID از خدمات درخواست شده‌است.
#* پیام Authenticator :D را (که از ID کارخواه و برچسب زمان تشکیل شده‌است)، با استفاده از *کلید جلسه کارخواه/TGS* رمزگذاری می‌کند.
# پس از دریافت پیام‌های C و D ,TGS بازیابی پیام B از پیام C است. این رمزگشایی پیام B با استفاده از کلیدهای مخفی TGS است. این "کلید جلسه کارخواه/ TGS" با استفاده از این کلید، TGS پیام Dرا رمزگشایی می‌کند و دو پیام زیر را به کارخواه می‌فرستد:
#* پیام E: *بلیط کارخواه به کارساز*(که شامل ID کارخواه، آدرس شبکه سرویس گیرنده، مدت اعتبار و *کلید جلسه کارخواه/کارساز*)با استفاده از کلیدهای مخفی خدمات رمزگذاری شده‌است.
#* پیام F: *کلید جلسه کارخواه/کارساز* با *کلید جلسه کارخواه/TGS* رمزگذاری شده‌است.

### درخواست خدمات کارخواه
# پس از دریافت پیام‌های E و F از TGS، کارخواه اطلاعات کافی برای تأیید هویت خود به SS داده. کارخواه به SS متصل و دو پیام زیر را می‌فرستد:
#* پیام E از مرحله قبل (*بلیط کارخواه به کارساز*، با استفاده از کلیدهای مخفی سرویس رمزگذاری شده‌است)
#* پیام G:یک Authenticator جدید، که شامل ID کارخواه، برچسب زمان و با استفاده از *کلید جلسه کارخواه/کارساز* رمزگذاری شده‌است.
# SS بلیط را با استفاده از کلید مخفی خود رمزگشایی می‌کند.SS با استفاده از کلید جلسه Authenticator را رمزگشایی کرده و پیام زیر را به کارخواه برای تأیید هویت واقعی و تمایل به خدمت به کارخواه می‌فرستد:
#* پیام H: برچسب زمان موجود در تأیید اعتبار کارخواه به علاوه ۱، با استفاده از *کلید جلسه کارخواه/کارساز* رمزگذاری می‌کند.
# کارخواه تأیید را با استفاده از *کلید جلسه کارخواه/کارساز* رمزگذاری می‌کند و چک می‌کند آیا برچسب زمان به درستی به روز شده‌است. اگر چنین است، پس از آن کارخواه می‌تواند به کارساز اعتماد کرده و می‌تواند به صدور درخواست خدمات به کارساز شروع کند.
# کارساز درخواست خدمات به کارخواه را فراهم می‌کند.

## اشکال‌ها و محدودیت‌ها
* نقطه شکست واحد: نیاز به در دسترس بودن مداوم از یک کارساز مرکزی است. هنگامی که کارساز کربروس از کار افتاده، هیچ‌کس نمی‌تواند وارد شود. این را می‌توان با استفاده از چندین کارساز از کربروس و مکانیسم‌های تأیید هویت مجدد، کمتر کرد.
* کربروس زمان مورد نیاز سخت دارد، که به معنی ساعت‌هایی که میزبان درگیر باید در محدوده پیکربندی هماهنگ شده باشد. بلیط یک دوره در دسترس بودن زمان دارد و اگر ساعت میزبان با ساعت کارساز کربروس هماهنگ نباشد، تصدیق شکست خواهد خورد. تنظیمات پیش فرض
Per MIT مستلزم آن است که برپایه ساعت بیش از پنج دقیقه از هم جدا نباشند. در عمل شبح پروتکل زمان شبکه معمولاً برای حفظ و هماهنگی ساعت‌های میزبان استفاده می‌شود.
* پروتکل مدیریت، استاندارد نیست و متفاوت بین پیاده‌سازی کارساز است. تغییر رمز عبور
در RFC 3244 شرح داده شده‌است.
* در صورت تصویب رمزنگاری کلید خصوصی (کربروس می‌تواند کار کند با استفاده از رمزنگاری کلید خصوصی یا عمومی)، از آنجا که احراز اصالت توسط یک KDC متمرکز کنترل می‌شود، سازش از این زیرساخت تأیید هویت که به یک حمله به جعل هویت هر کاربر اجازه خواهد داد.
* هر یک از سرویس‌های شبکه که نیاز به یک نام میزبان متفاوت دارند به مجموعه‌ای از کلیدهای خود از کربروس نیاز خواهند داشت. این پیچیدگی مجازی میزبان و خوشه است.
* کربروس نیاز به حساب کاربری، کارخواهان کاربر و خدمات بر روی کارساز به تمام روابط قابل اعتماد به رمزی از کربروس کارساز است (همه باید در همان دامنه کربروس یا در دامنه که یک رابطه بااعتماد بین یکدیگر است باشند). کربروس نمی‌تواند در حالاتی، که در آن کاربران می‌خواهند برای اتصال به خدمات از کارخواهان ناشناخته/غیرقابل اطمینان در اینترنت یا سناریو کامپیوتر ابری معمولی، که در آن ارائه اعتبار به‌طور معمول به دانش در مورد سیستم به کاربران کارخواه ندارد استفاده شود.
* اعتماد مورد نیاز کارخواه باعث ایجاد محیط‌های جاسوسی شده (به عنوان مثال. دامنه جداگانه برای تست محیط زیست، پاکت پیش تولید، پاکت مولد) مشکل: در هر صورت دامنه روابط اعتماد نیاز به ایجاد مانع از جدایی سخت از حوزه‌های محیط زیست یا بعلاوه کارخواهان کاربر نیاز به ارائه برای هر یک از محیط‌ها دارند.

## جستارهای وابسته
* مدیریت هویت

## پانویس

## منابع

**عمومی**
# منابع تیم کیت."مایکروسافت کربروس(ویندوز)". کتابخانه MSDN
# B کلیفورد نیومن و تئودور Ts'o (سپتامبر 1994)"کربروس: احراز هویت سرویس برای شبکه‌های کامپیوتری". ارتباطات 8-33:(9)32.DOI: ۱۰٫۱۱۰۹/۳۵٫۳۱۲۸۴۱
# جان T.Kohl, B. کلیفورد نیومن، و تئودورY. T'so "تکامل از سیستم احراز هویت کربروس "(پست اسکریپت) در جوهانسن، D. ، منقل، FMT توزیع سیستم‌های باز. واشینگتن: IEEEانجمن کامپیوتر را فشار دهید. ص 94-78 .ISBN 0-8186-4292-0
# "خلاصه کربروس :احراز هویت سرویس برای سیستم‌های شبکه باز " تاریخ سیستم‌های سیسکو = ۱۹ ژانویه ۲۰۰۶. برگرفته ۱۵آگوست۲۰۱۲.
# "چگونگی کار احراز هویت کربروس‌ها" Learn.networking.com. بیست وهشت ژانویه۲۰۰۸ برگرفت ۱۵ اوت ۲۰۱۲

رده:الگوریتم کلید متقارن
رده:امنیت شبکه‌های رایانه‌ای
رده:پروتکل‌های توافق کلید
رده:پروتکل‌های کنترل دسترسی رایانه