هنگامی که کاربر (بازدید کننده وب سایت) اقدام به مشاهده یک سایت امن شده با استفاده از SSL می نمای، نرم افزار مرورگر شما(Chrome،Firefox،IE) پروسه های زیر را طی می نماید:
– در ابتدا مرورگر از وب سرور میزبان سایت مربوطه درخواست گواهی تصدیق را می نماید
– سرور در پاسخ به درخواست مرورگر، کپی ای از گواهی SSL را ارسال می نماید
– مروگر سپس اقدام به بررسی نسخه ی کپی از گواهی SSL ارسال شده برای اعتماد و یا عدم اعتماد به آن می نماید و در نهایت پیغامی به وب سرور ارسال می نماید.
– در صورتیکه گواهی توسط مرورگر قابل اعتماد(TRUSTED) شناسایی گردد وب سرور اقدام به ارسال تاییدیه ی امضا شده به صورت دیجیتالی نموده و مرورگر از این پس قادر به برقراری ارتباط رمزنگاری شده با سرور می باشد.
– ارتباط رمز نگاری شده بین سرور و مرورگر برقرار می شود.
– و در نهایت پروتکل HTTPS قابل مشاهده می باشد و سایت با قفل سبز رنگ نمایش داده می شود.
** در صورتیکه کپی گواهی ارسال شده توسط مرورگر قابل اعتماد شناسایی نشود در اینصورت علامت warning برای شما نمایش داده می شود که بعد از تایید شما سایت به صورت https ولی با علامت ضربدر بر روی قفل https لود می شود و قفل به صورت سبزرنگ نمایش داده نمی شود.
به صورت کلی چند نوع گواهی SSL وجود دارد؟
به صورت کلی 3 نوع گواهی SSL وجود دارد:
گواهی (DV (Domain Validated SSL
گواهی (OV (Organization Validated SSL
گواهی (EV (Extended validated SSL
گواهی های WildCard SSL و گواهی چند دامنه ای MultiDomain SSL امکانات های مازادی می باشند که توسط مراجع صدور گواهی های SSL جهت حصول عملکرد های متعدد با گواهی ای واحد، ارائه می شوند.
یک گواهی SSL حاوی چه اطلاعاتی می باشد؟
یک فایل گواهی SSL شامل یه کلید رمزنگاری شده (cryptographic) امضا شده به صورت دیجیتالی می باشد (Digitally siged cryptographic key). این کلید شامل اطلاعات پیش رو می باشد: آدرس وب سایت (website URL)، اطلاعات ارگان مربوطه، اطلاعات صادر کننده گواهی، مدت زمان اعتبار گواهی، کلید عمومی (Public key) و در نهایت نسخه ی SSL
گواهی ریشه و گواهی میانی چیست؟ ( Root certificate – Intermediate Certificate)
Root Certificate: در ساختار کلید عمومی (Public Key)، گواهی ریشه (Root Certificate) یک گواهی public key امضا نشده و یا self signed می باشد که مرجع صادر کننده SSL را معرفی می نماید.
Intermediate Certificate: گواهی میانی (Intermediate) برای محافظت از root certificate با استفاده از لایه های متعدد امنیتی می باشد تا اطمینان حاصل شود که key ها در دسترس نباشند. به بیان دیگر پل ارتباطی بین گواهی (SSL (ssl certificate و root certificate می باشد
نوار سبز رنگ گواهی SSL که نمایانگر نام سازمان مربوط به دامنه می باشد چیست؟
نوار سبزرنگ مربوط به وب سایت های امن شده با استفاده از گواهی های EV می باشد (EV SSL Certificate)
در نوار سبز رنگ نام سازمان به همراه کشور مربوطه آن که نمایانگر قانونی و امن بودن آن می باشد نمایش داده می شود. در صورتیکه تمایل دارید نام سازمان شما به صورت فوق نمایش داده شود می بایست اقدام به تهیه گواهی های EV نمایید
کلید رمزنگاری (Encryption key) چیست؟
Encryption key یک کلید پنهان نگاری شده (Cryptographic key) برای کنترل عملیات رمزنگاری می باشد به صورتیکه Encryption key صحیح قادر به تبدیل داده ی رمز نگاری شده به داده عادی (رمز نگاری نشده) می باشد. طول کلید رمز نگاری بر اساس Bit سنجیده می شود به عنوان مثال 1024 یا 2048 بیت.
** بسیاری از کاربران طول Encryption key را با مقدار Hash value که به بیان دیگر قدرت وسطح رمز نگاری می باشد اشتباه می نمایند. مقدار Hash value نیز به صورت بیت و 128 یا 256 بیت می باشد.
الگوریتم های رمزنگاری SHA-1 و SHA-2 چیست؟
الگوریتم SHA-1: یک الگوریتم hash پنهان نگاری شده (Cryptographic hash function) می باشد که امنیت را با مقدار hash برابر با 160 بیت فراهم می نماید و مقدار 40 عددی Hexadecimal را همراه دارد.
الگوریتم SHA-2: همانند الگوریتم بالا با این تفاوت که مقدار HASH آن برابر با 224،256،384 یا 512 بیت می باشد که استاندارد جدید و توصیه شده می باشد.
Public Key و Private key چیست؟
کلید عمومی و خصوصی(public & private) دو کلید پهنان نگاری شده (Cryptographic key) در ساختار SSL می باشند. هر دوکلید مرتبط با الگوریتم های ریاضی می باشند به این صورت که داده ای که با public key رمز نگاری شده است تنها با Private key مرتبط/متناظر خود قابل رمزگشایی می باشد.
Public Key: این کلید برای تمامی کاربرانی که از طریق ارتباط اینترنتی به سرور مربوطه متصل شوند در دسترس می باشد و در دایرکتوری خاصی از سرور قرار داده شده است
Private Key: این کلید تنها در اختیار سرور میزبان سایت که بر روی آن SSL نصب شده (یا قرار است نصب شود) می باشد
گواهی Wildcard SSL چیست؟
این گواهی یکی از انواع گواهی SSL می باشد که امکان امن سازی تعداد نامحدود از ساب دامین های دامنه مربوطه را فراهم می آورد. به عنوان مثال در صورت خرید گواهی Wildcard برای دامنه issls.com قادر به امن سازی تمامی آدرس های زیر می باشید:
- issls.com
- subdomain.issls.com
- clients.issls.com
- support.issls.com
و …
گواهی Multi Domain (چند دامنه ای یا ) و یا همان گواهی SAN چیست؟
این نوع گواهی یک از انواع خاص SSL Certificate می باشند که امکان امن سازی دامنه اصلی شما به همراه دامنه های دیگری(به تعداد مشخص و محدود بسته به مرجع صادر کننده آن) را در یک گواهی SSL (یک فایل cert) برای شما فراهم می آورد.
به عنوان مثال با استفاده از گواهی SAN کاربر می تواند دامنه های زیر را امن سازی نماید:
- domain1.com
- domain2.com
- domain3.net
- new.anotherdomain.org
- sub1.domain.com
در گواهی های SAN اصولا قادر به امن سازی 100 آدرس (بسته به مرجع صادر کننده گواهی که CA root نامیده می شود، این مورد متغیر است) باشید.
Openssl/Mod_ssl چیست؟
جهت پشتیبانی از پروتکل SSL جهت ایجاد کلید ها و رمزنگاری داده ها وب سرور مربوطه نیاز به استفاده از نرم افزار هایی برای انجام امر می باشد.
OpenSSL یک Library پهنان نگاری (Cryptography library) می باشد که پیاده سازی open source پروتکل SSL وTLS می باشد. این Library شامل ابزار هایی برای ایجاد RSA Private keys ، CSR و checksum ها، مدیریت Certificate ها و انجام رمزنگاری و رمزگشایی می باشد.OpenSSL به زبان C نوشته شده است.
mod_SSL یک ماژول وب سرور Apache می باشد که پهنان نگاری (Cryptography) قدرتمندی برای این وب سرور را با پروتکل SSL و TSL با بهره گیری از کمک OpenSSL فراهم می آورد.