چه تفاوتی میان پروتکلهای TLS و SSL وجود دارد؟
SSL از پروتکلهای قدیمی دنیای امنیت است که اولیه مرتبه توسط شرکت نتاسکیپ برای برقراری ارتباط امن و رمزنگاری شده بین سرویسدهنده و سرویس گیرنده ابداع گردید، اما در نهایت نسخه تکمیل یافته آن بهنام پروتکل TLS به شکل گسترده در دسترس شرکتها قرار گرفت. TLS در مقایسه با SSL امنیت بهتر و عملکرد قدرتمندی دارد از الگوریتم رمزنگاری قدرتمندتری نیز استفاده میکند. نگارش 1 پروتکل TLS همان نگارش 3.1 پروتکل SSL است. به همین دلیل برخی منابع از اصطلاحات TLS و SSL به جای یکدیگر استفاده میکنند. هر سایتی که از پروتکل انتقال ابرمتن ایمن (HTTPS) استفاده میکند در حقیق در حال رمزنگاری اطلاعات از طریق پروتکل TLS است. بهطوری که تمام اطلاعات محرمانهای که میان سرویسدهنده و سرویسگیرنده انتقال پیدا میکنند را رمزنگاری میکند تا توسط افراد غیر مجاز قابل رویت نباشد و تنها افرادی که کلید مربوطه را دارند قادر به مشاهده اطلاعات باشند.
چرا کسبوکارها و برنامههای کاربردی باید از پروتکل TLS استفاده کنند؟
TLS با رمزنگاری اطلاعات از برنامههای وبمحور در برابر نقصهای دادهای و سایر حملههای سایبری محافظت میکند. علاوه بر این، استفاده از HTTPS در وبسایتهایی که با TLS رمزنگاری شدهاند به یک استاندارد جهانی تبدیل شده و به محافظت از برنامههای کاربردی وب در برابر أنواع مختلفی از حملههای سایبری کمک میکند. بهطور مثال، مرورگر گوگل کروم از مشاهده وبسایتهایی که نماد قفل HTTPS ندارند، جلوگیری کرده و به کاربران در این زمینه هشدار میدهد. بهطوری که کاربران باید بهطور شخصی روی لینک سایتهایی که از پروتکل مذکور استفاده نمیکنند کلیک کنند.
پروتکل TLS چه کاری انجام میدهد؟
از مهمترین کاربردهای پروتکل TLS باید به رمزنگاری، احراز هویت و تأیید اعتبار اشاره کرد. پروتکل مذکور دادههای در حال انتقال میان سرویسدهنده و سرویسگیرنده را رمزنگاری کرده و این اطمینان خاطر را به گیرنده و فرستنده میدهد که شخص سومی اطلاعات را تحریف نمیکند. در مجموع باید بگوییم پروتکل فوق کارهای زیر را انجام میدهد:
رمزنگاری: پنهانسازی دادهها از دید ابزارهای ثالث.
احراز هویت: اطمینان خاطر که هویت گیرنده و فرستنده درست است.
یکپارچگی: تأیید میکند که دادهها جعلی یا دستکاری نشدهاند.
پروتکل TLS چه کاری انجام میدهد؟
هر وبسایت یا برنامهای که از پروتکل TLS استفاده میکند باید دارای گواهینامه TLS که به عنوان گواهینامه SSL شناخته میشود را داشته باشد. این گواهینامه توسط مرجع صدور گواهینامه به هر کاربران حقیقی یا حقوقی دارای دامنه اینترنتی داده میشود که حاوی اطلاعاتی در مورد مالک دامنه و کلید عمومی سرور است. این اطلاعات و کلید عمومی، جهت تأیید هویت سرور اهمیت زیادی دارند. اتصال TLS شامل فرایند انتقال اطلاعات اولیه و ساخت یک ارتباط امن برای مبادله اطلاعات است. این فرایند بهنام دستدهی TLS سرنام TLS Handshake معروف است. در فرایند فوق که میان دستگاه کاربر و سرور وب انجام میشود دستدهی به شکل زیر انجام میشود:
ابتدا یکی از نسخههای TLS که شامل 1.0، 1.1 یا 1.3 است مشخص شده و در اختیار کاربر و سرور قرار میگیرد.
در این مرحله، دستدهی TLS یک مجموعه توکن (رمز) را برای هر نشست ارتباطی ایجاد میکند. این مجموعه توکنها الگوریتمهایی هستند که مشخص میکنند چه کلیدهای رمزنگاری مشترکی برای آن نشست خاص تخصیص داده شده و استفاده میشود. TLS از طریق الگوی رمزنگاری کلید عمومی قادر است کلیدهای نشست را روی یک کانال رمزنگاری نشده تنظیم کند.
علاوه بر این، TLS Handshake وظیفه احراز هویت که شامل اثبات هویت سرور به کاربر است را دارد و اینکار را با استفاده از کلیدهای عمومی انجام میدهد. با این حال تنها فرستنده اصلی قادر است دادهها را با کلید خصوصیاش رمزنگاری کند. دقت کنید که کلید عمومی سرور بخشی از گواهی TLS میباشد.
در نهایت فرایند ساخت کلیدهای نشست برای رمزنگاری پیامهای مبادله شده بین کلاینت و سرور پس از اتمام فرایند دستدهی TLS انجام میشود.
دادهها پس از رمزنگاری و احراز هویت با یک کد اصالتسنجی پیام یا کد احراز هویت پیام (MAC) امضا میشوند تا گیرنده از اعتبار و صحت دادهها اطمینان حاصل کند. تصور کنید فروشنده روی یک جعبه دارو، فویل کشیده، در این حالت مصرفکننده از عدم دستکاری داروها توسط افراد غیر مجاز مطمئن میشود. شکل زیر نحوه انجام اینکار را نشان میدهد.
TLS چه تاثیری روی ترافیک و عملکرد برنامههای وب میگذارد؟
درست است که جدیدترین نگارشهای TLS تأثیر زیادی بر نحوه عملکرد برنامههای وبمحور ندارند، اما از سویی دیگر فرایند راهاندازی اتصال TLS تقریبا پیچیده و زمانبر است و برای بارگذاری نیازمند قدرت محاسباتی زیاد است. بهطور مثال، کلاینت و سرور باید قبل و بعد از انتقال دادهها چند مرتبه با یکدیگر ارتباط برقرار کنند. این عملیات زمان زیادی طلب میکند و بخشی از حافظه کلاینت و سرور را به خود اختصاص میدهد. زمانی که میتوان برای بارگذاری برنامههای کاربردی وب استفاده کرد.
برای حل این مشکل، فناوریهایی مثل TLS False Start تعبیه شدهاند که تأخیرهای احتمالی به وجود آمده توسط TLS handshake را کم میکنند. TLS False Start قبل از شروع اتصال TLS Handshake مجوز انتقال داده به سرویسدهنده و سرویسگیرنده را میدهد. جالب آنکه فناوری مذکور به کلاینتها و سرورهایی که در گذشته با یکدیگر ارتباط برقرار کردهاند مجوز استفاده از TLS Handshake کوتاه شده را میدهد تا زمان کمتری صرف احراز هویت شود. بنابراین نیازی به گذراندن تمام مراحل TLS Handshake توسط کلاینت و سرور وجود ندارد.
یکچنین فناوریهایی باعث شدهاند تا TLS به یک پروتکل سریع که تأثیر چندانی روی زمان بارگذاری ندارد، تبدیل شود. با استناد به استانداردهای امروزی، هزینههای محاسباتی مربوط به TLS بسیار کم است. نسخه TLS 1.3 که سال 2018 میلادی منتشر شد در مقایسه با نسخههای قبلی سرعت بسیار بیشتری دارد. در این نسخه، فرایند TLS Handshake تنها به یک ارتباط رفت و برگشتی نیاز دارد و این روند را چند میلی ثانیه کوتاهتر میکند. علاوه بر این، اگر کاربری در گذشته به یک وبسایت متصل شده باشد مدت زمان رفت و برگشت TLS Handshake صفر میشود تا سرعت بیشتر شود.
چگونه TLS را باید در یک وبسایت پیادهسازی کرد؟
شرکت Cloudflare برای ارتقای سطح امنیت وبسایتها گواهی رایگان TLS/SSL را به متقاضیان میدهد. اگر کاربری دوست ندارد از خدمات این شرکت استفاده کند باید برای دریافت گواهی SSL از سایر شرکتهای صدور گواهینامه باید خرید کند و آنرا سرور نصب کند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟