مفهوم کربرس (Kerberos)

مفهوم کربرس (Kerberos)

 

کربرس، پروتکلی برای بررسی هویت درخواست‌های سرویس بین میزبان‌های امن و قابل اطمینان در یک شبکه ناامن مثل اینترنت است. کربرس در تمام سیستم‌عامل‌های بزرگ از جمله مایکروسافت ویندوز، OS X اپل، FreeBSD و لینوکس تعبیه شده است.

از ویندوز 2000 به بعد، مایکروسافت پروتکل کربرس را به عنوان روش احراز هویت پیش‌فرض در ویندوز پیاده‌سازی کرد و این پروتکل بخش مهمی از سرویس Active Directory ویندوز شد. ارائه دهندگان سرویس پهنای باند هم در شبکه‌های‌شان از پروتکل کربرس برای تائید هویت مودم‌های کابلی DOCSIS و گیرنده‌های دیجیتال تلویزیون (set-top box) استفاده می‌کنند.

کربرس در اصل برای پروژه آتنا (Project Athena) در موسسه فناوری ماساچوست (MIT) تولید شد. نام کربرس از اساطیر یونانی گرفته شده و کربرس (یا Cerberus) در این افسانه‌ها یک سگ سه سر است که نگهبان دروازه‌های جهنم است. سه سر این سگ درواقع نماد یک کلاینت، یک سرور و یک مرکز توزیع کلید (به اختصار KDC) است که KDC به عنوان سرویس تائید هویت واسط مورد اطمینانِ کربرس عمل می‌کند.

کربرس

کاربران، سیستم‌ها و سرویس‌هایی که از کربرس استفاده می‌کنند تنها باید به KDC اعتماد کنند. KDC یک پردازش واحد را اجرا و دو سرویس را ارائه می‌دهد که عبارتند از سرویس احراز هویت و سرویس اعطای مجوز. مجوزهای KDC امکان تائید هویت متقابل و اثبات هویت نودها به یکدیگر را به روشی ایمن فراهم می‌کنند. در سیستم احراز هویت کربرس از رمزنگاری مخفی مشترک برای پیشگیری از خوانده شدن یا تغییر بسته‌هایی که در شبکه جابجا می‌شوند، استفاده می‌شود تا از استراق سمع و حملات بازپخش (یا replay attack) پیشگیری شود.

بررسی اجمالی پروتکل کربرس

در ادامه توضیح ساده‌ای از نحوه عملکرد پروتکل کربرس ذکر می‌شود اما فرایند واقعی پیچیده‌تر و در پیاده‌سازی‌های مختلف متفاوت است. برای توضیح عملکرد این پروتکل فرض می‌کنیم کلاینت شروع کننده در سناریوی زیر یک لپ‌تاپ شرکتی با سیستم‌عامل ویندوز است و یک کاربر سعی دارد وارد شبکه شرکت شود.

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

سرور احراز هویت، کلید خصوصی کلاینت شروع کننده فرایند را با این فرض که نام کاربری کلاینت در دیتابیس KDC قرار دارد دریافت می‌کند. در صورتی که نام کاربری کلاینت در دیتابیس KDC پیدا نشد، امکان تائید هویت کلاینت وجود ندارد و در نتیجه فرایند احراز هویت متوقف می‌شود. اما در صورتی که نام کاربری کلاینت در دیتابیس KDC پیدا شد، سرور احراز هویت یک کلید برای سشن (session key) و یک مجوز دسترسی (یا اصطلاحاً بلیط) تولید می‌کند. این بلیط برچسب زمانی می‌خورد و توسط سرور احراز هویت با پسورد کلاینت رمزنگاری می‌شود.

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

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

بلیط صادر شده از سوی سرویس تائید بلیط که برچسب زمانی خورده بود این امکان را برای سیستم درخواست کننده فراهم می‌کند که از طریق این بلیط برای یک دوره زمانی خاص از سرویس استفاده کند تا در این دوره زمانی نیاز به بررسی مجدد هویت کاربر نباشد. محدود کردن مدت اعتبار این بلیط، احتمال استفاده از آن توسط افراد دیگر را کم می‌کند؛ می‌توان حداکثر طول اعتبار بلیط را 0 تنظیم کرد تا بلیط هیچ وقت منقضی نشود. مایکروسافت توصیه می‌کند که بلیط‌های سرویس حداکثر 600 دقیقه اعتبار داشته باشند که مقدار پیش‌فرض در پیاده‌سازی‌های کربرس در سیستم‌عامل ویندوز سرور هم همین اندازه است.

کنسرسیوم Kerberos MIT در مهر 1386 برای توسعه بیشتر کربرس تأسیس شد. در سال 1392 این کنسرسیوم گسترش پیدا کرد و نام آن به MIT Kerberos and Internet Trust Consortium (کنسرسیوم اعتماد اینترنتی و کربرس MIT) تغییر کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *