MCI
مدل كنترل دسترس ي نقش-مبنا )(RBAC
رسول جلیلی
1
RBAC مدل
MCI
• نماي كلي مدل
SSD
(RH)
Role Hierarchy
(UA)
(PA)
User Assignment
USERS
ROLES
Permission
Assignment
SESSIONS
OBS
PRMS
session_roles
user_sessions
OPS
DSD
2
مدل - RBACاهداف
• سازگاري با ساختارسازماني
• سادگي مديريت كنترل دسترس ي
• قد د دددر ب د د ددا :امكد د ددا ب د د ددا خيم د د د يهاي اخت د د دداري ( )DACو اجبد د دداري
()MAC
• اصل حداقل مجوزها ()least privilege
• تفك ك وظايف ()SoD
3
MCI
مدل - RBACكنترل دسترس ي
• اعطد دداي مجوزهد ددا بد دده نقشهد ددا و نقشهد ددا بد دده د ددار را (بد دده جد دداي اخت د ددا
مستق م مجوزها به ار را )
• تع ي نقشها براساس اصل حداقل مجوزها
• اعطدداي مجموعدده مجوزهدداي موردن ددازب دراي اج دراي وظددايف مر و دده بدده هددر
نقش به آ
• امكا توص ف تفك ك وظايف )(Separation of Duties
4
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
مدل RBAC
من ددابع
نقددشها
Server 1
Role 1
Server 2
Role 2
Server 3
Role 3
ً
ار را دائما تغ يرميكنند اما نقشها خير
5
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
عامددلها
مدل - RBACچارچوب مدل
• مدل نقش-مبناي پايه ()RBAC0
– مولفههاي مدل پايه
• مدل نقش-مبناي سلسله مراتبي ()RBAC1
– سلسله مراتب عمومي
– سلسله مراتب محدودشده
• مدل نقش-مبنا با محدوديت ()RBAC2
– تفك ك وظايف ايستا ()SSoD
– تفك ك وظايف پويا ()DSoD
6
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
– انواعRBAC مدل
MCI
Models
Hierarchies
Constraints
RBAC0
-
-
RBAC1
-
RBAC2
-
RBAC3
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
7
MCI
مدل نقش مبناي پايه RBAC0
8
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
مدل نقش مبناي پايه RBAC0
• مولفههاي مدل پايه : RBAC0
– عاملها يا ار را ()USERS
– نقشها ()ROLES
– مجوزها ()PRMS
• اعمال ()OPS
• اش اء ()OBS
– رابطه اخت ا
نقش به ار ر()UA
– رابطه اخت ا
مجوز به نقش ()PA
– نشستها ()SESSIONS
9
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
2- RBAC0 مدل
MCI
RBAC0 • نماي كلي مدل
(UA)
User Assignment
USERS
(PA)
Permission
Assignment
ROLES
OPS
OBS
PRMS
user_sessions
session_roles
SESSIONS
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
10
مدل 3- RBAC0
MCI
• ار را ()USERS
Process
Intelligent Agent
11
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
Person
مدل 4- RBAC0
MCI
• نقشها ( :)ROLESهرنقش شامل تعدادي وظ فهمندي
مدير ل
مديرمالي
اپراتور راهنما
12
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
برنامهنويس
MCI
5- RBAC0 مدل
(تدابیی ازکدب برنامده) بدرروي يدك شديئ
اجراي عملی خدا:)OPS( • اعمال
يا منبع
•Database – Update Insert Append Delete
•Locks – Open Close
•Reports – Create View Print
•Applications - Read Write Execute
SQL
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
13
MCI
6- RBAC0 مدل
حاوي دادهها:)OBS( • اش اء يا منابع
•OS Files or Directories
•DB Columns, Rows, Tables, or Views
•Printer
•Disk Space
•Lock Mechanisms
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
14
مدل 7- RBAC0
MCI
• مجوزها ( :)PRMSمجموعهای ازمجوزها که هریدب اجدرای کدب عمدل را
برروي يك شيئ يا منبع حفاظت شده ممکن میسازد.
User.F1
User.DB1
•Read
•Write
•Execute
•View
•Update
•Append
object
permissions
object
permissions
) PRMS 2(OPS OBS
15
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
مدل 8- RBAC0
• رابطه اخت ا
MCI
نقش به ار ر()UA
ار ددرا
نقددشها
اخت ا
يك ار ربه يك يا چند نقش
برنامهنويس
اخت ا
اپراتور راهنما
يك نقش به يك يا چند ار ر
UA USERS ROLES
assigned _ user : (r : ROLES ) 2users
}assigned _ user (r ) {u USERS | (u, r ) UA
16
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
مدل 9- RBAC0
• رابطه اخت ا
MCI
مجوز به نقش ()PA
نقددشها
مج ددوزها
اخت ا
يك مجوز به يك يا چند نقش
Admin.DB1
DB1
Create
Delete
Drop
DB1
اخت ا
User.DB1
17
يك نقش به يك يا چند مجوز
PA PRMS ROLES
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
View
Update
Append
10- RBAC0 مدل
MCI
)PA( مجوز به نقش
نقشها
User.F1
User.F2
User.F3
Admin.DB1
• رابطه اخت ا
مجوزها
•Read
•Write
•Execute
•View
•Update
•Append
•Create
•Drop
SQL
assigned _ permission s(r : ROLES ) 2 PRMS
assigned _ permission s(r ) { p PRMS | ( p, r ) PA}
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
18
مدل 11- RBAC0
MCI
• نشستها :هر ار رميتواند چند نشست داشته باشد.
نشست
ار ر
FIN1.report1
SQL
DB1.table1
APP1.desktop
user _ sessions (u : USERS ) 2SESSIONS
19
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
مدل 12- RBAC0
MCI
• نق ددشه ددای ع ددال دري ددك نشس ددت = مجموع دده نقشه ددای ع ددال ش ددده توس ددي ددار ر
نشست (ازمجموعه نقشهای اخت ا
نشست
کا ته با .)UA
نقش
SQL
•Admin
•User
•Guest
DB1.table1.session
session _ roles (s : SESSIONS ) 2 ROLES
}session _ roles (s i ) {r ROLES | session _ user (s i ), r UA
20
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
12- RBAC0 مدل
MCI
• مجوزهاي يك نشست = مجموعه مجوزهاي نقشهاي عال شده درنشست
نقش
نشست
مجوزها
•View
•Update
•Append
•Create
•Drop
DB1.ADMIN
avail _ session _ perms (s : SESSIONS ) 2PRMS
SQL
DB1.table1.session
assigned _ permissions (r )
r session _ roles ( s )
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
21
MCI
مدل نقش-مبناي سلسلهمراتبي RBAC1
22
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
RBAC1 مبناي سلسلهمراتبي-مدل نقش
MCI
RBAC1 • نماي كلي مدل
(RH)
Role Hierarchy
(UA)
(PA)
User Assignment
USERS
ROLES
Permission
Assignment
OPS
OBS
PRMS
user_sessions
session_roles
SESSIONS
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
23
2- RBAC1 مدل
MCI
• انواع سلسله مراتب نقشها
Production
Engineer 1
Quality
Engineer 1
Production
Engineer 2
Engineer 2
ارثبري
Engineer 1
Quality
Engineer 2
ساختاردرخت
Engineering Dept
Director
ساختاردرخت معكوس
Project Lead 1
Production
Engineer 1
Quality
Engineer 1
Project Lead 2
Production
Engineer 2
Quality
Engineer 2
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
24
3- RBAC1 مدل
MCI
• انواع سلسله مراتب نقشها
)Lattice( ساختارشبكه
Director
Project Lead 1
Production
Engineer 1
Project Lead 2
Quality
Engineer 1
Production
Engineer 2
Engineer 1
Quality
Engineer 2
Engineer 2
Engineering Dept
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
25
مدل 4- RBAC1
MCI
• رابطه نقش و زيرنقش ()RH
• ساختارسلسله مراتبي نقشها ميتواندبرگر ته ازساختارسازماني باشد.
• دو نوع سلسلهمراتب:
– سلسله مراتب عمومي :پشتيباني ازارثبري چندگانه
– سلسله مراتب محدودشده :عدم ارثبري چندگانه
• در صورت كه نقش r1رزند نقش r2درسلسدله مراتدب باشددم همده مجوزهداي آ را بده
ارث ميبرد.
r1
به ارث ميبرد از r2
RH ROLES ROLES
26
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
5- RBAC1 مدل
ار را کب نقش درسلسله مراتب نقش ها
•
authorized _ users (r : ROLES ) 2USERS
authorized _ users (r ) {u USERS | r ' r (u , r ') UA }
• مجموعه مجوزهای کب نقش درسلسله مراتب نقش ها
authorized _ permission s(r : ROLES ) 2 PRMS
authorized _ permissions (r ) {p PRMS | r r ',( p , r ') PA
r
Admin.DB1
r'
User.DB1
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
27
6- RBAC1 مدل
MCI
• رابطه ار را و مجوزها درارثبري نقشها
usersAdmin
prmsUser
prmsAdmin
prmsUser
زيرمجموعه
ارثبري
زيرمجموعه
DB1.Admin
DB1.User
usersUser usersAdmin
r 2r1 authorized _ permission s (r2 ) authorized _ permission s (r 1)
authorized _ users (r1 ) authorized _ users (r2 )
r 2 :: user ,
r1 :: Ad min
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
28
مدل 7- RBAC1
MCI
سلسله مراتب عمومی :پشتیبانی از ارث بری چندگانه
r i r
'r i r
r
"r
29مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
'r
مدل 8- RBAC1
MCI
سلسله مراتب محدود :فقط ارث بری یگانه
هر نقش تنها یک پدر بی واسطه در سلسله مراتب نقش ها دارد.
"r
'
r, r, r ROLES , r i r r i r r r
'r
r
30مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
"r
9- RBAC1 مدل
MCI
مثالی از سلسله مراتب محدود نقش ها
Fred
Tom
AcctRecSpv
AcctRec
Curt
Sally
Joe
Auditing
Tammy
CashierSpv
Cashier
Tuan
Frank
BillingSpv
Billing
Accounting
Accounting Role
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها- مرتضی امینی31
MCI
مدل نقش-مبنا با محدويت RBAC2
32
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
RBAC2 مبنا با محدويت-مدل نقش
MCI
RBAC2 • نماي كلي مدل
SSD
(RH)
Role Hierarchy
(UA)
(PA)
User Assignment
USERS
ROLES
Permission
Assignment
SESSIONS
OBS
PRMS
session_roles
user_sessions
OPS
DSD
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
33
مدل 3- RBAC2
ِ :SSoDاعمال محدوديت دراخت ا
MCI
نقش به ار ردررابطه UA
• از يددك مجموعدده ازنقشهدداي متددداخلم ن يتددوا nنقددش و يددا بيشددتر را بدده يددك ددار ر ِاعط دا
كرد.
• ممكددن اسددت يددك ددار رامنددا داشددت دو نقددش دريددك زمددا را نداشددته باشددد – دو نقددش دو
بدو ناسازگار
}SSoD = {ssod1, …, ssodn
)ssodi = (rs, n
يك مجموعه نقش ناسازگار = rs
SSoD 2 ROLES N
ssod i r1 , r2 ,..., rk , n
(rs, n) SSoD, t rs, | t | n assigned _ users (r )
rt
35
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
مدل 4- RBAC2
MCI
ِ :DSoDاعمال محدوديت در عالسازي نقش توسي ار ردريك نشست
•
از يك مجموعه ازنقشهاي متداخلم ن يتوا nنقش و يا بيشتر را در ي يك نشست عال كرد.
•
ِاعمال اين محدوديت ن ازبه نگهداري سابقه نقشهاي عال شده در ي يك نشست دارد.
}DSoD = {dsod1, …, dsodn
)dsodi = (rs, n
يك مجموعه نقش ناسازگار = rs
DSoD 2 ROLES N
dsod i r1 , r2 ,..., rk , n , k 2
(rs , n) DSoD , s SESSIONS , t , t rs , t session _ roles ( s ) | t | n
36
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
مدل 5- RBAC2
مثالي ازتفك ك وظايف ايستا
•
رآيند خريد
(1سفارش اال و درج جزئ ا سفارش
(2دريا ت اكتور و كنترل آ با سفارش انجام شده
(3دريا ت اال و كنترل آ با اكتور
(4صدور مجوز پرداخت اكتور
•
محدوديت تفك ك وظايف ايستا:
–
ه چ ردي ن يتواند مسئول ت وظايف ( )1و ( )3را باهم داشته باشد.
>ssod1=<{1,3}, 2
حداقل 3نفربراي انجام 4مرحله وق موردن ازاست.
–
37
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
6- RBAC2 مدل
MCI
• مثالي ازتفك ك وظايف ايستا و پويا
Static SoD
(SSoD)
Prepare
check
Dynamic SoD
(DSoD)
Approve/
Disapprove
check
Summarize
decisions
Issue/avoid
check
87-86 نیمسال دوم تحصیلي- درس امنیت پایگاه داده ها-مرتضی امینی
38
MCI
مدل نقش-مبناي سلسلهمراتبي با محدوديت
RBAC3
39
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
گونههاي توسعهيا ته RBACبراي مح يهاي
جديد محاسباتي
مرتض ي ام ني
[email protected]
41
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
توسعههاي ( RBACادامه)
• )[Covington et al 2000] GRBAC (Generalized RBAC
– يك مدل آگاه اززم نه
– نقشهای (گروههای)
• عاملی :مشابه RBAC
• شیئی :دستهبندی براساس خ وصیا مشترکم مثالLaptop :
• محیطی :تعیي شراکي محیطیم مثالLab :م Working-Days
– قواعد دسترس ي بهصور ترکیبی ازنقشهای محیطیم شیئی و عاملی
)(Students, Lab, Laptop
42
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
توسعههاي RBAC
MCI
• )]Bertino et al 2001] TRBAC (Temporal RBAC
– يك مدل با قابل ت توص ف محدوديتهاي زماني
– تعريف محدوديتهاي زماني در عال سازي نقشها
• امكا
عالسازي نقش دربازههاي زماني مشخص
) ( [1/1/2007, ], Night-time, enable doctor-on-night-duty
enable nurse-on-day-duty enable nurse-on-training after 16
43
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
توسعههاي RBAC
• ]Wilikens et al 2002] Drive RBAC
– يك مدل مبتني برخ وصيت ) (Attribute Basedو آگاه اززم نه
– نقشهای ازپیش تعریفشده
• هنگام ثبت ار ربنا براعتبارنامههای وی
– نقشهای عالشده
• براساس زمینه اری ار ر
– انتساب مجوزها به نقشها
• به صور پویا براساس محدودکتهای زمینهای هر ار ر
44
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
MCI
توسعههاي ( RBACادامه)
MCI
• )[Zhang and Parashar 2004] DRBAC (Dynamic RBAC
– مدل پوياي آگاه اززم نه
حالت نقش برای هر ار ر
– کب ماشي
ِ
حالت مجوز برای هرنقش
– کب ماشي
ِ
R2
R5
R1
R3
R4
R2
R6
null
R5
– تغیيرا زمینه و برآوردهشد شراکي
زمینهای ازپیش تعریفشده
P1
– گذاردرماشي های حالت
– تغیيرنقش عال
– تغیيرمجوز کب نقش
P2
P3
P5
null
45
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
P4
R4
MCI
با تشكر
مركز امنيت شبكه شريف
http://nsc.sharif.edu
46
مرتضی امینی -درس امنیت پایگاه داده ها -نیمسال دوم تحصیلي 87-86
© Copyright 2026 Paperzz