SSL یا Secure Sockets Layer یک پروتکل امنیتی مبتنی بر رمزنگاری برای اینترنت است. SSL اولین بار در سال ۱۹۹۵ توسط Netscape با هدف بهبود Privacy، اعتبارسنجی و حفظ یکپارچگی دادهها در ارتباطات اینترنتی ساخته شد. البته امروزه SSL دیگر منسوخ شده و از TLS استفاده میشود که در ادامه مطلب راجع به تفاوتهای آن نیز صحبت میکنیم.
وبسایتی که از SSL/TLS استفاده میکند در آدرس URL خود عبارت HTTPS را به جای HTTP خواهد دید. S اضافه شده به HTTP مخفف Secure بوده و بیانگر ارتباط رمزنگاری شده بین کلاینت و سرور است.
SSL/TLS چگونه کار میکند؟
آغاز ارتباط (Handshake)
- ارتباط با یک فرایند دست دادن آغاز میشود، جایی که مرورگر (کلاینت) و سرور هویت یکدیگر را تایید میکنند و توافقاتی را در مورد نوع رمزنگاری و کلیدهای رمزنگاری که باید استفاده شود، انجام میدهند.
- سرور، گواهینامهای را به مرورگر ارسال میکند که شامل کلید عمومی سرور و اطلاعاتی برای احراز هویت سرور میباشد.
- مرورگر با استفاده از کلید عمومی سرور، یک کلید جلسه (Session Key) رمزنگاری میکند و آن را به سرور ارسال میکند.
رمزنگاری دادهها:
- پس از تکمیل فرایند دست دادن و توافق بر سر کلید جلسه، تمام دادههای ارسالی بین مرورگر و سرور با استفاده از این کلید جلسه رمزنگاری میشوند. این امر اطمینان حاصل میکند که دادهها در طول انتقال امن باقی میمانند.
احراز هویت:
- گواهینامههای دیجیتالی که توسط مراکز صدور گواهینامه (CA) صادر شدهاند، برای احراز هویت سرور به کار میروند. این امر به کاربران کمک میکند تا اطمینان حاصل کنند که با سرور واقعی در حال ارتباط هستند، نه یک مهاجم.
حفظ یکپارچگی داده:
- SSL/TLS همچنین از مکانیزمهایی برای تضمین یکپارچگی دادهها استفاده میکند، به این معنی که دادهها در طول انتقال تغییر نمیکنند.
پایان ارتباط:
- زمانی که ارتباط بین کلاینت و سرور پایان مییابد، جلسه رمزنگاری شده پایان میپذیرد و کلیدهای جلسه از بین میروند. برای ارتباط بعدی، یک جلسه رمزنگاری جدید با کلیدهای جدید ایجاد میشود.
اهمیت SSL/TLS در چیست؟
پیش از ایجاد SSL/TLS اطلاعات به صورت فایلهای متنی ساده بدون رمزنگاری انتقال پیدا میکردند. به همین دلیل اگر کسی در این فرایند به آن اطلاعات دسترسی پیدا میکرد به سادگی میتوانست آنها را تغییر دهد. با ایجاد SSL/TLS فرایند رمزنگاری این اطلاعات شروع شد.
به این صورت که اطلاعاتی که بین کلاینت و سرور مبادله میشد بهجای آنکه فایلهای متنی «خوانا» باشد، به صورت رمزنگاری شده ارسال شده و به همین دلیل حتی اگر کسی به این اطلاعات دسترسی پیدا کند، نمیتواند آن را به سادگی مطالعه کرده و یا آن را تغییر دهد.
جدای از موارد گفته شده، SSL/TLS در زمینههای دیگری نیز اهمیت و فواید خاص خود را داشته که برخی از آنها را در ادامه ذکر خواهیم کرد:
- حفظ حریم خصوصی: با رمزنگاری اطلاعات، SSL و TLS حریم خصوصی کاربران را در برابر نظارت و جمعآوری دادهها توسط شرکتها یا دولتها حفظ میکنند.
- افزایش اعتماد: وبسایتهایی که از SSL/TLS استفاده میکنند در مرورگر با یک علامت قفل در قسمت Address bar نمایش داده میشوند که نشاندهندهی امن بودن سایت است. این امر به افزایش اعتماد کاربران به وبسایت کمک میکند.
- الزامات امنیتی: برای برخی از استانداردها و مقررات حفاظت از دادهها، استفاده از SSL/TLS الزامی است. به عنوان مثال، استاندارد امنیت دادههای صنعت کارت پرداخت (PCI DSS) استفاده از رمزنگاری را برای حفاظت از دادههای کارت اعتباری اجباری میکند.
- بهبود رتبهبندی SEO: موتورهای جستجو مانند گوگل، وبسایتهایی که از HTTPS استفاده میکنند را در رتبهبندیهای جستجو ترجیح میدهند.
تفاوت SSL و TLS چیست؟
SSL را میتوان نسخه قدیمی پروتکل TLS دانست. در سال ۱۹۹۹ شرکت IETF پیشنهاد داد تا SSL را آپدیت کند. از آنجایی که این بهروزرسانی توسط IETF اتفاق افتاد و نه Netspace، تصمیم گرفته شد که نام آن به TLS تغییر کند. البته تفاوت چندانی بین آخرین نسخه SSL (3.0) و اولین نسخه TLS وجود ندارد. اما همین که مالکیت آن تغییر پیدا کرد خود خبر از تغییرات مهمی در آینده میداد.
با وجود آنکه SSL رسما منقضی شده و دیگر استفاده نمیشود، اما بسیاری از افراد به اشتباه از آن استفاده کرده و فکر میکنند که HTTPS کنونی از طریق SSL پیادهسازی میشود.
SSL از سال ۱۹۹۶ دیگر آپدیت نشد. همچنین وجود مشکلات امنیتی مختلف در آخرین نسخه SSL، باعث شد تا دیگر مورد استفاده قرار نگیرد. امروزه نیز هر ارائهدهندهای که SSL ارائه میدهد بدون شک از امکانات TLS استفاده میکند.
عمومی شدن نام SSL و تکنیکهای مارکتینگ باعث شده تا این اشتباه به صورت کامل حل نشده و بجای آن از عبارت SSL/TLS استفاده شود.
گواهینامه SSL چیست؟
تنها روی وبسایتهایی امکان پیادهسازی SSL/TLS وجود دارد که گواهینامه یا Certificate مربوط به SSL را داشته باشند. این گواهینامه درست مانند یک کارت شناسایی عمل میکند که اثباتگر وجود همان کسی است که ادعا میکند هست! بنابراین اگر وبسایتی ادعا میکند که وبسایت گوگل است، باید از طریق Certificate آن پی به درستی یا نادرستی این قضیه ببرید.
یکی از مهمترین اجزاء هر گواهینامه، Public Key یا کلید عمومی آن است. از طریق این کلید عمومی میتوان فرایند رمزنگاری و احرازهویت را انجام داد. کلاینت با در اختیار گرفتن این کلید عمومی میتواند یک ارتباط رمزنگاری شده را با وب سرور مربوطه برقرار کند. در همین حال وب سرور نیز یک کلید خصوصی یا Private Key در اختیار دارد که برای رمزگشایی اطلاعات رمزنگاری شده توسط کلید عمومی از آن استفاده میکند.
انواع گواهینامه SSL
به صورت کلی چندین نوع گواهینامه SSL وجود دارد که بسته به نوعشان میتوان روی یک یا چند وبسایت مورد استفاده قرار بگیرند.
- Single-Domain: گواهینامه Single-Domain تنها روی یک دامنه مورد استفاده قرار گرفته و روی چندین دامنه نمیتوان از آن استفاده کرد.
- Wildcard: گواهینامه Wildcard نیز مانند حالت قبلی تنها روی یک دامنه مورد استفاده قرار میگیرد اما میتوان از آن برای Subdomainها نیز استفاده کرد. برای مثال اگر دامنه اصلی شما hamravesh.com باشد شما میتوانید از این گواهینامه روی دامنه blog.hamravesh.com نیز استفاده کنید.
- Multi-Domain: این نوع از گواهینامه همانطور که از نامش پیداست میتواند روی چندین دامنه نامرتبط به هم استفاده شود.
جدای از انواع گواهینامه به لحاظ تعداد دامنه، میتوان این گواهینامهها را براساس سطح اعتبارسنجی نیز دستهبندی کرد. منظور از اعتبارسنجی، بررسی اطلاعات مصرف کنندگان (مثلا خود شرکت) است.
- اعتبارسنجی دامنه: این نوع از اعتبارسنجی ارزانترین و البته ضروریترین نوع اعتبارسنجی است که شما در آن کنترل به دامنه خودتان را باید اثبات کنید.
- اعتبارسنجی سازمانی: یکی از اعتبارسنجیهای نسبتا گران، اعتبارسنجی سازمانی است که در آن شما باید هویت خودتان و ارتباط با سازمانتان را اثبات کنید.
- اعتبارسنجی گسترشیافته: این نوع از اعتبارسنجی نیز یک اعتبارسنجی پر از جزئیات هویتی و… است که برای افزایش اعتبار وبسایت استفاده میشود.
جمعبندی
SSL/TLS یکی از مهمترین و ضروریترین امکاناتیست که باید برای وبسایتتان تهیه کنید. اینکار باعث میشود تا اعتماد کاربران نسبت به وبسایتتان افزایش پیدا کند و همچنین موتورهای جستجوگر به شیوه بهتری وبسایت را ایندکس کنند.
در این مطلب از وبلاگ همروش با چیستی SSL و شیوه کار آن آشنا شدیم و همچنین اهمیت و انواع آن را بررسی کردیم.