ما هو TLS وكيف يستخدم في تشفير البيانات وتامينها وهل يعتبر بديلا عن SSL ؟

من عرب اندكس

TLS وهو اختصارا من Transport Layer Security او ترجمة للعربية الى “تأمين طبقة النقل” هو: بروتوكول تشفير (cryptographic  protocol) يستخدم في توفير قناة اتصال آمنة بين طرفين على الشبكة اثناء تبادل البيانات بينهما بحيث يتم تشفير تلك البيانات وتعميتها لمنع اي طرف ثالث من كشفها او الاطلاع على محتواها الاصلي او تعديلة.

يعتبر البروتوكول TLS البديل الامن عن بروتوكول SSL  الذي كان مستخدما في السابق والمطور من قبل نيتسكيب (Netscape) لما يوفره من آمان أعلى في تشفير وتعمية البيانات، و تعمل TLS فوق طبقة TCP (بروتوكول التحكم بالارسال Transmission Control Protocol)

كيف يعمل بروتوكول TLS على حماية البيانات اثناء تبادلها على الشبكة؟

اذا اردنا الحديث ببساطة فان البرمجيات سواء كانت متصفحات انترنت او برامج المراسلة او برامج تبادل البيانات على الشبكة بشكل عام والتي تسمى Client/Server Applications (تطبيقات الخادم والعميل) تقوم باستخدام بروتوكول TLS للاتصال عبر الشبكة بطريقة مصممة لمنع التنصت او التلاعب بالبيانات التي يتم تبادلها، حيث يتم ارسال واستقبال البيانات بين العميل والخادم في ظروف تمنع اي طرف على الشبكة من كشف ماهية تلك البيانات او حتى التلاعب فيها، حيث ان البرمجيات في العادة تستخدم منافذ خاصة من اجل اجراء الاتصال الامن (مثلا تستخدم المنفذ 443 لتصفح http بالوضع الامن او ما يسمى https بدلا من الوضع الطبيعي الذي لا يتم فيه تشفير البيانات).

تعتمد TLS في مبدأ عملها الاساسي في العادة على مجموعة من الجهات الخارجية والتي تعتبر مراجع مُصَدِقة وموثوقة لاصدار شهادات الحماية ومصادقتها وتسمى تلك الجهات بـ (Trusted third-party certificate authorities) او اختصارا بـ CA. بحيث تكون هي الجهات التي تقوم بالمصادقة على شهادات الحماية التي تستخدمها TLS في تشفير البيانات ويتم توزيع تلك الشهادات على اجهزة المستخدمين بحيث تكون مرفقة او مدمجة مع تطبيقات الوكيل المستخدم (كمتصفح كروم مثلا) وتكون مرتبطة بتلك الجهة ويمكن تعديلها من قبل الجهة المعتمدة (CA).

اذا حاولنا ان نفصل الكيفية التي يعمل بها بروتوكول TLS على تشفير البيانات بين الخادم والعميل بشكل ادق نوعا ما فان العملية تتم كالتالي مع مراعاة ان العميل هنا هو متصفح الانترنت مثلا كفيرفوكس والخادم هو الخادم الذي يستضيف الموقع المطلوب زيارته وهو المسؤول عن جلب محتويات الموقع المطلوب (ويمكن تعميمها على مختلف البرمجيات بما فيها تطبيقات التراسل الفوري مثلا):

  1. تبدا العملية عندما يقوم العميل بالاتصال بالخادم وطلب تبادل البيانات عبر المنفذ الامن من خلال TLS في عملية تسمى المصافحة (handshake)، حيث يقوم العميل بارسال قائمة بطرق التشفير التي يدعمها العميل والتي تسمى (Cipher suite) .
  2. عندما يستلم الخادم الطلب يقوم بالبحث في قائمة التشفير المرسله له للعثور على احد الطرق التي يدعمها هو ايضا ويقوم باختيار واحدة منها واشعار العميل بها.
  3. يقوم الخادم ايضا بارسال شهادة المفتاح العام (Public key certificate) للعميل والتي تسمى احيانا بـ (digital certificate) حيث تحتوي هذه الشهادة على اسم الخادم و اسم الجهة المصدقة (CA) على الشهادة المستخدمة والمفتاح العام للتشفير المستخدم على السيرفر للشهادة (public encryption key).
  4. عندما يستلم العميل هذه المعلومات يقوم بالمصادقة عليها والتاكد من صحة الشهادة المستخدمة وذلك بمقارنتها بما لديه من شهادات حماية قبل ان يبدا الاتصال الامن، وفي حال عدم مطابقتها لما لديه من معلومات فانه يتم قطع الاتصال او ظهور تحذير يفيد بخلل في بيانات شهادة الحماية المستخدمة.
  5. حتى يتم توليد مفتاح الجلسة (Session Key) والذي سوف يستخدم لاحقا لتامين الاتصال فان العميل يقوم يتوليد رقم عشوائي مشفرا باستخدام المفتاح العام الذي ورد له من الخادم في الخطوة السابقة (والذي لا يمكن فك تشفيره ومعرفته الا باستخدام المفتاح الموجود على الخادم) ويقوم بارسالة الى الخادم مشفرا.
  6. عندها فان الطرفين (الخادم والعميل) سوف يستخدم  الرقم العشوائي لإنشاء مفتاح جلسة فريد للتشفير وفك تشفير البيانات التي يتم تبادلها بين الطرفين خلال الجلسة حتى انتهاء الاتصال بينهما.
  7. اذا فشلت اي من الخطوات السابقة فانه سوف يتم قطع الاتصال والايعاز بالبدء من جديد في عملية المصافحة (handshake).

لمعرفة الخطوات التفصيلية التي يتم فيها تامين البيانات عبر بروتوكول TLS بين الخادم والعميل راجع الرابط التالي https://en.wikipedia.org/wiki/Transport_Layer_Security#Protocol_details

تجدر الاشارة الى انه تم اصدار الاصدار الاول من بروتوكول TLS والذي يحمل الرقم 1.0 في كانون الثاني من عام 1999 من قبل فريق هندسة الانترنت (IETF) من خلال الوثيقة RFC 2246 وتحديثه في ابريل 2006 الى الاصدار 1.1 من خلال وثيقة RFC 4346 وتم تحديثه في أغسطس من عام 2008 الى الاصدار (1.2) من خلال وثيقة RFC 5246 المتعلقة بذلك وكما تم تحديثه مؤخرا في مارس عام 2018 الى الاصدار (1.3) ومازالت وثيقة TLS 1.3 RFC كمسودة حتى لحظة كتابة هذه الكلمات.


تلميح: ان استخدام الوضع الامن في تصفح مواقع الانترنت HTTPS يجنبك الوقوع ضحية في هجوم رجل المنتصف.

مصادر و مراجع