فهرست مطالب عنوان صفحهچکیده:1فصل اول: مقدمه21-1 مقدمه21-2 تعریف مساله و بیان سوالهای اصلی تحقیق31-3 سابقه وضرورت انجام تحقیق41-4 هدفها81-5 جنبه نوآوری تحقیق:91-6 مراحل انجام تحقیق91-7 ساختار پایاننامه9فصل دوم: مباحث عمومی پردازش ابری، امنیت و شبیهسازی102-1 مقدمه102-2 تاریخچهی مختصری از رایانش ابری112-3 وضعیت کنونی رایانش ابری122-4 خصوصیات رایانش ابری132-4-1 ویژگی کلیدی رایانش ابری172-4-2 مزایای اصلی رایانش ابری182-4-3 کارهای امکانپذیر در رایانش ابری.182-5 معماری رایانش ابری192-6 امنیت و چالشهای رایانش ابری212-7 امنیت در رایانش ابری222-8 نقاط ضعف رایانش ابری222-8-1 نیاز به اتصال دائمی اینترنت222-8-2 کار نکردن با اینترنت کم سرعت232-8-3 حفظ حریم خصوصی232-9 معایب امنیتی در محیطهای ابری232-9-1 موقعیت داده242-9-2 تفکیک دادهها242-10 تامین امنیت دادهها242-10-1 کنترل و دسترسی252-10-2 رمزگذاری252-11 مقدمهای بر شبیهسازی262-12 برخی نرمافزارهای شبیهسازی شبکههای محاسباتی282-13 آشنایی با ابزار کلودسیم292-13-1معماری کلودسیم302-14 مدلهای تخصیص ماشینهای مجازی312-15 کلاسهای موجود در کلودسیم322-16 جمعبندی35فصل سوم: مروری بر کارهای گذشته والگوریتمهای رمزنگاری373-1 مقدمه373-2 معرفی روش383-3 سوابق کاری گذشته393-4 اهداف روش413-5 طبقهبندی دادهها423-5-1 یادگیری ماشین423-6 تعریف داده حساس و غیرحساس463-7 طبقهبند-Kنزدیکترین همسایه483-8 رمزنگاری با روشRSA493-9 رمز و رمزنگاری493-9-1 الگوریتمهای رمزنگاری503-10 آراسای523-10-1 مراحل الگوریتم RSA513-11 استاندارد رمزنگاری پیشرفته543-11-1 شرح رمزنگاری553-12جمعبندی56فصل چهارم: معرفی روش پیشنهادی574-1 مقدمه574-2 معرفی روش جدید -Kنزدیکترین همسایه فازی برای طبقهبندی داده در محاسبات ابری581-4-2 نظریه مجموعههای فازی584-3 تفاوت در نتایج حاصله از الگوریتمهای طبقهبندی584-4 چهارچوب مورد استفاده594-5 روش پیشنهادی594-5-1 داده آموزشی و داده تست614-5-2 ذخیره در ابر624-5-3 روش کار الگوریتمKNN624-5-4 روش کار الگوریتمF-KNN646-4 جمعبندی66فصل پنجم:آزمایشها و ارزیابی نتایج675-1 مقدمه675-2 جایگاه داده آزمایش ومحیط پیاده سازی واجرا685-3 مقایسه نتایج بدست آمده از الگوریتم -K نزدیکترین همسایه عادی و فازی 725-4 خصوصیات لایه نرم افزار به عنوان سرویس765-5 خصوصیات لایه پلتفرم به عنوان سرویس برای مدیریت مجازی775-6 خصوصیات لایه زیرساخت به عنوان سرویس در شبیهسازی ابر785-7 نرخ شناسایی795-8 نتایج شبیهسازی805-9 زمان شبیهسازی مراحل کار815-10 جمعبندی83فصل ششم:نتیجهگیری و پیشنهادها846-1 مقدمه846-2 نتایج حاصل از تحقیق846-3 پیشنهادها85مراجع:86واژهنامه انگلیسی89چکیدهانگلیسی................................................................................................................................93 فهرست جدول عنوان صفحهجدول2-1 مقایسه محاسبات ابری و محاسبات توری......... 13جدول 2-2کلاسهای پهنایباند........................... 30جدول 2-3 کلاسهای تکهابر............................. 31جدول5-1 کلاس های برنامه............................. 69جدول 5-1 تعداد آیتم های تکه ابر الگوریتم KNN و F-KNN73جدول 5-2 خصوصیات لایه نرم افزار به عنوان سرویس الگوریتم KNN 76جدول 5-3 خصوصیات لایه نرم افزار به عنوان سرویس الگوریتم F-KNN76جدول 5-4 خصوصیات لایه پلتفرم به عنوان سرویس الگوریتمKNN 77جدول 5-5 خصوصیات لایه پلتفرم به عنوان سرویس الگوریتم F-KNN 77جدول 5-6خصوصیات لایه زیرساخت به عنوان سرویس الگوریتم KNN 78جدول 5-7 خصوصیات لایه زیرساخت به عنوان سرویس الگوریتم F-KNN 78جدول 5-8 اطلاعات طبقه بندی داده در الگوریتم KNN.... 79جدول 5-9 اطلاعات طبقه بندی داده در الگوریتم F-KNN.... 79جدول 5-10 نتایج زمانی شبیه سازی طبقهبندی دادهها با الگوریتم KNN................................................... 80جدول 5-11 نتایج زمانی شبیه سازی طبقهبندی دادهها با الگوریتم F-KNN................................................... 80جدول 5-12 زمان شبیه سازی مراحل کار الگوریتم KNN... 81جدول 5-13 زمان شبیه سازی مراحل کار الگوریتم F-KNN... 81 فهرست اشکال عنوان صفحهشکل 2-1 سرویسهای رایانش ابری..................... 14شکل 2-2 پشتیبانی از بستر ناهمگن ................. 16شکل 2-3 معماری محاسبات ابری...................... 19شکل 3-1 فلوچارت یادگیری ماشین.................... 43شکل 3-2 رمزنگاری به شیوه پیچیدن تکه کاغذی دور استوانه 46شکل3-3 تقسیم بندی الگوریتمها رمزنگاری............ 47شکل3-4 رمزنگاری با کلید متقارن................... 47شکل3-5 رمزنگاری با کلید نا متقارن................ 47شکل3-6 ابداع کنندگان رمزنگاری RSA............... 49شکل3-7 پروتکل تبادل رمز دیفی ـ هلمن.............. 50شکل 4-1 فلوچارت کلی روش.......................... 60شکل4-2 نمودار توصیفی الگوریتمهای فازی............ 64شکل 4-3 شبهکد الگوریتم F-KNN ................................................................................................65شکل 5-1 فلوچارت الگوریتم های طبقه بندی........... 72شکل 5-2 محیط شبیهسازی با الگوریتم KNN و F-KNN.... 74 فهرست علائم اختصاریواحد پردازشگر مرکزیCPU (Central processing untiy)اتحادیه امنیت پردازش ابریCSA (Cloud Security Alliance)حفاظت به عنوان یک سرویسDPaasS (Data Protection as a Service)آژانس امنیت شبکه و اطلاعات اروپاENISA (European Union Agency for Network and Information Security)الگوریتم k نزدیکترین همسایه فازیFKNN (Fuzzy Nearest Neighbor Algorithm)زیرساخت به عنوان سرویسIaaS (Infrastructure as a Service)انجمن نظارت و کنترل سیستم های اطلاعاتیISACA (Information System Audit and Control Association)الگوریتم k نزدیکترین همسایهKNN (K-Nearest Neighbor Algorithm)یادگیری ماشینML (Machine Learning)سکو به عنوان سرویسPaaS (Platform as a Service)نرم افزار به عنوان سرویسSaaS (Software as a Service)سرویس و زیرساختSLAS (Service Level Agreement)ماشین مجازیVM (Virtual Machine)چکیده:پردازش ابری و محیط ابر و پایگاه دادههای ابری محل ذخیرهسازی اطلاعات روی وب میباشد و برای بالا بردن امنیت در آن ها باید بهترین راه حل را استفاده کرد. مساله ما در اینجا طبقهبندی دادههای محرمانه و فوقمحرمانه و سپس رمزگذاری آن ها برای ذخیره در ابر میباشد برای این کار سرعت و دقت بسیار مهم میباشد. در این پژوهش یک الگوریتم طبقهبندی داده فازی، در محیط ابری استفاده شده است که در نهایت با زبان جاوا و در شبیهساز کلودسیم شبیهسازی شد و توانست طبقهبندی موثری برای دادهها در محیط ابر ایجاد کند.الگوریتم طبقهبند ارایه شده، الگوریتم k-نزدیکترین همسایه فازی است. با توجه به خصوصیات خوبی که الگوریتم k-نزدیکترین همسایه فازی دارد توانست با سرعت و دقت بیشتر دادههای محرمانه، فوق محرمانه و عمومی را طبقهبندی کند و برای رمزگذاری مناسب برای ذخیره سازی در ابر آماده کند و کارایی طبقهبندی داده برای ذخیرهسازی در ابر را بهبود بخشد.روش کار بدین صورت می باشد که دادههای یک پایگاه داده 15000 رکوردی ابتدا توسط الگوریتم k-نزدیکترین همسایه عادی طبقهبندی میشود و دادهها به مرحله رمزگذاری فرستاده میشوند و در نهایت در ابر ذخیره میشوند و در مقابل آن همان پایگاه داده توسط الگوریتم k-نزدیکترین همسایه فازی طبقهبندی میشود و به سه کلاس فوق محرمانه، محرمانه و عمومی به مرحله بعدی که رمزگذاری و ذخیره در ابر میباشد فرستاده میشود. در پیادهسازی این روش از زبان جاوا و شبیهساز کلودسیم استفاده شده است و نتایج حاصل به خوبی بیانگر کارایی بهتر الگوریتم k-نزدیکترین همسایه فازی میباشد که موجب تولید نتایج بهتر نسبت به الگوریتم k-نزدیکترین همسایه عادی میشود . واژههای کلیدی: پردازش ابری، امنیت، طبقهبندی k-نزدیکترین همسایه، طبقهبندی k-نزدیکترین همسایه فازی 1-1 مقدمهرایانش ابری به عنوان یکی از مشهورترین و داغترین موضوعات در زمینه فناوری اطلاعات پدیدار گردید. امروزه کاربران اینترنت به وسیله ابزارهای الکترونیکی بسیار سبکی به سرویسهای آن دسترسی دارند، در چنین حالتی کاربران نیازهای خود را که ممکن است نیازمند پردازش سنگینی باشد برحسب تقاضا درخواست میکنند و بدون توجه به حمل سرویس و چگونگی ارائه آن، به مشاهده نتایج بازگردانده شده میپردازند. رایانش ابری برپایه TCP/IP و برپایه اینترنت[1]بوده و شامل پردازندهها با حافظههای عظیم، شبکه انتقال داده سریع و معماری سیستمهای قابل اعتماد میباشد و بدون پروتکلهای استاندارد حاکم بر شبکه نمیتوان موجودیتی به این فناوری بخشید (گونگ، لیو، رانگ، چن، گونگ[2]، 2010). سرویسهای این تکنولوژی به 3 دسته عمده تقسیم می شود: زیرساخت به عنوان سرویس[3]، سکو به عنوان سرویس[4] و نرمافزار به عنوان سرویس[5] میباشند. رایانش ابری به 5 لایه، مشتری، کاربردی، سکو، زیرساخت و سرورها تقسیم می شوند. تحمل خطای فوق العاده این فناوری، وفق پذیری آن با زیرساخت شبکه افزایش میدهد. ویژگی کاربرد آسان آن، تمام پیچیدگی سرویسها را مخفی کرده و کاربران را با رابطی ساده به مرکز داده متصل میکند. مجازیسازی و امنیت بالا نیز از خصوصیات دیگر این تکنولوژی میباشد (ریکیاکس، پالیز، کاتاسرس، مهرا، وکالی[6]، 2009).با توجه به اهمیت زیاد فرایند پردازشهای ابری و مبحث امنیت آن، در این تحقیق سعی بر این است تا طبقهبندی دادههای محرمانه با استفاده از الگوریتم طبقهبندی نزدیکترین همسایه فازی به این مهم دست یابیم. در این بخش به تعریف مساله و معرفی ایده خود خواهیم پرداخت. 1-2 تعریف مساله و بیان سوالهای اصلی تحقیقطبق تعریف موسسه ملی استاندارد و فناوری (NIST)[7] رایانش ابری مدلی است برای فراهم کردن دسترسی آسان براساس تقاضا کاربر، از طریق شبکه به مجموعهای از منابع رایانش قابل تغییر و پیکربندی (مثل سرورها، شبکهها، فضاهای ذخیرهسازی، برنامههای کاربردی و سرویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهم کننده سرویس به سرعت فراهم شده یا آزاد گردد (کچین، هس[8]، 2010).محاسبات ابری ساختاری است که به ما امکان میدهد تا به برنامههای کاربردی دسترسی داشته باشیم که در مکانی غیر از کامپیوترها یا در دیگر ماشینهای متصل به اینترنت قرار دارند. اکثر مواقع این مکان یک مرکز داده از راه دور میباشد. محاسبات ابری[9] حذفهای عملیاتی و سرمایهایی را نوید میدهد و مهمتر اینکه به بخشهای IT امکان میدهد تا بهجای حفظ اجرای مرکز دادهها، بر روی پروژههای استراتژیک متمرکز گردند. هزینه مدیریت منابع بسیار بیشتر از هزینه واقعی خود منابع است پس بهتر است منابع را از طریق ابر از صاحب منبع اجاره کرد.با توجه به اینکه پردازش ابری مزایای فراوانی به دنبال خواهد داشت، جنبهایی که هنوز باعث عقبنشینی بسیاری از سازمآن ها در برابر این فناوری میگردد. نحوه امنسازی دادهها در ابر و اطمینان از امنیت محیط است. البته امنیت در پردازش ابری را می توان نسبی، فرض کرد. در واقع امنیت بزرگترین نقطه ضعف پردازش ابری میباشد که راهکارهای بسیاری در این زمینه تدارک دیده شده است.رمزگذاری تقریبا تا حدی امنیت دادهها را تامین میکند، اما با مشکلاتی که در بازیابی اطلاعات به وجود می آورد، باز هم بحث امنیت، به واژهایی ترسناک در ابر باقی میماند. تا کنون روشهای زیادی نیز برای تامین امنیت تدارک دیده نشده، اما بحث نگران کننده دسترسی و دستکاری دادههای مشتریان، توسط کارمندان داخلی میباشد.هنگام استفاده از ابر ریسکهای امنیتی وجود دارد اما شرکتهای معتبر و معروف تلاش میکنند تا ایمنی و امنیت را حفظ کنند. درابر تکنیکهای زیادی برای امنیت دادهها به کار رفته است. رمزگذاری دادهها تکنیکی است که به طور گسترده مورد استفاده قرار گرفته است. رمزگذاری دادهها، قبل از ارسال باعث حفاظت از آن ها می شود. قبل از اجرای هر گونه اقدام امنیتی روی داده در ابر، بهتر است نیازهای امنیتی داده را بدانیم. چه دادهای نیاز به امنیت دارد و چه دادهایی نیاز به امنیت ندارد. در این تحقیق با استفاده از الگوریتم طبقه بندی k- نزدیکترین همسایه فازی[10] و عادی، دادهها را طبقهبندی کرده سپس دادههای نیازمند امنیت را با الگوریتمهای رمزگذاری میکنیم. 1-3 سابقه و ضرورت انجام تحقیقهدف این تحقیق این است که به وسیله الگوریتم طبقهبندی k- نزدیکترین همسایه فازی بتوانیم بهبودی در امنیت دادههای محاسبات ابری ایجاد کنیم. الگوریتم k- نزدیکترین همسایه عادی دادهها را براساس محرمانه بودن طبقهبندی میکند. تکنیک طبقهبندی داده یا Knn در محیط ابر کاربرد دارد. دادهها به دو کلاس حساس و غیرحساس تقسیم میشوند. دادههای غیرحساس به امنیت نیاز ندارند، اما دادههای حساس با کمک الگوریتم RSA[11] رمزگذاری میشوند. طبقهبندی Knn یک الگوریتم یادگیری ماشین میباشد که در روش بازشناسی الگو چندین دهه مطالعه شده است[12]. (منور، تانگ جانگ، توردین، 2013).طبقهبندی KNN دو مشکل اساسی دارد اول تعیین مقدار k- توسط کاربرد دوم نزدیک ترین همسایگان نمونه تست را با درجه اهمیت یکسانی در نظر میگیرد.به همین دلیل و مشکلاتی که الگوریتم Knn عادی دارد (کیلر، گای و جیونز[13]) از الگوریتم طبقه بندی[14]Knn فازی استفاده کردند. اکثر کارهای انجام گرفته با رویکرد فازی در زمینه یادگیری با نظارت بوده در حالی که تعداد کمی از آن ها برای یادگیری نیمه نظارتی و یادگیری بدون نظارت انجام گرفته است و این در حالی است که برچسب زنی تمام دادهها کاری دشوار، پرهزینه و زمان بر است. در این تحقیق به معرفی الگوریتم نزدیکترین همسایه فازی در زمینه یادگیری، نظارتی میپردازیم. روش پیشنهادی برخلاف بسیاری از روشها و الگوریتمهای طبقهبندی موجود نیاز به هیچ حد آستانه قابل تنظیم توسط کاربر ندارد. همچنین نتایج تجربی نشان داده که الگوریتم Knn فازی نسبت به روشهای مقایسه شده، کارایی بالاتری دارد.لازم به ذکر است که بکارگیری الگوریتم Knn عادی برای طبقهبندی دادهها در جهت امنیت دادههای محرمانه[15] در محاسبات ابری انجام پذیرفته است.[16]اما الگوریتم Knn فازی در طبقهبندی دادههای در محاسبات ابری بکار نرفته است. در این تحقیق سعی خواهد شد با بکارگیری این الگوریتم بررسی شود آیا بهبودی در امنیت دادههای محرمانه محاسبات ابری انجام خواهد پذیرفت یا خیر.
الگوریتم طبقه بندی k-نزدیک ترین همسایه فازی داده برای محرمانگی در محاسبات ابری WORD
فهرست مطالب عنوان صفحهچکیده:1فصل اول: مقدمه21-1 مقدمه21-2 تعریف مساله و بیان سوالهای اصلی تحقیق31-3 سابقه وضرورت انجام تحقیق41-4 هدفها81-5 جنبه نوآوری تحقیق:91-6 مراحل انجام تحقیق91-7 ساختار پایاننامه9فصل دوم: مباحث عمومی پردازش ابری، امنیت و شبیهسازی102-1 مقدمه102-2 تاریخچهی مختصری از رایانش ابری112-3 وضعیت کنونی رایانش ابری122-4 خصوصیات رایانش ابری132-4-1 ویژگی کلیدی رایانش ابری172-4-2 مزایای اصلی رایانش ابری182-4-3 کارهای امکانپذیر در رایانش ابری.182-5 معماری رایانش ابری192-6 امنیت و چالشهای رایانش ابری212-7 امنیت در رایانش ابری222-8 نقاط ضعف رایانش ابری222-8-1 نیاز به اتصال دائمی اینترنت222-8-2 کار نکردن با اینترنت کم سرعت232-8-3 حفظ حریم خصوصی232-9 معایب امنیتی در محیطهای ابری232-9-1 موقعیت داده242-9-2 تفکیک دادهها242-10 تامین امنیت دادهها242-10-1 کنترل و دسترسی252-10-2 رمزگذاری252-11 مقدمهای بر شبیهسازی262-12 برخی نرمافزارهای شبیهسازی شبکههای محاسباتی282-13 آشنایی با ابزار کلودسیم292-13-1معماری کلودسیم302-14 مدلهای تخصیص ماشینهای مجازی312-15 کلاسهای موجود در کلودسیم322-16 جمعبندی35فصل سوم: مروری بر کارهای گذشته والگوریتمهای رمزنگاری373-1 مقدمه373-2 معرفی روش383-3 سوابق کاری گذشته393-4 اهداف روش413-5 طبقهبندی دادهها423-5-1 یادگیری ماشین423-6 تعریف داده حساس و غیرحساس463-7 طبقهبند-Kنزدیکترین همسایه483-8 رمزنگاری با روشRSA493-9 رمز و رمزنگاری493-9-1 الگوریتمهای رمزنگاری503-10 آراسای523-10-1 مراحل الگوریتم RSA513-11 استاندارد رمزنگاری پیشرفته543-11-1 شرح رمزنگاری553-12جمعبندی56فصل چهارم: معرفی روش پیشنهادی574-1 مقدمه574-2 معرفی روش جدید -Kنزدیکترین همسایه فازی برای طبقهبندی داده در محاسبات ابری581-4-2 نظریه مجموعههای فازی584-3 تفاوت در نتایج حاصله از الگوریتمهای طبقهبندی584-4 چهارچوب مورد استفاده594-5 روش پیشنهادی594-5-1 داده آموزشی و داده تست614-5-2 ذخیره در ابر624-5-3 روش کار الگوریتمKNN624-5-4 روش کار الگوریتمF-KNN646-4 جمعبندی66فصل پنجم:آزمایشها و ارزیابی نتایج675-1 مقدمه675-2 جایگاه داده آزمایش ومحیط پیاده سازی واجرا685-3 مقایسه نتایج بدست آمده از الگوریتم -K نزدیکترین همسایه عادی و فازی 725-4 خصوصیات لایه نرم افزار به عنوان سرویس765-5 خصوصیات لایه پلتفرم به عنوان سرویس برای مدیریت مجازی775-6 خصوصیات لایه زیرساخت به عنوان سرویس در شبیهسازی ابر785-7 نرخ شناسایی795-8 نتایج شبیهسازی805-9 زمان شبیهسازی مراحل کار815-10 جمعبندی83فصل ششم:نتیجهگیری و پیشنهادها846-1 مقدمه846-2 نتایج حاصل از تحقیق846-3 پیشنهادها85مراجع:86واژهنامه انگلیسی89چکیدهانگلیسی................................................................................................................................93 فهرست جدول عنوان صفحهجدول2-1 مقایسه محاسبات ابری و محاسبات توری......... 13جدول 2-2کلاسهای پهنایباند........................... 30جدول 2-3 کلاسهای تکهابر............................. 31جدول5-1 کلاس های برنامه............................. 69جدول 5-1 تعداد آیتم های تکه ابر الگوریتم KNN و F-KNN73جدول 5-2 خصوصیات لایه نرم افزار به عنوان سرویس الگوریتم KNN 76جدول 5-3 خصوصیات لایه نرم افزار به عنوان سرویس الگوریتم F-KNN76جدول 5-4 خصوصیات لایه پلتفرم به عنوان سرویس الگوریتمKNN 77جدول 5-5 خصوصیات لایه پلتفرم به عنوان سرویس الگوریتم F-KNN 77جدول 5-6خصوصیات لایه زیرساخت به عنوان سرویس الگوریتم KNN 78جدول 5-7 خصوصیات لایه زیرساخت به عنوان سرویس الگوریتم F-KNN 78جدول 5-8 اطلاعات طبقه بندی داده در الگوریتم KNN.... 79جدول 5-9 اطلاعات طبقه بندی داده در الگوریتم F-KNN.... 79جدول 5-10 نتایج زمانی شبیه سازی طبقهبندی دادهها با الگوریتم KNN................................................... 80جدول 5-11 نتایج زمانی شبیه سازی طبقهبندی دادهها با الگوریتم F-KNN................................................... 80جدول 5-12 زمان شبیه سازی مراحل کار الگوریتم KNN... 81جدول 5-13 زمان شبیه سازی مراحل کار الگوریتم F-KNN... 81 فهرست اشکال عنوان صفحهشکل 2-1 سرویسهای رایانش ابری..................... 14شکل 2-2 پشتیبانی از بستر ناهمگن ................. 16شکل 2-3 معماری محاسبات ابری...................... 19شکل 3-1 فلوچارت یادگیری ماشین.................... 43شکل 3-2 رمزنگاری به شیوه پیچیدن تکه کاغذی دور استوانه 46شکل3-3 تقسیم بندی الگوریتمها رمزنگاری............ 47شکل3-4 رمزنگاری با کلید متقارن................... 47شکل3-5 رمزنگاری با کلید نا متقارن................ 47شکل3-6 ابداع کنندگان رمزنگاری RSA............... 49شکل3-7 پروتکل تبادل رمز دیفی ـ هلمن.............. 50شکل 4-1 فلوچارت کلی روش.......................... 60شکل4-2 نمودار توصیفی الگوریتمهای فازی............ 64شکل 4-3 شبهکد الگوریتم F-KNN ................................................................................................65شکل 5-1 فلوچارت الگوریتم های طبقه بندی........... 72شکل 5-2 محیط شبیهسازی با الگوریتم KNN و F-KNN.... 74 فهرست علائم اختصاریواحد پردازشگر مرکزیCPU (Central processing untiy)اتحادیه امنیت پردازش ابریCSA (Cloud Security Alliance)حفاظت به عنوان یک سرویسDPaasS (Data Protection as a Service)آژانس امنیت شبکه و اطلاعات اروپاENISA (European Union Agency for Network and Information Security)الگوریتم k نزدیکترین همسایه فازیFKNN (Fuzzy Nearest Neighbor Algorithm)زیرساخت به عنوان سرویسIaaS (Infrastructure as a Service)انجمن نظارت و کنترل سیستم های اطلاعاتیISACA (Information System Audit and Control Association)الگوریتم k نزدیکترین همسایهKNN (K-Nearest Neighbor Algorithm)یادگیری ماشینML (Machine Learning)سکو به عنوان سرویسPaaS (Platform as a Service)نرم افزار به عنوان سرویسSaaS (Software as a Service)سرویس و زیرساختSLAS (Service Level Agreement)ماشین مجازیVM (Virtual Machine)چکیده:پردازش ابری و محیط ابر و پایگاه دادههای ابری محل ذخیرهسازی اطلاعات روی وب میباشد و برای بالا بردن امنیت در آن ها باید بهترین راه حل را استفاده کرد. مساله ما در اینجا طبقهبندی دادههای محرمانه و فوقمحرمانه و سپس رمزگذاری آن ها برای ذخیره در ابر میباشد برای این کار سرعت و دقت بسیار مهم میباشد. در این پژوهش یک الگوریتم طبقهبندی داده فازی، در محیط ابری استفاده شده است که در نهایت با زبان جاوا و در شبیهساز کلودسیم شبیهسازی شد و توانست طبقهبندی موثری برای دادهها در محیط ابر ایجاد کند.الگوریتم طبقهبند ارایه شده، الگوریتم k-نزدیکترین همسایه فازی است. با توجه به خصوصیات خوبی که الگوریتم k-نزدیکترین همسایه فازی دارد توانست با سرعت و دقت بیشتر دادههای محرمانه، فوق محرمانه و عمومی را طبقهبندی کند و برای رمزگذاری مناسب برای ذخیره سازی در ابر آماده کند و کارایی طبقهبندی داده برای ذخیرهسازی در ابر را بهبود بخشد.روش کار بدین صورت می باشد که دادههای یک پایگاه داده 15000 رکوردی ابتدا توسط الگوریتم k-نزدیکترین همسایه عادی طبقهبندی میشود و دادهها به مرحله رمزگذاری فرستاده میشوند و در نهایت در ابر ذخیره میشوند و در مقابل آن همان پایگاه داده توسط الگوریتم k-نزدیکترین همسایه فازی طبقهبندی میشود و به سه کلاس فوق محرمانه، محرمانه و عمومی به مرحله بعدی که رمزگذاری و ذخیره در ابر میباشد فرستاده میشود. در پیادهسازی این روش از زبان جاوا و شبیهساز کلودسیم استفاده شده است و نتایج حاصل به خوبی بیانگر کارایی بهتر الگوریتم k-نزدیکترین همسایه فازی میباشد که موجب تولید نتایج بهتر نسبت به الگوریتم k-نزدیکترین همسایه عادی میشود . واژههای کلیدی: پردازش ابری، امنیت، طبقهبندی k-نزدیکترین همسایه، طبقهبندی k-نزدیکترین همسایه فازی 1-1 مقدمهرایانش ابری به عنوان یکی از مشهورترین و داغترین موضوعات در زمینه فناوری اطلاعات پدیدار گردید. امروزه کاربران اینترنت به وسیله ابزارهای الکترونیکی بسیار سبکی به سرویسهای آن دسترسی دارند، در چنین حالتی کاربران نیازهای خود را که ممکن است نیازمند پردازش سنگینی باشد برحسب تقاضا درخواست میکنند و بدون توجه به حمل سرویس و چگونگی ارائه آن، به مشاهده نتایج بازگردانده شده میپردازند. رایانش ابری برپایه TCP/IP و برپایه اینترنت[1]بوده و شامل پردازندهها با حافظههای عظیم، شبکه انتقال داده سریع و معماری سیستمهای قابل اعتماد میباشد و بدون پروتکلهای استاندارد حاکم بر شبکه نمیتوان موجودیتی به این فناوری بخشید (گونگ، لیو، رانگ، چن، گونگ[2]، 2010). سرویسهای این تکنولوژی به 3 دسته عمده تقسیم می شود: زیرساخت به عنوان سرویس[3]، سکو به عنوان سرویس[4] و نرمافزار به عنوان سرویس[5] میباشند. رایانش ابری به 5 لایه، مشتری، کاربردی، سکو، زیرساخت و سرورها تقسیم می شوند. تحمل خطای فوق العاده این فناوری، وفق پذیری آن با زیرساخت شبکه افزایش میدهد. ویژگی کاربرد آسان آن، تمام پیچیدگی سرویسها را مخفی کرده و کاربران را با رابطی ساده به مرکز داده متصل میکند. مجازیسازی و امنیت بالا نیز از خصوصیات دیگر این تکنولوژی میباشد (ریکیاکس، پالیز، کاتاسرس، مهرا، وکالی[6]، 2009).با توجه به اهمیت زیاد فرایند پردازشهای ابری و مبحث امنیت آن، در این تحقیق سعی بر این است تا طبقهبندی دادههای محرمانه با استفاده از الگوریتم طبقهبندی نزدیکترین همسایه فازی به این مهم دست یابیم. در این بخش به تعریف مساله و معرفی ایده خود خواهیم پرداخت. 1-2 تعریف مساله و بیان سوالهای اصلی تحقیقطبق تعریف موسسه ملی استاندارد و فناوری (NIST)[7] رایانش ابری مدلی است برای فراهم کردن دسترسی آسان براساس تقاضا کاربر، از طریق شبکه به مجموعهای از منابع رایانش قابل تغییر و پیکربندی (مثل سرورها، شبکهها، فضاهای ذخیرهسازی، برنامههای کاربردی و سرویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهم کننده سرویس به سرعت فراهم شده یا آزاد گردد (کچین، هس[8]، 2010).محاسبات ابری ساختاری است که به ما امکان میدهد تا به برنامههای کاربردی دسترسی داشته باشیم که در مکانی غیر از کامپیوترها یا در دیگر ماشینهای متصل به اینترنت قرار دارند. اکثر مواقع این مکان یک مرکز داده از راه دور میباشد. محاسبات ابری[9] حذفهای عملیاتی و سرمایهایی را نوید میدهد و مهمتر اینکه به بخشهای IT امکان میدهد تا بهجای حفظ اجرای مرکز دادهها، بر روی پروژههای استراتژیک متمرکز گردند. هزینه مدیریت منابع بسیار بیشتر از هزینه واقعی خود منابع است پس بهتر است منابع را از طریق ابر از صاحب منبع اجاره کرد.با توجه به اینکه پردازش ابری مزایای فراوانی به دنبال خواهد داشت، جنبهایی که هنوز باعث عقبنشینی بسیاری از سازمآن ها در برابر این فناوری میگردد. نحوه امنسازی دادهها در ابر و اطمینان از امنیت محیط است. البته امنیت در پردازش ابری را می توان نسبی، فرض کرد. در واقع امنیت بزرگترین نقطه ضعف پردازش ابری میباشد که راهکارهای بسیاری در این زمینه تدارک دیده شده است.رمزگذاری تقریبا تا حدی امنیت دادهها را تامین میکند، اما با مشکلاتی که در بازیابی اطلاعات به وجود می آورد، باز هم بحث امنیت، به واژهایی ترسناک در ابر باقی میماند. تا کنون روشهای زیادی نیز برای تامین امنیت تدارک دیده نشده، اما بحث نگران کننده دسترسی و دستکاری دادههای مشتریان، توسط کارمندان داخلی میباشد.هنگام استفاده از ابر ریسکهای امنیتی وجود دارد اما شرکتهای معتبر و معروف تلاش میکنند تا ایمنی و امنیت را حفظ کنند. درابر تکنیکهای زیادی برای امنیت دادهها به کار رفته است. رمزگذاری دادهها تکنیکی است که به طور گسترده مورد استفاده قرار گرفته است. رمزگذاری دادهها، قبل از ارسال باعث حفاظت از آن ها می شود. قبل از اجرای هر گونه اقدام امنیتی روی داده در ابر، بهتر است نیازهای امنیتی داده را بدانیم. چه دادهای نیاز به امنیت دارد و چه دادهایی نیاز به امنیت ندارد. در این تحقیق با استفاده از الگوریتم طبقه بندی k- نزدیکترین همسایه فازی[10] و عادی، دادهها را طبقهبندی کرده سپس دادههای نیازمند امنیت را با الگوریتمهای رمزگذاری میکنیم. 1-3 سابقه و ضرورت انجام تحقیقهدف این تحقیق این است که به وسیله الگوریتم طبقهبندی k- نزدیکترین همسایه فازی بتوانیم بهبودی در امنیت دادههای محاسبات ابری ایجاد کنیم. الگوریتم k- نزدیکترین همسایه عادی دادهها را براساس محرمانه بودن طبقهبندی میکند. تکنیک طبقهبندی داده یا Knn در محیط ابر کاربرد دارد. دادهها به دو کلاس حساس و غیرحساس تقسیم میشوند. دادههای غیرحساس به امنیت نیاز ندارند، اما دادههای حساس با کمک الگوریتم RSA[11] رمزگذاری میشوند. طبقهبندی Knn یک الگوریتم یادگیری ماشین میباشد که در روش بازشناسی الگو چندین دهه مطالعه شده است[12]. (منور، تانگ جانگ، توردین، 2013).طبقهبندی KNN دو مشکل اساسی دارد اول تعیین مقدار k- توسط کاربرد دوم نزدیک ترین همسایگان نمونه تست را با درجه اهمیت یکسانی در نظر میگیرد.به همین دلیل و مشکلاتی که الگوریتم Knn عادی دارد (کیلر، گای و جیونز[13]) از الگوریتم طبقه بندی[14]Knn فازی استفاده کردند. اکثر کارهای انجام گرفته با رویکرد فازی در زمینه یادگیری با نظارت بوده در حالی که تعداد کمی از آن ها برای یادگیری نیمه نظارتی و یادگیری بدون نظارت انجام گرفته است و این در حالی است که برچسب زنی تمام دادهها کاری دشوار، پرهزینه و زمان بر است. در این تحقیق به معرفی الگوریتم نزدیکترین همسایه فازی در زمینه یادگیری، نظارتی میپردازیم. روش پیشنهادی برخلاف بسیاری از روشها و الگوریتمهای طبقهبندی موجود نیاز به هیچ حد آستانه قابل تنظیم توسط کاربر ندارد. همچنین نتایج تجربی نشان داده که الگوریتم Knn فازی نسبت به روشهای مقایسه شده، کارایی بالاتری دارد.لازم به ذکر است که بکارگیری الگوریتم Knn عادی برای طبقهبندی دادهها در جهت امنیت دادههای محرمانه[15] در محاسبات ابری انجام پذیرفته است.[16]اما الگوریتم Knn فازی در طبقهبندی دادههای در محاسبات ابری بکار نرفته است. در این تحقیق سعی خواهد شد با بکارگیری این الگوریتم بررسی شود آیا بهبودی در امنیت دادههای محرمانه محاسبات ابری انجام خواهد پذیرفت یا خیر.