تحقیق – 
بررسی، مقایسه و شبیه سازی راهکارهای امنیتی در رایانش ابری ۹۳- قسمت ۱۷

تحقیق – بررسی، مقایسه و شبیه سازی راهکارهای امنیتی در رایانش ابری ۹۳- قسمت ۱۷

اساس رمزگذاریها وجود کلیدها میباشند.بدین معنی که شما اطلاعات مورد نظر خود را توسط کلید قفل میکنید و سپس برای رمزگشایی آن مجددا از کلید استفاده میکنید. در رمز گشایی با کلید متقارن، هر دو کلیدی که برای قفل و باز کردن اطلاعات استفاده میشود یکسان میباشد. بدین معنی که هر دو طرف از یک کلید یکسان بهره میبرند که باید نزد خودشان امن باشد. توجه کنید که مفهوم کلید در مباحث مرتبط، عموما یک آرایه از بایتها میباشد که بر اساس نوع امنیت طول متفاوتی دارد. مثلا ٠١١٠١١٠٠١١٠٠١٠١١١٠٠١ میتواند یک کلید باشد. البته عموما کلیدها در مبنای ١۶ نمایش داده میشوند.
اما نوعی دیگر از رمزگذاری وجود دارد که اساس SSL نیز میباشد. در این رمز گذاری که رمز گذاری نا متقارن یا رمز گذاری کلید عمومی نامیده میشود، دو نوع کلید وجود دارد :
کلید عمومی در این رمز گذاری گفته میشود که اگر داده ای با یک کلید قفل شد، با همان کلید باز نمیشود و فقط امکان باز شدن آن با کلید متناظر آن وجود دارد. این کلید متناظر نزد طرف مقابل است و امکان بدست آوردن آن از کلید دیگر وجود ندارد. به عبارت ساده تر اگر شما در خانه تان را با کلید A قفل نمودید، تنها امکان باز شدن آن با کلید متناظرB وجود دارد و این در حالیست که امکان فهمیدن آنکه کلید B چگونه ساخته شده است برای شما نیز وجود ندارد. حال اگر کلید خود را درون در نیز جا بگذارید، مسالهای نیست!
حال به بحث باز میگردیم: شما درخواست دادهای از یک سرور امن میکنید، سرور کلید عمومی را برای شما ارسال میکند. شما دادههای خود را با این کلید قفل میکنید و برای سرور ارسال میکنید. حال اگر این وسط کسی خواست دادهها را ببیند، نمیتواند، چراکه این دادهها با کلید عمومی باز نمیشوند. در طرف مقابل سرور با کلید خصوص خود دادهها را رمز گشایی میکند و از آن استفاده میکند. شکل زیر روند ذکر شده را میرساند :
 
شکل۲- ۱۷-سیستمهای کلید نامتقارن [۴۵]
توجه: در امضای دیجیتالی روند برعکس است. به عبارت دیگر امضای دیجیتالی چیزی جز رمز گذاری دادهها با کلید خصوصی فرستنده نیست. ما در امضای دیجیتالی میخواهیم ببینیم که آیا دادههای ارسال شده واقعاً از طرف شخصی است که ادعا میکند یا خیر؟
به طور ساده کاربر نام خود را با کلید خصوصی خود رمز گذاری میکند. در این حالت همه با کلید عمومی وی میتوانند نام وی را رمز گشایی کنند و این صحیح است. چراکه هیچ کس دیگر قادر نیست دادهای تولید کند که نتیجه باز شدن آن با
کلید عمومی شخص امضا کننده برابر باشد.
البته در عمل بهتر است از توابع Hash استفاده میشود. چراکه در حالت فوق، اولا نام کاربر را باید فقط کاربر و سرور بدانند و دیگر آنکه از کجا معلوم که داده ارسالی همانی است که امضای دیجیتالی کاربر با آن بوده است )به عبارت دیگر شاید در میان راه متن اطلاعات تغییر کرد.(
همانطورکه ذکر شد، در این مورد از توابع Hash که یک طرفه هستند استفاده میشود. بدین معنی که اگر دادهای Hash شد، دیگر به هیچ عنوان و توسط هیچ کلیدی قابل برگشت نیست.
بدین منظور متن نامه ابتد Hash میگردد و سپس توسط کلید خصوصی امضا میشود.
سپس امضا و متن نامه ارسال میشود. در طرف سرور هم با کلید عمومی داده Hash شده بدست میآید. متن ارسالی هم Hash میشود. حال اگر این دو نتیجه یکسان بود، دادهها واقعا از طرف کسی که مدعی آن است ارسال شده است. چرا که اگر متن نامه عوض شود، نتیجه Hash آن هم متفاوت و مقایسه نتیجه یکسانی را بر نمیگرداند.
در نمودار زیر، روند کار را مشاهده میکنید ) قطعههای خاکستری رنگ نشان دهنده Hash شدن متن نامه میباشند).
 
شکل۲- ۱۸-ساختار نهایی سیستمهای کلید نامتقارن [۴۵]
۲-۲-۴-۱۹-ساختار و روند آغازین پایه گذاری یک ارتباط امن
در این پروتکل قبل از آنکه اطلاعاتی مابین درخواست دهنده و سرور رد و بدل شود، میبایست ابتدا سرور تصدیق گردد.
به طور کلی مرحله آغازین شروع ایجاد ارتباط امن از دو فاز تشکیل شده است : تصدیق هویت سرور و مرحله اختیاری تصدیق هویت مشتری. در فاز تصدیق هویت سرور سرور در جواب درخواست مشتری گواهینامه خود و فرمول رمز گذاری خود را برای مشتری ارسال میکند. سپس مشتری یک کلید اصلی که با کلید عمومی سرور رمز گذاری شده است را تولید میکند و سپس این کلید رمز گذاری شده را به سرور ارسال میکند. سرور کلید اصلی را بازیابی میکند و خودش را با فرستادن پیغامی به مشتری تصدیق مینماید. درخواست های بعدی با کلید هایی که از کلید اصلی مشتق شدهاند رمز گذاری و تصدیق میشوند. در فاز دوم که اختیاری بود، سرور یک چالش را برای مشتری ایجاد میکند ارسال میکند. مشتری نیز خودش را برای سرور با ارسال امضای دیجیتالی و گواهینامه کلید عمومی خود نسبت به تصدیق خود اقدام مینماید.
الگوریتمهای زیادی جهت پنهانسازی در SSL استفاده میشوند. در مرحله آغازین شروع ایجاد ارتباط امن از الگوریتم
RSA public-key cryptosystem استفاده میشود. بعد از رد و بدل شدن کلیدها نیز الگوریتمهای متفاوتی استفاده میشوند. از جمله: ٢RC ، ۴RC، IDEA، DES، triple-DES و ۵MD.
گواهینامههای کلید عمومی هم از قوانین ۵٠٩ X. پیروی میکنند (ساختار درختی CAها و امضای گواهینامهها که در ادامه ذکر خواهد شد، همگی بر اساس این استاندارد است).
۲-۲-۴-۲۰-پروتکل های مشابه
TLS هم پروتکلی است که بسیار مشابه ٠,٣ SSL میباشد.
همچنین پروتکل WTLS که مخصوص شبکههای بی سیم است و در WAP استفاده میگردد .
۲-۲-۴-۲۱-مفهوم گواهینامه در پروتکل SSL

برای دانلود متن کامل این فایل به سایت torsa.ir مراجعه نمایید.

trong>
در اینجا نیاز است که یک بحث کلی در مورد گواهینامه مورد نیاز این پروتکل صورت گیرد .به طور عموم (غیر از بحث SSL) گواهینامهها جنبه اعتبار سنجی دارند. بدین معنی که اگر شما در یک بحث خاص دارای گواهینامه باشید، به شما اعتماد بیشتری میکنند. اما ممکن است گواهینامه نداشته باشید ولی کار خود را هم به نحو احسن انجام دهید. به طور مثال شما قهرمان مسابقات فرمول١ جهان هستید، اما در صورتی که گواهینامه نداشته باشید، هرگز اجازه نخواهید داشت که در شهر تردد کنید!
در مورد SSL هم تقریبا بحث به همین گونه است با این تفاوت که ذات این پروتکل با توجه به بحث گواهینامهها طراحی شده است بدین معنی که اگر دارای گواهینامه نباشید، قادر نخواهید بود که یک پیادهسازی از این پروتکل را داشته باشید .شاید در عالم راندن اتومبیل بدین صورت تعبیر شود که در صورتی که شما دارای گواهینامه نباشید، قادر به رانندگی هم نیستید! این تشابه از جهاتی صحیح و از جهاتی غلط است. شاید برداشت صحیح تر به این صورت باشد که اگرچه قادر نخواهید بود بدون گواهینامه رانندگی کنید، اما قادر هستید که خود برای خود یک گواهینامه صادر کرده و سپس به رانندگی بپردازید. (هرچند این گواهینامه از نظر دیگران کاملا بیارزش است).
طبق بحث فوق، شما قادر خواهید بود بدون پرداخت هیچ هزینهای یک پروتکل SSL را راه اندازی و استفاده نمایید .نمونه بارز این استفاده در شبکههای داخلی یا Intranet میباشد.
۲-۲-۴-۲۲-مراکز صدور گواهینامه [۴۶]
در SSL به مراکزی که اقدام به صدور گواهینامه میکنند” مرکز صدور گواهینامه” یا به اختصار CA گفته میشود. این پروتکل از یک شخص ثالث (که همان CA می باشد) برای تشخیص هویت طرفین یک تراکنش استفاده میکند. در واقع یک گواهینامه معین میکند که آیا شخصی که دارنده آن است، واقعا همانی است که ادعا میکند یا خیر؟
در شکل زیر میتوانید یک روند درخواست صدور گواهینامه توسط یک سرویس دهنده (قدم های ۱،۲و۳) و در ادامه آن درخواست کاربر برای یک سرور دارای گواهینامه و چگونگی مطمئن شدن وی از معتبر بودن آن سرور را ببینید (قدم های ۴،۵،۶و۷).
 
شکل۲- ۱۹-مراکز صدور گواهینامه [۴۶]
۲-۲-۴-۲۳-مراحل کلی برقراری و ایجاد ارتباط امن در وب
به طور ساده مراحلی که در ایجاد یک ارتباط امنSSL در Http طی میشود، به صورت زیر میباشد :