TLS

پروتکل TLS چیست؟

TLS به‌عنوان ستون امنیت اینترنت، نه‌تنها داده‌ها را رمزنگاری می‌کند، بلکه با مکانیزم‌های نوآورانه‌ای مانند False Start و Session Resumption تجربه‌ای سریع و کم‌تاخیر برای کاربران فراهم می‌آورد.

TLS چیست؟

امنیت لایه انتقال (Transport Layer Security) یا TLS یک پروتکل استاندارد متعلق به کارگروه مهندسی اینترنت (IETF) است که برای فراهم کردن احراز هویت، محرمانگی و یکپارچگی داده‌ها میان دو برنامه‌ کامپیوتری که با یکدیگر ارتباط برقرار می‌کنند، استفاده می‌شود.

فورتی گیت

فرض کنید می‌خواهید وارد اینترنت بانک خودتان بشوید و موجودی حساب بانکیتان را چک کنید. وقتی آدرس سایت بانک را باز می‌کنید، کنار آدرس یک علامت قفل قرار دارد و آدرس با  HTTPS شروع می‌شود. در این حالت، TLS فعال است.

یعنی اگر در مسیر ارتباط کسی تلاش کند رمز عبور یا اطلاعات کارت شما را شنود کند، فقط یک متن کاملاً رمزگذاری‌شده و نامفهوم می‌بیند. هیچ‌کس نمی‌تواند متوجه شود چه چیزی ارسال شده، و اگر کسی بخواهد اطلاعات را تغییر دهد، TLS بلافاصله متوجه می‌شود. بنابراین با استفاده از TLS، ورود به اینترنت بانک، خرید آنلاین، یا حتی چت کردن در یک پیام‌رسان، ایمن و قابل اعتماد می‌شود.

به طور خلاصه TLS در حال حاضر گسترده‌ترین پروتکل امنیتی پیاده‌سازی‌ شده در جهان است و بهترین گزینه برای مرورگرهای وب و سایر اپلیکیشن‌هایی محسوب می‌شود که نیاز دارند داده‌ها به‌صورت امن در یک شبکه مبادله شوند. این موارد شامل موارد زیر است:

  • نشست‌های مرور وب
  • انتقال فایل
  • اتصال‌های شبکه خصوصی مجازی‌ ‌(VPN)
  • نشست‌های دسترسی از راه دور ‌(Remote Desktop)
  • تماس‌های صوتی مبتنی بر IP (VoIP)

TLS چگونه کار می‌کند؟

TLS از مکانیزم handshake کلاینت سرور برای برقراری یک اتصال رمزگذاری ‌شده و امن استفاده می‌کند که صحت و اعتبار ارتباط را تضمین می‌کند. در این فرآیند، کلاینت و سرور ابتدا قابلیت‌های رمزنگاری خود را تبادل می‌کنند، سپس با استفاده از گواهی‌های دیجیتال احراز هویت انجام شده و در نهایت یک Session Key ایجاد می‌شود. این کلید، پایه تبادل امن داده‌ها در طول ارتباط TLS است و تضمین می‌کند که هیچ واسطه یا مهاجمی نمی‌تواند ارتباط را شنود یا تغییر دهد.

همچنین بهتر است بدانید از آنجایی که برقراری ارتباط امن با TLS شامل مراحل پیچیده‌ای است، انجام محاسبات و پردازش‌های آن برای سیستم‌ نیازمند زمان و توان پردازشی است. با این حال، مکانیزم‌های بهینه‌سازی در TLS طراحی شده‌اند، تا تأخیر را به حداقل برسانند. یکی از این راهکارها TLS False Start است؛ قابلیتی که اجازه می‌دهد کلاینت و سرور پیش از تکمیل کامل فرایند handshake شروع به تبادل داده کنند.

فناوری دیگری که به افزایش سرعت کمک می‌کند TLS Session Resumption نام دارد. با این قابلیت، طرفین می‌توانند در اتصال‌های بعدی به جای اجرای کامل handshake، از یک فرآیند کوتاه‌تر و سریع‌تر استفاده کنند.

به لطف این نوآوری‌ها، TLS بدون اینکه تاثیر محسوسی بر عملکرد و سرعت بارگذاری داده‌ها بگذارد، به یک پروتکل سریع و کارآمد تبدیل شده است. همچنین جالب است بدانید، زمانی که گوگل در سال ۲۰۱۰ تمام سرویس Gmail را به HTTPS منتقل کرد، هیچ نیازی به ارتقای سخت‌افزار سرورها پیدا نکرد. حتی با فعال بودن رمزنگاریTLS ، میزان افزایش بار روی سرورهای گوگل تنها حدود ۱ درصد بود.

چگونه بفهمیم که یک سایت از رمزنگاری TLS استفاده می ‌کند؟

چندین ابزار رایگان برای بررسی وجود دارد که می‌توانند تعیین کنند که آیا بین مرورگر وب و سرور وب، اتصال TLS برقرار است یا خیر. به‌عنوان مثال، SSL Server Test از Qualys یکی از این ابزارهاست. مرورگرها، از جمله Microsoft Edge و Firefox، نیز ابزارهایی برای بررسی نسخه TLS یک وب‌سایت ارائه می‌دهند. همچنین، بررسی نسخه‌های TLS پشتیبانی‌شده توسط مرورگر وب با استفاده از SSL/TLS Client Test ا  BrowserLeaks به ‌راحتی امکان‌پذیر است.

TLSچگونه بر عملکرد وب اپلیکیشن‌ها تأثیر می‌گذارد؟

وقتی یک اتصال TLS بین مرورگر وب و سرور وب برقرار می‌شود، مقداری توان محاسباتی برای راه‌اندازی آن، مصرف می ‌شود و به این ترتیب چند پیام رفت ‌و برگشت پیش از اینکه هر داده‌ای منتقل شود، بین آن‌ها مبادله میشود. این فرآیند handshake معمولاً تنها چند میلی‌ثانیه طول می‌کشد.

پس از تکمیل فرایند handshake، فناوری‌هایی وجود دارند که باعث می‌شوند TLS با سرعت بالا ادامه یابد. به‌عنوان مثال، TLS False Start اجازه می‌دهد سرور و کلاینت پیش از پایان یافتن کامل handshake، ارسال و دریافت داده‌ها را آغاز کنند.

همچنین، TLS Session Resumption این امکان را فراهم می‌کند که هنگام بازگشت به یک جلسه قبلی، از یک handshake کوتاه‌شده استفاده شود و سرعت اتصال افزایش یابد. نسخه TLS 1.3 نیز این روند را بهینه‌تر کرده و handshake را تنها در یک دور رفت ‌و برگشت بین سرور و کلاینت به پایان می‌رساند.

گواهی SSL چیست؟

گواهی SSL (Secure Sockets Layer) یک گواهی دیجیتال برای احراز هویت وب‌سایت است که امکان برقراری ارتباط رمزگذاری‌ شده با آن را فراهم می‌کند.

باید بدانید که SSL نسل پیشین، پروتکل TLS محسوب می‌شود و وظیفه آن ایجاد یک کانال ارتباطی امن و رمزگذاری ‌شده بین مرورگر کاربر و وب ‌سروری است که وب‌ سایت روی آن میزبانی می‌شود.

مزایای استفاده از پروتکل TLS

استفاده از پروتکل TLS در برخی موارد نسبت به بعضی از پروتکل ها از مزایای قابل توجهی برخوردار است. به گونه ای که وقتی TLS را با دیگر پروتکل‌های امن احراز هویت و رمزگذاری مانند IPsec مقایسه می‌کنیم، TLS مزایای اضافی ارائه می‌دهد و به همین دلیل در بسیاری از پیاده‌سازی‌های سازمانی، IPsec جای خود را به TLS داده است. از جمله این مزایا میتوان به موارد زیر اشاره کرد:

  • امنیت در TLS به‌طور مستقیم در اپلیکیشن تعبیه شده است، برخلاف IPsec که برای ایجاد تونل‌های امن به نرم‌افزار یا سخت‌افزار اضافی نیاز دارد.
  • ارتباط بین دستگاه‌ها به‌صورت رمزگذاری سرتا سری یا همان end to end برقرار می‌شود، به این معنا که هیچ شخص ثالثی قادر به مشاهده یا تغییر داده‌ها نیست.
  • TLS امکان کنترل دقیق و جزئی روی اطلاعاتی که می‌توانند ارسال یا دریافت شوند را فراهم می‌کند، بنابراین امنیت و مدیریت داده‌ها با دقت بیشتری انجام می‌شود.
  • از آنجایی که TLS در لایه‌های بالاتر مدل OSI عمل می‌کند، با مشکلات معمول ترجمه آدرس شبکه (NAT) که در IPsec دیده می‌شود مواجه نمی‌شود.
  • علاوه بر این، TLS دارای قابلیت‌های ثبت، حسابرسی و (Logging Auditing) است که به‌طور مستقیم در پروتکل گنجانده شده است و به این ترتیب مدیریت و امنیت را ساده و کارآمد می‌سازد.

تفاوت TLS و ‌SSL

در رابطه با تفاوت این دو پروتکل بهتر است بدانید که بیشتر تفاوت‌های بین این دو پروتکل، ماهیتی تکاملی دارند و با هدف رفع آسیب‌پذیری‌ها و بهبود قابلیت‌های پیاده‌سازی و یکپارچه‌سازی ایجاد شده‌اند. از جمله تفاوت‌های کلیدی که TLS را به پروتکلی امن‌ تر و کارآمدتر نسبت به SSL کرده است، می‌توان به موارد زیر اشاره کرد:

  • حراز هویت پیام‌ها ‌(Message Authentication)
  • تولید کلیدها و مواد رمزنگاری ‌(Key Material Generation)
  • پشتیبانی از مجموعه الگوریتم‌های رمزنگاری(Cipher Suites) ، که TLS از الگوریتم‌های جدیدتر و امن‌تر پشتیبانی می‌کند.

همچنین بهتر است بدانید، TLS و SSL به‌طور مستقیم با یکدیگر سازگار نیستند؛ با این حال، نسخه‌های جدید TLS تا حدی سازگاری با سیستم‌های قدیمی را فراهم می‌کنند. علاوه بر این، TLS به‌ویژه نسخه‌های جدیدتر فرآیند handshake را بسیار سریع‌تر از SSL انجام می‌دهد، که از دید کاربران باعث کاهش محسوس تأخیر در ارتباطات می‌شود.

تفاوت بین TLS و HTTPS چیست؟

رمزنگاری TLS به‌طور خلاصه یک پروتکل امنیتی است که بین مرورگر وب و سرور وب فعالیت می‌کند. اغلب به اشتباه تصور می‌شود که TLS و HTTPS معادل هم هستند، در حالی که HTTPS در واقع یک ترکیب از HTTP و TLS است.

به عبارت دیگر، اگر وب ‌سایتی از HTTPS استفاده کند، از رمزگذاری TLS استفاده می‌کند که از نظر فنی یک اتصال TLS است.

مقالات مرتبط

Leave A Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.