TLS و SSL پروتکل هایی هستند که به شما در اعتبارسنجی و انتقال ایمن داده ها در اینترنت کمک می کنند اما تفاوت TLS و SSL چیست؟
در این مقاله، تفاوت های کلیدی بین TLS و SSL ذکر شده است، ضمن اینکه ارتباط هر دو پروتکل با HTTPS را نیز خواهید آموخت. همچنین متوجه خواهید شد که چرا، به عنوان یک کاربر، نیازی نیست در انتخاب بین TLS یا SSL نگران باشید.
تصویر(1)
فهرست مطالب
- تفاوت TLS و SSL چیست؟
- نحوه کار TLS و SSL در سطح پایه
- چرا به آن گواهی SSL می گویند نه گواهی TLS؟
- چرا باید از TLS استفاده کنید و نه SSL
تفاوت TLS و SSL چیست؟
TLS مخفف Transport Layer Security و SSL مخفف Secure Socket Layers است که هر دو پروتکل، دادهها را رمزگذاری و اتصال را هنگام جابجایی دادهها در اینترنت اعتبارسنجی میکنند.
برای مثال، اگر در سایت خود درگاه پرداخت اینترنتی راه اندازی کرده اید، TLS و SSL میتوانند برای پردازش ایمن دادهها، به شما کمک کنند تا عوامل مخرب نتوانند به اطلاعات حساب بانکی مشتریان دسترسی داشته باشند.
TLS در واقع فقط یک نسخه جدیدتر از SSL می باشد و برخی از نقص های امنیتی موجود در پروتکل SSL را برطرف می کند. قبل از اینکه جزئیات بیشتری در مورد تفاوت TLS و SSL را بدانید، مهم است که تاریخچه اولیه SSL و TLS را درک کنید. SSL 2.0 اولین بار در فوریه 1995 انتشار یافت. SSL 1.0 به دلیل نقص های امنیتی هرگز به صورت عمومی منتشر نشد. اگرچه SSL 2.0 به صورت عمومی ارائه گردید اما نواقص امنیتی در آن وجود داشت و به سرعت در سال 1996 با SSL 3.0 جایگزین شد.
سپس، در سال 1999، اولین نسخه TLS 1.0 به عنوان جایگزینی برای SSL 3.0 منتشر شد. از آن زمان، سه نسخه TLS دیگر ارائه شده و آخرین نسخه آن TLS 1.3 می باشد که در آگوست 2018 منتشر شده است.
در ادامه تاریخچه کامل انتشار SSL و TLS آمده است:
SSL 1.0 – به دلیل مسائل امنیتی هرگز به صورت عمومی منتشر نشد.
SSL 2.0 – در سال 1995 منتشر و در سال 2011 منسوخ شد. مشکلات امنیتی آن شناسایی شده است.
SSL 3.0 – در سال 1996 منتشر و در سال 2015 منسوخ شد. مشکلات امنیتی آن شناسایی شده است.
TLS 1.0 – در سال 1999 به عنوان جایگزینی برای SSL 3.0 منتشر شد. به صورت برنامه ریزی شده، در سال 2020 منسوخ شد.
TLS 1.1 - در سال 2006 منتشر گردید. به صورت برنامه ریزی شده، در سال 2020 منسوخ شد.
TLS 1.2 - در سال 2008 منتشر شد.
TLS 1.3 – در سال 2018 منتشر شد.
عملکرد TLS و SSL برای ایمن نگه داشتن داده ها چگونه است؟
هنگامی که یک گواهی SSL/TLS را روی سرور خود نصب می کنید (اغلب به آن صرفا "گواهی SSL" می گویند)، شامل یک کلید عمومی و یک کلید خصوصی است که سرور را اعتبار سنجی و به آن اجازه رمزگذاری و رمزگشایی داده ها را می دهد.
هنگامی که یک بازدیدکننده به سایت شما مراجعه می کند، مرورگر آن به دنبال گواهی SSL/TLS سایت می گردد. سپس، مرورگر یک "handshake" (فرآیندی است که یک جلسه ارتباطی رمزگذاری شده با TLS را آغاز می کند. در طی یک TLS handshake، دو طرف پیامهایی را مبادله میکنند تا یکدیگر را تأیید کرده، الگوریتمهای رمزگذاری را که استفاده خواهند کرد ایجاد نمایند و در مورد کلیدهای جلسه توافق کنند. TLS handshake بخش اساسی در نحوه عملکرد HTTPS است.) را برای بررسی اعتبار گواهی و احراز هویت سرور انجام می دهد. اگر گواهینامه SSL معتبر نباشد، کاربر ممکن است با خطای "your connection is not private" یا "اتصال شما خصوصی نیست" مواجه شود که می تواند باعث خروج آن از وب سایت گردد.
تصویر(2)
هنگامی که مرورگر بازدیدکننده تشخیص داد که گواهی شما معتبر است، می تواند سرور را اعتبارسنجی کند. اساساً یک ارتباط رمزگذاری شده بین کاربر و سرور ایجاد می شود تا داده ها را به طور ایمن تبادل نمایند. در این بخش، از HTTPS استفاده می شود. HTTPS مخفف "HTTP over SSL/TLS" است.
HTTP و اخیرا HTTP/2، پروتکل های کاربردی هستند که نقشی اساسی در انتقال اطلاعات از طریق اینترنت دارند. با HTTP ساده، اطلاعات در برابر حملات آسیب پذیر هستند اما هنگامی که از HTTP به کمک SSL یا TLS (HTTPS) استفاده میکنید، دادهها را در حین انتقال رمزگذاری و اعتبارسنجی میکنید که باعث ایمن شدن آنها میشود.
به همین دلیل است که میتوانید با خیال راحت خریدهای اینترنتی را از طریق HTTPS انجام دهید. لذا Google Chrome تلاش میکند تا تمامی کاربران از HTTPS استفاده کنند.
اگر SSL منسوخ شده، چرا به آن گواهی SSL می گویند؟
همانطور که متوجه شدید، TLS نسخه جدیدتر SSL است و هر دو نسخه عمومی SSL، چندین سال پیش منسوخ و نواقص امنیتی آنها شناسایی شدهاند.
اما چرا به آن گواهی SSL می گویند و نه گواهی TLS؟ به هر حال، TLS یک پروتکل پیشرفته و امنیتی است.
به عنوان مثال، اگر به صفحه ویژگی های هاست سی پنل ایران میهن وب هاست مراجعه کنید، خواهید دید که میهن وب هاست گواهی SSL رایگان را در لیست امکانات و ویژگی های سرویس درج کرده و نامی از گواهی TLS در این صفحه برده نشده است. البته جای نگرانی نیست، میهن وب هاست از جدیدترین فناوری ها برای امنیت سرور و داده های شما استفاده می کند. به دلیل اینکه بیشتر مردم هنوز از این پروتکل با عنوان گواهینامه SSL یاد می کنند، اساساً یک موضوع برندسازی می باشد. از انجایی که اکثر ارائه دهندگان گواهینامه، هنوز آنها را با عنوان گواهینامه SSL نام گذاری می کنند، در بین کاربران نیز به یک عادت تبدیل شده است.
در واقع، تمامی سرویس هایی که با نام «گواهینامه SSL» تبلیغ میشوند همان گواهیهای SSL/TLS هستند. چیزی به نام گواهی SSL یا فقط گواهی TLS وجود ندارد و نیازی نیست نگران جایگزینی گواهینامه SSL خود با گواهی TLS باشید.
از کدام یک باید استفاده کنید؟ آیا TLS جایگزین SSL می شود؟
بله، TLS جایگزین SSL می شود و باید به جای SSL از TLS استفاده کنید. همانطور که در بالا ذکر شد، هر دو نسخه عمومی SSL به دلیل نقص های امنیتی، منسوخ شده اند. به این ترتیب، از سال 2019 به بعد، SSL یک پروتکل کاملا امن نیست.
TLS، نسخه کاملا بروز و مطمئن SSL بوده و ایمن است. علاوه بر این، نسخههای اخیر TLS دارای عملکرد بسیار مطلوب در زمینه امنیت انتقال داده ها بین کاربر و سرور هستند. TLS نه تنها امن تر و کارآمدتر است بلکه اخیرا بیشتر مرورگرها، دیگر از SSL 2.0 و SSL 3.0 پشتیبانی نمی کنند. به عنوان مثال، گوگل کروم در سال 2014 پشتیبانی از SSL 3.0 را متوقف کرد و بیشتر مرورگرهای بزرگ در حال برنامه ریزی برای توقف پشتیبانی از TLS 1.0 و TLS 1.1 هستند. بنابراین لازم است مطمئن شوید که در سرورتان از جدیدترین نسخه های TLS استفاده می شود.
ابتدا به یاد داشته باشید که گواهی وب سایت با پروتکلی که در سرور فعال است، یکسان نیست. برای استفاده از TLS نیازی به تغییر گواهینامه خود ندارید. بیشتر سرورهای جدید، از هر دو پروتکل SSL و TLS پشتیبانی می کنند. در عوض می بایست بررسی کنید که وب سایت شما از کدام پروتکل موجود در سرور استفاده می کند. اگر هاست شما در میهن وب هاست قرار دارد، به صورت پیشفرض TLS 1.3 در سرور فعال شده که مدرنترین، امنترین و کارآمدترین نسخه TLS است. اگر هاست شما در شرکت دیگری میزبانی می شود، می توانید از ابزارهایی مانند SSL Labs برای بررسی پروتکل های فعال در سایت، استفاده کنید.
تصویر(3)
اگر متوجه شدید که سرور از پروتکلهای جدید بهره نمی برد، میتوانید برای رفع مشکل با پشتیبانی هاست در تماس باشید.
چرا میهن وب هاست چندین پروتکل TLS را در سرورهای خود فعال می کند؟
تصویر(4)
اگر TLS 1.3 مدرن ترین و کارآمدترین پروتکل است، چرا میهن وب هاست در سرورهای خود پروتکل های قدیمی تر مانند TLS 1.2 را نیز ارائه می کند؟
به عبارت دیگر: فایده فعال بودن چندین پروتکل در سرور چیست؟
همانطور که در بالا آموختید، با توجه به تفاوت TLS و SSL دو بخش برای handshake SSL/TLS وجود دارد:
- وب سرور
- کاربر (معمولاً مرورگر بازدیدکننده)
برای اینکه handshake به درستی عمل کند، هر دو باید از یک پروتکل پشتیبانی کنند. بنابراین مزیت اصلی فعال بودن پروتکل های متعدد، سازگاری با مرورگر های مختلف است. به عنوان مثال، در حالی که کروم و فایرفاکس تقریباً بلافاصله پس از انتشار TLS 1.3 در سال 2018، پشتیبانی از آن را ارائه کردند، اپل و مایکروسافت برای پشتیبانی از TLS 1.3 به زمان بیشتری نیاز داشتند. حتی در سال 2019، مرورگرهای زیر همچنان فاقد پشتیبانی TLS 1.3 بودند:
- Internet Explorer
- Opera Mini
- Android Browser
- Opera Mobile
- UC Browser for Android
- Samsung Internet
- Baidu Browser
تصویر(5)
اما زمانی که TLS 1.3 هنوز به طور کامل گسترش نیافته بود، همه مرورگرهای اصلی از TLS 1.2 در سال 2019 پشتیبانی می کردند:
تصویر(6)
با فعال کردن TLS 1.3 و TLS 1.2 در سرور، می توانید از سازگاری کامل مرورگرها اطمینان حاصل کنید، در عین حال از مزایای TLS 1.3 در مرورگرهایی که از آن پشتیبانی می کنند مانند Chrome و Firefox، برخوردار خواهید شد. اگر میخواهید بررسی کنید مرورگر شما از کدام نسخه SSL/TLS پشتیبانی میکند، میتوانید از ابزار How’s My SSL استفاده کنید:
تصویر(7)
نتیجه گیری نهایی:
TLS و SSL هر دو پروتکل هایی برای اعتبارسنجی و رمزنگاری انتقال داده ها در اینترنت هستند. این دو کاملاً به هم مرتبط بوده و TLS نسخه مدرن تر و امن تر SSL است. در حالی که SSL هنوز اصطلاح غالب در اینترنت می باشد، بیشتر مواقع وقتی از SSL صحبت می شود در واقع منظور TLS است، زیرا هیچ کدام از دو نسخه عمومی SSL، در حال حاضر ایمن نیستند و مدت ها پیش منسوخ شده اند.
برای استفاده از هر دو پروتکل SSL و TLS، باید یک گواهی روی سرور خود نصب کنید. لازم نیست نگران تغییر گواهی SSL خود به گواهی TLS باشید. اگر قبلاً گواهینامه SSL را نصب کردهاید، میتوانید مطمئن باشید که از TLS نیز پشتیبانی میکند. با توجه به تفاوت TLS و SSL در نظر داشته باشید که استفاده از آخرین نسخه های TLS بسیار مهم است زیرا SSL، دیگر ایمن نیست. اگر هاست شما در میهن وب هاست میزبانی می گردد، در حال حاضر TLS 1.2 و TLS 1.3 در سرورها فعال است که همگی امن هستند و توسط همه مرورگرهای اصلی پشتیبانی میشوند.