تاریخچه Transport Layer Security یا TLS
پروتکل TLS برای اولین بار در سال ۱۹۹۹ توسط (Internet Engineering Task Force (IETF بر پایه ۳ SSL version ارائه شد و توانست تبدیل به جایگزین مناسبی برای SSL شود. به عبارت دیگر، TLS نسخه بهبود یافته پروتکل SSL است. تفاوتهای ایجاد شده بین نسخههای TLS 1.0 و SSL 3.0 چشمگیر نیستند، اما به اندازهای قابل توجه هستند که باعث شود پروتکل TLS به عنوان یک پروتکل مجزا به کار خود ادامه دهد.
در سالهای ۲۰۰۶ ، ۲۰۰۸ و ۲۰۱۸ میلادی، برای پروتکل TLS نسخههای جدیدتری نیز، منتشر شدند.
پروتکل TLS چیست؟
TLS یک پروتکل امنیتی رمزنگاری شده است که از آن برای برقراری امنیت بین سرور و کلاینت و اطمینان از ایمن بودن ارتباطات در بستر شبکه استفاده میشود و هدف اصلی آن حفظ حریم خصوصی در ارتباطات است. پروتکل TLS به دلیل استفاده از الگوریتمهای پیچیدهتر و رمزنگاری قویتر، در مقایسه با پروتکل SSL، اکنون جانشین آن شده است.
کلمات تشکیل دهنده نام این پروتکل (Transport Layer Security) به معنای انتقال، لایه و امنیت هستند و در واقع به بخشهایی از نرمافزار اشاره میکنند که وظیفه برقراری امنیت تبادل اطلاعات در شبکه را، برعهده دارند.
وظیفه پروتکل TLS چیست؟
TLS دادههای در حال عبور از یک شبکه را رمزگذاری میکند تا اطمینان حاصل کند که هیچ شخص ثالثی نمیتواند پیامها را شنود، مشاهده یا دستکاری کند.
ارتباطات رمزگذاری نشده میتواند دادههای حساسی مانند نام کاربری، رمز عبور، شماره کارت اعتباری و غیره را در معرض دید قرار دهد.
پروتکل TLS با رمزنگاری اطلاعات انتقال یافته بین کلاینت و سرور، امنیت لازم را تضمین میکند تا اگر شخصی سعی کرد به اطلاعات دسترسی داشته باشد، تنها مجموعهای از علائم نامفهوم و به هم ریخته را مشاهده نماید که غیرقابل رمزگشایی است. پروتکل TLS همچنین با جلوگیری از دستکاری اطلاعات و اعتبارسنجی، از انواع مختلفی از حملات سایبری جلوگیری میکند.
آخرین نسخه TLS (TLS 1.3)در سند IETF RFC 8446 و آخرین نسخه SSL (SSL 3.0)در سند IETF RFC 6101 قابل مشاهده است.
اجزای اصلی پروتکل TLS
پروتکل TLS برای امن کردن ارتباطات در یک شبکه از مجموعه رمزنگاریهایی استفاده میکند که این مجموعهها خود متشکل از یک سری الگوریتمهای رمزنگاری هستند.
سه جزء اصلی برای آنچه پروتکل TLS انجام میدهد، عبارت است از: رمزگذاری ، احراز هویت و یکپارچگی.
- دادههای در حال انتقال را از اشخاص ثالث پنهان میکند.
- تایید میکند که طرفین مبادله کننده اطلاعات، آیا همان کسانی که ادعا میکنند، هستند؟
- تأیید میکند که دادهها جعلی یا دستکاری نشده اند.
مراحل انجام کار
اگر کاربر به Server اعلام نماید که قصد اتصال TLS را دارد، دو روش جهت انجام این عملیات وجود دارد:
- ابتدا از شماره پورت متفاوتی استفاده شود. ( برای مثال پورت ۴۴۳ ) در این حالت باید یک پورت مشخص انتخاب شده و در هر دو مسیر کدگذاری و معرفی گردد.
- در این حالت از طریق سرور به کلاینت یک پورت خاص اختصاص داده میشود که کلاینت آن را از سرور درخواست نموده و سرور با استفاده از یک پروتکل خاص اقدام به ایجاد پورت اتصال، نماید.
زمانی که کلاینت و سرور تصمیم گرفتند از پروتکل TLS استفاده کنند، به مذاکره با استفاده از روش Handshaking میپردازند.
سپس سرور و کلاینت بر روی پارامترهای مختلفی که برای ایجاد امنیت اتصال، استفاده میشود به توافق میرسند و کلاینت اطلاعاتی را که سرور برای برقراری ارتباط با استفاده از TLS به آن نیاز دارد را ارسال میکند. مانند: شماره نسخه TLS کلاینت، تنطیمات رمزگذاری و …
در مرحله بعد سرور اطلاعاتی را که کلاینت برای برقراری ارتباط به آن نیاز دارد را برایش ارسال میکند. مانند: شماره نسخه SSL سرور، تنظیمات رمزگذاری و …
سرور همچنین گواهینامه خود را برای کلاینت ارسال میکند و اگر کلاینت درخواست منبعی از سرور داشته باشد، کلاینت باید احراز هویت شود و باید گواهینامه کلاینت برای سرور ارسال شود.
با اطلاعات دریافتی از سرور، کلاینت میتواند سرور را احراز هویت کند. اگر سرور تایید نشود، به کاربر هشدار داده میشود که عملیات رمزگذاری و تایید، نمیتواند انجام گیرد ولی اگر سرور به درستی تایید شد، کلاینت به مرحله بعد میرود.
با استفاده از اطلاعات به دست آمده، کلاینت یک Pre-master secret ایجاد کرده و آن را به سرور ارسال میکند.
اگر سرور از کلاینت بخواهد هویتش را ثابت کند، کلاینت کلیه اطلاعات لازم و گواهی خود را برای سرور ارسال میکند.
اگر کلاینت تایید نشود، ارتباط قطع میشود اما اگر به درستی تایید شود، سرور از کلید خصوصی خود برای باز کردن Pre-master secret استفاده میکند.
کلاینت و سرور از Master secret، برای تولید کلید جلسات استفاده میکنند که یک کلید متقارن است و برای رمزگذاری و رمزگشایی اطلاعات مبادله شده، استفاده میشود. اکنون Handshake کامل است و ارتباط شروع میشود. هرگاه یکی از مراحل ذکر شده با شکست مواجه شود، ارتباط برقرار نمیشود.
جمع بندی
اکنون که با مطالعه موارد فوق، با پروتکل TLS و نحوه کار آن آشنا شدهاید، بهتر است برای جمعبندی پایانی، این نکته را در نظر داشته باشید که استفاده از پروتکل TLS برای تمامی ارتباطات، مهم است زیرا میتواند آنها را از حملاتی مثل نفوذ داده، Data Breach و حملات DDOS در امان نگهدارد.
برای کسب اطلاعات بیشتر در این خصوص صفحات ما را در لینکدین، آپارات و یوتیوب دنبال کنید.
1 دیدگاه دربارهٔ «پروتکل TLS چیست؟»
Socket Secure Layer یا گواهی SSL یکی از مفیدترین
راه حل های دیجیتالی برای احراز هویت وب سایت است
که توسط Netscape در سال ۱۹۹۵ معرفی شد.
این فقط به این معنی است که SSL یک پروتکل اینترنتی
برای ایمن سازی انتقال داده ها از
مرورگر شخصی است که وب سایت شما را به سرور مشاهده
می کند.
بنابراین، یک فرآیند رمزگذاری ایمن را تکمیل می کند و
هیچ کس دیگری نمی تواند ببیند چه
اتفاقی در حال رخ دادن است. داده های منتقل شده
از طریق پروتکل HTTP یک اتصال اینترنتی امن نیست.
SSL آن را به HTTPS تبدیل می کند و
فرآیند انتقال داده را ایمن می کند.
امروزه اکثر مرورگرها از این پروتکل پشتیبانی می کنند و
برخی به شما اجازه نمی دهند که از طریق HTTP یک اتصال ناامن ایجاد کنید.
علاوه بر این، استفاده از SSL یکی از بهترین راه ها
برای ایمن سازی پروتکل های FTP، IMAP و SMTP است.