احراز هویت و کنترل دسترسی اغلب به جای هم استفاده میشوند. با این حال، این دو سیستم کار بسیار متفاوتی انجام میدهند. درک تفاوت میان این دو برای اجرای یک سیستم امنیتی باکفایت حیاتی است.
احراز هویت = کی هستی؟
در فرآیند احراز هویت ثابت میکنید کسی هستید که میگویید. در هر سیستمی اعتماد به سختی به دست میآید. اعتماد به خصوص وقتی مورد تردید است که یک سیستم مواجه با عوامل خارجی همچون API مجبور است به کاربرانی اعتماد کند که از مبدا منحصر به فردی میآیند و هرکدام از راههای مختلفی با منابع داخلی سر و کار دارند. به همین ترتیب، احراز هویت روشی است که بوسيلهي آن میزان اعتماد مشخصی میتواند کسب شود.
دريک برنامهي احرازهويت، کاربر با نشان دادن شواهدي قول ميدهد کسي باشد که ميگويد. يکی از روشهای استاندارد براي احرازهويت، تاييد اطلاعات هويتي همچون گذرواژه و نام کاربري ميباشد. در اين روش احرازهويت، کاربر ادعا ميکند همان کسي است که گفته است و شاهد اين ادعا رازي است که تنها کاربر و سيستم ميداند.
البته، عیب این منطق در اینجاست که هرکسی به غیر از کاربر میتواند این راز را بداند. به همین دلیل، سیستمها اغلب سیستم دوم(يا حتي سومي) نیز برای درستيآزمايي احراز هویت تعبیه میکنند. ما این رویکردها را “عامل” میخوانیم و آنها را به تکعامله ، دوعامله و چندعامله تقسيم ميکنيم.
روشهاي عاملي مبتني بر ترکيبي از متغيرها حول يک حلقه يا کليد ايمن هستند. اين متغيرها در سه دسته قرار ميگيرند:
- فيزيکي: چيزي که کاربر دارد
- بيومتريک: چيزي که کاربر هست
- راز: چيزي که کاربر ميداند
در يک مثال تکعاملي، نامکاربري شناسه است و روش ايمني تکعاملي است. گذرواژه چيزي است که کاربر ميداند. نکتهي کليدي اين است که حتي اگر از کاربر چيزي ديگري که ميداند را بپرسيم، همچنان به دنبال يک عامل هستيم. تنها راهي که شخص ديگري بتواند گذرواژهي کاربر را بداند، دانستن رمز دسترسي به حساب است.
اگرهمچنين چيزي از گروه دیگری درخواست کردیم، ميتوانيم يک راهکار دوعاملي بسازيم. راهکار دوعاملي نيازمند دو گونه اطلاعات هویتی برای احرازهويت است. براي مثال، وقتي کاربر نامکاربري و گذرواژه را وارد ميکند، سيستم دوعاملي ممکن است مکآدرس سيستمي که از آن براي درخواست دسترسي استفاده ميشود را چک کند. اگر آن مکآدرس که در گروه “چيزي که کاربر هست” قرار ميگيرد، با مکآدرسي که براي آن کاربر در سيستمهاي ما تعريف شده است همخواني داشته باشد، درخواست قبول ميگردد.
احرازهويتي که نياز به الماني از دو گروه يا بيشتر داشته باشد چندعاملي در نظر گرفته ميشود. در نتيجه، از لحاظ فني، دوعاملي هم يک راهکار چندعاملي است. اگرچه وقتي چيزي از هر سه گروه داشته باشيد وارد ردهي چندعاملي ميشويد که دقيقا معادل دوعاملي نيست. براي مثال اگر برنامهي احرازهويت ما که به کليد امنيتي USB يا “چيزي که کاربر هست” نياز دارد، به گذرواژه و شناساگر اثرانگشت نيز نياز داشته باشد، تبديل به فرآيند احرازهويت چندعاملي ميشود که فراي دوعاملي است.
کنترل دسترسي = ميتواني چنين کاري کني؟
در کنترل دسترسي ثابت ميکنيد ميتوانيد کاري را که ميگوييد انجام دهيد. در کنترل دسترسي گاها احرازهويت نيز به کار برده ميشود چرا که ممکن است سيستمي پیش از اينکه به شما اجازهی اثبات کاري که ميتوانيد بکنيد را بدهد، به تاييد اينکه کسي که ميگوييد هستيد، بپردازد. با اين حال دليل نميشود که دو اصطلاح معادل يکديگر باشند.
اغلب مواقع، افراد احراز هویت و کنترل دسترسی را جابهجا ميگيرند چراکه کاربر اصولا همزمان با هر دو سرکار دارد. براي کاربر، اين فرآيند کلي ممکن است يک موجوديت واحد به نظر برسد. در حقيقت اين دو باهم متفاوت هستند و روشهايشان قابل جايگزين شدن با ديگري نيست.
کنترل دسترسی به معنای محدود کردن دسترسی به منابع، بسته به اینکه چه کسی درخواست دسترسی به آن منبع را دارد میباشد. راهکارهای کنترل دسترسی اغلب از گروههایی استفاده میکنند که دسترسی به منابع را به طور گسترده منطبق با نوع کاربر محدود میکند. به عنوان مثال، ممکن است ما یک سرور تجارت الکترونیکی داشته باشیم که کاربران، مشتریان و فروشندگانی داشته باشد.
کاربران با ورود به ویترین فرشگاه نیاز چندانی به دسترسی به خدمات داخلی ندارند. به همین شکل، ردهی کاربران به شدت محدود میشود. با این حال، مشتریان نیاز به دسترسی به تنظیمات حساب، جزییات پرداخت، تاریخچهی سفارشات و … دارند و به همین دلیل حسابهای مشتری از حق دسترسی وسیعتری برخوردار است. از سوی دیگر، فروشندگان دسترسی بسیار بیشتری به میکروسرویسها و سرورها دارند و بنابراین حقوق کاربری بسیار متفاوتی خواهند داشت. همهی اینها با فرض اینکه هویت کاربر شناسایی شود ممکن میشود.
شناسایی هویت کاربراغلب با استفاده از احراز هویت به دست میآید، در این فرآیند توکنی به کاربرتعلق میگیرد که او به وسیلهی آن میتواند برای داشتن حقوق مشخصی، کنترل دسترسی را پشتسر بگذارد. به همین دلیل، کاربران اصولا فکر میکنند که سیستم احراز هویت وابسته به سیستم کنترل دسترسی است. این قضیه کاملا درست نیست. بسیاری از سرورهای کنترل دسترسی از ویژگیهای کاربران همچون آدرس شبکهشان استفاده میکنند و برای تایید آن بدون توجه به اینکه چه کسی هستند حق دارند این درخواست را داشته باشند. به این ترتیب، این دو اصطلاح معمولا به جای یکدیگر استفاده میشود.
تفاوت اصلي روشن شد
همانطور که پيش از اين به تفصيل دربارهي تفاوت احراز هویت و کنترل دسترسی بحث شد، درک تفاوت عمدهي اين دو از طريق يک قياس در دنياي واقعي مفيد خواهد بود. فرض کنيد قرار است به تعطيلات برويد و بليط هواپيما گرفتهايد.
وقتي که به فرودگاه رسيديد، بدون توجه به مقصدتان بايد دو چيز به همراه داشته باشيد: پاسپورت و کارت پرواز. وقتي از قسمت امنيت ميگذريد بايد پاسپورت خود را نشان بدهيد. اين پاسپورت هويت شما را نشان ميدهد و يک مدرک معتبر است. با اجازه دادن به ماموران بخش امنيت براي تطابق دادن عکس پاسپورت با خودتان نشان ميدهيد شما همان کسي هستيد که ميگوييد. مقایسه پاسپورت با شما به نوعي احرازهويت است چرا که شما ادعا کرديد که فرد به خصوصي هستيد و سپس براي درستي ادعاي خود شواهدي فراهم آورديد.
با اين حال وقتي به گيت رسيديد پاسپورت ديگر ارزشي ندارد. براي اينکه به هواپيما برسيد، بايد کارت پرواز خود را ارائه کنيد. کارت پرواز به عنوان علامتي براي نشان دادن اعتماد ميان شما و خط هوايي ساخته شده است و به اين معني است که شما ميتوانيد در پرواز باشيد. با اين اوصاف، کارت پرواز به نوعي کنترل دسترسي محسوب ميشود و نشان ميدهد که شما قابليت انجام کاري که ميگوييد را داريد.
مثالي واقعي: آموزش الکترونيکي
بياييد با يک مثال فرضي ديگر نگاهي به تفاوت ميان احرازهويت و کنترل دسترسي بيندازيم. نرمافزاري در زمينهي آموزش الکترونيکي را تصور کنيد که براي دانشجویانی از سرتاسر جهان محتوا توليد ميکند. اين محتوا به شکل ويديو و آزمون است. اين نرمافزار محتوا را از میکروسرویسهای متفاوت در وب نهایی بارگزاري ميکند.
وقتي که کاربران بخواهند به سيستم دسترسي پيدا کند، ابتدا بايد نامکاربري و گذرواژهي خود را وارد نمايند. اين جفت اطلاعات شکلي از احرازهويت است ولي کاملا امن نيست. در تئوری هرکسي ميتواند به دلايل مختلف گذرواژهي خود را فاش کند. بنابراین، هر کاربر بايد از يک سيستم چندعاملي استفاده کند.
در اين مثال، دانشگاه ميتواند يک سيستم چندعاملي را به کار بگيرد که شامل نامکاربري و گذرواژه و کدي که يک نرمافزار تلفنهمراه توليد ميکند باشد. هنگام ورود، بعد از وارد کردن نامکاربري و گذرواژه، نرمافزاری بر روی تلفنهمراه کاربر کدی برای احراز هویت میدهد که باید بیدرنگ در نرمافزار آموشی وارد شود.
برای گروههای دیگری از کاربران، این روش احراز هویت ممکن است کافی نباشد و المان سومی نیاز باشد. درخواستهای اساتید و مدیر لزوما باید از زیرشبکهی امن و مورداعتماد یک شبکهی محلی انجام شود. این در گروه “چیزی که کاربر هست” قرار میگیرد و به نحوی احراز هویت با عامل دوم است.
تا به الان، ما تنها به احراز هویت مشغول بودیم و اثبات میکردیم که درخواستدهنده همان کسی است که ادعا میکند. حالا که مطمئن شدیم همان کسی است که ادعا میکند، بايد مطمئن شويم که کاربر ميتواند کاري که از قبل سعي به انجام آن داشت را انجام دهد.
اين نرمافزار سطوح مختلفي از دسترسي دارد که بسته به کسي است که خواستار دسترسي به منبع است. استاید مدارک هویتی آموزگاري، دانشجویان مدارک هویتی دانشجویی و هرکسي که در پستپرده مشغول به کار است مدارک مديريتي دارد. چیزی که اینجا با آن سروکار داریم سطوح یا گسترهی عمل هستند. این گسترهها مشخص میکند هر گروه کاربر چه حقوقی دارد و چه کاری با این حقوق میتواند انجام دهد. این گروهها از طریق سیستم داخلی احراز هویت تعریف میشوند، کاربر در نقش: کاربر، استاد در نقشک استاد و … مشخص میشوند.
وقتی کاربری که وارد شده است میخواهد فرآیند کنترل دسترسی را انجام دهد، درخواستی برای توکن (پیام رمزنگاری شده) کنترل دسترسی به سرور کنترل دسترسی فرستاده میشود. سپس این سرور به توکن پاسخ داده و حقوق مشخصی به آنها اعطا میکند. طیق درخواست و توکنی که کاربر دارد، سرور یا درخواست را قبول میکند یا رد میکند. برای مثال، اگر یک دانشجو توکن دانشجویی داشته باشد، میتواند به کارکلاسی دست پیدا کند؛ اگر یک دانشجو بخواهد با استفاده از یک توکن دانشجویی به جدول نمرات دسترسی داشته باشد، سیستم تشخیص میدهد که این خارج از گسترهی عمل تعریفشده است و آن را رد میکند.
نتيجهگيري
خوشبختانه مرز میان احراز هویت و کنترل دسترسی را روشنتر کردیم. این اصطلاحات که اغلب به جای هم به کار میروند در واقع سیستمهای مجزا و منحصربهفردی هستند که عملکرد کاملا متفاوتی دارند. درک این تفاوتها و شروطشان به طورکلی اجرای هرکدام از سیستمها را بهتر، روشنتر و اثربخشتر میکند.