در این مقاله پروتکلهای اجراز هویت مورد بررسی قرار خواهد گرفت.
1) PAP protocol
پروتکل های احراز هویت PAP یک پروتکل احراز هویت ساده است که در آن نام کاربری و پسورد در قالب متن رمزگذاری نشده (unencrypted) به سروری که به آن ریموت زده ایم ارسال می شود این پروتکل در واقع شمایی است که بیشتر به منظور احراز هویت برای پروتکلPPP به کاربرده می شود و پروتکلی امنی نیست و به راحتی توسط هکر ها مورد حمله قرار می گیرد زیرا که بهنگام ارسال و یا دریافت packet ها در طی فرایند احراز هویت ، پسورد به راحتی خوانده می شود. در اصطلاح می توان گفت که PAP از یک فرایند hand shake متقابل تبعیت می کند و پس از برقرای ارتباط،user name و پسورد را برای سرور مقابل که قصد ریموت زدن به آن را داریم ارسال می کند اگر این رمز کاربری و پسورد برای سرور مقابل معتبر باشد تائیدیه خود را برای ما ارسال می کند (acknowledge می دهد ) در غیر اینصورت به ارتباط خاتمه داده و در انتظار فرصتی دیگر برای برقراری ارتباط می ماند.
2) SPAP protocol
یک الگوریتم رمز گذاری دو طرفه برای امنیت پسورد و برای احراز هویت به هنگام برقرای ارتباط به صورت ریموت ارائه می دهد.
این پروتکل به پروتکل شیوا معروف است واز یک encryption ساده بهره می گیرد که به راحتی شکسته می شود که در این الگوریتم کلاینت پسورد خود را به صورت Encrypt و رمزگذاری شده برای سروری که به آن ریموت زده ارسال می کند و سرور این پسورد را decrypt کرده و از پسورد در یک قالب متنی برای ارتباط ریموت با کلاینت استفاده می کند. این پروتکل نسبت به PAP ایمن تر است اما باز هم پسورد ،به دلیل اینکه SPAP بهنگام برقراری هر ارتباطی، مجددا از همان رمز عبور کاربر که بصورت برگشت پذیر رمز گذاری کرده ، بهره می گیرد به آسانی قابل دستیابی است. برای استفاده از پروتکل شیوا باید نکات زیر را در نظر داشت ،
اول اینکه اگر پسورد کلاینت منقضی شود SPAP قادر به تغییر پسورد در طی پروسه احراز هویت نخواهد بود.
و دومین نکته این است که قبل از اینکه network policy های مربوط به SPAP را روی NPS فعال کنیم باید مطمئن شویم که Network Access Server یا (NAS) این پروتکل را پشتیبانی می کند.
3) CHAP protocol
این پروتکل یک رشته (string) را به مقصد مورد نظر ارسال می کند هنگامی که یک ارتباط ریموت میان کلاینت و سرور با استفاده از CHAP برقرار می شود ، در واقع سرور یک challenge میان خود و کلاینت ایجاد می کند . کلاینت بهنگام ارتباط ریموت از یک تابع و یا الگوریتم hash استفاده می کند که بر اساس challenge ایجاد شده میان کاربر و سرور و در نتیجه هش محاسبه شده از رمز عبور کاربر ، به محاسبه ی message digest-5 یا (MD5)که یک تابع هش رمزنگاری شناخته شده با مقدار 128 بیت است می پردازد .
متقابلا سرور نیز با همین روش به هش مربوط به پسورد کابر دست یافته و آن را با اطلاعاتی که از سوی کاربر دریافت کرده مقایسه می کند و در صورت تشابه هش ها ارتباط را برقرار کرده در غیر اینصورت برقراری ارتباط منتفی خواهد شد.واین مفهوم handshake authentication Challenge می باشد.
4) MSCHAP protocol
این پروتکل نسخه ی از CHAP است که مایکروسافت منحصرا برای احراز هویت در ارتباطات ریموت سیستم عامل های ویندوزی با یکدیگر ارائه داده است .
این پروتکل نیز همانند CHAP از مکانیزم پاسخ به یک challenge و بدون ارسال پسورد، فرایند احراز هویت را انجام می دهد. و برای ایجاد این challenge از الگوریتم hashing بنام MD4 و الگوریتم استاندارد رمزگذاری داده ها (DES) استفاده می کند و همچنین مکانیزمی را برای ارائه گزارش از خطاهای هنگام اتصال و نیز تغییر رمز عبور کاربران در نظر گرفته است.
5) MS CHAPv2 protocol
در MS-CHAPv1 احراز هویت تنها به عهده سرور بود اما در این نسخه این ضعف برطرف شده و احراز هویت به صورت متقابل (هم از سوی سرور و هم کلاینت ) صورت می گیرد. به این حالت در اصطلاح Mutual Authentication یا احراز هویت دو طرفه هم می گویند.
6) EAP protocol پروتکل احراز هویت توسعه پذیر
یکی از تکنولوژی های پایه ای است که به سرویس دهنده های شبکه های سیمی و بی سیم، اجازه ی احراز هویت وسایل شبکه را می دهد.
پروتکل احراز هویت توسعه پذیر نقطه به نقطه، مکانیزمی است که یک تبادل پیام استاندارد بین دستگاه ها را بر روی پروتکل احراز هویت تعریف می کند. EAP یکی از تکنولوژی های پایه ای است که به سرویس دهنده های شبکه های سیمی و بی سیم، اجازه ی احراز هویت وسایل شبکه را می دهد.
پروتکل EAP برای ارتباط نیاز به پروتکل IP ندارد (از لایه ی پیوند داده استفاده می کند). استفاده از پروتکل EAP در شبکه هایی که از DHCP برای آدرس های IP خود استفاده می کنند مفید است، چون تا زمانی که یک سرویس گیرنده توسط شبکه احراز هویت نشده است نمی تواند از سرویس دهنده ی DHCP آدرس IP دریافت کند. پروتکل EAP به تنهایی نمی تواند به عنوان یک پروتکل احراز هویت مورد استفاده قرار گیرد (این پروتکل صرفاً یک استاندارد تبادل پیام های احراز هویت بین سرویس گیرنده و سرویس دهنده ی احراز هویت است). EAP تعدادی از پروتکل های احراز هویت که تضمین کننده-ی امنیت در حین عملیات احراز هویت هستند را پشتیبانی می کند. خصوصیات امنیتی و قدرت رمزنگاری متفاوت در هر کدام از این پروتکل ها موجب میشود که شرکتها بتوانند بر حسب نیاز خود از پروتکل مناسب برای برنامه ی کاربردی 802.1X خود استفاده کنند. متداول ترین پروتکل های احراز هویت تحت پوشش EAP به شرح زیر میباشند:
EAP-MD5
EAP-OTP
EAP-TLS
EAP-TTLS
EAP-PEAP
Cisco LEAP
6) EAP protocol انواع پروتکل های احراز هویت توسعه پذیر
– روش EAP-MD5
این پروتکل یک الگوریتم امنیتی EAP است که سطح اصلی حمایت شده توسط پروتکل EAP را تأمین می کند.
این روش از یک پیام 128 بیتی (مقدار درهم سازی شده ی چالش سرویس گیرنده و کلمه عبور کاربر) برای احراز هویت سرویس گیرنده استفاده می کند. روش EAP-MD5 برای شبکه های اترنت مطمئن که در آن ها خطرات امنیتی پایین است مناسب بوده و به دلیل انجام احراز هویت یک طرفه، استفاده از آن برای شبکه های اترنت عمومی و شبکه های محلی بی سیم پیشنهاد نمی شود. بدون انجام یک احراز هویت دوطرفه، نفوذگر می تواند به سادگی شناسه ی ایستگاه یا کلمه عبور درهم سازی شده را شنود کند و یا خود را به جای یک نقطه ی دسترسی جا بزند.
– روش EAP-OTP
این پروتکل بسیار شبیه EAP-MD5 است با این تفاوت که به ازای هر پاسخ از یک کلمه عبور استفاده می کند. درخواست شامل یک پیام قابل نمایش است. روش OTP در شبکه های خصوصی مجازی (VPN) و ارتباطات نقطه به نقطه استفاده می شود ولی همچنان برای استفاده در شبکه های محلی بی سیم مناسب نیست.
– روش LEAP
احراز هویت دوطرفه را تأمین کرده و از کلیدهای WEP که به صورت پویا تولید می شوند برای رمزنگاری داده ی انتقالی استفاده می کند. احراز هویت دوطرفه خطر حمله ی ایفای نقش به جای نقطه ی دسترسی را کاهش می دهد ولی شناسه ی ایستگاه ها و کلمات عبور آن ها همچنان نسبت به حمله ی دیکشنری آسیب پذیر هستند. LEAP برای سازمان هایی که می خواهند نمودار امنیتی خود را تا حدی افزایش دهند مناسب است.
– روش EAP-TLS
در حال حاضر روش EAP-TLS متداول ترین روش پیاده سازی EAP برای شبکه های محلی بی سیم است. EAP-TLS بر مبنای پروتکل SSL است.
پروتکل SSL امروزه برای احراز هویت بیشتر تراکنش های امن تحت وب به کار می رود. در EAP-TLS، کاربران نیاز به گواهینامه دارند و احراز هویت دوطرفه ی سرویس گیرنده و سرویس دهنده را تأمین می کند. هم ایستگاه و هم سرویس دهنده ی RADIUS باید هویت خود را از طریق رمزنگاری کلید عمومی در فرم گواهینامه ی دیجیتال یا کارت هوشمند خود ثابت کنند. در صورت استفاده در ایستگاه های بی سیم، از کلیدهای WEP که به صورت پویا تولید می شوند برای ارتباطات امن بین سرویس گیرنده ی شبکه ی محلی بی سیم و نقطه ی دسترسی استفاده می-شود. یک تونل TLS رمزنگاری شده، روش EAP-TLS را نسبت به حملات دیکشنری و شخص ثالث بسیار مقاوم تر می کند.
روش EAP-TLS دارای مشکلاتی نیز می باشد. به عنوان مثال در این روش یک نفوذگر می-تواند شناسه ی ایستگاه (نام تخصیص داده شده به گواهینامه) را شنود کند. همچنین، گواهینامه ها باید در هر دو سمت سرویس گیرنده و سرویس دهنده مدیریت شوند. این روش برای سازمان های بزرگی که از گواهینامه ی دیجیتال استفاده می کنند، روش بسیار مناسبی است. روش های EAP حفاظت شده (EAP-TTLS و EAP-PEAP) برای کاهش پیچیدگی و هزینه ی گسترش گواهینامههای کاربران که در EAP-TLS مورد نیاز است، دو روش پیشنهاد شده است که این روش ها از گواهینامه ی سمت سرویس دهنده برای احراز هویت سرویس دهنده استفاده کرده و یک تونل EAP-TLS را ایجاد می کند.
پس از آن از دیگر روشهای احراز هویت در این تونل استفاده می شود. این روش ها EAP-TTLS و EAP-PEAP هستند. EAP-TTLS و PEAP هر دو به منظور ساده سازی برنامه های کاربردی 802.1X طراحی شدند و از مفاهیم ساده تری در احراز هویت استفاده می کنند. EAP-TTLS از احراز هویت دوطرفه ی سرویس گیرنده و شبکه، از طریق یک تونل رمزنگاری شده و کلیدهای WEP پویا (به ازای هر نشست، به ازای هر کاربر) استفاده می کند. بر خلاف EAP-TLS این روش تنها به گواهینامه ی سمت سرویس گیرنده نیاز دارد. روش PEAP نیز مانند EAP-TTLS تنها از گواهینامه ی سمت سرویس-دهنده برای احراز هویت استفاده می کند. و بنابراین پیادهسازی و مدیریت یک شبکه ی محلی بی سیم امن را ساده تر می کند. EAP-TTLS و EAP-PEAP نیز مانند EAP-TLS در برابر بسیاری از حملات مقاوم هستند.
ادامه مبحث در بخش بعدی ارائه شده است.