Single Sign-On چیست و چگونه کار می کند؟
single sign-on چیست؟
(SSO) یک روش احراز هویت است که کاربران را قادر می سازد تا با استفاده از تنها یک مجموعه اعتبار نامه، با چندین برنامه و وب سایت احراز هویت را به صورت ایمن انجام دهند.
SSO چگونه کار می کند؟
SSO براساس یک رابطه اعتماد ایجاد شده بین برنامه ای معروف به ارائه دهنده خدمات و یک ارائه دهنده هویت مانند Acive-Directory کار می کند. این رابطه اعتماد اغلب مبتنی بر گواهی است که بین ارائه دهنده هویت و ارائه دهنده خدمات رد و بدل می شود. از این گواهی می توان برای امضای اطلاعات هویتی که از طرف ارائه دهنده هویت به ارائه دهنده خدمات ارسال می شود استفاده کرد تا ارائه دهنده خدمات بداند از منبع معتبری دریافت می شود. در SSO ، این داده های هویتی به صورت نشانه هایی در بر می گیرد که شامل اطلاعات مشخصی درباره کاربر مانند آدرس ایمیل کاربر یا نام کاربری است.
جریان ورود به سیستم معمولاً به این شکل است:
مراجعه کاربر به برنامه یا وب سایتی که می خواهد به آن دسترسی داشته باشد، معروف به ارائه دهنده خدمات.
ارائه دهنده خدمات به عنوان بخشی از درخواست تأیید اعتبار کاربر، توکن ارسال می کند که حاوی برخی از اطلاعات مربوط به کاربر است ، مانند آدرس ایمیل وی، به سیستم SSO یا همان Identity Provider.
Identity Provider ابتدا بررسی می کند که آیا کاربر قبلاً احراز هویت شده است یا خیر ، در این صورت به کاربر اجازه می دهد تا به برنامه Provider Service دسترسی پیدا کند یا از مرحله ۵ عبور کند.
اگر کاربر به سیستم وارد نشده باشد، با ارائه مدارک مورد نیاز ارائه دهنده شناسه از وی خواسته می شود. این می تواند به سادگی یک نام کاربری و رمز عبور باشد یا ممکن است شامل فرم دیگری از تأیید اعتبار مانند رمز عبور یکبار مصرف (OTP) باشد.
هنگامی که ارائه دهنده شناسه اعتبارنامه ارائه شده را تأیید کرد، با تأیید اعتبار موفق، نشانه ای را به ارائه دهنده خدمات ارسال می کند.
این رمز از طریق مرورگر کاربر به ارائه دهنده خدمات منتقل می شود.
توکن دریافتی توسط ارائه دهنده خدمات با توجه به رابطه اعتمادی که بین ارائه دهنده خدمات و ارائه دهنده هویت در هنگام پیکربندی اولیه تنظیم شده است، اعتبار سنجی می شود.
اجازه دسترسی به ارائه دهنده خدمات به کاربر داده می شود.
هنگامی که کاربر سعی می کند به وب سایت دیگری دسترسی پیدا کند، وب سایت جدید باید یک رابطه اعتماد مشابه با راه حل SSO پیکربندی شود و جریان احراز هویت نیز همان مراحل را دنبال کند.
رمز SSO چیست؟
رمز SSO مجموعه ای از داده ها یا اطلاعات است که در طی فرآیند SSO از یک سیستم به سیستم دیگر منتقل می شود. داده ها می توانند به سادگی آدرس ایمیل کاربر و اطلاعاتی در مورد اینکه سیستم کد را ارسال می کند باشد. برای تأیید اینکه این توکن از منبع معتبری گرفته شده است ، باید رمزها را به صورت دیجیتالی برای گیرنده رمز امضا کرد. گواهی مورد استفاده برای این امضای دیجیتالی در طی مراحل اولیه پیکربندی رد و بدل می شود.
آیا SSO امن است؟
پاسخ این سوال “بستگی دارد.”
دلایل زیادی وجود دارد که SSO می تواند امنیت را بهبود بخشد. یک راه حل ورود به سیستم می تواند مدیریت نام کاربری و رمز عبور را برای کاربران و مدیران ساده کند. کاربران دیگر نیازی به پیگیری مجموعه های مختلف اعتبار ندارند و به سادگی می توانند یک رمز عبور پیچیده تر را به خاطر بسپارند. SSO اغلب کاربران را قادر می سازد خیلی سریعتر به برنامه های خود دسترسی پیدا کنند.
SSO همچنین می تواند مدت زمانی را که help desk برای کمک به کاربران با گذرواژه های گمشده اختصاص می دهد را نیز کاهش دهد. سرپرستان می توانند به صورت متمرکز نیازهایی مانند پیچیدگی رمز عبور و احراز هویت چند عاملی (MFA) را کنترل کنند. همچنین هنگام خروج کاربر از سازمان، سرپرستان می توانند با سرعت بیشتری از امتیازات ورود به سیستم در سراسر هیئت مدیره صرف نظر کنند.
ورود به سیستم تنها دارای اشکالاتی است. به عنوان مثال ، ممکن است برنامه هایی داشته باشید که می خواهید کمی بیشتر محافظت شوند. به همین دلیل، مهم است که یک راه حل SSO انتخاب کنید که به شما امکان دهد مثلاً قبل از ورود کاربر به یک برنامه خاص، به یک فاکتور احراز هویت اضافی نیاز داشته باشید یا از دسترسی کاربران به برنامه های خاص جلوگیری کند، مگر اینکه به یک برنامه امن متصل شوند.
SSO چگونه اجرا می شود؟
مشخصات نحوه راه حل SSO بسته به اینکه دقیقاً با چه راه حل SSO کار می کنید متفاوت خواهد بود. اما شامل مراحل است شما باید اطمینان حاصل کنید که اهداف مشخصی را برای اجرای خود تعیین کرده اید. قبا از شروع حتما به سوالات زیر پاسخ دهید:
- به چه نوع مختلفی از کاربران خدمت می کنید و نیازهای مختلف آنها چیست؟
- آیا به دنبال راه حل On Prem یا Cloud based هستید؟
- آیا این راه حل می تواند با شرکت و نیازهای شما رشد کند؟
- به دنبال چه ویژگی هایی هستید تا مطمئن شوید فقط کاربران معتمد وارد سیستم می شوند؟ MFA ، احراز هویت تطبیقی، اعتماد دستگاه، لیست سفید آدرس IP و غیره؟
- برای ادغام با چه سیستم هایی نیاز دارید؟
- آیا به دسترسی API نیاز دارید؟
- چه چیزی باعث ایجاد یک سیستم SSO واقعی می شود؟
درک تفاوت بین SSO و password vaulting یا password managers مهم است، که گاهی اوقات به عنوان SSO شناخته می شوند که می تواند به معنای Same Sign-on باشد و نه Single Sign-on. با استفاده از password vaulting، ممکن است نام کاربری و رمز عبور یکسانی داشته باشید، اما هر بار که به برنامه یا وب سایت دیگری می روید، باید آنها را وارد کنید. سیستم password vaulting به سادگی اطلاعات کاربری شما را برای همه برنامه های مختلف ذخیره و در صورت لزوم درج می کند. هیچ رابطه اعتماد بین برنامه ها و سیستم password vaulting تنظیم نشده است.
با SSO ، به معنای Single Sign-On ، پس از ورود به سیستم SSO ، می توانید بدون نیاز به ورود مجدد به کلیه برنامه ها و وب سایت های مورد تأیید شرکت دسترسی پیدا کنید. این شامل برنامه های ابری و همچنین برنامه های پیش از موعد است که اغلب از طریق پورتال SSO (همچنین پورتال ورود به سیستم نیز نامیده می شود) در دسترس است.
نرم افزار SSO در مقابل راه حل SSO چیست
هنگام تحقیق در مورد گزینه های SSO که در دسترس هستند، ممکن است مشاهده کنید که بعضی اوقات به آنها به عنوان نرم افزار SSO در مقابل راه حل SSO در مقابل ارائه دهنده SSO گفته می شود. در بسیاری از موارد، تفاوت ممکن است به سادگی در طبقه بندی شرکتها باشد. یک نرم افزار چیزی را پیشنهاد می کند که به صورت پیش فرض نصب شده باشد. معمولاً برای انجام مجموعه خاصی از کارها و نه چیز دیگری طراحی می شود. یک راه حل نشان می دهد که توانایی گسترش یا سفارشی سازی قابلیت های محصول اصلی وجود دارد. یک ارائه دهنده راهی برای مراجعه به شرکتی است که راه حل را تولید یا میزبانی می کند. به عنوان مثال، OneLogin به عنوان یک ارائه دهنده راه حل SSO شناخته می شود.
آیا انواع مختلف SSO وجود دارد؟
هنگام صحبت در مورد Single Sign-On (SSO) اصطلاحات زیادی استفاده می شود.
- Federated Identity Management (FIM)
- OAuth (specifically OAuth 2.0 nowadays)
- OpenID Connect (OIDC)
- Security Access Markup Language (SAML)
- Same Sign On (SSO)
SSO در واقع بخشی از یک مفهوم بزرگتر به نام Federated Identity Management است، بنابراین گاهی اوقات SSO به عنوان federated SSOنامیده می شود. FIM به یک رابطه اعتماد که بین دو یا چند دامنه یا سیستم های مدیریت هویت ایجاد می شود، اشاره دارد.
OAuth 2.0 یک چارچوب خاص است که می تواند بخشی از معماری FIM نیز در نظر گرفته شود. OAuth بر روی آن رابطه قابل اعتماد متمرکز است که اجازه می دهد اطلاعات هویت کاربر در دامنه ها به اشتراک گذاشته شود.
OpenID Connect (OIDC) یک لایه احراز هویت است که در بالای OAuth 2.0 ساخته شده است تا قابلیت ورود به سیستم تنها را فراهم کند.
Security Access Markup Language (SAML) یک استاندارد باز است که برای ارائه قابلیت Single Sign-on طراحی شده است.
همچنین برخی سیستم های خاص وجود دارد که معمولاً هنگام بحث در مورد ورود به سیستم تنها وارد سیستم می شوند: Active Directory ، Active Directory Services Services (ADFS) و Lightweight Directory Access Protocol (LDAP).
Active Directory که امروزه به طور خاص از آن به عنوان Active Directory Directory Services (ADDS) یاد می شود، سرویس دایرکتوری متمرکز مایکروسافت است. کاربران و منابع برای مدیریت مرکزی به سرویس دایرکتوری اضافه می شوند و ADDS با پروتکل های احراز هویت مانند NTLM و Kerberos کار می کند. بنابراین ، کاربرانی که به ADDS تعلق دارند می توانند از طریق ماشین های خود احراز هویت شوند و به سیستم های دیگری که با ADDS ادغام می شوند، به دیگر منابع دسترسی پیدا کنند. این نوعی ورود به سیستم است.
Active Directory Services Services (ADFS) نوعی سیستم مدیریت هویت است که قابلیت های ورود به سیستم تنها را نیز فراهم می کند. هم از SAML و هم از OIDC پشتیبانی می کند. ADFS در درجه اول برای ایجاد اعتماد بین ADDS و سایر سیستم ها مانند Azure AD یا سایر جنگل های ADDS استفاده می شود.
(LDAP) به سادگی یک استاندارد است که روشی را برای سازماندهی و پرس و جو از اطلاعات دایرکتوری تعریف می کند. LDAP به شما امکان می دهد منابعی مانند کاربران و سیستم ها را به صورت مرکزی مدیریت کنید. LDAP، نحوه ورود شما به آن سیستم ها را مشخص نمی کند، به این معنی که پروتکل های واقعی را که در تأیید اعتبار استفاده می شوند را تعریف نمی کند. با این حال اغلب به عنوان بخشی از فرایند احراز هویت و فرایندهای کنترل دسترسی استفاده می شود. به عنوان مثال قبل از دسترسی کاربر به یک منبع خاص ، ممکن است از LDAP برای جستجوی آن کاربر و هر گروهی که به آنها تعلق دارد استفاده شود تا ببیند آیا کاربر به آن منبع دسترسی دارد یا خیر. راه حل های LDAP مانند OpenLDAP احراز هویت را از طریق پشتیبانی از پروتکل های تأیید اعتبار مانند تأیید اعتبار ساده و لایه امنیتی (SASL) فراهم می کند.
نرم افزار SSO به عنوان سرویس چیست؟
همانطور که بسیاری از برنامه های دیگر برای اجرا در اینترنت منتقل شده اند، عملکرد SSO نیز همین طور است. سیستم عامل هایی مانند OneLogin که در فضای ابری اجرا می شوند را می توان به عنوان یک نرم افزار به عنوان یک راه حل SSO سرویس (SaaS) دسته بندی کرد.
مطالب زیر را حتما بخوانید
-
اکتیو دایرکتوری (Active Directory) چیست و چگونه کار می کند؟
119 بازدید
-
بخش بندی شبکه (Network Segmentation) چیست؟
183 بازدید
-
۸ راه برای افزایش امنیت شبکه
2.67k بازدید
-
۲۰ اصطلاح مهم امنیت شبکه که باید بدانید
3.16k بازدید
-
SOC چیست؟ تکنولوژی، اهداف و ابزارهای مرکز عملیات امنیت
6.38k بازدید
-
فیشینگ (Phishing) چیست؟ بررسی و نحوه پیشگیری از آن چگونه است
2.55k بازدید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.