چگونه کار می کند؟؛ پروتکل TLS چیست و
تصور کنید هنگام ورود به حساب بانکی، سفارش اینترنتی یا ارسال دادهها محرمانه، تمام دادههای شما بدون هیچ محافظی در اینترنت جابهجا شوند. در چنین شرایطی، هر مهاجم یا واسطهای که به مسیر انتقال دسترسی داشته باشد، میتواند گزارشها را مشاهده، رهگیری یا حتی تغییر دهد. با صعود حملات سایبری و رشد تهدیدهای مرتبط با سرقت داده، استفاده از فناوریهای رمزنگاری برای حفاظت از ارتباطات اینترنتی به یکی از مهمترین الزامات امنیتی تبدیل شده است. یکی از مهمترین فناوریهایی که امنیت ارتباط میان کاربران و سرورها را تضمین میکند، پروتکل TLS است. در ادامه این مقاله از بخش آموزش امنیت در وبلاگ پارسپک مرور میکنیم که پروتکل TLS چیست، چگونه کار میکند، چه تفاوتی با SSL دارد و چرا استفاده از آن برای حفظ امنیت وبسایتها و زیرساختهای آنلاین ضروری است.
گواهینامه TLS (Transport Layer Security) مانند یک تونل امنیتی و کارت شناسایی دیجیتال برای وبسایتها عمل میکند. وقتی کاربری وارد یک سایت میشود، این گواهینامه ابتدا هویت سرور را تایید میکند تا کاربر مطمئن شود با یک سایت جعلی روبهرو نیست. سپس تمام دادههای که بین مرورگر و سرور ردوبدل میشود، مانند رمز عبور یا گزارشها بانکی را رمزنگاری میکند. به این ترتیب، حتی اگر افراد غیرمجاز در میانه راه به این ارتباط نفوذ کنند، چیزی جز کدهای درهمریخته و نامفهوم نصیبشان نمیشود و امنیت دقیق تبادل دادهها حفظ خواهد شد.
برخلاف باور عمومی که ایجاد TLS را مستقیما به Netscape نسبت میدهد، واقعیت تاریخی کمی متفاوت است. ویرایشی ۱.۰ پروتکل SSL هرگز بهصورت عمومی منتشر نشد و ویرایش ۲.۰ آن نیز به دلیل کشف آسیبپذیریهای شدید، بهسرعت در سال ۱۹۹۶ با SSL 3.0 جایگزین شد. در نهایت، اولین ادیشن استاندارد پروتکل TLS در سال ۱۹۹۹ توسط کارگروه مهندسی اینترنت (IETF) ارائه شد. این پروتکل بر پایه SSL 3.0 طراحی شد و در مرحله پیشنویس با نام SSL 3.1 شناخته میشد که پیش از انتشار نهایی، نام آن به صورت رسمی به TLS تغییر یافت.
با تهیه گواهی SSL پارسپک، بدون افت سرعت و با پشتیبانی جامع از تمام مرورگرهای استاندارد، دادهها حساس کاربران خود را در امنیت مفصل نگهداری کنید. برای مشاهده ارزش گواهی روی لینک زیر کلیک نمایید:
از آنجاییکه فرایند برقراری ارتباط TLS پیچیده است، لود و پردازش آن برای کامپیوتر به زمان نیاز دارد. خوشبختانه TLS handshake در طول زمان فناوریهایی برای نزول این تأخیر توسعه داده که بازدهش در دو مرحلهی زیر انجام میشود:
این فناوری به کلاینت و سرور اجازه میدهد پیش از تکمیل دقیق فرایند TLS handshake، دادههای اپلیکیشن را بین خود رد و بدل کنند و به این ترتیب یک رفتوبرگشت (round-trip) جامع از زمان اتصال کم میشود.
این فناوری به سرورها و کلاینتهایی که پیشتر یک بار با هم ارتباط برقرار کردهاند اجازه میدهد، بهجای اجرای handshake جامع، از یک handshake کوتاهشده (مطابق گزارشها نشست قبلی) استفاده کنند.
این پیشرفتها کمک کردند TLS بدون تاثیر محسوس بر زمان لود داده، به پروتکلی شتابان تبدیل شود؛ بهطوریکه امروزه هزینهی اجرای TLS نسبت به استانداردهای رایج تقریباً ناچیز است. برای مثال، وقتی گوگل در سال ۲۰۱۰ کل جیمیل را بهصورت پیشفرض روی HTTPS برد، نیازی به خریداری سختافزار محاسباتی اضافی نداشت؛ طبق گزارش رسمی مهندسان گوگل، رمزگذاری TLS کمتر از ۱٪ بار پردازندههای سرورهای آنها را مصرف میکرد.
مهمترین کاربردهای گواهینامه TLS به زبان ساده و روزمره شامل موارد زیر است:
۱. وبگردی امن (HTTPS): وقتی آدرس سایتی با HTTPS شروع کار میشود، یعنی TLS فعال است تا رمز عبور و دادهها بانکی شما در مسیر رسیدن به سرور، توسط هکرها دزدیده نشود.
برای آشنایی بیشتر با https و همه نکات مهم درباره آن، این مقاله را بخوانید:
https چیست؟
۲. ایمیلهای رمزنگاریشده: ارسال و دریافت ایمیل در سرویسهایی مثل جیمیل بر پایه TLS کار میکند تا هیچکس نتواند نامههای محرمانه شما را در میانه راه بخواند.
۳. انتقال امن فایلها (FTPS): مدیران سایتها برای آپلود فایل روی سرور از FTPS استفاده میکنند؛ یعنی همان انتقال فایل قدیمی که با TLS ایمن شده تا دیتا در مسیر لو نرود.
۴. پیامرسانها و تماسهای اینترنتی: برنامههای چت و تماس صوتی برای اینکه پیامها و صدای شما را از دسترس جاسوسان دور نگه دارند، از لایه امنیتی TLS استفاده میکنند.
۵. شبکههای خصوصی مجازی: بسیاری از سرویسهای تغییر آیپی برای ایجاد یک تونل مفصلا امن بین سیستم شما و اینترنت، از قدرت رمزنگاری TLS کمک میگیرند.
۶. ارتباط برنامهها با یکدیگر (API): وقتی نرمافزارهای مختلف، مثل اتصال یک سایت ارائهگاهی به درگاه پرداخت، میخواهند اطلاعات حساس جابهجا کنند، برای تایید هویت همدیگر از TLS استفاده میکنند.
پروتکل TLS برای ایجاد یک بستر امن در اینترنت، بر چهار مشخصه و ستون اصلی استوار است که امنیت جامع ارتباطات را ارایه میدهد. این مشخصهها عبارتند از:
پروتکل TLS تمام گزارشها تبادلشده بین مرورگر شما و سرور را به کدهای پیچیده و نامفهوم تبدیل میکند. این فرایند تضمین میکند که اگر شخص سومی ترافیک شبکه را شنود کند، نتواند محتوای آن را بخواند.
مثال: وقتی رمز عبور خود را در صفحه ورود یک وبسایت تایپ میکنید، TLS آن را رمزنگاری میکند تا در طول مسیر شبکه توسط هکرها خوانده نشود.
این خصوصیت هویت واقعی سرور را تایید میکند تا مطمئن شوید با یک سایت جعلی یا فیشینگ روبهرو نیستید. مرورگر شما با تحلیل گواهینامه دیجیتال سایت، تایید میکند که سرور مقصد دقیقا همان نهادی است که ادعا میکند.
مثال: هنگام ورود به سایت بانک، مرورگر شما گواهینامه سرور را ارزیابی میکند تا مطمئن شود به سرورهای اصلی بانک متصل شدهاید، نه سرورهای مخصوص کلاهبرداری.
پروتکل TLS تضمین میکند که دادهها در طول مسیر انتقال به هیچ وجه دستکاری نشده باشند. برای هر پیام یک کد تایید (MAC) ساخته میشود. اگر حتی یک کلمه از دادهها در میانه راه تغییر کند یا مخدوش شود، اتصال فورا قطع خواهد شد.
این یک مشخصه پیشرفته (بهخصوص در نسخه جدید TLS 1.3) است که برای هر بار اتصال شما به سرور، یک کلید رمزنگاری دقیقا نوین و یکبارمصرف میسازد. با این روش، حتی اگر کلید اصلی سرور در آینده لو برود، گزارشها ارتباطات قبلی شما همچنان امن باقی میماند و به هیچ وجه قابل رمزگشایی نخواهد بود.
پروتکل TLS از زمان استانداردسازی در سال ۱۹۹۹ تاکنون چهار ویرایشی رسمی داشته که هرکدام سطح متفاوتی از امنیت و بازده ارائه میدهند:
اولین ویرایشی رسمی TLS بود (RFC 2246) و مستقیماً از SSL 3.0 مشتق شد. این ادیشن از الگوریتمهای ضعیفی مانند RC4 و آسیبپذیر به حملاتی نظیر BEAST پشتیبانی میکرد. در مارس ۲۰۲۱، IETF طی سند RFC 8996 بهطور رسمی این ادیشن را منسوخ (Deprecated) و به وضعیت Historic منتقل کرد.
ادیشنای میانی بود (RFC 4346) که برخی از ضعفهای امنیتی TLS 1.0 (مانند مقابله با حملات CBC) را برطرف کرد، اما همچنان از الگوریتمهای قدیمی پشتیبانی میکرد. این ادیشن نیز همراه با TLS 1.0 در RFC 8996 رسماً منسوخ در دسترس قرار گرفت.
با RFC 5246 ارائه شد و به دلیل پشتیبانی از الگوریتمهای رمزنگاری مدرنتر (از جمله AEAD مانند AES-GCM) و بیشتر شدن انعطاف در انتخاب الگوریتم هش، برای مدت طولانی نسخه جدیدی توصیهشده و پرکاربرد اینترنت بود. این ویرایش هنوز هم منسوخ نشده و در کنار TLS 1.3 بهطور گسترده استفاده میشود؛ طبق آمار موجود حدود ۹۵ درصد از وبسایتها هنوز از آن پشتیبانی میکنند.
با RFC 8446 و پس از حدود یک دهه کار و بازنویسی مکرر (۲۸ پیشنویس) ارائه شد. این ادیشن با حذف جامع الگوریتمهای ناامن (مانند RC4، 3DES، و روشهای تبادل کلید بدون Forward Secrecy) و سادهسازی فرایند handshake، توانست به 1-RTT (و حتی 0-RTT در برخی سناریوها) برسد و درصد قابلتوجهی در تاخیر اتصال صرفهجویی کند. در جدول زیر وضعیت هر کدام از نسخه جدید به اختصار آورده شد:
نکته:
بر این اساس، پیکربندی امنیتی سرورها باید فقط TLS 1.2 و TLS 1.3 را فعال نگه دارد. علاوه بر این اجرای کنترل ادیشن دفاعی (جلوگیری از Downgrade Attack) در تنظیمات همچنان ضروری است. برای نمونه، حملهی POODLE با واداشتن کلاینت به بازگشت از TLS به SSL 3.0 ضعیفتر، توانایی استخراج دادهی رمزنگاریشده را فراهم میکرد.
از لحاظ فنی، SSL استانداردی قدیمی، پر از باگهای امنیتی و مفصلاً منسوخشده است، در حالی که TLS پروتکل مدرن، فعال و استاندارد فعلی اینترنت به شمار میرود. استفاده از نام SSL در زمان سفارش گواهینامهها صرفاً یک عادت تجاری است و در عمل تمامی این گواهیها از پروتکل TLS استفاده میکنند. برای مطالعه اطلاعات دقیق تاریخی و تفاوت الگوریتمهای آنها میتوانید به مقاله تفاوت tls و ssl مراجعه کنید.
برای آشنایی پایه با همه نکات درباره SSL مقاله زیر را بخوانید:
SSL چیست؟
پروتکل TLS لایه زیربنایی رمزنگاری و تضمینکننده امنیت مسیر انتقال است، در حالی که HTTPS نسخه جدید ایمنشدهی پروتکل انتقال فرامتن (HTTP) است که روی این بستر رمزنگاریشده (TLS) اجرا میشود. به زبان سادهتر، TLS ابزاری است که فرایند انتقال داده را رمزنگاری میکند و HTTPS حاصلی پیادهسازی این امنیت در سطح مرورگر و وبسایت است.
خیر، برعکس باور عمومی، استفاده از این پروتکل نه تنها باعث کندی نمیشود، بلکه به دلیل باز کردن مسیر برای استفاده از پروتکل HTTP/2 و HTTP/3، سرعت بارگذاری صفحات را رشد میدهد. همانطور که اشاره شد، استفاده از الگوریتمهای با سرعت AEAD و قابلیت بازنشانی نشست، هزینههای تاخیر شبکه را به شدت کم شدن داده و سربار پردازشی سرور را در حد بسیار نامحسوسی نگه میدارد.
صدور این گواهیها مطابق با استاندارد RFC 5280 و معیارهای سختگیرانه انجمن CA/B Forum انجام میشود که دارای سه سطح اعتبارسنجی متفاوت هستند. احراز هویت خود سه نوع سطح گواهینامه دارد:
گواهینامههای دامنه (DV) که به گواهی استاندارد نیز معروفند، پایینترین سطح احراز هویت را ارائه میدهند. به این معنی که نهادهای ناشناس میتوانند این گواهینامه را دریافت کنند. این پروتکل برای وبسایتهای کوچک کارآمد است. زیرا مطابق نام دامنه و بهراحتی اعطا میشود.
گواهی سازمانی (OV) تحلیلهای بیشتری را برای اطمینان از محافظت از هویت و برند انجام میدهد. احراز هویت برای وبسایتهای تجاری و تجارت الکترونیک فواید زیادی از جمله جلب اعتماد مشتریان را به همراه دارد.
گواهی پیشرفته (EV) بالاترین استاندارد حفاظت از هویت و برند را تضمین میکند. با EV، برندها به مشتریان متعهد میشوند که تراکنشها امن هستند. این گواهی از هزینه نسبتا بالاتری برای خریداری و تمدید برخوردار است. از سوی دیگر مراحل دریافت آن طولانیتر و پیچیدهتر است. به همین علت دریافت آن به وبسایتهای پربازدید، صرافیها، بانکها و نهادهای مالی بزرگ توصیه میشود. البته برای وبسایتهایی که دادهها مهمی را نگهداری میکنند هم بهترین گزینه است.
گواهینامههای EV و OV پیچیدگی و هزینه بیشتری نسبت به DV در دریافت و تمدید دارند. اما از طرفی امنیت بیشتری برای برند و وبسایت شما فراهم میکنند و منجر به جلب اعتماد بیشتری از سمت کاربران خواهند شد.
بسته به تعداد دامنهها یا زیر دامنههایی که میتوان با یک گواهینامه استفاده کرد، سه نوع از گواهینامه TLS وجود دارد:
این نوع گواهینامه فقط برای یک دامنه قابلاستفاده است و برای یک زیر دامنه قابلاستفاده نیست. بهعنوانمثال، اگر گواهینامه Single-name SSL برای دامنه www.example.com سفارشاریشده باشد، نمیتوان از آن برای test.example.com استفاده کرد.
این نوع گواهینامه برای ایمنسازی یک دامنه با تمامی زیر دامنههای آن استفاده میشود. بهعنوانمثال، اگر یک گواهینامه Wildcard SSL برای دامنه www.example.com خریداریاری کردهاید، میتوانید از آن برای blog.example.com و news.example.com و زیر دامنههای دیگر هم استفاده کنید.
با صدور گواهینامه SSL چند دامنهای، میتوانید از یک گواهینامه برای تعداد معینی دامنه استفاده کنید و تمامی آنها را مجهز به پروتکل امنیتی TLS یا SSL سازید.
گواهینامههای مجانی که عموماً توسط مراجعی مانند Let’s Encrypt صادر میشوند، همان سطح از رمزنگاری قدرتمند گواهیهای استاندارد را بدون دریافت هزینه فراهم میکنند. این مراجع به منظور نزول ریسکهای مرتبط با زنجیره اعتماد و کنترل خسارات احتمالی، اعتبار گواهیها را به دورههای کوتاهمدت محدود میکنند. در پنل کاربری پارسپک، قابلیت دریافت و تنظیم تمدید خودکار این گواهینامههای SSL مجانی به سادگی برای کاربران فراهم شده است.
استفاده از گواهینامه TLS با وجود اینکه برای حفظ امنیت وبسایتها دقیقا ضروری است، اما چالشها و دردسرهایی هم برای مدیران سایتها (بهویژه در ایران) به همراه دارد. در ادامه مهمترین این چالشها را به زبان ساده تحلیل کردهایم:
این مورد یکی از آزاردهندهترین موانع برای کاربران ایرانی است. بسیاری از شرکتهای معتبر صادرکننده گواهینامه در جهان، به دلیل تحریمهای بینالمللی از ارائه خدمات به دامنههای ملی (مثل ir.) یا شرکتهای ثبتشده در ایران خودداری میکنند. این محور باعث میشود دریافت گواهینامههای تجاری و سازمانی (مثل OV و EV) برای سایتهای ایرانی بسیار سخت و در مواردی غیرممکن باشد.
هیچ گواهینامهای دائمی نیست. گواهینامههای بدون هزینه (مثل Let’s Encrypt) معمولا ۹۰ روزه و گواهینامههای پولی نهایتا یکساله هستند. اگر مدیر سایت تمدید گواهینامه را فراموش کند یا فرایند تمدید خودکار روی سرور با خطا روبهرو شود، سایت از دسترس خارج میشود و کاربران با پیام «Your coection is not private» مواجه میشوند که اعتماد آنها را به شدت کم شدن میدهد.
نصب گواهینامه روی سرور خاتمه کار نیست. وقتی سایت را به حالت امن (HTTPS) منتقل میکنید، تمام لینکهای داخلی، عکسها، فایلهای CSS و کدهای جاوا اسکریپت هم باید حتما با آدرس امن لود شوند. اگر حتی یک عکس در سایت با آدرس قدیمی (HTTP) فراخوانی شود، مرورگر اتصال را دقیقا امن نمیداند و خطای محتوای ترکیبی میدهد. پیدا کردن و رفع این خطا در سایتهای بزرگ میتواند زمانبر باشد.
نصب TLS نیازمند پیکربندی دقیق روی وبسرور است. اگر ریدایرکتها (انتقال ترافیک از آدرس قدیمی به آدرس امن) به درستی انجام نشوند، کاربران با خطاهای دسترسی مواجه میشوند. علاوه بر این، موتورهای جستوجو ممکن است سایت شما را با دو آدرس مجزا شناسایی کنند که این مسئله به دلیل ایجاد «محتوای تکراری»، ضربه سنگینی به سئو سایت میزند.
رمزنگاری و رمزگشایی گزارشها به قدرت پردازشی سرور نیاز دارد. در ادامه در اولین ارتباط کاربر با سایت، فرایندی به نام «دستدهی» (Handshake) برای تایید هویت سرور انجام میشود که چند میلیثانیه زمان میبرد. هرچند این تاخیر در ویرایشهای تازه (مثل TLS 1.3) و با استفاده از شبکههای توزیع محتوا (CDN) بسیار ناچیز شده است، اما در سرورهای ضعیف یا تنظیمات غیراستاندارد همچنان میتواند روی سرعت بارگذاری تاثیر منفی بگذارد.
همانطور که در بخش قبلی هم اشاره شد، بزرگترین خطر برای سیستمهای مبتنی بر TLS، ریسکهای زنجیره اعتماد است؛ رویدادهای تاریخی مانند نفوذ به شرکت DigiNotar نشان داد که هک شدن یک مرجع صدور گواهی (CA) میتواند به صدور گواهیهای جعلی و هک گسترده منجر شود. علاوه بر این، تنظیمات نادرست و پشتیبانی از الگوریتمهای ضعیف میتواند سرور را مستعد حملات شنود و کم شدن نسخه جدید کند. از این رو بهکارگیری رمزنگاری پسابردار در معماری سرور بسیار ضروری است.
بله اکثر وبسایتهایی که تجارت خود را در اینترنت انجام میدهند، به گواهینامه دیجیتال TLS/SSL برای رمزگذاری و ایمن کردن دادههای خصوصی ارسالشده نیاز دارند. گواهینامههای TLS/SSL از گزارشها خصوصی کسبوکار و مشتریان شما محافظت میکند. علاوه بر این بدون گواهی، اکثر مرورگرهای اصلی پیام «Not Secure» را در نوار آدرس نمایش میدهند. داشتن یک وبسایت ناامن میتواند مشتریان را از تکمیل تهیه یا تجارت با شرکت شما بازدارد. اگر میخواهید بالاترین سطح امنیت و اعتبار برند را به مشتریان نشان دهید، توصیه میکنیم از گواهینامه EV یا OV استفاده کنید.
برای شروع کار پیادهسازی ارتباط امن در زیرساخت خود، نیازمند تهیه گواهینامه معتبر هستید. شما میتوانید با مراجعه به صفحه تهیه گواهی ssl در وبسایت پارسپک، انواع پلنهای اعتبارسنجی را تحلیل کرده و مناسبترین گواهینامه جهانی را همراه با تضمین صحت نصب و پشتیبانی فنی برای کسبوکار خود انتخاب کنید.
پروتکل TLS هسته مرکزی اعتماد و حفظ حریم خصوصی در معماری مدرن اینترنت است. استفاده از ادیشنهای بهروز رسانیشده مانند TLS 1.3 در کنار غیرفعالسازی رمزهای ضعیف و توجه به اعتبارسنجی دقیق زنجیره گواهی، زیرساختی دقیقاً ایزوله در برابر حملات استراق سمع ایجاد میکند. برای پیادهسازی این لایههای امنیتی پیچیده بدون دغدغه فنی، استفاده از سرویسهای تخصصی و گواهینامههای معتبر ارائهشده در پارسپک، مسیر شما را برای ارائه یک تجربه وبگردی مفصلاً امن به کاربرانتان هموار خواهد کرد.
این عبارت مخفف Transport Layer Security است که وظیفهی برقراری یک تونل رمزنگاریشده و احراز هویت سرور را بر عهده دارد.
ادیشن TLS 1.3 با حذف پشتیبانی از الگوریتمهای آسیبپذیر و نزول مراحل هندشیک به یک دور رفتوبرگشت (1-RTT)، زمان تاخیر اتصال را کم شدن داده است. از سوی دیگر با حذف دقیق روشهای تبادل کلید ایستا (مانند RSA key exchange)، استفاده از رازداری پیشرو (Forward Secrecy) را برای همهی اتصالات اجباری کرده؛ در حالیکه این خصوصیت در TLS 1.2 صرفاً اختیاری بود.
این خطا ناشی از پیکربندی نادرست زنجیره گواهی، خاتمه اعتبار، عدم تطابق نام دامنه یا استفاده از نسخه جدیدهای منسوخ پروتکل در وبسرور است که با اصلاح فایل کانفیگ و تمدید یا صدور مجدد گواهی برطرف میگردد.
بله، گواهینامههای کوتاهمدت مراجعی چون Let’s Encrypt دقیقاً از همان الگوریتمهای استاندارد ویرایشهای تجاری استفاده میکنند و عمر کوتاه آنها ریسک ناشی از افشای احتمالی کلید در بلندمدت را نزول میدهد.
هر وبسایتی بدون گواهینامه TLS/SSL، پیام «Not safe» را در نوار آدرس مرورگر حاکی از آن است. تنها راه برای رفع پیام “Not Secure” در وبسایت شما، نصب یک گواهینامه TLS/SSL است.
سوالات متداول
چرا پروتکل TLS چیست و چگونه کار میکند؟ اهمیت دارد؟
این موضوع به دلیل اطلاعات و کاربردهای مرتبط، مورد توجه کاربران قرار گرفته است.
پروتکل TLS چیست و چگونه کار میکند؟ چیست؟
در این مطلب اطلاعات، جزئیات و نکات مرتبط با پروتکل TLS چیست و چگونه کار میکند؟ بررسی شده است.
آخرین اطلاعات درباره گواهینامه چیست؟
جدیدترین اطلاعات و تغییرات مربوط به گواهینامه در این گزارش ارائه شده است.
