توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Ssl چیست ؟
Vahid
March 5th, 2009, 13:51
SSL چیست ؟
از لحاظ لغوی مخفف Secure Sockets Layer می باشد و در واقع یکی از پروتکل های انتقال اطلاعات روی وب است. این پروتکل توسط کمپانی Netscape برای اولین بار به منظور انتقال اطلاعات بصورت امن بین دونقطه در اینترنت تهیه شد و پس از مدتی علاوه بر مرورگر Netscape Navigator و خانواده آن، مرورگر Internet Explorer نیز از آن استفاده کرد.
در این روش تبادل اطلاعات میان مرورگر و سایتی که در حال مرور شدن است، بوسیله کلید های خصوصی (private key) کد می شود و چنانچه در طول مسیر اطلاعات شنود شود، قابل استفاده نخواهد بود. بنابراین بخوبی می توان از این پروتکل برای کاربردهای تجاری استفاده کرد. در حال حاضر بسیاری از وب سایت ها علاوه بر پروتکل معمول http از SSL نیز حمایت می کنند و شما می توانید برای دسترسی امن به اطلاعات این سایت ها از طریق یک لینک SSL ، از https استفاده کنید.
اما پس از معرفی SSL پروتکل دیگری بنام S-HTTP یا همان Secure HTTP برای همین منظور تعریف شد. این پروتکل برای استفاده ایمن از وب می باشد و فرقی که SSL با آن دارد در این است که SSL فقط میان دو نقطه یعنی مبدا و مقصد تعریف می شود. هر دوی این پروتکل ها توسط اداره (IEFT (Internet Engineering Task Force بعنوان استاندارد تعریف شده اند.
DeltaGostar
December 10th, 2010, 18:09
با اجازه استاد
یه خورده دیده میشه جدیدا هاستینگ بیشتر تر از این تکنولوژی استفاده میکنن و یه چند خط تکراری یا اضافه تر به حرف های استاد بکنیم و .. در ضمن استفاده از ssl هیچ ربطی به امنیت آپاچی و نسخه های php و باگ میزبانی و سیسیتم عامل ندارد
بحث
مزیت استفاده از این پروتکل بهرهگیری از موارد امنیتی تعبیه شده آن برای امن کردن پروتکلهای غیرامن لایه کاربردی نظیر
HTTP ،LDAP ،IMAP و… میباشد که براساس آن الگوریتمهای رمزنگاری بر روی دادههای خام (plain text) که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال میشود و محرمانه ماندن دادهها را در طول
کانال انتقال تضمین میکند. به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهیهای دیجیتال SSL را دارد برای هر کدام از دو طرفی که قرار است ارتباطات میان شبکهای امن داشته باشند، گواهیهای مخصوص سرویسدهنده و سرویسگیرنده را صادر میکند و با مکانیزمهای احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید میکند، البته غیر از اینکار میبایست تضمین کند که اگر اطلاعات حین انتقال مورد سرقت قرار گرفت، برای رباینده قابل درک و استفاده نباشد که اینکار را با کمک الگوریتمهای رمزنگاری و کلیدهای رمزنگاری نامتقارن و متقارن انجام میدهد.
ملزومات یک ارتباط مبتنی بر پروتکل امنیتی SSL
برای داشتن ارتباطات امن مبتنی بر SSL عموماً به دو نوع گواهی دیجیتال SSL یکی برای سرویسدهنده و دیگری برای سرویسگیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال یا CA نیاز میباشد. وظیفه CA این است که هویت طرفین ارتباط، نشانیها، حسابهای بانکی و تاریخ انقضای گواهینامه را بداند و براساس آنها هویتها را تعیین نماید.
اجزای پروتکل SSL
پروتکل SSL دارای دو زیر پروتکل تحت عناوین زیر میباشد.
۱- SSL Record Protocol که نوع قالببندی دادههای ارسالی را تعیین میکند.
۲- SSL Handshake Protocol که براساس قالب تعیین شده در پروتکل قبلی، مقدمات ارسال دادهها میان سرویسدهندهها و سرویسگیرندههای مبتنی بر SSL را تهیه میکند.
بخشبندی پروتکل SSL به دو زیر پروتکل دارای مزایای چندی است.
ازجمله:
اول: در ابتدای کار و طی مراحل اولیه ارتباط (Handshake) هویت سرویسدهنده برای سرویسگیرنده مشخص میگردد.
دوم: در همان ابتدای شروع مبادلات، سرویسدهنده و گیرنده بر سر نوع الگوریتم رمزنگاری تبادلی توافق میکنند.
سوم: در صورت لزوم، هویت سرویس گیرنده نیز برای سرویسدهنده احراز میگردد.
چهارم: در صورت استفاده از تکنیکهای رمزنگاری مبتنی بر کلید عمومی، میتوانند کلیدهای اشتراکی مخفی را ایجاد نمایند.
پنجم: ارتباطات بر مبنای SSL رمزنگاری میشوند.الگوریتمهای رمزنگاری پشتیبانی شده درSSL در استانداردSSL ، از اغلب الگورتیمهای عمومی رمزنگاری و مبادلات کلید (Key Exchcenge Algorithm) نظیر DES ،DSA ،KEA ، MD5، RC2،RC4، RSA و RSA Key Exchauge ،SHA-1 ،Skipjack و ۳DES پشتیبانی میشود و بسته به اینکه نرمافزارهای سمت سرویسدهنده و سرویسدهنده نیز از موارد مذکور پشتیبانی نمایید، ارتباطاتSSL میتواند براساس هر کدام این از الگوریتمها صورت پذیرد. البته بسته به طول کلید مورد استفاده در الگوریتم و قدرت ذاتی الگوریتم میتوان آنها را در ردههای مختلفی قرار دارد که توصیه میشود با توجه به سناریوهای موردنظر، از الگوریتمهای قویتر نظیر ۳DES با طول کلید ۱۶۸ بیت برای رمزنگاری دادهها و همچنین الگوریتم ۱-SHA برای مکانیزمهای تأیید پیغام ۵ MD استفاده شود و یا اینکه اگر امنیت در این حد موردنیاز نبود، میتوان در مواردی خاص از الگوریتم رمزنگاری ۴ RC با طول کلید ۴۰ بیت و الگوریتم تأیید پیغام ۵ MD استفاده نمود. (شکل زیر)
نحوه عملکرد داخلی پروتکل SSL
همانطور که میدانید SSL میتواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. رمزنگاری کلید متقارن سریعتر از رمزنگاری کلیدعمومی است و از طرف دیگر رمزنگاری کلید عمومی تکنیکهای احراز هویت قویتری را ارایه میکند. یک جلسه SSL Session) SSL) با یک تبادل پیغام ساده تحت عنوان SSL Handshake شروع میشود. این پیغام اولیه به سرویسدهنده این امکان را میدهد تا خودش را به سرویسدهنده دارای کلید عمومی معرفی نماید و سپس به سرویسگیرنده و سرویسدهنده این اجازه را میدهد که یک کلید متقارن را ایجاد نمایند که برای رمزنگاریها و رمزگشایی سریعتر در جریان ادامه مبادلات مورد استفاده قرار میگیرد.
گامهایی که قبل از برگزاری این جلسه انجام میشوند براساس الگوریتم RSA Key Exchange عبارتند از:
» سرویس گیرنده، نسخه SSL مورد استفاده خود، تنظیمات اولیه درباره نحوه رمزگذاری و یک داده تصادفی را برای شروع درخواست یک ارتباط امن مبتنی بر SSL به سمت سرویسدهنده ارسال میکند.
» سرویسدهنده نیز در پاسخ نسخه SSL مورد استفاده خود، تنظیمات رمزگذاری و داده تصادفی تولید شده توسط خود را به سرویسگیرنده میفرستد و همچنین سرویسدهنده گواهینامه خود را نیز برای سرویسگیرنده ارسال میکند و اگر سرویسگیرنده از سرویسدهنده، درخواستی داشت که نیازمند احراز هویت سرویسگیرنده بود، آن را نیز از سرویسگیرنده درخواست میکند.
» سپس سرویسگیرنده با استفاده از اطلاعاتی که از سرویسدهنده مجاز در خود دارد، دادهها را بررسی میکند و اگر سرویسدهنده مذکور تأیید هویت شد، وارد مرحله بعدی میشود و در غیراینصورت با پیغام هشداری به کاربر، ادامه عملیات قطع میگردد.
» سرویسگیرنده یک مقدار به نام Secret Premaster را برای شروع جلسه ایجاد میکند و آن را با استفاده از کلید عمومی (که اطلاعات آن معمولاً در سرویسدهنده موجود است) رمزنگاری میکند و این مقدار رمز شده را به سرویسدهنده ارسال میکند.
» اگر سرویسدهنده به گواهینامه سرویسگیرنده نیاز داشت میبایست در این گام برای سرویسدهنده ارسال شود و اگر سرویسگیرنده نتواند هویت خود را به سرویسدهنده اثبات کند، ارتباط در همینجا قطع میشود.
» به محض اینکه هویت سرویسگیرنده برای سرویسدهنده احراز شد، سرویسدهنده با استفاده از کلید اختصاصی خودش مقدار Premaster Secret را رمزگشایی میکند و سپس اقدام به تهیه مقداری به نام Master Secret مینماید. – هم سرویسدهنده و هم سرویسگیرنده با استفاده از مقدار master Secret کلید جلسه (Session Key) را تولید میکنند که در واقع کلید متقارن مورد استفاده در عمل رمزنگاری و رمزگشایی دادهها حین انتقال اطلاعات است و در این مرحله به نوعی جامعیت دادها بررسی میشود.
» سرویسگیرنده پیغامی را به سرویسدهنده میفرستد تا به او اطلاع دهد، داده بعدی که توسط سرویسگیرنده ارسال میشود به وسیله کلید جلسه رمزنگاری خواهد شد و در ادامه، پیغام رمز شده نیز ارسال میشود تا سرویسدهنده از پایان یافتن Handshake سمت سرویسگیرنده مطلع شود.
» سرویسدهنده پیغامی را به سرویسگیرنده ارسال میکند تا او را از پایان Handshake سمت سرویسدهنده آگاه نماید و همچنین این که داده بعدی که ارسال خواهد شد توسط کلید جلسه رمز میشود.
» در این مرحله SSL Handshake تمام میشود و از این به بعد جلسه SSL شروع میشود و هر دو عضو سرویسدهنده و گیرنده شروع به رمزنگاری و رمزگشایی و ارسال دادهها میکنند. (همانند شکل فوق)
حملات تأثیرگذار برSSL
SSL نیز از حملات و نفوذهای مختلف در امان نیست. بعضی از حملات متداولی که براین پروتکل واقع میشود عبارتند ازTraffic Analysis : یا تحلیل ترافیک، حملات Certification Injection و حملات از نوع Man in the middle.
Amir.Mansoury
December 11th, 2010, 17:09
با اجازه:
يک تکنولوژی استاندارد و به ثبت رسيده برای تامين ارتباطی امن مابين يک وب سرور و يک مرورگر اينترنت است. اين ارتباط امن از تمامی اطلاعاتی که ما بين وب سرور و مرورگر اينترنت ( کاربر) انتقال ميابد , محافظت ميکند تا در اين انتقال به صورت محرمانه و دست نخورده باقی بماند. SSL يک استاندارد صنعتی است و توسط مليونها وب سايت در سراسر جهان برای برقراری امنتيت انتقال اطلاعات استفاده ميشود. برای اينکه يک وب سايت بتواند ارتباطی امن از نوع SSL را داشته باشد نياز به يک گواهينامه SSL دارد.
زمانيکه شما ميخواهيد SSL را بر روی سرور خود فعال کنيد سؤالات متعددی در مورد هويت سايت شما ( مانند آدرس سايت ) و همين طور هويت شرکت شما ( مانند نام شرکت و محل آن) از شما پرسيده ميشود. آنگاه سرور دو کليد رمز را برای شما توليد ميکند , يک کليد خصوصی (Private Key) و يک کليد عمومی (Public Key). کليد خصوصی به اين خاطر , اين نام را گرفته است , چون بايستی کاملا محرمانه و دور از دسترس ديگران قرارگيرد. اما در مقابل نيازی به حفاظت از کليد عمومی نيست و اين کليد در قالب يک فايل درخواست گواهينامه يا Certificate Signing Request که به اختصار آنرا CSR ميناميم قرارداده ميشود که حاوی مشخصات سرور و شرکت شما بصورت رمز است. آنگاه شما باسيتی که اين کد CSR را برای صادرکننده گواهينامه ارسال کنيد. در طول مراحل سفارش يک SSL مرکز صدور گواهينامه درستی اطلاعات وارد شده توسط شما را بررسی و تاييد ميکند و سپس يک گواهينامه SSL برای شما توليد کرده و ارسال ميکند.
وب سرور شما گواهينامه SSL صادر شده را با کليد خصوصيتان در سرور و بدور از دسترس سايرين مطابقت ميدهد. سرور شما آنگاه امکان برقراریhttp://patrishost.net/SSL_kartynka.jpg ارتباط امن را با کاربران خود در هر نقطه دارد.
نمايش قفل امنيت SSL
پيچيده گيهای يک پروتکل SSL برای کاربران شما پوشيده است ليکن مرورگر اينترنت آنها در صورت برقراری ارتباط امن , وجود اين ارتباط را توسط نمايش يک قفل کوچک در پايين صفحه متذکر ميشود.
و در هنگامي كه شما روي قفل كوچك زرد رنگي كه در پايين صفحه IE نمايش داده ميشود دوبار كليك ميكنيد باعث نمايش گواهينامه شما به همراه ساير جزئيات مي شود.
زمانيکه يک مرورگر اينترنت به يک سايت از طريق ارتباط امن متصل ميشود , علاوه بر دريافت گواهينامه SSL ( کليد عمومي) , پارامترهايی را نظير تاريخ ابطال گواهينامه , معتبر بودن صادرکننده گواهينامه و مجاز بودن سايت به استفاده از اين گواهينامه نيز بررسی ميکند و هرکدام از موارد که مورد تاييد نباشد به صورت يک پيغام اخطار به کاربر اعلام ميدارد.
منبع:
Patris Host Network (http://patrishost.net/Ssl.htm)