کربرس

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

کربرس‌های ایجاد شده بر روی کلید متقارن رمزنگاری و نیازمند یک شخص ثالث مورد اعتماد، و ممکن به صورت اختیاری کلید عمومی رمزنگاری در مراحل خاصی از احراز هویت استفاده شود.[۱] کربرس از پورت UDP 88 به طور پیش فرض استفاده می‌کنند.

تاریخچه و توسعه[ویرایش]

MIT توسعه یافته از Kerberos برای محافظت از خدمات شبکه که توسط پروژه آتنا ارائه شده است. پروتکل برمبنای پروتکل کلید متقارن Needham –Schroeder قبل از آن است. پروتکل بعد از ویژگی‌های Kerberos (یا سربروس) از اساطیر یونان است، که به هیولا سه سر سگ نگهبان از جهنم نامگذاری شد. چندین نسخه از این پروتکل وجود دارد، نسخه‌های ۳-۱ تنها در داخل MIT رخ داده است. استیو میلر و کلیفورد نیومن، طراحان اولیه از نسخه 4 Kerberos، نسخه منتشر شده دراواخر 1980s، هر چند که آن را در درجه اول برای پروژه آتنا هدف قرار داده بودند.

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

  • رمزگذاری و بررسی مشخصات فنیRFC 3961 .
  • استاندارد رمزگذاری پیشرفته(AES)رمزگذاری برایkerberos5
  • نسخه جدیداز مشخصاتkerberos V5"خدمات شبکه احراز هویت(kerberos(V5". این نسخهRFC 1510، شرح دادن جنبه‌هایی از پروتکل و استفاده در یک توضیح مفصل تر و واضح تر در نظر گرفته شده است.
  • نسخه جدیداز مشخصاتGSS - API"مکانیسم رابط برنامه کاربردی خدمات عمومی امنیت نسخهKerberos5:نسخه2."RFC 4121

مایکروسافت ویندوز[ویرایش]

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

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

یونیکس و سیستم عامل‌های شبه یونیکس[ویرایش]

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

پروتکل[ویرایش]

توصیف[ویرایش]

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

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

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

مشتری کاربر مبتنی بر ورود به سیستم[ویرایش]

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

احراز هویت مشتری[ویرایش]

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

مجوز خدمات مشتری[ویرایش]

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

درخواست خدمات مشتری[ویرایش]

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

اشکالات و محدودیت‌ها[ویرایش]

  • تنها نقطه شکست: نیاز به در دسترس بودن مداوم از یک سرور مرکزی است. هنگامی که سرور Kerberos از کار افتاده، هیچ کس نمی‌تواند وارد شود. این را می‌توان با استفاده از چندین سرور از Kerberos و مکانیسم‌های تأیید هویت مجدد، کمتر کرد.
  • Kerberos زمان مورد نیاز سخت دارد، که به معنی ساعت‌هایی که میزبان درگیر باید در محدوده پیکربندی هماهنگ شده باشد. بلیط یک دوره در دسترس بودن زمان دارد و اگر ساعت میزبان با ساعت سرور Kerberos هماهنگ نباشد، تصدیق شکست خواهد خورد. تنظیمات پیش فرض

Per MIT مستلزم آن است که برپایه ساعت بیش از پنج دقیقه از هم جدا نباشند. در عمل شبح پروتکل زمان شبکه معمولاً برای حفظ و هماهنگی ساعت‌های میزبان استفاده می‌شود.

  • پروتکل مدیریت، استاندارد نیست و متفاوت بین پیاده سازی سرور است. تغییر رمز عبور

در RFC 3244شرح داده شده است.

  • در صورت تصویب رمزنگاری کلید خصوصی (Kerberos می‌تواند کار کند با استفاده از رمزنگاری کلید خصوصی یا عمومی)، از آنجا که احراز اصالت توسط یک KDC متمرکز کنترل می‌شود، سازش از این زیرساخت تأیید هویت که به یک حمله به جعل هویت هر کاربر اجازه خواهد داد.
  • هر یک از سرویس‌های شبکه که نیاز به یک نام میزبان متفاوت دارند به مجموعه‌ای از کلیدهای خود از Kerberos نیازخواهند داشت. این پیچیدگی مجازی میزبان و خوشه است.
  • Kerberos نیاز به حساب کاربری، مشتریان کاربر و خدمات بر روی سرور به تمام روابط قابل اعتماد به رمزی از Kerberos سرور است (همه باید در همان دامنه Kerberos و یا در دامنه که یک رابطه بااعتماد بین یکدیگر است باشند). Kerberos نمی‌تواند در حالاتی، که در آن کاربران می‌خواهند برای اتصال به خدمات از مشتریان ناشناخته/غیر قابل اطمینان در اینترنت و یا سناریو کامپیوتر ابری معمولی، که در آن ارائه اعتبار به طور معمول به دانش در مورد سیستم به کاربران مشتری ندارد استفاده شود.
  • اعتماد مورد نیاز مشتری باعث ایجاد محیط‌های جاسوسی شده (به عنوان مثال. دامنه جداگانه برای تست محیط زیست، پاکت پیش تولید، پاکت مولد.)مشکل: در هر صورت دامنه روابط اعتماد نیاز به ایجاد مانع از جدایی سخت از حوزه‌های محیط زیست و یا بعلاوه مشتریان کاربر نیاز به ارائه برای هر یک از محیط‌ها دارند.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

عمومی

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