بخشی از مقاله
خلاصه
کنترل دسترسی به مکانیسمی گفته میشود که از طریق آن بتوان نحوه دسترسی کاربران به منابع سیستم را محدود به نیازهایشان کرد و به نوعی نحوه تأمین امنیت داده و تنظیم سطح دسترسیها را بیان میکند. برای کنترل سطح دسترسی مدلهای بسیاری مطرح است که این مقاله با استفاده از مدلهای مختلف، مدلی برای شخصیسازی سطح دسترسی برای هر کاربر ارائه میدهد، البته انتخاب مدل بستگی به نوع نرمافزار دارد که طراح و تحلیلگر برنامه باید بر اساس معیارهای مورد نیاز خود، مدلی را انتخاب نمایند.
در این مقاله مفاهیم کنترل دسترسی و مدلهای مرتبط به آن همراه با یک راهکار برای شخصیسازی سطح دسترسی کاربران ارائه شده است. راهکار مد نظر برگرفته از مدل مبتنی بر نقش میباشد اما با این توصیف که سطح دسترسی به منابع سیستم علاوه بر نقشهای سیستم به کاربران سیستم نیز مرتبط میباشد و کارکرد سیستم را بهتر میکند. این مدل نتایج قابل قبولی را در مقایسه با سایر مدلها از خود نشان داده است.
.1 مقدمه
کنترل دسترسی و احراز هویت کاربر دو واژه کاملاً متفاوت هستند که هر دو برای بالا بردن امنیت برنامههای کاربردی مورد استفاده قرار میگیرند، به نحوی که در برنامههای کاربردی ابتدا کاربر احراز هویت میشود سپس مشخص میشود که مجوز دسترسی به چه منابعی را میتواند داشته باشد. هدف اصلی کنترل دسترسی به منابع سیستم شامل سه حالت؛ دسترسی داده شود، دسترسی تغییر داده شود و درنهایت دسترسی گرفته شود، میباشد.5 اصطلاح کنترل دسترسی در واقع اشاره به کنترل بیشتر بر روی دسترسی به منابع سیستم دارد، یعنی فرض را بر این میگذارد که هویت کاربر مورد تائید قرار گرفته است و اکنون چگونگی نحوه دسترسی کاربر به منابع باید کنترل گردد.
در محیط رقابتی امروز، تأمین امنیت دادهها و تعیین نحوه دسترسی به آنها یکی از مباحث لازم و ضروری میباشد، به همین منظور در این مقاله پس از تعریف یک سری مفاهیم اصلی کنترل دسترسی به بررسی 4 مدل اساسی در کنترل دسترسی پرداخته خواهد شد و درنهایت با کمک از این مدلها راهکاری برای شخصیسازی کنترل دسترسی برای هر کاربر ارائه خواهد شد که توانسته است مشکلات مدلهای قبلی را بهبود بدهد.
.2 مفاهیم اصلی کنترل و دسترسی
در این بخش یک سری از مفاهیم کلی که بهصورت معمول در کنترل دسترسی به کار میرود تعریف شده است. شیء:1 یک موجودیتی است که حاوی اطلاعات و دریافتکننده اطلاعات است. دسترسی به یک شیء در واقع دسترسی به اطلاعات حاوی آن است.
فاعل:2 یک موجودیت فعال است که با گرفتن اطلاعات از شیءها باعث تغییر وضعیت سیستم میشود. عملکرد:3 عملیاتی که توسط یک فاعل انجام میشود و نیاز به مجوز سطح دسترسی دارد.
سطح دسترسی:4 بررسی امکان انجام عمل بر روی یک شیء و دادن اجازه انجام آن. نقش:5 نقشی از سیستم است که میتواند سطح دسترسیهای مختلفی را در برداشته باشد.
لیست کنترل دسترسی:6 لیستی که شامل شیءهای مختلفی میباشد که مشخص میکند یک فاعل چه دسترسیهایی میتواند داشته باشد هر موجودیت در هر لیست نشان دهنده یک فاعل است[1] در مدل کنترل دسترسی بر اساس ماتریس بیشتر در مورد این مدل بیشتر توضیح داده خواهد شد.
.3 مدلهای مختلف کنترل دسترسی
.1-3 کنترل دسترسی اجباری
دراین مدل اشیاء تشکیل دهنده منابع سیستم کاملاً مشخص میگردند و به هر شیء برچسب امنیتی اختصاص داده میشود. هر کدام از این برچسبها شامل اطلاعات زیر میباشند که بهصورت هاردکد در برنامه مشخص میشوند:
✓ طبقهبندی اطلاعات7 بهصورت بسیار سری، محرمانه.
✓ تعیین گروههایی که میتوانند به این شیء دسترسی داشته باشند.
به عنوان یک مثال؛ مدیر، مسئول پروژه و کاربران سیستم مشخص گردد که درچه طبقهای از اطلاعات و در چه گروهی قرار دارند. بدین ترتیب هر زمان کاربری بخواهد به یک شیء دسترسی داشته باشد، برچسب امنیتی شیء را با مشخصات کاربری مورد مطابقت قرار میدهند و نتیجه آن وضعیت دسترسی کاربر را مشخص مینماید. توجه داشته باشید که حتی اگر کاربری در طبقه اطلاعات سری قرار گیرد اما در گروهی باشد که در مجموعه شیء نیامده است، مجوز دسترسی به او داده نخواهد شد. البته کاربری که در بالاترین سطح دسترسی قرار دارد مجوز دسترسی به اطلاعات سطوح پایینتر از خود را هم دارد؛ یعنی رابطه سطوح بهصورت سلسله مراتبی میباشد[1] که در شکل1 این رابطه نشان داده شده است.
شکل – 1 سلسله مراتب کنترل دسترسی اجباری
در این روش امنیت تا حد بالایی لحاظ میشود اما این امنیت کمهزینهنیست، چرا که اولاً باید دقت زیادی صرف مشخص نمودن تمامی اشیاء سیستم و طبقهبندی آنها شودثانیاً، بعد از پیادهسازی، تمامی درخواستها مبنی بر بهروزرسانی کردن اشیاء و برچسبهای آنها و یا تغییر موقعیت یک کاربر و سطح دسترسی آن باید به مرکز مدیریتی ارسال گردد که برای محیطهای بزرگ و پویا بسیار وقتگیر خواهد بود. یکی دیگر از محدودیتهای این مدل این است که کاربران نمیتوانند دادههای خود را به اشتراک بگذارند چرا که همه دسترسیها از قبل و بهصورت ایستا مشخص شده است.
.2-3 کنترل دسترسی اختیاری
برخلاف کنترل دسترسی اجباری که در آن دسترسی به منابع توسط سیستم عامل و تحت کنترل مدیر سیستم صورت میگیرد، مدل کنترل دسترسی اختیاری به مدیر سیستم یا به هر کاربر این اجازه را میدهد که نحوه دسترسی به دادههای خود را تحت کنترل داشته باشد. در این مدل دیگر از برچسب امنیتی استفاده نمیشود بلکه برای هر شیء یک لیست کنترل دسترسی تعریف میگردد که شامل فهرستی از کاربران و گروههایی است که به کاربر اجازه دسترسی و سطح دسترسی برای هر گروه را میدهند .[1] نمونه ای از این روش در شکل 2 نشان داده شده است.
شکل – 2 کنترل دسترسی اختیاری