شیء گرا

Download Report

Transcript شیء گرا

‫مدل سازی کنترل دسترسی و مدیریت آعتماد‬
‫در سطح معماری نرم آفزآر‬
‫آرآئه دهنده ‪ :‬پویا جافریان‬
‫آستاد رآهنما ‪ :‬دک تر عبدآله زآده‬
‫‪1‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پويا جافريان‬
‫‪[email protected]‬‬
‫مقدمه – اهمیت امنیت در سیستم های نرم‬
‫افزاری‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2‬‬
‫در دهه اخیر سیستم های کامپیوتری در جنبه های مختلف‬
‫زندگی انسان رسوخ کرده اند‪.‬‬
‫گسترش و وابستگی به سیستم های کامپیوتری اثرات منفی‬
‫بر زندگی انسان ها داشته است‪.‬‬
‫یکی از اثرات منفی‪ ،‬گسترش روزافزون اشکاالت امنیتی در‬
‫سیستم های کامپیوتری‪ ،‬و حمالت علیه این سیستم ها است‪.‬‬
‫بر اساس گزارش ارائه شده توسط ‪ ، CERT/CC‬در سال‬
‫‪ 2006‬بیش از ‪ 8000‬رخنه در سیستم های کامپیوتری‬
‫گزارش شده است‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫تعداد رخنه های سیستم های کامپیوتری‬
‫‪10,000‬‬
‫‪8,000‬‬
‫‪6,000‬‬
‫‪4,000‬‬
‫‪2,000‬‬
‫‪0‬‬
‫)‪2007(Q1‬‬
‫‪3‬‬
‫‪2006‬‬
‫‪2005‬‬
‫‪2004‬‬
‫‪2003‬‬
‫‪2002‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫‪2001‬‬
‫‪2000‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫تعداد حمالت علیه سیستم های کامپیوتری‬
‫‪137,529‬‬
‫‪140,000‬‬
‫‪120,000‬‬
‫‪100,000‬‬
‫‪82,094‬‬
‫‪80,000‬‬
‫‪52,658‬‬
‫‪60,000‬‬
‫‪40,000‬‬
‫‪9,859 21,756‬‬
‫‪2,134‬‬
‫‪2,412‬‬
‫‪773‬‬
‫‪252‬‬
‫‪1997‬‬
‫‪1995‬‬
‫‪1992‬‬
‫‪1990‬‬
‫‪6‬‬
‫‪20,000‬‬
‫‪0‬‬
‫‪2003‬‬
‫‪4‬‬
‫‪2002‬‬
‫‪2001‬‬
‫‪2000‬‬
‫‪1999‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫‪1988‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مشکالت امنیتی و مقابله با آنها‬
‫‪‬‬
‫علل گسترش روز افزون مشکالت امنیتی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪5‬‬
‫ساخته شدن نرم افزار از اجزاء مختلف و جدا از هم‬
‫استقرار نرم افزار در محیط های توزیع شده و گسترده‬
‫روش های کالسیک امنیت سعی در پیشگیری مشکالت‬
‫امنیتی با ارائه راه حل های رمز نگاری دارند‪.‬‬
‫با این وجود عمده حمالت انجام شده به علت طراحی‬
‫ضعیف و غلط نرم افزار است‪.‬‬
‫بنابراین روشی مهندسی برای طراحی صحیح نرم افزار‬
‫باید ارائه شود‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مهندسی نرم افزار راه حل مقابله با‬
‫مشکالت‬
‫‪‬‬
‫‪‬‬
‫مهندسی نرم افزار یک تکنولوژی الیه ای با هدف تولید سیستم با‬
‫کیفیت است]‪.[Pressman03‬‬
‫اولین مرحله ای در تولید نرم افزار که در آن به ویژگی های کیفی‬
‫در تولید سیستم توجه می شود‪ ،‬معماری نرم افزار است]‪.[Bass03‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪6‬‬
‫معماری نرم افزار شامل اولین تصمیمات طراحی سیستم است‪.‬‬
‫معماری نرم افزار اولین عنصر قابل ارزیابی در تولید سیستم است‪.‬‬
‫بنابراین معماری نرم افزار‪ ،‬اولین گام در دستیابی به امنیت می‬
‫باشد‪.‬‬
‫به عنوان مثال در نرم افزار ‪ IIS‬با تغییر در معماری نرم افزار و‬
‫بدون معرفی تکنولوژی های جدید‪ ،‬مشکالت عمده امنیتی برطرف‬
‫گردید ]‪. [WING03‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫روش طراحی معماری نرم افزار‬
‫‪‬‬
‫برای طراحی معماری نرم افزار نیاز به ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تاکتیک های معماری باید به دالیل زیر مدل شوند‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪7‬‬
‫تاکتیک معماری‬
‫الگوی معماری‬
‫امکان ارزیابی مدل ها و بررسی برآورده شدن نیازها‬
‫مستند سازی تاکتیک های مورد استفاده‪ ،‬به گونه ای که امکان درک‬
‫تاکتیک های استفاده شده به سادگی فراهم باشد‪.‬‬
‫امکان استفاده از مدل ها برای شبیه سازی اجرای برنامه‬
‫امکان تبدیل تاکتیک های ایجاد شده به محصوالت نرم افزاری مراحل‬
‫طراحی و پیاده سازی‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫هدف از ارائه تز‬
‫‪‬‬
‫ارائه روشی برای مدل سازی تاکتیک های کنترل‬
‫دسترسی و مدیریت اعتماد به گونه ای که ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫زبان مدل سازی یک زبان استاندارد باشد‪.‬‬
‫مدل های ایجاد شده قابل ارزیابی باشند‪.‬‬
‫تعدادی الگو برای تسهیل امر مدل سازی و مسائل معمول در‬
‫زمینه کنترل دسترسی و مدیریت اعتماد ارائه شود‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مقدمه ای بر امنیت‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫امنیت‪ ،‬خصوصیتي از سیستم کامپیوتري ميباشد که از افشاء‪،‬‬
‫سرویس منابع و اطالعات سیستم به طور غیر‬
‫تغییر و ممانعت‬
‫ِ‬
‫مجاز جلوگیري کند ]‪.[Bishop2003‬‬
‫سه مفهوم کلي در رابطه با امنیت عبارتند از‪ :‬محرمانگي‪،‬‬
‫یکپارچگي‪ ،‬صحت و در دسترس بودن سرویس منابع و اطالعات‬
‫حل مسائل امنیتی در سه سطح قابل انجام است ]‪: [Samarati01‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪9‬‬
‫خط مشی امنیتی‬
‫مدل امنیتی‬
‫مکانیزم امنیتی‬
‫در این تز هدف حل مسئله امنیت در سطح مدل امنیتی است‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مدل های امنیت‬
‫‪‬‬
‫مدل کنترل دسترسی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪10‬‬
‫‪(Discretionary Access Control) DAC‬‬
‫‪) Mandatory Access Control( MAC‬‬
‫‪) Role Based Access Control( RBAC‬‬
‫مدل مدیریت اعتماد‬
‫مدل جریان اطالعات‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مدل ‪RBAC‬‬
‫‪‬‬
‫‪‬‬
‫ویژگی اصلی ‪ RBAC‬توانایی نگاشت ساختار سازمانی‬
‫طبیعی یک سازمان در مسئله کنترل دسترسی می باشد‪.‬‬
‫دو مشکل اصلی مدل های کالسیک را بر طرف نموده‬
‫است‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪11‬‬
‫کاربر هویت واحد دارد‪ ،‬اما می تواند نقش های گوناگونی را‬
‫بپذیرد‪.‬‬
‫مدیریت کنترل دسترسی بسیار آسان می باشد‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مدل مدیریت اعتماد‬
‫‪‬‬
‫‪‬‬
‫امروزه اغلب سیستم های نرم افزار در محیط های توزیع‬
‫شده فعالیت می کنند‪.‬‬
‫در این گونه سیستم ها وقتی درخواست کننده و منبع در‬
‫دو حوزه امنیتی مختلف باشند‪ ،‬مسئله کنترل دسترسی با‬
‫مشکالت زیادی همراه خواهد بود‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪12‬‬
‫هویت درخواست کننده برای منبع روشن نیست‪.‬‬
‫در این گونه مسائل باید از مدل مدیریت اعتماد استفاده‬
‫نمود‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مدل مدیریت اعتماد‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪13‬‬
‫یک مدل مدیریت اعتماد‪ ،‬چارچوبی برای توصیف خط‬
‫مشی های امنیتی در سیستم های توزیع شده‪ ،‬با توانایی‬
‫توصیف روابط اعتماد بین اجزای سیستم می باشد‬
‫]‪.[Blaze96‬‬
‫از سیستم های مدیریت اعتماد مطرح‪ ،‬می توان به‬
‫‪ KeyNote ، Policy Maker‬و ‪ SD3‬اشاره کرد‪.‬‬
‫یکی از انواع مدل های مدیریت اعتماد‪ ،‬مدیریت اعتماد‬
‫مبتنی بر نقش بوده که با گسترش مفاهیم کنترل دسترسی‬
‫مبتنی بر نقش‪ ،‬نیازمندی های مدیریت اعتماد را برآورده‬
‫کرده است‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫کنترل دسترسی‪ ،‬نقش های سلسله مراتبی و‬
‫مدیریت اعتماد‬
‫‪‬‬
‫‪‬‬
‫برای مشخص شدن کاربرد و تفاوت مدیریت اعتماد با‬
‫کنترل دسترسی مبتنی بر نقش‪ ،‬و استفاده از نقش های‬
‫سلسله مراتبی به مثال زیر اشاره می کنیم‪ .‬این مثال در‬
‫بخش های دیگر نیز استفاده خواهد شد ‪:‬‬
‫سازمان ‪ ACM‬قصد دارد به دانشجویان دانشگاه امیرکبیر‬
‫دسترسی به مقاالت را ارائه دهد‪ .‬برای این منظور سه‬
‫رویکرد کلی وجود دارد ‪:‬‬
‫‪‬‬
‫‪14‬‬
‫کنترل دسترسی ‪ :‬پرکردن فرم عضویت توسط دانشجو‪ ،‬تایید‬
‫آن توسط امیرکبیر و ارسال آن برای ‪ .ACM‬سپس ‪ ACM‬کد‬
‫کاربری و کلمه عبور برای دانشجوی مذکور ارسال می کند‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫کنترل دسترسی‪ ،‬نقش های سلسله مراتبی و‬
‫مدیریت اعتماد‬
‫‪‬‬
‫‪‬‬
‫‪15‬‬
‫کنترل دسترسی به کمک نقش های الیه ای ‪ :‬مانند روش قبل‬
‫می باشد‪ .‬با این تفاوت که نقشی به نام دانشگاه امیرکبیر در‬
‫‪ACM‬ایجاد شده و دانشجویان زیر مجموعه آن قرار میگیرند‪.‬‬
‫سپس به نقش دانشگاه امیرکبیر دسترسی به مقاالت داده می‬
‫شود و در نتیجه آن تمام زیر مجموعه های امیرکبیر نیز‬
‫دسترسی پیدا می کنند‪.‬‬
‫مدیریت اعتماد ‪ :‬دانشجویان در سایت دانشگاه امیرکبیر‪ ،‬و با‬
‫شناسه کاربری و کلمه عبور دانشگاه خود وارد شوند‪ .‬سپس با‬
‫ورود به سایت ‪ ،ACM‬با توجه به اینکه سایت تشخص می‬
‫دهد درخواست مقاالت از سوی یک کاربر مورد تایید از‬
‫دانشگاه امیرکبیر ارسال شده است‪ ،‬دسترسی به مقاالت را به‬
‫های‪.‬هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫زمايشکاه سيستم‬
‫دهد‬
‫کاربر مذکور ارائه آمی‬
‫سازی‬
‫مدل‬
‫کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫جایگاه کار ارائه شده در امنیت‬
‫‪MAC‬‬
‫‪16‬‬
‫‪DAC‬‬
‫‪RBAC‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مقدمه ای بر معماری نرم افزار‬
‫‪‬‬
‫معماري نرم افزار یك برنامه یا سیستم كامپیوتري‪،‬‬
‫ساختار یا ساختارهایي از سیستم مي باشد‪ ،‬كه در‬
‫برگیرنده اجزاء‪ ،‬صفات قابل مشاهده آن اجزا و ارتباط‬
‫بین آنها باشد]‪.[Bass03‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪17‬‬
‫اجزاء نرم افزار را تعریف می کند‪.‬‬
‫شامل ساختارهای مختلف می باشد‪.‬‬
‫هر سیستم نرم افزار حتما ً دارای معماری است‪.‬‬
‫معماری باید قابل ارزیابی باشد‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫طراحی معماری نرم افزار و ویژگی های‬
‫کیفی‬
‫‪‬‬
‫ویژگی های کیفی نیازهای غیر کارکردی هستند‪.‬‬
‫برای توصیف آنها از سناریوهای ویژگی کیفی استفاده می‬
‫شود‪.‬‬
‫‪‬‬
‫برای برآوردن آنها از تاکتیک های معماری و الگوهای‬
‫معماری استفاده می شود‪.‬‬
‫‪‬‬
‫‪18‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫تاکتیک های معماری ( ‪Architectural‬‬
‫‪)Tactics‬‬
‫‪‬‬
‫‪‬‬
‫برای دستیابی به ویژگی کیفی‪ ،‬باید تصمیماتی مربوط به‬
‫نحوه طراحی معماری اتخاذ نمود‪ .‬به این تصمیمات پایه‬
‫تاکتیک معماری نامیده میشوند‪.‬‬
‫تاکتیک یک تصمیم طراحی است که با اعمال آن بر روی‬
‫معماری‪ ،‬میتوان پاسخ ویژگی کیفی را کنترل نمود و آن‬
‫را به میزان مورد نظر تبدیل نمود ]‪.[Bass03‬‬
‫مرجع ‪[Bass03] :‬‬
‫‪19‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫الگو های معماری (‪)Architectural Patterns‬‬
‫‪‬‬
‫‪20‬‬
‫در معماری نرم افزار الگوهاي معماري یا سبک های‬
‫معماری شامل شرحي از اجزاء و نوع روابط بین آنها مي‬
‫باشد به نحوي كه تعدادي قانون براي معرفي اجزاء و‬
‫نحوه ارتباط بین آنها‪ ،‬مشخص گردد‪[Bass 03] .‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫جایگاه کار ارائه شده در معماری نرم افزار‬
‫‪UML‬‬
‫‪21‬‬
‫‪ADL‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫کارهای انجام شده‬
‫‪‬‬
‫امنیت در مهندسی نرم افزار یک نیاز غیر کارکردی‬
‫‪[Jürjens04,‬‬
‫محسوب می شود‪Doshi01,Chung95, .‬‬
‫ابزارهای مهندسی نرم افزار سیستم های امن‬
‫فعالیت های همیشگی در مهندسی نرم افزار سیستم های امن‬
‫] ‪Paech02‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪22‬‬
‫مدیریت‬
‫پیکربندی‬
‫تضمین‬
‫کیفیت‬
‫روش های مهندسی نرم افزار سیستم های امن‬
‫شناسایي‪ ،‬ارزیابي‬
‫ذاتینیازهابه سختي‬
‫معماری‬
‫نیازهای امنیتی به طورمهندسی‬
‫اندازه‬
‫مدیریت‬
‫پیاده سازی‬
‫تحلیل‬
‫و در سیستم گیری‬
‫ریسک‬
‫]‪.[Jurjens03‬‬
‫شوند‬
‫مي‬
‫سازي‬
‫پیاده‬
‫تست‬
‫طراحی‬
‫موارد سازی کسب‬
‫مدل‬
‫فوق‪،‬و کارو با توجه به اینکه امنیت‬
‫برای جلوگیری از‬
‫باید در تمام‬
‫است‪،‬‬
‫سیستم های امن‬
‫سیستمتوسعه‬
‫یکی از ویژگی های کیفی فرایند های‬
‫گیرد‪.‬‬
‫چرخه حیات سیستم‪ ،‬مورد‬
‫قرارهای امن‬
‫توجهدر سیستم‬
‫کیفیت‬
‫بنابراین نیاز به مهندسی نرم افزار سیستم های امن وجود‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫پویا جافریان‬
‫دارد‪.‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫‪[email protected]‬‬
‫فرایندهای توسعه سیستم های امن‬
‫مدل فرایند پایه‬
‫متدولوژی‬
‫زبان مدل سازی‬
‫مراحل پوشش دهنده‬
‫‪RUP‬‬
‫( تکرآری)‬
‫شیء گرا‬
‫‪UML‬‬
‫مدل سازی کسب و کار و نیازها‬
‫‪Tropos‬‬
‫( تکرآری)‬
‫مبتنی بر عامل‬
‫*‪i‬‬
‫مدل سازی کسب و کار‪ ،‬نیازها‪،‬‬
‫معماری‬
‫]‪[Breu03‬‬
‫تکرآری‬
‫شیء گرا‬
‫‪UMLSec‬‬
‫نیازها‪ ،‬تحلیل و طرآحی‬
‫]‪[Kosta2‬‬
‫‪XP‬‬
‫‪Agile‬‬
‫‪--‬‬
‫مهندسی نیازها‬
‫فرایند‬
‫‪RUPSec‬‬
‫‪SecureTropos‬‬
‫‪23‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫روش های مدل سازی کنترل دسترسی و مدیریت اعتماد‬
‫مرحله مدل سازی‬
‫توانای ی مدل سازی‬
‫خط مشی‬
‫توانای ی مدل سازی‬
‫کنترل دسترسی‬
‫توانای ی مدل سازی‬
‫مدیریت اعتماد‬
‫توانای ی مدل سازی‬
‫محدودیت ها‬
‫قابلیت ارزیابی مدل‬
‫ها‬
‫قابلیت تبدیل مدل‬
‫ها به کد‬
‫]‪[Koch02‬‬
‫شیء گرا‬
‫‪UML‬‬
‫طراحی‬
‫بله‬
‫خیر‬
‫خیر‬
‫خیر‬
‫بله‬
‫خیر‬
‫]‪[Ahn01‬‬
‫شیء گرا‬
‫‪UML‬‬
‫طراحی‬
‫خیر‬
‫خیر‬
‫خیر‬
‫بله‬
‫خیر‬
‫خیر‬
‫]‪[Ray04‬‬
‫شیء گرا‬
‫‪UML‬‬
‫‪Diagram‬‬
‫‪Template‬‬
‫طراحی‪ /‬پیاده‬
‫سازی‬
‫خیر‬
‫خیر‬
‫خیر‬
‫بله‬
‫به صورت‬
‫غیرخودکار‬
‫خیر‬
‫]‪[Xin06‬‬
‫‪MDA‬‬
‫‪UML‬‬
‫طراحی‪/‬پیاده‬
‫سازی‬
‫بله‬
‫خیر‬
‫خیر‬
‫خیر‬
‫خیر‬
‫بله‬
‫]‪[Alam07‬‬
‫‪MDA‬‬
‫‪UML 2.0‬‬
‫طراحی‪/‬پیاده‬
‫سازی‬
‫بله‬
‫بله‬
‫بله‬
‫خیر‬
‫خیر‬
‫بله‬
‫]‪[Salehi07‬‬
‫شیء گرا‬
‫‪UML 2.0‬‬
‫معماری‬
‫بله‬
‫بله‬
‫خیر‬
‫خیر‬
‫خیر‬
‫خیر‬
‫]‪[Ren06‬‬
‫ساختیافته ‪/‬‬
‫شیء گرا‬
‫‪Secure‬‬
‫‪ xADL‬و‬
‫‪XACML‬‬
‫معماری‬
‫بله‬
‫بله‬
‫برخی ویژگی های‬
‫مدیریت اعتماد‬
‫خیر‬
‫بله‬
‫خیر‬
‫]‪[Giorgini06‬‬
‫مبتنی بر عامل‬
‫*‪i‬‬
‫مدل سازی‬
‫سازمان‪ ،‬نیازها و‬
‫معماری‬
‫بله‬
‫بله‬
‫برخی ویژگی های‬
‫مدیریت اعتماد‬
‫خیر‬
‫خیر‬
‫خیر‬
‫متدولوژی‬
‫روش‬
‫‪24‬‬
‫زبان مدل سازی‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫روش جدید ارائه شده‬
‫‪‬‬
‫با توجه به مقایسه انجام شده‪ ،‬هدف از این تز‪ ،‬ارائه یک‬
‫روش مدل سازی جدید با ویژگی های زیر است‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪25‬‬
‫متدولوژی‪ :‬شیء گرا‬
‫زبان مدل سازی‪UML :‬‬
‫مرحله مدل سازی‪ :‬معماری نرم افزار‬
‫با توانایی مدل سازی خط مشی‪ ،‬فرایند کنترل دسترسی و‬
‫مدیریت اعتماد‬
‫امکان ارزیابی مدل ها از دیدگاه امنیتی‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫رویکرد کلی به مسئله ایجاد زبان مدل‬
‫سازی‬
‫‪UML‬‬
‫‪UML‬‬
‫‪UML‬‬
‫‪UML‬‬
‫‪UML‬‬
‫‪26‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫نیازمندی های مسئله مدل سازی مدیریت‬
‫اعتماد‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪27‬‬
‫‪ - 1‬ویژگيهاي توزیع شده ‪ :‬یك موجودیت ميتواند ادعا كند كه‬
‫موجودیت دیگري داراي تعدادي ویژگي خاص است‪.‬‬
‫‪ - 2‬انتقال قدرت تصمیم گیري در مورد یك ویژگي ‪ :‬یك‬
‫موجودیت قدرت تصمیم گیري در مورد یك ویژگي را به یك‬
‫موجودیت دیگر انتقال ميدهد ( به بیان دیگر یك موجودیت به‬
‫تصمیم موجودیت دیگر در مورد یك ویژگي‪ ،‬اعتماد ميكند‪).‬‬
‫‪ - 3‬استنتاج ویژگيها ‪ :‬یك موجودیت از یك ویژگي براي انجام‬
‫استنتاج در مورد ویژگيهاي دیگر آن موجودیت استفاده ميكند‪.‬‬
‫‪ – 4‬امکان ترکیب ویژگی ها ‪ :‬گاهي الزم است در تصمیمات‬
‫مربوط به کنترل دسترسی‪ ،‬چندین ویژگی با هم ترکیب شوند‪ .‬به‬
‫این معنا که در صورتی که یک عنصر دارای تمام ویژگی های‬
‫مورد نظر بود‪ ،‬دسترسی به وی داده شود‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫چارچوب ‪RT‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪28‬‬
‫چارچوبی است که توانایی برآورده نمودن نیازمندی های‬
‫اشاره شده را دارد‪.‬‬
‫چارچوبي براي توصیف سیاستها و مجوزها براي‬
‫مدیریت اعتماد در سیستمهاي توزیع شده می باشد‪.‬‬
‫بر مبنای روش ‪ RBAC‬بنا شده و در حقیقت گسترشی بر‬
‫روش ‪ RBAC‬محسوب می شود‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫عناصر پایه تشکیل دهنده چارچوب ‪RT‬‬
‫‪‬‬
‫موجودیت ها‬
‫‪‬‬
‫‪‬‬
‫درخواست انجام عمل‬
‫صدور مجوز‬
‫‪‬‬
‫نام نقش ‪r1 , r2 ,...‬‬
‫‪‬‬
‫نقش‬
‫‪29‬‬
‫‪A.r B.r1‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫روابط ‪ RT‬برای توصیف خط مشی ها‬
‫‪A.r ‬‬
‫‪ ‬عضویت یک عنصر در یک نقش ‪ B:‬‬
‫‪A.r ‬‬
‫‪ ‬اعطای یک نقش به نقش دیگر ‪ B.r1:‬‬
‫‪Ar ‬‬
‫‪ ‬نقش های ترکیبی ‪ f1  f 2  ...  f k:‬‬
‫) ‪members( A.r )  members( f1 )  members( f 2 )  ...members( f k‬‬
‫‪30‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫روش های گسترش ‪UML‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪31‬‬
‫قیود (‪ : )Constraints‬برای محدود کردن مدل ها و با زبان‬
‫‪ OCL‬نوشته می شوند‪.‬‬
‫مقادیر برچسبی (‪ : )Tagged Value‬برای اضافه شدن برخی‬
‫ویژگی ها به اجزاء مدل سازی به کار می روند‪.‬‬
‫کلیشه ها (‪ : )Stereotypes‬که برای نام گذاری مجموعه ای از‬
‫قیود و مقادیر برچسبی به کار می روند‪ .‬نام مذکور در بین عالمت‬
‫>> << قرار گرفته و مشخص می کند که عنصر مدل سازی‬
‫جدیدی با این نام و دارای تعدادی قید و مقادیر برچسبی ایجاد شده‬
‫و می توان از آن در ساخت مدل ها استفاده نمود‪.‬‬
‫پروفایل (‪ : )Profile‬که مجموعه ای از قیود‪ ،‬مقادیر برچسبی و‬
‫کلیشه ها بوده و برای مدل سازی سیستم ها در یک حوزه خاص به‬
‫کار می رود‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫معماری ‪ UML‬و سطوحی که می توان در آنها‬
‫گسترش ایجاد نمود‪.‬‬
‫احتی صور‬
‫‪ UML‬به‬
‫آستفاده آز زبان‬
‫یادگیری‬
‫ت موجودابزار‬
‫ر‬
‫• روش‬
‫‪Meta-Meta Model‬‬
‫پوشش مفاهیم‬
‫مدیریت اعتماد‬
‫خوانای ی مدلها‬
‫• گسترش ‪ UML‬با آستفاده آز محدود کردن عناصر مدل سازی‬
‫‪Meta Model‬‬
‫• گسترش متامدل ‪UML‬‬
‫‪ UML‬موجود‬
‫زیاد‬
‫زیاد‬
‫کم‬
‫‪ UML‬محدود‬
‫متوسط‬
‫زیاد‬
‫متوسط‬
‫گسترش متامدل‬
‫کم‬
‫موجود‬
‫نیست‪.‬‬
‫‪32‬‬
‫استاندارد بودن‬
‫‪Model‬‬
‫کم‬
‫آستاندآرد آست‪.‬‬
‫زیاد‬
‫آستاندآرد آست‪.‬‬
‫‪User‬‬
‫زیاد‪ Objects‬زیاد‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫آستاندآرد نیست‪.‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مدل سازی موجودیت ها‬
‫‪‬‬
‫برای مدل سازی موجودیت های سیستم ‪،‬‬
‫کالس ‪ UML‬را با کلیشه >>‪<<SecureComponent‬‬
‫مدل می کنیم‪.‬‬
‫»‪«metaclass‬‬
‫‪class‬‬
‫‪+name‬‬
‫»‪«metaclass‬‬
‫‪SecureComponent‬‬
‫‪33‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
[1] -- isMember Operation for SecureRole Meta-class
[2] Context SecureRole
[3] def : isMember(component: SecureComponent) : Boolean
[4] body :
[5] let delegationAssc = self.associationEnd.association->

Select(delegations|
streotype=Delegation)
«metaclass»
[6] let
classdelegatedRoles = delegationAssc.associationEnd.class->
Select(classes
| classes<>self)
+name
[7] let componentHasAttributes =

component.associationEnd.association-> Select(attributeOwn|
streotype=HasAttribute)
[8] let componentAttributes =
componentHasAttributes.associationEnd.class->Select(classes |
«metaclass»
streotype=SecureAttribute)
.‫ جزء دارای ویژگی نقش مربوطه باشد‬
SecureRole
[9] componentAttributes->exists((name = RoleName) or
‫مربوطه در‬
‫ جزء مورد نظردارای یک ویژگی است که نقش‬
delegatedRoles->
exist(isMember(component)))
‫مدل سازی نقش‬
‫بیانگر یک ویژگی در سیستم که دسترسی بر اساس‬
.‫آن اعطا می شود‬
‫باید دارای یک تابع تصمیم گیری در مورد عضویت‬
‫ برای‬.‫یا عدم عضویت یک جزء در نقش مربوطه باشد‬
:‫عضویت‬
‫یک یا‬
.‫چند سطح به آن اعطا شده است‬
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
34
‫رابطه اعطا کردن‬
‫‪ ‬رابطه اعطا کردن بین دو نقش رخ می دهد‪.‬‬
‫‪ ‬عنصری اعطا شونده به عنوان وکیل عنصر اعطا کننده‬
‫‪[1] -- Constraint on association ends for delegation relationship‬‬
‫عمل خواهد کرد‪.‬‬
‫‪[2] inv:‬‬
‫)"‪[3] self.associationEnd->forAll(end| end.Streotype="SecureRole‬‬
‫‪ ‬با توجه به اینکه بیان کننده رابطه بین دو کالس است‪،‬‬
‫عنصر ‪ Association‬در ‪ UML‬را به کمک کلیشه‬
‫»‪«metaclass‬‬
‫>>‪ <<Delegation‬گسترش می دهیم‪.‬‬
‫»‪«metaclass‬‬
‫‪Association‬‬
‫‪Delegation‬‬
‫‪35‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫رابطه داشتن ویژگی‬
‫ این رابطه مشخص کننده عضویت یک جزء در یک نقش‬
‫ به بیان دیگر می توان گفت که جزء دارای نقش‬.‫است‬
[1] -- Constraint on association ends for HasAttribute relationship
.‫مربوطه است‬
[2] inv:
[3] self.associationEnd->Size = 2
SecureComponent ‫ و‬SecureRole ‫ رابطه بین یک‬
[4] let ends = self.associationEnd in
[5] (ends[1].class.streotype = SecureComponent and
.‫رخ می دهد‬
ends[2].class.streotype
= HasAttribute) or (ends[2].class.streotype
«metaclass»
=HasAttribute
SecureComponent
and ends[1].class.streotype
HasAttribute
،‫داشتن ویژگی‬
‫ برای نمایش رابطه‬UML=‫عنصر‬
‫ بهترین‬
‫ بوده که آن را با کلیشه‬Association ‫عنصر‬
.‫<< گسترش می دهیم‬HasAttribute>>
«metaclass»
Association
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
36
‫مدل سازی رابطه عضویت‬
«metaclass»
[1]
-- Constraint On Membership of Requester Component in Secure Role
Association
[2] let SecureRoleClass = self.associationEnd->Select(end |
end.Streotype=SecureRole) in

[3] let RequesterComponent = self.associationEnd->Select(end |
end.Streotype=Component) in
[4] SecureRoleClass.isMember(RequesterComponent)
[5] -- Constraint on association ends for IsMember relationship
[6] inv:
[7] self.associationEnd->Size = 2

«metaclass»
[8] let ends = self.associationEnd in
IsMember
[9] ends[1].class.streotype = SecureComponent and ends[2].class.streotype
= HasAttribute
.‫این رابطه بین یک جزء و یک نقش ایجاد می شود‬
‫این رابطه یک رابطه محدود است و تنها در صورتی‬
‫امکان ایجاد آن وجود دارد که جزء مورد نظر به طور‬
.‫مستقیم یا غیر مستقیم عضوی از نقش مربوطه باشد‬
‫ را به‬UML ‫ در‬Association ‫برای نمایش آن عنصر‬
.‫<< گسترش می دهیم‬isMember>> ‫کمک کلیشه‬
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
37
‫مدل سازی رابطه مالکیت یک نقش‬
‫ می گوییم‬،‫ توسط یک جزء ارائه شود‬،‫هرگاه یک نقش‬
.‫جزء مربوطه مالک نقش است‬
‫بین یک جزء و نقش رخ داده و آن را با گسترش‬
‫ به وسیله کلیشه‬UML ‫ در‬Association
.‫<< مدل می کنیم‬OwnRole>>
:‫دارای دو محدودیت است‬
[1]
-- Constraint on having just one Owner
«metaclass»

Association
[2]
inv:
[3] let role = self.associationEnd[1].class in
[4] role.associationEnd.Association->forAll( e |

(e.Streotype=OwnRole) implies (e = self)
[5] -- Constraint on association ends for OwnRole relationship
[6] inv:
[7] self.associationEnd->Size = 2
[8]
let ends = self.associationEnd in
«metaclass»

OwnRole
[9]
ends[1].class.streotype = SecureComponent and
ends[2].class.streotype = SecureRole
.‫ رخ می دهد‬SecureComponent ‫ و‬SecureRole ‫ بین یک‬
.‫هر نقش تنها می تواند یک مالک داشته باشد‬
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬

38
‫مدل سازی واسط ها (‪)Interface‬‬
‫‪ ‬هر جزء برای ارائه سرویس به دیگر اجزاء دارای تعدادی واسط‬
‫»‪«metaclass‬‬
‫است‪.‬‬
‫‪Interface‬‬
‫‪ ‬واسط ها باید از دسترسی افراد غیر مجاز محافظت شوند‪ .‬برای‬
‫این منظور از مفهومی به نام محافظ (‪ )Safeguard‬در آنها استفاده‬
‫می شود‪.‬‬
‫‪[1] – Safeguards‬‬
‫در‪Tag is‬‬
‫‪added‬‬
‫عنصر‪to the‬‬
‫‪extended‬‬
‫‪contains‬‬
‫‪ UML‬استفاده‬
‫‪Interface‬‬
‫‪interface.‬ها‪ ،‬از‬
‫برای ‪It‬نمایش واسط‬
‫‪‬‬
‫‪the‬‬
‫‪list of safeguards‬‬
‫‪required to access the‬‬
‫‪interface.‬‬
‫»‪«metaclass‬‬
‫می‬
‫گسترش‬
‫>>‪<<SecureInterface‬‬
‫کلیشه‬
‫می کنیم و آن را با‬
‫‪SecureInterface‬‬
‫‪[2] Safeguards : Set of String‬‬
‫دهیم‪.‬‬
‫‪ ‬هر ‪ SecureInterface‬یک واسط است که توسط تعدادی نقش‬
‫محافظت می شود‪ .‬هر جزء دیگر برای دسترسی به آن باید دارای‬
‫همه نقش های محافظ باشد‪.‬‬
‫‪ ‬نقش های الزم برای دسترسی به واسط مربوطه توسط یک ‪Tag‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫پویا جافریان‬
‫شود‬
‫‪ 39‬در ‪ UML‬به آن متصل می‬
‫مدل سازی‬
‫کنترل‪.‬دسترسی و مديريت آعتماد با ‪UML‬‬
‫‪[email protected]‬‬
‫تابع تصمیم گیری در مورد کنترل دسترسی‬
[1] -- Access Control Function for the meta class Model
[2] Context Model
[3] def : HaveAccess(component: SecureComponent,
interface: SecureInterface) : Boolean
[4] let componentRoles =
interface.class.associationEnd.association.association
End->Select(RoleEnds |
RoleEnds.association.Streotype=OwnRole and
RoleEnds.class.Streotype = SecureRole) in
[5] let safeguardRoles = componentRoles->Select( roles |
interface.Safeguards.Contains(roles.Name) ) in
[6] = safeguardRoles->forAll(safeguardRole |
safeguardRole.isMember(component)
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
40
‫الگوهای معماری برای مدل سازی مدیریت‬
‫اعتماد‬
‫(عضویت یک جزء در یک نقش)‬
‫>>‪<<SecureComponent‬‬
‫>>‪<<SecureComponent‬‬
‫‪Component 2‬‬
‫‪Component 1‬‬
‫>>‪<<HasAttribute‬‬
‫>>‪<<OwnRole‬‬
‫>>‪<<SecureRole‬‬
‫‪Role 1‬‬
‫‪41‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫الگوی معماری اعطا کردن یک نقش به نقش‬
‫دیگر‬
<<SecureComponent>>
<<SecureComponent>>
Component 1
Component 2
<<OwnRole>>
<<OwnRole>>
<<SecureRole>>
Role 1
‫پویا جافریان‬
[email protected]
<<Delegation>>
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
<<SecureRole>>
Role 2
42
‫الگوی نقش های سلسله مراتبی‬
<<SecureRole>>
Role 3
<<Delegation>>
<<SecureComponent>>
Component 1
<<OwnRole>>
<<OwnRole>>
<<SecureRole>>
Role 2
<<Delegation>>
<<SecureRole>>
Role 1
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
43
‫الگوی معماری اعطاکردن چندگانه‬
<<SecureComponent>>
<<SecureComponent>>
<<SecureComponent>>
Component 2
Component 3
Component 4
<<OwnRole>>
<<OwnRole>>
<<SecureRole>>
<<SecureRole>>
<<SecureRole>>
Role 2
Role 3
Role 4
<<OwnRole>>
<<Delegation>>
<<SecureRole>>
Role 1
<<OwnRole>>
<<SecureComponent>>
‫پویا جافریان‬
[email protected]
Component 1
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
44
‫مثال نمونه‬
‫‪‬‬
‫‪‬‬
‫مسئله ‪ :‬سازمان ‪ ACM‬قصد ارائه دسترسی به مقاالت به‬
‫دانشجویان دانشگاه امیرکبیر دارد‪.‬‬
‫راه حل ‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪45‬‬
‫ارائه دسترسی به مقاالت به تک تک دانشجویان دانشگاه‬
‫امیرکبیر با ارائه کد کاربری و کلمه عبور (کنترل دسترسی)‬
‫ارائه دسترسی به دانشگاه امیرکبیر و ارائه کد کاربری و کلمه‬
‫عبور به تک تک دانشجویان و قرار دادن آنها در‬
‫زیرمجموعه امیرکبیر (کنترل دسترسی با استفاده از نقش های‬
‫الیه ای)‬
‫ارائه دسترسی به مقاالت به تمام درخواست هایی که از طرف‬
‫افراد مورد تایید امیرکبیر آمده است (مدیریت اعتماد)‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫مدل سازی راه حل اول‬
<<SecureComponent>>
safeGaurds=
{StudentMember}
ACM
PaperAcc
ess
<<OwnRole>>
<<SecureComponent>>
Student
<<SecureRole>>
StudentMember
<<HasAttribute>>
<<SecureRole>>
StudentMember
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
46
‫مدل سازی راه حل دوم‬
<<SecureComponent>>
safeGaurds=
{StudentMember}
ACM
PaperAcc
ess
<<OwnRole>>
<<OwnRole>>
<<SecureComponent>>
Student
<<SecureRole>>
Amirkabir
<<Delegation>>
<<SecureRole>>
StudentMember
<<HasAttribute>>
<<SecureRole>>
Amirkabir
‫پویا جافریان‬
[email protected]
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
47
‫مدل سازی راه حل سوم‬
safeGaurds=
{StudentMember}
PaperAcc
ess
<<SecureComponent>>
<<SecureComponent>>
ACM
AmirKabirU
<<OwnRole>>
<<OwnRole>>
<<SecureRole>>
StudentMember
<<Delegation>> <<SecureRole>>
AUTStudent
<<HasAttribute>>
<<SecureComponent>>
‫پویا جافریان‬
[email protected]
Student
)http://ce.aut.ac.ir/islab( ‫آزمايشکاه سيستم های هوشمند‬
UML ‫مدل سازی کنترل دسترسی و مديريت آعتماد با‬
48
‫کارهایی که باید انجام شوند‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪49‬‬
‫ارائه یک مطالعه موردی برای تست تمام ویژگی های‬
‫زبان مدل سازی گسترش یافته‪.‬‬
‫ارائه پارامترهای ارزیابی مناسب برای زبان مدل سازی‬
‫گسترش یافته و مقایسه آن را زبان های موجود برای مدل‬
‫سازی مدل سازی کنترل دسترسی و مدیریت اعتماد‪.‬‬
‫ارائه کاربردهای زبان مدل سازی در ارزیابی معماری‬
‫نرم افزار‪.‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫مدل سازی کنترل دسترسی و مديريت آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫‪[email protected]‬‬
‫خالصه گسترش های ارائه شده‬
‫کلیشه‬
‫کالس پایه‬
‫‪SecureComponent‬‬
‫‪Class‬‬
‫‪--‬‬
‫‪SecureRole‬‬
‫‪Class‬‬
‫تابع عضویت‬
‫‪Delegation‬‬
‫برچسب‬
‫‪Association‬‬
‫برچسب‬
‫کلیشه‬
‫نوع‬
‫محدودیت‬
‫شرح‬
‫یک جزء در سیستم که توانای ی ارائه درخواست و مالکیت نقش ها را دارد‪.‬‬
‫یک نقش در سیستم که دسترسی بر مبنای ان تعیین می شود‪.‬‬
‫تعدآد‬
‫برقرار رابطه تنها بین کالس های ی از نوع ‪SecureRole‬‬
‫شرح‬
‫رابطه مشخص کننده اعطای یک نقش به نقش دیگر‬
‫شامل نام تمام نقش های ی که یک جزء باید برآی‬
‫‪ Binary‬و بین یک*‬
‫‪String‬‬
‫‪Safeguards‬‬
‫‪ SecureComponent‬و‬
‫‪ SecureInterface‬رابطه از نوع‬
‫باشد‪.‬توسط یک جزء‬
‫بودنرآیک نقش‬
‫کننده دارا‬
‫‪Association‬‬
‫‪HasAttribute‬‬
‫نظر دآ‬
‫مشخصمورد‬
‫دسترسی به وآسط‬
‫یک ‪Secure Role‬‬
‫‪OwnRole‬‬
‫‪Associaation‬‬
‫بین یک ‪ SecureComponent‬و ‪ Secure Role‬و هر‬
‫نقش تنها می تواند یک مالک داشته باشد‪.‬‬
‫مشخص کننده مالکیت یک نقش توسط یک جزء‬
‫‪IsMember‬‬
‫‪Association‬‬
‫بین یک ‪ SecureComponent‬و ‪ Secure Role‬ایجاد‬
‫شده و تنها در صورتی وجود دارد که جزء عضوی از نقش باشد‪.‬‬
‫رابطه ای محدود که تنها اگر جزء مربوطه عضو یک نقش باشد امکان برقراری‬
‫ان وجود دارد‪.‬‬
‫‪SecureInterface‬‬
‫‪50‬‬
‫‪Interface‬‬
‫آزمايشکاه سيستم های هوشمند (‪)http://ce.aut.ac.ir/islab‬‬
‫‪ Safeguards‬مدل سازی کنترل دسترسی و مديريت‪ --‬آعتماد با ‪UML‬‬
‫پویا جافریان‬
‫واسط امن که توسط تعداد محافظ محافظت می شود‪.‬‬
‫‪[email protected]‬‬