کربروس (Kerberos) چیست؟
کربروس (Kerberos) چیست؟
کربروس (Kerberos) چیست؟
کربروس (Kerberos) یک پادمان (Protocol) اعتبارسنجی در شبکه است و برای انجام اعتبارسنجی های قوی، در برنامه های کاربر- کارگزار تعبیه شده است. این پادمان توسط دانشگاه MIT طراحی و پیاده سازی شده است.
کربروس یک پادمان رایگان است (مانند BSDها) و تحت قانون حق مؤلف (Copyright) می توانید از آن استفاده کنید. نکته جالبی که در مورد کربروس وجود دارد این است که کربروس یک سگ سه سر است که از دروازه ی جهنم محافظت می کند. البته کمی املای آن فرق دارد (Cerberus) ولی همان مفهوم مدنظر بوده است.
آخرین نسخه آن نیز، نسخه 5 است.
کربروس بر مبنای این تئوری بنا شده است که شبکه یک مکان ناامن و خطرناک است و اطلاعات ارسالی در شبکه قابل تغییر و دستکاری هستند.
کربروس یک سرویس thrid-party و تأیید شده است. این بدان معنی است که یک کارگزار کربروس در شبکه وجود دارد که مورد اعتماد Principalها (Principalها اجزایی هستند که هویت آنها در سیستم تأیید شده است مانند کاربران و سرویس ها) است. Principalها یک کلید عمومی را بین خود و کارگزار به رسمیت می شناسند و بدین ترتیب principalها قادر خواهند بود پیام هایی که از کارگزار می آید را درک کنند. Principalها به رد و بدل کردن بلیط می پردازند و با همین بلیط ها هویت principalها معلوم می شود.
جزییات بیشتر در مورد نحوه عملکرد kerberos را با یک مثال و شکل نشان می دهیم.
مثال
1- کاربر (Clinet) از متصدی اعتبارسنجی (Kerberos Authentication Server) یک بلیط درخواست می کند که بعداً آن را به متصدی صدور بلیط(Ticket Granting Server) بدهد. متصدی اعتبارسنجی، در پایگاه داده خود جستجو می کند و در صورت یافتن کاربر در فهرست خود، یک کلید (Session Key 1 - SK1) می سازد که برای استفاده بین کاربر و متصدی بلیط بکار خواهد رفت. متصدی اعتبارسنجی، بلیط را که شامل SK1 است را با کلید A کد کرده و برای کاربر ارسال می کند.
متصدی اعتبارسنجی، همچنین از کد مخفی متصدیان بلیط که فقط بین متصدی اعتبارسنجی و متصدیان بلیط معتبر است، استفاده کرده و یک بلیط صدورِ بلیط (Ticket Granting Ticket ) برای کاربر می سازد و
برای کاربر می فرستد.
متصدی صدور بلیط (TGS) ، بلیط صدورِ بلیط (TGT) را می گیرد و آن را رمزگشایی می کند. پس از بدست آوردن SK1 که از رمزگشایی بلیط صدورِ بلیط (TGT) بدست آمده است، Authenticator را نیز رمزگشایی می کند. اگر زمان و نام A معتبر بود، روند کار ادامه پیدا می کند.
متصدی صدور بلیط (TGS) یک کلید جدید (Session Key 2 – SK2) تولید کرده و آن را با SK1 کد می کند و برای کاربر می فرستد تا بین کاربر و کارگزار استفاده شود.
همچنین متصدی صدور بلیط (TGS) یک بلیط جدید شامل نام کاربر، IP(آدرس)، تاریخ و زمان، زمان اعتبار (که همه با کلید کارگزار کد شده اند) و نام کارگزار می سازد و برای کاربر می فرستد.
کارگزار با دریافت Authenticatorی که با SK2 رمز شده است، می فهمد که کاربر، SK2 را دارد. زمان و تاریخ تعبیه شده در بلیط، این امکان را شنودگرها می گیرد که این بلیط ها را ذخیره کنند و بعدها دوباره آن را برای کارگزار بفرستند و خود را جای کاربر جا بزنند. برای برنامه های که نیاز به اعتبارسنجی دوطرفه دارند، یک بلیط دیگر از طرف کارگزار به کاربر فرستاده می شود که با SK2 کد شده است. که انجام این عمل به کاربر نیز اطمینان کامل را می دهد.
منبع:www.radcom.ir
کربروس یک پادمان رایگان است (مانند BSDها) و تحت قانون حق مؤلف (Copyright) می توانید از آن استفاده کنید. نکته جالبی که در مورد کربروس وجود دارد این است که کربروس یک سگ سه سر است که از دروازه ی جهنم محافظت می کند. البته کمی املای آن فرق دارد (Cerberus) ولی همان مفهوم مدنظر بوده است.
آخرین نسخه آن نیز، نسخه 5 است.
کربروس بر مبنای این تئوری بنا شده است که شبکه یک مکان ناامن و خطرناک است و اطلاعات ارسالی در شبکه قابل تغییر و دستکاری هستند.
کربروس یک سرویس thrid-party و تأیید شده است. این بدان معنی است که یک کارگزار کربروس در شبکه وجود دارد که مورد اعتماد Principalها (Principalها اجزایی هستند که هویت آنها در سیستم تأیید شده است مانند کاربران و سرویس ها) است. Principalها یک کلید عمومی را بین خود و کارگزار به رسمیت می شناسند و بدین ترتیب principalها قادر خواهند بود پیام هایی که از کارگزار می آید را درک کنند. Principalها به رد و بدل کردن بلیط می پردازند و با همین بلیط ها هویت principalها معلوم می شود.
جزییات بیشتر در مورد نحوه عملکرد kerberos را با یک مثال و شکل نشان می دهیم.
مثال
1- کاربر (Clinet) از متصدی اعتبارسنجی (Kerberos Authentication Server) یک بلیط درخواست می کند که بعداً آن را به متصدی صدور بلیط(Ticket Granting Server) بدهد. متصدی اعتبارسنجی، در پایگاه داده خود جستجو می کند و در صورت یافتن کاربر در فهرست خود، یک کلید (Session Key 1 - SK1) می سازد که برای استفاده بین کاربر و متصدی بلیط بکار خواهد رفت. متصدی اعتبارسنجی، بلیط را که شامل SK1 است را با کلید A کد کرده و برای کاربر ارسال می کند.
متصدی اعتبارسنجی، همچنین از کد مخفی متصدیان بلیط که فقط بین متصدی اعتبارسنجی و متصدیان بلیط معتبر است، استفاده کرده و یک بلیط صدورِ بلیط (Ticket Granting Ticket ) برای کاربر می سازد و
برای کاربر می فرستد.
متصدی صدور بلیط (TGS) ، بلیط صدورِ بلیط (TGT) را می گیرد و آن را رمزگشایی می کند. پس از بدست آوردن SK1 که از رمزگشایی بلیط صدورِ بلیط (TGT) بدست آمده است، Authenticator را نیز رمزگشایی می کند. اگر زمان و نام A معتبر بود، روند کار ادامه پیدا می کند.
متصدی صدور بلیط (TGS) یک کلید جدید (Session Key 2 – SK2) تولید کرده و آن را با SK1 کد می کند و برای کاربر می فرستد تا بین کاربر و کارگزار استفاده شود.
همچنین متصدی صدور بلیط (TGS) یک بلیط جدید شامل نام کاربر، IP(آدرس)، تاریخ و زمان، زمان اعتبار (که همه با کلید کارگزار کد شده اند) و نام کارگزار می سازد و برای کاربر می فرستد.
کارگزار با دریافت Authenticatorی که با SK2 رمز شده است، می فهمد که کاربر، SK2 را دارد. زمان و تاریخ تعبیه شده در بلیط، این امکان را شنودگرها می گیرد که این بلیط ها را ذخیره کنند و بعدها دوباره آن را برای کارگزار بفرستند و خود را جای کاربر جا بزنند. برای برنامه های که نیاز به اعتبارسنجی دوطرفه دارند، یک بلیط دیگر از طرف کارگزار به کاربر فرستاده می شود که با SK2 کد شده است. که انجام این عمل به کاربر نیز اطمینان کامل را می دهد.
منبع:www.radcom.ir
مقالات مرتبط
تازه های مقالات
ارسال نظر
در ارسال نظر شما خطایی رخ داده است
کاربر گرامی، ضمن تشکر از شما نظر شما با موفقیت ثبت گردید. و پس از تائید در فهرست نظرات نمایش داده می شود
نام :
ایمیل :
نظرات کاربران
{{Fullname}} {{Creationdate}}
{{Body}}