كيف يعمل HTTPS — شرح مصافحة TLS

كيف يعمل HTTPS، معروضاً على لوحة تفاعلية: مصافحة TLS بين المتصفّح والخادم، ودور جهة إصدار الشهادات، والجلسة المشفَّرة التي تليها.

HTTPS هو HTTP يعمل داخل جلسة مشفَّرة. وقبل أن يسافر طلب واحد، ينفّذ المتصفّح والخادم مصافحة TLS — يتفاوضان، ويتحقّقان من شهادة الخادم، ويتفقان على مفتاح جلسة لا يملكه سواهما.

كيف يعمل HTTPS — شرح مصافحة TLS

لوحة FlowJam التفاعلية لهذا الشرح — كل مسار وصف وسهم أعلاه جزء من مخطط QueryChart حقيقي يمكنك فتحه وتعديله.

كيف تقرأ هذا الشرح المرئي

  • اقرأ عمود «مصافحة TLS» من أعلى إلى أسفل، ثم عمود «الجلسة الآمنة»: التفاوض أولاً، والتشفير بعده.
  • مسار «جهة إصدار الشهادات (CA)» لا يقع على طريق الرسائل — بل هو الطرف الذي يستعين المتصفّح بثقته للحكم على شهادة الخادم.
  • قرار «هل الشهادة صالحة وسارية؟» هو التفرّع الوحيد: الشهادة الصالحة تمضي إلى تبادل المفاتيح، وغير الصالحة تنتهي عند تحذير الحجب.

المصافحة

«المتصفّح يتصل بموقع HTTPS» يبدأ المسار، و«المتصفّح يرسل ClientHello بالشيفرات المدعومة» يعلن أي إصدارات بروتوكول وأي مجموعات شيفرات يستطيع المتصفّح استخدامها. و«الخادم يردّ بشهادته وبرسالة ServerHello» يختار من تلك الخيارات ويقدّم هويته — شهادة مفتاح عام صادرة للنطاق. وتلك الشهادة هي مرساة الثقة كلها في HTTPS.

من يشهد للخادم

«المتصفّح يتحقّق من توقيع الشهادة مقابل جهة إصدار الشهادات» يقع في مجموعة «جهة إصدار الشهادات (CA)» لأن الشهادة موقّعة من جهة إصدار، والمتصفّح يثق بمفتاحها العام. ثم يختبر قرار «هل الشهادة صالحة وسارية؟» عمليات التحقّق الثلاث الفعلية دفعة واحدة: التوقيع، واسم النطاق المذكور في الشهادة، وانتهاء الشهادة أو إلغاؤها. وينتهي فرع «لا» عند «المتصفّح يحجب الاتصال مع تحذير» — إذ يفضّل المتصفّح الإخفاق المغلق على تحميل موقع لم يُتحقّق منه.

الجلسة المشفَّرة

وبعد الوثوق بالشهادة، يكون «المتصفّح يرسل السر التمهيدي (pre-master secret) مشفَّراً بالمفتاح العام للخادم» هو الرسالة الوحيدة التي لا يستطيع فكّ تشفيرها إلا الخادم الحقيقي. ومنها يوضّح «الطرفان يشتقّان مفتاح الجلسة نفسه» أن البيانات الفعلية لا تُشفَّر بمفاتيح الشهادة إطلاقاً — فالشهادة تحمي تبادل المفاتيح، ومفتاح متماثل جديد يحمي المحادثة. أما «رسائل HTTP تُشفَّر بمفتاح الجلسة» و«المتصفّح والخادم يتبادلان بيانات مشفَّرة» فهما ما يبدو عليه HTTPS في بقية تحميل الصفحة.

العلاقات الرئيسية والخلاصات

  • HTTPS = HTTP محمولاً فوق جلسة TLS مشفَّرة؛ والتشفير يحدث قبل أي رسالة HTTP.
  • الثقة تأتي من جهة إصدار الشهادات لا من الخادم: فالمتصفّح يحكم على شهادة الخادم مقابل جهة إصدار يثق بها سلفاً.
  • مفاتيح الشهادة تُستخدم مرة واحدة لحماية تبادل المفاتيح؛ ومفتاح جلسة جديد هو الذي يشفّر البيانات الفعلية.
  • الشهادة غير الصالحة أو غير الموثوقة توقف الاتصال — فHTTPS يُخفق مغلقاً بدل أن يرسل البيانات دون تشفير.
  • كل ما يحميه HTTPS ينتقل عبر شبكة تبديل الحزم نفسها التي يرسمها الشرح المرئي للإنترنت.

متى تستخدم هذا الشرح المرئي

  • شرح سبب ظهور القفل لفريقك، وما الذي يعنيه تحذير الشهادة فعلاً.
  • تعريف المهندسين بالمصافحة قبل أن يشخّصوا مشكلات TLS أو الشهادات المنتهية أو تحذيرات المحتوى المختلط.
  • تعليم نموذج الثقة: كيف يحمي تسلسل جهات إصدار الشهادات والتحقّق من الشهادة من انتحال الهوية.

كيف تعمل

  1. سمِّ جهة إصدار شهاداتك الفعلية

    أعد تسمية مجموعة «جهة إصدار الشهادات (CA)» باسم مزوّدك، ودوّن نوع الشهادة — DV أو OV أو EV — على مربع الشهادة.

  2. أضف إصدار TLS الذي تشغّله

    علّق على خطوة ClientHello بإصدارات البروتوكول ومجموعات الشيفرات التي تفعّلها فعلاً، كي يعكس المخطط تهيئتك أنت لا تهيئة عامة.

  3. ارسم فروع الإخفاق لديك

    أضف النتائج الحقيقية التي رأيتها — شهادة منتهية، أو عدم تطابق اسم المضيف، أو شهادة ملغاة — ولينتهِ كل فرع منها بالتحذير أو الحجب الذي يُنتجه فعلاً.

  4. فصّل المصافحة إلى المستوى الذي تحتاجه

    إن كنت تدرّس TLS 1.3، فوسّع تبادل المفاتيح إلى رسائله الحقيقية (Key Share وFinished)؛ فاللوحة ملكك تمدّدها بعد فتحها.

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

ما الفرق بين HTTP وHTTPS؟

HTTPS هو HTTP يعمل داخل اتصال TLS مشفَّر. فالطلب والاستجابة هما البروتوكول نفسه تماماً؛ والذي يتغيّر أنه قبل إرسال أي رسالة HTTP ينفّذ المتصفّح والخادم مصافحة تُنشئ جلسة مشفَّرة. وكل ما يُنقل — عنوان URL والترويسات وملفات تعريف الارتباط وجسم الاستجابة — لا يقرؤه إلا الطرفان.

ماذا يحدث أثناء مصافحة TLS؟

يرسل المتصفّح ClientHello يُدرج فيه البروتوكولات والشيفرات التي يدعمها؛ ويردّ الخادم باختياره وبشهادته؛ ويتحقّق المتصفّح من الشهادة مقابل جهة إصدار شهادات موثوقة؛ ثم يتبادل الطرفان سراً يشتق منه كلاهما مفتاح الجلسة نفسه. وبعد ذلك تسير رسائل HTTP مشفَّرة. ويطوي الشرح المرئي هذا التبادل في تلك الخطوات الأربع.

لماذا يحتاج المتصفّح إلى جهة إصدار شهادات؟

لأن أي خادم يستطيع الادعاء بأنه أي نطاق. وجهة إصدار الشهادات (CA) هي الطرف الثالث الذي يوقّع شهادة الخادم بعد التحقّق من أن النطاق يعود لمقدّم الطلب. والمتصفّح يأتي محمّلاً بالمفاتيح العامة لجهات الإصدار الموثوقة، فيستطيع التحقّق من التوقيع بنفسه — وهذا ما يحوّل هوية مُدّعاة ذاتياً إلى هوية مشهود لها.

ماذا يعني تحذير الشهادة؟

يعني أن أحد الفحوص في قرار «هل الشهادة صالحة وسارية؟» قد أخفق — فالشهادة منتهية، أو تغطي نطاقاً آخر، أو وقّعتها جهة إصدار غير موثوقة، أو أنها أُلغيت. ويحجب المتصفّح الاتصال بدل المضي، لأن هوية الموقع لا يمكن التحقّق منها.

عدّل هذا الشرح المرئي في QueryChart (FlowJam)

افتح لوحة مصافحة TLS هذه نفسها كمخطط خاص بك، وعلّق على الشيفرات التي تدعمها، وكيّفها على إعداد شهاداتك.

عدّل هذا الشرح المرئي في QueryChart (FlowJam)

المزيد في الشروحات المرئية