در این مقاله میخواهیم روند تغییراتی که پروتکل TLS از ابتدا تا به امروز طی کردهاست را به اختصار بررسی و به تازهترین خبر مربوط به این پروتکل بپردازیم.
در ابتدا یک معرفی ابتدایی و ساده از مفهوم پروتکل TLS داریم.
پروتکل TLS چیست؟
برای امن کردن یک وبسایت یا ارتباط (با استفاده از TLS) به طور معمول باید سه مرحله را طی کنیم:
- ابتدا باید برای صدور یک گواهی امنیتی یا Certificate درخواست دهیم.
- هزینه را پرداخت نماییم تا گواهینامهی درخواستی صادر شود.
- گواهینامه را بر روی سرور اصلی یا همان Origin Server که حاوی محتوای وبسایتمان میباشد را پیکرهبندی کنیم.
با انجام مراحل فوق، پس از سررسیدن تاریخ انقضای گواهینامه و باطل شدن آن، این مراحل را باید مجددا تکرار نماییم.
این گواهینامه رمزنگاری اطلاعات را براساس پروتکل TLS نشان میدهد.
TLS یا همان Transport Layer Security راهکاری است که صحت اطلاعات و امنیت ارتباطات در سطح اینترنت را تضمین میکند. اطلاعاتی همچون: متن، صدا، تصویر، ویدیو و هرگونه بستهای که بر روی پروتکل TCP مبادله میشوند. TLS تبادل بستهها را تضمین میکند و از حملاتی همچون Man-in-the-Middle جلوگیری مینماید.
تاریخچهی TLS
مفهومی به نام SSL یا همان Secure Sockets Layer برای اولین بار در شرکت Netscape ارائه شد. SSL نسخه ۳ در سال ۱۹۹۹ ایجاد شد و برای اینکه از اسم Netscape جدا شود با نام TLS معرفی شد و مورد تایید IETF قرار گرفت. اکثر اوقات این دو مفهوم در کنار هم استفاده میشوند و تقریبا هر دو مفهوم یکسانی دارند.
نسخههای پروتکل TLS
امروزه چهار نسخه از پروتکل TLS در حال استفاده است: نسخههای ۱.۰، ۱.۱، ۱.۲ و ۱.۳
TLS 1.0
همانطور که گفتیم TLS 1.0 در سال 1999 منتشر شد و تقریباً دو دهه به صورت گسترده مورد استفاده قرار گرفت، اما به دلیل رمزنگاری ضعیف در برابر حملاتی همچون BEAST و POODLE بسیار آسیبپذیر بود و باعث میشد اتصالات به اندازه کافی ایمن نباشد.
TLS 1.1
این نسخه هیچ آسیب پذیری شناخته شدهای ندارد، اما از رمزنگاریهای ضعیفی پشتیبانی میکند علاوه براین، عدم پشتیبانی از جدیدترین الگوریتمهای رمزنگاری مدرن، موجب آسیبپذیریهای امنیتی میشود و ممکن است مورد بهرهبرداری حملهکنندگان قرار گیرد.
اگرچه این دو نسخه به ندرت مورد استفاده قرار میگیرند (شاید به اندازهی کمتر از ۱۰ درصد کلیه اتصالات HTTPS) با این وجود همین تعداد نیز حجم گستردهای از کاربران اینترنت را شامل میشوند.
TLS 1.2
با وجود انتشار این نسخه در سال 2008، تا مدتها در برخی از سیستم عاملها و مرورگرها پشتیبانی نمیشد. اما امروزه به عنوان یک نسخهی فابل قبول برای TLS شناخته میشود.
TLS 1.3
این نسخه، آخرین و تنها نسخه از این پروتکل است که توسط رمزنگاران توصیه میشود و “مدرن” تلقی میشود؛ همچنین استفاده از آن روز به روز در حال گسترش است.
آمار استفاده از نسخههای مختلف TLS
برای متخصصان امنیت IETF واضح است که استفاده از نسخههای 1.0, 1.1 باید متوقف شود اما این فرایند نیازمند حمایت شرکتها، مرورگرها و فرهنگسازی بین کاربران میباشد و طبق آمار تا پایان سال ۲۰۱۹ همچنان تعداد زیادی از وبسایتها و سرویسها به پشتیبانی از TLS 1.0, 1.1 مشغول بودهاند. TLS 1.2 با وجود انتشار در سال 2008، تا مدتها در برخی از سیستم عاملها و مرورگرها پشتیبانی نمیشد. برای مثال مرورگر Internet Explorer تا نسخه 11 که در سال ۲۰۱۳ منتشر شد، از TLS 1.2 پشتیبانی نمیکرد. همچنین، نسخههای اندرویدی ماقبل نسخهی 5.0 (منتشر شده در سال 2014) فقط از TLS 1.0 پشتیبانی میکردند. با این حال، همچنان حدود 18٪ از دستگاههای اندرویدی را، اندروید ۵.۰ و قبل از آن تشکیل میدهند که هنوز هم در حال استفاده هستند.
شاید اندازهگیری میزان استفاده از پروتکل TLS در اینترنت به راحتی میسر نباشد، با این وجود یکی از بهترین شاخصها برای اندازهگیری، گزارشهای شرکت Cloudflare است که به عنوان یکی از بزرگترین CDNهای جهان، دید خوبی نسبت به اتفاقات در مقیاس اینترنت دارد. Cloudflare طی گزارشی در سال ۲۰۱۸ اعلام کرد حدود ۱۱٪ از ترافیک شبکهی آنها توسط TLS 1.0 رمزنگاری میشود و تنها بخش کوچکی در حدود کمتر از نیم درصد از TLS 1.1 استفاده میکنند.
با اینکه امروزه بخش عمدهای از کاربران اینترنت (حتی شما)، از نسخه TLS 1.2 استفاده میکنند، اما در مقابل درصد قابل توجهی از ترافیک اینترنت را وبسرورها،Endpoint های API و سایر نرمافزارها (بجز مرورگرها) تشکیل میدهند. برای مثال نسخههای قدیمیتر از ابزارهای توسعه که از TLS 1.2 پشتیبانی نمیکنند، مانند curl، هنوز هم بهطور گسترده توسط توسعهدهندگان یا به عنوان واسط برای نرمافزارهای دیگر استفاده میشوند.
اتمام پشتیبانی از نسخههای 1.0 و 1.1
بهروزرسانی نسخهی پروتکل TLS برای بیشتر کاربران اینترنت به صورت خودکار انجام خواهد شد. اکثریت قریب به اتفاق وبسایتها از TLS 1.2 پشتیبانی میکنند و تقریبا تمام مرورگرهای جدید (تقریباً تمام نسخههای منتشرشده در ۵ سال گذشته) از TLS 1.2 پشتیبانی میکنند.
با عبور آرام از این دوره، هماکنون بیشتر از ۹۰ درصد از ترافیک رمزنگاری شدهی اینترنت از پروتکل TLS 1.2 استفاده میکنند. پشتیبانی از TLS 1.0 – 1.1 در حال کاهش بوده و شرکتهای بزرگی همچون گوگل، مایکروسافت، اپل و موزیلا همگی اعلام کردهاند که مرورگرهای آنها از مارس ۲۰۲۰ دیگر از TLS 1.0 – 1.1 پشتیبانی نخواهند کرد.
با این تغییر ممکن است تعداد کمی از وبسایتها برای برخی از کاربران از دسترس خارج شوند اما تاثیر کلی برای کاربران حداقل خواهد بود. برای مثال Endpointهایی که توان استفاده از TLS 1.2 را ندارند دیگر توانایی دسترسی به وبسایتها و سرویسهای ارائهشده با استفاده از نسخهی 1.2 را نخواهند داشت و با پیغام خطا مواجه خواهند شد.
در لیست زیر، مرورگرها و سیستمعاملهایی که دیگر نمی توانند از پروتکل TLS با نسخههای پایینتر از 1.2 استفاده کنند، ذکر شدهاند:
- Android 4.3 و نسخههای قدیمیتر
- Firefox version 5.0 و نسخههای قدیمیتر
- Internet Explorer 10 بر روی سیستمعامل Windows 7 و نسخههای قدیمیتر
- Internet Explorer 10 بر روی سیستمعامل Windows Phone 8.0
- Safari 6.0.4/OS X 10.8.4 و نسخههای قدیمیتر
فعالسازی TLS 1.2 در اَبر دِراک
اَبر دِراک به طور رایگان SSL را در اختیار کاربران خود قرار داده است و کاربران میتوانند نسخه پروتکل TLS مورد نظر خود را در پنل کاربری انتخاب کنند. همچنین این گواهینامه به صورت خودکار تمدید میگردد. همزمان با ۳۱ مارس (۱۱ فروردین) و منسوخ شدن پروتکلهای TLS 1.0 و 1.1، اَبر دِراک به صورت خودکار TLS 1.2 را برای وبسایتها فعال خواهد کرد. جزییات بیشتر برای اطلاع از نحوه تنظیمات و پیکربندی TLS را در بخش آموزش وبسایت بخوانید.
لازم به ذکر است که از تاریخ ۱۲ فروردین ۱۳۹۹ رمزنگاری بر اساس TLS نسخه های 1.0 و 1.1 قابل انتخاب برای کاربران نخواهند بود.
در پایان میتوان گفت که الگوریتمهای رمزنگاری جدید و نیاز به افزایش امنیت ارتباطات در بستر اینترنت باعث مرگ نسخههای پیشین TLS گردیدهاست و از آخر مارس ۲۰۲۰ (۱۲ فروردین ۱۳۹۹) با عدم پشتیبانی یک سری از مرورگرها و نرمافزارها روبرو خواهیم بود. ازین رو صاحبین وبسایتها باید تنظیمات TLS وبسایت خود را به نسخهی ۱.۲ ارتقا دهند تا کاربران ایشان با مشکلی روبرو نشوند.