۱ – مقدمه
در طي سه دهة اخير تعداد پايگاه داده‌هاي كامپيوتري افزايش بسياري داشته است. حضور اينترنت به همراه توانائيهاي شبكه، دسترسي به داده و اطلاعات را آسانتر كرده است. به عنوان مثال، كاربران امروزه مي‌توانند به حجم بالايي از اطلاعات در فاصلة زماني بسيار كوتاهي دسترسي پيدا كنند. به همين نسبتي كه ابزارها و تكنولوژي دسترسي و استفاده از اطلاعات توسعه مي‌يابند، نياز به حفاظت اطلاعات هم بوجود مي‌آيد.

بسياري دولتها و سازمانها صنعتي داده‌هاي مهم و طبقه بندي شده‌اي دارند كه بايد حفاظت شوند. سازمانهاي بسيار ديگري هم مثل مؤسسات دانشگاهي نيز اطلاعات مهمي در مورد دانشجويان و كارمندانشان دارند. در نتيجه تكنيكهايي براي حفاظت داده هاي ذخيره شده در سيستمهاي مديريت پايگاه داده، اولويت بالايي پيدا كرده‌اند.

در طول سه دهة اخير، پيشرفتهاي بسياري در مورد امنيت پايگاه داده‌ها حاصل شده است. بسياري از كارهاي اوليه، روي امنيت پايگاه داده‌هاي آماري انجام شد. در دهة ۷۰، همزمان با شروع تحقيقات روي پايگاه داده‌هاي رابطه‌اي، توجه مستقيماً به مسئله كنترل دسترسي بود و بيشتر از همه، كار روي مدلهاي كنترل دسترسي احتياطي شروع شد. در حالي كه، در سالهاي پاياني دهة ۷۰، كار بروي امنيت الزامي ولي در واقع تا مطالعات نيروي هوايي در ۱۹۸۲، كه تلاش وسيعي براي DBMSهاي امن چند سطحي بود، كار مهمي انجام نشد.

در هزارة جديد با حضور تكنولوژيهايي مثل كتابخانه‌هاي ديجيتال، شبكه گستره جهاني و سيستمهاي محاسباتي اشتراكي، علاقه بسياري به امنيت نه تنها در بين سازمانهاي دولتي، بلكه بين سازمانهاي اقتصادي هم وجود دارد. اين مقاله مروري به پيشرفتها و محصولات در سيستمهاي پايگاه داده‌اي امن در دو زمينة اجباري و احتياطي دارد.
۲ كنترل دسترسي (مفاهيم و سياستها)

دراين بخش مفاهيم پايه در كنترل دسترسي معرفي مي‌شوند. سپس در مورد سياستهاي كنترل دسترسي احتياطي و الزامي بحث مي‌شود و نهايتاً مروري داريم بر سياستهاي سرپرستي.

۲ـ۱ مفاهيم اساسي
كنترل دسترسي معمولاً در مقابل مجموعه اي از قوانين اعطاي مجوز كه توسط مديران امنيتي يا كاربران براساس بعضي سياستهاي خاص ارائه مي‌شوند، قرار دارد.
قانون اعطاي مجوز، در حالت كلي بيان مي‌كند كه فرد S اجازه دارد كه امتياز P را بروي شيئي O بكار ببرد.

اشياء مجاز : تركيبات غيرفعال سيستم هستند كه بايد در مقابل دسترسي‌هاي غيرمجاز محافظت شوند. اشيايي كه بايد به آنها متوجه شدند به مدل داده‌اي مورد استفاده بستگي دارند. به عنوان مثال، در يك سيستم عامل فايلها و دايركتوريها اشياء هستند. در حاليكه، در يك DBMS منابعي كه بايد محافظت شوند رابطه ها، ديدها و صفات هستند.
اشخاص مجاز : موجوديتهايي در سيستم هستند كه اجازة دسترسي به آنها داده مي‌شود. اشخاص به دسته‌هاي زير تقسيم بندي مي‌شدند :
• كاربران : كه شخصيتهاي مجزا و مشخصي هستند كه با سيستم در ارتباطند.
• گروهها مجموعه اي از كاربران.

• نقشها : مجموعه‌اي نامدار از امتيازها كه احتياج دارند، فعاليت خاصي را در رابطه با سيستم انجام دهند.
• سلسله عمليات : كه برنامه‌هايي را براي كاربر اجراء مي‌كند. به طور كلي، سلسله عمليات به آدرسهاي حافظه، استفاده از CPU ، فراخواني برنامه‌هاي ديگر و عمليات بروي داده اشاره مي‌كند.
امتيازهاي مجاز : انواع عملياتي را كه يك فرد مي‌تواند روي يك شيئي در سيستم اجراء كند، بيان مي‌كند. مجموعة اين امتيازها به منابعي كه بايد محافظت شوند، بستگي دارد. به عنوان مثال، در يك سيستم عامل خواندن، نوشتن و اجراء از امتيازها هستند. ولي، دريك DBMS رابطه‌اي، انتخاب، درج، تغيير و حذف از جمله امتيازها به شمار مي‌روند.

۲ـ۲ سياستهاي كنترل دسترسي :
سياستهاي كنترل دسترسي، معيارهايي هستند كه براساس آنها تعيين مي‌شود آيا يك درخواست دسترسي بايد مجاز شمرده شود يا نه. يك طبقه بندي كلي بين سياستهاي كنترل دسترسي احتياطي و الزامي است.

۲ـ۲ـ۱ سياست كنترل دسترسي احتياطي :
سياستهاي كنترل دسترسي احتياطي (DAC) ، دسترسي افراد به اشياء را براساس شناسه افراد، قوانين و مجوزها كنترل مي‌كند. قوانين براي هر فرد، مجوزهايي را كه مي‌تواند براي انجام عمليات روي اشياء بكار برد، بيان مي‌كند. وقتي تقاضاي درخواستي به سيستم مي‌آيد، مكانيسم دسترسي مشخصي مي‌كند آيا قانوني براي تأييد اين درخواست وجود دارد يا نه. اگر قانوني وجود داشت درخواست مجاز شمرده مي‌شود، در غيراين صورت رد مي‌شود. چنين مكانيزمي احتياطي است و در آن به اشخاص اجازه داده مي‌شود كه مجوز دسترسي به داده‌هايشان را به ديگران بدهند.
سياسته

اي دسترسي احتياطي انعطاف پذيري زيادي دارند. به طوري كه، اجازه تعريف محدوده وسيعي از قوانين كنترل دسترسي را با استفاده از انواع مختلف مجوزها را مي‌دهند. مثل مجوزهاي مثبت و منفي و مجوزهاي قوي و ضعيف. در زير توضيح مختصري از هر كدام ارائه مي‌شود.
• مجوزهاي مثبت و منفي :
در سيستمي كه مجوز مثبت دارد. هرگاه فردي بخواهد به شيئي خاصي دسترسي داشته باشد، سيستم چك مي‌كند آيا مجوزي وجود دارد و فقط در صورت وجود، به شخص اجازه دسترسي داده مي‌شود. عدم وجود مجوز به معني رد درخواست است. مشكل اين خط مشي اين است كه، عدم وجود مجوز به معناي جلوگيري از دسترسي شخص به شيئي در آينده نيست. اين مشكل توسط مجوزهاي منفي حل شد كه به معني رد قطعي مجوز در چنين مواردي است.

• مجوزهاي قوي و ضعيف :
بعضي مدلهايي كه هر دو مجوز مثبت و منفي را دارند به دو دسته مجوزهاي قوي و ضعيف نيز تقسيم مي‌شوند. مجوزهاي قوي (چه مثبت و چه منفي) باطل نمي‌شوند. در حاليكه، مجوزهاي ضعيف براساس قوانين خاصي توسط مجوزهاي قوي يا ضعيف ديگري مي‌توانند باطل شوند.
۲ـ۲ـ۲ سياست كنترل دسترسي الزامي

سياستهاي كنترل دسترسي الزامي (MAC) بيان كننده دسترسي است كه افراد به اشياء براساس رده بندي شيئي و فرد دارند. اين نوع از امنيت تحت عنوان امنيت چند لايه هم نام برده مي‌شود. سيستمهاي پايگاه داده‌اي كه خصوصيات امنيت چند لايه را تأمين مي‌كنند، DBMS هاي امن چند لايه (MLS/DBMS) يا DBMS هاي مطمئن ناميده مي‌شوند. بيشتر MLS/DBMSها براساس سياست Bell و Lapadula ، طراحي و ساخته شده‌اند. دراين خط‌مشي‌ها، افراد به عنوان سطوح مجاز مطرح مي‌شوند و مي‌توانند در سطح مجاز خود عمل كنند.

اشياء به سطوح حساسيت ارجاع مي‌شوند. سطوح مجاز حساسيت را سطوح امنيت مي‌نامند. آنچه در زير مي‌آيد، دو قانون مهم اين خط مشي است :
ـ ويژگي امنيتي ساده : يك فرد دسترسي خواندن يك شيئي را دارد اگر سطح امنيتي آن بر سطح امنيتي شيئي مسلط باشد.
ـ ويژگي ستاره : يك فرد دسترسي نوشتن يك شيئي را دارد اگر سطح امنيتي شيئي توسط سطح امنيتي فرد پوشانده شود.

شكل زير تفاوت بين سياستهاي الزامي و احتياطي را نشان مي‌دهد. تحت سياست احتياطي يك تقاضاي دسترسي مجاز شمرده مي‌شود اگر قانوني وجود داشته باشد كه دسترسي را مجاز بداند. در مقابل، در سياست الزامي يك دسترسي مجاز است، اگر رابطه خاصي بين سطح امنيتي شخصي كه تقاضاي دسترسي دارد و سطح امنيتي شيئي كه مورد تقاضاست، وجود داشته باشد.

۲ـ۳ سياستهاي سرپرستي
يكي ديگر از ابعادي كه مي تواند معياري براي مقايسه مدلهاي كنترل دسترسي باشد، سياستهاي سرپرستي است، كه حمايت مي‌كند. سرپرستي به عمليات اعطا و بازپس گرفتن مجوز اطلاق مي‌شود. ما سياستهاي سرپرستي را به صورت زير طبقه بندي مي‌كنيم.
سرپرستي DBA : تحت اين سياست، فقط DBA مي‌تواند حق دسترسي بدهد يا تقاضايي را برگرداند. اين سياست بسيار متمركز است و امروزه به ندرت در DBMSها بكار مي‌رود، مگر در ساده ترين آنها.
سرپرستي شيئي – مالك : براساس اين سياست كه عمدتاً توسط DBMS‌ها و سيستم عاملها استفاده مي‌شود، بوجود آوردند شيئي مالك آن محسوب مي‌شود و تنها شخص مجاز براي سرپرستي شيئي است.
سرپرستي متصدي شيئي : بر طبق اين سياست، يك شخص، نه الزاماً ايجاد كننده شيئي، مدير سرپرستي شيئي است. براساس اين سياست حتي ايجاد كنندة شيئي هم بايد مجوز دسترسي به شيئي را دريافت كند.

دومين و سومين سياست مي‌توانند با وكالت سرپرستي و انتقال سرپرستي تركيب شوند. وكالت سرپرستي به اين معناست كه مدير يا سرپرست يك شيئي مي‌تواند اعمال سرپرستي بروي يك شيئي را به شخص ديگري واگذار كند. بيشتر DBMSها سياست سرپرستي براساس سرپرستي مالك با امكان واگذاري را حمايت مي‌كنند. بايد توجه داشت كه تحت خط مشي واگذاري، سرپرست اوليه شيئي امتياز سرپرستي خود را از دست نمي دهد.

انتقال سرپرستي مثل واگذاري، سرپرستي را به شخص ديگري مي‌دهد. با اين تفاوت كه سرپرست اوليه امتياز سرپرستي خود را از دست مي‌دهد. براي انتقال سرپرستي دو خط مشي زير وجود دارد.