یک تامینکننده هویت (Identity Provider) جهت ذخیرهسازی و مدیریت هویت دیجیتال کاربران مورد استفاده قرار میگیرد. میتوان IDP را مانند یک لیست مهمانان اما برای اپلیکیشنها در نظر گرفت. یک IDP ممکن است هویت کاربران را با ترکیبی از نام کاربری و گذرواژه و عوامل دیگر چک کند و یا صرفن یک لیست از هویت کاربران را ارائه دهد که یک سرویس دیگر مثل SSO آنها را چک میکند.
IDPها محدود به اعتبارسنجی کاربران انسانی نیستند. از لحاظ فنی یک IDP میتواند هر موجودیت متصل به یک شبکه یا سیستم شامل کامپیوترها و دستگاههای دیگر را احراز هویت کند. هر موجودیتی که توسط IDP ذخیره سازی میشود به عنوان یک قاعده (principal) شناخته میشود و نه یک کاربر. به طور کلی IDPها اغلب در محیطهای پردازش ابری برای مدیریت هویت کاربران مورد استفاده قرار میگیرند.
هویت کاربر چیست؟
هویت دیجیتالی کاربر مربوط است به عوامل کمی که توسط سیستم های کامپیوتری قابل اعتبارسنجی هستند. این عوامل، عوامل احراز هویت نامیده میشوند. سه مورد از عوامل اعتبارسنجی عبارتند از
- دانش: چیزی که از آن مطلع هستیم مانند نام کاربری و گذرواژه
- مالکیت: چیزی که مالکیت آن را در اختیار داریم مانند گوشی هوشمند
- خصوصیات ذاتی: خصوصیاتی مانند اثرانگشت و اسکن شبکیه چشم
یک IDP ممکن است فقط از یکی از این موارد یا از همگی آنها برای تعیین هویت یک کاربر بهره ببرد. در صورت استفاده از بیشتر از یک فاکتور، احراز هویت چند عاملی گفته میشود.
کاربرد IDPها:
هویت دیجیتال به ویژه در پردازش ابری باید در جایی رهگیری شود، جایی که هویت کاربر تعیین میکند که آیا یک فرد میتواند به دادههای حساس دسترسی داشته باشد یا خیر. سرویسهای ابری نیاز دارند که دقیقن بدانند که از کجا و چطور هویت کاربر را بازیابی و اعتبارسنجی کنند.
همچنین اطلاعات هویتی کاربران میبایست به صورت امن ذخیره سازی شوند تا هکرها نتوانند از آن برای جعل هویت کاربران استفاده کنند. یک تامین کننده هویت ابری معمولن احتیاط بیشتری برای حفاظت از دادههای کاربران به کار میبرد در حالی که یک سرویس که به صورت اختصاصی برای ذخیره هویت به کار نرفته باشد ممکن است اطلاعات هویتی را در جای ناامنی مانند یک سرور باز در اینترنت ذخیره کند.
نحوه کارکرد IDP با سرویسهای SSO
یک سرویس SSO یا single sign-on یک محل یکپارچه برای ورود(sign-in) یکباره به همهی سرویسهای ابری یک کاربر است. علاوه بر راحتتر بودن برای کاربر پیادهسازی SSO اغلب باعث امنیت بیشتر عملیات ورود کاربر میگردد.
در بیشتر بخشها SSO و IDP دو چیز مجزا هستند. یک سرویس SSO از یک IDP برای چک کردن هویت کاربر استفاده میکند، ولی در واقع هویت کاربر را ذخیره نمیکند. یک تامینکننده SSO بیشتر یک واسطه است تا یک مرجع، به مانند یک شرکت که یک موسسه خدمات امنیتی را استخدام کرده که امنیت شرکت را تامین کند اما موسسه خدمات امنیتی در واقع جزئی از شرکت نیست.
با اینکه این دو جدا از هم هستند، IDPها بخشی لازم برای فرآیند لاگین SSO هستند. تامین کنندگان SSO در هنگام لاگین هویت کاربر را با IDP چک میکنند. و وقتی که این کار انجام شد، SSO میتواند هویت کاربر را برای هر تعداد اپلیکیشن ابری اعتبارسنجی کند.
با این حال همیشه بدین شکل نیست. یک SSO و IDP در تئوری میتوانند یکی باشند. اما چنین ساختاری نسبت به حملات on-path که در آن حمله کننده برای دستیابی به یک اپلیکیشن یک تاییدیه SAML* را جعل میکند آسیب پذیرتر هستند. به همین دلیل IDP و SSO معمولن جدا از هم هستند.
*یک تاییدیه SAML یک پیام خاص است که از سرویس SSO به هر اپلیکیشن ابری که احراز هویت کاربر را تایید میکند ارسال میشود و به کاربر اجازه دسترسی و استفاده از اپلیکیشن را میدهد.
اما همه اینها در عمل به چطور کار میکند؟
فرض کنید آلیس کارمند یک شرکت و در حال استفاده از لپتاپ کاری خود است. او نیاز دارد که وارد اپلیکیشن چت شرکت شود تا با استفاده از آن هماهنگی کارها با همکارانش را راحتتر انجام دهد. او یک تب جدید در مرورگرش باز میکند و اپلیکیشن را بارگذاری میکند. با فرض اینکه شرکت او از یک سرویس SSO استفاده میکند مراحل زیر در پشت صحنه اتفاق میافتد.
- اپلیشکیشن چت از SSO، اعتبارسنجی هویت آلیس را درخواست میکند.
- SSO متوجه میشود که آلیس هنوز وارد نشده است (sign-in نکرده است).
- SSO از او میخواهد که لاگین کند.
در این هنگام مرورگر، آلیس را به صفحه لاگین SSO انتقال میدهد. در این صفحه فیلدهایی برای وارد کردن نام کاربری و گذرواژه آلیس وجود دارد. از آنجایی که شرکت او احراز هویت دو مرحلهای را الزامی کرده است، آلیس باید یک کد کوتاه که توسط SSO به صورت خودکار برای تلفن همراه او ارسال میشود را نیز وارد کند. پس از آن او گزینه ورود را کلیک میکند و مراحل زیر اتفاق میافتند:
- SSO یک درخواست SAML را به IDP مورد استفاده شرکت آلیس ارسال میکند
- IDP یک پاسخ SAML را برای تایید هویت آلیس به SSO میفرستد
- SSO یک تاییدیه SAML را برای اپلیکیشن چتی که آلیس میخواهد از آن استفاده کند، ارسال میکند
آلیس به اپلیکیشن چت مورد نظر هدایت میشود و میتواند با همکارانش به چت بپردازد درحالیکه کل این فرآیند فقط در چند ثانیه انجام شده است.
نظر خود را بنویسید