امنیت لایه انتقال (TLS) چیست؟
WHAT IS TLS SECURITY?
حسین نیکدل۴ روز پیشآخرین به روز رسانی: ۱۴۰۳/۰۴/۰۶
در دنیای دیجیتال امروز، امنیت اطلاعات و ارتباطات آنلاین اهمیت بسیار زیادی دارد. با افزایش روزافزون تهدیدات سایبری، نیاز به راهکارهای امنیتی قوی برای محافظت از دادههای حساس در فضای مجازی بیش از پیش احساس میشود. یکی از مهمترین پروتکلهای امنیتی که برای این منظور توسعه یافته، امنیت لایه انتقال یا TLS است.
در این مقاله از نت افراز بلاگ به بررسی و اهمیت TLS میپردازیم. ابتدا مفهوم کلی TLS را توضیح داده و سپس به نحوه عملکرد و مزایای استفاده از آن اشاره خواهیم کرد. همچنین تفاوتهای آن با پروتکل قدیمیتر SSL را بررسی کرده و در نهایت به کاربردهای عملی TLS در دنیای امروز خواهیم پرداخت.
امنیت لایه انتقال (TLS) چیست؟
لایه انتقال امنیت یا TLS، یک پروتکل رایج و معتبر است که برای ایجاد امنیت و تسهیل داده در ارتباطات اینترنتی طراحی شده است. کاربرد اصلی TLS ، رمزدار کردن ارتباط میان وب اپلیکیشنها و سرورهاست (سرورهایی مانند: مرورگرهای وب که وبسایتها را بارگذاری میکنند). همچنین از TLS میتوان برای رمز دار کردن دیگر ارتباطات مانند: ایمیل، پیام و صوت روی پروتکل اینترنت (VOIP) استفاده کرد. در این بخش، بیشتر بر روی نقش TLS در امنیت وب اپلیکشنها بحث خواهد شد.
TLS توسط Internet Engineering Task Force (IETF) – انجمن استاندارد جهانی – ارائه داده شد و اولین نسخه از پروتکل، در سال ۱۹۹۹ میلادی عرضه شد. جدیدترین نسخه TLS، نسخه ۱.۳ است که در سال ۲۰۱۸ منتشر شد.
تفاوت میان TLS و SSL چیست؟
امنیت لایه انتقال حاصل تکامل پروتکل رمزنگاری قبلی، به نام Secure Socket Layer (SSL) است که توسط Netscape طراحی شده است. نسخه ۱.۰ TLS، درواقع به عنوان نسخه ۳.۱ اس اس ال در دست ساخت قرار گرفت، اما قبل از عرضه، دستخوش تغییر نام شد تا نشان دهد که دیگر وابسته به Netscape نیست. بدلیل وجود این تاریخچه، عناوین TSL و SSL بعضی مواقع به درستی عنوان نمیشوند و افراد آنها را اشتباه میگیرند.
تفاوت میان TLS و HTTPS چیست؟
HTTPS یکی از کاربردهای رمزنگاری TLS ، در پروتکل HTTP است که توسط تمامی وبسایتها و برخی از سرورهای وب، مورد استفاده قرار میگیرد. هروبسایتی که از HTTPS و گواهینامه SSL استفاده میکند، قطعا عنصر TLS را هم درون خود داراست.
چرا باید از TLS استفاده کرد؟
رمزنگاری TLS، وب اپلیکیشنها را از حملاتی مثل نفوذ داده (Data breach) و حملات DDoS (DDoS Attack) در امان نگه میدارد. امروزه HTTPS های ایمن شده توسط TLS ، به یکی از استانداردهای رایج برای وبسایتها تلقی میشوند. برای مثال، مرورگر گوگل کروم، به سایتهایی که فاقد HTTPS هستند، حساس میباشد و هرروزه هم به تعداد کاربران اینترنت حساس به وبسایتهایی که علامت قفل مربوط HTTPS را ارائه نمیدهند، اضافه میشود.
نحوه عملکرد TLS چگونه است؟
از TLS میتوان در بالا پروتکل لایه امنیت انتقال استفاده کرد. (مانند TCP). TLS دارای سه جزء اصلی است: رمزنگاری، احراز هویت، سندیت.
رمزنگاری
دادههای انتقال داده شده را از شخص ثالث پنهان میکند.
احراز هویت
تایید میکند که اشخاص ثالثی که تبادل اطلاعات را انجام میدهند، آیا همان کسانی که ادعا میکنند، هستند.
سندیت
تایید میکند که دادهها جعلی و یا دستکاری شده نباشند.
اتصال یک TLS بعد از اتصال چیزی به نام « TLS handshake » آغاز میشود. TLS handshake پروسهای برای پنهان کردن دادهها و کلیدهای هر بخش از ارتباطات اینترنتی است. این پروسه (Cypher suite) شامل گروهی از الگوریتمهایی است که جزئیاتی مانند مشخصات و دادههای به اشتراک گذاشته که شبیه به کلیدها در آمده اند را در مراحل مختلف مشخص می کنند. TLS قادر است تا مشخصات این کلیدها را برروی یک کانال رمزدار نشده تنظیم کند؛ این پروسه به دلیل وجود تکنولوژی به نام رمزنگاری کلید عمومی (Public key cryptography) عملی میشود.
Handshake، همچنین احراز هویت را هم کنترل میکند که معمولا این مرحله شامل تایید هویت سرور به مشتری است. این پروسه بوسیله استفاده از کلیدهای عمومی (Public keys) انجام میشود. کلیدهای عمومی، کلیدهای رمزنگاری شدهای هستند که پروسه رمز دار شدن یک – طرفهای را گذراندهاند؛ یعنی هرکسی میتواند با استفاده از کلیدهای شخصی، دادهها را تغییر دهد تا از صحت هویتش مطمئن شود، اما تنها فرستاده اصلی است که داده را با کلیدهای شخصی رمزنگاری کند.
زمانی که داده رمزدار و تایید هویت شده، با یک کد اصالت سنجی (MAC) امضا میشوند. گیرنده میتواند با تایید کد اصالت سنجی، از صحت و بینقصی داده مطمئن شود. این عمل دقیقا مانند بسته بندی داروهاست؛ مصرف کننده میتواند از دست نخوردگی بسته بندی دریابد محصولی که خریداری کرده، دستکاری نشده است.
TLS چگونه بر عملکرد وب اپلیکیشن تاثیر میگذارد؟
به دلیل پروسه پیچیده تنظیم اتصال TLS، زمانی برای بارگذاری و محاسبه کامپیوتری باید صرف شود. مشتری و سرور باید قبل از تبادل هرگونه دادهای چندینبار ارتباط برقرار کنند و همین باعث میشود تا چند میلیونیوم ثانیهای برای بارگذاریها و مقداری حافظه برای سرور و مشتری، صرف شود.
خوشبختانه تکنولوژیهایی برای کاهش تاخیر (Lag) ایجاد شده از طرف TLS handshake وجود دارد. یکی از آنها TLS False Start نام دارد که به مشتری و سرور اجازه تبادل اطلاعات قبل از تکمیل شدن پروسه TLS handshake می دهد. تکنولوژی دیگری که TLS را تسریع میبخشد، TLS Session Resumption نام دارد که به سرور و مشتریهایی که از قبل ارتباط داشتهاند اجازه میدهد تا از Handshake خلاصه شدهای استفاده کنند.
این پیشرفتها به TLS کمک کرده است تا به پروتکلی سریع تبدیل شود و حتی تاثیر قابل توجهای برروی زمان بارگذاری دادهها نداشته باشد. درست همانند محاسباتی کامپیوتری که وابسته به TLS هستند، خود TLS هم تقریبا در مقایسه با استانداردهای امروزی هزینهای ناچیز دارد. برای مثال، زمانی که گوگل تمام پلتفرم جیمیل خود را در سال ۲۰۱۰ به HTTPS تغییر داد، دیگر نیازی نداشت تا سخت افزارهای اضافهای را برای محاسبات کامپیوتری به کار بگیرد. به دلیل وجود رمزنگاریهای TLS، زمان اضافی بارگذاری سرورهای گوگل تقریبا کمتر از ۱ درصد بود.
منبع: cloudflare
https://www.netafraz.com/blog/tls/