تاریخچه SSL

برنامه نویسی امن 

تلاش های تحقیقاتی در اوایل نسبت به امنیت در لایه انتقال شامل برنامه نویسی شبکه ای امن SSL و رابط برنامه نویسی کاربردی بود. در سال 1993 به بررسی رویکرد داشتن یک لایه انتقال امن، به منظور تسهیل مقاوم سازی برنامه های کاربردی موجود در شبکه با اقدامات امنیتی پرداخته شد.

3.0 ، 2.0، 1.0 SSL

پروتکل SSL در اصل توسط Netscape توسعه داده شد. نسخه 1.0 آن برای استفاده عمومی نبود. نسخه 2.0 آن در سال 1995 منتشر شد که تعدادی نقص های امنیتی داشت و منجر به تولید نسخه 3.0 شد. SSL 3.0 که در سال 1996 منتشر شد یک طراحی مجدد کامل از پروتکل های تولید شده بود.

TLS 1.0

این پروتکل در سال 1999 به عنوان ارتقا یافته ی نسخه SSL 3.0 تعریف شد. تفاوت چشمگیری بین این پروتکل و SSL 3.0 وجود ندارد و می توان گفت این پروتکل SSL 3.0 را کامل کرده است.

TLS 1.1

این پروتکل در سال 2006 تعریف شد و توسعه یافته TLS 1.0 بود.
تفاوت های قابل توجهی که در این نسخه وجود دارد:

  • حفاظت دربرابر حملات (Cipher block chaining (CBC اضافه شده است.
  • IV implicit با IV explicit جایگزین شده است.

TLS 1.2

در سال 2008 تولید شد. مشخصات TLS 1.1 را دارد. تفاوتی که این پروتکل دارد این است که MD5-SHA-1 با SHA-256 جایگزین شده است.

برنامه های کاربردی

در طراحی برنامه های کاربردی، TLS معمولاً در بالای تمامی پروتکل های لایه انتقال پیاده سازی می شود و پروتکل های برنامه های کاربردی مانند HTTP، FTP، SMTP، NNTP، XMPP، را کپسوله می کند. با استفاده از پروتکل های انتقال داده گرام مانند UDP و پروتکل کنترل ازدحامداده(DCCP)استفاده می شود.

وب سایت ها

یک استفاده برجسته از TLS این است که برای امن کردن ترافیک بین وب سایت ها و مرورگرها استفاده می شود.

تبادل کلید

در پیاده‌سازی‌های نخستین لایهٔ سوکت‌های امن، به علّت محدودیت‌های اعمال شده بر روی صادرات تکنولوژی رمزنگاری از طرف دولت ایالات متحده، از کلیدهای متقارن با طول ۴۰ استفاده می‌شد. قبل از اینکه کلاینت و سرور به تبادل اطلاعات حفاظت شده توسط TLS بپردازند باید بر روی یک کلید رمزگذاری و یک روش رمزگذاری توافق کنندتا مبادله ی امنی داشته باشند.
متدهایی که برای مبادله کلید استفاده می شود:
تولید کلیدهای عمومی خصوصی باRSA، Diffie-Hellman، ephemeral Diffie-Hellman، ECDH، ephemeral Elliptic Curve Diffie-Hellman، anonymous Diffie-Hellman و PSK.
روش توافق کلید TLS_DH_anon سرور و کلاینت را احراز هویت نمی‌کند به همین دلیل به ندرت استفاده می شود.