7-Orion.ppt

‫مدل كنترل دسترسي پايگاهدادههاي شيئگرا‬
‫‪ORION‬‬
‫مرتضي اميني‬
‫‪[email protected]‬‬
‫‪1‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪91-90‬‬
‫مدل كنترل دسترسي مدل رابطهاي‬
‫• اغلب مدلهاي كنترل دسترسي و مجازشماري موجود براي‬
‫مدل رابطهاي تعريف شدهاند‪.‬‬
‫• واحد كنترل دسترسي براي مدل رابطهاي‬
‫– رابطه (‪)Relation‬‬
‫– خصيصه يك رابطه (‪)Attribute of a relation‬‬
‫– زيرمجموعهاي از تاپل در يك رابطه ( ‪Subset of tuples in‬‬
‫‪)a relation‬‬
‫‪2‬‬
‫مدلهاي كنترل دسترسي مدل شيئگرا‬
‫• واحد كنترل دسترسي مدل شيئگرا‬
‫– يك شيئ (‪)single object‬‬
‫• مدل كنترل دسترسي ‪ OO‬بايد موارد زير را در نظر بگيرد‪:‬‬
‫– وراثت (‪)Inheritance‬‬
‫– سلسلهمراتب (‪)Hierarchy‬‬
‫– اشياء مركب (‪)Composite Objects‬‬
‫‪3‬‬
‫مدلهاي كنترل دسترسي مدل شيئگرا‬
‫مدلهاي كنترل دسترسي اختياري‬
•
ORION Model (Rabiti et al 1991) –
Bertino-Weigand Model (Bertino & Weigand 1994) –
‫مدلهاي كنترل دسترسي اجباري‬
•
Meadows-Landwehr Model (1992) –
Jajodia-Kogan Model (1992) –
Thuraisingham Model (1995) –
4
‫مفاهيم كلي در كنترل دسترسي‬
‫• سه مولفه اصلي در كنترل دسترسي‬
‫– عاملها (‪)S = Subjects‬‬
‫– اشياء (‪)O = Objects‬‬
‫– اَعمال يا انواع دسترسي (‪)A = Authorization Types‬‬
‫• قواعد مجازشناسي‬
‫– هر قاعده مجازشناسي يك سهتايي (‪ )s, o, a‬كه در آن ‪sS, oO, aA‬‬
‫• تابع كنترل دسترسي‪ :‬مسؤول تصميمگيري در خصوص يك درخواست دسترسي‬
‫اگر ‪ s‬اجازه دسترسي ‪ a‬را بر روي ‪ o‬داشته باشد ‪f (s,o,a)=True‬‬
‫اگر ‪ s‬اجازه دسترسي ‪ a‬را بر روي ‪ o‬نداشته باشد ‪f (s,o,a)=False‬‬
‫‪5‬‬
‫مفاهيم كلي در كنترل‬
‫دسترسي(ادامه)‬
‫• دو استراتژي براي پيادهسازي تابع ‪f‬‬
‫– ذخيرهسازي تمام سه تاييهاي )‪(s, o, a‬كه تابع ‪ f‬براي آنها مقدار‬
‫‪ True‬برميگرداند‪.‬‬
‫• ساده ولي ناكارا‬
‫– ذخيرهسازي تعدادي از سهتايي و استنتاج بقيه از سهتاييهاي‬
‫موجود‬
‫• كمي مشكل ولي كارا‬
‫‪6‬‬
‫مفاهيم كلي در كنترل‬
‫دسترسي(ادامه)‬
‫• قاعده مجازشناسي ضمني‬
‫– استنتاج قواعد مجازشناسي بر اساس روابط حاكم بر دامنه اشياء‬
‫)‪(O‬‬
‫• اگر يك كاربر مجاز به خواندن يك كالس باشد‪ ،‬مجاز به خواندن تمام نمونههاي‬
‫آن نيز ميباشد‪.‬‬
‫– استنتاج قواعد مجازشناسي بر اساس روابط حاكم بر دامنه عاملها‬
‫)‪(S‬‬
‫• يك مدير به تمام اطالعات در دسترس كارمندش دسترسي دارد‪.‬‬
‫– استنتاج قواعد مجازشناسي بر اساس روابط حاكم بر دامنه ا َعمال‬
‫)‪(A‬‬
‫‪7‬‬
‫• يك كاربر مجاز به تغيير يك شيئ دادهاي مجاز به خواندن آن هم هست‪.‬‬
‫مفاهيم كلي در كنترل‬
‫دسترسي(ادامه)‬
‫• قاعده مجازشناسي (مجوز) مثبت و منفي‬
‫– قاعده مجازشناسي مثبت‪(s, o, +a) :‬‬
‫– قاعده مجازشناسي منفي‪(s, o, -a) :‬‬
‫• آيا فقط ميتوان قواعد مجازشناسي مثبت را ذخيره كنيم !!!‬
‫• كاربرد مجوز منفي‬
‫– بيان قواعد دسترسي استثناء‬
‫– منع از يك دسترسي به صورت صريح (طوريكه كه بعدها هم امكان اين دسترسي فراهم‬
‫نگردد)‬
‫‪8‬‬
‫مفاهيم كلي در كنترل‬
‫دسترسي(ادامه)‬
‫• قواعد مجازشناسي قوي و ضعيف‬
‫– قاعده مجازشناسي قوي اجازه بيان استثناء بر روي قواعد منتج از آن را‬
‫نميدهد‪.‬‬
‫• ورود به طرح ترافيک‬
‫– قاعده مجازشناسي ضعيف اجازه بيان استثناء بر روي قواعد منتج از آن را‬
‫ميدهد‪.‬‬
‫• ورود به طرح زوج و فرد با استثناء خبرنگاران‬
‫‪9‬‬
)‫دسترسي(ادامه‬
‫مفاهيم كلي در كنترل‬
‫نمونهاي از قواعد مجازشناسي قوي و ضعيف‬
System [University]
Explicit Strong Authorization
Explicit Strong Authorization
Explicit Weak Authorization
Explicit Weak Authorization
Database [Research]
Database [Administratrion]
Database [Students]
Implicit Strong Authorization
Implicit Strong Authorization
Implicit Weak Authorization
Implicit Weak Authorization
Class [Researcher]
Document[1]
Class [Document]
Document[1]
Document[2]
Class [Project]
Document[100]
Project[10]
10
‫مدل ‪ – ORION‬مفاهيم پايه‬
‫• قواعد مجازشناسي قوي‬
‫‪ ‬تعريف ‪1‬‬
‫يك قاعده مجازشناسي قوي مثبت يك سهتايي به صورت )‪(s,o,+a‬‬
‫يك قاعده مجازشناسي قوي منفي يك سهتايي به صورت )‪(s,o,-a‬‬
‫‪ ‬تعريف ‪2‬‬
‫يك پايگاه مجازشناسي قوي )‪ ،(AB‬يك مجموعه از قواعد مجازشناسي قوي )‪(s,o,±a‬‬
‫است‪.‬‬
‫‪AB  S  O  A‬‬
‫تمام قواعد موجود در ‪ ،AB‬قواعد مجازشناسي قوي و صريح هستند‪.‬‬
‫‪If (s,o,+a)  AB then f(s,o,a)=True‬‬
‫‪If (s,o,-a)  AB then f(s,o,a)=False‬‬
‫‪11‬‬
‫مدل ‪ – ORION‬مفاهيم پايه‬
‫(ادامه)‬
‫• قواعد مجازشناسي قوي‬
‫‪ ‬تعريف ‪3‬‬
‫تابع ‪ i‬به صورت زير تعريف ميشود‪:‬‬
‫بر اساس قواعد‬
‫استنتاج مدل‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪i : S  O  A  True, False, Undecided ‬‬
‫)‪True, if ( s, o, a)  AB  ( si , o j , ak )  AB ( si , o j , ak )  ( s, o, a‬‬
‫‪‬‬
‫)‪i ( s, o, a)   False, if ( s, o,a )  AB  ( si , o j ,ak )  AB ( si , o j ,ak )  ( s, o,a‬‬
‫‪‬‬
‫‪Undecided‬‬
‫اگر ‪ ،(s, o, a) AB‬آنگاه دامنه )‪ (s,o,a‬به صورت زير تعريف ميشود‪.‬‬
‫مجموعه قواعد مجازشناسي قابل استنتاج بر اساس قواعد استنتاج مدل = )‪P(s,o,a‬‬
‫‪12‬‬
)‫(ادامه‬
‫ – مفاهيم پايه‬ORION ‫مدل‬
(AB) ‫• دو شرط پايگاه قواعد مجازشناسي قوي‬
AB ‫ سازگاري‬
If (s,o,±a)AB, and (si,oj,±ak), (s,o,±a) (si,oj,±ak),
then must not  (s’,o’,±a’)AB, (s’,o’,±a’) (si,oj,±ak)
((+a)= - a) and (- a)= +a).
AB ‫ عدم افزونگي در‬
If (s,o,±a)AB, and (s,o,±a) (si,oj,±ak),
then (si,oj,±ak)AB.
13
‫مدل ‪ – ORION‬مفاهيم پايه‬
‫(ادامه)‬
‫• قواعد مجازشناسي ضعيف‬
‫‪ ‬تعريف ‪4‬‬
‫يك قاعده مجازشناسي ضعيف مثبت يك سهتايي به صورت ]‪[s,o,+a‬‬
‫يك قاعده مجازشناسي ضعيف منفي يك سهتايي به صورت ]‪[s,o,-a‬‬
‫‪ ‬تعريف ‪5‬‬
‫يك پايگاه مجازشناسي ضعيف )‪ ،(WAB‬يك مجموعه از قواعد مجازشناسي ضعيف ]‪[s,o,±a‬‬
‫است‪.‬‬
‫‪WAB  S  O  A‬‬
‫از آنجا كه ميتوانيم استثناء داشته باشيم‪ ،‬لذا اگر ‪ [s,o,a]WAB‬آنگاه دامنه ]‪ [s,o,a‬به‬
‫صورت زير تعريف ميشود‪:‬‬
‫= ]‪P[s,o,a‬‬
‫مجموعه قواعد مجازشناسي ضعيف منتج از ]‪ [s,o,a‬و بازنويسي نشده با استثناها‬
‫‪14‬‬
)‫(ادامه‬
‫ – مفاهيم پايه‬ORION ‫مدل‬
‫• قواعد مجازشناسي ضعيف‬
6 ‫ تعريف‬
:‫استنتاج ضعيف به صورت زير انجام ميشود‬
[ si , o j , ak ]  [ si, oj , ak ]  [ si, oj , ak ]  P[ si , o j , ak ]
7 ‫ تعريف‬
:‫ به صورت زير تعريف ميشود‬d ‫تابع‬
d : S  O  A  True, False
True, if [ s, o, a ]  WAB  ( si , o j , ak )  WAB, [ si , o j , ak ]  [ s, o, a]
d ( s, o, a)  
 False, if [ s, o,a]  WAB  ( si , o j ,ak )  WAB, [ si , o j ,ak ]  [ s, o,a]
15
)‫(ادامه‬
‫ – مفاهيم پايه‬ORION ‫مدل‬
(WAB) ‫• سه شرط پايگاه قواعد مجازشناسي ضعيف‬
WAB ‫ كاملبودن‬
 (s,o,±a), there must  [si,oj,±ak]WAB, [si,oj,±ak] ı[s,o,±a]
WAB ‫ سازگاري‬
 [s,o,±a]WAB, if [si,oj,±ak], [s,o,±a] ı [si,oj,±ak],
then must not [s’,o’,±a’]WAB, [s’,o’,±a’] ı [si,oj,±ak]
WAB ‫ و‬AB ‫ سازگاري دوجانبه‬
 [s,o,±a]WAB, must not  (si,oj,±ak)AB, (si,oj,±ak)  (s,o,±a)
16
‫مدل ‪ – ORION‬عمليات مديريتي‬
‫عمليات مديريتي موردنياز‬
‫– كنترل دسترسي (‪)Checking‬‬
‫– اِعطاي مجوز (‪)Granting‬‬
‫– حذف مجوز (‪)Revoking‬‬
‫هر كسي كه يك حق دسترسي بر روي شيئي داشته باشد‪،‬‬
‫ميتواند آن را به ديگران اِعطا نمايد و يا بعد از اِعطا بازپس گيرد‪.‬‬
‫• كنترل دسترسي‬
‫– تابع كنترل دسترسي ‪ f‬به صورت زير تعريف ميشود‪:‬‬
‫‪d ( s, o, a), if i( s, o, a)  Undecided‬‬
‫‪f ( s, o, a)  ‬‬
‫‪i ( s, o, a), otherwise‬‬
‫ابتدا ‪ AB‬را جستجو كن و سپس ‪WAB‬‬
‫‪17‬‬
‫مدل ‪ – ORION‬عمليات مديريتي‬
‫(ادامه)‬
‫• عمليات اِعطاي مجوز قوي‬
‫– )‪ g(s,o,a‬براي درج )‪ (s,o,±a‬در ‪ AB‬به شرطي كه‪:‬‬
‫• )‪ (s,o,±a‬در ‪ AB‬وجود نداشته باشد يا قابل استنتاج نباشد‪.‬‬
‫• )‪ (s,o, ±a‬ناسازگار با قواعد موجود در ‪ AB‬و يا قواعد منتج از آن نباشد‪.‬‬
‫با درج يك قاعده مجازشناسي قوي در ‪ ،AB‬ممكن است نياز به حذف تعدادي‬
‫قواعد مجازشناسي ضعيف از ‪ WAB‬براي حفظ شرط سازگاري دوجانبه باشد‪.‬‬
‫‪18‬‬
‫مدل ‪ – ORION‬عمليات مديريتي‬
‫(ادامه)‬
‫• عمليات اِعطاي مجوز ضعيف‬
‫– )‪ gw(s,o,a‬براي درج ]‪ [s,o,±a‬در ‪ WAB‬به شرطي كه‪:‬‬
‫• دو شرط كامل بودن و سازگاري ‪ WAB‬را نقض نكند‪.‬‬
‫• شرط سازگاري دوجانبه ‪ AB‬و ‪ WAB‬را نقض نكند‪.‬‬
‫‪19‬‬
‫مدل ‪ – ORION‬عمليات مديريتي‬
‫(ادامه)‬
‫• عمليات حذف مجوز قوي‬
‫– )‪ r(s,o,±a‬قاعده )‪ (s,o,±a‬را از ‪ AB‬حذف ميكند به شرطي كه‪:‬‬
‫• )‪ (s,o, ±a‬صراحتا ً در ‪ AB‬وجود داشته باشد‪.‬‬
‫• عمليات حذف مجوز ضعيف‬
‫– )‪ rw(s,o,±a‬قاعده ]‪ [s,o,±a‬را از ‪ WAB‬حذف ميكند به شرطي كه‪:‬‬
‫• ]‪ [s,o, ±a‬صراحتا ً در ‪ WAB‬وجود داشته باشد‪.‬‬
‫‪20‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬
‫مدل ‪ – ORION‬قواعد استنتاج‬
‫(‪ )1‬دامنه عاملها‬
‫– عاملها يا كاربران بر اساس نقش‪ ،‬با يكديگر تشكيل گروه ميدهند‪.‬‬
‫– نقشها بر اساس رابطه پوشش‪ ،‬تشكيل يك شبكه )‪ (Lattice‬با نام ‪ RL‬را ميدهند‪.‬‬
‫‪ ‬تعريف ‪8‬‬
‫‪si, sjS,‬‬
‫‪si>sj if there is an arc from si to sj in RL‬‬
‫‪sisj if si=sj or si>s1>...>sn>sj‬‬
‫‪ ‬قاعده ‪:1‬‬
‫)‪ oO, and aA, if sisj, then (sj,o,+a)(si,o,+a‬‬
‫‪ ‬نتيجه ‪:1‬‬
‫)‪ oO, and aA, if sisj, then (si,o,-a)(sj,o,-a‬‬
‫‪21‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬
)‫استنتاج (ادامه‬
‫ – قواعد‬ORION ‫مدل‬
RL ‫• يك نمونه شبكه نقش‬
Super User
Application
Project
OS Project
S/W Project
Adm
Manager
H/W Project
Manager
Adm Emp
Employee
87-86 ‫ نيمسال دوم تحصيلي‬-‫ درس امنيت پايگاه داده ها‬-‫رسول جليلي‬
22
‫مدل ‪ – ORION‬قواعد‬
‫استنتاج (ادامه)‬
‫(‪ )2‬دامنه انواع دسترسي يا اَعمال‬
‫– انواع دسترسي و يا اَعمال‪ ،‬با يكديگر تشكيل يك شبكه (‪ )Lattice‬با نام ‪ ATL‬ميدهند‪.‬‬
‫– يك يال از ‪ ai‬به ‪ aj‬به معناي آن است كه ‪ ai‬منجر مي شود به ‪.aj‬‬
‫‪ ‬تعريف ‪9‬‬
‫‪si, sjS,‬‬
‫‪ai>aj if there is an arc from ai to aj in ATL‬‬
‫‪aiaj if ai=aj or ai>a1>...>an>aj‬‬
‫‪ ‬قاعده ‪:2‬‬
‫)‪ oO, and sS, if aiaj, then (s,o,+ai)(s,o,+aj‬‬
‫‪ ‬نتيجه ‪:2‬‬
‫)‪ oO, and sA, if aiaj, then (s,o,-aj)(s,o,-ai‬‬
‫‪23‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬
‫مدل ‪ – ORION‬قواعد‬
‫استنتاج (ادامه)‬
‫• يك شبكه انواع دسترسي ‪ATL‬‬
‫‪W: Write‬‬
‫‪R: Read‬‬
‫‪W‬‬
‫‪G: Generate‬‬
‫‪RD: Read Definition‬‬
‫‪G‬‬
‫‪R‬‬
‫‪RD‬‬
‫‪24‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬
‫مدل ‪ – ORION‬قواعد‬
‫استنتاج (ادامه)‬
‫(‪ )3‬دامنه اشياء‬
‫– دو نوع سلسلهمراتب‬
‫– شماي اشياء ‪AOS :‬‬
‫– شبكه (‪ )Lattice‬اشياء‪ AOL :‬بر اساس رابطه ارثبري بين اشياء‬
‫‪ ‬تعريف ‪10‬‬
‫تابع ‪ c‬به صورت زير تعريف ميشود‪:‬‬
‫‪c : O  A  True, False‬‬
‫‪True, a is acceptable for o‬‬
‫‪c(o, a)  ‬‬
‫‪ False, otherwise‬‬
‫اين تابع نشان ميدهد كه انجام چه اَعمالي به صورت معنايي بر روي چه‬
‫اشيائي ممكن ميباشند‪.‬‬
‫‪25‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬
System
Database
Class
Set Of Instances
‫مدل‬
– ORION
‫قواعد‬
‫استنتاج‬
)‫(ادامه‬
Instance
Set Of Attr
Values
Attribute Value
87-86 ‫ نيمسال دوم تحصيلي‬-‫ درس امنيت پايگاه داده ها‬-‫رسول جليلي‬
26
)‫استنتاج (ادامه‬
‫ – قواعد‬ORION ‫مدل‬
System [University]
Database [Research]
Class [Researcher]
Database [Administratrion]
Class [Document]
Class [Project]
Set Of Instances [Document]
Document[1]
Document[2]
Database [Students]
Set Of Instances [Project]
Document[100]
Project[10]
Set Of Attr Values
87-86 ‫ نيمسال دوم تحصيلي‬-‫امنيت پايگاه داده ها‬
‫ درس‬-‫جليلي‬
Attribute
value‫رسول‬
...
Attribute value [acronym_document]
27
‫مدل ‪ – ORION‬قواعد‬
‫استنتاج (ادامه)‬
‫(‪ )3‬دامنه اشياء‬
‫– انواع استراتژيهاي انتشار در ‪:ATL‬‬
‫• ‪  A.down‬انتشار رو به پايين‬
‫‪ ‬انتشار رو به باال‬
‫• ‪A.up‬‬
‫‪ ‬بدون انتشار‬
‫• ‪A.nil‬‬
‫•‬
‫مثال‪ :‬براي ‪ ATL‬تعريف شده در اساليدهاي قبل‬
‫}‪A.down = {R, W‬‬
‫}‪= {RD‬‬
‫}‪={G‬‬
‫‪A.up‬‬
‫‪A.nil‬‬
‫‪R: Read‬‬
‫‪W: Write‬‬
‫‪RD: Read Definition‬‬
‫‪G: Generate‬‬
‫‪28‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬
)‫استنتاج (ادامه‬
‫ – قواعد‬ORION ‫مدل‬
‫) دامنه اشياء‬3(
oi, ojO,
11 ‫ تعريف‬
oi>oj if there is an arc from oi to oj in AOL
oioj if oi=oj or oi>o1>...>on>oj
:3 ‫ قاعده‬
 sS, and aA.down, if oioj, c(oj,a)=T, and c(oi,a)=T,
then (s,oi,+a)(s,oj,+a)
 sS, and aA.up, if oioj, c(oj,a)=T, and c(oi,a)=T,
then (s,oj,+a)(s,oi,+a)
:3 ‫ نتيجه‬
 sS, and aA.down, if oioj, c(oj,a)=T, and c(oi,a)=T,
then (s,oj,-a)(s,oi,-a)
 sS, and aA.up, if oioj, c(oj,a)=T, and c(oi,a)=T,
then (s,oi,-a)(s,oj,-a)
87-86 ‫ نيمسال دوم تحصيلي‬-‫ درس امنيت پايگاه داده ها‬-‫رسول جليلي‬
29
‫با تشكر‬
‫پرسش و پاسخ‬
‫مركز امنيت شبكه شريف‬
‫‪http://nsc.sharif.edu‬‬
‫‪30‬‬
‫رسول جليلي‪ -‬درس امنيت پايگاه داده ها‪ -‬نيمسال دوم تحصيلي ‪87-86‬‬