فواید بکارگیری SSO در احراز هویت کاربران
زمان تقریبی مطالعه: ۸ دقیقه
امروزه یافتن یک برنامه کاربردی جدی که در آن نیازهای امنیتی و کنترل دسترسی وجود نداشته باشد، اگر ناممکن نباشد کاری بسیار سخت خواهد بود. در دنیای اینترنت و درجایی که تمامی ارتباطات، تبادلات بانکی، تماسها و… درحال الکترونیکی شدن هستند، اثبات وجود خود در اینترنت، اهمیت بسیاری پیدا میکند و با گسترش فناوری اطلاعات و ارتباطات، امنیت به یکی از مهمترین مباحث در فرآیند طراحی و مدیریت سازمانها تبدیل شده است و در تمام زیرسیستمها و سرویسهای درونسازمانی برای استفاده از خدمات اختصاصی باید به طریقی هویت خود را آشکار سازید.
فاکتورهای برقراری یک محیط امن
بطور کلی، برای برقراری یک محیط امن، چند فاکتور اساسی باید موجود باشد. این فاکتورها عبارتند از:
جامعیت:
اطمینان از اینکه اطلاعات، صحیح و کامل است؛ یعنی دستخوردگی و عدم تغییر پیام و اطمینان از آنکه دادهها با اطلاعات مخرب مثل یک ویروس آلوده نشدهاند.
محرمانگی:
اطمینان از اینکه اطلاعات تنها توسط افراد یا سازمانهای مجاز قابل استفاده است و هیچگونه فاشسازی اطلاعات برای افراد تشخیص و تأیید هویت نشده، صورت نخواهد گرفت.
شناسایی و احراز هویت:
گیرنده و فرستنده، هر دو باید بتوانند از هویت طرف مقابل خود مطمئن باشند و اطمینان از اینکه پیام حقیقت از کسی که تصور میکنید، رسیده باشد.
انکارناپذیری:
هیچیک از دو سوی ارتباط نتوانند مشارکت خود در ارتباط را انکار کنند؛ یعنی تمام امکانات شبکه بدون دردسر و زحمت در اختیار آنها که مجاز به استفاده از شبکه هستند، باشند و در ضمن هیچکس نتواند در دسترسی به شبکه ایجاد اشکال نماید.
در مقالهای که پیش رو دارید ابتدا به مبحث شناسایی و احراز هویت و انواع تکنیکهای احراز هویت بعنوان یکی از مهمترین عوامل امنیت اطلاعات پرداخته میشود. در ادامه تعاریف سیستم SSO و مکانیزم پشتیبان آن CAS بعنوان یکی از انواع سیستمهای احراز هویت ارائه میشود. درنهایت ساختار پیادهسازی SSO توضیح داده خواهد شد.
۱- شناسایی و احراز هویت (I & A)
شناسایی و احراز هویت دو هسته اصلی در بیشتر سیستمهای کنترل دسترسی هستند.
شناسایی عملی است که یک کاربر برای معرفی خود به یک سیستم اطلاعاتی استفاده میکند که معمولا در قالب یک شناسه ورود یا Login ID وجود دارد. درواقع شناسایی، فرایندی است که طی آن، فرد هویتی را اظهار میکند و از این نقطه، پاسخگویی آغاز میشود. ارائه نام کاربری، شناسه ورود، شماره شناسایی یا کارت هوشمند توسط کاربر، نمایانگر فرایند شناسایی است.
احرازهویت عبارتست از فرآیند بررسی اعتبار هویت ادعاشده. احراز هویت نیازمند ارائه اطلاعات دیگری توسط فرد است که باید دقیقاً با هویت مذکور، مرتبط باشد و یکی از مهمترین مباحث در حوزه امنیت سیستمهای کامپیوتری میباشد. احراز هویت، هویت فرد را بوسیله مقایسه یک یا چند عامل با پایگاه دادهای از هویتهای معتبر، بررسی میکند. بصورت کلی در حوزه امنیت اطلاعات، احراز هویت یا Authentication به چهار تیپ ساده تقسیمبندی میشود:
۱-۱- چیزی که شما میدانید (What You Know) :
سادهترین و البته پرکاربردترین روش احراز هویت استفاده از نام کاربری و رمز عبور یا همان Username و Password میباشد.
احراز هویت با رمز عبور
این روش بعنوان ضعیفترین شکل حفاظت محسوب میشود. رمزهای عبور ممکن است افشا شوند و به همین دلیل بایستی از آنها محافظت شود.
۱-۲- چیزی که شما دارید (What You Have):
درواقع داشتن وسیلهای برای احراز هویت است که این وسیله معمولاً بعنوان کارت هوشمند یا Smartcard ، در قالب قفلها یا Token های USB و یا سایر مواردی از این قبیل میباشد و کاربر برای احراز هویت حتماً باید این وسیله را همراه خود داشته باشد. برای احراز هویت شدن در چنین روشی کاربر میبایست Smartcard یا Token خود را در دستگاهی که ویژه احراز هویت طراحی شده است وارد کند.
احراز هویت با Token
token ها ابزارهای فیزیکی هستند که در اندازهایی مانند کارتهای هوشمند و یا حافظههای فلش وجود دارند و دستگاههای مولد رمز عبور هستند که افراد باید آنها را همراه خود داشته باشند. این ابزارها وظیفه نگهداری یا تولید رمزهای عبور ایستا و یا پویا را برعهده دارند.
چند نوع توکن داریم:
- توکنهای رمز عبور ایستا
- توکنهای رمزهای عبور پویای همگام
- توکنهای رمزهای عبور پویای ناهمگام
۱-۳- چیزی که شما هستید (What You Are):
درواقع احراز هویت با استفاده از ویژگیهای خاص بدن شماست، چهره شما، اثر انگشت شما، DNA شما، شبکیه و مردمک چشم شما از مواردی است که جزو این عامل به حساب میایند و قطعاً تا به حال اثبات شده است که اثر انگشت و DNA شما در کل دنیا منحصربه فرد میباشد.
احراز هویت با عوامل بیومتریک
عامل بیومتریک، عبارتست از یک ویژگی و خصیصه رفتاری یا فیزیولوژیکی که برای هر فرد یکتا است. بیومتریک یک سیستم خودکار است که انسانها را از روی ویژگیهای فیزیولوژیکی و همچنین رفتارهای فرد شناسایی و احراز هویت میکند. در اینگونه سیستمها یک پایگاه داده از تصاویر مربوط به ویژگیهای فیزیولوژیکی افراد وجود دارد که به محض درخواست فرد برای احراز هویت، این تصاویر با تصویر ویژگیهای فرد مقایسه شده و درنهایت درصورتیکه تصویر مربوطه در پایگاه داده وجود داشته باشد شخص احراز هویت میشود. مقیاسهای کارایی تجهیزات بیومتریک را میتوان در درصد خطاهای رخ داده بشمار آورد:
- خطای (FRR ( False Rejection Rate
- خطای (FAR ( False Acceptance Rate
- خطای (CER (Crossover Error Rate
۱-۴- آنچه که شما انجام میدهید (What You DO):
برخی اوقات میتوان فاکتور چهارمی نیز به این موارد اضافه کرد که معمولاً به آن چیزی که شما انجام میدهید نیز گفته میشود. برای مثال، میتوان افراد را با استفاده از روش و ریتم استفاده از Keyboard و تایپ کردن توسط آن (KeyStroke Dynamics) شناسایی و احراز هویت کرد؛ که این یک تکنیک احراز هویت بیومتریک یا شیوه رفتاری شما میباشد و جزو دستهبندی Two – Factor Authentication هاست. هر فردی زمان استفاده از کیبورد و تایپ کردن رفتار و روش استفاده خاص خود را دارد که پارامترهایی همچون زمان و نحوه فشردن کلیدها از این دسته رفتارها میباشد.
در سازمانها، به مرور زمان نرمافزارهای مختلفی نصب و راهاندازی شدهاند که هرکدام قسمتی از سازمان را مکانیزه مینمایند. بنابراین کاربران سازمان برای ورود به هرکدام از این برنامههای کاربردی، نیاز به کلمه عبور و نام کاربری مجزایی دارند که مشکلات زیر را برای مدیران و کاربران سازمان ایجاد کرده است
- نیاز مکرر به واردکردن نام کاربری و کلمه عبور برای ورود به هرکدام از برنامههای کاربردی
- فراموش کردن کلمه عبور و نام کاربری بعضی از این نرمافزارها و درخواستهای مکرر برای بازنشانی آنها
- عدم وجود امکان ردگیری ورود و خروج کاربران به نرمافزارهای مختلف
- عدم توانایی برقراری ارتباطات اتوماتیک بین سیستمهای Front-end مانند پرتالها با سیستمهای end-Back مانند اتوماسیون اداری
۲- مکانیزم Central Authentication service) CAS)
سرویس مرکزی احراز هویت میباشد که توانایی یکپارچهسازی فرآیند تصدیق هویت را دارد. برای پیادهسازی امن، احراز هویت مبتنی بر وب باید سرویس یا درگاهی را بعنوان مرجع انتخاب کرده و کلیه درخواستهای تصدیق هویت سرویسهای درونسازمانی و پورتال را به این مرکز ارجاع داده و نتیجه احراز هویت را از این مرکز دریافت نمائیم. این به زبان ساده شمای کلی کاری که CAS انجام میدهد را بیان میکند. از قابلیتهای اصلی این سرویس ایجاد یک تونل امنیتی میان کامپیوتر کاربر و سرور مرکزی است که باعث میشود اطلاعات محرمانه کاربران سایت تحت پروتکلهای امنیتی SSL جابجا شوند. CAS ، از ۳ واحد کاری تشکیل شده است:
مرورگر کاربر – مرجع ارتباط دهنده درخواستهای تصدیق هویت به سرویس احراز هویت – سرویس دهنده
در اینجا CAS نقش دوم (یعنی مرجع ارتباط دهنده درخواستهای تصدیق هویت به سرویس احراز هویت) را ایفا میکند.
بمحض درخواست کاربر برای دسترسی به سرویسهای درونسازمانی، درخواستهای تصدیق هویت از سرویسهای مربوطه به پورتال ارسال میشود که در ادامه با استعلام واحد سرویس گیرنده CAS از سرویس دهنده هویت کاربر تعیین و تائید و یا رد میگردد.
سرویس دهنده CAS میتواند برای پروسه تصدیق هویت از منابع اطلاعاتی گستردهای همچون بانکهای اطلاعاتی رابطهای یا سرویسدهنده دایرکتوری (LDAP) و… بهرهبرداری نماید. مکانیزم پشتیبانی شده توسط این سیستم را Single Sign On (SSO) مینامند.
۳- سیستم امنیت متمرکز ( SSO )
SSO مخفف Single Sign On به عمل وارد شدن یک کاربر به سایتها و برنامههای مختلف تنها با یک نام کاربری و گذرواژه یکسان میگویند.
به این معنی که اطلاعات مربوط به اعتبارسنجی و تائید هویت کاربر یعنی user name و password ، در یک ناحیه امن بصورت موقت نگهداری میشود و از آن پس این کاربر بمنظور ورود به سایتها و بخشهای مختلف)دسترسی به برنامههای متعدد) نیازی نیست مجدداً Login نماید . این سیستم قابلیت متمرکز کردن احراز هویت انواع سیستمهای نرمافزاری، فارغ از مکانیزم مورد استفاده برای احراز هویت را در خود دارد. در ساختار SSO کاربر صرفا یک نام کاربری و رمز عبور یکتا در شبکه دارد که بلافاصله بعد از اینکه وارد یک سیستم در ساختار SSO شود میتواند از تمامی منابعی که برای وی در شبکه تعریف شده است استفاده کند، بدون نیاز به اینکه برای هر منبع اطلاعاتی نام کاربری و رمز عبور جدیدی وارد کند.
در SSO امنیت کلمه عبور بسیار حائز اهمیت است و اکانتهایی که بین سیستمها انتقال پیدا مینمایند باید بصورت رمزنگاری شده بکار گرفته شوند. سهولت در ویرایش اکانتها)مثل تغییر رمز عبور) و حذف حسابهای کاربری در مدیریت سیستمها، از مزیتهای SSO به شمار میایند.
ساختار پیادهسازی SSO از مراحل زیر تشکیل شده است:
- استفاده از دایرکتوری مرکزی جهت Authentication
- تصدیق کاربران بر اساس این دایرکتوری
- تعیین مجوزهای کاربران بر اساسCredential های مربوطه
پیادهسازی SSO به روشهای مختلفی صورت میپذیرد که دو روش آن در زیر آورده شده است:
- اسکریپت: در این روش، اسکریپت اطلاعات اکانت کاربر را بصورت رمزگذاری شده به سیستم تشخیص هویت ارسال میکند و پس از تائید هویت، کاربر وارد سیستم میشود.
- کوکی: در این روش کوکیهای سیستم کاربر به سروری که کاربر میخواهد به آن وارد شود ارسال میشود. در واقع سیستمهای نرمافزاری تحت وبی که دامنه(Domain) مشابه دارند، اما بر روی چند سرور قرارگرفتهاند، جهت تشخیص هویت کاربر از کوکیهایی استفاده مینمایند که بصورت رمزنگاریشده هستند و بر روی سیستم کاربر قرارگرفتهاند. به این ترتیب هویت کاربر در تمامی سرورها تائید میشود.
۴- انواع پروتکلهای پشتیبان قابلیت SSO
پروتکلهای Kerberos ، SESAME ، Kryptoknight و NetSP از انواع سیستمهای احراز هویت هستند که قابلیتهای مربوط به SSO را پشتیبانی میکنند.
معرفی پروتکل Kerberos
Kerberos نام یک پروتکل قابل اعتماد احراز هویت است که با استفاده از رمزنگاری کلید متقارن، این قابلیت را دارد که کلاینتها را برای معرفی به سرویسهای دیگر تحت شبکه احراز هویت کند این پروتکل در برابر حملاتPassword Guessingضعیف عمل میکند.
معرفی پروتکل SESAME
برای پوشش دادن و رفع یک سری از مشکلات و نقاط ضعف امنیت موجود در پروتکل Kerberos پروژه SESAME ایجاد شد. SESAME مخفف Secure European System for Applications in multi-vendor Environment است. در این پروژه از ساختار رمزنگاری کلید عمومی برای توزیع کلیدهای سری و همچنین پشتیبانی از سیستمهای کنترل دسترسی بیشتر استفاده میشود.
معرفی پروتکل Kryptonite
سیستم Kryptonite متعلق به شرکت IBM است که سرویسهای احراز هویت، SSO و توزیع کلید را در یکجا در خود ارائه میدهد. این سیستم برای استفاده در کامپیوترهایی طراحی شد که قابلیتهای محاسباتی متنوعی داشتند.
یکی از تفاوتهایی که Kryptonite با Kerberos دارد این است که در این پروتکل یک رابطه Peer-to-Peer بین طرفین ارتباط برقرار میشود.
- ۱٫ Data Integrity
- ۲٫ Confidentiality
- ۳٫ Identification & Authentication
- ۴٫ Non-repudiation