help-header

TLS چیست؟

پروتکل TLS (transport layer security)، یکی از پروتکل‌هایی است که برای برقراری ارتباط‌های امن‌تر در شبکه طراحی شده است. این پروتکل، نسخه‌ی جدید‌تری از پروتکل SSL است که اولین بار برای ایمن کردن ارتباط‌ها در لایه‌ی application و به‌ویژه برای توسعه‌ی پروتکل HTTPS در نظر گرفته شده بود.

 

عملکرد TLS

فرض کنید قرار است یک ارتباط client-server به کمک این پروتکل ایمن شود. برای استفاده از TLS لازم است کاربر در زمان درخواست  به‌گونه‌ای مشخص کند که می‌خواهد از TLS استفاده کند (برای نمونه، درباره‌ی پروتکل HTTP و HTTPS، به این‌شکل است که پورت‌های جداگانه‌ای دارند و درخواست به پورت ۴۴۳ یک سرور، عمومن به این معنی است که کاربر می‌خواهد از HTTPS استفاده کند). سپس، فرآیند TLS handshake انجام می‌شود. در طی این فرآیند، دو طرف ارتباط به کمک رمزنگاری نامتقارن، بر سر یک کلید مشترک توافق می‌کنند. پس از این مرحله تمام داده‌هایی که بین client و server جابه‌جا می‌شوند، با استفاده از کلید مشترک در مبدا رمز‌نگاری شده و سپس در مقصد رمز‌گشایی می‌شوند.

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

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