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

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

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

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

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

۲ـ۱ـ مفاهيم اساسي :
كنترل دسترسي معمولاً در مقابل، مجموعه اي از قوانين اعطاي مجوز كه توسط مديران امنيتي يا كاربران براساس بعضي سياستهاي خاص ارائه مي‌شوند، قرار دارد.
قانون اعطاي مجوز، در حالت كلي بيان مي‌كند كه فرد (Subject) S اجازه دارد كه امتياز P (Priuilege) را بروي شيئي (Object) O بكار ببرد.
اشياء مجاز : تركيبات غيرفعال سيستم هستند كه بايد در مقابل دسترسي‌هاي غيرمجاز محافظت شوند. اشيايي كه بايد به آنها متوجه شدند به مدل داده‌اي مورد استفاده بستگي دارند. به عنوان مثال، در يك سيستم عامل فايلها و دايركتوريها اشياء هستند. در حاليكه، در يك DBMS منابعي كه بايد محافظت شوند رابطه ها، ديدها و صفات هستند.

اشخاص مجاز : موجوديتهايي در سيستم هستند كه اجازة دسترسي به آنها داده مي‌شود. اشخاص به دسته‌هاي زير تقسيم بندي مي‌شدند :
• كاربران : كه شخصيتهاي مجزا و مشخصي هستند كه با سيستم در ارتباطند.

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

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

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

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

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

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

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

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

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

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

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

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

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

۳ـ۱ـ مدلهاي اعطاي مجوز براي DBMSهاي رابطه‌اي :
دراين بخش مروري داريم بر مدلهاي اعطاي مجوز كه براي DBMSهاي رابطه‌اي ساخته شده‌اند و با شرح مدل System R شروع مي‌كنيم. مدل System R يك حادثه مهم در تاريخ مدلهاي اعطاي مجوز است. اهميت مدل سيستمهاي R از آنجايي است كه بسياري DBMSهاي تجاري مكانيزم اعطاي مجوز را براساس آن توسعه دادند.

دراين مدل اشيايي كه بايد محافظت شوند جدولها و ديدهايي هستند كه اشخاص، امتيازهاي گوناگون نسبت به آنها دارند. امتيازهايي كه اين مدل حمايت مي‌كند شامل، انتخاب (Select) براي انتخاب تاپلها از جدول، به روز رساني (Update) براي تغيير تاپلهاي يك جدول، درج و حذف (Delete,insert) براي افزودن يا حذف كردن تاپلهاي جدول، حذف جدول (drip) براي پاك كردن كل يك جدول. گروه و نقش دراين مدل حمايت نمي‌شوند. اين مدل امكانات سرپرستي تامتمركز را حمايت مي‌كند. هرگاه شخصي جدولي را بوجود مي‌آورد. امتيازي را نسبت به آن بدست مي‌آورد. مالك جدول مي‌تواند تمام امتيازها را بر جدول اعمال كند.

اين مدل ارجاع بازگشتي دارد، به اين معنا كه وقتي شخصي مجوز جدولي را از كاربر ديگري مي‌گيرد. تمام مجوزهايي كه قبلاً به او داده شده ارجاع مي‌شود.
۳ـ۲ـ مدلهاي اعطاي مجوز براي DBMSهاي شيئي گرا :
امروزه DBMSهاي شيئي‌گرا و شيئي – رابطه‌اي از مهمترين زمينه هاي تحقيق در موزه DB هستند. دليل اين اهميت اين است كه آنها بسيار مناسب براي كاربردهاي پيشرفته مثل CAD/CAM، مولتي مديا و كاربردهاي نقشه‌كشي هستند. چون اين برنامه‌ها احتياج به مدلهاي داده‌اي غني‌تري نسبت به مدلهاي رابطه‌اي دارند. احتياجات سيستمهاي DBMSها هم متفاوت از سيستمهاي رابطه اي است و اين باعث مي‌شود مدلهاي سنتي براي DBMSهاي رابطه‌اي، براي سيستمهاي شيئي‌گرا كافي نباشد. با وجود رشد علاقه و توجه به ODBMSها، تحقيقات براي مدلهاي اعطاي مجوز براي ODBMSها هنوز در مراحل اوليه است. اگرچه طرحهاي بسياري وجود دارد. تنها مدلهاي Orion و Iris مدلهاي قابل مقايسه با مدلهاي RDBMSها دارند.

۳ـ۲ـ۱ـ مدل Orion :
مدل اعطاي مجوز Orion، مجوزهاي مثبت و منفي و همچنين قوي و ضعيف را حمايت مي‌كند. مجوز قوي هميشه اولويت بيشتري نسبت به مجوز ضعيف دارد. مجوزها به جاي كاربران تكي به نقشها داده مي‌شوند و يك كاربر مجاز است عملي را روي يك شيئي انجام دهد، اگر نفشي وجود داشته باشد كه اجازه اين كار را داشهژته باشد. نقشها، اشياء و امتيازها تحت يك سلسله مراتب سازماندهي مي‌شوند و يكسري قوانين انتشار يا تكثير اعمال مي‌شود :