|
در اين مقاله
به معرفي اجمالي بر پروتكل كربراس مي پردازم ...................
اميدوارم كه مورد توجه شما عزيزان قرار بگيره.اگر شما هم اطلاعاتي دراين زمينه
داريد خوشحال ميشم كه كمك كنيد.
خلاصه:
نسخه آتی ویندوزمایکروسافت ،Kerberos را بعنوان پروتکل پیش فرض احرازهویت شبکه
اتخاذخواهدکرد.بعنوان یک استاندارد، Kerberosیک تعامل(همراه با افزایش امنیت
احرازهویت)برای شبکه های وسیع فراهم می آورد.
پیاده سازی Kerberos v5 براساس گسترش تصدیق اصالت کلیدهای عمومی می باشد. سرویس
گیرنده Kerberosبعنوان یک فراهم کننده امنیت ازطریق رابط پشتیبانگرشبکه پیاده سازی
میشود.
تصدیق هویت درونی بامعماری ورود موفقیت آمیزیکبارsign on کردن همراه شده است.kdc
نیزباسرویسهای امنیتیwin2kکه درdomain controllerدرحال اجرا هستندوازactive
dirctory برای امنیت پایگاه داده حسابهایشان استفاده میکنندمجتمع گردیده است.
این مقاله اجزا این پروتکل را بررسی کرده و جزئیاتی درمورد پیاده سازی آنرابیان
میکند.
مقدمه:
این مقاله یک مقدمه تکنیکی درموردچگونگی پیاده سازی پروتکل تصدیق هویت Kerberos v5
درسیستم عامل ویندوز2000 مایکروسافت ارائه میکندوشامل شرح جزئیات این مفهوم
مهم،معماری عناصرآن و خصوصیات تصدیق هویت Kerberos v5 میباشد.قسمت مروری بر
Kerberos v5،برای هرکس که باتصدیق هویت Kerberos ناآشناست مفیدمیباشد.به دنبال این
مقدمه چندین قسمت برای شرح پیاده سازی درwin2000آمده است.
این مقاله بایک اشاره مختصرراجع به نیازمندیهای این پروتکل برای تعامل با دیگرپیاده
سازیها به پایان می رسد.
تصديق اصالت
درwin2000:
ویندوز2000 ازچندین پروتکل برای شناسائی هویت کاربرانی که درسیستم ،account
دارند،پشتیبانی میکندکه شامل پروتکلهایی برای اعتبارسنجی اتصالات تلفنی وپروتکلهایی
برای اعتبارسنجی کاربران خارجی است که به شبکه ازطریق اینترنت دسترسی پیدا مکنند.
اماتنهادوانتخاب برای اعتبارسنجی شبکه درdomain های win2k وجوددارد:
1- Kerberos v5 : پروتکل احرازهویت Kerberos v5،پروتکل پیش فرض برای اعتبارسنجی
کامپیوترباسیستم عامل win2000 میباشد.
2- Windows NT Lan Manager(NTLM):پروتکلntlm،پروتکل پیش فرض برای اعتبارسنجی شبکه
درسیستم عامل WIN NT4.0 میباشد.در win2k برای هماهنگی وسازگاری باسرورها و سرویس
گیرنده هایی که ازنسخه های قبلی win2k استفاده میکنند،تعبیه شده است.
Ntlmهمچنین برای اعتبارسنجی log on ،به کامپیوترهای مستقل با win2k بکارمی
رود.کامپیوترهای با win3.11،win95،win98،win nt 4.0 ازپروتکل ntlm برای اعتبارسنجی
شبکه در domain های win2k استفاده می کنند.
کامپیوترهایی
که ازwin2k استفاده میکنندازntlm هنگامی که با یک سرور win nt 4.0 اعتبارسنجی
میشوندیاهنگامی دسترسی به منابع، در domainهای win nt استفاده میکنند.اما پروتکل
انتخابی win2k،هنگامیکه یک انتخاب وجوددارد Kerberos v5،میباشد.
مزیتهای اعتبارسنجی Kerberos:
این پروتکل نسبت به ntlm بسیارکارآمد،انعطاف پذیرو دارای امنیت بالاست .مزایایی که
بااستفاده ازاعتبارسنجی Kerberos حاصل میشوند عبارتنداز:
اعتبارسنجی
کارآمدتربه server:
بااستفاده ازاعتبارسنجی ntlm یک سرور،برنامه کاربردی برای اعتبارسنجی هرکاربرباید
به domain controller ،متصل شود. بااعتبارسنجی Kerberosسرورنیازی به تماس مکرربه
domain controller ندارد. سرویس گیرنده ها میتوانند گواهینامه هایی برای سرورهای
خاص رایکبارکسب کرده و ازآنهابرای دفعات بعد مجددا استفاده میکند.
اعتبارسنجی
دوطرفه:
پروتکل ntlm تنهابهserver اجازه شناسایی هویت کاربران را میدهدو سرویس گیرندگان
قادر به شناسایی هویت سرور نمی باشند.همچنین با استفاده ازاین پروتکل سرورهاقادربه
شناسائی هویت یکدیگرنمیباشند.
اعتبارسنجی ntlm برای محیط های شبکه ای که سرور حقیقی و واقعی پنداشته میشود ،طراحی
گردیده است.پروتکلkerberos چنین پنداشتی ندارد.
درپروتکلkerberos هردوقسمت پایانی ارتباط شبکه ای میتوانندبفهمند که آیا طرف
دیگرارتباط همان کسی است که ادعا میکندیاخیر؟
اعتبارسنجی
تفويض شده :
سرویسهای ویندوز هنگام دستیابی به منابع درنبود سرویس گیرندگان آنهاراجعل هویت
میکنند.دربسیاری موارد یک سرویس قادراست به وسیله دستیابی به منابع موجود برروی
کامپیوترمحلی کارخودرابرای سرویس گیرندگان به طورکامل انجام دهد.
پروتکلهای Kerberos و ntlm هردواطلاعات موردنیازیک سرویس جهت جعل هویت سرویس
گیرندگان محلی را فراهم میکند.حال آنکه بعضی از برنامه های کاربردی توزیع شده بنحوی
طراحی شده اند که سرویسهای front end باید هنگام اتصال به سرویسهایbackendروی
کامپیوترهای دیگرحتما سرویس گیرندگان را جعل هویت کنند.پروتکل Kerberos با داشتن
مکانیزم پروکسی به یک سرویس اجازه میدهد هنگام اتصال به سرویسهای دیگر،سرویس
گیرندگان خودرا جعل هویت نماید.پروتکل ntlm دارای چنین مکانیزم مشابهی نیست.
ساده شدن
مديريت trustها:
یکی از مزایای پروتکل Kerberos ،trust(اعتماد)بین منابع امنیتی برای domainهای
ویندوز2000بصورت دوطرفه و انتقالی است.دریک شبکه با چندین domain نیازی به مشخص
کردن ارتباطات پیچیده و نقطه به نقطه صریح و روشن بین domainها نمیباشد،بجای آن
تعداد زیادی domain ازیک شبکه بزرگ دریک درخت باtrust دوطرفه و انتقالی سازماندهی
شوند.گواهینامه هایی که توسط منابع امنیتی برای هرdomain صادرمیشود،هرجائی دردرخت
پذیرفته میشود. اگرشبکه شامل بیش از یک درخت باشد،گواهینامه های ارائه شده توسط یک
domain درهردرخت درforest پذیرفته میشود.
قابليت
تعامل:
پیاده سازی پروتکل Kerberos توسط مایکروسافت برمبنای standard track specification
پیشنهاد شده توسط IETF میباشد.پیاده سازی این پروتکل در win2k پایه ای برای تعامل
با شبکه های دیگرکه از Kerberos v5 برای اعتبارسنجی استفاده میکنند فراهم میکند.
استانداردهای
اعتبارسنجی Kerberos:
پروتکل Kerberosدردهه قبل در MIT ایجادشدو توسط مهندسینی که روی پروژه ATHENA
کارمیکردند گسترش پیدا کرد.اولین نسخه عمومی ارائه شده ازاین پروتکل Kerberos v4
میباشد.مولفان صنایع بزرگی که ازاین پروتکل استفاده میکننداین پروتکل را گسترش
دادندوkerberos v5 راارائه کردند.این نسخه اکنون یکی از استانداردهای IETF میباشد.
پیاده سازی این پروتکل درwin2000 دقیقا مشخصات تعریف شده درRFC1510 رادنبال
میکند.به همین ترتیب مکانیزم و فرمت انتقال توکنهای امنیتی در پیامهای Kerberos
مشخصات تعریف شده در RFC1964 را دنبال مینماید.
ویندوز2000گسترشی برای پروتکل Kerberos پیاده سازی کرده که به اعتبارسنجی های داخلی
اجازه استفاده از گواهینامه های کلیدعمومی را نسبت به کلیدهای رمزی اشتراکی مرسوم
میدهد.این ارتقا به پروتکل اجازه پشتیبانی از logon تعاملی با کارتهای هوشمندرا
میدهد.
گسترش اعتبارسنجی کلیدعمومی برمبنای خصوصیات مشخصی است که توسط گروههای IETFو
گروههای شخص ثالث علاقه مندبه تکنولوژی کلیدعمومی گسترش یافته است.
مروری بر
پروتکل Kerberos:
پروتکل اعتبارسنجی Kerberos یک مکانیزم اعتبارسنجی دوطرفه بین سرویس گیرنده
وسروریابین یک سروربادیگرسرورها قبل از برقراری ارتباط شبکه ای فراهم میکند.
این پروتکل فرض میکند تراکنشهای درونی بین سرویس گیرنده هاو سرورها برروی یک شبکه
باز،اتفاق می افتد که بسیاری از کامپیوترها ازنظرفیزیکی امن نیستندو حرکت و انتقال
بسته ها درطول خطوط ممکن است توسط دیگران مشاهده یا دستکاری شود.
محیط فرض شده به عبارت دیگرخیلی شبیه اینترنت امروزی است بطوریکه یک مهاجم میتواند
به آسانی خودرا به عنوان یک سرویس گیرنده یا سرور مطرح کرده و درارتباط بین یک
سرویس گیرنده و سرور واقعی اطلاعات را خوانده ویااستراق سمع نماید.
مفاهيم
اساسی:
پروتکل Kerberos به شدت برپایه تکنیکهای اعتبارسنجی شامل رمزهای اشتراکی بنیانگذاری
شده است.مفهوم اصلی بسیارساده است.اگر دونفریک رازرا بدانند هرکدام ازآنهامیتواند
دیگری را بوسیله تصدیق کردن رمزی که شخص دیگر میداند،شناسائی کند.
برای مثال بیایید فرض کنیم آلیس اغلب پیامهایی برای باب می فرستد و باب قبل از
اینکه روی آن کارکند بایدمطمئن شود که پیغام رسیده واقعا ازطرف آلیس است . آنها با
انتخاب یک پسورد تصمیم میگیرند ،مشکلاتشان را حل کنندو توافق میکنند که این راز را
با هیچ کس دیگرنگویند. اگرپیام آلیس بتواند نشان دهدکه فرستنده پسورد را میداند
،باب میفهمد که فرستنده پیام آلیس است. تنها یک سئوال برای آلیس و باب باقی می ماند
: چگونه آليس نشان خواهد داد که پسورد را ميداند؟او به آسانی می تواند جایی در
پیغام خودآن را لحاظ کند احتمالا دریک بلوک امضا درپایان . این روش ساده و کارآمد
است و باعث میشود آلیس و باب مطمئن باشند که هیچ کس قادربه خواندن نامه آنها
نخواهدبود.اما مسئله این نیست،پیام آنها ازشبکه ای که توسط دیگران مثلا کارول
استفاده میشود عبور میکند.کارول یک تحلیلگر شبکه داردو سرگرمی او اسکن کردن ترافیک
شبکه است به این امید که یک پسورد کشف کند. برای نگهداری رمزیک پسورد اوباید بدون
آشکارکردن پسورد نشان دهدکه آنرا میداند.
پروتکل Kerberos این مشکل را با رمزنگاری secret key حل کرده است. درمقایسه با به
اشتراک گذاشتن یک پسورد ،دراین حالت طرفین یک ارتباط یک کلید رمزنگاری شده به
اشتراک می گذارند و ازاطلاعات این کلید برای شناسایی هویت طرف دیگر استفاده می
کنند.برای تکنیک کاربا کلید share شده ،باید یک کلید متقارن منفردباشد که هم
توانایی رمزشدن و هم قابلیت ازحالت رمزدرآوردن را داشته باشد. یک طرف اطلاعات کلید
رابارمزکردن اطلاعات و طرف دیگربا رمزگشایی ازآن استفاده می کند.
Authenticator:
یک پروتکل ساده که از اعتبارسنجی کلیدرمز استفاده می کند،هنگامی که استفاده میشود
یک شخص خارج درارتباطی است و قصددارد به آن واردشود.برای واردشدن این شخص یک
authenticator رابه شکل قطعه ای از اطلاعات رمزنگاری شده درکلید رمز ارائه
دهد.اطلاعات در authenticator هربارکه پروتکل اجرامیشود باید متفاوت باشد.زیرا یک
authenticator قدیمی می تواند مجددا توسط هرشخص دیگری که به ارتباطات گوش فرا می
دهد ،استفاده شود.
به محض
دریافت یک authenticator ،شخصی محافظ درآن را رمزگشائی کرده......
اگرموفقیت آمیزباشد محافظ در می داند که شخص ارائه دهندهauthenticator، کلید واقعی
و درست را دارد. تنها دو نفرکلید حقیقی را دارند. محافظ دریکی از آنهاست و شخصی که
ارائه کننده authenticator می باشد باید دیگری باشد . اگر شخصی بیرون از در،
خواستار اعتبارسنجی دوطرفه باشد همان پروتکل بایک تفاوت کوچک بصورت معکوس اجرا می
شود .محافظ در می تواند قسمتی از اطلاعات را از authenticator اصلی استخراج کرده
وآن را دریک authenticator جدید رمزنگاری کرده ،سپس authenticator جدید را به شخصی
که بیرون در منتظر است بدهد. شخص خارح از در می تواند authenticator محافظ در را از
رمزخارج کند ونتیجه را با اصل مقایسه کند. اگر باهم مطابقت داشتند ،شخص پشت در می
فهمد که محافظ در قادررمز اصلی را از حالت رمز خارج کند پس دارای کلید صحیح می
باشد.
مثال:فرض
کنیم آلیس و باب تصمیم می گیرند قبل از انتقال هر اطلاعات بین کامپیوترهایشان
،هرکدام اطلاعات کلید رمزنگاری شده اشتراکی را برای شناسایی طرف دیگر ارتباط
استفاده کنند. دراین وضعیت که آلیس مهمان و باب میزبان می شود درمورد پروتکل
زیرتوافق می کنند.
1- آلیس یک
پیام شامل نامش دریک قسمت متنی ساده و یک authenticator رمزنگاری شده در کلید رمز
که با باب به اشتراک گذاشته برای او ارسال می کند. دراین پروتکل authenticator یک
ساختار داده ای با دوفیلد می باشد. یک فیلد شامل اطلاعات درمورد آلیس است .برای
ساده کرده مطلب بیایید این را جای نام آن در نظربگیریم. فیلد دوم شامل زمان جاری در
ایستگاه کاری آلیس است.
2- باب پیام
را دریافت می کند و بررسی می کند که آیا از طرف آلیس است و از کلیدی که با آلیس به
اشتراک گذاشته برای رمزگشایی authenticator استفاده می کند . فیلد شامل زمان
ایستگاه کاری آلیس را از آن استخراج کرده و با زمان خود مقایسه می کند. اگر زمان
آلیس با ساعت باب همزمان باشند کارباب خیلی آسان میشود .بیایید فرض کنیم که اختلاف
زمان (انحراف زمان) هرگز بیشتر از 5 دقیقه نباشد به این ترتیب باب می تواند زمان
authenticator را بازمان جاری ساعت خود مقایسه کند . اگر اختلاف آنها بیش از 5
دقیقه بود بصورت اتوماتیک آن را رد کند. اگر انحراف زمان درمحدوده مشخص شده
باشد،این احتمال وجوددارد که authenticator از طرف آلیس باشد اما باب هنوز هم مدرکی
نداردکه authenticator واقعا از طرف آلیس باشد. ممکن است شخص دیگری در حال نظاره
ترافیک شبکه بوده و زودتر از آلیس برای برقراری ارتباط با باب تلاش کند. به هرحال
اگر باب زمان authenticator های دریافت شده از آلیس را در 5 دقیقه قبلی ثبت کند، می
تواند تلاشها برای زودترجواب دادن را با ردکردن هر پیام با زمان یکسان یا زمان
زودترازآخرین authenticator به شکست منتهی کند.اگراین authenticatorزمانی پس از
زمان آخرین authenticator رسیده از آلیس تولیدکنداین،پیام باید ازطرف آلیس باشد.
3- باب با
استفاده از کلیدی که با آلیس به اشتراک گذاشته زمان پیام آلیس را رمزنگاری کرده
ونتیجه را برای او می فرستد. توجه داشته باشید که باب هم اطلاعات authenticator
رسیده ازآلیس را باز نمی گرداند (بجززمان) اگراو همه چیزرا دوباره پس بفرستد آلیس
هیچ راهی نداردکه بفهمد. شخصی که خودراباب معرفی کرده به سادگیauthenticator را از
پیام اصلی کپی کرده و آن را بدون تغییربرای او فرستاده است. اوتنها قسمتی از
اطلاعات را که می فرستد تا ثابت کند که قادر به رمزگشایی authenticator و تغییردادن
اطلاعات درون آن می باشد. آلیس جواب باب را دریافت می کند آن را رمزگشایی کرده و
نتیجه را با زمان در authenticator اصلی مقایسه میکند. اگر زمانها با هم مطابقت
داشتند آلیس می تواندمطمئن شود که authenticator او به دست کسی رسیده است که
کلیدرمز موردنیاز برای استخراج زمان از authenticator را می داند. او کلید را فقط
با باب به اشتراک گذاشته بنابراین حتما باب پیام را دریافت کرده و به آن پاسخ داده
است.
شکل 1
یک مشکل در پروتکل ساده ای که شرح داده شد،مقدم بودن قسمتی است که شرح نداده بود
چگونه و کجا آلیس وباب کلید رمز را که برای نشستهایشان باهم استفاده می کنند کسب
کنند.
اگرمشخص باشند آلیس و باب می توانند مثلا درخیابان باهم ملاقات کرده و درمورد کلید
رمزتوافق کنند اما این روش اگر آلیس یک برنامه سرویس گیرنده در حال اجرا روی یک
ایستگاه و باب یک سرویس درحال اجرا روی یک سرور شبکه باشد کارنخواهدکرد. این مشکل
ادامه دارد زیرا سرویس گیرنده(آلیس) می خواهد با چندین سرور گفتگو کند وبرای هرکدام
ازآنها کلیدهایی نیازدارد. همچنین سرور (باب)باتعدادزیادی سرویس گیرنده گفتگو می
کند و به همین ترتیب برای هرکدام ازآنها نیازبه کلید دارد. اگرهرسرویس گیرنده
نیازبه یک کلیدبرای هرسرور داشته باشد تویع کلید به سرعت تبدیل به مشکل جدی می شود
که باید حل شود و ذخیره و محافظت از تعدادزیادی کلید روی تعداد زیادی کامپیوتر یک
ریسک امنیتی بی نهایت زیاد دارد.نام پروتکل Kerberos مشخص می کندکه چگونه مشکل
توزیع کلید را حل می کند .kerberos یک نماددراساطیریونان باستان –یک سگ سه سر
درنده-بودکه ازدروازه دنیای مردگان حفاظت می کرد. همانندkerberos،این پروتکل
نیزدارای سه سرمی باشد. یک سرویس گیرنده، یک سرور و trust میانی که دراین پروتکل
key distribution center(KDC) نامیده میشود.
KDC سرویسی
است که بصورت فیزیکی روی یک سرورامن و محافظت شده درحال اجراست .KDC یک پایگاه داده
از اطلاعات account برای قوانین امنیتی درناحیه خوددارد که معادلdomain در ویندوز2k
می باشد.(ازاین به بعد آنها را domainمی نامیم) علاوه بربقیه اطلاعات درمورد قوانین
امنیتی،KDC یک کلید رمزنگاری شده را ذخیره می کندکه فقط برای قانون امنیتی و KDC
شناخته شده است. این کلید برای تعویض بین قانون امنیتی و KDC استفاده شده و به نام
long-term key شناخته می شود.دربیشترپیاده سازیهای این پروتکل این مورد توسط پسورد
logon کاربر پیاده سازی می شود.
درتئوری،KDC
می تواند نقش خودرا به عنوانtrust میانی بوسیله ارسال مستقیم کلیدنشست برای قوانین
امنیتی که شامل است انجام دهد(که دربالاشرح داده شد)اما درعمل پیاده سازی این
پروسیجر بی نهایت مشکل است .مثلا به سرور باید یک کپی از کلید نشست را تازمانی که
منتظر درخواست سرویس گیرنده است درحافظه خودنگه دارد. علاوه برآن سرورنه تنها باید
کلید رابرای این سرویس گیرنده بلکه برای هر سرویس گیرنده ای که ممکن است درخواست
سرویس کندبخاطر بیاورد. مدیریت کلید ،منابع قابل ملاحظه ای ازسرور را مصرف کرده و
بنابراین انعطاف پذیری آن را کاهش می دهد. به همین ترتیب بایک ترافیک شبکه خیالی،
درخواست سرویس گیرنده برای سرویس ممکن است قبل از پیام KDC که کلید نشست را اعلام
می کند به دست سرور برسد. سرورباید پاسخ به سرویس گیرنده را تازمانی که پیام KDC به
دستش برسد معلق نگه دارد و این مستلزم این است که سرور حالت را نیز ذخیره کند که
بارزیاد دیگری را به منابع سرور تحمیل می کند.واقعا چه اتفاقی در پروتکل Kerberos
روی می دهد که تا اين حد کارآمداست؟
SESSION
TICKET :
KDC به درخواستهای سرویس گیرنده ها برای گفتگو با سرور با فرستادن هر دو کپی
کلیدنشست برای سرویس گیرنده همانطورکه در شکل 3 نشان داده شده است پاسخ می دهد. کپی
کلید نشست سرویس گیرنده توسط کلیدی که KDC با سرویس گیرنده ،share کرده رمزنگاری
میشود. کپی کلیدنشست سرورهمراه اطلاعاتی درمورد سرویس گیرنده دریک ساختارداده ای که
session ticket نامیده می شود جاسازی می شود. تمام این ساختارتوسط کلیدی که KDC با
سرور به اشتراک گذاشته رمزنگاری می شود.ازاین پس مدیریت ticketی که کلید نشست
سرورمستقیما در آن قراردارد تازمانی که سرویس گیرنده به سرور متصل شود،به عهده
سرویس گیرنده خواهد بود.
شکل3
توجه داشته باشیدکه KDC به سادگی یک سرویس اعطا ticket فراهم می آورد. KDC مسیرپیام
خودرا برای اطمینان ازاینکه به مقصدمی رسدیا خیرنگه نمی دارد. اگرپیام KDC دریک
مسیرنادرست قراربگیرد هیچ آسیب و صدمه ای ایجاد نمی کند.چون تنهاکسی که کلید
رمزسرویس گیرنده را می داند میتواند کپی کلیدنشست سرویس گیرنده رارمزگشایی
کندوتنهاکسی که کلید رمزسروررا می داند میتواند اطلاعات درون ticket را بخواند.
هنگامی که
سرویس گیرنده پاسخ KDC رادریافت می کند، ticket کپی کلیدنشست را ازآن استخراج
میکندو هردورا درون یک cache امن (درون حافظه فرار،نه دیسک)قرارمی دهد. وقتی سرویس
گیرنده میخواهد ازطرف سرور پذیرش شودیک پیام برای سرور می فرستدکه شامل ticketهایی
است که هنوزباکلیدرمزسرور رمزنگاری شده است و یک authenticator که با کلیدنشست
رمزنگاری شده است .ticketوauthenticator هردوباهم گواهینامه سرویس گیرنده برای سرور
رافراهم میکنند.
هنگامی که
سرور گواهینامه هارااز سرویس گیرنده دریافت می کند ،session ticket رابااستفاده
ازکلیدرمز رمزنگشایی کرده و کلیدنشست رااستخراج میکندو کلیدرمز رابرای رمزگشایی
authenticator سرویس گیرنده استفاده می کند. اگرهمه چیز چک شد سرورمتوجه میشود که
گواهینامه سرویس گیرنده ازطرف یک مرجع قابل اطمینان-KDC- صادرشده است .اگر سرویس
گیرنده خواستاریک اعتبارسنجی دوطرفه بودسرور ازکپی کلیدنشست برای رمزنگاری برچسب
زمان authenticator سرویس گیرنده استفاده کرده و نتیجه رابعنوان authenticator
سروربه سرویس گیرنده بازمی گرداند.
یکی
ازمزایایی که بااستفاده از session ticket بدست می آید این است که سرور لازم نیست
کلیدنشستی که برای ارتباط با کاربر استفاده میکند راذخیره کند. این مسئولیت سرویس
گیرنده است که ticket رابرای سرور در cache گواهینامه خودنگه داردودرهربار دسترسی
به سرورآنرا ارائه دهد. هرگاه سروریک session ticket ازسرویس گیرنده دریافت
کند،میتواند ازکلیدرمز برای رمزگشایی و استخراج کلیدنشست استفاده کند وسرورنیازی به
نگهداری کلیدنشست نداردومی تواند آنرا دوربیاندازد.
یکی
دیگرازمزایااین است که سرویس گیرنده نیازی به مراجعه دوباره به KDC برای
هرباردسترسی به یک سرور خاص ندارد .session ticket می تواند چندین بار مورداستفاده
قراربگیرد. برای احتیاط درمقابل احتمال دزدیده شدن ticket توسط یک شخص دیگر،
session ticket یک زمان انقضا داردکه توسط KDC درساختارداده ای ticket قرارگرفته
است. مدت زمان اعتبارticket بستگی به سیاست Kerberos برای domain دارد. بطورعمومی
ticketها برای بیش از 8 ساعت مناسب نیستند.هنگامی که کاربر logoff می کند،cache
گواهینامه خالی شده و تمام session ticket ها وبه تبعه آن تمام کلیدهای نشست نابود
میشوند.
برگرفته از سایت:
http://www.barnamenevis.org
نویسنده: yassi
|