تفاوت دو پروتکل ssl و tls چیست؟ نگاهی به شباهتها و تفاوتها
برای نصب پروتکل امنیت روی سرورهای سایت یا برنامه خود، باید بدانید که تفاوت دو پروتکل ssl و tls چیست. همچنین برای استفاده از این پروتکلها، لازم است بدانیم که از نظر ویژگیها و عملکرد، تفاوت میان tls و ssl چیست و روند کار هرکدام به چه صورت است. هر دو پروتکل، برای تأمین امنیت تبادل داده بین مرورگرهای وب و وب سرورها استفاده میشوند. این دو پروتکل شباهتهای متعددی از نظر هدف و نحوه عملکرد دارند، اما آنچه برای ما اهمیت دارد، تفاوتهای این دو است که باعث شده پروتکل TLS جایگزین SSL شده و نسبت به آن ترجیح داده شود. در ادامه بیشتر این تفاوتها را بررسی خواهیم کرد.
فهرست مطالب
SSL یا Secure Sockets Layer چیست؟
قبل از آن که بخواهیم بررسی کنیم که تفاوت دو پروتکل ssl و tls چیست بهتر است هر دو پروتکل را مرور کنیم. در ابتدا، پروتکل SSL را بررسی میکنیم. پروتکل SSL در توسعه ارتباطات آنلاین ایمن نقشی اساسی داشته و به انتقال امن اطلاعات بین سرور و مرورگر کمک میکند. مهمترین وظیفه این پروتکل، رمزگذاری دادهها و تبدیل آنها به کدهایی است که دسترسی به آن برای افراد غیرمجاز، سخت و پیچیده باشد. ایجاد اتصال امن یک وب سرور و کلاینت (میتواند وب سرور، مرورگر، سرور ایمیل و یا کلاینت ایمیل باشد) با افزودن گواهی Wildcard SSL تقویت خواهد شد.
این گواهی نهتنها برای تضمین حفظ حریم خصوصی و یکپارچگی دادهها، بلکه بهمنظور امن کردن سایر زیر دامنههای مرتبط با دامنه اصلی هم کاربرد دارد. دو فرایند اصلی شامل دست دادن (handshake) بین کلاینت – سرور و سپس انتقال انبوه دادهها، در این پروتکل رخ میدهد. در روند handshake، سرور و کلاینت تصمیم میگیرند که از چه پارامترهایی برای برقراری ارتباط بین آنها استفاده شود. یکی از عواملی که تعیین میکند تفاوت میان tls و ssl چیست در همین نحوه دست دادن مشخص میشود.
TLS یا Transport Layer Security چیست؟
برای درک بهتر این که تفاوت دو پروتکل tls و ssl چیست باید کمکی نحوه عملکرد پروتکل دوم یعنی TLS را نیز مرور کنیم. بهطورکلی، TLS یا Transport Layer Security که تحت عنوان پروتکل امنیت لایه انتقال هم شناخته میشود، یک نسخه امنتر و بهروز شده از SSL است. برای بررسی دقیقتر این که تفاوت میان tls و ssl چیست میتوانیم جنبههای فنی آنها را بررسی کنیم، اما اهداف کلی این دو مشابه است. تمرکز اصلی هر دو پروتکل روی حفظ حریم خصوصی و یکپارچگی دادهها است.
استفاده TLS از الگوریتمهای هش قویتر و همچنین کار در پورتهای مختلف، از دلایل برتری tls است. روند دست دادن در TLS با محافظت بیشتری در برابر حملات انجام شده و در نتیجه امنیت در سطح بالاتر فراهم میشود. این از مهمترین دلایلی است که نشان میدهد تفاوت دو پروتکل ssl و tls چیست. همچنین لازم است بدانید که مرورگرهای رایج و اصلی، به دلیل برخی آسیبپذیریهای امنیتی، پشتیبانی از SSL 3.0 را متوقف کردهاند. برای اطلاعات بیشتری درباره پروتکل tls به مقاله tls چیست رجوع کنید.
شباهتهای بین SSL و TLS چیست؟
قبل از آن که بخواهیم ببینیم که تفاوت دو پروتکل ssl و tls چیست میتوانیم شباهتهای این دو را بررسی کنیم. هر دو پروتکل، دادههای بین سرورها، کاربران، برنامهها و سیستمها رمزگذاری میکنند. این کار از طریق احراز هویت دو طرف در تبادل دادهها انجام میشود. پروتکل SSL در ابتدا به وجود آمد، اما پس از بروز برخی آسیبپذیریها، در سال 1999 اولین نسخه از پروتکل tls تحت عنوان TLS 1.0 جایگزین SSL 3.0 شد. مهمترین شباهتهای این دو پروتکل را در موارد زیر میتوانیم بررسی کنیم:
هدف پروتکل
هر دو پروتکل از گواهیهای دیجیتال برای تسهیل فرایند Handshake استفاده کرده و ارتباطات رمزگذاری شده بین مرورگر و وب سرور ایجاد میکنند.
استفاده در HTTPS
میدانیم که HTTP یک پروتکل یا مجموعه قوانینی برای ارتباط بین کلاینت و سرور در هر شبکه است، درحالیکه HTTPS روندی برای ایجاد یک پروتکل امن SSL/TLS روی یک اتصال HTTP ناامن است. قبل از آن که به یک وبسایت متصل شوید، مرورگر شما از پروتکل tls برای بررسی گواهی TLS یا SSL در آن وبسایت استفاده میکند. این گواهیها نشان میدهند که یک سرور به استانداردهای امنیتی پایبند است یا خیر. برای بررسی استفاده از این پروتکلها، میتوانید نوار آدرس مرورگر را بررسی کنید. اتصال به وبسایتهای معتبر و ایمن، با استفاده از یک آدرس https:// بهجای http:// قابل بررسی است. حضور کاراکتر “S” در آدرس، مخفف کلمه “Secure” است.
تفاوت دو پروتکل ssl و tls چیست؟
همانطور که قبلاً گفتیم، SSL و TLS هر دو پروتکلهای ارتباطی با مجموعه قوانینی برای ایجاد اتصال امن بین دو دستگاه هستند که امنیت اشتراکگذاری دادهها را تضمین میکنند. SSL فناوری ایجاد کانال ارتباطی امن و رمزگذاری شده در هر شبکه است، اما آنچه که بهخوبی نشان میدهد تفاوت دو پروتکل ssl و tls چیست آن است که tls بهعنوان یک جایگزین امنتر و جدیدتر معرفی شده است. پروتکل SSL منسوخ شده و حالا تنها پروتکل TLS اهداف مرتبط با برقراری ارتباط امن را فراهم میکند. با وجود آن که اهداف این دو پروتکل شباهتهای زیادی دارد، اما نحوه عملکرد آنها بسیار متفاوت است. در ادامه با جزئیات بیشتر و دقیقتری بررسی میکنیم که تفاوت میان tls و ssl چیست و از جهاتی میتوان آنها را با هم مقایسه کرد.
فرایند دست دادن SSL/TLS
دست دادن یا handshake، فرایندی برای تأیید گواهی ssl یا tls سرور توسط مرورگر است. در این فرایند، دو طرف مبادله دادهها احراز هویت شده و سپس کلیدهای رمزنگاری مبادله میشود. در روند دست دادن پروتکل ssl، اتصالات به شکلی صریح اتفاق میافتاد، درحالیکه این روند در TLS به شکل اتصال ضمنی است. مراحل Handshake در SSL به نسبت TLS
طولانیتر بود که با حذف مراحل اضافی این کار در TLS و کاهش تعداد کل مجموعههای رمز، سرعت آن افزایش پیدا کرد تا در نهایت، روند تبادل دادهها سریعتر شود. این از مهمترین فاکتورهایی است که نشان میدهد تفاوت دو پروتکل ssl و tls چیست و چرا TLS جایگزین پروتکل دیگر شده است.
پیامهای هشدار (Alert Messages)
یکی دیگر از مواردی که میتوانیم از طریق آن نشان دهیم که تفاوت میان tls و ssl چیست به پیامهای هشدار یا Alert Messages مربوط میشود. این پیامها، نحوه ارتباط این دو پروتکل با خطاها و هشدارها هستند. در SSL دو نوع پیام هشدار warning و مرگبار یا fatal وجود داشت. نوع اول، نشاندهنده بروز خطا در عین ادامه اتصال است، اما پیام fatal نشان میدهد که اتصال باید هرچه سریعتر قطع شود. تفاوت دیگر، این است که پیام هشدار در پروتکل SSL به شکل رمزگذاری نشده هستند.
در پروتکل TLS تنها یک نوع پیام هشدار به نام close notify داریم که به معنای هشدار پایان جلسه (session) است. همچنین این پیامها بهصورت رمزگذاری شده هستند تا امنیت بیشتری را ارائه دهند.
احراز هویت پیام (Message authentication)
هم پروتکل SSl و هم TLS از کدهای احراز هویت یا Message Authentication Codes که تحت عنوان MAC هم شناخته میشود، استفاده میکنند. MAC یک تکنیک رمزنگاری است که برای تأیید صحت و یکپارچگی پیامها استفاده میشود. با استفاده از یک کلید مخفی، پروتکل رکورد MAC را بهعنوان یک کد با طول ثابت تولید کرده و سپس به پیام اصلی متصل میکند. در SSL از الگوریتم قدیمی و منسوخ MD5 برای ایجاد MAC استفاده میشد، درحالیکه پروتکل TLS از کد احراز هویت پیام متنی مبتنی بر هش (Hash-Based Message Authentication Code) یا HMAC برای رمزنگاری و امنیت بیشتر استفاده کرده است.
مجموعههای رمزی (Cipher suites)
مجموعههای رمزگذاری یا Cipher suites شامل مجموعهای الگوریتمها برای ایجاد کلیدهای رمزگذاری اطلاعات بین مرورگر و سرور است. معمولاً Cipher suites شامل الگوریتمهای زیر است:
- الگوریتم تبادل کلید (key exchange algorithm)
- یک الگوریتم اعتبارسنجی (validation algorithm)
- الگوریتم رمزگذاری انبوه (bulk encryption algorithm)
- الگوریتم MAC
دلیل استفاده از این الگوریتمها، بهخوبی نشان میدهد که تفاوت دو پروتکل ssl و tls چیست؛ چراکه استفاده از آنها به دلیل نگرانیهای امنیتی ناشی از آسیبپذیری امنیتی SSL بیشتر رواج پیدا کرد.
در جدول زیر، به شکل دقیقتر بررسی میکنیم که تفاوت میان tls و ssl چیست و آنها را از جهات مختلف با هم مقایسه کردهایم.
SSL (Secure Sockets Layer) | TLS (Transport Layer Security) | |
نسخههای فعال | تمامی نسخههای آن منسوخ شده است. | نسخههای 1.2 و 1.3 فعال هستند. |
نوع اعلان هشدار | تنها دو نوع پیام هشدار بهصورت رمزگذاری نشده | دارای پیامهای هشدار TLS رمزگذاری شده و متنوعتر |
احراز هویت پیام (Message Authentication) | MAC | HMAC |
Cipher Suites | پشتیبانی از الگوریتمهای قدیمی با آسیبپذیریهای امنیتی شناخته شده | پشتیبانی از الگوریتمهای رمزگذاری پیشرفته |
فرایند Handshake | پیچیده و کُند | دارای مراحل کمتر و اتصال سریعتر |
این جدول مهمترین ویژگیهای دو پروتکل ssl و tls را با هم مقایسه کردیم.
تفاوت گواهی SSL و گواهی TLS
حالا که میدانیم تفاوت دو پروتکل ssl و tls چیست میتوانیم تفاوت گواهیهای مربوط به آنها را هم بررسی کنیم. زمانی که از پروتکل tls یا ssl استفاده کنید، باید گواهی آنها روی سرور نصب شود. در حال حاضر، هیچکدام از گواهیهای SSL دیگر استفاده نشده و TLS Certificate بهعنوان گواهیهای استاندارد در نظر گرفته میشود. البته این در حالی است که همچنان از اصطلاح SSL برای اشاره به گواهیهای tls هم استفاده میشود. البته ازآنجاییکه گواهینامههای TLS نوع بهبودیافته از گواهیهای SSL هستند، این نامگذاری اشتباه نیست. اکنون گواهیهای SSL از سال 2021 منسوخ شدهاند و تقریباً تمام وبسایتها و برنامهها انواع گواهی tls را جایگزین کردهاند.
جمعبندی
در این مطلب به طور کامل بررسی کردیم که تفاوت دو پروتکل ssl و tls چیست و چه شباهتهایی با هم دارند. همچنین از نظر ویژگیهای مختلف دیدیم که تفاوت میان tls و ssl چیست و چرا باید گواهی SSL را با TLS جایگزین کنیم. چند سالی است که استفاده از پروتکل ssl منسوخ شده است. دلیل این امر برخی آسیبپذیریهای جدی درباره امنیت ssl بود که در TLS به بهترین شکل اصلاح شده و با افزودن یا حذف برخی ویژگیها، جایگزین پروتکل قدیمی شد. اگر صاحب یک وبسایت یا وب اپلیکیشن هستید و برای امنیت تبادل دادهها قصد استفاده از این پروتکلها را دارید، مطالعه این مطلب برایتان مفید خواهد بود.