on 22 Mar 2021 2:05 AM
  • سامانه sso single sign on مدیریت هویت و احراز هویت یکپارچه مرکزی
Alt

   

احراز هویت یکپارچه یا Single Sign On چیست؟

سوال "sso چیست؟" زیاد پرسیده می‌شود. برای درک بهتر، با یک مثال آن را توضیح می‌دهیم:

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

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

بنابراین سوالی که با آن روبرو هستیم این است که چرا این روند نمی‌تواند مانند دنیای آفلاین باشد؟ چرا نمی‌توانیم به هر کجا که می‌خواهیم برویم و یک هویت جهانی مانند شناسنامه، گذرنامه، گواهینامه رانندگی یا کارت ملی نشان دهیم؟

راه‌حل‌هایی وجود دارند که می‌توانند این وضعیت را تغییر دهند. یکی از این راه‌حل‌ها Single Sign On (یکبار ورود)ُ است که به کاربران امکان می‌دهد از یک هویت دیجیتالی واحد در چندین وب‌سایت استفاده کنند و تنها یکبار وارد شوند. این ورود از طریق درگاه احراز هویت مرکزی/یکپارچه دانشگاه یا سازمان رخ می‌دهد.

ورود از طریق درگاه احراز هویت مرکزی

درگاه احراز هویت مرکزی (SSO) با ایجاد امکان استفاده از پروتکلهای مختلف مانند (CAS, Oauth2, SAML2, OpenID, OpenID Connect, WS-Federation  و غیره ) کمک می‌کند تا کاربران، با یک نام کاربری و  گذرواژه به سامانه‌ها یا برنامه‌های مختلف وارد شوند. این ورود به شکل مرکزی اتفاق می‌افتد و سایر سامانه‌ها نیز به عنوان خدمت گیرنده به سرویس SSO متصل خواهند شد. البته مکانیزم اتصال به SSO بدون شک باید در سایر سامانه‌ها پیاده‌سازی شود. خوشبختانه با توجه به آماده بودن کتابخانه‌های مربوط به پروتکل‌های ذکر شده برای زبان‌های مختلف برنامه‌نویسی، این مهم براحتی قابل دستیابی هست.

مدلهای دسترسی به Single Sign On

اصولا سه نوع مدل تعامل با سرویس SSO وجود دارد: وب، تلفن همراه و Federated. مفهوم دسترسی برای هر سه مشترک است، اما در معماری و روش ها متفاوت هستند:

Web SSO: به کاربران شما اجازه می‌دهد تا به سایت‌های مختلف با یک هویت واحد دسترسی پیدا کنند. وقتی کاربر سایتهای جدید را باز می‌کند بصورت خودکار شناسایی می‌شود و اطلاعات کاربر بر اساس سطح دسترسی تعیین شده به هر سامانه ارسال می‌شود.

Mobile SSO: شبیه Web SSO است، انتظار دارید که کاربران بتوانند از یک هویت واحد برای دسترسی به برنامه‌های تلفن همراه استفاده کنند. این ارتباط میتواند از طریق یک وب‌سرویس REST یا از طریق یک کتابخانه محلی در سمت سیستم‌عامل تلفن همراه باشد.

Federated SSO: با عملکرد کمی متفاوت از SSO تحت وب و تلفن همراه کار می‌کند. به جای اتصال وب‌سایت‌ها یا برنامه‌های تلفن همراه، از اطلاعات ورود به سیستم که توسط دیگر سازمان‌های مشابه سازمان شما نگهداری می‌شود استفاده می‌کنید. این امر با استفاده از پروتکل‌های استاندارد SSO اتفاق می‌افتد. در حقیقت فدراسیونی از SSO خواهید داشت که می‌توانند با یکدیگر ارتباط برقرار کنند. فایده اصلی آن در این هست کاربران در صورت جابجایی بین دانشگاه یا سازمانها نیاز به ساخت کاربر/هویت جدید ندارند و از همان کاربر فعلی آنها در سازمان/دانشگاه قبلی می‌توانند استفاده کنند. پروتکلهای استانداردی در دنیا برای این کار ایجاد شده است.

همچنین راه‌حل‌هایی مانند همگام‌سازی رمز عبور وجود دارند که اغلب به عنوان راه‌حل‌های SSO مطرح می‌شوند. در صورتی که این راه‌حل‌ها‌، نوعی از پیاده‌سازی SSO نیستند که سازمان‌ها یا شرکت‌ها به دنبال آن هستند.


 

مزایای Single Sign On در چیست؟

هر سازمانی که بیش از یک وب‌سایت یا برنامه تلفن‌همراه داشته باشد می‌تواند از مزایای زیر برای احراز هویت مرکزی استفاده کند:


 

SSO را چگونه راه‌اندازی می‌کنید؟

تصمیم‌گیری در مورد بهترین روش اجرا واقعاً به شرایط، ساختار و نیازهای سازمانی شما بستگی دارد. چند نکته که هنگام تصمیم‌گیری در مورد چگونگی پیاده‌سازی SSO باید در نظر بگیرید را بیان می‌کنیم:

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

SSO چگونه کار می کند؟

همانطور که قبلاً توضیح داده شد، SSO تنها به کاربران امکان می‌دهد با یک هویت به وب‌سایت‌ها یا برنامه‌های مرتبط وارد شوند. این می‌تواند با متمرکز کردن فرآیند اخذ هویت و احراز هویت انجام شود.

این موارد استفاده را در انواع مختلف SSO در سامانه متین بررسی کنید:

Web SSO: یک دانشگاه از شرکت متن باز سامان سامانه SSO متین را خریداری کرده است. این دانشگاه دارای یک سایت کتابخانه، یک پورتال آموزشی، یک سایت آموزش الکترونیکی و یک پورتال تغذیه است. (البته در واقع تعداد سامانه‌ها بیشتر هست و اینها صرفا مثال هستند)

هر یک از 40،000 دانشجو نیاز به دسترسی به هر چهار وب‌سایت را دارند و داشتن یک رمز عبور بجای به خاطر سپردن چهار تا رمز عبور ارجحیت دارد. SSO برای هر یک از این وب‌سایت‌ها دسترسی یکپارچه ایجاد می‌کند و رابط کاربری آن طوری طراحی شده که مانند یک سامانه واحد، احراز هویت تمام وب‌سایت‌های دانشگاه را بهم پیوند می‌دهد.

 

Mobile SSO: یک شرکت خدمات الکترونیکی از شرکت متن باز سامان سامانه متین را خریداری کرده است. این شرکت 90000 مشترک با دو برنامه تلفن همراه دارد. یک برنامه برای ردیابی مصرف برق و برنامه دیگر برای صورتحساب استفاده می‌شود.

هر مشترک باید به هر دو برنامه تلفن همراه دسترسی داشته باشد. از نظر مشترک‌، داشتن یک رمز عبور برای ورود ترجیح داده می‌شود. SSO امکان دسترسی یکپارچه را فراهم می‌کند و رابط کاربری آن طوری طراحی شده است که مانند یک سامانه واحد احراز هویت برای هر دو برنامه باشد.

 

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

در کشورهایی که هویت دیجیتالی جزء سیاست‌گذاری‌های کلان آنها بوده است اصولا کاربرها با یک هویت یکتا در کل کشور کلیه خدمات را دریافت می‌کنند. اصولا برای پیاده‌سازی چنین روشهایی از درگاه‌های SSO که بصورت Federated با یکدیگر در ارتباط هستند استفاده می‌شود.

 

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