ccna90

پروتکل های احراز هویت

 

  پروتکل های احراز هویت

 

  Authentication

 

در دنیاي امنیت داده ها اصطلاح پرکاربردی به نام AAA یا A3 وجود دارد که مخفف سه پروسه ی Authentication ( بر اساس آن پروسه ها هویت حقیقی یا حقـوقی کـاربران خـود را اثبات می کنند ) و Authorization ( براساس آن تعیین می گردد کاربري که هویـت او احـراز شـده، مجوز انجام چه کارهایی را دارد ) وAccounting ( تشخیص می دهد پروسه یا کاربر چـه سـهمی از منـابع سیستمی و خدمات را در اختیار خواهد داشت و آیا در ازاي دریافت آن، بهایی را پرداخت کرده است) می باشد، مهم ترین و اولین بخش از عملیات AAA همان عملیات احراز هویت می باشد. به همین دلیل ما در این بخش صرفا بر روی موضوع احراز هویت تمرکز خواهیم داشت.

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

آیتی پرفکشن تهیه کننده و ارایه دهنده دوره های تخصصی شبکه و امنیت میباشد. از دانشجویان عزیز دعوت میشود جهت شرکت در دوره های آموزشی شبکه و امنیت به صفحه دوره های آموزشی مراجعه کنند.

همچنین برخی افراد احراز هویت یا Authentication را با صدور مجوز یا  Authorization اشتباه می گیرند ، حال اینکه در احرازهویت این سوال مطرح می گردد که شما واقعا در حال محاوره وتبادل اطلاعات هستید، درحالی که در صدور مجوز بررسی می گردد که هر پروسه مجوز انجام چه کارهایی را دارد و همچنین کاربرد واژه”احراز هویت” در مورد اشیایی مثل فایلها، برنامه هاي اجرایی و اسناد و مدارك، اشاره به پروسه ای دارد که بر اساس آن صحت و درستی آن شیء اثبات می گردد، اما در مـورد افـراد روشـی بـراي تشـخیص هویت واقعی آنان و اثبات درستی یا نادرستی ادعاي آنها در خصوص معرفی خودشان است.

برای حصول اطمینان از امنیت یک ارتباط طرفین از روشهای متعددی برای رمزگذاری داده ها و اطلاعات استفاده می کنند که می توان به روشهای ایجاد کلید های متقارن و نامتقارن اشاره نمود. درحین برقراری یک نشست به دلیل سرعت و کارآیی، داده هایی که در حین این نشست ردوبدل خواهند شد با کلید متقارنی که معمولا در آن از استاندارد های رمز نگاری AES یا DES  استفاده می شود،رمزگذاری می گردند. (از رمزنگاری DES عموما برای حفاظت دیتا از شنود در طول انتقال استفاده می‌شود ،  AESجانشین است که توسط آژانس امنیت ملی NSA برای اطلاعات فوق محرمانه پذیرفته شد) این الگوریتم‌ها تا زمانی که قرار است داده‌ها و رمز فقط نزد خود کاربر باشد و از آن استفاده کند، بهترین گزینه خواهد بود..

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

 

 احراز هویت براساس کلید مشترک و سری

در این پروتکل فرض می کنیم طرفین ارتباط قبلا در مورد یک کلید سری بنام K توافق کرده اند و این کلید سری را از طریق شبکه ی ناامن برای یکدیگر ارسال نکرده اند.

اساس کار این پروتکل بگونه ای است که یکی از طرفین با نام A بعنوان شروع کننده ی ارتباط مشخصه ی شناسایی خود را بدون رمزنگاری برای طرف مقابل یعنی B می فرستد تا او بتواند آن را بفهمد، در ادامه B عدد تصادفی بسیار بزرگ را بعنوان رشته ی چالش (nonce) برای طرف مقابل ارسال می کند و A نیزتبدیل خاصی را بوسیله ی کلید مشترک سری توافق شده بر روی آن عدد انجام می دهد و داده های رمز شده را به B بر می گرداند. به این ترتیب A متوجه می شود که این پیام واقعا از طرف B ارسال شده است زیرا هیچ کس از کلید مشترک بین آنها مطلع نبوده است.

برای اینکه طرف A هم از برقراری ارتباط با شخص درست اطمینان حاصل کند و بداند در این ارتباط شخص سومی در میان نیست عدد تصادفی دیگری را تولید و برای B ارسال می کند، در صورتی که B بتواند با استفاده از کلید مشترک پاسخ درست را برگرداند آنگاه A از سلامت ارتباط موجود مطمئن خواهد شد ودر این مرحله شروع کننده ی ارتباط کلید سری را برای نشست انتخاب کرده و آن را بوسیله کلید مشترک رمز کرده و برای طرف مقابل می فرستد. به چنین پروتکلهایی اصطلاحا پروتکلهای Challenge-Response یا ” چالش و پاسخ ” می گویند. البته می توان مراحل این پروتکل را از 5 مرحله به 3 مرحله تقلیل داد و آن را کوتاهتر و سریعتر کرد.

متاسفانه پروتکلهای چالش و پاسخ با استفاده از تکنیکی به نام حمله ی بازتاب Reflection Attack شکسته شد.در این حمله نفرسوم با جستجو در شبکه و کپی کردن پاسخ های هر طرف و ارسال مجدد آن می توانست دیگری را فریب داده و در ارتباط اختلال ایجاد کند. البته اشکالات موجود در این پروتکل با ایجاد تغییراتی در قواعد آن برطرف شد.

 

 مبادله ی کلید مشترک به روش دیفی- هلمن

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

 

جهت شرکت در دوره های آموزشی MCSA و MCSE، علاقه مندان میتوانند به صفحه آموزش دوره های تخصصی شبکه های مایکروسافت رجوع کنند.

   احراز هویت توسط مرکز توزیع کلید KDC

توافق و ایجاد یک کلید مشترک و سری با افرادی کاملا ناآشنا با روش بالا کاملا ممکن است اما دارای ایراداتی می باشد. مثلا در روش پیشین برای ایجاد ارتباط با تعداد زیادی از افراد به همان تعداد کلید سری نشست نیاز خواهید داشت و برای افراد عادی حفظ و مدیریت این همه کلید بسیار سخت است و جهت رفع چنین اشکالاتی راهکار متفاوتی بنام ” مرکز توضیع کلید ” یا KDC ارائه گردید.

جهت شرکت در دوره های آموزشی MCSA و MCSE، علاقه مندان میتوانند به صفحه آموزش دوره های تخصصی شبکه های مایکروسافت رجوع کنند.

 در این روش هر کاربر تنها یک کلید دارد که بین او و مرکز توزیع KDC مشترک است و فرآیند احراز هویت و ایجاد کلید نشست از طریق KDC  انجام می شود.فرض کنید برای برقراری ارتباط بین دو طرف A,B ابتدا طرف A که شروع کننده ی ارتباط خواهد بود یک کلید نشست سری را برای ارتباط خود با B انتخاب می کند و سپس تمایل ارتباط خود با طرف B را با استفاده از کلید نشست مشترک بین خود ومرکز توضیع رمز گذاری کرده و به KDC ارسال می کند،KDC پس از دریافت پیام آن را رمز گشایی کرده و مشخصه شناسایی طرف B و کلید سری نشست را از آن استخراج کرده و پیام جدیدی را ایجاد می کند که حاوی مشخصه ی شناسایی طرف A و کلید سری نشست خواهد بود و پیام جدید را با کلید سری مشترک بین خود وطرف B رمزگذاری کرده و پیام را برای B ارسال می کند.در ادامه B پس از دریافت پیام با استفاده از کلید سری مشترک بین خود و KDC پیام دریافتی را رمزگشایی کرده و درمی یابد که طرف A با استفاده از کلید نشست سری انتخاب شده خواهان برقراری نشست می باشد. در این روش احراز هویت بسیار ساده انجام می شود.

آیتی پرفکشن تهیه کننده و ارایه دهنده دوره های تخصصی شبکه و امنیت میباشد. از دانشجویان عزیز دعوت میشود جهت شرکت در دوره های آموزشی شبکه و امنیت به صفحه دوره های آموزشی مراجعه کنند.

 

متاسفانه این پروتکل نیز با مشکل جدی مواجه شد. بدین ترتیب که شخص سوم با جستجو در شبکه می توانست پیغام های ارسال شده از طرفKDC که حاوی مشخصه شناسایی و درخواست های  طرف A است را کپی نموده و بارها آنها برای طرف B ارسال کند وطرف B نیز این درخواست را پذیرفته و آن را انجام دهد.این سری حملات به حمله ی تکرار یا Replay Attack” معروف هستند.

چندین راه حل برای اینگونه حملات ارائه شد. اولین راه حل این بود که هر پیام دارای مهر زمان یا” Timestamp ” باشد و در راه حل دوم توافق شد که هر پیام حاوی یک عدد یا رشته ی تصادفی باشد و پیام هایی که دارای عدد یا رشته ی تکراری هستند، حذف شوند.هر دو این روش ها به تنهایی دارای کارآیی لازم نبوند اما استفاده از هر دو روش در پیام ها بطور همزمان می توانست موثرتر واقع شود.

راه حل پیچیده تری نیز برای آنکه طرفین بتوانند به کمک KDC یکدیگر را شناسایی کنند، ارائه شد که با استفاده از یک پروتکل چالش و پاسخ چند مرحله ای امنیت ارتباط ایجاد شده، تامین می گردید. از میان پروتکل های ارائه شده با این روش می توان از پروتکل احراز هویت نیدهام – شرودر نام برد.

 

   احراز هویت با استفاده از Kerberos

Kerberos که برگرفته از نام یک اسطوره ی یونانی است بر اساس گونه ای از پروتکل نیدهام – شرودر در دانشگاه MIT تبیین گردیده است و در بسیاری از سیستم های واقعی بکار گرفته می شود. این پروتکل مراحل متعددی را پشت سر گذاشته و نسخه ی V4  آن کاربرد گسترده تری در صنعت دارد.

 جهت شرکت در دوره های آموزشی MCSA و MCSE، علاقه مندان میتوانند به صفحه آموزش دوره های تخصصی شبکه های مایکروسافت رجوع کنند.

 احراز هویت با استفاده از رمز نگاری کلید عمومی

در این روش عملیات احراز هویت را می توان با استفاده از رمزنگاری با کلید عمومی انجام داد. برای انجام چنین روشی در شبکه به یک مرکز توزیع کلید عمومی به نام PKI با ساختار سرویس دهنده ی دایرکتوری نیاز داریم که بتواند Certificate های کلید عمومی را تحویل دهد.

برای شروع ارتباط بین دو طرف A,B طرف شروع کننده ی ارتباط مثلا A نیاز دارد که کلید عمومی B را از PKI درخواست کند و در پاسخ PKI پیامی حاوی یک Certificate مثلا X.509 و کلید عمومی B را بازمی گرداند. پس از آنکه A صحت امضای B را بررسی و اطمینان حاصل کرد برای B پیامی که حاوی مشخصه ی شناسایی خود و یک nonce است را ایجاد کرده و پیام را با کلید عمومی B رمزگذاری کرده و برای طرف B ارسال می کند.

جهت شرکت در دوره های آموزشی سیسکو به صفحه دوره سیسکو مراجعه کنید.

طرف B پس از دریافت پیام نمی داند که آیا واقعا پیام از طرف A فرستاده شده و یا شخص سومی این پیام را ارسال کرده است بنابراین به روش قبلی از PKI کلید عمومی طرفA را درخواست می کند و پس از دریافت پاسخ یک کلید سری نشست را انتخاب کرده و خود یک عدد تصادفی جدید ایجاد می کند و این دو را بهمراه عدد تصادفی دریافتی از A در قالب یک پیام جدید برای A آماده وآن را با کلید عمومی A رمز گذاری کرده و برای او ارسال می کند.

طرف A پس از دیدن عدد تصادفی تولید شده توسط خودش در پیام اطمینان حاصل می کند که طرف محاوره واقعا B می باشد و درمی یابد که این پیام تکراری نیست. بار دیگر A پیامی برای B می فرستد و در آن عدد تصادفی ایجاد شده توسط B را قرار داده و به وسیله کلید سری نشست پیشنهادی خود B رمزگذاری می کند و به این طریق توافق خود را در مورد کلید سری نشست پیشنهادی اعلام می کند.به این ترتیب B متوجه می شود که A عدد تصادفی که توسط او تولید شده بود را بررسی کرده است.

با استفاده از روش احراز هویت با استفاده از رمز نگاری کلید عمومی هیچ شخص سومی قادر به نفوذ در ارتباط انجام شده نخواهد بود.

 

 آکادمی تخصصی شبکه و امنیت. ITperfection

جهت دسترسی به اطلاعات بیشتر میتوانید به صفحه بلاگ آیتی پرفکشن مراجعه کنید.

آیتی پرفکشن تهیه کننده و ارایه دهنده دوره های تخصصی شبکه و امنیت میباشد. از دانشجویان عزیز دعوت میشود جهت شرکت در دوره های آموزشی شبکه و امنیت به صفحه دوره های آموزشی مراجعه کنند.

جهت شرکت در دوره های آموزشی سیسکو به صفحه دوره سیسکو مراجعه کنید.

جهت شرکت در دوره های آموزشی MCSA و MCSE، علاقه مندان میتوانند به صفحه آموزش دوره های تخصصی شبکه های مایکروسافت رجوع کنند.

0 پاسخ به "پروتکل های احراز هویت"

    ارسال یک پیغام

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

    دو − 2 =

    کپی رایت آکادمی ITperfection.