DataNetSec-Dousti-14-AccessControl-v1.pdf

‫دانشگاه صنعتی شریف‬
‫دانشکده مهندسی کامپیوتر‬
‫آزمایشگاه امنیت داده و شبکه‬
‫‪http://dnsl.ce.sharif.edu‬‬
‫درس ‪ :14‬کنترل دسترسی‬
‫محمد صادق دوستی‬
‫‪1 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اختیاری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اجباری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌نقش‪-‬مبنا‬
‫‪2 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫تعاریف‬
‫‪ ‬مدل کنترل دسترسی (مجازشماری)‬
‫‪‬تعریف‪ :‬انتزاعی از خطمشیهای کنترل دسترسی‬
‫‪‬بیانگر ساختار دادهای و زبان توصیف خطمشیهای کنتررل دسترسری و‬
‫رویه کنترل دسترسی‬
‫‪‬نوع خطمشیها در کاربردهای مختلف‪ ،‬متفاوت است‪ ،‬لذا نوع مدلهرای‬
‫کنترل دسترسی حاصله نیز متفاوت است‪.‬‬
‫‪ ‬ساز و کار (اِعمال) کنترل دسترسی‬
‫‪‬تعریف‪ :‬روش و سیستم اِعمال کنترل دسترسی بر اساس خطمشیهرای‬
‫توصیف شده در قالب یک مدل کنترل دسترسی‬
‫‪‬مبتنی است بر یک مدل کنترل دسترسی‬
‫‪3 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫موجودیتهای اصلی دخیل در کنترل دسترسی‬
‫‪‬‬
‫عامل (‪ :)Subject‬هر آنکه متقاضی دسترسی است‪.‬‬
‫‪‬عامل انسانی‪ ،‬عامل ماشینی‪ ،‬پردازه‪ ،‬وب سرویس و ‪. . .‬‬
‫‪‬‬
‫شیئ یا منبع (‪ :)Object or Resource‬هر آنچه مورد دسترسی قرار میگیرد‪.‬‬
‫‪‬فایل‪ ،‬جدول پایگاه داده‪ ،‬پردازه‪ ،‬پردازنده‪. . . ،‬‬
‫‪‬‬
‫عمل (‪ :)Action‬عملی که توسط عامل بر روی شیئ یا منبع انجام میشود‪.‬‬
‫‪‬خواندن‪ ،‬نوشتن‪ ،‬تغییر‪ ،‬حذف‪ ،‬چاپ‪. . . ،‬‬
‫‪‬‬
‫عامل عنصری فعال (‪ )Active‬و شیئ عنصری منفعل (‪ )Passive‬است‪.‬‬
‫‪‬یک عنصر میتواند هم نقش عامل را داشته باشد و هم نقش شیئ‪.‬‬
‫•‬
‫‪4 / 43‬‬
‫مثال‪ :‬پردازه در سیستم عامل‪ ،‬وبسرویس در محیط وب‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫خطمشی کنترل دسترسی‬
‫‪ ‬خطمشی کنترل دسترسی‪ :‬چه عواملی اجازه انجام چره اعمرالی را‬
‫بر روی چه اشیایی دارند و یا ندارند‪.‬‬
‫‪ ‬در قالب مجموعهای قاعده دسترسی بیان میگردد‪.‬‬
‫‪‬علی اجازه خواندن و تغییر به اطالعات حقوق افراد را دارد‪.‬‬
‫‪‬کارمندان عادی اجازه خواندن قراردادهای شرکت را ندارند‪.‬‬
‫‪‬سیستمهای درون سرازمان (بره ییرر از سررورها) اجرازه برقرراری‬
‫ارتباط با شبکههای بیرونی را ندارند‪.‬‬
‫‪5 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ساز و کار کنترل دسترسی‬
‫نفی دسترسی‬
‫اجازه دسترسی‬
‫تغییر دسترسی‬
‫رویه های‬
‫کنترل‬
‫قواعد دسترسی‬
‫‪6 / 43‬‬
‫امنیت داده و شبکه‬
‫درخواست‬
‫دسترسی‬
‫خط مشی‬
‫امنیتی‬
‫محمد صادق دوستی‬
‫انواع مدلهای کنترل دسترسی‬
‫‪ ‬بر اساس معیارهای مختلفی میتوان مدلها را دستهبندی کرد‪.‬‬
‫‪ ‬انواع مدلهای کنترل دسترسی بر حسب نحوه انتشار حقوق‪:‬‬
‫‪‬مدل کنترل دسترسی اختیاری (‪)DAC‬‬
‫‪‬مدل کنترل دسترسی اجباری (‪)MAC‬‬
‫‪‬مدل کنترل دسترسی نقش‪-‬مبنا (‪)RBAC‬‬
‫‪7 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اختیاری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اجباری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌نقش‪-‬مبنا‬
‫‪8 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدلهای کنترل دسترسی اختیاری‬
‫‪Discretionary Access Control‬‬
‫‪ DAC:‬‬
‫‪ ‬خصوصیات اصلی مدلهای کنترل دسترسی اختیاری‪:‬‬
‫‪‬عوامل‪ ،‬مالک اشیاء هستند و اختیار دارند دسترسی به اشریاء را در‬
‫به هر عاملی که اعطا یا سلب کنند‪.‬‬
‫‪‬مبتنی بر شناسه و نیاز به شناخت از کاربر و تصدیق هویت آن‬
‫• مثال‪ :‬حسن اجازه خواندن فایل ‪ report.docx‬را دارد‪.‬‬
‫•‬
‫‪9 / 43‬‬
‫مثال‪ :‬علی اجازه تغییر جدول ‪ y‬را در پایگاه دادهها ندارد‪.‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدلهای کنترل دسترسی اختیاری‬
‫‪ ‬مدلهای ماتریس‪-‬مبنا از انواع معروف مدلهای اختیاری هستند‪.‬‬
‫‪‬هر سطر مربوط به یک عامل و هر ستون مربوط به یک شیئ است‪.‬‬
‫‪‬هر درایه ماتریس‪ ،‬مجوزهای دسترسی یک عامل را بره یرک شریئ‬
‫نشان میدهد‪.‬‬
‫فایل ‪1‬‬
‫فایل ‪2‬‬
‫پردازه ‪1‬‬
‫پردازه ‪2‬‬
‫پردازه ‪1‬‬
‫‪-‬‬
‫خواندن‪ ،‬نوشتن‪ ،‬مالکیت‬
‫مالکیت‪ ،‬خواندن‬
‫خواندن‬
‫پردازه ‪2‬‬
‫مالکیت‪ ،‬اجرا‬
‫‪-‬‬
‫نوشتن‬
‫مالکیت‪ ،‬خواندن‬
‫لیست قابلیت‬
‫‪C-List‬‬
‫لیست کنترل دسترسی‬
‫‪ACL‬‬
‫‪10 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدلهای کنترل دسترسی اختیاری‬
‫‪ ‬انواع مدل های کنترل دسترسی اختیاری برر حسرب اینکره مجروز‬
‫پیشفرض چه باشد‪:‬‬
‫‪‬مدلهای باز‪ :‬یک عامل بره یرک شریئ دسترسری دارد مگرر آنکره‬
‫خالف آن در قواعد دسترسی بیان شده باشد‪.‬‬
‫‪‬مدلهای بسته‪ :‬یک عامل به یک شیئ دسترسی ندارد مگرر آنکره‬
‫در قواعد دسترسی‪ ،‬مجوز دسترسی به آن شیئ صادر شده باشد‪.‬‬
‫‪11 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ساز و کارهای کنترل دسترسی اختیاری‬
‫‪ ‬پیادهسازی ساز و کارهای کنترل دسترسی مبتنی بر مردل کنتررل‬
‫دسترسی اختیاری بر دو روش استوار است‪:‬‬
‫‪‬لیست توانایی (‪)Capability List‬‬
‫• لیست مجوزهای دسترسری عوامرل بره اشریاء بررای هرر عامرل نگهرداری‬
‫میشود‪.‬‬
‫‪‬مبتنی بر لیست کنترل دسترسی (‪)Access Control List‬‬
‫•‬
‫• مثال‪ :‬پیادهسازی کنترل دسترسی در لینوکس‬
‫لیست عوامل و مجوزها آنها در کنار هر شیئ یا منبع قرار میگیرد‪.‬‬
‫‪12 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل کنترل دسترسی اختیاری‬
‫‪ ‬مزایا‪ :‬سادگی‪ ،‬انعطافپذیری‬
‫‪ ‬معایب‪:‬‬
‫‪‬عدم کنترل جریان اطالعات و کانالهای مخفی‪ ،‬عدم کنترل استنتاج‬
‫‪‬سختی مدیریت‪ :‬مدیر با حجم زیادی از مجوزها و افراد سر و کار دارد‪.‬‬
‫‪ ‬کاربرد‪:‬‬
‫‪‬سیستمهای کاربردی تجاری که فاقد طبقهبندی اطالعات هستند‪.‬‬
‫‪‬سیستمهای متمرکز با کاربران شناخته شده محدود‪.‬‬
‫‪13 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اختیاری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اجباری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌نقش‪-‬مبنا‬
‫‪14 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ضعفهای مدل کنترل دسترسی اختیاری‬
‫‪ ‬عدم امکان کنترل انتشار اطالعات توسط عوامل دیگر‬
‫‪‬علی صاحب فایل ‪ ،B‬اجازه نوشتن را به حسن می دهد‪.‬‬
‫‪‬حسن فایل ‪ A‬را می خواند و در فایل ‪ B‬می نویسد‪.‬‬
‫‪‬حسن دیگر هیچ کنترلی روی ‪( B‬حاوی اطالعات ‪ )A‬ندارد‪.‬‬
‫‪ ‬عدم امکان کنترل جریان اطالعات از یک شیئ به شیئ دیگر‬
‫‪ ‬با فرض معتمد بودن عوامل‬
‫‪‬به نرمافزارها نمیتوان اعتماد کرد‪.‬‬
‫‪‬احتمال وجود اسب تروا )‪(Trojan Horse‬‬
‫‪15 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫جریان اطالعات‬
‫حسن‬
‫خواندن‬
‫‪s‬‬
‫‪A‬‬
‫فوق سری‬
‫سری‬
‫جریان اطالعات‬
‫علی‬
‫‪B‬‬
‫‪16 / 43‬‬
‫خواندن‬
‫امنیت داده و شبکه‬
‫محرمانه‬
‫عادی‬
‫محمد صادق دوستی‬
‫ضعف کنترل دسترسی اختیاری‬
‫‪ ‬احتمال وجود اسب تروا )‪(Trojan Horse‬‬
‫کاربر ‪Alice‬‬
‫‪r: Bob‬‬
‫‪w: Alice, Bob‬‬
‫فایل ‪B‬‬
‫برنامه ‪X‬‬
‫‪r: Alice‬‬
‫‪w: Alice‬‬
‫فایل ‪A‬‬
‫‪TH‬‬
‫‪ .1‬نصب‬
‫کاربر ‪Bob‬‬
‫‪17 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫کنترل دسترسی اجباری‬
‫‪MAC: Mandatory Access Control‬‬
‫‪‬‬
‫‪ ‬کنترل دسترسی عوامل به اشیاء بر اساس سطوح امنیتری آنهرا و قواعرد‬
‫ثابت‬
‫‪ ‬مدلهای حفظ محرمانگی‬
‫‪‬مثال‪ :‬مدل ‪BLP‬‬
‫‪ ‬مدلهای حفظ صحت‬
‫‪‬مثال‪ :‬مدل ‪Biba‬‬
‫‪ ‬مدلهای حفظ صحت و محرمانگی‬
‫‪‬مثال‪ :‬مدل ‪Dion‬‬
‫‪18 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل ‪BLP‬‬
‫‪ ‬ارائه شده به وسیلة ‪ Bell‬و ‪ LaPadula‬در سال ‪1976‬‬
‫‪ ‬توسعهیافتة مردل مراتریس دسترسری بررای حفرظ امنیرت چنرد‬
‫سطحی‬
‫‪ ‬عوامل و اشیاء دارای سطح امنیتی (سطح محرمانگی)‬
‫‪ ‬مناسب برای محیط های نظامی‬
‫‪19 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل ‪BLP‬‬
‫‪ ‬دو نو ع سطح امنیتی (سطح محرمانگی)‪:‬‬
‫‪‬سطح محرمانگی عامل‪ :‬میزان اعتماد به فرد (عامل) در عدم افشای‬
‫دادههای یک شیئ‪.‬‬
‫‪‬سطح محرمانگی شیئ‪ :‬میرزان محرمرانگی دادههرای یرک شریئ و‬
‫میزان خسارت ناشی از افشای ییرمجاز دادههای آن‪.‬‬
‫‪20 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل ‪ BLP‬برای حفظ محرمانگی‬
‫‪ ‬سلسله مراتبی از برچسبهای محرمانگی‬
‫‪‬برای اشیاء‬
‫‪‬برای عوامل‬
‫‪ ‬سه قاعده اساسی‪:‬‬
‫‪No Read Up‬‬
‫‪No Write Down‬‬
‫‪‬آرامش‬
‫•‬
‫‪21 / 43‬‬
‫عوامل‬
‫‪NRU‬‬
‫سرتیپ‬
‫اشیاء‬
‫سرهنگ‬
‫بهکلی سری‬
‫سرگرد‬
‫سری‬
‫سروان‬
‫ستوان‬
‫خیلی محرمانه‬
‫استوار‬
‫محرمانه‬
‫گروهبان‬
‫ییر محرمانه‬
‫سرجوخه‬
‫برچسبها حین اجرا تغییر نمیکنند‪.‬‬
‫امنیت داده و شبکه‬
‫‪NWD‬‬
‫سرباز‬
‫محمد صادق دوستی‬
‫مدل ‪ Biba‬برای حفظ صحت‬
‫‪ ‬سلسله مراتبی از برچسبهای صحتی‬
‫‪‬برای اشیاء‬
‫‪‬برای عوامل‬
‫‪ ‬دو قاعده اساسی‪:‬‬
‫‪No Read Down‬‬
‫‪No Write Up‬‬
‫‪ ‬مدل قواعد پویا هم دارد‪...‬‬
‫عوامل‬
‫‪NWU‬‬
‫سرهنگ‬
‫اشیاء‬
‫سرگرد‬
‫حیاتی‬
‫سروان‬
‫خیلی حساس‬
‫ستوان‬
‫مهم‬
‫استوار‬
‫عادی‬
‫گروهبان‬
‫سرجوخه‬
‫‪NRD‬‬
‫‪22 / 43‬‬
‫سرتیپ‬
‫امنیت داده و شبکه‬
‫سرباز‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مقدمه‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اختیاری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌اجباری‬
‫‪ ‬مدل‌های‌کنترل‌دسترسی‌نقش‪-‬مبنا‬
‫‪23 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل نقش‪-‬مبنا‬
‫‪Role-Based Access Control‬‬
‫‪ RBAC:‬‬
‫‪ ‬خصوصیات اصلی مدل نقش‪-‬مبنای ‪:RBAC‬‬
‫‪‬سازگاری با ساختار سازمانی‬
‫‪‬سادگی مدیریت کنترل دسترسی‬
‫‪‬اصل حداقل مجوزها (‪)PLoP‬‬
‫‪‬تفکیک وظایف (‪)SoD‬‬
‫‪Principle of Least Privilege‬‬
‫‪Separation of Duties‬‬
‫‪24 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل نقش‪-‬مبنا‬
‫‪ ‬اعطای مجوزها به نقشها و نقشها به کاربران (به جای اختصرا‬
‫مستقیم مجوزها به کاربران)‬
‫‪ ‬اعطا و فعالسازی نقشها بر اساس اصل حداقل مجوزها‬
‫‪ ‬اعطای مجموعه مجوزهای موردنیاز به هر نقش برای اجرای وظایف‬
‫محوله‬
‫‪25 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل نقش‪-‬مبنا‬
‫کاربران دائماً تغییر میکنند؛‬
‫اما نقشها تقریباً ثابت هستند‪.‬‬
‫‪26 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫تفاوت نقش و گروه‬
‫‪ ‬نقش‪ ،‬مجموعهای از مجوزها است؛ حال آنکه گرروه مجموعرهای از‬
‫کاربران است‪.‬‬
‫‪ ‬در کنترل دسترسی گروه‪-‬مبنا‪ ،‬میتوان مستقیماً به کاربران مجروز‬
‫داد‪ .‬در ‪ ،RBAC‬تنها به نقش مجوز داده میشود‪.‬‬
‫‪ ‬در ‪ ،RBAC‬مفهوم نشست وجود دارد‪ :‬کاربر بر اساس نیازش‪ ،‬زیر‬
‫مجموعهای از نقشهای خود را هنگام ورود به سیسرتم (و پرس از‬
‫آن در صورت نیاز) فعال میکند‪.‬‬
‫‪‬اصل حداقل مجوزها‪ :‬در هر نشست‪ ،‬کمترین مجروز ززم بررای آن‬
‫نشست فعال شود‪.‬‬
‫‪27 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫انواع مدل نقش‪-‬مبنا‬
‫‪28 / 43‬‬
‫امکان تفکیک وظایف‬
‫سلسله مراتب نقشها‬
‫‪-‬‬
‫‪-‬‬
‫‪RBAC0‬‬
‫‪-‬‬
‫‪‬‬
‫‪RBAC1‬‬
‫‪‬‬
‫‪-‬‬
‫‪RBAC2‬‬
‫‪‬‬
‫‪‬‬
‫‪RBAC3‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مؤلفههای مدل پایه ‪RBAC0‬‬
‫‪ .1‬عوامل یا کاربران (‪)USERS‬‬
‫‪ .2‬نقشها (‪)ROLES‬‬
‫‪ .3‬مجوزها (‪)PERMs‬‬
‫‪‬‬
‫اعمال (‪)OPs‬‬
‫‪‬‬
‫اشیاء (‪)OBJs‬‬
‫‪ .4‬رابطه اختصا‬
‫نقش به کاربر (‪)UA‬‬
‫‪ .5‬رابطه اختصا‬
‫مجوز به نقش (‪)PA‬‬
‫‪ .6‬نشستها (‪ )SESSIONS‬و ارتباط آنها با کاربران و نقشهای آنها‬
‫‪29 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
USERS
User Assignment
(UA)
RBAC0 ‫مدل‬
(PA)
ROLES
Permission
Assignment
OPs
OBJs
PERMs
user_sessions
session_roles
SESSIONS
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
30 / 43
‫مثال‬

USERS = {Alice, Bob, Carter, Denis, Eve}

ROLES = {Manager, Designer, Programmer}

UA = {
User
Assignment
(Alice, {Manager}),
(Bob, {Designer, Programmer}),
(Carter, {Programmer}),
(Denis, {Designer}),
(Eve, {Programmer}) }
.‫ هر کاربر میتواند بیش از یک نقش داشته باشد‬
.‫ هر نقش میتواند به بیش از یک کاربر منسوب شود‬
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
31 / 43
‫مثال – ادامه‬
‫‪ SESSIONS‬‬
‫}‪= {S1, S2, S3, S4‬‬
‫‪ ‬در حال حاضر ‪ 4‬نشست فعال در سیستم وجود دارد‪.‬‬
‫‪ o‬کاربر آلیس در نشست ‪ S1‬وارد‬
‫سیستم شده است‪.‬‬
‫‪ o‬کاربر باب در ‪ 3‬نشست ‪ S2 ،S1‬و‬
‫‪ S3‬وارد سیستم شده است‪.‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫‪o‬‬
‫در نشست ‪ ،S1‬نقش مدیر‬
‫فعال است‪.‬‬
‫در نشست ‪ ،S2‬نقش‬
‫برنامهنویس فعال است‪.‬‬
‫در نشست ‪ ،S3‬نقش طراح‬
‫فعال است‪.‬‬
‫در نشست ‪ ،S4‬دو نقش‬
‫برنامهنویس و طراح فعال‬
‫است‪.‬‬
‫‪32 / 43‬‬
‫‪= { (Alice, S1),‬‬
‫‪ user_sessions‬‬
‫} )}‪(Bob, {S2, S3, S4‬‬
‫‪= { (S1, Manager),‬‬
‫‪ session_roles‬‬
‫‪(S2, {Programmer}),‬‬
‫‪(S3, {Designer}),‬‬
‫} )}‪(S4, {Programmer, Designer‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال – ادامه‬
 OBJs
 OPs
= {File1, File2, File3}
= {r, w, x}
 PERMs
= {Perm1, Perm2, Perm3, Perm4}
o Perm1 = { (File1, {r,w}), (File3, {r}) }
o Perm2 = { (File2, {r,w,x}) }
o Perm3 = { (File1, {r}), (File4, {w,x}) }
o Perm4 = { (File1, {x}), (File2, {r}) }
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
33 / 43
‫مثال – ادامه‬
‫‪(Manager, {Perm1, Perm3, Perm4}),‬‬
‫‪(Designer, {Perm2, Perm3}),‬‬
‫} )}‪(Programmer, {Perm4‬‬
‫{‬
‫= ‪ PA‬‬
‫‪Permission‬‬
‫‪Assignment‬‬
‫‪ ‬توجه نمایید که مجوزها به طور دلخواه به نقشها انتساب مییابند‪.‬‬
‫‪ ‬در ‪ ،RBAC0‬هیچ سلسله مراتبی از نقشها وجود ندارد‪.‬‬
‫‪34 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مفهوم مشبکه (‪)Lattice‬‬
‫‪ ‬به آن ‪( poset‬مجموعه جزئاً مرتب) هم گفته میشود‪.‬‬
‫‪Partially Ordered Set‬‬
‫‪‬‬
‫‪ ‬با مفهوم ‪ Lattice-Based Cryptography‬اشتباه نشود!‬
‫‪ ‬تعریف‪ :‬یک مجموعه ‪ S‬را به همراه رابطه تفوّق (≼) مشبکه میخروانیم‬
‫اگر ‪ 3‬خاصیت زیر بر قرار باشد (‪ y ،x‬و ‪ z‬عناصر دلخواهی از ‪:)S‬‬
‫‪‬بازتابی‪x ≼ x :‬‬
‫‪‬پادتقارنی‪ :‬اگر ‪ x ≼ y‬و ‪ y ≼ x‬آنگاه ‪x  y‬‬
‫‪‬تراگذری‪ :‬اگر ‪ x ≼ y‬و ‪ y ≼ z‬آنگاه ‪x ≼ z‬‬
‫‪35 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مثال‬
‫}‪{a, b, c‬‬
‫‪T‬‬
‫‪ S ‬را مجموعه توانی ‪ T‬بگیرید‪:‬‬
‫}}‪S  {Φ, {a}, {b}, {c}, {a,b}, {a,c}, {b,c} , {a,b,c‬‬
‫‪ ‬رابطه تفوق را رابطه زیر مجموعه بودن (‪ )‬در نظر بگیرید‪.‬‬
‫‪ ‬همان طور که نمودار نشان میدهد‪:‬‬
‫‪ ‬عناصر مجموعه ‪ S‬را جزئاً مرتب میکند‪.‬‬
‫• }‪ {b‬و }‪ {a,c‬قابل مقایسه نیستند‪.‬‬
‫•‬
‫‪36 / 43‬‬
‫}‪ {a,b‬بر}‪ {b‬تفوق دارد‪.‬‬
‫امنیت داده و شبکه‬
‫}‪{a,b,c‬‬
‫}‪{b,c‬‬
‫}‪{a,c‬‬
‫}‪{a,b‬‬
‫}‪{c‬‬
‫}‪{b‬‬
‫}‪{a‬‬
‫‪Φ‬‬
‫محمد صادق دوستی‬
‫مدل ‪ :RBAC1‬معرفی سلسله مراتب نقشها‬
‫‪ ‬بر اساس مفهوم مشبکه‪ ،‬میتوان سلسله مراتب نقشها را ایجاد کرد‪.‬‬
‫‪ ‬اگر نقش ‪ A‬بر نقش ‪ B‬تفوق داشته باشد‪ A ،‬کلیه مجوزهای ‪ B‬را‬
‫به ارث میبرد‪.‬‬
‫‪ ‬اگر نقش ‪ A‬و ‪ B‬قابرل مقایسره نباشرند‪ ،‬در مرورد ارثبرری آنهرا‬
‫نمیتوان اظهار نظر کرد‪.‬‬
‫‪Director‬‬
‫‪Quality‬‬
‫‪Engineer 2‬‬
‫‪37 / 43‬‬
‫‪Quality‬‬
‫‪Engineer 1‬‬
‫امنیت داده و شبکه‬
‫ارثبری‬
‫‪Project Lead 2‬‬
‫‪Production‬‬
‫‪Engineer 2‬‬
‫‪Project Lead 1‬‬
‫‪Production‬‬
‫‪Engineer 1‬‬
‫محمد صادق دوستی‬
‫مدل ‪ :RBAC2‬معرفی قیود تفکیک وظایف‬
‫‪ ‬ممکن است قانون اجازه ندهرد یرک کراربر همزمران نقرش «مردیر‬
‫سازمان» و «معاون سازمان» را داشته باشد‪.‬‬
‫‪ ‬به این مفهوم‪ ،‬تفکیک وظایف (‪ )SoD‬گفته میشود‪.‬‬
‫‪‬هدف‪ :‬برای جلوگیری از دستیابی کاربر به مجوزهای بریش از حرد‬
‫مجاز و انجام امور ییرمجاز‪.‬‬
‫‪ ‬دو نوع تفکیک وظایف‪:‬‬
‫‪‬تفکیک وظایف ایستا (‪)SSoD‬‬
‫‪‬تفکیک وظایف پویا (‪)DSoD‬‬
‫‪38 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪SSoD‬‬
‫‪ :SSoD‬اِعمال محدودیت در اختصا‬
‫نقش به کاربر در رابطه ‪UA‬‬
‫‪ ‬از یک مجموعه از نقشهای متداخل‪ ،‬نمیتوان ‪ n‬نقش و یا بیشرتر‬
‫را به یک کاربر اِعطا کرد‪.‬‬
‫‪ ‬مثال‪ :‬در یک بانک یک فرد نمیتواند هر دو نقش کارمند شرعبه و‬
‫بازرس را داشته باشد‪.‬‬
‫‪ ‬دو نقررش دو برردو ناسررازگار‪ :‬ممکررن اسررت یررک کرراربر مجرراز برره‬
‫برخورداری از دو نقش در یک زمان نباشد‪.‬‬
‫‪39 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪DSoD‬‬
‫‪ :DSoD‬اِعمال محدودیت در فعال سازی نقش توسط کراربر در یرک‬
‫نشست‪.‬‬
‫‪ ‬از یک مجموعه از نقشهای متداخل‪ ،‬نمیتوان ‪ n‬نقش و یا بیشتر‬
‫را در طی یک نشست فعال کرد‪.‬‬
‫‪ ‬اِعمال این محدودیت نیاز به نگهداری سابقه نقشهای فعرال شرده‬
‫در طی یک نشست دارد‪.‬‬
‫‪ ‬مثال‪ :‬در یک بانک‪ ،‬کسی نمیتواند در فرآیند صدور یک چک‪ ،‬هم‬
‫نقش صادرکننده و هم نقش تاییدکننده چک را داشته باشد‪.‬‬
‫‪40 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل ‪RBAC3‬‬
‫‪ ‬ترکیب دو مدل نقش‪-‬مبنای سلسلهمراتبی ‪ RBAC1‬و نقش‪-‬مبنا‬
‫با محدودیت ‪RBAC2‬‬
‫‪RBAC3 = RBAC1 + RBAC2‬‬
‫‪ ‬تاثیر متقابل سلسله مراتب نقرشهرا برر محردودیتهرای تفکیرک‬
‫وظایف‬
‫‪41 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
RBAC3 ‫مدل‬
SSoD
(RH)
Role Hierarchy
(UA)
(PA)
User Assignment
USERS
ROLES
SESSIONS
OPs
OBJs
PERMs
session_roles
user_sessions
‫محمد صادق دوستی‬
Permission
Assignment
DSoD
‫امنیت داده و شبکه‬
42 / 43
‫پایان‬
‫صفحه درس‪:‬‬
‫‪http://ce.sharif.edu/courses/94-95/2/ce442-1/‬‬
‫مراجعه حضوری جهت رفع اشکال‪ :‬یکشنبهها ‪ 17‬الی ‪18‬‬
‫(طبقه پنجم دانشکده‪ ،‬درب شیشهای جنب آسانسور)‬
‫یا در زمانهای دیگر با قرار قبلی‬
‫یا به وسیله رایانامه‪dousti@ce :‬‬
‫‪43 / 43‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬