TLS چیست؟ + بررسی عملکرد و دلایل اهمیت آن
دلیل اهمیت tls چیست و چرا وبسایتها و وب اپلیکیشنها باید از آن استفاده کنند؟ وظیفه پروتکل tls چیست و چه کاری انجام میدهد؟ همه این موارد را در ادامه بررسی میکنیم. محافظت از دادهها در اینترنت از اهمیت بالایی برخوردار بوده و استفاده از پروتکل TLS تضمین میکند که این دادهها به شکل امن منتقل میشوند. در این مطلب درباره روند کار این پروتکل توضیح میدهیم و میبینیم که چرا استفاده از آن اهمیت دارد.
فهرست مطالب
پروتکل TLS چیست؟
قبل از بررسی جزئیات دیگری درباره این پروتکل، بیایید اول مرور کنیم که TLS چیست و به چه منظوری استفاده میشود. TLS نوعی پروتکل رمزنگاری است که از آن برای فراهم کردن امنیت دادههای ارسال شده بین اپلیکیشنها در اینترنت استفاده میشود. کاربران استفاده از این پروتکل در مرور وب را با علامت قفل که در مرورگرها نمایش داده میشود، متوجه خواهند شد. البته تنها کاربرد این پروتکل، در مرور وب نیست؛ بلکه در اپلیکیشنها و برنامههای دیگر از جمله ایمیل، انتقال فایل، کنفرانسهایی ویدیویی و صوتی، ارسال پیام یا فایل صوتی از طریق IP و همچنین در ارائه خدمات اینترنتی مانند DNS و NTP نیز کاربرد دارد.
پروتکل TLS یا پروتکل امنیت لایه انتقال (Transport Layer Security) از SSL که برای امن کردن جلسات وب استفاده میشود، توسعه یافته است. در سال 1999 پروتکل TLS در RFC 2246 بهعنوان یک پروتکل مستقل شناخته شد، اگرچه در آن زمان به شکل مستقیم با SSL 3.0 قابل ادغام نبود، اما در صورت لزوم حالت بازگشتی (fallback) را ارائه میدهد. در سال 2015 پروتکل SSL 3.0 ناامن شناخته شده و توسط RFC 7568 منسوخ شد. پس از آن، توصیه میشد که از پروتکل TLS 1.2 استفاده کنیم. در حال حاضر و از دسامبر سال 2015 پروتکل TLS 1.3 در حال توسعه بوده و الگوریتمهایی که امنیت کمتری داشته باشند را متوقف خواهد کرد.
آنچه که نشان میدهد دلیل اهمیت پروتکل tls چیست را باید در روند ایجاد امنیت توسط آن بررسی کرد. این پروتکل تنها سیستمهایی نهایی را امن نمیکند، بلکه تحویل امن دادهها از طریق اینترنت را تضمین کرده و از دسترسی غیرمجاز یا تغییر محتوا جلوگیری میکند. معمولاً پروتکل TLS را بهمنظور رمزگذاری پروتکلهای لایه برنامه مانند HTTP ،FTP ، SMTP و IMAP روی TCP پیادهسازی میکنند. البته میتوان آن را روی UDP ، DCCP و SCTP (بهعنوانمثال برای استفادههای کاربردی مبتنی بر VPN و SIP) نیز پیادهسازی کرد. این پروتکل بهعنوان امنیت لایه انتقال دادهگرام یا DTLS (Datagram Transport Layer Security) شناخته شده و در RFCهای 6347، 5238 و 6083 نیز آمده است. در ادامه بیشتر توضیح میدهیم که tls چیست و با نحوه کار آن آشنا میشویم.
عملکرد پروتکل TLS
بهطورکلی میتوانیم با بررسی سه جزء اساسی نشان دهیم که ساختار عملکرد tls چیست و این پروتکل چطور کار میکند. این سه بخش عملکردی عبارتاند از:
- رمزگذاری؛ از طریق پنهان کردن دادههای در حال انتقال از اشخاص ثالث
- احراز هویت؛ برای بررسی اطمینان از هویت واقعی طرفین مبادله اطلاعات
- یکپارچگی؛ از طریق تأیید دادهها و عدم جعل یا دستکاری آنها
اما بیایید ببینیم روند کار پروتکل tls چیست و این سه بخش چطور با هم کار میکنند. ایجاد اتصال TLS از طریق دنبالهای به نام دست دادن یا همان TLS Handshake شروع میشود. پس از ورود کاربر به سایتی که از این پروتکل استفاده میکند، دست دادن بین دستگاه کاربر (کلاینت) و وب سرور شروع خواهد شد. در طول دست دادن، آنچه که بین دستگاه کاربر و وب سرور اتفاق میافتد، عبارت است از:
- مشخص کردن نسخه TLS مورد استفاده (نسخه 1.0، 1.2 یا 1.3 و …)
- انتخاب مجموعه رمز (cipher suits) مورد استفاده
- تأیید هویت سرور با استفاده از گواهی TLS
- ایجاد کلیدهای جلسه برای رمزگذاری بین پیامها پس از اتمام دست دادن
در دست دادن TLS یک مجموعه رمز برای هر جلسه (session) ایجاد میشود. این cipher suit شامل مجموعهای از الگوریتمها است که جزئیاتی مانند کلیدهای رمزگذاری مشترک (shared encryption keys) یا کلیدهای جلسه (session keys) را مورد استفاده قرار میدهد. به لطف استفاده از فناوری موسوم به رمزنگاری کلید عمومی یا public key cryptography، پروتکل tls میتواند کلیدهای جلسه منطبق را روی یک کانال رمزگذاری نشده، تنظیم کند.
عملکرد Handshake همچنین مسئولیت انجام احراز هویت را برعهده دارد که معمولاً شامل اثبات هویت خود توسط سرور به کلاینت است. این کار با استفاده از کلیدهای عمومی که از رمزگذاری یک طرفه استفاده میکنند، انجام میشود. رمزگذاری یک طرفه به این معنی است که هر کسی با در اختیار داشتن کلید عمومی، میتواند دادههای رمزگذاری شده با کلید خصوصی سرور را (برای اطمینان از صحت آن) از حالت رمزگذاری خارج کند، اما تنها فرستنده اصلی قادر به رمزگذاری دادهها با کلید خصوصی است.
کلید عمومی سرور، بهعنوان بخشی از گواهی TLS آن در نظر گرفته میشود. پس از رمزگذاری و احراز هویت دادهها، با یک کد احراز هویت پیام (MAC) امضا میشوند. حالا گیرنده میتواند برای اطمینان از صحت دادهها، MAC را تأیید کند. بهاینترتیب، پروتکل امنیت لایه انتقال اجرا میشود.
گواهی TLS چیست؟
وبسایتهایی که از این پروتکل استفاده میکنند، یک گواهی TLS دریافت خواهند کرد، اما این گواهی TLS چیست و چه چیزی را نشان میدهد؟
برای اطمینان از استفاده یک وبسایت یا برنامه از پروتکل امنیت لایه انتقال لازم است گواهی TLS روی سرور اصلی نصب شود. این گواهی گاهی تحت عنوان گواهی SSL هم شناخته میشود. دریافت این گواهی TLS از طریق یک مرجع صدور گواهی برای اشخاص یا کسبوکارهای صاحب دامنه امکانپذیر است. اطلاعاتی از جمله نام مالک دامنه و یک کلید عمومی سرور در گواهی قید شده که هر دو برای اعتبارسنجی هویت سرور اهمیت دارند.
نحوه تأثیر TLS بر عملکرد وب اپلیکیشن
برای توسعهدهندگان وب مهم است که بدانند تأثیر عملکردی tls چیست و چطور روی عملکرد وب اپلیکیشنها اثر میگذارد. ازآنجاییکه راهاندازی یک اتصال TLS فرایند پیچیدهای دارد، احتمالاً زمان بارگذاری و توان محاسباتی تا حدی نیاز است. کلاینت و سرور باید قبل از ارسال هرگونه دادهای چندین بار با هم ارتباط برقرار کنند که این کار باعث میشود تا زمان بارگذاری برنامهها در حد چند میلیثانیه تغییر کرده و همچنین مقدار حافظه برای کلاینت و سرور کاهش پیدا کند.
بااینحال، برخی فناوریها برای کمک به کاهش تأخیر احتمالی ناشی از فرایند دست دادن TLS وجود دارد. یکی از این فناوریها، TLS False Start است که امکان شروع انتقال دادهها قبل از اتمام فرایند Handshake را فراهم میکند. یکی دیگر از فرایندهای افزایش سرعت، فناوری TLS Session Resumption است که اجازه میدهد تا کلاینتها و سرورهایی که در پروتکل امنیت لایه انتقال قبلاً با هم ارتباط برقرار کردهاند، از یک روند دست دادن مختصرتر استفاده کنند.
همه این موارد باعث شده تا پروتکل TLS به یک پروتکل سریع تبدیل شده و نصب آن تأثیر چندانی روی زمان بارگذاری نداشته باشد. نسخه TLS 1.3 منتشر شده در سال 2018 حتی این پروتکل را سریعتر میکند. فرآیند دست دادن TLS در TLS 1.3 به جای دو بار فقط به یک روند رفت و برگشت نیاز دارد که باعث شده تا این روند در حد چند میلی ثانیه کوتاهتر شود. چنانچه کاربر قبلاً به یک وب سایت متصل شده باشد، روند دست دادن TLS دارای رفت و برگشت صفر بوده و به این ترتیب، سرعت همچنان بیشتر میشود. حالا که میدانیم تاثیر پروتکل tls چیست و تاثیر زیادی روی سرعت سایت و برنامه نخواهد گذاشت، نباید از نصب آن غافل شده و اهمیت استفاده از آن را دست کم بگیریم.
دلیل اهمیت tls یا پروتکل امنیت لایه انتقال چیست؟
حالا که میدانیم tls چیست و چه کاری انجام میدهد، میتوانیم بررسی کنیم که چرا استفاده از آن اهمیت دارد. در طول تاریخ، دادهها به شکل رمزگذاری نشده در اینترنت منتقل میشدند و روند رمزگذاری، تنها برای بخشهایی از دادههای حساس و به شکل ایجاد رمز عبور یا جزئیات بیشتر، استفاده میشد. در سال 1996، نیاز به حفاظت از دادههای خصوصی به رسمیت شناخته شده و بر همین اساس، در سال 2014 یک بیانیه مبنی بر استفاده از روند رمزگذاری برای ترافیک اینترنت توسط طراحان پروتکل، توسعه دهندگان و اپراتورها توسط IAB منتشر شد. این بیانیه به عبارتی محرمانگی پیشفرض دادهها در اینترنت را نشان میدهد.
بدون استفاده از پروتکلهایی مانند TLS، دادههای حساس مانند اطلاعات ورود به سیستم، جزئیات کارتهای اعتباری و جزئیات شخصی بهراحتی توسط افراد غیرمجاز قابلدسترسی است. پروتکل امنیت لایه انتقال تضمین میکند که دادههای منتقل شده در اینترنت با استفاده از الگوریتمهای امن، رمزگذاری شده و توسط اشخاص ثالث قابلمشاهده و دسترسی نیست.
پس با درک این که اهمیت پروتکل tls چیست لزوم استفاده وبسایتها و کسبوکارها از این پروتکل مشخص میشود. در حال حاضر، همه مرورگرهای وب و نسخههای مختلف آن از TLS پشتیبانی کرده و حتی استفاده پیشفرض از این پروتکل در وب سرورها رایج است. البته استفاده از این پروتکل برای ایمیل و برخی اپلیکیشنها اجباری نیست و برخلاف مرورگرها که نماد قفل در بالای صفحهنمایش داده میشود، همیشه ایجاد اتصالات رمزگذاری شده برای کاربران مشخص نیست.
جمعبندی
در این مطلب به طور کامل دیدیم که tls چیست و چرا استفاده از آن اهمیت دارد. همچنین دیدیم که تأثیر پروتکل tls چیست و چطور روی عملکرد وب اپلیکیشنها اثر میگذارد. استفاده از پروتکل امنیت لایه انتقال برای وبسایتها و وب اپلیکیشنها ضروری است و اعتماد کاربران را جلب میکند، چرا که انتقال دادهها را به شکل امن و رمزگذاری شده تضمین میکند.
سؤالات متداول
عملکرد این پروتکل به سه جزء رمزگذاری از طریق پنهان کردن دادهها، احراز هویت طرفین مبادله دادهها و یکپارچگی از طریق تأیید دادهها تقسیم میشود.
گواهی TLS از طریق یک مرجع صدور گواهی برای اشخاص یا کسبوکارهای صاحب دامنه، روی سرور اصلی نصب میشود.