احراز هویت یکپارچه (Single sign-on) یا به اختصار SSO یک سرویس احراز هویته که کاربر از طریق اون میتونه با یک مجموعه از اطلاعات ورودی، برای مثال، نام کاربری و کلمه عبور، به چند تا اپلیکیشن دسترسی پیدا کنه. شرکتها، سازمانهای بزرگ و کوچک و افراد میتونن با استفاده از SSO روند مدیریت اطلاعات ورودی مختلف رو تسهیل کنن.
کارکرد احراز هویت یکپارچه (SSO)
SSO یک درگاه مدیریت یکپارچه هویت هست. از این سیستم گاهی با عنوان مدیریت یکپارچه یاد میشه. احراز هویت آزاد یا Open Authorization (OAuth) یه نوع چارچوب هست که چند سرویس مختلف، میتونن با تکیه بر اون و بدون افشای کلمه عبور کاربر، از اطلاعات کاربری کاربران استفاده کنن.
OAuth به عنوان یک واسطه میان کاربر نهایی و سرویس عمل میکنه؛ به این صورت که یک توکن دسترسی به سرویس ارائه میده. این توکن نشون میده که کاربر به سروریس اجازه داده تا به اطلاعات کاربری دسرتسی داشته باشه. وقتی کاربر تلاش میکنه تا به یک برنامه کاربردی دسترسی پیدا کنه، ارائهدهنده سرویس درخواست احراز هویت رو به ارائهدهنده هویت (identity provider) ارسال میکنه. ارائهدهنده سرویس فرایند احراز هویت رو تأئید میکنه و به کاربر دسترسی میده.
در یک وب سرویس SSO ساده، برنامه کاربردی اطلاعات هویتی کاربر رو از سرور SSO میگیره، در عین حال کاربر رو احراز هویت میکنه. این سرویس کاربر نهایی رو برای تمامی اپلیکیشنها احراز هویت میکنه و سایر درخواست های کلمه عبور رو برای سایر برنامه های کاربردی در همون دوره زمانی رو حذف میکنه.
مراحل ورود معمولاً به این صورت است:
- کاربر به برنامه یا وبسایتی که میخواهد به آن دسترسی داشته باشد، یا همان ارائهدهنده خدمات، مراجعه میکند.
- ارائهدهنده خدمات کلمه عبوری را که حاوی اطلاعاتی درباره کاربر است، مانند آدرس ایمیل او، به سیستم SSO، به عنوان بخشی از درخواست احراز هویت کاربر ارسال میکند.
- ارائهدهنده هویت ابتدا بررسی می کند که آیا کاربر قبلاً احراز هویت شده است یا خیر، در این صورت به کاربر اجازه دسترسی به برنامه را می دهد و به مرحله 5 می رود.
- اگر کاربر وارد سیستم نشده باشد، با ارائه مدارک مورد نیاز توسط ارائهدهنده هویت از او خواسته میشود که این کار را انجام دهد. این می تواند به سادگی یک نام کاربری و کلمه عبور باشد یا ممکن است شامل نوعی دیگر از احراز هویت مانند یک کلمه عبور یک بار مصرف (OTP) باشد.
- هنگامی که ارائهدهنده هویت اعتبار ارائه شده را تأیید کرد، توکن را برای تأیید احراز هویت موفق به ارائه دهنده خدمات ارسال می کند.
- این توکن از طریق مرورگر کاربر به ارائه دهنده خدمات ارسال می شود.
- توکن توسط ارائهدهنده خدمات دریافت میشود و بر اساس رابطه اعتمادی که بین ارائهدهنده خدمات و ارائهدهنده هویت در طول پیکربندی اولیه تنظیم شده است، اعتبارسنجی میشود.
- به کاربر اجازه دسترسی به ارائه دهنده خدمات داده می شود.
انواع تنظیمات احراز هویت یکپارچه
بعضی از سرویسهای SSO از پروتکل، مثل Kerberos یا SAML استفاده میکنن:
- در Kerberos، پس از ارائه اطلاعات هویتی کاربر، یک ticket-granting ticket (TGT) صادر میشه. TGT تیکتهای سرویس برای سایر برنامه های کاربردی که کاربر میخواد بهشون دسترسی داشته باشه رو میگیره، بدون اینکه لازم باشه کاربر مجدداً اطلاعاتش رو وارد کنه.
- SAML یک استاندارد Extensible Markup Language هست که تبادل اطلاعات کاربری و دادههای احراز هویت در دامنههای امن رو آسون میکنه. سرویسهای مبتنی بر SAML میان کاربر، ارائهدهنده هویت که پوشه کاربر رو در اختیار داره و ارائهدهنده سرویس ارتباط برقرار میکنن.
- SSO های مبتنی بر کارت هوشمند از کاربر میخوان زمانی که میخواد برای اولین بار وارد بشه از یک کارت که شامل اطلاعات کاربری هست استفاده کنن. با وجود این کارت دیگه لازم نیست کاربر دوباره نام کاربری و کلمه عبورش رو وارد کنه. کارتهای هوشمند SSO، گواهی ها یا کلمه های عبور رو ذخیره میکنن.
مخاطره های امنیتی احراز هویت یکپارچه SSO
هرچند SSO برای کاربران راحته اما یک سری مخاطره های امنیتی هم داره و هکرهایی که به اطلاعات SSO کاربر دسترسی پیدا میکنن میتونن به تمام برنامه های کاربر دسترسی پیدا کنن و بدین ترتیب میزان خسارت رو افزایش بدن.
برای اینکه افراد غیرمجاز نتونن دسترسی پیدا کنن، سازمانها میتونن در کنار SSO از احراز هویت دو مرحلهای یا احراز هویت چند مرحلههای استفاده کنن تا امنیت رو افزایش بدن.
احراز هویت یکپارچه اجتماعی
هرچند SSO شبکه های اجتماعی برای کاربران راحته اما یک سری ریسکهای امنیتی هم داره چون یک نقطه شکست ایجاد میکنه و هکرها میتونن از اون سوء استفاده کنن.
خیلی از متخصصین حوزه امنیت به کاربران توصیه میکنن از سرویسهای SSO اجتماعی استفاده نکنن چون به محض اینکه هکرها به اطلاعات SSO کاربران دسترسی پیدا کنن، میتونن به تمامی اپلیکیشنهایی که از همون اطلاعات استفاده میکنن هم دسترسی پیدا کنن.
احراز هویت یکپارچه شرکتی
سرویسها و نرمافزارهای eSSO شرکتی به نوعی حکم مدیران کلمه عبور رو دارن که با استفاده از اطلاعات کاربری، دسترسی برنامه کاربردی مورد نظر رو به کاربر میدن. این اطلاعات کاربری تقریباً همیشه از یک نام کاربری و کلمه عبور تشکیل میشن. البته لازم نیست تغییری در برنامه های کاربردی ایجاد کرد تا بتونن با سیستم eSSO کار کنن.
احراز هویت یکپارچه app-to-app چیست ؟
در نهایت، ممکنه نام App-to-App یا Application-to-Application SSO رو هم شنیده باشید. این هنوز یک استاندارد صنعتی نیست. این صرفاً اصطلاحی هست که برای توصیف فرآیند انتقال هویت کاربر از یک برنامه به برنامه دیگر استفاده میشه.
مزایا و معایب احراز هویت یکپارچه
مزایای SSO عبارتند از:
- کاربران برای هر برنامه کاربردی نام کاربری و کلمه عبور کمتری باید به خاطر بسپارن.
- فرایند ورود و استفاده از برنامه های کاربردی یکپارچه است و لازم نیست مجدداً کلمه عبور وارد کرد.
- احتمال سرقت اطلاعات کاهش پیدا میکنه.
- احتمال اینکه به مدیران فناوری اطلاعات در مورد مسائل کلمه عبور مراجعه بشه کمتره.
معایب SSO عبارتند از:
- میزان خاصی از امنیت رو که هر برنامه کاربردی ممکنه بهش نیاز داشته باشه رو فراهم نمیکنه.
- اگر SSO در دسترس نباشه، کاربران دیگه نمیتونن به سیستمهایی که به SSO وصل هستن دسترسی پیدا کنن.
- اگر کاربران غیرمجاز به SSO دسترسی پیدا کنن به این معنیه که به چندین برنامه کاربردی دسترسی پیدا کردن.
منبع