مدل كنترل دسترسي نقش-مبنا (RBAC) رسول جلیلی
مدل RBAC نماي كلي مدل SSD (RH) Role Hierarchy (UA) (PA) USERS ROLES User Assign- ment (PA) Permission Assignment USERS ROLES OPS OBS session_roles PRMS user_sessions SESSIONS DSD
مدل RBAC - اهداف سازگاري با ساختار سازماني سادگي مديريت كنترل دسترسي قدرت بيان: امكان بيان خطمشيهاي اختياري (DAC) و اجباري (MAC) اصل حداقل مجوزها (least privilege) تفكيك وظايف (SoD)
مدل RBAC - كنترل دسترسي اعطاي مجوزها به نقشها و نقشها به كاربران (به جاي اختصاص مستقيم مجوزها به كاربران) تعيين نقشها بر اساس اصل حداقل مجوزها اعطاي مجموعه مجوزهاي موردنياز براي اجراي وظايف مربوطه به هر نقش به آن امكان توصيف تفكيك وظايف (Separation of Duties) مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC عامــلها نقــشها منـــابع Role 1 Role 2 Role 3 Server 1 كاربران دائماً تغيير ميكنند اما نقشها خير مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC - چارچوب مدل مدل نقش-مبناي پايه (RBAC0) مولفههاي مدل پايه مدل نقش-مبناي سلسله مراتبي (RBAC1) سلسله مراتب عمومي سلسله مراتب محدودشده مدل نقش-مبنا با محدوديت (RBAC2) تفكيك وظايف ايستا (SSoD) تفكيك وظايف پويا (DSoD) مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC – انواع - Models Hierarchies Constraints RBAC0 RBAC1 RBAC2 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل نقش مبناي پايه RBAC0 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل نقش مبناي پايه RBAC0 مولفههاي مدل پايه RBAC0 : عاملها يا كاربران(USERS) نقشها (ROLES) مجوزها (PRMS) اعمال (OPS) اشياء (OBS) رابطه اختصاص نقش به كاربر (UA) رابطه اختصاص مجوز به نقش (PA) نشستها (SESSIONS) مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -2 نماي كلي مدل RBAC0 user_sessions session_roles (UA) User Assign- ment (PA) Permission Assignment USERS OBS OPS SESSIONS ROLES PRMS مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -3 كاربران (USERS) Process Person Intelligent Agent مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -4 نقشها (ROLES): هر نقش شامل تعدادي وظيفهمندي مدير كل مدير مالي برنامهنويس اپراتور راهنما مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -5 اعمال (OPS): اجراي عملی خاص (تابعی از یک برنامه) بر روي يك شيئ يا منبع Database – Update Insert Append Delete Locks – Open Close Reports – Create View Print Applications - Read Write Execute SQL مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -6 اشياء يا منابع (OBS): حاوي دادهها OS Files or Directories DB Columns, Rows, Tables, or Views Printer Disk Space Lock Mechanisms مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -7 مجوزها (PRMS): مجموعهای از مجوزها که هریک اجرای یک عمل را بر روي يك شيئ يا منبع حفاظت شده ممکن میسازد. User.DB1 View Update Append User.F1 Read Write Execute permissions object permissions object مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -8 رابطه اختصاص نقش به كاربر (UA) كاربــران نقــشها اختصاص يك كاربر به يك يا چند نقش برنامهنويس اختصاص يك نقش به يك يا چند كاربر اپراتور راهنما مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -9 رابطه اختصاص مجوز به نقش (PA) نقــشها مجـــوزها DB1 Create Delete Drop اختصاص يك مجوز به يك يا چند نقش Admin.DB1 DB1 View Update Append اختصاص يك نقش به يك يا چند مجوز User.DB1 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -10 رابطه اختصاص مجوز به نقش (PA) نقشها مجوزها User.F1 Admin.DB1 Read Write Execute View Update Append Create Drop SQL مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -11 نشستها: هر كاربر ميتواند چند نشست داشته باشد. نشست نقش مهمان FIN1.report1 SQL نقش مدير و بازرس DB1.table1 نقش اپراتور APP1.desktop مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -12 نقشهای فعال در يك نشست = مجموعه نقشهای فعال شده توسط کاربر نشست (از مجموعه نقشهای اختصاص یافته با UA). نقش نشست SQL DB1.table1.session Admin User Guest مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC0 -12 مجوزهاي يك نشست = مجموعه مجوزهاي نقشهاي فعال شده در نشست نقش مجوزها نشست SQL DB1.table1.session DB1.ADMIN View Update Append Create Drop مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل نقش-مبناي سلسلهمراتبي RBAC1 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل نقش-مبناي سلسلهمراتبي RBAC1 (RH) Role Hierarchy (UA) User Assign- ment (PA) Permission Assignment USERS ROLES OPS OBS PRMS user_sessions session_roles SESSIONS مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC1 -2 انواع سلسله مراتب نقشها ساختار درخت ارثبري Production Engineer 1 Quality Engineering Dept Engineer 2 ساختار درخت ارثبري Production Engineer 1 Project Lead 1 Quality Director Engineer 2 Project Lead 2 ساختار درخت معكوس مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC1 -3 انواع سلسله مراتب نقشها ساختار شبكه (Lattice) Production Engineer 1 Quality Engineering Dept Engineer 2 Project Lead 1 Director Project Lead 2 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC1 -4 رابطه نقش و زيرنقش (RH) ساختار سلسله مراتبي نقشها ميتواندبرگرفته از ساختار سازماني باشد. دو نوع سلسلهمراتب: سلسله مراتب عمومي: پشتيباني از ارثبري چندگانه سلسله مراتب محدودشده: عدم ارثبري چندگانه در صورتيكه نقش r1 فرزند نقش r2 در سلسله مراتب باشد، همه مجوزهاي آن را به ارث ميبرد. r1 به ارث ميبرد از r2 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC1 -5 کاربران یک نقش در سلسله مراتب نقش ها مجموعه مجوزهای یک نقش در سلسله مراتب نقش ها r r' Admin.DB1 User.DB1 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC1 -6 رابطه كاربران و مجوزها در ارثبري نقشها زيرمجموعه DB1.User DB1.Admin prmsAdmin prmsUser usersUser usersAdmin ارثبري زيرمجموعه مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
سلسله مراتب عمومی: پشتیبانی از ارث بری چندگانه مدل RBAC1 -7 سلسله مراتب عمومی: پشتیبانی از ارث بری چندگانه r r' r" مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87 29
مدل RBAC1 -8 سلسله مراتب محدود: فقط ارث بری یگانه هر نقش تنها یک پدر بی واسطه در سلسله مراتب نقش ها دارد. r' r"' r" r مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87 30
مدل RBAC1 -9 مثالی از سلسله مراتب محدود نقش ها Accounting Role Tom AcctRec AcctRecSpv Accounting Tammy Cashier CashierSpv Fred Sally Auditing Joe Frank Billing BillingSpv Curt Tuan Accounting Role مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87 31
مدل نقش-مبنا با محدويت RBAC2 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل نقش-مبنا با محدويت RBAC2 SSD (RH) Role Hierarchy (UA) User Assign- ment (PA) Permission Assignment USERS ROLES OPS OBS session_roles PRMS user_sessions SESSIONS DSD مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC2 -3 SSoD: اِعمال محدوديت در اختصاص نقش به كاربر در رابطه UA از يك مجموعه از نقشهاي متداخل، نميتوان n نقش و يا بيشتر را به يك كاربر اِعطا كرد. ممكن است يك كاربر امکان داشتن دو نقش در يك زمان را نداشته باشد – دو نقش دو بدو ناسازگار SSoD = {ssod1, …, ssodn} ssodi = (rs, n) rs = يك مجموعه نقش ناسازگار مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC2 -4 DSoD: اِعمال محدوديت در فعالسازي نقش توسط كاربر در يك نشست از يك مجموعه از نقشهاي متداخل، نميتوان n نقش و يا بيشتر را در طي يك نشست فعال كرد. اِعمال اين محدوديت نياز به نگهداري سابقه نقشهاي فعال شده در طي يك نشست دارد. DSoD = {dsod1, …, dsodn} dsodi = (rs, n) rs = يك مجموعه نقش ناسازگار مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC2 -5 مثالي از تفكيك وظايف ايستا فرآيند خريد سفارش كالا و درج جزئيات سفارش دريافت فاكتور و كنترل آن با سفارش انجام شده دريافت كالا و كنترل آن با فاكتور صدور مجوز پرداخت فاكتور محدوديت تفكيك وظايف ايستا: هيچ فردي نميتواند مسئوليت وظايف (1) و (3) را باهم داشته باشد. ssod1=<{1,3}, 2> حداقل 3 نفر براي انجام 4 مرحله فوق موردنياز است. مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل RBAC2 -6 مثالي از تفكيك وظايف ايستا و پويا Static SoD (SSoD) Dynamic SoD (DSoD) Approve/ Disapprove check Prepare check Summarize decisions Issue/avoid check مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مدل نقش-مبناي سلسلهمراتبي با محدوديت RBAC3 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
گونههاي توسعهيافته RBAC براي محيطهاي جديد محاسباتي مرتضي اميني m_amini@ce.sharif.edu مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
توسعههاي RBAC (ادامه) GRBAC (Generalized RBAC) [Covington et al 2000] يك مدل آگاه از زمينه نقشهای (گروههای) عاملی: مشابه RBAC شیئی: دستهبندی بر اساس خصوصیات مشترک، مثال: Laptop محیطی: تعیین شرایط محیطی، مثال: Lab، Working-Days قواعد دسترسي بهصورت ترکیبی از نقشهای محیطی، شیئی و عاملی (Students, Lab, Laptop) مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
enable nurse-on-day-duty enable nurse-on-training after 16 توسعههاي RBAC TRBAC (Temporal RBAC) Bertino et al 2001]] يك مدل با قابليت توصيف محدوديتهاي زماني تعريف محدوديتهاي زماني در فعال سازي نقشها امكان فعالسازي نقش در بازههاي زماني مشخص ( [1/1/2007, ], Night-time, enable doctor-on-night-duty ) enable nurse-on-day-duty enable nurse-on-training after 16 مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
توسعههاي RBAC Drive RBAC Wilikens et al 2002]] يك مدل مبتني بر خصوصيت (Attribute Based) و آگاه از زمينه نقشهای از پیش تعریفشده هنگام ثبت کاربر بنا بر اعتبارنامههای وی نقشهای فعالشده بر اساس زمینه کاری کاربر انتساب مجوزها به نقشها به صورت پویا بر اساس محدودیتهای زمینهای هر کاربر مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
توسعههاي RBAC (ادامه) DRBAC (Dynamic RBAC) [Zhang and Parashar 2004] مدل پوياي آگاه از زمينه یک ماشین حالتِ نقش برای هر کاربر یک ماشین حالتِ مجوز برای هر نقش تغییرات زمینه و برآوردهشدن شرایط زمینهای از پیش تعریفشده گذار در ماشینهای حالت تغییر نقش فعال تغییر مجوز یک نقش مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87
مركز امنيت شبكه شريف http://nsc.sharif.edu با تشكر مركز امنيت شبكه شريف http://nsc.sharif.edu مرتضی امینی- درس امنيت پايگاه داده ها- نيمسال دوم تحصيلي 86-87