پروتکل TLS چیست؟
پروتکل tls چیست؟ یکی دیگر از پروتکلهایی که برای امنیت شبکه استفاده میشود پروتکل TLS نام دارد. این کلمه از عبارت (Transport Layer Security) گرفته شده است. در واقع معنی این پروتکل، امنیت لایه حمل و نقل است. امنیت اطلاعاتی که درون شبکه قرار دارند، بسیار مهم است. وظیفه حفاظت از این اطلاعات بر عهده برخی از پروتکلها مثل پروتکل امنیت لایه حمل و نقل است.
مقاله بررسی جامع لایه های شبکه را از دست ندهید.
پروتکل TLS چیست؟
پروتکل امنیت لایه حمل و نقل، یک پروتکل امنیتی است که امروزه بسیار توسعه پیدا کرده است. زمانی که این پروتکل در سال ۱۹۹۹ منتشر شد، به اندازه امروز پیشرفته و کاربردی نبود. در واقع یک سازمان مهندسی اینترنت، اولین نسخۀ این پروتکل را سالها پیش منتشر کرد و پس از آن، به مرور زمان، کاربرد پروتکل لایه حمل و نقل افزایش پیدا کرد. به گونهای که امروزه بسیاری از کسب و کارها برای حفظ امنیت دادههای اطلاعاتی خود به آن نیازمند هستند.
کاربردهای پروتکل TLS
- این پروتکل برای سهولت استفاده از حریم خصوصی و امنیت دادهها و اطلاعاتی که در یک شبکه وجود دارد، مورد استفاده قرار میگیرد.
- در واقع این پروتکل یک راه ارتباطی بین سرور و کلاینت در شبکه برقرار میکند.
- این پروتکل حتی برای رمزگذاری برنامههای وب و سرورها نیز مورد استفاده قرار میگیرد.
- طی چند سال گذشته مهمترین کاربرد پروتکل TLS رمزگذاری برنامهها در یک وبسایت بوده است.
- این پروتکل حتی برای رمز گذاری برنامههای ارتباطی مثل ایمیل یا پیام رسانی نیز مورد استفاده قرار میگیرد.
چرا کسب و کارها به TLS نیاز دارند؟
برنامههای کاربردی وب یا برنامههای اطلاع رسانی و پیام رسان، همیشه در معرض حملات سایبری یا از بین رفتن دادهها قرار دارند. به همین دلیل باید به دنبال راهی بود که از اطلاعات این برنامهها محافظت کرد. بهترین راه، رمزگذاری پروتکل امنیت لایه حمل و نقل است. گاهی اوقات از این پروتکل در کنار محافظهای دیگر مثل HTTPS استفاده میشود.
علت این موضوع این است که با استفاده از این کار میتوان سرعت حفاظت از دادهها را افزایش داد. به عنوان مثال امروزه مرورگر گوگل کروم، سایتهایی که HTTPS نداشته باشند را به سرعت با محدودیت مواجه میکند. در نتیجه کاربران فضای مجازی که به صورت روزانه از اینترنت استفاده میکنند، زمانی که مشاهده کنند وب سایت مورد نظر نماد HTTPS را دارا نیست، از وبسایت خارج میشوند.
وظایف TLS چیست؟
- پروتکل امنیت لایه حمل و نقل، وظایف مختلفی دارد. یکی از مهمترین وظیفههای این پروتکل رمزگذاری برنامههاست که در ابتدای مقاله به طور کامل در رابطه با آن صحبت کردیم. منظور از رمزنگاری برنامههای وبسایت، این است که پروتکل مورد نظر، دادههایی که در حال انتقال بین کاربران هستند را از اشخاص ثالثی که دسترسی به این پیامها ندارند، مخفی میکند.
- وظیفه دیگری که این پروتکلها برای حفاظت از دادهها و اطلاعات شبکهها بر عهده دارند، احراز هویت است. هنگامی که کاربر قصد ورود به برنامههای وب یا استفاده از خدمات آن را داشته باشد، این پروتکل نشان میدهد که کاربران همان شخصی هستند که ادعا میکنند. احراز هویت با استفاده از روشهای مختلفی انجام میشود. مثلاً ممکن است از کاربران درخواست ایمیل شود و سپس پروتکل کدی برای ایمیل آنها ارسال کند.
- سومین وظیفه پروتکل امنیت لایه حمل و نقل این است که اطلاعات و دادههایی که وارد شبکه میشوند را تأیید کند. یعنی نشان میدهد که دادههایی که وارد شبکه شدهاند جعلی یا دستکاری شده نباشند.
نحوه کارکرد TLS چگونه است؟
برای اینکه یک کسب و کار یا وب سایت بتواند از پروتکل امنیت لایه حمل و نقل استفاده کند، ابتدا باید این پروتکل را روی سرور اصلی خود نصب کند. نحوۀ نصب این پروتکل چندان هم ساده نیست.
- ابتدا باید از مرکزی که این پروتکل را در اختیار شما قرار میدهد درخواست گواهی کنید.
- پس از بررسی اطلاعات شما و تایید برنامه یا وب سایت، یک گواهی پروتکل امنیت لایه حمل و نقل برای شما صادر میشود. در صورتی این گواهی صادر میشود که شما به این مرکز نشان دهید که یک کسب و کار معتبر هستید.
- گواهی که برای وبسایت یا برنامه شما صادر میشود شامل اطلاعات بسیار مهمی است. این اطلاعات شامل اطلاعات مالک دامنه و کلید عمومی سرور است. اگر این اطلاعات روی گواهی پروتکل شما وجود نداشته باشد، اعتبار سنجی و تعیین هویت شما نیز انجام نخواهد شد.
- هنگامی که این پروتکل در اختیار برنامه یا وبسایت شما قرار بگیرد، استفاده از آن بسیار راحت خواهد بود.
- در واقع زمانی که یک کاربر قصد ورود به وب سایت شما را دارد و میخواهد از خدمات شما استفاده کند، بلافاصله یک اتصال TLS بین دستگاه کاربر و وب سرور، آغاز میشود.
- این طریق پروتکل میتواند متوجه شود که کاربر قصد ورود چه نوع اطلاعاتی به شبکۀ شما را دارد. در صورتی که تشخیص دهد اطلاعات تهدید آمیز یا خطرناک هستند، ممکن است آنها را مسدود کرده و از ورود آنها به شبکه جلوگیری کند.
- در زمانی که ارتباط بین پروتکل و کاربر برقرار میشود، شما میتوانید به عنوان صاحب کسب و کار یا وب سایت بر روی تنظیمات پروتکل کنترل داشته باشید. یعنی میتوانید مشخص کنید که کاربر از کدام نسخه پروتکل یا کدام مجموعه رمز استفاده کند.
- هنگامی که ارتباط بین کاربر و دستگاه برقرار میشود، یک مجموعه رمز برای هر جلسه ارتباطی ایجاد میشود. یعنی میتوان گفت که ارتباط هر کار با دستگاه، مجموعۀ رمز نگاریهای مربوط به خود را دارد.
کلید های پروتکل امنیت لایه حمل و نقل
هنگام ایجاد ارتباط، پروتکل امنیت لایه حمل و نقل نه تنها مجموعه ارتباطی را رمزنگاری میکند، بلکه قادر است احراز هویت نیز انجام دهد. به عنوان مثال این احراز هویت میتواند دو طرفه باشد. یعنی میتواند هویت شبکه و وب سایت را توسط سرور به مشتری نشان دهد یا اطلاعات مشتری را برای احراز هویت در اختیار سرور قرار دهد.
برای اینکه این موضوع را به طور کامل متوجه شوید، قصد داریم در رابطه با کلیدهای پروتکل امنیت لایه حمل و نقل صحبت کنیم. این پروتکل شامل دو مجموعه کلید است که برای رمزنگاری مورد استفاده قرار میگیرد. یک دسته کلیدها شامل کلیدهای عمومی هستند و دسته دیگر شامل کلیدهای خصوصی هستند. فرآیند احراز هویت با استفاده از کلیدهای عمومی انجام میشود. این کلیدهای عمومی و خصوصی در اختیار صاحب وبسایت یا برنامه قرار دارد.
کلیدهای عمومی برای رمز گذاری نیز مورد استفاده قرار میگیرند. شخصی که به این کلیدهای عمومی و خصوصی دسترسی داشته باشد، قادر است برنامه را از رمزگذاری خارج کند. بنابراین میتوان گفت یکی از راههای هک کردن وب سایت و شبکه از همین طریق است. اما با توجه به اینکه امنیت پروتکل TLS بسیار زیاد است، امکان هک کردن آن توسط مهاجمین سایبری، وجود نخواهد داشت.
تفاوت پروتکل های SSL و TLS
یکی دیگر از پروتکلهایی که شاید نام آن را در کنار پروتکل امنیت لایه حمل و نقل بشنوید، پروتکل SSL است. در واقع پروتکل امنیت لایه حمل و نقل، نسخه پیشرفته پروتکل ssl است. به همین دلیل، ویژگیهای پروتکل TLS تا حدودی قویتر از پروتکل SSL است.
به عنوان مثال فرآیند رمزنگاری در پروتکل امنیت لایه حمل و نقل قویتر است. این پروتکل قدرت بیشتری در حفاظت و کنترل امنیت شبکه دارد. همچنین انتقال پیامها و ایجاد کلیدهای عمومی و خصوصی به کمک پروتکل امنیت لایه حمل و نقل، بهتر انجام میشود. به همین دلیل امروزه این پروتکل نسبت به پروتکل SSL کاربرد گستردهتر و بهتری دارد.
روش رمز نگاری چگونه است؟
همانطور که در قسمت قبل گفته شد، برای اینکه ارتباط بین کاربر و دستگاه برقرار شود، باید رمز گذاری انجام شود و رمزگذاری نیاز به نوعی کلیدهای عمومی و کلیدهای خصوصی دارد. اصطلاحا به این کلیدها، کلید نامتقارن نیز گفته میشود. نوعی دیگر از کلیدها که برای برقراری ارتباط و رمزگذاری مورد نیاز است، «کلید SESSION» است. معمولاً در برنامههای وب سایت، از کلید عمومی استفاده میشود.
یعنی علاوه بر شخصی که پیام را ارسال میکند و کسی که پیام را دریافت میکند، اشخاص دیگر نیز میتوانند به عنوان شخص ثالث شاهد رد و بدل شدن پیامها باشند. حتی افراد میتوانند محتوای پیامها را نیز مشاهده کنند. معمولاً از کلید عمومی زمانی استفاده میشود که افراد بخواهند نظرات و پیامهایی که بین کاربران و سیستم، منتقل میشود را مشاهده کنند. اما در صورتی که برنامه یا وبسایت به کلید خصوصی مجهز باشد، امکان خواندن پیامها به کمک اشخاص ثالث وجود نخواهد داشت.
مثلاً در ایمیل فقط شخصی که پیام را دریافت میکند و کسی که پیام را ارسال میکند میتواند به پیامها دسترسی داشته باشد. البته تنها اطلاعاتی که بین شبکه و کاربر منتقل میشود پیامها نیستند. این اطلاعات میتوانند به شکلهای دیگر نیز منتقل شوند.
انواع ترکیب برای رمزنگاری در پروتکل TLS
معمولاً برای رمزنگاری از دو نوع ترکیب استفاده میشود. یک ترکیب رمزگذاری متقارن و دیگری ترکیب رمزنگاری نامتقارن میباشد. در ترکیب رمزنگاری متقارن، پروتکل امنیت لایه حمل و نقل کلیدهای مربوط به رمزگذاری و رمزگشایی را یکسان قرار میدهد. یعنی برای خارج کردن برنامه وب سایت از رمز گذاری، باید از یک نوع کلید استفاده کرد. رمزنگاری نامتقارن دقیقاً برعکس این موضوع است.
نحوه انتقال اطلاعات در رمز گذاری چگونه است؟
برای انتقال اطلاعات در حالت رمزگذاری، ابتدا سرور باید یک کپی از کلید عمومی را برای کاربر بفرستد. کاربر از این طریق کلید عمومی را دریافت میکند و با کد گذاری کلید SESSION را برای سرور ارسال میکند. تفاوت سرور و کار بر این است که سرور علاوه بر کلید عمومی دارای کلید خصوصی نیز میباشد.
بنابراین میتواند اطلاعاتی که از طریق کاربر ارسال شده است را رمزگشایی کند. در نهایت میتواند کلید SESSION را باز کند. در نتیجه با این روش ارتباط بین کاربر و دستگاه کاملاً امن میشود و دیگر نیازی به نگرانی در رابطه با حملات سایبری وجود نخواهد داشت.
تفاوت SSL و TSL از نظر فعالیت
فعالیت این دو پروتکل دقیقا مانند یکدیگر است. یعنی هر دو یک ارتباط ایمن بین سرور و کاربر ایجاد میکنند. این ارتباط بین سرور و کاربر به کمک رمز گذاری کاملاً محافظت میشود. نسخه پروتکل SSL در سال ۱۹۹۵ یعنی قبل از پروتکل امنیت لایه حمل و نقل ارائه شد. ابتدا یک نسخه غیر توسعه یافته به صورت ورژن ۲ وارد بازار شد.
بعد از اینکه استقبال بسیار زیادی از این پروتکل صورت گرفت، سازندگان این پروتکل تصمیم گرفتند که آن را به ورژن ۳ توسعه دهند. اما ورژن جدید آن بر پایه TLS بود. امروزه دیگر ورژنهای شماره ۲ در کسب و کارها و وبسایتها مورد استفاده قرار نمیگیرند. در واقع سازندگان این پروتکلها به مصرف کنندگان توصیه میکنند که از پروتکل امنیت لایه حمل و نقل استفاده کنند. زیرا محافظت و ایمن سازی پروتکل SSL نسبت به انواع جدیدتر آن بسیار ضعیف است.
SSL چیست؟ برای آشنایی بیشتر مقاله مورد نظر را مطالعه نمایید.
چطور بر عملکرد وب اپلیکیشن تأثیر میگذارد؟
در مورد پروتکل TLS این واقعیت وجود دارد که نسخههای آخر آن تاثیر چندانی بر عملکرد وب اپلیکیشن (برنامههای کاربردی تحت وب) نمیگذارند. به دلیل فرآیند پیچیده راه اندازی اتصالات TLS، باید زمان قابل توجهی صرف بارگذاری و توان محاسباتی شود. همچنین سرویس گیرنده و سرور باید چندین بار قبل از هرگونه ارسال داده با هم ارتباط برقرار کنند و این زمان ارزشمند بارگذاری و توان محاسبانی برنامههای تحت وب را تا چند میلی ثانیه تلف میکند. حتی حافظه مشتری و سرور تا حدی کاهش مییابد.
با این حال، فناوریهایی وجود دارند که تاخیر احتمالی ناشی از فرایند دستدهی TLS را کاهش میدهند.
- یکی از آنها TLS False Start است که به سرور و کلاینت اجازه میدهد تا قبل از اتمام دست دادن TLS شروع به انتقال دادهها کنند.
- یکی دیگر از فناوریهای افزایش سرعت TLS، TLS Session Resumption است که به کلاینتها و سرورهایی که قبلاً با هم ارتباط برقرار کردهاند، اجازه میدهد از یک handshake مختصر استفاده کنند.
این پیشرفتها طوری باعث پیشرفت پروتکل TLS شدهاند که تاثیر محسوسی بر زمان بارگذاری برنامهها نداشته باشد. حتی هزینههای محاسباتی TLS با توجه به استانداردهای امروزی عمدتا ناچیز هستند.
TLS نسخه ۱.۳ که در سال ۲۰۱۸ منتشر شد، این پروتکل را سریعتر از قبل کرد. دستدهی (هندشیک) TLS در این نسخه بهجای دو رفت و برگشت، فقط یک رفت و برگشت دارد که این روند را تا چند میلی ثانیه کوتاهتر میکند. بهعلاوه اگر کاربر از قبل به وبسایت متصل شده باشد، رفت و برگشتی انجام نمیشود و سرعت آن به مراتب افزایش پیدا میکند.
مزایای TLS 1.3 چیست؟
اما ببینیم مزیتهای استفاده از TLS 1.3 چیست. این نسخه از پروتکل به چند دلیل معرفی شد. از جمله:
- استفاده کمتر از فناوریهای ناامن مثل الگوریتمهای قدیمی
- سازگاری با نسخههای قدیمیتر پروتکل
- سرعت بخشیدن به اتصالات
- بهبود امنیت
- استفاده از تکنیکهای جدید با رمزگذاری کمتر و قابلیت اعتماد بیشتر
TLS 1.3 پشتیبانی از برخی الگوریتمها و رمزگذاریهای قدیمی مانند الگوریتم DES، رمز RC4، هش SHA-1، رمز CBC، الگوریتم MD5، تبادل کلید RSA و برخی (اما نه همه) روشهای رمزگذاری دیفی هلمن را پایان داد. برای مقایسه بهتر در نظر بگیرید که TLS 1.2 از 37 مجموعه رمز پشتیبانی میکرد؛ در حالی که TLS 1.3 تنها از پنج مجموعه رمز پشتیبانی میکند.
در گذشته یکی از محبوبترین روشها برای تبادل امن کلیدهای جلسه، الگوریتم رمزگذاری RSA بود. اما این الگوریتم به مرور زمان اعتبار خود را از دست داد؛ چون نتوانست حالت کلید زودگذر (موقت یا مختص جلسه) را ارائه دهد. فناوری PFS برای رازداری کامل به جلو، تضمین میکرد که اگر مهاجم اطلاعات رمزگذاریشده کاربر را ذخیره کرده و به نحوی موفق شود کلید خصوصی مرتبط را بدزدد، باز هم نمیتواند اطلاعات را رمزگشایی کند.
چهار ویژگی جدید TLS 1.3، روند دستدهی پروتکل را سرعت میبخشند.
- TLS Session Resumption بررسی میکند که آیا یک سرور و یک کلاینت قبلاً با هم ارتباط برقرار کردهاند یا خیر. در صورت برقراری ارتباط، برخی از الزامات امنیتی نادیده گرفته میشوند.
- TLS False Start به سرور و کلاینت اجازه میدهد قبل از نهایی شدن فرایند هندشیک، فرایند انتقال داده را آغاز کنند.
- در این ورژن به جای دو مرتبه رفت و برگشت که در ورژن قبل شاهد بودیم، تنها به یک مرتبه رفت و برگشت نیاز است. چون عملا مرحله اول رفت و برگشت در ورژن TLS 1.2 و نسخههای قبلی، شامل مراحل ملاقات و احوالپرسی بود. تعویض کلیدها و تغییر نوع رمزگذاری از نامتقارن به متقارن در مرحله دوم انجام میشد.
- در نهایت rtt (Zero Round Trip Time) معادل صفر تولید یک کلید اصلی از سرگیری را فعال میکند.
نقاط ضعف TLS چیست؟
پروتکل TLS برای صاحبان وبسایت تا حدی بر عملکرد سایت آنها تاثیر منفی میگذارد. به عنوان مثال:
- در صورت حجم بالای ترافیک یا کاهش منابع محاسباتی، TLS احتمالا زمان بارگذاری وب سایت را تا حدی افزایش میدهد.
- گاهی اوقات به سروری با پیکربندی اشتباه اجازه میدهد یک روش رمزگذاری ضعیف را انتخاب کند.
- پیادهسازی اولیه TLS باعث کاهش موقت ترافیک میشود؛ چون گاهی وبسایت به ایندکسگذاری مجدد نیاز دارد
- افزونههای قدیمیتر ممکن است با HTTPS سازگار نباشند.
- برای کاربران عمومی اینترنت، درک نادرست از نحوه عملکرد گواهیها در خرابیهای TLS نقش دارد. برای مثال، مهاجمان میتوانند از گواهیهای منقضی یا نامعتبر سوء استفاده کنند. اگرچه مرورگر هشداری را نشان میدهد که گواهی منقضی شده یا نامعتبر است، برخی از کاربران این هشدار را نادیده میگیرند و زمینه حمله را فراهم میکنند.
- پروتکل TLS گاهی فایروال را با یک حمله Man-in-the-Middle اشتباه میگیرد! این پروتکل برای رمزگذاری و تضمین امنیت در سراسر شبکه طراحی شده و جلوی بازرسی ترافیک توسط ابزارهای امنیتی شبکه برای شناسایی بدافزارهای احتمالی را میگیرد. کند. برای جلوگیری از حملات مرد میانه، پروتکل TLS به کلاینت اجازه بازرسی دادههای خود و اطمینان از نبود بدافزار را نمیدهد. ابزار لازم برای انجام این بازرسی یک جعبه میانی (middle box) است که گاهی توسط پروتکل TLS بهعنوان مرد میانه شناسایی میشود و اجازه دسترسی به سرور را ندارد.
- TLS در برابر حملات downgrade آسیبپذیر است. تمام نسخه های TLS به جز نسخه 1.3 از الگوریتم تبادل کلید RSA استفاده میکنند. این الگوریتم تعیین میکند که یک کلاینت و یک سرور چطور ارتباط خود را در طول هندشیک TLS احراز هویت کنند. از طرفی خود این الگوریتم در برابر حملات کانال جانبی (side-channel attacks) آسیبپذیر است. این نوع حملات غیرمستقیم و ناخواسته، معمولاً نتیجه اجرای معیوب یک سیستم رمزنگاری هستند که منجر به نشت اطلاعات میشوند.
با وجود تمام نقاط ضعفی که در این بخش اشاره کردیم، وجود پروتکل TLS و استفاده از آن در ارتباطات آنلاین ضروری است. به روز رسانی منظم پروتکل تضمین میکند از امنیت و عملکرد بهتری بهرهمند شوید.
پیشنهاد می دهیم مقاله اکتیو دایرکتوری چیست به زبان ساده را مطالعه نمایید.
سخن پایانی
در این مقاله به طور کامل در رابطه با پروتکل امنیت لایه حمل و نقل صحبت شد. این پروتکل وظیفه ایجاد یک ارتباط ایمن بین کاربران و سرور را برعهده دارد. مثلاً زمانی که یک کاربر وارد یک وب سایت میشود، با کمک این پروتکل میتوان تمامی ارتباطات و اطلاعاتی که بین این دو کاربر منتقل میشود را رمزگذاری کرد.
در نهایت رمزگذاری اطلاعات باعث میشود شخص ثالثی نتواند به دادههایی که بین کاربر و سرور منتقل میشود دسترسی پیدا کند. بنابراین میتوان گفت پروتکل امنیت لایه حمل و نقل امروزه بهترین روش برای حفاظت از دادهها و اطلاعات شبکه و سرور میباشد.
دیدگاهتان را بنویسید