بررسی ابعاد پروتکل امنیت انتقال لایه

شناخت امنیت لایه انتقال 

Transport Layer Security یا TLS یا امنیت لایه انتقال , یک پروتکل امنیتی است که به طور گسترده­ای تصویب شده و برای تسهیل حریم خصوصی برای ارتباطات ازطریق اینترنت طراحی شده­است.

یک مورد اصلی استفاده از TLS ,رمزگذاری ارتباط بین برنامه­های وب و سرورها است ، مانند مرورگرهای وب که یک وبسایت را بارگیری می­کنند.

TLS , همچنین می­تواند برای رمزگذاری ارتباطات دیگر مانند ایمیل ، پیام­رسانی و صوت از طریق IP (VoIP) استفاده­ شود.در این مقاله ما به نقش TLS در امنیت برنامه­های وب خواهیم­پرداخت.

TLS , توسط گروه مهندسی اینترنت (IETF) ، یک سازمان استاندارد بین­المللی , پیشنهاد شد و اولین نسخه از پروتکل در سال 1999 منتشرشد. آخرین نسخه , TLS 1.3 است که در سال 2018 منتشرشد.

پروتکل امنیت لایه انتقال

شمای کلی TLS 1.2

 تفاوت TLS با SSL و نحوه تکامل آن

TLS  , از یک پروتکل رمزگذاری قبلی به نام لایه Secure Sockets (SSL) تکامل یافت که توسط Netscape ساخته شده است.

TLS  یا امنیت لایه انتقال نسخه 1.0 , در واقع به عنوان SSL نسخه 3.1 شروع به توسعه­كرد ، اما نام پروتكل قبل­از انتشار تغییریافت تا نشان­دهد که دیگر با Netscape ارتباط ندارد.

به­دلیل این سابقه ، اصطلاحات TLS و SSL  گاهی به­جای­هم استفاده می­شوند.

ارتباط پروتکل امنیت انتقال لایه با HTTPS

HTTPS  ,پیاده سازی رمزگذاری TLS در بالای پروتکل HTTP است که توسط همه وبسایت­ها و همچنین برخی سرویس­های وب دیگر مورد استفاده قرار می­گیرد.

بنابراین هر وب سایتی که از HTTPS استفاده­کند از رمزگذاری TLS استفاده می­کند.

مشاغل و برنامه های وب باید از پروتکل امنیت انتقال لایه استفاده کنند

رمزگذاری TLS می­تواند به محافظت از برنامه­های وب در برابر نقض داده­ها و حملات دیگر کمک­کند.

علاوه­بر­این ، HTTPS  محافظت شده توسط TLS به سرعت در حال تبدیل­شدن به یک روش استاندارد برای وبسایت­ها است.

به عنوان مثال ، مرورگر Google Chrome در حال شکستن سایت­های غیر HTTPS است و کاربران اینترنت روزمره نسبت به وبسایت­هایی که از نماد قفل HTTPS برخوردار نیستند ، بیشتر احتیاط می­کنند.

فعال سازی tls

بررسی TLS 1.2

اهداف و مزایای TLS

سه هدف اصلی برای دستیابی به پروتکل TLS یا امنیت لایه انتقال  وجوددارد : رمزگذاری ، احراز هویت و یکپارچگی

رمزگذاری: داده­های منتقل­شده از اشخاص ثالث را پنهان می­کند.

احراز هویت: اطمینان می­دهد طرفین تبادل اطلاعات , کسانی هستند که ادعا می­کنند هستند.

یکپارچگی: تأیید می­کند که داده­ها جعل یا دستکاری نشده­اند.

نحوه استفاده از  TLS

برای اینکه یک وبسایت یا برنامه از TLS استفاده­کند ، باید یک گواهینامه TLS را برروی سرور اصلی خود نصب کرده­باشد.

به دلیل سردرگمی نامگذاری که در بالا توضیح داده­شد ، این گواهی , به عنوان گواهی SSL نیز شناخته می­شودکه یک گواهی TLS توسط یک مرجع صدور گواهینامه برای شخص یا مشاغل صاحب دامنه صادر می­شود.

این گواهی حاوی اطلاعات مهمی در مورد مالک دامنه به همراه کلید عمومی سرور است که هر دو برای تأیید هویت سرور مهم هستند.اتصال TLS با استفاده از توالی معروف به دست دادن TLS آغاز می­شود.

وقتی کاربر به وبسایتی می­رود که از TLS استفاده می­کند ، دست دادن TLS یا امنیت لایه انتقال , بین دستگاه کاربر (همچنین به عنوان دستگاه مشتری نیز شناخته می­شود) و وب سرور آغاز می­شود.

در طول دست دادن TLS ، دستگاه کاربر و وب سرور:

  • مشخص ­کنید کدام نسخه از TLS  (1.0، 1.2 ، 1.3 و غیره)  استفاده خواهدشد.تصمیم بگیرید که از کدام مجموعه­های رمزنگاری استفاده می­کنید.
  • هویت سرور را با استفاده­از گواهینامه TLS سرور تأییدکنید.پس از اتمام دست­دادن ، کلیدهای جلسه را برای رمزگذاری پیام ها بین آن­ها ایجادکنید.
  • دست دادن TLS برای هر جلسه ارتباطی مجموعه رمزگذاری ایجاد می­کند.

رمزنگاری TLS

مجموعه رمزنگاری , مجموعه­ای از الگوریتم­ها است که جزئیاتی مانند اینکه کلیدهای رمزگذاری مشترک یا کلیدهای جلسه برای آن جلسه خاص استفاده می­شوند را مشخص می­کند.

TLS  یا امنیت لایه انتقال, به لطف فناوری معروف به رمزنگاری کلید عمومی ، قادراست کلیدهای مطابقت جلسه را از طریق یک کانال رمزگذاری نشده تنظیم­کند.این دست­دادن همچنین احراز هویت را کنترل می­کند ، که معمولاً شامل اثبات هویت سرور به مشتری است.

این کار بااستفاده­از کلیدهای عمومی انجام می­شود. کلیدهای عمومی کلیدهای رمزگذاری هستند که از رمزگذاری یک طرفه استفاده می­کنند ، به این معنی که هرکسی که دارای کلید عمومی است , می­تواند داده­های رمزگذاری­شده با کلید خصوصی سرور را از بین­بردارد تا از صحت آن اطمینان حاصل­کند ، اما فقط فرستنده اصلی می­تواند داده­ها را با کلید خصوصی رمزگذاری­کند.

کلید عمومی سرور بخشی­از گواهی TLS آن است.پس از رمزگذاری و احراز هویت ، داده­ها با کد تأیید پیام (MAC) امضا می­شوند.

سپس گیرنده می­تواند برای اطمینان از صحت داده­ها ، MAC را تأیید کند. این مانند نوعی فویل ضد دستکاری است که در یک بطری آسپرین یافت می­شود.

مصرف­کننده می­داند هیچ­کس در دارو دستکاری نکرده است زیرا هنگام خرید , فویل دست نخورده است.

حمله به پروتکل ssl

بررسی TLS 1.3

تأثیر TLS بر عملکرد برنامه های وب

آخرین نسخه های TLS یا امنیت لایه انتقال اصلاً بر عملکرد برنامه­های وب تأثیر نمی­گذارند.به دلیل فرآیند پیچیده­ای که درایجاد اتصال TLS وجوددارد ، باید مقداری­از زمان بارگیری و توان محاسباتی صرف­شود. مشتری و سرور باید چندین بار قبل و بعداز انتقال داده­ها به عقب و جلو ارتباط برقرارکنند ، و این باعث می­شود میلی ثانیه بار بارگذاری شده برای برنامه­های­وب ، و همچنین مقداری حافظه برای کلاینت و سرور مصرف­شود.

با این­وجود ، فناوری­هایی وجوددارد که به کاهش تاخیر احتمالی ایجادشده توسط دست دادن TLS کمک می­کند.یکی از آنها TLS False Start  است که به سرور و مشتری اجازه می­دهد تا قبل­از کامل­شدن دست دادن TLS ، انتقال داده را شروع­کنند. فناوری دیگر برای سرعت بخشیدن به TLS ، TLS Session Resume است که به کلاینت­ها و سرورهایی که قبلاً ارتباط برقرار­کرده­اند اجازه می­دهد تا از یک مصافحه کوتاه­شده استفاده­کنند. این پیشرفت­ها کمک­کرده تا TLS به یک پروتکل بسیار سریع تبدیل­شود که نباید تأثیر قابل­توجهی بر زمان بارگذاری بگذارد.

در مورد هزینه­های محاسباتی مرتبط با TLS یا امنیت لایه انتقال , طبق استانداردهای امروزی ، این هزینه­ها بسیار ناچیز هستند. TLS 1.3 که در سال 2018 منتشر شد ، سرعت TLS را حتی بیشتر کرده است.

دست دادن TLS در TLS 1.3 فقط به یک سفر رفت و برگشت (یا ارتباط عقب و جلو) به جای دو مورد , نیاز دارد و روند کار را با چند میلی­ثانیه کوتاه می­کند.

پیاده سازی TLS  در وب سایت

Cloudflare , گواهینامه های TLS / SSL رایگان را به همه کاربران ارائه می­دهد. هر کسی که از Cloudflare  استفاده­نکند ، مجبوراست یک گواهینامه SSL را از یک مرجع صدور گواهینامه ، اغلب با پرداخت هزینه دریافت­کند و گواهی را روی سرورهای مبدا خود نصب­کند.

امنیت لایه انتقال

مقایسه TLS1.2  و TLS 1.3

مقالات مرتبط :

 

 

Post Your Comment Here

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

5 + سه =