مهندسی نرم افزار
پایان نامه امنیت در رایانش ابری با عنوان افزایش امنیت اطلاعات در محاسبات ابری با SAML می باشد. امنیت در رایانش ابری یکی از مهم ترین موضوعات پایان نامه برای مقطع کارشناسی ارشد مهندسی نرم فزار می باشد.دنیای اینترنت و کامپیوتر هر روز در حال پیچیدهتر شدن و تکامل است. یکی از محصولات این تکامل، رایانش ابری است. با توجه به این موضوع، حساسیت دادهها و حفظ حریم خصوصی اطلاعات به طور جدی به عنوان یک نگرانی مهم برای سازمانها تبدیل میشود. شرکتها برای ارائه خدمات تخصصی مبتنی بر وب، توجه ویژهای به ارائه دهندگان خدمات نرم افزار (ASPها) یا فروشندگان نرم افزار به عنوان سرویس (SaaS) دارند که باعث کاهش هزینهها و ارائه برنامههای کاربردی خاص و متمرکز به کاربران میشود. این روش پیچیدگی طراحی، نصب، پیکربندی، گسترش و پشتیبانی از سیستم توسط منابع داخلی را حذف میکند که منافع زیادی به سازمانها ارائهمیدهد.
سازمانها اخیراً از منابع احراز هویت مرکزی برای برنامههای کاربردی داخلی و پورتالهای مبتنی بر وب برای بیشتر قسمتهای خود استفاده میکنند. احراز هویت ورود تکی، هنگامیکه به درستی پیکربندی شدهباشد باعث ایجاد یک امنیت قوی میشود به این معنا که کاربران، نیاز به یادداشت و بهخاطر سپردن کلمات عبور سیستمهای مختلف ندارند. همچنین باعث سهولت مدیریت و حسابرسی کاربران میشود. با استفاده از یک استاندارد برای احراز هویت اطلاعات برای مبادله روی اینترنت میتوان این مشکل را حل کرد. زبان نشانهگذاری اثبات امنیت، یک راه حل مبتنی بر XML و امن برای تبادل اطلاعات کاربر بین ارائهدهنده شناسه (سازمان) و ارائهدهنده سرویس (ASPها یا SaaSها) فراهم میکند. استاندارد زبان نشانهگذاری اثبات امنیت، قوانین و دستورات نحوی را برای تبادل اطلاعات تعریف میکند، در عین حال انعطاف پذیر است و اجازه انتقال دادههای سفارشی به ارائهدهنده سرویس خارجی را میدهد.
در این پایاننامه سعی گردیده است که از مزایای رایانش ابری و ورود تکی بهترین استفاده برده شود و از آن برای ارتقا سیستمهای ورود تکی و به طور خاص برای ورود تکی با استفاده از استاندارد زبان نشانهگذاری اثبات امنیت استفادهشود. برای این منظور ابتدا مفاهیم و تعاریف اولیه مرتبط از جمله رایانش ابری، زبان نشانهگذاری اثبات امنیت، احراز هویت و ورود تکی مورد مطالعه قرارگرفتهاند. سپس بررسی کوتاهی در مورد روشهای احراز هویت انجام گردیدهاست تا با استفاده از آن مدلی بهتر، کاملتر و متناسب با آنچه مورد نیاز است، ارائه گردد. همچنین تعدادی از مدلهای ارائه شده برای هر یک از مباحث بالا و ترکیب این مباحث مورد بررسی قرارگرفته است. با ترکیب و جمعبندی روشها و اطلاعات بدستآمده، مدلی برای ورود تکی مبتنی بر رایانش ابری با استفاده از زبان نشانهگذاری اثبات امنیت به منظور کمک به فرایند ورود تکی در احراز هویت کاربران، پیشنهاد و شبیهسازی گردیده است. در نهایت پس از بیان مزایای مدل پیشنهادی، مشکلات احتمالی بررسی شده و برای رفع این مشکلات و همچنین مطالعات آینده پیشنهاداتی ارائه گردیده است.
کلید واژهها:
رایانش ابری
امنیت اطلاعات در رایانش ابری
زبان نشانهگذاری اثبات امنیت در رایانش ابری SAML
مقدمه
دنیای فناوری اطلاعات روز به روز در حال گسترش است.
از زمانی که رایانهها وارد زندگی بشر شدند، حدود 72 سال میگذرد. در طول این سالها عطش پیشرفت باعث به وجود آمدن فناوریهای جدید شدهاست. همچنین از زمانی که اینترنت در اختیار کاربران قرار گرفتهاست، مدت زیادی نمیگذرد. اینترنت تحولی شگرف در تبادل اطلاعات به وجود آورده است.
البته در آن زمان کسی به این فکر نمیکرد که روزی از اینترنت علاوه بر تبادل اطلاعات بتوان به عنوان یک سیستم پردازشی قوی استفاده کرد. اما امروزه بسیاری از پردازشها توسط سرورها انجاممیشود. مفاهیم ابتدایی محاسبات ابری از دههی 1162 میلادی گسترش یافت. اما محاسبات ابری به صورتی که در حال حاضر آنرا میشناسیم و در اختیار همگان قرارگرفته از سال 2226 توسط سایت آمازون بکار گرفته شدهاست. محاسبات ابری یک ایدهی قدیمی از منابع محاسباتی است که به عنوان یک ابزار استفادهشدهاست. محاسبات ابری یک محاسبهی مبتنی بر اینترنت است که منابع مشترک، نرمافزار و اطلاعات، برای کامپیوترها و وسایل مورد تقاضا ارائهمیدهد. محاسبات ابری به افراد اجازه میدهد که منابع و خدمات توزیعشده را به اشتراک بگذارند. بنابراین محاسبات ابری از منابع توزیعشده در محیط باز استفاده میکند. در نتیجه برای اشتراک داده در توسعهی برنامههای محاسبات ابری، امنیت و اطمینان فراهم میکند.
حساسیت دادهها و حفظ حریم خصوصی اطلاعات بهطور افزایشی به یک ناحیه نگرانی برای سازمانها تبدیل میشود. جنبههای احراز هویت و اثبات هویت شامل استفاده، نگهداری و حفاظت از اطلاعات جمعآوریشده برای کاربران میباشد. جلوگیری از دسترسی غیرمجاز به منابع اطلاعات در ابر نیز یک عامل مهم است. همانطور که خدمات وب شایعتر میشوند، کسبوکار به دنبال ارائه خدمات ترکیبی به مشتریانی که آنها را به اشتراک میگذارند میباشد. این فرایند برای مشتریانی که باید نامهای کاربری و کلمههای عبور مختلف را بهخاطر داشتهباشند و رزروهای مختلف روی بخشهای مرورگرهای وب مختلف را با واسطهای کاربری غیرواحد نشاندهندهی وضعیتهای رزرو مختلف نگهداری کنند مسئولیت دشواری است ]1، 2 و 3[.
زبان نشانهگذاری اثبات امنیت (SAML) ، استانداری برای ورود تکی کاربران به وب به صورت امن است که اولین بار در ژانویه سال 2001 توسط سازمان گسترش استانداردهای اطلاعات ساختاریافته معرفی شد و یک چارچوب مبتنی بر زبان نشانهگذاری توسعهپذیر برای تبادل اطلاعات احراز هویت و تصدیق و امنیت تبادل اطلاعات بکار گرفته شدهبود. آخرین بهروزرسانی آن در سال 2005 بودهاست. زبان نشانهگذاری اثبات امنیت در چند نسخه وارد بازار جهانی اینترنت شد. اولین نسخه زبان نشانهگذاری اثبات امنیت تحت عنوان SAML1 عرضه شد. سپس نسخه SAML1.1 آن ارائه شد که از نظر کارایی مگر جز تفاوت های کوچک، کاملاً مشابه SAML1 بود. در نهایت آخرین نسخه زبان نشانهگذاری اثبات امنیت که SAML2 نام گرفت در سال 2005 عرضه گردید تفاوت های اساسی با نسخههای قبلی این استاندارد داشت ]4[.
اگرچه هر دو نسخهی این استاندارد بر موارد استفاده یکسانی نظارت میکردند، SAML2 با نسخههای قبلی خود ناسازگار است. نسخههای اولیه زبان نشانهگذاری اثبات امنیت هیچ پروتکل خاص دیگری را در پرسوجوهای خود پشتیبانی نمیکند در حالی که نسخه نهایی زبان نشانهگذاری اثبات امنیت (SAML2) از پروتکلهای زیادی پشتیبانی میکند که اکثر پروتکلها کاملاً جدید هستند. هم SAML1 و هم SAML2 از امضاهای دیجیتال (مبتنی بر استاندارد امضای XML) برای احراز هویت و یکپارچگی پیامها استفادهمیکنند. با استفاده از رمزگذاری XML، SAML2 عناصری برای تعیینکنندگان هویتِنام رمزگذاری شده، ویژگیهای رمزگذاری شده و اثباتهای رمزگذاری شده (SAML1 قابلیت رمزگذاری ندارد) فراهممیکند ]5[.
مهمترین چیزی که آدرسهای زبان نشانهگذاری اثبات امنیت نیاز دارند، ورود تکی مرورگر وب است. راه حلهای ورود تکی معمولاً در سطح اینترانت (برای مثال با استفاده از کوکیها) است اما توسعه این راه حلها ورای اینترانت مشکلزا میشود و منجر به گسترش تکنولوژیهای اختصاصی غیرقابل همکاری میشود.
زبان نشانهگذاری اثبات امنیت قصد حل این نواقصی را دارد که توسط سازمان گسترش استانداردهای اطلاعات ساختاریافته توسعه یافته است. زبان نشانهگذاری اثبات امنیت با ارائه یک چارچوب مبتنی بر زبان نشانهگذاری توسعهیافته قصد حل مشکل تبادل اطلاعات امن را دارد. مهمترین مزیت زبان نشانهگذاری اثبات امنیت، گسترش آن و رشد اختیاری آن در صنعت است. این معمولاً بین سازمانها و مشتریان آنها، شریکان کسبوکار و ارائهدهندگان ابر استفاده میشود. زبان نشانهگذاری اثبات امنیت از امنیت سطح اثبات، مقیاسپذیری و قابلیت اطمینان در هزاران محصول توسعهیافته جهانی برخوردار است.
اثباتهای زبان نشانهگذاری اثبات امنیت در امنیت سرویسهای وب برای امنیت پیامهای سرویسهای وب نیز مورد استفاده قرار میگیرند. امنیت سرویسهای وب با استفاده از اثباتهای زبان نشانهگذاری اثبات امنیت در قالب یک توکن امنیتی با پروفایل توکن زبان نشانهگذاری اثبات امنیت امنیت سرویسهای وب را تعریف میکند. سرویسهای وب امنیتی مجموعهای از مشخصات است که ابزارهایی برای تامین حفاظت از امنیت پیامها تعریف میکند. زبان نشانهگذاری اثبات امنیت از تعدادی اجزای بلوک ساختمان تشکیل شدهاست که هنگامیکه به هم متصل میشوند، اجازه پشتیبانی تعدادی از موارد استفاده میدهد. مشخصات زبان نشانهگذاری اثبات امنیت، ساختار و محتوای اثباتها که توضیحاتی در مورد یک اصل اثبات شده توسط یک بخش اثبات میدهد را تعریف میکند ]4 و 6[.
فهرست مطالب
بهبود برقراری امنیت اطلاعات در رایانش ابری با استفاده از استاندارد SAML
چکیده
فصل اول: کلیات
مقدمه
تعریف مسئله
تبیین صورت مسئله
ساختار پایاننامه
فصل دوم: محاسبات ابری، چالشها و راهکارها
مقدمه
تاریخچهی رایانش ابری
چند نمونه
مالتیکس
ناظران ماشینهای مجازی اولیه
شرکت CSS ملی
مفاهیم
تعریف محاسبات ابری
مشخصات اصلی محاسبات ابری
معماری و مولفههای ابر
دیدگاه کلی از ایدههای موجود برای ساختارهای ابری و مولفههای آن
مدلهای سرویس محاسبات ابری
دستهبندی ابرها
چند اجارهای
مجازیسازی
شکلهای ابر
بعد یک: داخلی/خارجی
بعد دو: اختصاصی/باز
بعد سه: محیطی/غیرمحیطی
بعد چهار: برون سپاری/درون سپاری
فرصتها و چالشهای محاسبات ابری
چالشهای امنیتی محاسبات ابری
چالشهای حفظ حریم خصوصی محاسبات ابری
محافظت از دادهها
راهکارهای حفاظت از دادهها
خطرات مشترک امنیت اطلاعات در ابر
فیشینگ
حق دسترسی پرسنل ارائه دهنده
برنامههایکاربردی و محدودیتهای رمزنگاری دادهها
احراز هویت دادهها و شناسایی کاربران
ذخیرهسازی دادهها در ابر
احرازهویت
زبان نشانهگذاری اثبات امنیت
تعریف
ویژگیها
اجزا
زبان نشانهگذاری اثبات امنیت در امنیت سرویسهای وب
انتشار توکن زبان نشانهگذاری اثبات امنیت در سرویسهای وب
نتیجهگیری
فصل سوم: بررسی و تجزیه تحلیل کارهای انجام شده
مقدمه
سیستمهای ورودتکی
سازمانی
مجتمع (فدرالی شده)
روشهای ورودتکی
روش کربروس
پروتکل کربروس
مزایای کربروس
معایب کربروس
احراز هویت ورود تکی به وب با استفاده از زبان نشانهگذاری اثبات امنیت
سرویسهای وب امنیتی
احرازهویت مجتمع
سرویسهای وب مجتمع
زبان نشانهگذاری اثبات امنیت و سرویسهای وب مجتمع
نسخه دوم زبان نشانهگذاری اثبات امنیت (SAML )
احرازهویت مجتمع
مزایای احرازهویت ورودتکی
مزایای زبان نشانهگذاری اثبات امنیت
خطاهای رایج در زبان نشانهگذاری اثبات امنیت
زبان نشانهگذاری اثبات امنیت به عنوان یک استاندارد ابری امن
نتیجهگیری
فصل چهارم: ورودتکی با استفاده از زبان نشانهگذاری اثبات امنیت
مقدمه
مدل پیشنهادی برای احرازهویت زبان نشانهگذاری اثبات امنیت در ورودتکی وب
مراحل انجام کار مدل پیشنهادی
شبیهسازی مدل پیشنهادی
مدل امنیت دادهها در محاسابات ابر
نتیجهگیری
فصل پنجم: بررسی مدل پیشنهادی و نتیجهگیری
مقدمه
بررسی مدل پیشنهادی از نظر امنیت
بررسی و ارزیابی مدل پیشنهادی
روش ارزیابی مدل
تعیین پایایی و روایی پرسشنامه
تعیین پایایی پرسشنامه طراحیشده برای ارزیابی مدل پیشنهادی
تعیین روایی پرسشنامه طراحیشده برای ارزیابی مدل پیشنهادی
استخراج عاملها
ارزیابی مدل پیشنهادی
آزمون فریدمن برای مقایسه میانگین روشها
آزمون کلموگروفاسمیرونوف
تحلیل واریانس
مزایای و نتایج بدستآمده از مدل پیشنهادی
مشکلات احتمالی و راهحلهای پیشنهادی
منابع و مآخذ
فهرست شکلها
شکل 2- 1 لایههای محاسبات ابری 13
شکل 2- 2 معماری ابری مربوط به سرویسهای ابری14
شکل 2-3 چنداجارهای16
شکل 2-4 مجازیسازی مدیریت ماشین مجازی نوع یک و دو17
شکل 2-5 ساختار اثبات زبان نشانهگذاری اثبات امنیت26
شکل 2-6 اثبات زبان نشانهگذاری اثبات امنیت26
شکل 2-7 اجزای زبان نشانهگذاری اثبات امنیت30
شکل 2-8 استفادهی عمومی از سرویسهای امن وب و زبان نشانهگذاری اثبات امنیت31
شکل 2-9 روش تأیید موضوع حامل32
شکل 2-10 روش تأیید موضوع دارنده کلید33
شکل 2-11 روش تأیید موضوع ضمانتهای فرستنده33
شکل 2-12 توزیع توکن زبان نشانهگذاری اثبات امنیت با استفاده ورودتکی34
شکل 2-13 توکن زبان نشانهگذاری اثبات امنیت یکسان برای ارائهدهندهسرویس توزیع و منقضی شده35
شکل 2-14 زمان انقضای توکن زبان نشانهگذاری اثبات امنیت36
شکل 3-1 حالت ورودتکی ساده39
شکل 3-2 ورودتکی مبتنی بر درخواست41
شکل 3-3 مکانیزم تشخیص بیومتریک42
شکل 3-4 یک معماری توسعهیافته ورودتکی بین چنددامنه ساده و معمولی45
شکل 3-5 احرازهویت ورودتکی به وب با زبان نشانهگذاری اثبات امنیت51
شکل 3-6 فلوچارت اثبات زبان نشانهگذاری اثبات امنیت آغاز شده توسط ارائهدهندههویت52
شکل 3-7 فلوچارت اثبات زبان نشانهگذاری اثبات امنیت آغاز شده توسط ارائهدهندهسرویس53
شکل 3-8 نرم افزار احرازهویت مجتمع54
شکل 4-1 احرازهویت ورودتکی به وب با زبان نشانهگذاری اثبات امنیت65
شکل 4-2 مراحل انجام فرایند احرازهویت ورودتکی به وب با استفاده از زبان نشانهگذاری اثبات امنیت66
شکل 4-3 ثبتنام کاربر در محیط ابر67
شکل 4-4 ورودتکی کاربر به ابر69
شکل 4-5 یک نمای کلی از پلتفرم نرم افزار کلود سیم70
شکل 4-6 محل تنظیم پارامترهای شبیه ساز کلود70
شکل 4-7 نمای اولیه شبیه ساز کلود71
شکل 4-8: مدل امنیت داده در محاسبات ابری71
شکل 5-1میزان تحصیلات و حوزه کاری افراد شرکت کننده در ارزیابی مدل پیشنهادی75
شکل 5-2 تغییرات مقادیر ویژه در ارتباط با عاملها80
شکل 5 3 مقایسه امتیازات سه روش ورودتکی81
فهرست جداول
جدول 2-1 تعاریف محاسبات ابری توسط شركتهای تحلیلگر منتخب9
جدول 3-1 مقایسه تعدادی از روشهای ورودتکی61
جدول 3-1 مدل احرازهویت ارائهدهندههویت SAML64
جدول 5- 1 مقایسه امتیازات دو روش انتخاب شده براساس معیارهای تعیینشده75
جدول 5-2 محاسبه ضریب آلفای کرونباخ برای پرسشنامه طراحیشده76
جدول 5-3 میانگین و انحراف معیار استاندارد برای هر یک از معیارهای موجود در پرسشنامه77
جدول 5-4 همبستگی بین متغیرها و ضریب آلفای کرونباخ پس از حذف هر سئوال77
جدول 5-5نتایج حاصل از آزمون KMO و بارتلت78
جدول 5-6 میزان اشتراک متغیرها قبل و بعد از استخراج عاملها79
جدول 5-7 مقدار ویژه و واریانس متناظر با عاملها79
جدول 5-8 ماتریس چرخیدهشده مولفهها80
جدول 5-9 تجزیه معیارها به پنج گروه عاملی80
جدول 5-10 نتیجه آزمون فریدمن برای امتیازات سه روش ورودتکی81
جدول5-11 نتیجه آزمون کلموگروف- اسمیرونوف برای امتیازات سه روش ورودتکی82
جدول 5-12 نتایج تحلیل واریانس برای ارزیابی امتیازات سه روش ورودتکی83
جدول 5-13 مزایای استفاده از مدل پیشنهادی84