سامانه احراز هویت مرکزی CAS

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

مرورگر کاربر- مرجع ارتباط دهنده درخواستهای تصدیق هویت به سرویس احراز هویت – سرویس دهنده

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

بمحض درخواست کاربر برای دسترسی به سرویسهای درونسازمانی، درخواستهای تصدیق هویت از سرویسهای مربوطه به پورتال ارسال میشود که در ادامه با استعلام واحد سرویس گیرنده CAS از سرویس دهنده هویت کاربر تعیین و تائید و یا رد میگردد.

سرویس دهنده CAS میتواند برای پروسه تصدیق هویت از منابع اطلاعاتی گسترده‌ای همچون بانکهای اطلاعاتی رابطه‌ای یا سرویس‌دهنده دایرکتوری(LDAP)  و … بهره‌برداری نماید. مکانیزم پشتیبانی شده توسط این سیستم را Single Sign On  مینامند.

 

 SSO مخفف Single Sign On به عمل وارد شدن یک کاربر به سایتها و برنامه‌های مختلف تنها با یک نام کاربری و گذرواژه یکسان میگویند.

به این معنی که اطلاعات مربوط به اعتبار سنجی و تائید هویت کاربر یعنی user name و password ، در یک ناحیه امن بصورت موقت نگهداری میشود و از آن پس این کاربر بمنظور ورود به سایتها و بخشهای مختلف)دسترسی به برنامه‌های متعدد) نیازی نیست مجدداً Login نماید . این سیستم قابلیت متمرکز کردن احراز هویت انواع سیستمهای نرم‌افزاری، فارغ از مکانیزم مورد استفاده برای احراز هویت را در خود دارد. در ساختار SSO کاربر صرفا یک نام کاربری و رمز عبور یکتا در شبکه دارد که بلافاصله بعد از اینکه وارد یک سیستم در ساختار SSO شود میتواند از تمامی منابعی که برای وی در شبکه تعریف شده است استفاده کند، بدون نیاز به اینکه برای هر منبع اطلاعاتی نام کاربری و رمز عبور جدیدی وارد کند.

در SSO امنیت کلمه عبور بسیار حائز اهمیت است و اکانتهایی که بین سیستمها انتقال پیدا مینمایند باید بصورت رمزنگاری شده بکار گرفته شوند. سهولت در ویرایش اکانتها)مثل تغییر رمز عبور) و حذف حسابهای کاربری در مدیریت سیستمها، از مزیتهای SSO به شمار میایند.

ساختار پیاده‌سازی SSO از مراحل زیر تشکیل شده است:

  • استفاده از دایرکتوری مرکزی جهت Authentication
  • تصدیق کاربران بر اساس این دایرکتوری
  • تعیین مجوزهای کاربران بر اساسCredential های مربوطه

پیاده‌سازی SSO به روشهای مختلفی صورت میپذیرد که دو روش آن در زیر آورده شده است:

  • اسکریپت: در این روش، اسکریپت اطلاعات اکانت کاربر را بصورت رمزگذاری شده به سیستم تشخیص هویت ارسال میکند و پس از تائید هویت، کاربر وارد سیستم میشود.
  • کوکی: در این روش کوکیهای سیستم کاربر به سروری که کاربر میخواهد به آن وارد شود ارسال میشود. در واقع سیستمهای نرم‌افزاری تحت وبی که دامنه(Domain) مشابه دارند، اما بر روی چند سرور قرارگرفته‌اند، جهت تشخیص هویت کاربر از کوکیهایی استفاده مینمایند که بصورت رمزنگاری‌شده هستند و بر روی سیستم کاربر قرارگرفته‌اند. به این ترتیب هویت کاربر در تمامی سرورها تائید میشود.

 

امکانات راستین CAS

پشتیبانی کامل از تمامی امکانات پروتکل ورژن ۳  استاندارد CAS در مستند رسمی این پروتکل: http://jasig.github.io/cas/4.0.x/protocol/CAS-Protocol.html که شامل موارد زیر می شود:

- امکان احراز هویت مرکزی از طریق SSO برای ورود به سیستم.

- امکان خروج مرکزی از سیستم Single Sign Out

- امکان احراز هویت از طریق فاکتورهای مختلف:

  • Active Directory
  • LDAP
  • JDBC
  • RADIUS
  • X509. Certificates

- وجود client های مختلف در زبان های مختلف برنامه نویسی: php، java، .net، ruby، python، go

- امکان احراز هویت چندگانه از طریق نرم افزار موبایل Acceptto

- امکان Single Sign Out یا  kill کردن session های مجزا از طریق نرم افزار موبایل Acceptto