گواهینامه SSL یا پروتکل HTTPS چیست و چند نوع است؟
SSL مخفف (Secure Sockets Layer) یک تکنولوژی امن برای ارتباط امن میان سرویس دهنده و سرویس گیرنده میباشد.
برای مثال برای ارتباط امن وب سایت و یک مرورگر یا سرویس دهنده mail و سرویس گیرنده mail .
SSL اجازه میدهد که اطلاعات حساسی ازقبیل شمارههای کارت بانکی، اطلاعات شخصی و همچنین نام کاربری و شناسه بصورت امن
انتقال پیدا کنند.
بصورت معمول اطلاعات بین مرورگر و سرویس دهنده بصورت داده خام (Plain text) انتقال پیدا میکنند.
در صورتی که یک شخص مهاجم بتواند اطلاعاتی که شخص از مرورگر برای سرویس دهنده ارسال میکند را کنترل کند به راحتی میتواند از اطلاعات سوء استفاده کند. بطور دقیقتر SSL یک پروتکل امنیتی است که با استفاده از الگوریتمهایی ارتباط امنی را بین سرویس دهنده و سرویس گیرنده برقرار میکند تا داده بصورت رمزگذاری شده انتقال پیدا کنند.
ارتباط امن SSL چگونه ایجاد میشود؟
زمانی که یک مرورگر به یک وب سایت امن از طریق SSL متصل میشود.
مرورگر وسرویس دهنده یک نشست امن باتبادل پیغام ساده تحت عنوان SSL Handshake شروع میکنند.این روند توسط کاربر قابل رویت نیست.
ارتباط SSL به کمک سه کلید یک ارتباط امن را ایجاد میکند:
1- کلید عمومی ۲- کلید خصوصی ۳- کلید نشست
هر چیزی که با کلید عمومی رمزگذاری شود توسط کلید خصوصی رمزگشایی خواهد شد و برعکس.
روند کار به شکل زیر است:
۱- مرورگر به یک وبسایت امن متصل میشود.(وبسایت هایی که دارای SSL هستند با https شروع میشوند.) مرورگر درخواست میکند تا سرویس دهنده خودش را معرفی کند.
۲- سرویس دهنده یک کپی از مدرک SSL خود را برای مرورگر ارسال می کند که شامل کلید عمومی میشود.
۳- مرورگر مدرک دریافتی را با لیستی از مدارک SSL ای که توسط CA (وظیفه CA این است که هویت طرفین ارتباط، نشانی ها، تاریخ انقضای گواهینامه را بداند و براساس آن ها هویت ها را تعیین نماید.)معتبر هستند و هنوز منقضی نشدهاند مطابقت میدهند.اگر مرورگر مدرک دریافتی را معتبر تشخصی دهند،یک مقدار را برای شروع جلسه ایجاد میکند و آن را با استفاده از کلید عمومی دریافتی از سرویس دهنده رمزنگاری میکند و این مقدار رمز شده را برای سرویس دهنده ارسال میکند.
۴- اگر سرویس دهنده نیز سرویس گیرنده را یک سرویس گیرنده مجاز دانست.با استفاده از کلید خصوصی خود مقدار را رمزگشایی می کند و یک
مقدار شامل کلید نشست (session key) ایجاد میکند و به مرورگر میفرستد تا ارتباط امن آغاز شود.
۵- سرور و مرورگر حالا تمام داده ها را با کلید نشست رمزگذاری میکنند و دادههارا از طریق این ارتباط امن ردوبدل میکنند.
یک سایت که گواهینامه معتبر SSL دارد در مرورگر Chrome به این شکل نمایش داده میشود.
HTTPS یک استاندارد امن برای تبادل امن اطلاعات دراینترنت است. این استاندارد باقرار گرفتن HTTP بروی پروتکل TLS ایجادمیشود. پروتکل TLS بر پایه رمزنگاری کلید متقارن است اما برای تبادل کلید متفارن از رمزنگاری نامتقارن استفاده میکند.
از طرفی دو سمت ارتباط در HTTPS باید راهی برای شناسایی همدیگر داشته باشند در نتیجه از گواهی X.509 برای اطمینان از هویت طرف مقابل استفاده میکنیم. گواهی X.509 با استفاده از موجودیتی به نام CA تضمین میکند موضوع گواهی به اسم همان شخصی است که ادعا میکند.
به صورت خلاصه میتوانیم بگوییم CA با استفاده از گواهی دیجیتال و یا certificate جمله زیر را بیان میکند و مسئول اعلام و صدور این این جمله است:
این همان شخص و یا سازمان و یا دامنهای است که ادعا میکند و ما صحت این گواهی (کلید عمومی + مشخصات صاحب دامنه) را تایید میکنیم.
و از آنجا که کاربر و یا مرورگر به این CA اعتماد دارد در نتیجه میتوانند مطمئن باشند کلید عمومی که سایت ارایه کرده درست بوده و مربوط به سایت بازدید شده است.
CA ها گواهیهای متفاوتی صادر میکنند.
انواع SSL
۱- گواهینامه DV:
گواهینامه Domain-validated certificate فقط دامنه درخواست کننده گواهی را تایید میکند و هویت سازمان یا شخص درخواست کننده گواهی رو تایید نمیکند. CA به یکی از روشهای زیر مالکیت بر دامنه را تایید میکند.
۱- به آدرس ایمیلی که در WHOIS دامنه مشخص شده یک ایمیل ارسال میکند و از مالک دامنه درخواست میکند با جواب به این ایمیل مالکیت بر دامنه را تایید میکند.
۲- به آدرس ایمیلی ماننده admin@domain.com و یا … ایمیلی ارسال میکند و از مالک این ایمیل درخواست میکند با جواب به این ایمیل مالکیت بر دامنه را تایید کند.
۳- ازمالک دامنه درخواست میکند باایجاد یک رکورد TXT مشخص در DNS دامنه مالکیت بردامنه را تایید کند.
۴- بنا به درخواست صادرکننده گواهی یک Cryptographic nonce منتشر کند.
ازآنجا که برای تایید و صدور گواهی DV نیازی به بررسی بیشترنیست عمومااین گواهیها در زمان کوتاهی صادرمیشوند.
از مزایای این گواهینامه میتوان به آسانی دریافت و دریافت سریع اشاره کرد.
از آنجا که گواهینامه DV تنها مالکیت بر دامنه را تایید میکند نمیتواند از کاربر دربرابر حملات فیشینگ حمایت کند.
۲- گواهیهای OV:
گواهینامههای organization validation علاوه بر تایید دامنه هویت سازمان درخواست کننده certificate را نیز تایید میکند.
تایید هویت سازمان و دریافت این گواهینامه به صورتهای زیر انجام میشود.
۱- در صورتی که نام و مشخصات شرکت در منابع دولتی ثبت شده باشد.
۲- در صورتی که نام و مشخصات شرکت در سایر منابع آنلاین معتبر ثبت شده باشد.
۳- و یا شرکت درخواست دهنده گواهینامه به صورت کاغذی مدارک مورد نیاز را ارسال کند.
مرورگرها نام شرکتی که گواهینامه OV را دریافت کرده است در جزئیات گواهینامه نمایش میدهد.
۳- گواهیهای EV:
برای دریافت گواهینامههای Extended Validation باید اسناد بیشتری نسبت به OV به ارایه دهنده گواهی (CA) ارایه کنید.
درنتیجه این گواهینامه از گواهیهای OV معتبرتر است.
مرورگرها نام شرکتی که گواهینامه EV دریافت کرده است را در نوار آدرس به رنگ سبز مینویسند.
در شکل زیر یک سایت با گواهینامه EV را در مرورگر فایرفاکس میبینید.
گواهینامه EV سایت twitter
همچنین CA گزینه EV را به عنوان یکی از خصوصیات گواهی ارسال میکند.در صورت مشاهده جزئیات certificate در مرورگر میتوانید گزینه EV و یا Extended Validation را مشاهده کنید.