أمان طبقة النقل (TLS) هو أحد بروتوكولات الأمان الأكثر أهمية والأكثر استخدامًا. إنه يحمي نسبة كبيرة من البيانات التي يتم إرسالها عبر الإنترنت. إنه الأكثر بروزًا يستخدم لتأمين البيانات التي تنتقل بين متصفح الويب وموقع الويب عبر HTTPS, ولكن يمكن استخدامه أيضًا لتأمين البريد الإلكتروني ومجموعة كبيرة من البروتوكولات الأخرى.
تعد TLS ذات قيمة لأنها تضمن أن الطرف الآخر في الاتصال هو من يقولونه ، ويوضح ما إذا كانت البيانات تحتفظ بسلامتها الأولية ، وتوفر السرية من خلال التشفير.
يستخدم TLS مجموعة من الخوارزميات والمخططات المختلفة لتحقيق هذه الأغراض. قد يبدو الأمر معقدًا ، لكن هذه المقالة ستغطي جانبًا واحدًا في كل مرة لإعطائك نظرة متعمقة على كيفية عمل TLS لتأمين الاتصالات.
ماذا تفعل TLS?
عند إرسال المعلومات عبر الإنترنت ، نواجه ثلاث مشكلات أمنية رئيسية:
- كيف يمكننا أن نعرف ما إذا كان الشخص الذي نتواصل معه هو بالفعل من يقولونه?
- كيف يمكننا أن نعرف أن البيانات لم يتم العبث بها منذ إرسالها?
- كيف يمكننا منع الآخرين من رؤية البيانات والوصول إليها?
هذه المشكلات ضرورية ، خاصة عندما نرسل معلومات حساسة أو قيمة. يستخدم TLS مجموعة من تقنيات التشفير لمعالجة كل من هذه المشكلات الثلاث. معا ، فإنها تسمح للبروتوكول ل مصادقة الطرف الآخر في اتصال ، والتحقق من سلامة البيانات وتوفير الحماية المشفرة.
لنبسط الأشياء ونتظاهر بأنك تحاول نقل المعلومات ذهابًا وإيابًا مع صديق يعيش في جميع أنحاء البلاد. إذا كانت المعلومات حساسة ، فستكون قلقًا جدًا بشأن المشكلات الرئيسية الثلاثة المذكورة أعلاه.
لا يمكنك فقط إرسال خطاب والأمل في الأفضل ، خاصةً إذا كنت تشك في أن الاتصالات ستستهدف من قبل المهاجمين. بدلاً من ذلك ، فأنت بحاجة إلى نظام يسمح لك بالتحقق من أن مستلمك شرعي ، وهي طريقة يمكنك من خلالها التحقق مما إذا كانت الرسائل قد تغيرت ، وطريقة لحمايتها من أعين المتطفلين.
تلبي TLS هذه المتطلبات باستخدام عدد من العمليات المختلفة. يبدأ بما يعرف بـ مصافحة TLS, وهو المكان الذي تتم فيه المصادقة ويتم إنشاء المفاتيح.
للرجوع إلى قياس الخطاب الخاص بنا ، سيكون جزء المصادقة في TLS مثل إرسال خطاب عبر ناقل يتطلب تحديد الهوية. عندما يسلم ساعي البريد الرسالة ، فإنهم يقارنون هوية الشخص مع وجوههم والتحقق مما إذا كان المستلم هو الشخص الصحيح أم لا..
ستكون مرحلة التأسيس الأساسية شبيهة قليلاً إذا كانت رسالتك تحتوي على نصف رقم التعريف الشخصي الذي تنوي استخدامه في الاتصالات المستقبلية. ستطلب من المستلم أن يتوصل إلى النصف الثاني من الرقم ويرسله إليك في خطاب الإرجاع.
بمجرد التحقق من هوية حامل البطاقة وتحديد رقم التعريف الشخصي ، سيكون لديك كل ما تحتاجه لإرسال المعلومات بشكل آمن. في الواقع ، هذه المراحل أكثر تعقيدًا ، لكننا سنصل إليها لاحقًا.
يتبادل TLS المعلومات بأمان مع بروتوكول التطبيق. لمتابعة القياس الخاص بنا ، فإن إرسال البيانات بأمان عبر TLS سيكون مثل كتابة رسالة ووضعها في مظروف. ستكتب توقيعك عبر الختم ، بحيث إذا تم التلاعب بالرسالة ، فسيتمكن المستلم من الإخبار بالتوقيع الممزق (يتم ذلك فعلًا باستخدام الرياضيات ، ولكن مرة أخرى ، سنقوم بتغطيته بتعمق لاحقًا).
بعد ذلك ، يمكنك وضع الحرف في صندوق معدني صغير به قفل تركيبة ، مع تحديد التركيبة كرقم الدبوس الذي قمت بتأسيسه بالاشتراك مع المستلم. سوف ترسل المربع من خلال البريد السريع الذي يتحقق من تحديد الهوية عند تسليم الطرود. سوف يرد المستلم بنفس الطريقة ، وستتبع أي اتصالات مستقبلية نفس الخطوات.
TLS يحل جميع مشاكلنا الثلاث بطريقة مماثلة نسبيا. يعمل البريد السريع على مصادقة المستلم والتأكد من تسليم الصندوق إلى الشخص المقصود منه. يعمل الصندوق المقفل كنوع من التشفير ، ويمنع أي شخص غير شريكك من الوصول إلى الحروف. يتيح لك المغلف الموقع معرفة ما إذا كان قد تم العبث بالرسالة أم لا.
هذا تقريب تقريبي جدًا لما يفعله TLS. في الواقع, TLS يحدث بين العملاء والخوادم, بدلاً من شخصين يرسلان البريد إلى بعضهما البعض. القياس هو مجرد إعطائك تصور لما يحدث والأسباب وراء ذلك. في الأقسام التالية ، سنغطي ما يحدث بالفعل بالتفصيل.
TLS مقابل SSL
عند القراءة عن TLS ، سترى غالبًا ذكر SSL أو حتى TLS / SSL. طبقة مآخذ التوصيل الآمنة (SSL) هي الإصدار القديم من TLS ، ولكن لا يزال يشير الكثيرون في الصناعة إلى TLS تحت اللقب القديم. ستستخدم هذه المقالة مصطلح TLS طوال الوقت ، ولكن من المهم ملاحظة أن الأسماء غالبًا ما يتم استخدامها بالتبادل. يمكنك قراءة المزيد حول SSL في دليلنا.
تاريخ TLS
بدأ كل شيء مع الحاجة إلى تأمين طبقة النقل. كما ذكرنا أعلاه ، فإن مقدمة TLS كانت SSL. تم تطوير الإصدارات الأولى من طبقة مآخذ التوصيل الآمنة (SSL) في التسعينات بواسطة شركة Netscape ، وهي شركة قامت ببناء واحدة من متصفحات الويب المبكرة.
لم يتم إصدار SSL 1.0 لأنه يحتوي على نقاط ضعف خطيرة. الإصدار 2.0 خرج مع Netscape Navigator 1.1 في عام 1995, ومع ذلك لا يزال يحتوي على عدد من العيوب الخطيرة. كان SSL 3.0 إصدارًا تم إعادة تصميمه بشكل كبير وخرج في عام 1996 ، مع حل العديد من مشكلات الأمان.
في عام 1996, أصدر IETF مسودة SSL 3.0 في RFC 6101. شكلت IETF مجموعة عمل لتوحيد SSL ، ونشر النتائج في عام 1999 على أنها TLS 1.0. تم توثيقه في RFC 2246 وتضمن التقييس بعض التغييرات على البروتوكول الأصلي ، وكذلك تغيير الاسم. جاءت هذه التعديلات كنتيجة للمفاوضات بين Netscape و Microsoft ومجموعة عمل IETF.
في عام 2006 ، أصدر IETF RFC 4346 ، الذي يوثق TLS 1.1. احتوى هذا الإصدار على أحكام أمان جديدة وعدد من التحديثات الأخرى. تم إصدار الإصدار 1.2 بعد عامين فقط من عام 2008. وقد تضمن دعمًا لأصفار تشفير مصادقة ، وعددًا من التغييرات في كيفية استخدام وظائف التجزئة والعديد من التحسينات الأخرى.
لم يصل الإصدار التالي حتى عام 2023 ، عندما تم تعريف TLS 1.3. ويتميز بمجموعة من التغييرات ، بما في ذلك السرية الأمامية القسرية وإزالة الدعم للخوارزميات الأضعف وغير ذلك الكثير.
تم الآن ضبط TLS 1.0 و 1.1 في عام 2023 ، ولكن الإصدار 1.2 مستخدم على نطاق واسع. الإصدار 1.3 بدأ يرى زيادة الاعتماد.
TLS: التفاصيل الفنية
يتكون TLS من العديد من العناصر المختلفة. الجزء الأساسي هو بروتوكول التسجيل ، وهو البروتوكول الأساسي المسؤول عن الهيكل الشامل لكل شيء آخر.
رسم تخطيطي يوضح مكدس TLS. مكدس بروتوكول TLS بواسطة Jeffreytedjosukmono. مرخص بموجب CC0.
يحتوي بروتوكول السجل على خمسة بروتوكولات فرعية منفصلة ، يتم تنسيق كل منها على النحو التالي تسجيل:
- مصافحة – يستخدم هذا البروتوكول لإعداد المعلمات للاتصال الآمن.
- تطبيق – يبدأ بروتوكول التطبيق بعد عملية المصافحة ، وهو حيث يتم نقل البيانات بشكل آمن بين الطرفين.
- إنذار – يتم استخدام بروتوكول التنبيه من قبل أي من الطرفين في اتصال لإخطار الطرف الآخر في حالة وجود أي أخطاء أو مشاكل الاستقرار أو حل وسط محتمل.
- تغيير تشفير المواصفات – يستخدم هذا البروتوكول من قبل العميل أو الخادم لتعديل معلمات التشفير. إنه بسيط ومباشر ، لذا لن نغطيها بتعمق في هذه المقالة.
- نبض القلب – هذا امتداد TLS يتيح لجانب واحد من الاتصال معرفة ما إذا كان نظيره لا يزال على قيد الحياة ، ويمنع جدران الحماية من إغلاق الاتصالات غير النشطة. إنه ليس جزءًا أساسيًا من بروتوكول TLS ، لذلك سنتخطاه في هذا الدليل.
يتم استخدام كل من هذه البروتوكولات الفرعية في مراحل مختلفة لتوصيل معلومات مختلفة. وأهم ما يجب فهمه هو المصافحة وبروتوكولات التطبيق ، لأن هذه هي المسؤولة عن تأسيس الاتصال ثم نقل البيانات بشكل آمن.
بروتوكول مصافحة TLS
هذا هو المكان الذي يتم تأسيس الاتصال بطريقة آمنة. قد يبدو الأمر معقدًا إذا كنت جديدًا على بعض المفاهيم ، لكن كل منها قد تمت تغطيته لاحقًا في المقالة إذا كنت بحاجة إلى الرجوع إليها.
هناك ثلاثة أنواع أساسية من مصافحة TLS: مصافحة TLS الأساسية, ال مصادقة TLS مصادقة من العميل و ال المصافحة المختصرة.
مصافحة TLS الأساسية
رسم تخطيطي يوضح عملية المصافحة TLS. مصافحة TLS 1.2 بالكامل بواسطة FleshGrinder. مرخص بموجب CC0.
في هذا النوع من المصافحة ، تتم مصادقة الخادم فقط وليس العميل. تبدأ مرحلة التفاوض ، حيث يرسل العميل أ العميل مرحبا رسالة. يحتوي هذا على أعلى إصدار من TLS الذي يدعمه العميل ومجموعات التشفير الممكنة وإشارة إلى ما إذا كان يدعم الضغط ورقم عشوائي وبعض المعلومات الأخرى
التقى رسالة مرحبا العميل مع الخادم مرحبا رسالة. تحتوي هذه الاستجابة على معرف الجلسة وإصدار البروتوكول ومجموعة التشفير والضغط (إن وجد) الذي تم تحديده من الخادم من قائمة العميل. ويشمل أيضا رقم عشوائي مختلف.
يعتمد ذلك على مجموعة التشفير التي تم تحديدها ، لكن الخادم سوف يتبع ذلك عمومًا عن طريق إرسال ملف شهادة رسالة للمصادقة. هذا التحقق من صحة هويته ويحتوي على المفتاح العمومي.
إذا تم استخدام التبادلات المؤقتة Diffie-Hellman أو مفاتيح Diffie-Hellman المجهولة ، فسيتبع ذلك تبادل خادم المفتاح رسالة. طرق تبديل المفتاح الأخرى تخطي هذا الجزء. عندما ينتهي الخادم من جانبه من التفاوض ، فإنه يرسل خادم مرحبا به رسالة.
الآن حان دور العميل مرة أخرى. اعتمادا على مجموعة الشفرات المختارة ، سوف يرسل تبادل مفتاح العميل رسالة. يمكن أن يحتوي هذا على مفتاح عمومي أو سر سابق ، والذي يتم تشفيره باستخدام المفتاح العمومي للخادم.
كلا الطرفين ثم استخدام الأرقام العشوائية والسر premaster للتوصل إلى سر رئيسي. يتم اشتقاق المفاتيح من السر الرئيسي ، والتي تستخدم بعد ذلك لمصادقة وتشفير الاتصالات.
العميل ثم يرسل تغيير تشفير المواصفات رسالة. هذا يخبر الخادم بأنه سيتم الآن مصادقة وتشفير الرسائل التالية (على الرغم من أنه في بعض الأحيان قد لا يتم استخدام التشفير).
العميل ثم يتبع هذا مع تم الانتهاء من رسالة مشفرة وتحتوي أيضًا على رمز مصادقة الرسائل (MAC) للمصادقة. يقوم الخادم بفك تشفير هذه الرسالة والتحقق من MAC. إذا فشلت أي من هذه العمليات ، فيجب رفض الاتصال.
الآن حان دور الخادم لإرسال تغيير تشفير المواصفات الرسالة ، وكذلك تم الانتهاء من رسالة مع نفس المحتوى على النحو الوارد أعلاه. يحاول العميل أيضًا فك تشفير المحتويات والتحقق منها. إذا تم الانتهاء من كل هذا بنجاح ، فإن المصافحة قد انتهت. عند هذه النقطة ، يتم إنشاء بروتوكول التطبيق. يمكن بعد ذلك تبادل البيانات بشكل آمن بنفس طريقة تبادل البيانات تم الانتهاء من رسالة من أعلاه ، مع المصادقة والتشفير الاختياري.
مصادقة TLS مصادقة من العميل
هذا المصافحة يشبه إلى حد كبير مصافحة TLS الأساسية ، ولكن العميل مصادق كذلك. الفرق الرئيسي هو أنه بعد أن يرسل الخادم شهادة الرسالة ، كما يرسل طلب شهادة رسالة ، طلب شهادة العميل. بمجرد انتهاء الخادم ، يرسل العميل شهادته في شهادة رسالة.
العميل ثم يرسل لها تبادل مفتاح العميل الرسالة ، تماما كما هو الحال في مصافحة TLS الأساسية. ويلي ذلك شهادة التحقق الرسالة ، والتي تتضمن التوقيع الرقمي للعميل. نظرًا لأنه يتم حسابه من المفتاح الخاص بالعميل ، يمكن للخادم التحقق من التوقيع باستخدام المفتاح العمومي الذي تم إرساله كجزء من الشهادة الرقمية للعميل. الباقى من مصادقة TLS مصادقة من العميل يتبع على نفس الخطوط مثل مصافحة TLS الأساسية.
مصافحة TLS المختصرة
بمجرد إجراء مصافحة بالفعل ، يسمح TLS بقطع جزء كبير من العملية باستخدام مصافحة مختصرة بدلاً من ذلك. تستخدم هذه المصافحات معرف الجلسة لربط الاتصال الجديد بالمعلمات السابقة.
تتيح المصافحة المختصرة للطرفين استئناف الاتصال الآمن بنفس الإعداد الذي تم التفاوض عليه مسبقًا. نظرًا لأن بعض التشفير الذي يشارك عادة في بدء المصافحة يمكن أن يكون ثقيلًا جدًا على الموارد الحاسوبية ، فإن هذا يوفر الوقت ويجعل الاتصال أسهل.
تبدأ العملية بـ العميل مرحبا رسالة. إنه يشبه إلى حد كبير رسالة Hello Client السابقة ، ولكنه يحتوي أيضًا على معرف جلسة العمل من اتصال سابق. إذا كان الخادم يعرف معرف الجلسة ، فسيضمّنه في الخادم مرحبا رسالة. إذا لم يتعرف على معرّف الجلسة ، فسوف يُرجع رقمًا مختلفًا ، وسيتعين إجراء مصافحة TLS كاملة بدلاً من ذلك..
إذا كان الخادم يتعرف على معرف الجلسة ، فإن شهادة و تبادل المفتاح يمكن تخطي الخطوات. ال تغيير تشفير المواصفات و تم الانتهاء من يتم إرسال الرسائل بنفس طريقة مصافحة TLS الأساسية الموضحة أعلاه. بمجرد قيام العميل بفك تشفير الرسالة والتحقق من MAC ، يمكن إرسال البيانات عبر اتصال TLS الآمن.
يوجد أيضًا ملحق TLS يسمح باستئناف الاتصالات مع تذاكر الجلسة بدلاً من معرفات الجلسة. يقوم الخادم بتشفير البيانات حول الجلسة وإرسالها إلى العميل. عندما يرغب العميل في استئناف هذا الاتصال ، فإنه يرسل تذكرة الجلسة إلى الخادم ، والذي يقوم بفك تشفيرها للكشف عن المعلمات.
لا يتم استخدام تذاكر الجلسة بشكل متكرر ، لأنها تتطلب التمديد. على الرغم من ذلك ، يمكن أن تكون مفيدة في مواقف معينة ، لأن الخادم ليس عليه تخزين أي شيء.
تفريغ مصافحة TLS
الخطوات الثلاثة الأكثر أهمية للمصافحة تتضمن:
- يتم اختيار المعلمات,
- انها تجري المصادقة ، و
- يتم تأسيس المفاتيح.
دعنا نغطيهم بتفاصيل أكثر قليلاً حتى تتمكن من فهم ما يجري بالفعل.
المعلمات
في بداية المصافحة ، يتفاوض العميل والخادم على معلمات الاتصال بالاتفاق المتبادل. أولها هو إصدار TLS الذي سيتم استخدامه. هذه هي النسخة الأعلى التي يدعمها الطرفان ، والتي تميل إلى أن تكون الأكثر أمانًا.
يقرر الطرفان أيضًا خوارزمية تبادل المفاتيح التي سيستخدمونها لإنشاء المفتاح الرئيسي. كما يتم الاتفاق على وظيفة التجزئة وخوارزمية التشفير وطريقة الضغط في هذه المرحلة. وسيتم تغطية هذه بالتفصيل عندما نناقش بروتوكول التطبيق لاحقا في المقال.
المصادقة: الشهادات الرقمية
تعد المصادقة جزءًا أساسيًا من تأمين قناة اتصال ، لأنها تتيح لكلا الطرفين معرفة أنهما في الواقع يتحدثان مع من يعتقدون أنهما ليسا محتالين. في TLS والعديد من آليات الأمان الأخرى ، يتم تحقيق ذلك باستخدام ما يعرف بالشهادات الرقمية.
الشهادات الرقمية هي مستندات إلكترونية تُظهر الارتباط بين الفرد أو الكيان والمفتاح العام. يتم التحقق من صحة هذا الرابط من قبل المرجع المصدق (CA) ، وهي منظمة موثوقة تتحقق من أن الاثنين مرتبطان بالفعل ، ثم تستخدم سمعتها الخاصة لمنح الثقة للشهادة.
تمثل مستويات الشهادة المختلفة درجات متفاوتة من الثقة. الشيء المهم الذي يجب معرفته هو أنه إذا كان لدى العميل أو الخادم شهادة موثوق بها وصالحة ، فمن المعقول افتراض أن المفتاح العمومي شرعي وأنك لا تتعامل مع مهاجم..
ملاحظة على المفاتيح العامة
تشفير المفتاح العام (المعروف أيضًا باسم التشفير غير المتماثل) هو جزء مهم من التشفير ، ويستخدم على نطاق واسع في جوانب مختلفة من TLS. ها هي مقدمة سريعة لأولئك الذين ليسوا على دراية بالكيفية التي تعمل بها.
التفسير القصير هو ذلك يستخدم تشفير المفتاح العام زوج مفاتيح للتشفير وفك التشفير ، بدلاً من مفتاح واحد فقط. يستخدم المرسل المفتاح العمومي للمستلم المقصود لتشفير البيانات. بمجرد أن يتم تشفيره ، يمكن فك تشفيره فقط بواسطة المفتاح الخاص المطابق للمستلم. بالطبع ، يمكن مشاركة المفتاح العام علنًا بينما يجب أن يبقى المفتاح الخاص سريًا.
يسمح تشفير المفتاح العام للأطراف بمشاركة المعلومات بشكل آمن ، حتى لو لم يلتقوا قط أو أتيحت لهم الفرصة لتبادل المفاتيح مسبقًا. يفعل ذلك من خلال بعض الخصائص الفريدة للأرقام الأولية. يمكنك معرفة المزيد في مقالتنا حول تشفير المفتاح العام.
إنشاء سر سيد
كما رأينا أعلاه عندما ناقشنا عملية مصافحة TLS الأساسية ، بعد أن يثبت الطرف (أو كلا الطرفين) هويته بشهادته العامة, والخطوة التالية هي تأسيس السر الرئيسي ، المعروف أيضًا باسم السر المشترك. السر الرئيسي هو الأساس لاشتقاق المفاتيح المستخدمة لتشفير البيانات المرسلة بين الطرفين والتحقق من سلامتها.
يمكن لمصافحة TLS استخدام عدد من الآليات المختلفة لمشاركة هذا السر بشكل آمن. يتضمن ذلك RSA وعدة أنواع مختلفة من تبادل مفاتيح Diffie-Hellman و PSK و Kerberos وغيرها. لكل منها مزاياه وعيوبه ، مثل توفير السرية للأمام ، ولكن هذه الاختلافات خارجة عن نطاق هذه المقالة.
ستعتمد العملية الدقيقة على طريقة تبادل المفاتيح التي تم اختيارها ، ولكنها تتبع الخطوات التقريبية المذكورة في مصافحة TLS الأساسية الجزء.
يتم اشتقاق سر premaster وفقًا لأي طريقة تم استبدالها مسبقًا. يقوم العميل بتشفير سر premaster باستخدام المفتاح العمومي للخادم لإرساله بأمان عبر الاتصال.
ثم يستخدم كل من العميل والخادم سر premaster والأرقام العشوائية التي أرسلوها في بداية الاتصال للتوصل إلى السر الرئيسي. بمجرد حساب المفتاح الرئيسي ، يتم استخدامه للتوصل إلى أربعة أو ستة مفاتيح منفصلة. هذه هي:
- كتابة العميل مفتاح MAC – يستخدم هذا المفتاح من قبل الخادم للتحقق من سلامة البيانات التي تم إرسالها من قبل العميل.
- خادم كتابة مفتاح MAC – يستخدم العميل مفتاح MAC الخاص بالكتابة على الخادم للتحقق من سلامة البيانات التي تم إرسالها بواسطة الخادم.
- مفتاح تشفير العميل – يستخدم الخادم هذا المفتاح لتشفير البيانات التي تم إرسالها بواسطة العميل.
- خادم الكتابة مفتاح التشفير – يستخدم العميل هذا المفتاح لتشفير البيانات التي تم إرسالها بواسطة الخادم.
- العميل اكتب مفتاح الرابع – يتم استخدام المفتاح IV الخاص بالكتابة بواسطة العميل في أصفار AEAD ، ولكن ليس عند استخدام خوارزميات تبادل المفتاح الأخرى.
- خادم اكتب مفتاح الرابع – بالمثل ، يتم استخدام هذا المفتاح من قبل العميل في أصفار AEAD ، ولكن ليس عند استخدام خوارزميات تبادل المفتاح الأخرى.
يعد إنشاء المفتاح الرئيسي جزءًا هامًا من مصافحة TLS ، لأنه يمكّن كلا الجانبين من الاتصال من استنباط المفاتيح التي يمكن استخدامها لكل من المصادقة والتشفير. تستخدم مفاتيح منفصلة لكلا العمليتين كإجراء وقائي.
بمجرد اشتقاق مفاتيح المصادقة والتشفير ، يتم استخدامها لحماية كليهما تم الانتهاء من الرسائل ، وكذلك السجلات المرسلة من خلال بروتوكول التطبيق.
بروتوكول التطبيق
بمجرد إنشاء اتصال آمن بواسطة مصافحة TLS ، يتم استخدام بروتوكول التطبيق لحماية البيانات المرسلة. يمكن تكوينه لاستخدام مجموعة واسعة من الخوارزميات لتناسب سيناريوهات مختلفة.
خوارزميات المصادقة
يمكن التحقق من سلامة الرسائل مع العديد من الخوارزميات المختلفة. وتشمل هذه:
- HMAC-MD5
- HMAC-SHA1
- HMAC-SHA2
- AEAD
لإثبات سلامة البيانات التي يتم إرسالها ، يقوم المرسل بتشغيل المعلومات من خلال دالة هاش لإرجاع سلسلة فريدة من الأحرف. هذه صيغ خاصة ستُرجع دائمًا نفس النتيجة كلما تلقوا نفس المدخلات.
يقوم المرسل بتوقيع هذه البيانات بمفتاحه الخاص لتشكيل ما يعرف بالتوقيع الرقمي ، ثم يتم إرفاق التوقيع الرقمي بالرسالة وإرساله إلى المستلم. للتحقق مما إذا كانت البيانات تحافظ على سلامتها ولم يتم العبث بها, يقوم المستلم بفك تشفير التجزئة باستخدام المفتاح العمومي للمرسل. ثم يستخدمون نفس دالة التجزئة على البيانات التي تم إرسالها. ثم يقارن المستلم القيمتين.
إذا كانت هي نفسها ، فهذا يعني أن البيانات لم يتم تغييرها منذ أن تم توقيعها من قبل المرسل. إذا كانت مختلفة ، فمن المحتمل أن البيانات قد تم العبث بها ، أو كان هناك بعض الأخطاء الأخرى.
هذه هي النسخة القصيرة لكيفية استخدام وظائف التجزئة لإظهار تكامل البيانات. إذا كنت ترغب في فهم أكثر تعمقا ، تحقق من مقالتنا عن التشفير والتمليح والتجزئة.
خوارزميات التشفير
يستخدم TLS تشفير المفتاح المتماثل لتوفير السرية للبيانات التي يرسلها. بخلاف تشفير المفتاح العمومي ، يتم استخدام مفتاح واحد فقط في كل من عمليات التشفير وفك التشفير. بمجرد أن يتم تشفير البيانات باستخدام خوارزمية ، ستظهر كخليط للنص المشفر. طالما يتم استخدام خوارزمية مناسبة ، فلن يتمكن المهاجمون من الوصول إلى البيانات الفعلية ، حتى لو اعترضوها.
يمكن لـ TLS استخدام العديد من الخوارزميات المختلفة ، مثل Camellia أو ARIA ، على الرغم من أن AES الأكثر شيوعًا.
ضغط
الضغط هو عملية ترميز البيانات لجعلها تأخذ مساحة أقل. يدعم TLS الضغط إذا قرر كلا جانبي الاتصال استخدامه. على الرغم من هذه القدرة ، يوصى عمومًا بتجنب استخدام TLS لضغط البيانات ، خاصة منذ هجوم CRIME (انظر مشكلات أمان TLS تم العثور على القسم أدناه) لتكون قادرة على الاستفادة من البيانات المضغوطة لاختطاف الجلسة.
حشوة
يضيف الحشو بيانات إضافية إلى رسالة قبل تشفيرها. إنها عملية تشفير شائعة يتم استخدامها للمساعدة في منع تلميحات في بنية البيانات المشفرة من التخلي عن معناها الحقيقي. يطبق TLS عمومًا حشو PKCS # 7 على السجلات قبل تشفيرها.
بروتوكول تنبيه
إذا أصبح الاتصال أو الأمان غير مستقر ، تم اختراقه ، أو حدث خطأ جسيم, يسمح بروتوكول التنبيه للمرسل بإخطار الطرف الآخر. هذه الرسائل لها نوعان ، إما تحذير أو قاتل. تشير رسالة تحذير إلى أن الجلسة غير مستقرة وتسمح للمستلم بتحديد ما إذا كان ينبغي مواصلة الجلسة أم لا.
تخبر الرسالة المميتة المستلم أنه قد تم اختراق الاتصال أو حدث خطأ خطير. يجب على المرسل إغلاق الاتصال بعد إرسال الرسالة. يحتوي بروتوكول التنبيه أيضًا على معلومات حول ما يسبب مشكلة الاتصال المعينة. يمكن أن يشمل ذلك أشياء مثل فشل فك التشفير ومرجع شهادة غير معروف ومعلمة غير قانونية وغير ذلك الكثير.
TLS & نموذج OSI
نموذج OSI هو وسيلة لتصور وتوحيد الطريقة التي ننظر بها إلى أنظمة وبروتوكولات الاتصال المختلفة لدينا. من المهم الإشارة إلى أنه مجرد نموذج ، وبعض البروتوكولات الخاصة بنا لا تتوافق مع ذلك.
لدى OSI سبع طبقات منفصلة توضح المستويات التي تعمل عليها البروتوكولات, لا يتوافق TLS مع أي واحد. يتدفق عبر بروتوكول نقل آخر مثل TCP ، والذي يجب أن يعني أنه أعلى من الطبقة الرابعة ، طبقة النقل. يتم استخدامه بشكل بارز كطبقة نقل ، ولكن نظرًا لأنه يجري مصافحات ، فهذا يعني أنه جزء من طبقات العرض التقديمي أو التطبيق.
كما ترى ، TLS ببساطة لا يتوافق مع نموذج OSI. هذا لا يعني أن TLS معطلة أو خاطئة ، إن وجدت ، فهذا يدل فقط على أن نموذج OSI معيب وغير قادر على حساب جميع بروتوكولات الاتصال الخاصة بنا.
استخدام TLS
يستخدم TLS لتأمين نسبة كبيرة من اتصالاتنا عبر الإنترنت. عادة يتم تنفيذه على بروتوكولات مثل بروتوكول التحكم في النقل (TCP), ولكن يمكن استخدامه أيضًا في بروتوكول التحكم في ازدحام مخطط البيانات (DCCP) وبروتوكول مخطط بيانات المستخدم (UDP).
يمكنه تأمين بروتوكولات مثل HTTP و SMTP و FTP و XMPP و NNTP, وكذلك الآخرين. التطبيق الأكثر شيوعًا هو تأمين Hypertext Transfer Protocol Secure (HTTPS) ، الذي يحمي الاتصال بين متصفح الويب وموقع الويب. يمكنك معرفة متى يتم استخدام HTTPS لتأمين اتصالك عبر الإنترنت ، لأن أيقونة القفل الأخضر ستظهر على يسار عنوان URL في أعلى المتصفح.
يمكن أيضًا استخدام TLS لإنشاء شبكات VPN, كما هو الحال في OpenConnect و OpenVPN. يستخدم إمكانيات التشفير والمصادقة الخاصة به لتكوين نفق يمكنه توصيل المضيفين والشبكات ببعضهم البعض. تعد تقنيات VPN المستندة إلى TLS مثل OpenVPN مفيدة على البدائل مثل IPsec ، لأنه من غير المعروف أن OpenVPN لديها أي مشكلات أمنية خطيرة. يمكن أن تكون هذه الشبكات الخاصة الافتراضية أسهل في التكوين.
آخر استخداماته هو بريد إلكتروني آمن من خلال STARTTLS. عند تطبيق TLS ، يمنع المهاجمين من الوصول إلى الرسائل أثناء انتقالهم بين خوادم البريد.
مشكلات أمان TLS
مثل معظم البروتوكولات ، واجه TLS عددًا من نقاط الضعف والهجمات النظرية السابقة ضد تطبيقاته المختلفة. على الرغم من هذا, تعتبر أحدث الإصدارات آمنة لأغراض عملية.
تشتمل الإصدارات السابقة ، مثل SSL 2.0 و 3.0 (و TLS 1.0 ، والتي تشبه إلى حد كبير SSL 3.0) على العديد من العيوب الأمنية ، ولكن نظرًا لأنها بروتوكولات قديمة وإهمال ، فلن ندخل في التفاصيل. يجب أن تستخدم TLS 1.2 و 1.3 لتأمين اتصالاتك بدلاً من ذلك.
للإصدارات الأحدث من TLS ترقيات عديدة تجعلها أقل عرضة للخطر من طبقة المقابس الآمنة. على الرغم من ذلك ، لا يزال لدى البروتوكول مشكلات الأمان التالية:
هجمات إعادة التفاوض
تتمثل إحدى ميزات TLS في أنها تتيح لأزواج العميل والخادم إعادة التفاوض بشأن معلمات اتصالهم الحالي. في عام 2009 ، اكتشف أن المهاجمين قد يستغلون ذلك حتى يتمكنوا من ضخ حركة المرور لجعلها تبدو وكأنها تأتي من العميل. سوف تقبل الخوادم الطلب باعتباره مشروعًا ، مما يعني أنه من المحتمل أن يقوم المهاجمون بمعالجة الرسائل الصادرة.
لا يسمح هذا الهجوم للمهاجم برؤية الرد ، لكن لا يزال لديه احتمال أن يكون ضارًا. التمديد الذي سيمنع هذه الهجمات هو المعيار المقترح حاليًا.
وحش
اكتشف الباحثون لأول مرة هجوم المستعرض ضد استغلال SSL / TLS (BEAST) لأول مرة في عام 2011. وهو يستفيد من مشكلة عدم حصانة كتلة التشفير في TLS ، والتي يمكن استخدامها لفك تشفير الرسائل. يؤثر هذا الهجوم فقط على TLS 1.0 ، وهو إصدار قديم وأضعف من البروتوكول. على الرغم من أنه لن يتم إهماله حتى عام 2023 ، إلا أنه يجب على المستخدمين استخدام الإصدارين 1.2 و 1.3 بدلاً من ذلك.
توقيت الهجمات
تحلل هجمات القناة الجانبية هذه المدة التي تستغرقها عملية الخوارزمية ، ثم تستخدم هذه المعلومات للعمل للخلف ومعرفة المفتاح. في عام 2013 ، تم اكتشاف هجوم Lucky Thirteen للاستفادة من هجوم التوقيت وهجوم أوراكل الحشو أثناء فحص رمز مصادقة الرسائل (MAC). يمكن استخدام هذا الهجوم لكسر خوارزمية TLS ، على الرغم من أنها لا تعتبر خطرة بالنسبة لغالبية مستخدمي TLS.
جريمة & خرق
هجوم CRIME يعمل ضد مجموعة من البروتوكولات. عندما يتم ضغط البيانات ، فإنه يمكن الحصول على محتوى من ملفات تعريف ارتباط المصادقة. يمكن استخدام هذه المعلومات لاختطاف الجلسة. في حين أنه يؤثر على عدد من البروتوكولات ، إلا أن الهجوم يثير القلق بشكل خاص عند استخدام ضغط HTTP ، لأنه لا توجد استراتيجيات فعالة للتخفيف.
في عام 2013 ، تم العثور على استطلاع المستعرضات و Exfiltration عبر استغلال الضغط التكيفي للنص التشعبي (BREACH) للتأثير على ضغط HTTP بطريقة مماثلة. يمكن لهذا الإصدار من الهجوم استرداد عناوين البريد الإلكتروني والبيانات القيمة الأخرى التي تم تشفيرها باستخدام TLS. يمكن تخفيف هجوم BREACH عن طريق تعطيل ضغط HTTP ، أو باستخدام تقنيات مثل حماية التزوير عبر الموقع (CSRF).
هجمات خفض مستوى
هذه هي الهجمات التي تخدع الخوادم في استخدام الإصدارات السابقة والأقل أمانًا من TLS. يمكن للمهاجمين استخدام هذه التقنيات للتفاوض على استخدام التبادلات والأصفار الرئيسية الأقل أمانًا. يعد هجوم Logjam مثالًا جيدًا لأنه قد يجعل الخوادم الضعيفة تستخدم 512 بت Diffie-Hellman ، وهو ضعيف. يمكن للمهاجمين عندئذ كسر آلية تبادل المفاتيح هذه واستخراج المفاتيح ، مما يتيح لهم الوصول الكامل إلى الجلسة.
هارتبليد
Heartbleed كان ثغرة أمنية تم إدخالها بطريق الخطأ في مكتبة تشفير OpenSSL في عام 2012, لكن لم يتم نشره حتى عام 2014. نظرًا لأن هذا التطبيق شائع الاستخدام لـ TLS ، فقد تسبب في ضرر عالمي كبير.
أضاف أحد مطوري امتداد نبضات TLS ثغرة أمنية مفرطة في القراءة ، مما يسمح بعرض بعض البيانات الإضافية. لم يتم التقاط الخطأ عند مراجعة الرمز ، مما أدى إلى عدد من الهجمات المهمة.
نظرًا لتطبيق مكتبة OpenSSL على نطاق واسع ، فإن التكلفة الدولية للتخفيف من هذه المشكلة قد أصبحت باهظة الثمن. كان على مسؤولي الخادم تثبيت التصحيحات الجديدة وتجديد الشهادات وأزواج المفاتيح التي ربما تكون قد تم اختراقها خلال فترة العامين بسبب وجود ثغرة أمنية.
غرق
تم الإعلان عن هجوم فك تشفير RSA بهجوم عفا عليه الزمن وضعف التصنيف الإلكتروني (DROWN) في عام 2016 ويستفيد من دعم الخادم لـ SSL 2.0. يستخدم هجوم نص مختار ضد الخوادم التي لا تزال تدعم SSL 2.0 ، وكذلك تلك التي تشترك في نفس شهادة المفتاح العام مع خادم آخر يدعم SSL 2.0.
عند الإعلان عن الهجوم ، يمكن إطلاقه بتكلفة إعداد أولية تبلغ حوالي 18000 دولار وحوالي 400 دولار لكل هجوم منفصل. عندما ينجح هجوم DROWN ، فإنه يكتسب مفاتيح الجلسة.
يمكن تخفيف الهجوم بعدم مشاركة شهادات الخادم. أصدرت مجموعة OpenSSL أيضًا تصحيحات تزيل دعمًا للبروتوكولات والأصفار الأقدم ، ولكنها تعمل فقط إذا لم تتم مشاركة شهادة الخادم مع خوادم أخرى تدعم SSL 2.0.
غير مقدس PAC
تم العثور على هذا الهجوم في عام 2016. وهو يعزز نقاط الضعف الموجودة في Web Proxy Autodiscovery Protocol (WPAD). عندما يحاول المستخدم زيارة موقع ويب عبر اتصال مشفر لـ TLS ، يمكن للخطأ أن يجعل عنوان URL مرئيًا. نظرًا لأن عناوين URL يتم إرسالها في بعض الأحيان إلى المستخدمين كشكل من أشكال المصادقة ، فإن هجوم Unholy PAC يجعل من الممكن للمهاجم السيطرة على حساب المستخدم.
هو TLS آمن?
على الرغم من أنه قد يبدو أن هناك الكثير من المشكلات الأمنية ، إلا أن الواقع هو أن معظم هذه المشكلات بسيطة ويمكن أو تم تخفيفها. مع تقدم التكنولوجيا ، يتم اكتشاف الثغرات الأمنية وتطوير هجمات جديدة ، ستظل TLS تواجه المزيد من مشكلات الأمان. على الرغم من هذا ، في الوقت الحالي وفي المستقبل المنظور ، يبدو أن TLS ستظل واحدة من الأدوات الرئيسية والأكثر موثوقية التي نستخدمها لتأمين عالمنا على الإنترنت.
تكنولوجيا الأعمال الأمن السيبراني بواسطة TheDigitalArtist مرخص بموجب CC0
TLS هو بروتوكول أمان مهم جدًا وشائع الاستخدام في طبقة النقل. يحمي البيانات التي تنتقل عبر الإنترنت ويوفر السرية والتشفير والمصادقة. يستخدم لتأمين الاتصالات بين المتصفح والموقع عبر HTTPS ويمكن استخدامه لتأمين البريد الإلكتروني والعديد من البروتوكولات الأخرى. يستخدم TLS مجموعة من الخوارزميات والمخططات المختلفة لتحقيق هذه الأغراض. يتم تبادل المعلومات بأمان مع بروتوكول التطبيق. يحل TLS مشاكل الأمان الثلاثة الرئيسية بطريقة مماثلة لإرسال البريد السريع. يعمل على مصادقة المستلم والتأكد من سلامة البيانات وتوفير الحماية المشفرة. TLS هو بروتوكول أمان آمن ومهم للغاية.