SSL چیست؟ آیا تا به حال درمورد آن شنیده اید؟ در این مقاله از بلاگ پچیم درباره مدیریت سرور و این مورد بیشتر با شما صحبت خواهیم کرد.
تا به حال متوجه این قضیه شدهاید که برخی از آدرسهای اینترنتی با http://
شروع میشوند و برخی دیگر با https://
؟ تفاوت این دو مورد دقیقا در همان حرف s آخر است که روی خیلی چیزها تاثیر میگذارد. اگر به آدرس وبلاگ پچیم دقت کنید میبینید که در آدرس ما از https
استفاده شده و همچنین یک علامت قفل در کنار آدرس وبسایت قرار گرفته است:
حرف S مخفف کلمه Secure به معنای امن است. در واقع هر وبسایتی که میخواهد در نهایت امنیت اجرا شود از این سیستم استفاده میکنند. سیستمی که SSL نامیده میشود و مخفف کلمات Secure Sockets Layer یا لایه سوکتهای امن است.
در این مطلب از وبلاگ پچیم قصد داریم با چیستی SSL، چگونگی کار کردن آن، انواع گواهینامههای SSL، مزایا و مواردی دیگر آشنا شویم.
SSL چیست و چه هنگامی ضروری است؟
گواهینامهها یا استانداردهای SSL در واقع یکسری فایلهای دادهای هستند که به صورت رمزنگاری شده یک ارتباط رمزگذاری شده را بین وب سرور و مرورگر ایجاد میکنند. این لینک وظیفه دارد تا مطمئن شود که هر دادهای که بین وب سرور و مرورگر منتقل میشود خصوصی باقی مانده و هر کسی نتواند به آنها دسترسی داشته باشد.
زمانی که شما وارد یک وبسایت میشوید و یک فرم از اطلاعات را پر میکنید، این اطلاعات در نهایت پس از زدن دکمه «ارسال» به وب سرور ارسال میشود. اگر این اطلاعات در هنگام ارسال رمزنگاری نشوند، هکرها میتوانند به راحتی به آنها دسترسی پیدا کنند و اطلاعات آن را فاش کنند. شاید فکر کنید که تا به حال فرمهای با اهمیتی را پر نکردهاید اما در اشتباه هستید: خریدهای بانکی آنلاین یک نمونه از این فرمها هستند که اطلاعات مربوط به شماره کارت، رمز و… را دریافت کرده و به وب سرور ارسال میکنند. به همین دلیل است که همیشه باید قبل از زدن دکمه خرید، از وجود https در آدرس صفحه فعلیتان مطمئن شوید.
جدای از آن، این موضوع را در نظر بگیرید که همه فرمها از اهمیت بالایی برخوردار هستند و هکرها میتوانند از هر بخش اطلاعات شما به نحوی متفاوت سوء استفاده بکنند.
اگر میخواهید بدانید که هکرها چگونه اطلاعات شما را هک میکنند به خواندن ادامه بدهید: یکی از مرسومترین روشها برای هک اطلاعات از طریق فرمها به این شکل است که ابتدا هکرها یک نرم افزار غیر قابل تشخیص را روی سرور اصلی وبسایت قرار میدهند، بعد از آن این نرم افزار تا زمانی که کاربران وارد صفحههایی با فرمهای مختلف میشوند غیر فعال است، اما به محض ورود کاربران و پر کردن اطلاعات فرمها و ارسال آن، این نرمافزارها فعال شده و اطلاعات ارسالی به وب سرور را به سمت خود هدایت میکنند. میزان موفقیت هکرها در این حالت به یک چیز بستگی دارد: آیا اطلاعات به صورت رمزنگاری شده (SSL) ارسال شده یا خیر؟
در صورتی که از SSL استفاده نشود، اطلاعات به صورت خام در اختیار هکرها قرار میگیرد و در نتیجه به سادگی میتوانند از آن استفاده کنند.
اما زمانی که شما از SSL استفاده کنید، اطلاعات به صورت رمزگذاری شده ارسال میشود و در نتیجه هکرها حتی اگر بتوانند این اطلاعات را بدزدند نمیتوانند آن را رمزگشایی کنند چرا که کلیدهای رمزگشایی نزد وب سرور است. در ادامه با شیوه کاری SSL بیشتر آشنا خواهید شد.
SSL چگونه کار میکند؟
اگر بخواهیم به صورت عمیقتر با SSL آشنایی پیدا کنیم باید شیوه کاری آن را نیز درک کنیم. بدون این موضوع نمیتوانیم به اهمیت بالای SSL پی ببریم. همچنین در ادامه با TLS که معمولا در کنار عنوان SSL استفاده میشود نیز آشنا میشویم. بیایید به صورت مرحله به مرحله با پروسه ایمن سازی وبسایتها آشنا شویم:
- وقتی که یک درخواست از طرف مرورگر به سرور ارسال میشود، در سناریویی که وب سرور از SSL استفاده کند، ابتدای کار یک ارتباط TLS handshake اتفاق میافتد. در جریان این ارتباط، هر دو طرف ارتباط (کلاینت و سرور) یک جریان ارتباطی امن را ایجاد کرده و یک کلید عمومی یا Public Key را به اشتراک میگذارند.
- در زمان انجام عملیات TLS Handshake دو بخش اصلی کلیدهای نشست یا Session Keys ایجاد میکنند. با استفاده از این کلیدها میتوان تمام عملیاتها و درخواست/پاسخها را رمزنگاری و رمزگشایی کنیم.
- دلیل وجود کلیدهای متفاوت نیز این است که در هر نشست یک کلید جداگانه باید مورد استفاده قرار بگیرد.
- در این هنگام TLS مطمئن میشود که وب سروری که قصد ارتباط برقرار کردن با کلاینت را دارد همان وب سروریست که واقعا ادعا میکند. این اتفاق همچنین در سمت کلاینت میافتد.
- یکی دیگر از کارهای اساسی که TLS انجام میدهد این است که مطمئن میشود که دادهها در بین مسیر جایگزین نشوند و همان پیامی که کلاینت یا سرور قصد انتقال را دارند ارسال شود.
با استفاده کردن از TLS هر دو طرفی که از پروتکل HTTP برای انتقال داده بهره میبرند، به صورت امن داده ارسال یا دریافت کنند. از آنجایی که یک داده رمزنگاری شده تنها با یک کلید باز میشود، تنها موجودیتهایی میتوانند این داده را رمزگشایی کنند که دارای کلید باشند. که در همان ابتدا برقراری ارتباط این کلید تنها در اختیار کلاینت و وب سرور است.
منظور از TLS Handshake انجام اولیه عملیات رمزنگاریست. TLS از یک الگوی رمزنگاری به نام رمزنگاری asymmetric یا نامتقارن برای اینکار استفاده میکند. در این حالت دو کلید متفاوت در دو طرف گفتگو مورد استفاده قرار میگیرد. اینکار از آنجایی که یک کلید عمومی از قبل وجود دارد، امکان ارتباط را فراهم میکند و دو طرف زبان همدیگر را میفهمند.
در فرایند تولید کلید عمومی یا Public Key نیز، دو کلید مورد استفاده قرار میگیرد: یک کلید عمومی که سرور آن را به صورت عمومی عرضه میکند و یک کلید خصوصی که به صورت مخفی در سمت سرور نگهداری میشود. دادههای رمزنگاری شده بوسیله کلید عمومی تنها به وسیله کلید خصوصی که نزد سرور است رمزگشایی میشود.
در تمام فرایند کار SSL/TLS کلاینت و سرور از این کلیدها برای برقراری ارتباط امن استفاده میکنند.
انواع مختلف گواهینامه یا Certificate SSL
زمانی که قصد پیادهسازی یک سرویس SSL روی وبسایتتان را داشته باشید باید یک SSL Certificate تهیه کنید که این گواهینامهها نیز انواع مختلفی داشته و هر کدام با هزینهها و کاربردهای متفاوتی ارائه میشوند. به صورت کلی ۶ نوع SSL Certificate وجود دارد که به صورت مختصر آنها را به شما معرفی خواهیم کرد:
- Extended Validation Certificates (EV SSL): اولین گواهینامه EV نام دارد که پیچیدهترین و گرانترین نوع SSL است که برای وبسایتهایی که قصد پیادهسازی بیشترین نرخ امنیت را دارند مورد استفاده قرار میگیرد. وبسایتهای بانکی از جمله مشتریهای اصلی این نوع از SSL هستند. زمانی که این SSL نصب شود مشخصاتی مانند padlock (آیکون قفل)، نام شرکت، نام کشور و مواردی از این دست در قسمت آدرس مرورگر نمایش داده میشود. با نمایش نام شرکت شما میتوانید مطمئن شوید که این وبسایتی که وارد آن شدهاید دقیقا متعلق به همان شرکتیست که قصد انجام عملیاتهای مختلف را در آن دارید.
- Organization Validated certificates (OV SSL): این مورد دومین گواهینامه گران قیمت است که تقریبا ویژگیهای مشابهی با مورد اول را ارائه میدهد و مخصوص سازمانهای دولتیست. در واقع یکی از تعهداتی که چنین وبسایتهایی باید در یک شبکه اینترنتی بدهند این است که گواهینامه OV داشته باشند. از این گواهینامه نیز در وبسایتهایی که حساسیت و امنیت بالایی نیاز دارد استفاده میشود.
- Domain Validated certificates (DV SSL): گواهینامه DV به نسبت دو مورد پیش از خود، از میزان امنیت کمتری برخوردار بوده و برای وبسایتهایی استفاده میشود که نیازی به امنیت بسیار بالا ندارند. به همین جهت نسبت به دو مورد قبل ارزانتر بوده و فرایند خرید و دریافت آن نیز سریعتر است. برای اینکه Domain Ownership یا تملک دامنه نیز احراز شود، در این دست از گواهینامهها به مدارک کمتری نیاز است و میتوان از طریق ایمیل یا تلفن همراه فرایند دریافت آن را طی کرد. در آدرس بار مربوط به مرورگر تنها یک HTTPs همراه با Padlock نمایش داده خواهد شد و اطلاعاتی راجع به نام کسب و کار قرار نخواهد گرفت.
- Wildcard SSL certificates: این دست از گواهینامه به شما اجازه میدهد تا دامنه اصلی و تمام زیردامنههای مربوط به آن را امن کنید. اگر وبسایت شما از چندین زیر دامنه مختلف استفاده میکند و وبسایتتان حساسیت دادهای کمتری نسبت به یک بانک دارد استفاده از این گواهینامه بسیار مقرون به صرفه و مناسب است.
- Multi-Domain SSL Certificate (MDC): گواهینامه Multi-Domain زمانی استفاده میشود که بخواهیم امنیت دامنهها و زیر دامنههای مختلفی که در نهایت به همدیگر مرتبط هستند را برقرار کنیم. این دامنهها در چنین حالتی حتی میتوانند TLD یا Top-Level Domain متفاوتی داشته باشند. البته در این نوع از گواهینامهها به صورت پیشفرض از چند دامنه بودن پشتیبانی نمیشود و برای فعال کردن SSL برای دامنههای مختلف باید لیستی از آنها را در هنگام خرید تعریف کنید.
- Unified Communications Certificate (UCC): این دست از گواهینامهها ارزانترین حالت برای پیادهسازی SSL در وبسایت است و معمولا وبسایتهایی که تعاملات مهمی با کاربر نداشته و اطلاعات متفاوتی از آنها دریافت نمیکنند از این گواهینامه بهره میبرند. این نوع از گواهینامهها نیز از چندین زیر دامنه مختلف پشتیبانی کرده و میتوانند زیر دامنههای شما را امن کنند.
چگونه متوجه شویم که وبسایت ما SSL دارد؟
برای اینکه مطمئن شویم وبسایتمان از SSL استفاده میکند به صورت کلی ۴ روش وجود دارد:
روش اول: استفاده از یک SSL Checker: سرویسهای آنلاینی وجود دارند که با وارد کردن آدرس وبسایت در آنها میتوانید از وجود گواهینامه SSL مطمئن شوید. sslchecker.com یکی از این سرویسهاست.
روش دوم: https در نوار آدرس: به آدرس بار مرورگر نگاه کنید اگر در ابتدای وبسایت از https استفاده شده بود میتوانید از داشتن SSL مطمئن شوید. مطمئن شوید که روی این قسمت از آدرس وبسایت خط کشیده نشده باشد!
روش سوم: آیکون قفل: در قسمت نوار آدرس مرورگر قبل از آدرس وبسایت یک قفل معمولا سبز رنگ وجود دارد که نشان از داشتن گواهینامه SSL است.
روش چهارم: معتبر بودن گواهینامه: زمانی که وارد وبسایت شدید کلید F12 روی کیبورد را فشار دهید با این کار وارد Developer Tools میشوید. از طریق پنجره Security میتوانید مشخصات گواهینامه SSL و معتبر بودن آن را مشاهده کنید:
مزایای استفاده از SSL
سرویس SSL/TLS شامل مزایا و منافع بسیار است که در ادامه به مهمترین این موارد خواهیم پرداخت:
- محافظت از دادهها: با استفاده از گواهینامه SSL شما میتوانید مطمئن شوید که فرایند ارسال و دریافت بین مرورگر و سرور اصلی کاملا رمزنگاری شده و بدون داشتن دسترسی نمیتوان به این اطلاعات دست پیدا کرد.
- احراز هویت شرکت و وبسایت: گواهینامههای SSL حرفهای تنها زمانی صادر میشوند که هویت شرکت یا وبسایت احراز شده و فرایند اعتبارسنجی را پشت سر گذاشته باشد. در نتیجه از اینکه مالک وبسایت همان شخص حقیقی یا حقوقی که ادعا میکند است یا خیر مطمئن میشوید.
- بهبود اعتماد مشتریان: سالهاست که به عنوان یک خرید کننده از فروشگاههای آنلاین اولین کاری که همواره انجام دادهام مطمئن شدن از وجود گواهینامه SSL است. زمانی که کاربری وارد وبسایت شما شود و چنین گواهینامهای مشاهده نکند مطمئنا به کسب و کار شما اعتماد نخواهد کرد.
- بهبود وضعیت SEO: گوگل صراحتا اعلام کرده که از وبسایتهایی که HTTPS یا گواهینامه SSL ندارند خوشش نمیآید و امتیاز برای ایندکس شدن برایشان در نظر نمیگیرد. در نتیجه برای اینکه وضعیت SEO وبسایتتان بهبود پیدا کند حتما باید از یک گواهینامه SSL حتی رایگان استفاده کنید.
- افزایش سرعت بارگذاری وبسایت: در نسخههای اولیه SSL یکی از ناراحت کنندهترین موضوعات، کند کردن سرعت بارگذاری وبسایت بود. دلیل آن نیز تخصیص زمان برای انجام عملیاتهای رمزنگاری و رمزگشایی بود. اما در نسخههای جدید نه تنها سرعت وبسایت کاهش نمییابد بلکه به لطف تکنولوژیهای جدید و وجود پروتکل HTTP/2 سرعت بارگذاری وبسایت بیشتر شده است.
جمع بندی
SSL/TLS از جمله مهمترین استانداردهای امنیتیست که هر وبسایتی باید داشته باشد. در واقع بدون داشتن چنین گواهینامهای، نمیتوانید اعتماد کاربران را جلب کنید و وبسایتتان در کمترین زمان ممکن با شکستهای بسیاری مواجه میشود. مطمئن شوید که براساس نیازمندی و با مطالعه بیشتر یک گواهینامه معتبر و مناسب وبسایت و کسب و کارتان را تهیه میکنید و از آن در وبسایت استفاده میکنید.
در این مطلب از وبلاگ پچیم ما با چیستی SSL، چگونگی کار کردن آن، انواع گواهینامههای SSL، مزایا و مواردی دیگر آشنا شدیم.