الشبكات / المتوسط: العمر والثقة وبروتوكولات التطبيق / الدرس 11
فهم تحقق هوية TLS وتفاوض البروتوكول
افصل النقل المشفر وهوية الشهادة والثقة واختيار الاسم وتخويل التطبيق بنموذج الاتصال الآمن.
في هذه الصفحة
أهداف الدرس
- شرح حماية TLS وما خارجها.
- تمييز تحقق اسم الخدمة من اختيار العنوان.
- إدراك SNI وALPN وسلوك المصافحة حسب النسخة.
التشفير والهوية مطلبان منفصلان
يوفر TLS اتصالاً محمياً بمعاملات ومصادقة حسب النمط، ولا يكفي تشفير للطرف الخطأ. يحتاج الويب سلسلة ثقة واسم خدمة وسياق صلاحية ودعماً. يبقى تخويل التطبيق أعلى وقد يرفض المستخدم رغم توثيق الخادم. حدد الخاصية قبل الثقة ولا تتجاوز التحقق لتجميل النجاح.
يقود اسم الخدمة المطلوب فحص الهوية
يوفر اسم URL عادة الهوية المرجعية ولا يستبدله IP المحلول في تطابق الشهادة. قد يحتاج الحرفي هوية IP مناسبة لا DNS. للقناع والمعرف قواعد لا بحث جزء. يفحص المثال أسماء دقيقة للتوضيح لا شهادة كاملة أو PKIX أو القناع.
requested_name = 'report.example'
certificate_dns_names = {'report.example', 'archive.example'}
print('exact_name_present=' + str(requested_name in certificate_dns_names))
print('address_is_not_reference_name=' + str('192.0.2.20' != requested_name))
exact_name_present=True
address_is_not_reference_name=True
المجموعات بيانات شهادة مصطنعة لا موقعة ويثبت الخرج العضوية فقط لا الثقة أو الصلاحية أو الإلغاء أو التشفير.
تغير النسخة والنمط المصافحة
تختلف 1.3 جذرياً بالمصافحة والمفاتيح، وتضيف العودة والبيانات المبكرة خصائص منها إعادة التشغيل المحتمل فلا تعوض التبادل الكامل عموماً. افصل خطأ الشهادة والنسخة والتفاوض والتطبيق. لا توص بقائمة عامة أو قديم من صورة؛ راجع الدعم والمتطلبات واحفظ المرحلة.
يختار SNI وALPN شيئين مختلفين
يساعد SNI الطرف المشترك في اختيار إعداد الخدمة، ويتفاوض ALPN على التطبيق مثل HTTP/2. لا يستبدلان الشهادة أو المستخدم. تعتمد خصوصية البيانات الوصفية على الآليات فلا تعمم إخفاء الاسم. قد ينهي الوسيط TLS ويفتح خلفياً بحد ثقة آخر؛ حدد النهاية قبل تفسير شهادة جهة أخرى.
client_offers = ['h2', 'http/1.1']
server_preference = ['h2', 'http/1.1']
selected = next((protocol for protocol in server_preference if protocol in client_offers), None)
print('synthetic_alpn=' + str(selected))
synthetic_alpn=h2
هذا تقاطع قوائم تعليمي لا تنفيذ مصافحة ويختار h2 وفق التفضيل دون اتصال.
حفظ الوقت والاسم والسلسلة وسياق النهاية
قد يشبه المنتهي خطأ ساعة العميل وتختلف علاجات الوسيط الناقص والمصدر والاسم والسياسة. احفظ الهوية والعائلة والتفاوض والبيانات والوقت والطوبولوجيا بسجلات مصرح بها ولا تنشر مفتاحاً أو رمزاً أو حمولة. لا نجري مصافحة أو جلب شهادة أو مسحاً؛ ندعم فحصاً دقيقاً دون إضعاف الثقة.
الأخطاء الشائعة وإصلاحها
اعتبار التشفير إثبات الخادم المقصود
- لماذا يحدث؟
- أُهمل تحقق الهوية.
- كيف تصلحه؟
- افحص الاسم والسلسلة.
- كيف تتجنب تكراره؟
- اشترط كل المراحل بالقبول.
استبدال IP للاسم تلقائياً
- لماذا يحدث؟
- اختلط اختيار المسار بالهوية.
- كيف تصلحه؟
- استخدم قواعد هوية التطبيق.
- كيف تتجنب تكراره؟
- احفظ الاسم مستقلاً عن العنوان.
تعطيل التحقق لإخفاء خطأ الشهادة
- لماذا يحدث؟
- عومل فشل الثقة إزعاجاً.
- كيف تصلحه؟
- صحح السبب المثبت.
- كيف تتجنب تكراره؟
- أبق التحقق ضمن النموذج.
اختبر فهمك
1. تسمي الشهادة report.example ويطلب العميل billing.example بنفس IP. هل يكفي الاشتراك؟
اعرض الحل المشروح
لا يثبت العنوان الهوية؛ يجب تطابق المعرفات والقواعد مع مرجع العميل بغض النظر عن الجهاز أو IP.
2. لماذا يعيد طلب ناجح TLS خطأ تخويل؟
اعرض الحل المشروح
يحمي TLS ويوثق طرفه وفق النمط وتبقى اعتمادات وأدوار وصلاحيات التطبيق. شخّص رده لا تبديل DNS أو تعطيل التحقق.
أهم ما تعلمته
- افصل العنوان والاسم والثقة والتخويل.
- سجل البروتوكول والنهاية دون تجاوز التحقق.