TLS

TLS چیست؟

فهرست مطالب

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

مروری بر سرگذشت TLS

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

این لایه جانشین لایه سوکت‌های امن (SSL) است که توسط Netscape Communications در اواسط دهه ۱۹۹۰ توسعه یافت. SSL ۱. ۰ و ۲. ۰ دارای نقص‌های امنیتی قابل توجهی بودند. SSL ۳. ۰ که در سال ۱۹۹۶ منتشر شد، اولین نسخه‌ای بود که زمینه را برای TLS مدرن فراهم کرد. با این حال، SSL ۳. ۰ نیز از آسیب‌پذیری‌هایی رنج می‌برد که منجر به منسوخ شدن آن به نفع TLS ۱. ۰ در سال ۱۹۹۹ شد.

فرآیند دست دادن TLS

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

Client Hello

نخستین مرحله با ارسال این پیام به سرور آغاز می‌شود که شامل اطلاعات زیر است:

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

Server Hello

پس از دریافت پیام فوق، سرور با این پیام پاسخ می‌دهد. در این پیام سرور بالاترین نسخه TLS را انتخاب می‌کند که هم کلاینت و هم سرور از آن پشتیبانی می‌کنند. پیام Server Hello شامل موارد زیر است:

  • نسخه TLS انتخابی.
  • یک مقدار تصادفی دیگر (به نام “server random”) برای تولید مواد رمزنگاری.
  • مجموعه رمز انتخابی.

تبادل کلید 

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

  • RSA: کلید عمومی سرور برای رمزگذاری یک pre-master secret استفاده می‌شود که به سرور ارسال و برای استخراج کلیدهای جلسه استفاده می‌شود.
  • Diffie-Hellman (DH): مشتری و سرور بر روی پارامترهای مشترک توافق می‌کنند و محاسباتی را برای ایجاد یک راز مشترک انجام می‌دهند که برای استخراج کلیدهای جلسه استفاده می‌شود.
  • منحنی بیضوی Diffie-Hellman (ECDH): مشابه Diffie-Hellman، اما از رمزنگاری منحنی بیضوی برای افزایش امنیت و کارایی استفاده می‌کند.
فرآیند دست دادن TLS

تبادل گواهی نامه

ارسال گواهی دیجیتال به مشتری در این مرحله انجام می‌شود که شامل کلید عمومی سرور به همراه سایر اطلاعات شناسایی می‌باشد. این گواهی توسط مرجعی معتبر امضاء می‌شود و مشتریان نیز از آن برای تأیید امضای گواهی و اطمینان از واقعی بودن سرور استفاده می‌کنند.

احراز هویت مشتری

این مرحله اختیاری است و در صورت رخداد، سرور از مشتری یک گواهی می‌خواهد. این مرحله یک لایه ی امنیتی اضافه می‌کند چرا که سرور می‌تواند هویت مشتری را تایید یا رد نماید.

Pre-master Secret Generation

مشتری و سرور به صورت مستقل با کمک این کلیدها و مقادیر تصادفی به ایجاد یک راز اصلی می‌پردازند. این Pre-master Secret برای استخراج کلیدهای جلسه مورد استفاده در رمزگذاری متقارن بسیار مهم است.

ایجاد کلید جلسه

با بهره وری از این Pre-master Secret مشتری و سرور هر یک کلیدهای جلسه یکسانی را برای رمزگذاری متقارن و تأیید اعتبار پیام محاسبه می‌کنند. این کلیدها اختصاصی است و میان مشتری و سرور رد و بدل نمی‌شوند.

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

نسخه‌های TLS

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

  • TLS 1.0

پس از  SSL 3.0، در راستای ارائه ی ارتباط ایمن به وسیله ی اینترنت ایجاد شد. این نسخه در سال 1999 معرفی و از الگوریتم‌های رمزگذاری بهبودیافته HMAC-SHA1 برای یکپارچگی داده‌ها و تبادل کلیدهای Diffie-Hellman و RSA پشتیبانی می‌کند. در حال حاضر استفاده از این نسخه به علت ناامنی ممنوع می‌باشد.

  • TLS 1.1

در سال 2006 منتشر و با رفع آسیب پذیری‌های امنیتی، TLS 1.0 را بهبود بخشید با این وجود این نسخه نیز قدیمی می‌باشد.

  • TLS 1.2 

پس از TLS 1.1 در سال 2008 معرفی گشت. این پروتکل امنیت بیشتری را برای شما به همراه خواهد داشت و مقاومت بهتری در برابر حملات دارد و یکپارچگی داده‌ها را تا حد زیادی بهبود می‌بخشد.

  • TLS 1.3

آخرین نسخه ی پروتکل امنیت می‌باشد که در سال 2018 معرفی شد. این لایه امنیت و عملکرد را افزایش می‌دهد. حذف الگوریتم‌های قدیمی و با ایمنی کم در این پروتکل صورت خواهد گرفت که فرآیند handshape را آسان و تأخیر در اتصال را کاهش می‌دهد.

نسخه های TLS

TLS Cipher Suites

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

نمونه‌هایی از مجموعه‌های رمزنگاری پرکاربرد عبارتند از RSA_WITH_AES_128_GCM_SHA256 و ECDHE_RSA_WITH_AES_256_GCM_SHA384.

آسیب پذیری‌ها و اقدامات کاهشی 

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

پروتکل ضبط TLS 

پروتکل ضبط TLS یک جزء اساسی از مجموعه پروتکل امنیت لایه حمل و نقل است که در لایه انتقال عمل می‌کند و مسئول ایمن سازی داده‌های مبادله شده بین مشتری و سرور در طول یک جلسه TLS است. عملکردهای اولیه پروتکل ضبط TLS شامل کپسوله کردن داده‌های برنامه کاربردی لایه بالاتر در سوابق TLS، اعمال عملیات رمزنگاری برای اطمینان از محرمانه بودن و یکپارچگی داده‌ها و انتقال داده‌های ایمن از طریق شبکه است.

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

و در آخر

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

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

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

اشتراک گذاری اشتراک گذاری در تلگرام اشتراک گذاری در لینکدین اشتراک گذاری در ایکس کپی کردن لینک پست

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

برچسب ها

امنیت TLS پروتکل SSL