پروتکل TLS چیست؟
پروتکل TLS
پروتکل TLS یا Transport Layer Security یکی از انواع پروتکلهای کدگذاری است. این پروتکل وظیفه دارد ارتباطی ایمن میان سرور و کلاینت در بستر شبکه ایجاد کند. کلمات تشکیل دهنده نام این پروتکل به معنای انتقال، لایه و امنیت هستند. در واقع این کلمات به بخش نرم افزاری اشاره میکنند که وظیفه برقراری امنیت تبادل اطلاعات در شبکه را برعهده دارد.
TLS یک پروتکل امنیتی است بر پایه پروتکل SSL ایجاد شده است. این پروتکل اولین بار در سال ۱۹۹۹ بر پایه نسخه سوم از SSL ارائه شد و توانست به جایگزین مناسبی برای آن تبدیل شود. به عبارتی دیگر، TLS نسخه بهبود یافته پروتکل SSL است که اگر چه تفاوتهای خیلی کمی با SSL دارد، اما تقریبا بخش عمده آن یکسان مانده است. این پروتکل امنیت تبادل اطلاعات را در اینترنت برای اهدافی مانند کار کردن با صفحات وب، پست الکترونیکی و… به کار می رود.
روش رمزگذاری اطلاعات توسط پروتکل TLS
برقراری ارتباط از طریق TLS، نیازمند پیش نیازهایی از جمله کلیدهای نامتقارن (شامل کلید عمومی و کلید خصوصی) و کلید سیشن (Session key) است. کلید عمومی همانطور که از نامش مشخص است، برای اشخاص سوم شخص قابل خواندن است. اما کلید خصوصی فقط توسط ارسال کننده و دریافت کننده اطلاعات، قابل استفاده میباشد.
همچنین این پروتکل میتواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. در الگوریتم رمزنگاری متقارن کلید رمزگذاری و رمزگشایی یکسان است ولی در الگوریتم رمزگذاری نامتقارن، این کلیدها متفاوت هستند. کلیدهای نامتقارن روی سرور قرار دارند، ولی کلید سیشن توسط سرور و کلاینت برای برقراری ارتباط TLS ساخته می شود. کلید سیشن ساخته شده توسط کلاینت و سرور یکسان و یا به عبارتی بهتر متقارن است. در این روش پس از اینکه اتصال امن برقرار شد، دادهها به وسیله دو کلید عمومی (Public key) و خصوصی (Private key) رمزنگاری میشوند. فرآیند برقراری ارتباط در این روش به صورت زیر است :
- سرور یک کپی از کلید عمومی خود را برای کلاینت (مرورگر کاربر) ارسال می کند.
- کلاینت با استفاده از کلید عمومی که دریافت کرده است، کلید سیشن ساخته شده را کدگذاری میکند و برای سرور میفرستد.
- سرور با استفاده از کلید خصوصی که دارد، اطلاعات دریافتی را رمز گشایی میکند تا به Session key دسترسی پیدا کند.
- در نهایت سرور و کلاینت هر دو با استفاده از کلید سیشن، اطلاعاتی را رمزنگاری و رمزگشایی می کنند. این فرآیند یک مسیر ارتباطی امن میان کلاینت و سرور ایجاد می کند. زیرا تنها این دو از کلید سیشن اطلاع دارند و این کلید فقط با هدف این اتصال ایجاد شده است. در هر زمان که اتصال میان سرور و کلاینت قطع شود، این مراحل باید دوباره انجام شوند.
تفاوت پروتکلهای SSL و TLS
SSL مخفف Secure Sockets Layer می باشد. این پروتکل توسط کمپانی Netscape به عنوان اولین پروتکل امنیتی ابداع شد و بعدها این کمپانی توسط AOL خریداری شد.
TLS مخفف Transport Layer Security و به معنای پروتکل امنیتی لایه انتقال می باشد. این نام به منظور جلوگیری از هر گونه مسائل حقوقی با Netscape تغییر یافت، بنابراین این پروتکل می تواند آزاد و رایگان باشد و به عنوان یک RFC که مخفف Request for Comments و به معنای درخواست برای نظرات است، منتشر شود.
TLS استاندارد ارتباط بسیار نزدیک با SSL رده 3.0 دارد و در منابع زیادی از آن به عنوان نام جدید SSL یاد شده و در برخی اوقات به عنوان SSL 3.1 شناخته می شود و بایستی در توسعه های جدید مورد استفاده قرار گیرد. برنامه های کاربردی که نیاز به سطح بالایی از قابلیت همکاری دارند بایستی با SSL 3.0 و TLS پشتیبانی شوند. از آنجایی که این دو پروتکل شباهت بسیار زیادی با هم دارند، تفاوت بین پروتکل TLS و پروتکل SSL 3.0 خیلی مشهود نمی باشد. اما به اندازه کافی عدم همکاری این دو پروتکل با هم قابل توجه است. ( اگرچه پروتکل TLS 1.0 مکانیسم ترکیبی دارد که به وسیله یک پروتکل TLS پیاده سازی شده می تواند به یک پروتکل SSL 3.0 بازگردد)
هر دو روش رمزگذاری کاملا مشابه هستند و در کلیات تفاوت زیادی ندارند با این حال هر کدام یک استاندارد مستقل است و TLS از الگوریتم رمز نگاری قوی تری استفاده می کند، همچنین یکی دیگر از تفاوتهای SSL با TLS پورتهای مورد استفاده می باشد. به طور روزمره بیشترین کاربرد TLS در رمزگذاری ایمیل می باشد هر چند از لحاظ تئوری تفاوتی با SSL ندارد و هر دو پروتکل امنیت را در لایه 7 application layer مدل OSI تامین می کنند.
دیدگاهتان را بنویسید