شناسایی و احراز هویت دو هسته اصلی در بیشتر سیستم های کنترل دسترسی هستند. شناسایی عملی است که یک کاربر برای معرفی خود به یک سیستم اطلاعاتی استفاده می کند که معمولا در قالب یک شناسه ورود یا Login ID وجود دارد . شناسایی در حقیقت برای پاسخگویی کاربر به اعمالی است که وی بر روی سیستم انجام می دهد .
یعنی شناسایی در دنیای فناوری اطلاعات برابر با قابلیت حسابرسی به فعالیت های کاربران در سیستم های اطلاعاتی است . احراز هویت تاییدی بر این است که کاربر همان فردی است که ادعا می کند و در حقیقت بررسی می کند که شناسه کاربر معتبر است یا معتبر نیست . معمولا احراز هویت توسط رمز عبور کاربران در شبکه انجام می شود.
برخی اوقات می توان فاکتور چهارمی نیز به این موارد اضافه کرد که معمولا به آن چیزی که شما انجام می دهید نیز گفته می شود ، برای مثال مدت زمانی که طول می کشد که شما نام کاربری و رمز عبور خود را بر روی کیبورد وارد کنید در این فاکتور قرار می گیرد ، شما می توانید این فاکتور یکی از زیرمجموعه های فاکتور چیزی که شما هستید ( What You Are ) بدانید.
احراز هویت دوگانه یا Two-Factor Authentication به این معناست که دو عدد از فاکتورهای احراز هویت را بصورت همزمان در فرآیند احراز هویت استفاده کنیم. برای مثال دریافت پول از دستگاه های خودپرداز بانک از سیستم احراز هویت دو دوگانه استفاده می کند ، شما ضمن اینکه بایستی کارت هوشمند بانکی ( چیزی که شما دارید ) را همراه داشته باشید ، رمز عبور آن ( چیزی که شما می دانید ) را نیز بایستی بدانید .
رمز های عبور ممکن است افشا شوند و به همین دلیل بایستی از آنها محافظت شود . اگر بخواهیم ایده آل در مورد امنیت فکر کنیم ، هر رمز عبور فقط بایستی یکبار استفاده شود. به این نوع رمز های عبور ، رمز های عبور یکبار مصرف یا One Time Password گفته می شود .در این روش حداکثر امنیت ممکن در رمزهای عبور را می توانیم داشته باشیم به دلیل اینکه در هر باز استفاده شدن رمز عبور ، این رمز تغییر کرده و در بار بعدی نمی توان از رمز قبلی استفاده کرد.
رمز عبوری که در هر بار ورود به سیستم ثابت مانده و تغییر نمی کند را رمزهای عبور ایستا یا Static می نامند و رمزهای عبوری که در هر بار ورود به سیستم تغییر می کنند را رمز های عبور پویا یا Dynamic می نامند. مقایسه تغییر رمز در بین این دو نوع رمز عبور واقعه غیر قابل مقایسه است .
رمزهای عبور بسته به نوع استفاده و حساسیت مصرف آنها در نوع منابعی که از آنها محافظت می کنند ، بصورت ماهیانه ، هتگی و یا حتی روزانه تعویض می شوند . در حقیقت هر چقدر زمان استفاده از رمز های عبور طولانی تر شود ، امکان سوء استفاده و افشای آن بیشتر می شود .
یک Passphrase ترتیبی از کاراکترها است که معمولا بیشتر از طول رمزهای عبور یا Password ها هستند و برای امنیت بیشتر سیستم های اطلاعاتی به رمز عبور کمک می کنند ، Passphrase در هنگام استفاده در قالب یک رمز عبور مجازی فعالیت می کند .
Token ها یا توکن ها ابزاهای فیزیکی هستند که در اندازه ای مانند اندازه کارت های هوشمند ، و یا حافظه های فلش وجود دارند ، این ابزارها وظیفه نگهداری و یا تولید رمزهای عبور ایستا و یا پوسا را بر عهده دارند . این نوع از توکن ها مثالی از آنچه شما دارید هستند . یک کارت بانکی یا ATM اطلاعات خاصی در مورد شما را در خود ذخیره می کند . کارت های هوشمند پا را از این نیز فراتر می گذارند و در درون خود پردازنده نیز قرار می دهند ، در واقع کارت های هوشمند توانایی پردازش اطلاعات را نیز دارند. در ادامه به معرفی چهار نوع از این نوع کارت های هوشمند می پردازیم :
در تمامی این ساختارها یک دستگاه احراز هویت جلودار یا Front-End و یک دستگاه احراز هویت پشتی یا Back-End وجود دارند که این قابلیت را به سیستم ها و سرویس های می دهند که براحتی فرآیند های احراز هویت را انجام دهند و این سرویس را پشتیبانی کنند .
یکی از راهکارهای که می توان در کنار رمزهای عبور برای پیاده سازی کنترل های دسترسی استفاده کرد سیستم های بایومتریک هستند. سیستم های بایومتریک از مکانیزم های نوع سوم فاکتورهای احراز هویت یعنی آنچه شما هستید ، هستند . بایومتریک یک سیستم خودکار است که انسان ها را از روی ویژگیهای فیزیولوژیکی و همچنین رفتارهای فرد شناسایی و احراز هویت می کند .
در اینگونه سیستم ها یک پایگاه داده از تصاویر مربوط به ویژگیهای فیزیولوژیکی افراد وجود دارد که به محض در خواست فرد برای احراز هویت ، این تصاویر با تصویر ویژگیهای فرد مقایسه شده و در نهایت در صورتیکه تصویر مربوطه در پایگاه داده وجود داشته باشد شخص احراز هویت می شود . معمولا تجهیزات و سیستم های احراز هویت بایومتریک در پیاده سازی کنترل های امنیتی فیزیکی و همچنین احراز هویت در کنترل های منطقی مورد استفاده قرار می گیرد.
تقریبا تمامی تشخیص ها در هنگام فرآیند بازرسی این اجازه را به حساسیت سیستم می دهد که در زمان تشخیص زیاد یا کم شود.زمانی که حساسیت یک سیستم بالا می رود ، مثلا در فرودگاه ها و سیستم های تشخیص فلزات موجود در گیت های ورودی ، درصد FRR بسیار بالا می رود. بر همین اساس اگر حساسیت سیستم کاهش پیدا کند ، میزان FAR سیستم بالا خواهد رفت . بنابراین برای اندازه گیری میزان کارایی سیستم در اینجاست که CER استفاده می شود . در شکل بعد می تواندی نمودار این مفهوم را مشاهده کنید :
شکل الف : درصد خطاهای متقاطع ( Crossover Error Rate یا CER )
علاوه بر دقت و صحت انجام عملیات احراز هویت توسط سیستم های بایومتریک فاکتورهای دیگری نیز وجود دارند که بایستی در نظر گرفته شوند.این فاکتورها به ترتیب زمان ثبت نام ( Enrollment Time ) ، نرخ توان عملیاتی (throughput) و همچنین محدودیت های پذیرش ( Acceptability ) هستند .
زمان ثبت نام یا Enrollment Time در حقیقت مدت زمانی است که ما بایستی برای ورود اطلاعات و ثبت نام افراد در سیستم و تهیه نمونه های خاصیت های بایومتریک افراد در سیستم صرف کنیم . برای مثال در سیستم های بایومتریک اثر انگشت برای ذخیره هر اثر انگشت با کیفیت مناسب بایستی 250 کیلوبایت حافظه در نظر گرفته شود .
این سطح از اطلاعات برای استفاده در نرم افزارهای اثر انگشت لازم است و خود تشکیل یک پایگاه داده عظیم را خواهد داد که در جستجو های بعدی برای عملیات احراز هویت مورد استفاده قرار می گیرد . در تکنولوژی های اسکن اثر انگشت ، یک اثر انگشت کامل ذخیره نمی شود بلکه به جای آن چهره یا ریخت اقتباس شده از این اثر انگشت با استفاده از یک قالب ذخیره سازی که بین 500 تا 1000 بایت از حافظه را اشغال می کنند در پایگاه داده ذخیره می شود .
اثر انگشت اصلی نمی تواند از طریق این قالب بازسازی شود. تکنولوژی اسکن اثر انگشت برای مقایسه های یک به یک و ایجاد پایگاه داده های کوچک مورد استفاده قرار می گیرد . بروز رسانی برخی از ویژگیهای بایومتریک که در طول زمان تغییر می کنند مانند صدا و امضاء می بایستی در وهله های زمانی معین انجام شود .
نرخ توان عملیاتی (throughput) مدت زمانی است که سیستم فرآیند های شناسایی و احراز هویت را برای افراد انجام می دهد .نرخ توان عملیاتی قابل قبول برای اینگوه سیستم های بایومتریک معمولا محدوده 10 عدد عملیات در هر دقیقه می باشد. محدودیت های پذیرش به مسائلی همچون حفظ حریم خصوصی و محرمانگی ، سادگی و سهولت استفاده از فیزیک و فیزیولوژی سیستم اشاره می کند .
برای مثال یکی از مسائلی که در مورد سیستم های اسکن شبکیه چشم وجود دارد تبادل و رد و بدل شدن مایعات درون چشم و عدسی دوربین است . یکی دیگر از مواردی که باز هم در اشکن کردن شبکیه وجود دارد وجود تغییرات در شبکیه به دلیل بیماری افراد می باشد ، برای مثال کسانی که مبتلا به دیابت و یا فشار خون زیاد می شوند این عمل می تواند مستقیما بر روی الگوهای شبکیه چشم اثرگذار باشد .
تصاویری که توسط سیستم های بایومتریک جمع آوری می شود در محلی به نام تنه یا Corpus ذخیره می شوند. خود corpus در یک پایگاه داده از تصاویر ذخیره می شود . اصلی ترین منابع خطایی که ممکن است در اینگونه سیستم ها به وجود بیایند به ترتیب : خراب شدن تصاویر به هنگام جمع آوری ، برچسب گذاری نادرست تصاویر و یا حتی ذخیره نادرست اطلاعات در پایگاه داده می باشد .
بنابراین فرآیند جمع آوری تصاویر و ذخیره سازی آن در هنگام فرآیند ثبت نام قطعا حیاتی ترین و مهمترین قسمت برای عملکرد درست یک دستگاه یا سیستم بایومتریک است. برخی از شاخص ترین ویژگی هایی که برای احراز هویت شناسه منحصر به فرد ، هر فرد در سیستم های بایومتریک استفاده می شود به شرح زیر می باشد :
قابلیت Single Sign On یا SSO برای برطرف کردن مشکل ورود کاربر با نامهای کاربری و رمزهای عبور متعدد به سیستم های مختلف برای دسترسی به منابع را برطرف می کند. یک کاربر برای پیدا کردن دسترسی به منابع مختلف در شبکه مجبور است تعداد زیادی رمز عبور را حفظ باشد و یا آنها را در جایی یادداشت کند که این رمز ها فراموش نشوند ، معمولا همین رمز ها هستند که توسط مهاجمین مورد سوء استفاده قرار می گیرند .
در ساختار SSO کاربر صرفا یک نام کاربری و رمز عبور یکتا در شبکه دارد که بلافاصله بعد از اینکه وارد یک سیستم در ساختار SSO شود می تواند از تمامی منابعی که برای وی در شبکه تعریف شده است استفاده کند ، بدون نیاز به اینکه برای هر منبع اطلاعاتی نام کاربری و رمز عبور جدیدی وارد کند .
برای امنیت SSO مهمترین مسئله این است که رمزهای عبوری که در بین سیستم های اطلاعاتی رد و بدل می شوند بایستی بصورت رمزنگاری شده استفاده شوند ، این رمز ها نبایستی بر روی سیستم ها ذخیره شده و یا اینکه بصورت رمزنگاری نشده در شبکه منتقل شوند . نرم افزارهای کاربردی که با قابلیت SSO کار می کنند ، هم می توانند بر روی ایستگاه کاری کاربر باشند و یا بر روی سرورهای احراز هویت قرار داشته باشند.
مزیت SSO در این است که کاربر می تواند از رمز عبور قویتری استفاده کند ، مدیریت تغییر رمزهای عبور و یا تغییرات و همچنین حذف حسابهای کاربری برای مدیریت شبکه بسیار آسانتر می شود و همچنین دسترسی به منابع اطلاعاتی نیز در مدت زمان کمتری انجام می شود. اصلی ترین خطری که در پیاده سازی نادرست SSO وجود دارد این است که زمانی که یک کاربر با یک بار ورود به سیستم با نام کاربری خود وارد شود .
می تواند به صورت آزادانه به تمامی منابع شبکه ای که در شبکه وجود دارد بدون محدودیت دسترسی پیدا کند. گروه Open Group که در حقیقت یکی از بزرگترین کنسرسیوم هایی است که به سازمان ها در جهت رسیدن به اهدافشان با توجه به استانداردهای فناوری اطلاعات کمک می کند ، اهداف عملیاتی را برای پشتیبانی رابط کاربری در محیط SSO تدوین کرده است که مهمترین این اهداف به شرح ذیل می باشند :
مکانیزم های احراز هویتی مانند کارت های هوشمند و علائم مغناطیسی استفاده شوند . کنترل های سخت گیرانه ای بایستی در خصوص جلوگیری از تغییر تنظیمات توسط کاربران پیاده سازی شود. قلمرو استانداردهای Open Group برای SSO ، تعیین سرویس ها در پشتیبانی از موارد زیر تعیین شده است :
SSO ها می توانند به شکل یک اسکریپت که اطلاعات مربوط به نام کاربری و رمز عبور را به سیستم های احراز هویت بصورت رمزنگاری شده و برای ورود به سیستم های اطلاعاتی مختلف ارسال می کنند نیز پیاده سازی شوند و پس از احراز هویت توسط این سیستم ها به منابع اطلاعاتی موجود در آنها دسترسی پیدا کنند .
مدیریت یکپارچه تاسیسات اقتصادی کلان یا Enterprise Access Management) EAM ) سرویس مدیریت کنترل های دسترسی برای سیستم های سازمانی تحت وب را که شامل قابلیت SSO نیز می شوند را ارائه می دهد. SSO به روش های متنوعی قابل پیاده سازی می باشد.
برای مثال می توان ساختار SSO را به شکلی پیاده سازی کرد که نرم افزارهای کاربردی تحت وب که در یک دامنه اینترنتی ( Domain ) اما بر روی سرورهای مختلف قرار دارند ، برای احراز هویت مرکزی از کوکی های رمزنگاری شده مستقر بر روی کامپیوترهای کلاینت ها استفاده کنند و به این نحو در تمامی سرور ها احراز هویت شوند ، بدون نیاز به وارد کردن مجدد اطلاعات احراز هویت .
اینکار به وسیله ارسال کوکی موجود بر روی سیستم کاربر به سمت هر سروی که کاربر قصد ورود به آن را دارد انجام می شود . یکی دیگر از راهکارهای پیاده سازی SSO ایجاد یک شناسه ایمن برای هر کاربر بر روی یک Reverse Proxy که در مقابل سرویس دهنده وب مستقر شده است ، می باشد . هز زمانی که کاربر بخواهد به یک نرم افزار کاربردی تحت وب محافظت شده وارد شود ، رمز عبور و نام کاربری به آن نرم افزار نمایش داده می شود . پروتکل های Kerberos ، SESAME ، Kryptoknight و NetSP از انواع سیستم های احراز هویت هستند که قابلیت های مربوط به SSO را پشتیبانی می کنند.
Kerberos نام یک پروتکل قابل اعتماد احراز هویت است که توسط انیستیتو تکنولوژی دانشگاه ماساچوست یا همان MIT تحت عنوان پروژه Athena طراحی و تولید شد . در افسانه های یونان باستان Kerberos نام سگ سه سری بود که از دروازه ورود به دنیای زیر زمین نگهبانی می کرد .
با استفاده از رمزنگاری کلید متقارن ( Symmetric Key Cryptography ) Kerberos این قابلیت را دارد که کلاینت ها را برای معرفی به سرویس های دیگر تحت شبکه احراز هویت و معرفی کند. ساختار و الگوی کارکرد پروتکل Kerberos را می توان با ساختار کاری محیط یک دانشگاه تشریح کرد . در چنین محیطی ممکن است هزاران مکان مختلف برای ایستگاه های کاری ، شبکه های محلی ، کامیپوترهای شخصی و بسیاری از کامیپوترهای دیگری که ایمن نشده اند وجود داشته باشد .
بنابراین در چنین محیطی کسی نمی تواند ادعا کند که کابل کشی های کاملا ایمن هستند ، پیام های ارسال شده در شبکه از دستکاری در امان هستند و حتی سرورها و محل های نگهداری آنها را نیز نمی توان کامل ایمن دانست . اما در چنین محیطی حداقل می توان چند سرور و یا چند محل را تا حد توان ایمن سازی کرد و ادعا کرد که این سرور ها و محل نگهداری آنها ایمن هستند ، بهر حال در اینجا می توان این سرورها را به عنوان یک مکانیزم احراز هویت ایمن بین هر کلاینت و سرویس در شبکه در نظر گرفت و به آن اعتماد کرد .
این سرور های متمرکز شده با همدیگر تشکیل Kerberos-trusted Key Distribution Center که به اختصار KDC می نامیم ، Kerberos Ticket Granting Ticket که به اختصار TGS می نامیم و Kerberos Authentication Service که به اختصار AS می نامیم را می دهند . از ویندوز سرور 2000 و بعد از آن پروتکل Kerberos توسط سیستم عامل های شرکت مایکروسافت پشتیبانی می شود. قاعده کلی فعالیت پروتکل Kerberos در محیط های عملیاتی به شکل زیر است :
پروتکل Kerberos قابلیت صحت و تمامیت و محرمانگی اطلاعات را به ما می دهد اما در خصوص دسترسی پذیری و حملاتی مانند frequency analysis بصورت تخصصی نمی تواند کاری انجام دهد. علاوه بر این به دلیل اینکه تمامی کلید های سری و تمامی عملیات های احراز هویت توسط TGS و سرورهای احراز هویت انجام می شود ، این سرورها هم در برابر حملات فیزیکی و هم در برابر کدهای مخرب بسیار آسیب پذیرند.
در صورتیکه مهاجم بتواند در وهله زمانی که در Kerberos بصورت پیشفرض در نظر گرفته شده است بتواند کلیدی را بدست بیاورد می تواند از حمله Replay برای حمله به سرور یا کلاینت استفاده کند. به دلیل اینکه رمز عبور کاربر برای برقراری درخواست کنترل سرویس Kerberos مورد استفاده قرار می گیرد ، حملاتی از نوع حدس زدن رمز عبور یا Password Guessing نیز می تواند در این میان انجام شود . حتی کلیدهایی که برای تبادل اطلاعات در Kerberos استفاده می شود دارای نقاط ضعف امنیت هستند . تمامی کلید های سری کلاینت ها بصورت موقتی بر روی خود کامپیوتر کلاینت و یا سرورها درخواست کنند قرار می گیرند و امکان دستکاری و سوء استفاده از این کلید ها بسیار محتمل است.
برای پوشش دادن و رفع یک سری از مشکلات و نقاط ضعف امنیت موجود در پروتکل Kerberos پروژه SESAME ایجاد شد. SESAME مخفف Secure European System for Applications in multi-vendor Environment است . در این پروژه از ساختار رمزنگاری کلید عمومی برای توزیع کلید های سری و همچنین پشتیبانی از سیستم های کنترل دسترسی بیشتر استفاده می شود . SESAME از پروتکل Needham-Schroeder و همچنین سرور احراز هویت مورد اعتماد در هر میزبان برای کاهش نیازمندی های مدیریت کلید استفاده می کند.
SESAME از الگوریتم های Hashing یک طرفه MD5 و crc32 در عملیات خود استفاده می کند. علاوه بر این SESAME دو certificate و یا Ticket را با یکدیگر ترکیب می کند. یکی از این Certificate ها سرویس احراز هویت همانند پروتکل Kerberos انجام می دهد و دیگری سطح دسترسی های کاربر را که به وی اختصاص داده شده است را تعیین می کند. یکی از نقاط ضعفی که در SESAME وجود دارد این است که این سیستم احراز هویت را صرفا با بلوک اول پیغام انجام می دهد و از کل پیغام برای احراز هویت استفاده نمی کند. SESAME هم همانند Kerberos در برابر حملات Password Guessing ضعیف عمل می کند.
سیستم Kryptonite متعلق به شرکت IBM است که سرویس های احراز هویت ، SSO و توزیع کلید را در یکجا در خود ارائه می دهد. این سیستم برای استفاده در کامپیوترهایی طراحی شد که قابلیت های محاسباتی متنوعی داشتند. این سیستم نیز دارای یک KDC است که تمامی کلید های سری در هر سمت از شبکه را در خود نگه می دارد. یکی از تفاوت هایی که Kryptonite با Kerberos دارد این است که در این پروتکل یک رابطه Peer-to-Peer بین طریفت ارتباط و KDC برقرار می شود.
برای پیاده سازی SSO ، KDC دارای کلید سری طرف مقابل می باشد که رمز را بصورت Hash شده منتقل می کند. اولین اطلاعات رد و بدل شده بین KDC طرف مقابل ارتباط نام کاربری و یک مقدار است ، این مقدار در نقش Nonce ( یک وسیله احراز هویت یکبار مصرف که بصورت تصادفی تولید می شود ) عمل می کند . در اینجا KDC کاربر را احراز هویت کرده و برای کاربر Ticket رمزنگاری شده را به همراه کلید سری کاربر ارسال می کند.
کاربر در این لحظه Ticket را رمزگشایی کرده و می تواند از آن برای احراز هویت شدن توسط سرورها جهت دریافت سرویس ها از سیستم های موجود در شبکه استفاده کند . NetSP نیز یکی محصول مشابه kryptonite است با این تفاوت که از ایستگاه های کاری مستقر در شبکه به عنوان سرور احراز هویت استفاده می کند ، Ticket های تولید شده توسط NetSP با یک سری از سرویس های کنترل دسترسی مانند Resource Access Control Facility یا RACF هماهنگ هستند . در دوره آموزش نتورک پلاس و در قسمت امنیت اطلاعات و شبکه کمی در خصوص مباحث و روشهای احراز هویت صحبت می کنیم.
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود