0Pricing
Cryptology Academy · درس

التحقق من الشهادات في TLS

تتبّع كيفية تحقّق العميل من سلسلة شهادة الخادم

التحقق من الشهادات في TLS درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

لماذا نتحقق من الشهادات؟

من دون التحقق من الشهادة، يمكن إنشاء اتصال TLS مع مهاجم ينتحل هوية الخادم، فيما يُعرف بهجوم الوسيط (man-in-the-middle). ويضمن التحقق من الشهادة أنكم تتواصلون مع الخادم الشرعي الذي يملك المفتاح الخاص.

حقول شهادة X.509 ذات الصلة بـ TLS

الحقول الأساسية هي: Subject (مالك الشهادة)، SubjectAltName (أسماء DNS وعناوين IP)، Issuer (الـ CA الموقِّعة)، Validity (notBefore/notAfter)، Public Key، وSignature. ويتحقق المتصفح من جميع هذه الحقول.

سلسلة الثقة

شهادة الخادم → شهادة CA وسيطة → شهادة CA جذرية. تكون CA الجذرية موقَّعة ذاتيًا ومثبتة مسبقًا في مخزن الثقة لدى نظام التشغيل أو المتصفح. ويرسل الخادم شهادته والشهادات الوسيطة ضمن رسالة Certificate في مصافحة TLS.

التحقق من التوقيع

تُوقَّع كل شهادة بواسطة الجهة المصدرة الموجودة فوقها. ويتحقق العميل من signature(cert_n) باستخدام public_key(cert_{n+1}). وإذا كان أي توقيع غير صالح، تُرفَض السلسلة. أما الجذر فموثوق به بسبب تثبيته مسبقًا، لا بسبب توقيعه.

التحقق من الاسم

يتحقق العميل من تطابق اسم المضيف لدى الخادم مع Subject أو SubjectAltName في الشهادة، أي مع إدخالات DNS. وتطابق أحرف البدل (*.example.com) مستوى واحدًا فقط. ومنذ عام 2000، تكون SAN لها الأولوية على CN عند مطابقة اسم المضيف.

التحقق من فترة الصلاحية

يتحقق العميل من الشرط notBefore ≤ now ≤ notAfter لكل شهادة في السلسلة. وتُرفَض الشهادات المنتهية حتى لو كانت توقيعاتها صالحة. وقد تقلصت مدة صلاحية الشهادات؛ إذ تفرض المتصفحات حاليًا حدًا أقصى يقارب 398 يومًا.

إبطال الشهادات: CRL

تنشر CA قائمة إبطال الشهادات (CRL)، وهي قائمة موقَّعة بالأرقام التسلسلية للشهادات المُبطلة. وينزّل العميل عنوان CRL URL من امتداد CRL Distribution Points في الشهادة، ثم يبحث عن الرقم التسلسلي ضمن القائمة.

إبطال الشهادات: OCSP

يتيح بروتوكول حالة الشهادة عبر الإنترنت (OCSP) للعملاء الاستعلام من مستجيب OCSP التابع لـ CA عن حالة شهادة واحدة. وهو أسرع من CRL لكنه يضيف زمن استجابة. أما OCSP Stapling فيجعل الخادم يضمّن استجابة OCSP موقَّعة في مصافحة TLS.

شفافية الشهادات

يفرض CT (RFC 6962) على CAs تسجيل جميع الشهادات الصادرة في سجلات عامة لا تسمح إلا بالإضافة. وتتحقق المتصفحات من Signed Certificate Timestamps (SCTs) الموجودة في الشهادة أو في امتداد TLS. ويمنع ذلك بقاء إصدار الشهادات غير المصرح به من دون اكتشاف.

التثبيت

يُثبّت HTTP Public Key Pinning (HPKP، وهو مهجور الآن) وكذلك تثبيت الشهادات في تطبيقات الأجهزة المحمولة مفتاحًا عامًا محددًا أو تجزئة شهادة محددة. وإذا قدم الخادم شهادة مختلفة، يُرفَض الاتصال حتى لو كانت الشهادة صالحة، مما يمنع هجمات اختراق CA.

أخطاء التحقق الشائعة

ERR_CERT_AUTHORITY_INVALID: الجذر غير موثوق به. ERR_CERT_DATE_INVALID: الشهادة منتهية الصلاحية. ERR_CERT_COMMON_NAME_INVALID: عدم تطابق اسم المضيف. NET::ERR_CERT_REVOKED: تشير OCSP أو CRL إلى إبطال الشهادة. ويرتبط كل خطأ بفشل في خطوة تحقق محددة.

تحقق سريع

ما الذي يحققه OCSP Stapling؟

مراجعة

يشمل التحقق من الشهادات في TLS التحقق من السلسلة والتأكد من التوقيعات ومطابقة الأسماء وفترات الصلاحية والإبطال. والخطوة التالية هي دراسة هجمات TLS التاريخية وكيف يخفف TLS 1.3 من آثارها.

الأسئلة الشائعة

هل درس «التحقق من الشهادات في TLS» مجاني؟

نعم — نص درس «التحقق من الشهادات في TLS» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «التحقق من الشهادات في TLS»؟

تتبّع كيفية تحقّق العميل من سلسلة شهادة الخادم تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التحقق من الشهادات في TLS»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مصافحة TLS 1.3 خطوة بخطوة
  2. طبقة سجلات TLS ومجموعات الشيفرات
  3. التحقق من الشهادات في TLS
  4. هجمات TLS: BEAST وPOODLE وخفض الإصدار
← العودة إلى Cryptology Academy