امین برجیان
امین برجیان
خواندن ۹ دقیقه·۳ سال پیش

احراز هویت یکپارچه

احراز هویت یکپارچه (Single Sign On)
احراز هویت یکپارچه (Single Sign On)

راهکارهای احراز هویت یکپارچه (Single Sign-on یا SSO) در سال‌های اخیر از اهمیت زیادی برخوردار گشته‌اند. در سال‌های اخیر استفاده از نرم‌افزارهای مبتنی بر وب بسیار افزایش یافته است و به همین دلیل در بین کاربران روشی کارا برای احراز هویت بین سامانه‌های مختلف اهمیت فراوانی پیدا کرده است.

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

احراز هویت یکپارچه

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

روش احراز هویت چگونه عمل می‌کند؟ روش احراز هویت یکپارچه بر اساس یک رابطه اعتماد ایجاد شده بین یک برنامه کاربردی که به عنوان ارائه دهنده‌ی خدمات (service provider) شناخته می‌شود و یک ارائه دهنده‌ی هویت (identity provider) کار می‌کند. این رابطه اعتماد اغلب بر اساس گواهی است که بین ارائه دهنده‌ی هویت و ارائه دهنده‌ی خدمات رد و بدل می شود. این گواهی معمولا برای این استفاده می‌شود تا اطلاعاتی که قرار هست بین ارائه‌دهنده‌ی خدمات و همچنین ارائه‌ دهنده‌ی هویت جابه‌جا می‌شود، امضای الکتریکی (signed) شوند تا ارائه دهنده‌ی خدمات هنگام دریافت اطلاعات هویتی مطمئن باشد که این اطلاعات را از ارائه‌ دهنده‌ی هویتی معتبر و درست دریافت کرده است.

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

  1. کاربر ابتدا برنامه یا وبسایتی که می‌خواهد به آن دسترسی پیدا کند را باز می‌کند. (service provider)
  2. سرویس ارائه‌دهنده در هنگام احراز هویت کاربر، یک توکن شامل اطلاعات کاربر مثلا ایمیل را به سامانه ارائه‌دهنده‌ی هویت یکپارچه (SSO) ارسال می‌کند.
  3. سرویس ارائه دهنده‌ی هویت در ابتدا بررسی می‌کند که آیا کاربر تاکنون احراز هویت انجام داده است یا خیر. در صورتی که کاربر احراز هویت کرده باشد، سرویس ارائه‌دهنده‌ی هویت به کاربر اجازه‌ی ورود می‌دهند و در ادامه به مرحله‌ی 5 می‌رویم.
  4. در صورتی که کاربر تاکنون احراز هویت نکرده باشد و به سامانه وارد نشده باشد، از کاربر درخواست می‌شود که اطلاعات هویتی لازم را برای بررسی هویت وارد نماید. این اطلاعات می‌تواند در ساده‌ترین حالت به صورت نام کاربری و رمز کاربر باشد و حتی در موارد پیچیده‌تر می‌تواند به صورت رمزهای یکبار مصرف (OTP) باشد.
  5. هنگامی که ارائه دهنده‌ی هویت اطلاعات امنیتی کاربر را تایید کرد، یک توکن که نشان‌دهنده‌ی احراز هویت موقت کاربر بوده به سمت ارائه هنده‌ی سرویس ارسال می‌شود.
  6. توکن پس از دریافت‌شدن توسط ارائه دهنده‌ی سرویس، بر اساس اطمینانی که از قبل بین ارائه دهنده‌ی خدمات و ارائه دهنده‌ی هویتی که در ابتدای تنظیمات اولیه برقرار شده بود، بررسی و تایید می‌شود.
  7. برای کاربر اجازه‌ی دسترسی به ارائه دهنده‌ی سرویس فراهم می‌شود.

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

چرا باید از احراز هویت یکپارچه استفاده کنیم؟

اما سوال اصلی این که چرا یک سازمان باید از احراز هویت یکپارچه استفاده کند؟ مهم‌ترین مزیت که استفاده از این روش برای یک سازمان خواهد داشت این است که سازمان می‌تواند برای تمامی کاربران خود یک مجموعه یکسان از اطلاعات هویتی را برای دسترسی به تمامی سرویس‌های فناوری اطلاعات (IT) فراهم کند. همچنین استفاده از احراز هویت یکپارچه میزان بهره‌وری، امنیت و تجربه کاربری کاربران و تیم‌ها را افزایش می‌دهد.

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

مزایا و معایب روش احراز هویت یکپارچه

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

مزیت‌ها

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

معایب

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

خوشبختانه، بسیاری از معایب احراز هویت یکپارچه را می‌توان با استفاده از یک راه‌حل بزرگتر مثل سرویس مدیریت دسترسی (IAM) که شامل احراز هویت یکپارچه نیز می‌باشد، به همراه اجرای سیاست‌های خاص برای کارمندان، حل‌ نمود.

نمونه سرویس‌های متن‌باز برای احراز هویت یکپارچه

نرم‌افزار Aerobase Server

این سرویس، یک سرویس منبع‌باز (open source) می‌باشد که برای مدیریت دسترسی و هویت (IAM) استفاده می‌شود. این نرم‌افزار به راحتی سرویسی امن و احراز هویت قوی را ارائه می‌دهد. این ابزار امکاناتی از جمله موارد زیر ا فراهم می‌کند:

  1. احراز هویت یکپارچه (SSO) که مدیریت و به یادسپاری رمزها را ساده می‌نماید.
  2. پشتیبانی از ساختارهای پوشه‌ای (directory based) متنوع از جمله active directory، LDAP، ADFS و ...
  3. قابلیت ورود از شبکه‌های اجتماعی مختلف شامل گوگل، فیس‌بوک و ...
  4. فراهم‌سازی یک جریان ورود یکسان و امن و بهبود تجربه‌ی کاربری
  5. امن‌سازی دسترسی به برنامه توسط مکانیزم‌های MFA برای اجبار امنیت قوی
  6. فراهم‌نمودن ساختار منسجم برای دریافت لاگ‌ها و رفع عیب
  7. فراهم سازی احراز هویت دو مرحله (Two-Factor Authentication)
  8. فراهم کردن رابط کاربری ساده و قوی برای مدیریت مرکزی

نرم‌افزار Keycloak

این نرم‌افزار، یک نرم‌افزار منبع باز (open source) می‌باشد که به راحتی قابلیت‌های مدیریت دسترسی و هویت را برای شما فراهم می‌کند. امنیت برنامه‌ها و سرویس‌ها را با کد کم یا بدون کد آسان می‌کند.

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

فعال کردن ورود به سیستم با شبکه های اجتماعی به راحتی از طریق کنسول مدیریت اضافه می‌شود. فقط مسئله‌ی انتخاب شبکه اجتماعی است که می خواهید اضافه کنید و هیچ کد یا تغییری در برنامه لازم نیست!

نرم‌افزار Keycloak دارای پشتیبانی داخلی برای اتصال به سرورهای LDAP یا Active Directory موجود است. همچنین از طریق کنسول مدیریت، مدیران می‌توانند تمام جنبه‌های سرور Keycloak را به صورت مرکزی مدیریت و شخصی‌سازی کنند. آن‌ها می توانند ویژگی‌های مختلف را به سادگی فعال و غیرفعال کنند. آن‌ها می‌توانند کارگزاری هویت و فدراسیون کاربر را پیکربندی کنند. آن‌ها می‌توانند برنامه‌ها و خدمات را ایجاد و مدیریت کنند و خط مشی‌های مجوز دقیق را تعریف کنند. آن‌ها همچنین می‌توانند کاربران از جمله مجوزها و جلسات را با مطابق با نیاز خود مدیریت کنند.

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

نمونه سرویس‌های ایرانی

شرکت آتین

شرکت آتین، یک شرکت دانش‌بنیان و مستقر در پارک علم و فناوری دانشگاه تهران می‌باشد که در سال 1396 فعالیت خود را در حوزه ارائه‌ی خدمات احراز هویت آغاز کرده است.

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

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

برای اطلاعات بیش‌تر نسبت به مزایای این شرکت و نحوه‌ی استفاده از آن می‌توانید به آدرس «سامانه‌ی احراز هویت متمرکز آتین» مراجعه نمایید.

https://authin.ir/single-sign-on/

شرکت هویتا

شرکت دانش بنیان فناوران هویت الکترونیکی امن (هویتا)، فعالیت خود را از سال 1381 در کشور آغاز نموده‌ و هدف آن، توسعه محصولات و خدمات حوزه زیرساخت مانند احراز هویت و هویت‌سنجی دیجیتال و ... به منظور تأمین امنیت اطلاعات و ارتباطات می‌باشد.

سامانه احراز هویت ParsSSO شرکت هویتا، سرویس‌های احراز هویت و امضای دیجیتال مبتنی بر PKI را ارائه می‌‌دهد. احراز هویت در این سامانه به صورت Single Sign-On است یعنی تنها با یکبار احراز هویت، کاربر می‌‌تواند از تمامی سامانه ‌های سازمان بدون نیاز به احراز هویت مجدد استفاده نماید. همچنین مدیریت یکپارچه کاربران، مشکلات مربوط به سرپرستی سامانه ‌ها را به صورت چشمگیری کاهش می‌دهد. با تعریف یک کاربر، دسترسی کاربر در تمامی سامانه‌‌ها به صورت خودکار ایجاد می‌‌گردد و با حذف دسترسی، در تمامی سامانه‌ها از ورود کاربر جلوگیری خواهد شد. علاوه بر این، محصول ParsSSO با ارائه درگاه امضای دیجیتال، باعث حذف فرآیند PK-Enabling در سامانه‌‌های نرم ‌افزاری می‌گردد که منجر به کاهش چشمگیر زمان و هزینه‌‌های سازمان در تجهیز سامانه‌ها به زیرساخت کلید عمومی می‌‌شود. این سامانه از دو زیرسامانه Identity Provider و Digital Signature Gateway تشکیل شده است.

برای اطلاعات بیش‌تر نسبت به مزایای این سرویس و نحوه‌ی استفاده از آن می‌توانید به آدرس «سامانه‌ی احراز هویت متمرکز هویتا» مراجعه نمایید.

https://www.hovita.ir/portal/newsview/24/single-sign-on-sso-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F/

این مطلب، بخشی از تمرین‌های درس معماری نرم‌افزار در دانشگاه شهیدبهشتی است.

منابع

معماری_نرم_افزار_بهشتیاحراز هویتsso
شاید از این پست‌ها خوشتان بیاید