


ملزومات یک ارتباط مبتنی بر پروتکل امنیتی SSL برای داشتن ارتباطات امن مبتنی بر SSL عموماً به دو نوع گواهی دیجیتال SSL یکی برای سرویسدهنده و دیگری برای سرویسگیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال یا CA نیاز میباشد. وظیفه CA این است که هویت طرفین ارتباط، نشانیها، حسابهای بانکی و تاریخ انقضای گواهینامه را بداند و براساس آنها هویتها را تعیین نماید. اجزای پروتکل SSL پروتکل SSL دارای دو زیر پروتکل تحت عناوین زیر میباشد. 1- SSL Record Protocol که نوع قالببندی دادههای ارسالی را تعیین میکند. بخشبندی پروتکل SSL به دو زیر پروتکل دارای مزایای چندی است. پنجم: ارتباطات بر مبنای SSL رمزنگاری میشوند.الگوریتمهای رمزنگاری پشتیبانی شده درSSL در استانداردSSL ، از اغلب الگورتیمهای عمومی رمزنگاری و مبادلات کلید (Key Exchcenge Algorithm) نظیر DES ،DSA ،KEA ، MD5، RC2،RC4، RSA و RSA Key Exchauge ،SHA-1 ،Skipjack و 3DES پشتیبانی میشود و بسته به اینکه نرمافزارهای سمت سرویسدهنده و سرویسدهنده نیز از موارد مذکور پشتیبانی نمایید، ارتباطاتSSL میتواند براساس هر کدام این از الگوریتمها صورت پذیرد. البته بسته به طول کلید مورد استفاده در الگوریتم و قدرت ذاتی الگوریتم میتوان آنها را در ردههای مختلفی قرار دارد که توصیه میشود با توجه به سناریوهای موردنظر، از الگوریتمهای قویتر نظیر 3DES با طول کلید 168 بیت برای رمزنگاری دادهها و همچنین الگوریتم 1-SHA برای مکانیزمهای تأیید پیغام 5 MD استفاده شود و یا اینکه اگر امنیت در این حد موردنیاز نبود، میتوان در مواردی خاص از الگوریتم رمزنگاری 4 RC با طول کلید 40 بیت و الگوریتم تأیید پیغام 5 MD استفاده نمود. (شکل زیر) نحوه عملکرد داخلی پروتکل SSL » سرویس گیرنده، نسخه SSL مورد استفاده خود، تنظیمات اولیه درباره نحوه رمزگذاری و یک داده تصادفی را برای شروع درخواست یک ارتباط امن مبتنی بر SSL به سمت سرویسدهنده ارسال میکند. » سرویسدهنده نیز در پاسخ نسخه SSL مورد استفاده خود، تنظیمات رمزگذاری و داده تصادفی تولید شده توسط خود را به سرویسگیرنده میفرستد و همچنین سرویسدهنده گواهینامه خود را نیز برای سرویسگیرنده ارسال میکند و اگر سرویسگیرنده از سرویسدهنده، درخواستی داشت که نیازمند احراز هویت سرویسگیرنده بود، آن را نیز از سرویسگیرنده درخواست میکند. » سپس سرویسگیرنده با استفاده از اطلاعاتی که از سرویسدهنده مجاز در خود دارد، دادهها را بررسی میکند و اگر سرویسدهنده مذکور تأیید هویت شد، وارد مرحله بعدی میشود و در غیراینصورت با پیغام هشداری به کاربر، ادامه عملیات قطع میگردد. » سرویسگیرنده یک مقدار به نام Secret Premaster را برای شروع جلسه ایجاد میکند و آن را با استفاده از کلید عمومی (که اطلاعات آن معمولاً در سرویسدهنده موجود است) رمزنگاری میکند و این مقدار رمز شده را به سرویسدهنده ارسال میکند. » اگر سرویسدهنده به گواهینامه سرویسگیرنده نیاز داشت میبایست در این گام برای سرویسدهنده ارسال شود و اگر سرویسگیرنده نتواند هویت خود را به سرویسدهنده اثبات کند، ارتباط در همینجا قطع میشود. » به محض اینکه هویت سرویسگیرنده برای سرویسدهنده احراز شد، سرویسدهنده با استفاده از کلید اختصاصی خودش مقدار Premaster Secret را رمزگشایی میکند و سپس اقدام به تهیه مقداری به نام Master Secret مینماید. - هم سرویسدهنده و هم سرویسگیرنده با استفاده از مقدار master Secret کلید جلسه (Session Key) را تولید میکنند که در واقع کلید متقارن مورد استفاده در عمل رمزنگاری و رمزگشایی دادهها حین انتقال اطلاعات است و در این مرحله به نوعی جامعیت دادها بررسی میشود. » سرویسگیرنده پیغامی را به سرویسدهنده میفرستد تا به او اطلاع دهد، داده بعدی که توسط سرویسگیرنده ارسال میشود به وسیله کلید جلسه رمزنگاری خواهد شد و در ادامه، پیغام رمز شده نیز ارسال میشود تا سرویسدهنده از پایان یافتن Handshake سمت سرویسگیرنده مطلع شود. » سرویسدهنده پیغامی را به سرویسگیرنده ارسال میکند تا او را از پایان Handshake سمت سرویسدهنده آگاه نماید و همچنین این که داده بعدی که ارسال خواهد شد توسط کلید جلسه رمز میشود. » در این مرحله SSL Handshake تمام میشود و از این به بعد جلسه SSL شروع میشود و هر دو عضو سرویسدهنده و گیرنده شروع به رمزنگاری و رمزگشایی و ارسال دادهها میکنند. (همانند شکل فوق) حملات تأثیرگذار برSSL |


