TLS چیست؟ تفاوت TLS و SSL

tls چیست ؟

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

از موارد استفاده از TLS، رمزگذاری ارتباط بین برنامه‌های کاربردی وب و سرورها است؛ مانند مرورگرهای وب که یک وب‌سایت را بارگذاری می‌کنند. TLS همچنین می‌تواند برای رمزگذاری سایر ارتباطات مانند ایمیل، پیام‌رسانی و صدا از طریق IP VoIP استفاده شود.

در این مقاله از سایت آکادمی ssl به‌صورت کامل به پاسخ این سوالات می‌پردازیم که TLS چیست، چگونه کار می‌کند و چه تفاوتی با SSL دارد؟ پس در ادامه با ما همراه باشید.

 

TLS چیست

 

TLS چیست؟


TLS مخفف عبارت Transport Layer Security، یک پروتکل رمزنگاری است که امنیت داده‌های ارسال شده بین سرور و کاربر را فراهم می‌کند و باعث حفظ حریم خصوصی در ارتباطات می‌شود. از جمله موارد استفاده از TLS می‌توان به ایمن‌سازی ایمیل، VOIP، تراکنش‌های آنلاین، انتقال فایل و پیام‌های فوری اشاره کرد.

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

مزایای TLS چیست

 

تاریخچه TLS

 

TLS نسخه پیشرفته تری از SSL  که در ابتدا توسط Netscape Communications Corporation در سال 1994 برای ایمن‌سازی جلسات وب توسعه داده شد، است. SSL 1.0 هرگز به‌صورت عمومی منتشر نشد، درحالی‌که SSL 2.0 به‌سرعت با SSL 3.0 که TLS بر اساس آن است جایگزین شد.

TLS در سال 1999 برای اولین‌بار در RFC 2246 به‌عنوان یک پروتکل مستقل برنامه معرفی شد، درحالی‌که به طور مستقیم با SSL 3.0 قابل همکاری نبود، در صورت لزوم یک حالت بازگشتی ارائه می‌داد. بااین‌حال، SSL 3.0 اکنون ناامن تلقی می‌شود و توسط RFC 7568 در ژوئن 2015 منسوخ شد و به‌جای این پروتکل استفاده از TLS 1.2 پیشنهاد داده شد.

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

 

ویژگی‌های TLS

 

TLS معمولاً در TCP به‌منظور رمزگذاری پروتکل‌های لایه برنامه مانند HTTP، FTP، SMTP و IMAP پیاده‌سازی می‌شود. اگرچه می‌توان آن را روی UDP، DCCP و SCTP نیز پیاده‌سازی کرد (به‌عنوان‌مثال برای استفاده‌های کاربردی مبتنی بر VPN و SIP). این پروتکل به‌عنوان امنیت لایه انتقال داده‌گرام (DTLS) شناخته می‌شود و در RFC 6347، 5238 و 6083 مشخص شده است.

TLS دارای سه قابلیت اصلی و یک قابلیت کاربردی است که در ادامه به آن اشاره می‌کنیم:

رمزگذاری: داده‌های منتقل شده بین یک سرور کلاینت و یک برنامه وب را پنهان می‌کند. معمولاً این کار از استراق سمع جلوگیری خواهد کرد.

احراز هویت: هویت دو طرفی را که از طریق اینترنت با هم در ارتباط هستند تأیید می‌کند و از حملات جعل هویت جلوگیری می‌کند.

یکپارچگی: بررسی می‌کند که داده‌های ارسال شده از طریق یک شبکه در طول انتقال دست‌کاری نشده‌اند. این امر مانع از حملات هکرها می‌شود. یکپارچگی با استفاده از گواهی صادر شده توسط یک مرجع گواهی معتبر (CA) تضمین می‌شود.

پیشگیری از پخش مجدد: این امر در برابر حملات brute force و هکرها جلوگیری می‌کند.

 

چرا استفاده از TLS اهمیت دارد؟

 

در سال‌های اخیر داده‌ها به‌صورت رمزگذاری نشده از طریق اینترنت منتقل می‌شدند و رمزگذاری فقط در اطلاعات حساس مانند رمزهای عبور یا جزئیات پرداخت به کار برده می‌شد.

برای اولین‌بار داده‌های رمزگذاری شده در سال 1996 (توسط RFC 1984) به رسمیت شناخته شد، زیرا رشد اینترنت مستلزم حفاظت از داده‌های خصوصی بود. در طول دوره میانی به طور چشمگیری مشخص شد که توانایی استراق سمع و حملات هکرها بیشتر و فراگیرتر است از آنچه قبلاً تصور می‌شد؛ بنابراین IAB در نوامبر 2014 بیانیه‌ای منتشر کرد و از طراحان، توسعه‌دهندگان و اپراتورهای پروتکل خواست تا رمزگذاری را برای ترافیک اینترنت عادی کنند که اساساً به معنای محرمانه‌سازی آن به‌طور پیش‌فرض است.

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

در حال حاضر آخرین نسخه همه مرورگرها و سرورهای وب به طور پیش‌فرض از TLS پشتیبانی می‌کنند. بااین‌حال، استفاده از TLS برای ایمیل و برخی برنامه‌های کاربردی دیگر معمولاً اجباری نیست و برخلاف مرورگرهای وب که سرنخ‌های بصری ارائه می‌دهند، همیشه برای کاربران مشخص نیست که آیا اتصالات آنها رمزگذاری شده است یا خیر.

بنابراین، توصیه می‌شود که همه کلاینت‌ها و سرورها از TLS برای ارتباطات خود و ترجیحاً جدیدترین نسخه TLS 1.2 استفاده کنند. زیرا انجام این کار برای امنیت کامل، ضروری است.

 

TLS چگونه کار می‌کند؟

 

TLS از ترکیبی از رمزگذاری داده ها (Encryption) متقارن و نامتقارن استفاده می‌کند، زیرا در هنگام انتقال ایمن داده‌ها، تعامل بسیار خوبی بین عملکرد و امنیت ایجاد می‌کند. در ادامه شما را بیشتر با رمزنگاری متقارن و نامتقارن آشنا می‌کنیم.

مقاله پیشنهادی: end to end encryption چیست؟

رمزنگاری متقارن در TLS

 

با رمزنگاری متقارن، داده‌ها با یک کلید مخفی که برای فرستنده و گیرنده شناخته شده است، رمزگذاری و رمزگشایی می‌شود. معمولاً 128 بیت اما ترجیحاً 256 بیت طول دارد (هر چیزی کمتر از 80 بیت در حال حاضر ناامن در نظر گرفته می‌شود). رمزنگاری متقارن از نظر محاسبات کارآمد است، اما داشتن یک کلید مخفی مشترک به این معنی است که باید به شیوه‌ای امن به اشتراک گذاشته شود.

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

 

رمزنگاری نامتقارن در TLS

 

مزیت رمزنگاری نامتقارن این است که فرایند به‌اشتراک‌گذاری کلیدهای رمزگذاری نباید ایمن باشد، اما رابطه ریاضی بین کلیدهای عمومی و خصوصی به این معنی است که باید اندازه طول کلید بزرگ‌تر باشد.

حداقل طول کلید توصیه شده 1024 بیت یا 2048 بیت است، اما این مقدار از نظر محاسباتی تا هزار برابر بیشتر از کلیدهای متقارن با قدرت معادل است (به‌عنوان‌مثال، یک کلید نامتقارن 2048 بیتی تقریباً معادل یک کلید متقارن 112 بیتی است) و رمزگذاری نامتقارن را برای بسیاری از اهداف کند می‌کند.

به همین دلیل، TLS از رمزنگاری نامتقارن برای تولید و مبادله ایمن یک کلید جلسه استفاده می‌شود. سپس از کلید جلسه برای رمزگذاری داده‌های ارسال شده و برای رمزگشایی داده‌های دریافتی استفاده می‌شود. پس از اتمام جلسه، کلید جلسه حذف می‌شود.

DHE و ECDHE همچنین امنیتی را ارائه می‌کنند که به‌موجب آن در صورت دریافت یکی از کلیدهای خصوصی، کلید جلسه به خطر نخواهد افتاد. اگرچه تولید اعداد تصادفی ضعیف و استفاده از محدوده محدودی از اعداد اول فرض شده است که امکان شکستن کلیدهای DH حتی 1024 بیتی را باتوجه‌به منابع محاسباتی فراهم می‌کند.

با استفاده از TLS یک کلاینت که به یک سرور متصل می‌شود، می‌تواند مالکیت کلید عمومی سرور را تأیید کند. این امر معمولاً با استفاده از یک گواهی دیجیتال X.509 صادر شده توسط یک شخص ثالث قابل‌اعتماد شناخته شده، به‌عنوان مرجع صدور گواهی (CA) انجام می‌شود که صحت کلید عمومی را تأیید می‌کند.

در برخی موارد، سرور ممکن است از یک گواهی خود امضا استفاده کند که باید صریحاً مورد اعتماد کلاینت باشد، اما این ممکن است در شبکه‌های خصوصی یا جایی که توزیع گواهی‌نامه امن امکان‌پذیر است قابل قبول باشد. بااین‌حال، به‌شدت توصیه می‌شود که از گواهی‌های صادر شده توسط CAهای مورد اعتماد استفاده کنید.

 

CA چیست؟

 

یک مرجع صدور گواهی (CA) نهادی است که گواهی‌های دیجیتال مطابق با استاندارد X.509 ITU-T را برای زیرساخت‌های کلید عمومی (PKIs) صادر می‌کند. گواهی‌های دیجیتال، کلید عمومی مالک گواهی را تأیید می‌کنند و مالک دامنه‌ای که توسط گواهی ایمن می‌شود را کنترل می‌کند؛ بنابراین یک CA به‌عنوان یک شخص ثالث قابل اعتماد عمل می‌کند که به کلاینت‌ها اطمینان می‌دهد که آنها به سروری که توسط یک نهاد معتبر اداره می‌شود، متصل می‌شوند.

 

گواهی‌ End-Entity

 

گواهی‌های End-Entity از طریق یک زنجیره اعتماد که از یک گواهی ریشه نشئت می‌گیرد، تأیید می‌شوند. با رمزنگاری نامتقارن، می‌توان از کلید خصوصی گواهی ریشه برای امضای گواهی‌های دیگر استفاده کرد. سپس می‌توان با استفاده از کلید عمومی گواهی ریشه اعتبارسنجی و در نتیجه اعتماد CA صادرکننده را به دست آورد. در عمل، گواهی‌نامه End-Entity معمولاً توسط یک یا چند گواهی میانی امضا می‌شوند؛ زیرا ریشه درصورتی‌که این گواهی به‌اشتباه صادر شده باشد یا در معرض خطر قرار گیرد، از گواهی ریشه محافظت می‌کند.

 

گواهی Root certificate

 

گواهی ریشه (Root certificate) معمولاً از طریق توزیع فیزیکی گواهی‌های ریشه در سیستم‌عامل‌ها یا مرورگرها ایجاد می‌شود. برنامه‌های اصلی صدور گواهی‌نامه توسط مایکروسافت (ویندوز و ویندوز فون)، اپل (OSX و iOS) و موزیلا (فایرفاکس و لینوکس) اجرا می‌شوند و به CA نیاز دارند تا با الزامات فنی دقیق مطابقت داشته باشند.

Root certificates که با سیستم‌عامل‌ها و مرورگرهای اصلی توزیع می‌شوند به طور عمومی یا جهانی قابل اعتماد هستند و الزامات فنی و ممیزی اساساً به این معنی است که CA صادرکننده شرکت‌ها یا دولت‌های چند ملیتی هستند. در حال حاضر حدود پنجاه CA مورد اعتماد وجود دارد، اگرچه همه بیش از یک گواهی ریشه دارند و بیشتر آنها همچنین اعضای انجمن CA/Browser هستند که دستورالعمل‌های صنعتی را برای صدور و مدیریت گواهی‌ها توسعه می‌دهد.

بااین‌حال، ایجاد CAهای خصوصی و ایجاد اعتماد از طریق توزیع امن و نصب گواهی‌های ریشه در سیستم‌های کلاینت نیز امکان‌پذیر است.

به‌عنوان‌مثال می‌توان به RPKI CA‌ اشاره کرد که گواهی‌هایی را برای ثبت‌های اینترنتی محلی صادر می‌کنند که نشانی‌های IP و شماره‌های AS آنها را تأیید می‌کنند. همچنین International Grid Trust Federation (IGTF) صدور گواهی‌های سرور و کلاینت مورد استفاده ماشین‌ها در محاسبات علمی توزیع شده را فراهم می‌کند. در این موارد، گواهی‌های ریشه را می‌توان به طور ایمن از سایت‌ها با استفاده از گواهی صادر شده توسط یک CA مورد اعتماد عمومی دانلود و نصب کرد.

 

ضعف‌های سیستم CA

 

یکی از ضعف‌های سیستم X.509 PKI این است که اشخاص ثالث (CA) می‌توانند گواهی‌نامه‌هایی را برای هر دامنه صادر کنند، خواه نهاد درخواست‌کننده واقعاً مالک آن باشد یا آن را کنترل کند. همچنین اعتبارسنجی معمولاً از طریق اعتبارسنجی دامنه انجام می‌شود. معمولاً یکی از آدرس‌های تماس استاندارد مانند «xxx@domain» یا تماس فنی فهرست شده در پایگاه‌داده WHOIS است. اما این امر راه را برای حملات هکرها به پروتکل‌های DNS یا BGP یا کاربرانی که آدرس‌های مدیریتی را در دامنه‌هایی که رزرو نشده‌اند باز می‌گذارد.

به همین دلیل، CAها به طور فزاینده‌ای استفاده از گواهی‌های معتبر سازمانی Organisation Validated (OV) و اعتبارسنجی توسعه یافته Extended Validation (EV) را تشویق می‌کنند.

با گواهی‌نامه‌های OV، نهاد درخواست‌کننده تحت بررسی‌هایی مانند تأیید نام سازمان، آدرس و شماره تلفن با استفاده از پایگاه‌های داده عمومی قرار می‌گیرد. با گواهی‌نامه‌های EV، بررسی‌هایی در مورد استقرار قانونی، مکان فیزیکی و هویت افرادی که مدعی عمل از طرف نهاد درخواست‌کننده هستند، وجود دارد.

البته، این هنوز هم مانع از صدور تصادفی یا تقلبی گواهی‌های نادرست توسط CA نمی‌شود و همچنین مواردی از نقض امنیت رخ داده است که در آن CA فریب خورده و گواهی‌های جعلی را صادر می‌کند. علی‌رغم تشدید قابل‌توجه رویه‌های امنیتی در پی چندین حادثه پرمخاطب، سیستم همچنان به اعتماد شخص ثالث متکی است که منجر به توسعه پروتکل احراز هویت اشخاص نامگذاری شده مبتنی بر DNS (DANE) در RFC6698، 7671، 7672 و 7673 شده است.

با DANE، یک مدیر دامنه می‌تواند کلیدهای عمومی خود را با ذخیره آنها در DNS تأیید کند. یا به طور متناوب مشخص کند که کدام گواهی‌نامه‌ها باید توسط یک کلاینت پذیرفته شوند. این امر مستلزم استفاده از DNSSEC است که به‌صورت رمزنگاری اعتبار رکوردهای DNS را تأیید می‌کند، اگرچه DNSSEC هنوز گسترش گسترده‌ای ندارد و مرورگرهای اصلی در حال حاضر به نصب یک افزونه برای پشتیبانی از DANE نیاز دارند. علاوه بر این، DNSSEC و DANE همچنان به اعتبارسنجی دارندگان دامنه نیاز دارند که احتمالاً باید توسط ثبت دامنه یا ثبت‌کننده به‌جای CA انجام شود.

 

تفاوت TLS و SSL 

 

وقتی در مورد گواهی‌های SSL/TLS صحبت می‌شود، در حقیقت در مورد فایل‌های دیجیتال X.509 صحبت خواهد شد که وب‌سایت‌ها را قادر می‌سازد از طریق HTTPS استفاده از رمزگذاری کلید عمومی ارائه شود.

اکنون سؤالی که مطرح می‌شود این است که آیا SSL و TLS یکسان هستند؟ پاسخ خیر است. اما اگر آنها متفاوت هستند، پس چرا این اصطلاحات به‌جای هم استفاده می‌شوند؟

  • زیرا هر دو پروتکل‌های امنی هستند که ارتباطات رمزگذاری شده بین وب سرور و کلاینت را از طریق HTTPS برقرار می‌کنند.
  • در فناوری اطلاعات، اصطلاحات زیادی برای آموزش وجود دارد. بیشتر کاربران اینترنتی با SSL آشنا هستند، به همین دلیل بیشتر آن‌ها از TLS به‌جای SSL استفاده می‌کنند.

اما دلیل تفاوت آنها این است که TLS جایگزین پروتکل SSL است. خوب این به چه معنا است؟ در حقیقت پروتکل‌های SSL و TLS در عملکرد، احراز هویت پیام‌ها، پیام‌های هشدار، پروتکل ضبط و نقاط قوت رمزگذاری با همدیگر متفاوت هستند. آنها همچنین به‌ویژه از نظر فرایندی که به‌عنوان SSL/TLS handshake شناخته می‌شود نیز تفاوت دارند. این فرایند زمانی انجام می‌شود که هر دو طرف (کلاینت و سرور) با یکدیگر تعامل داشته باشند مانند:

  • تعیین نوع رمزگذاری که برای ایمن‌سازی داده‌ها در طول تراکنش استفاده می‌شود.
  • احراز هویت سرور
  • ایجاد/تبادل کلیدهای جلسه که در طول تراکنش استفاده می‌شود.

 

تفاوت SSL و TLS از نظر برقراری ارتباط

 

از تفاوت‌های اصلی بین SSL و TLS می‌توان به نحوه برقراری ارتباط اشاره کرد. برای مثال، SSL handshake اتصالات صریح را از طریق یک پورت برقرار می‌کند. درحالی‌که TLS، اتصالات ضمنی را از طریق پروتکل تسهیل می‌کند.

این handshake روی الگوریتم‌های خاصی به نام cipher suites عمل می‌کند. اگرچه تفاوت‌های زیادی بین SSL و TLS وجود دارد، اما تفاوت اساسی بین SSL و TLS در این مجموعه رمزگذاری نهفته است که نقش مهمی در امنیت اتصال دارند.

مجموعه رمز شامل یک الگوریتم تبادل کلید، الگوریتم احراز هویت/ اعتبارسنجی، الگوریتم رمزگذاری انبوه و یک الگوریتم کد احراز هویت پیام (MAC) است. هر نسخه SSL/TLS مجموعه‌ای از رمزهای پشتیبانی شده را دارد و نسخه‌های جدیدتر با مجموعه‌های امن‌تر همراه می‌شوند که امنیت و عملکرد اتصال را بهبود می‌بخشد؛ بنابراین، همان‌طور که می‌بینید، SSL و TLS از بسیاری جهات متفاوت هستند. در جدول زیر به طور خلاصه تفاوت‌های اصلی بین SSL از TLS لیست شده است:

TLSSSL
TLS مخفف Transport Layer Security است.SSL مخفف Secure Socket Layer است.
اولین نسخه TLS توسط Engineering Taskforce (IETF) در سال 1999 توسعه یافت.اولین نسخه SSL  توسط Netscape در سال 1995 توسعه یافت.
TLS همچنین یک پروتکل رمزنگاری است که ارتباط ایمن بین وب سرور و کلاینت را از طریق اتصالات ضمنی فراهم می‌کند. این پروتکل جانشین پروتکل SSL است.SSL یک پروتکل رمزنگاری است که از اتصالات صریح برای برقراری ارتباط امن بین وب سرور و کلاینت استفاده می‌کند.
چهار نسخه از TLS منتشر شده است: 1.0، 1.1، 1.2 و 1.3سه نسخه از SSL منتشر شده است: 1.0، 2.0 و 3.0
TLS 1.0 و 1.1 منسوخ شده‌اند و TLS 1.2 پرکاربردترین نسخه پروتکل است.تمام نسخه‌های SSL آسیب‌پذیر هستند و همه آنها منسوخ شده‌اند.

 

چرا  TLS جایگزین SSL شد؟

 

در ادامه این مقاله به بررسی چرایی جایگزینی TLS به‌جای SSL می‌پردازیم. پس همچنان با ما همراه باشید.

 

اوایل دهه 90: راه‌اندازی SSL

 

از لحظه‌ای که برنرز لی World-Wide Web (WWW) را در دهه 1990 به دنیا معرفی کرد، شاهد چیزهایی بودیم که فقط در فیلم‌ها و کتاب‌های علمی تخیلی امکان‌پذیر بود. ما شاهد اینترنت بودیم، یک نوع کاملاً جدید از جهان که در سراسر آن intrigue نوشته شده بود. معرفی شبکه جهانی وب، اینترنت را دموکراتیک کرد و تا سال 1995، تخمین زده شد که اینترنت حدود 16 میلیون کاربر داشته باشد.

این پذیرش سریع اینترنت به بسیاری از امکانات جدید و همچنین برخی مشکلات منجر شد. یکی از مسائل مهم امنیت و حریم خصوصی کاربران بود. با شروع آنلاین شدن مشاغل، نگرانی گسترده‌ای در مورد ایمنی داده‌های حساس مانند اطلاعات کارت بانکی، اطلاعات مالی، رمز عبور و غیره وجود داشت. این همان چیزی است که باعث ایجاد لایه سوکت‌های امن یا به‌اختصار SSL شد.

 

۱۹۹۵: استفاده از SSL

 

SSL ایده‌ای بود که توسط طاهر الگامال، رمزنگار مشهور بین‌المللی که به‌عنوان پدر SSL شناخته می‌شود، طراحی شد. زمانی که طاهر دانشمند ارشد شرکتی به نام نت اسکیپ بود SSL را توسعه داد. SSL به‌عنوان یک پروتکل اینترنتی ایجاد شد که ارتباطات ایمن را آسان می‌کرد. به زبان ساده‌تر، SSL اساساً مجموعه‌ای از دستورالعمل‌هایی بود که داده‌ها را به‌صورت ایمن انتقال می‌داد.

SSL 1.0، اولین نسخه SSL، هرگز به‌صورت عمومی منتشر نشد، زیرا حاوی نقص‌های امنیتی شدیدی بود. این منجر به انتشار SSL 2.0 در سال 1995 شد که شامل چندین آسیب‌پذیری امنیتی از نظر رمزنگاری و عملی بود. این ایرادات به‌اندازه کافی زیاد نبودند که آسیب‌های جبران‌ناپذیری را ایجاد کنند، اما به‌اندازه‌ای بودند که به دنبال جستجوی نسخه‌ای جایگزین و بهتر باشند.

در نتیجه، نسخه سوم (SSL 3.0) در سال 1996 منتشر شد. این آخرین پروتکل در مقایسه با نسخه‌های قبلی خود یک اصلاح کامل بود و نسبت به دو نسخه قبلی ارتقاء چشمگیری داشت. پیش نویس نهایی SSL 3.0 توسط کارگروه مهندسی اینترنت (IETF) در سال 1996 منتشر شد.

 

1999: SSL تبدیل به TLS می‌شود – راه‌اندازی TLS 1.0

 

سه سال بعد، کریستوفر آلن (Christopher Allen) و تیم دایرکس (Tim Dierks) از توسعه پروتکل TLS 1.0 که نسخه ارتقا یافته SSL 3.0 بود، خبر دادند. اگرچه تغییر نام نشان‌دهنده تفاوت قابل‌توجهی بین هر دو است، اما تفاوت زیادی بین این پروتکل‌ها وجود نداشت.

 

دهه 2000 تا کنون: راه‌اندازی نسخه‌های TLS

 

از زمان انتشار اولین نسخه TLS، سه نسخه دیگر از TLS منتشر شده است. اولین نسخه TLS 1.1 بود که در سال 2006 منتشر شد. این نسخه دارای برخی ارتقاهای قابل‌توجه در مقایسه با TLS 1.0 بود. این  نسخه شامل محافظت بیشتر در برابر حملات زنجیره‌ای بلوک رمز (CBC) و پشتیبانی از پارامترهای ثبت‌نام مرجع شماره‌های اختصاص‌داده‌شده اینترنت (IANA) بود. در سال 2020 هر دو این نسخه‌ها به‌شدت آسیب‌پذیر بودند، در نتیجه منسوخ شدند.

بلافاصله پس از انتشار TLS 1.1 در سال 2006، TLS 1.2 در سال 2008 منتشر شد. این نسخه با ارتقاء امنیتی بسیار بالا همراه بود. انتشار تقریباً فوری آن باعث شد تا کاربران به جای TLS 1.1 مستقیماً از نسخه TLS 1.2 استفاده کنند. در حال حاضر، TLS 1.2 رایج ترین پروتکل SSL/TLS است.

به لطف پیشرفت‌های امنیتی ارائه شده توسط TLS 1.2، این نسخه به‌عنوان یک پروتکل امن شناخته می‌شود و پس از گذشت یک دهه از انتشار آن، جانشین آن، TLS 1.3 منتشر شد.

TLS 1.3 در سال 2018 منتشر شد و ویژگی‌های امنیتی ضروری مانند حذف پشتیبانی MD5 و SHA-224، استفاده از Perfect Forward Secrecy و غیره را ارائه کرد.

 

آیا باید گواهی‌های SSL خود را با گواهی‌های TLS جایگزین کنیم؟

 

خوب، البته که نه. دلیل آن این است که هر دو گواهی SSL و TLS اساساً مشابه هم هستند. در واقع هر دو گواهی دیجیتال X.509 هستند که به احراز هویت سرور و تسهیل فرایند handshake برای ایجاد یک اتصال ایمن کمک می‌کنند.

برخی از مردم آنها را گواهی‌ SSL می‌نامند، درحالی‌که برخی دیگر آنها را به‌عنوان گواهی‌نامه TLS می‌شناسند. نام چندان اهمیتی ندارد؛ زیرا گواهی با پروتکل یکسان نیست. هر چه آنها را صدا کنید، مهم پروتکلی است که بر اساس آن عمل می‌کند و این پروتکل‌ها توسط پیکربندی سرور شما تعیین می‌شوند، نه توسط گواهی‌های دیجیتال؛ بنابراین، باید مطمئن شوید که وب سرور شما از آخرین پروتکل‌های TLS پشتیبانی می‌کند.

به طور مشابه، شما همچنین باید پشتیبانی سرور را برای قدرت رمزگذاری بالاتر فعال کنید. چرا؟ زیرا قدرت رمزگذاری بر اساس گواهی نیست، بلکه به پیکربندی سرور و کلاینت بستگی دارد. بااین‌وجود، این گواهی‌نامه‌ها بیشتر گواهی‌نامه‌های SSL نامیده می‌شوند. بسیاری از کاربران از اصطلاح گواهی TLS استفاده می‌کنند، اما درهرصورت با همدیگر تفاوت چندانی ندارند، زیرا هر دو به یک معنی هستند.

 

جمع‌بندی

 

همان‌طور که در این مقاله اشاره شد TLS جایگزین پروتکل SSL بوده و از امنیت بالاتری برخوردار است. در حالت کلی این دو پروتکل عملکردهای یکسانی را از نظر ارائه یک وب‌سایت از طریق HTTPS ارائه می‌دهند، اما نحوه انجام آن متفاوت است. اگر TLS توسعه‌نیافته بود، به جای SSL در مقابل TLS در مورد چیزی مانند SSL 5.0 در مقابل SSL 4.0 صحبت می‌کردیم.

اگر اطلاعات بیشتر در مورد پروتکل‌های SSL و TLS دارید می‌توانید اطلاعات خود را از طریق کامنت‌ها با ما به اشتراک بگذارید تا بتوانیم به بحث و تبادل نظر بپردازیم.

 

سؤالات متداول

 

1- تفاوت بین TLS و SSL چیست؟

 

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

 

2- تفاوت بین TLS و HTTPS چیست؟

 

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

 

3- چرا کسب‌وکارها و برنامه‌های کاربردی وب باید از پروتکل TLS استفاده کنند؟

 

رمزگذاری TLS می‌تواند به محافظت از برنامه‌های کاربردی وب در برابر نقض داده ها و سایر حملات کمک کند. امروزه، HTTPS محافظت شده با TLS یک روش استاندارد برای وب‌سایت‌ها است. مرورگر گوگل کروم به تدریج سایت‌های غیر HTTPS را سرکوب کرد و سایر مرورگرها نیز از این روند پیروی کردند. کاربران روزمره اینترنت نسبت به وب‌سایت‌هایی که نماد قفل HTTPS را ندارند، بیشتر محتاط هستند.

 

 

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]
نویسنده: Ali Safari

دیدگاه‌ها