پروتکل TLS یا Transport Layer Security یکی از انواع پروتکلهای کدگذاری است. این پروتکل وظیفه دارد ارتباطی ایمن میان سرور و کلاینت در بستر شبکه ایجاد کند. کلمات تشکیل دهنده نام این پروتکل به معنای انتقال، لایه و امنیت هستند. در واقع این کلمات به بخش نرم افزاری اشاره میکنند که وظیفه برقراری امنیت تبادل اطلاعات در شبکه را برعهده دارد. اگر علاقه مند هستید که بدانید پروتکل TLS چیست و چگونه کار میکند، در ادامه این مطلب همراه ما باشید.
پروتکل TLS چیست؟
TLS یک پروتکل امنیتی است بر پایه پروتکل SSL ایجاد شده است. این پروتکل اولین بار در سال ۱۹۹۹ بر پایه نسخه سوم از SSL ارائه شد و توانست به جایگزین مناسبی برای آن تبدیل شود. به عبارتی دیگر، TLS نسخه بهبود یافته پروتکل SSL است که اگر چه تفاوتهای خیلی کمی با SSL دارد، اما تقریبا بخش عمده آن یکسان مانده است. این پروتکل امنیت تبادل اطلاعات را در اینترنت برای اهدافی مانند کار کردن با صفحات وب، پست الکترونیکی و... به کار می رود.
روش رمزگذاری این پروتکل کاملا مشابه پروتکل SSL است و در کلیات تفاوت چندان زیادی با آن ندارد. البته TLS از الگوریتم رمز نگاری قویتری نسبت به پروتکل SSL استفاده میکند. همچنین تفاوت دیگر پروتکل SSL با TLS پورتهای مورد استفاده در هر یک از آنها است. ولی مهمترین عامل تمایز بین دو پروتکل TLS و SSL این هست که در ایجاد کلید عمومی و احراز هویت کردن پیام ها، TLS امنتر و کارامدتر از SSL عمل میکند. بر این اساس معمولا استفاده از TLS، برای ایمن سازی ارتباطات در شبکه توصیه میشود.
روش رمزگذاری اطلاعات توسط پروتکل TLS
برقراری ارتباط از طریق TLS، نیازمند پیش نیازهایی از جمله کلیدهای نامتقارن (شامل کلید عمومی و کلید خصوصی) و کلید سیشن (Session key) است. کلید عمومی همانطور که از نامش مشخص است، برای اشخاص سوم شخص قابل خواندن است. اما کلید خصوصی فقط توسط ارسال کننده و دریافت کننده اطلاعات، قابل استفاده میباشد.
همچنین این پروتکل میتواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. در الگوریتم رمزنگاری متقارن کلید رمزگذاری و رمزگشایی یکسان است ولی در الگوریتم رمزگذاری نامتقارن، این کلیدها متفاوت هستند. کلیدهای نامتقارن روی سرور قرار دارند، ولی کلید سیشن توسط سرور و کلاینت برای برقراری ارتباط TLS ساخته می شود. کلید سیشن ساخته شده توسط کلاینت و سرور یکسان و یا به عبارتی بهتر متقارن است. در این روش پس از اینکه اتصال امن برقرار شد، دادهها به وسیله دو کلید عمومی (Public key) و خصوصی (Private key) رمزنگاری میشوند. فرآیند برقراری ارتباط در این روش به صورت زیر است :
سرور یک کپی از کلید عمومی خود را برای کلاینت (مرورگر کاربر) ارسال می کند.
کلاینت با استفاده از کلید عمومی که دریافت کرده است، کلید سیشن ساخته شده را کدگذاری میکند و برای سرور میفرستد.
سرور با استفاده از کلید خصوصی که دارد، اطلاعات دریافتی را رمز گشایی میکند تا به Session key دسترسی پیدا کند.
در نهایت سرور و کلاینت هر دو با استفاده از کلید سیشن، اطلاعاتی را رمزنگاری و رمزگشایی می کنند. این فرآیند یک مسیر ارتباطی امن میان کلاینت و سرور ایجاد می کند. زیرا تنها این دو از کلید سیشن اطلاع دارند و این کلید فقط با هدف این اتصال ایجاد شده است. در هر زمان که اتصال میان سرور و کلاینت قطع شود، این مراحل باید دوباره انجام شوند.
اگر شما هم به برنامه نویسی علاقهمندید اما نمیدانید از کجا باید مسیر یادگیری برنامه نویسی را آغاز کنید پیشنهاد میکنیم در دوره الفبای برنامه نویسی سون لرن حتما شرکت کنید
جمع بندی
همانطور که دیدید پروتکل TLS یک پروتکل امنیتی است که به منظور برقراری امنیت بین سرور و کلاینت توسعه داده شده است. عملکرد این پروتکل بسیار مشابه با پروتکل SSL است، اما میتوان TLS را از لحاظ عملکرد نسخه ارتقا یافته پروتکل SSL دانست. این پروتکل امنیت تبادل اطلاعات در شبکه را برای اهدافی مانند کار کردن با صفحات وب، پست الکترونیکی و... به کار می رود.
اگر میخواهید بیشتر در زمینه پروتکلهای مطالعه کنید مقالات زیر را دنبال کنید
چرا اینقدر مختصرو مفید!!!!!!!
.
فایل pdf و یا محیط ورکر در بستر کلود فلیر هم اگه خودتون مطلب کاملی دارید که توضیح داده باشید......متشکر میشیم
نازنین کریمی مقدم۲۱ خرداد ۱۴۰۲، ۰۸:۲۹
درود
این دسته مقالات بیشتر حالت معرفی دارند و بنابر درخواست سایر کاربران کمی کوتاهتر از سایر مقالات ما هستند.
پیشنهاد تون به تیم ارجاع داده میشه و در صورت موافقت درمورد این دو نیز صحبت میکنیم.
ممنون که با ما همراه هستید
۱۰ آبان ۱۴۰۱، ۱۹:۲۷
توضیحات و ساده سازی مطلب عالی?
۲۲ مهر ۱۴۰۱، ۰۴:۵۰
واقعا ممنون این همه استادها تو دانشگاه این رو توضیح دادن ولی انقدر بد توضیح دادن که هیچ وقت درک درستی از کلید عمومی و خصوصی و نحوه ی کارشون نداشتم در صورتی که شما خیلی ساده توضیحش دادید .
با تشکر
محمد۲۷ اردیبهشت ۱۳۹۹، ۰۰:۳۰
مطالب عالی بودن
drghanei2۰۹ تیر ۱۳۹۸، ۲۱:۲۲
واقعا مطالب خوب و مورد نیازی میذارید ممنون
مهدی علامه۱۳ تیر ۱۳۹۸، ۱۸:۱۸
خواهش میکنم، خوشحالم که این مقاله مورد استفادتون قرار گرفته
عرفان۰۱ تیر ۱۳۹۸، ۰۷:۰۲
سلام
کلید عمومی و خصوصی نرم افزار هستند؟
مهدی علامه۰۲ تیر ۱۳۹۸، ۰۶:۲۷
سلام عرفان عزیز
نه نرم افزار نیستند
hamed۳۱ خرداد ۱۳۹۸، ۱۸:۳۵
لطفا در صورت امکان در مورده Cookie , Session , Cach نیز مقاله بنویسند.
مهدی علامه۰۱ تیر ۱۳۹۸، ۰۴:۲۰
سلام دوست عزیز
حتما در مورد این موضوعات مطالب خوبی منتشر میکنیم
با تشکر از پیشنهادتون
لقمان کیوان پور۳۱ خرداد ۱۳۹۸، ۱۷:۵۷
مطلب خوبی بود کلن مطالبتون داره بهتر میشه
مهدی علامه۰۱ تیر ۱۳۹۸، ۰۴:۱۹
مرسی بابت بازخوردتون
خوشحالم که این مطلب مورد استفادتون قرار گرفته