نحوه عملکرد گواهینامه SSL
گواهینامه SSL از یک کلید عمومی و یک کلید خصوصی تشکیل میشود که اطلاعات رمزنگاری شده با یک کلید تنها توسط کلید دیگر قابل بازگشایی است. با کمک این دو کلید اطلاعات ارسالی از سمت کاربر به سرور رمزنگاری و امن میشود. نحوه عملکرد به اینصورت است که کلید خصوصی در سرور نگهداری میشود و دور از دسترس عموم قرار دارد ولی در مقابل کلید عمومی در وب سرور تنظیم میشود تا مرورگر سیستم بازدید کننده هنگام باز کردن وب سایت آن را دانلود کند و با استفاده از این کلید اطلاعاتی که نیاز به ارسال به سرور است را رمزنگاری کند.
برای مثال اطلاعاتی که در قسمت ورود به سایت برای سرور ارسال میشود (نام کاربری و رمز عبور) اگر بصورت ساده (Plain Text) ارسال شود براحتی قابل شنود در شبکه است ولی زمانیکه این اطلاعات توسط کلید عمومی یک وب سایت رمزنگاری شود حتی در صورت شنود هم قابل بازگشایی نیست و تنها سرور مقصد که کلید خصوصی مربوطه را دارد میتواند این اطلاعات را با استفاده از کلید خصوص بازگشایی کند.
گواهینامه نامعتبر (Self-Signed Certificate)
تولید جفت کلید در سیستم عامل های مختلف توسط ابزاری مانند openssl قابل انجام است و حتی امکان نصب و استفاده از این گوهینامه در وب سایت هم وجود دارد ولی بدلیل اینکه صادر کنند کلیدها برای مرورگرهای وب شناخته شده نیست خطای untrusted certificate authority نمایش داده میشود و به بازدید کننده اخطار میدهد که گواهینامه وب سایت قابل تایید نیست و احتمال سرقت اطلاعات وجود دارد.
گواهینامه تایید شده (CA Signed Certificate)
سیستم عامل ها، مرورگرهای وب و برخی نرم افزارها جهت بررسی و تایید گواهینامه وب سایت ها، کلید عمومی دریافت شده از وب سایت را بازگشایی کرده و با بررسی صادر کننده آن اقدام به تایید گواهینامه SSL میکنند. اما این بررسی به چه صورت انجام میشود؟
شرکت های ارایه دهنده گواهینامه SSL از قبیل Symantec, RapidSSL, Verisign, DigiCert و ... کلید عمومی ریشه یا Root Certificate خود را در اختیار شرکت های نرم افزاری قرار میدهند تا در قسمت Certificate Store یا مخزن گواهینامه خود قرار دهند. با این روش زمانیکه نیاز به بررسی کلید عمومی یک وب سایت باشد تنها نیاز به تطابق گواهینامه شرکت صادر کننده گواهینامه با کلید ریشه موجود در مخزن گواهینامه است. اگر گواهینامه وب سایت توسط کلید ریشه یک شرکت معتبر صادر شده باشد و همان کلید ریشه در مخزن گواهینامه نرم افزار نیز موجود باشد گواهینامه SSL وب سایت معتبر شناخته میشود.
شرکت هایی مانند مایکروسافت، اپل و موزیلا نحوه احراز صلاحیت برای قرار دادن کلید ریشه در نرم افزارهای خود را بصورت عمومی منتشر کرده اند که برای اطلاعات بیشتر میتوانید از لینک های مربوطه استفاده نمایید:
https://www.apple.com/certificateauthority/ca_program.html
https://docs.microsoft.com/en-us/previous-versions//cc751157(v=technet.10)?redirectedfrom=MSDN#EIAA
https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/
زمانیکه سفارش گواهینامه SSL را ثبت میکنید در واقع درخواست تایید کلید عمومی خود را برای یک شرکت صادر کننده ارسال میکنید که این فرایند به اینصورت است که کاربر ابتدا یک جفت کلید برای خود تولید میکند و در ادامه یک فایل درخواست امضاء دیجیتال (CSR) ایجاد میکند که در آن اطلاعاتی از قبیل نام دامنه مورد درخواست و اطلاعات هویتی درخواست کننده بهمراه کلید عمومی وجود دارد. برای درخواست امضاء دیجیتال نیازی به کلید خصوصی نیست. شرکت صادر کننده گواهینامه پس از باز کردن این فایل و قبل از انجام هر کاری صحت اطلاعات ارسالی را بررسی میکند که در این میان بررسی نام دامنه اهمیت زیادی دارد. تایید اطلاعات به ۳ طریق انجام میشود که در نهایت اعتبار گواهینامه صادر شده به نوع احراز هویت انجام شده بستگی دارد.پس از احراز هویت کلید عمومی شما توسط کلید خصوصی شرکت صادر کننده امضاء شده و مواردی همچون نام دامنه و تاریخ اعتبار در آن ثبت میشود.
انواع گواهینامه های SSL
- Domain Validation (DV)
- Organization Validation (OV)
- Extended Validation (EV)
۱- در روش اول احراز هویت تنها نام دامنه بررسی میشود و درخواست کننده می بایست مالکیت دامنه را اثبات کند که اینکار از طریق ایجاد رکورد دی ان اس یا قرار دادن یک فایل در وب سایت انجام میشود. این روش ساده ترین و پر درخواست ترین مدل صدور گواهینامه SSL می باشد و معمولا پایین ترین هزینه را نیز دارد.
۲-روش دوم تایید اطلاعات شرکت درخواست کننده می باشد. به اینصورت که شرکت درخواست کننده گواهینامه اطلاعات ثبتی خود را برای شرکت صادر کننده گواهینامه ارسال میکند و پس از بررسی مدارک گواهینامه برای ایشان صادر میشود. اعتبار این نوع گواهینامه بسیار بالاست و هزینه صدور آن نیز از نوع اول بیشتر است.
۳- نوع سوم گواهینامه مراحلی مشابه OV دارد با این تفاوت که سخت گیری های بیشتری در بررسی مدارک صورت میگیرد تا احتمال خطا تا حد ممکن پایین باشد. اعتبار این گواهینامه بسیار بالاست از اینرو نوار سبز رنگی در مرورگر بازدید کننده نمایش داده میشود تا به کاربر اطمینان دهد که وب سایت مذکور مورد اعتماد است. هزینه صدور این نوع گواهینامه از انواع قبلی بالاتر است.