في هذا الدرس 12تصفّح المواضيع
رأينا في الدرس الخامس عشر كيف يترك بروتوكول النصي كلمات المرور وكوكيز الجلسات ومحتوى الصفحات مكشوفة للتنصت والتلاعب أثناء عبورها في الشبكة. فكيف نؤمّن قناة النقل ذاتها دون أن نغير بنية رسائل التي يفهمها المتصفح والخادم؟ الحل الهندسي القياسي هو بروتوكول نقل النص الفائق الآمن () الذي يغلّف رسائل داخل نفق مشفر وموثّق عبر طبقة على المنفذ القياسي .
قبل الغوص في التفاصيل الهندسية، استعرض جدول المصطلحات التقنية الأساسية لهذا الدرس:
| المصطلح بالعربية | المصطلح بالإنجليزية | النطق التقني | المعنى الهندسي المبسط |
|---|---|---|---|
| بروتوكول HTTP الآمن | إتش تي تي بي إس | تشغيل بروتوكول HTTP القياسي فوق قناة تشفير TLS آمنة على المنفذ 443 لحماية البيانات أثناء النقل. | |
| طبقة أمان النقل | تي إل إس | البروتوكول التشفيري القياسي الحديث (الإصداران 1.2 و1.3) الذي يؤمّن الاتصالات والذي حلّ محل بروتوكول SSL القديم. | |
| الشهادة الرقمية | ديجيتال سيرتيفيكيت | وثيقة إلكترونية موقعة رقمياً تربط اسم نطاق الموقع بمفتاحه العام لإثبات هويته أمام المتصفح. | |
| الجهة المصدّقة (هيئة الشهادات) | سيرتيفيكيت أوثوريتي | جهة عالمية موثوقة مدمجة جذورها في المتصفح تتولى التحقق من ملكية النطاق وتوقيع الشهادات الرقمية. | |
| المحتوى المختلط | ميكسد كونتنت | مشكلة أمنية تحدث عندما تحمّل صفحة رئيسية مشفرة بـ HTTPS ملفاً فرعياً (صورة أو سكربت) عبر رابط HTTP غير مشفر. | |
| فرض أمان النقل الصارم | إتش إس تي إس | حقل رأس يأمر المتصفح بالاتصال بالموقع عبر HTTPS حصرياً وتحويل أي رابط HTTP داخلياً قبل إرساله للشبكة. |
من أهم الحقائق الهندسية التي ينبغي استيعابها منذ البداية أن ليس لغة تخاطب جديدة منفصلة عن ؛ فداخل النفق المشفر يواصل المتصفح والخادم تبادل نفس طرق الطلب ( و)، ونفس أكواد الحالة ( و)، ونفس حقول الرأس والكوكيز المألوفة تماماً. الفرق الجوهري هو أن طبقة تشفّر هذه الرسائل بالكامل قبل خروجها إلى بطاقة الشبكة بحيث لا يستطيع فك تشفيرها سوى الخادم المقصود وحده.
يعالج بروتوكول تهديدات الشبكة التي درسناها في الدرس السابق عبر توفير ثلاث ركائز حماية تشفيرية متكاملة:
- 1. السرية بالتشفير ( — ضد التنصت): تُشفَّر جميع سطور الطلب، وحقول الرأس، والكوكيز، والمسارات، وجسم الرسالة بخوارزميات قياسية حديثة (مثل )، فلا يرى المتنصت على الشبكة سوى رموز معمّاة غير مفهومة.
- 2. التكامل وسلامة البيانات ( — ضد التلاعب أثناء النقل): تُختم كل حزمة مشفرة ببصمة تحقق رياضية ()؛ فإذا حاول وسيط متلاعب تغيير حرف واحد أو حقن إعلان خبيث في الطريق، يكتشف المتصفح التلاعب في اللحظة نفسها ويقطع الاتصال فوراً.
- 3. التحقق من هوية الخادم ( — ضد انتحال المواقع): يتحقق المتصفح عبر الشهادة الرقمية الموقعة من أن الخادم الذي يتحدث معه هو المالك الحقيقي للنطاق وليس خادماً مزيفاً ناتجاً عن انتحال .
تأمل المخطط المعماري الآتي الذي يوضح ركائز الحماية الثلاث ومصافحة :
نقارن فيما يأتي الفروق الهندسية والعملية الحاسمة بين بروتوكول وبروتوكول :
- مخطط الرابط والمنفذ الشبكي الافتراضي: يعمل افتراضياً على المنفذ ، بينما يعمل افتراضياً على المنفذ .
- طبقة التشفير والشهادات: يرسل النصوص مباشرة فوق طبقة النقل دون شهادات، بينما يشترط وجود شهادة رقمية صالحة ومصافحة مشفرة.
- تحذيرات المتصفح وصلاحيات الواجهات الحديثة: تُظهر المتصفحات الحديثة تنبيهاً صريحاً (غير آمن / ) في شريط العنوان لأي موقع يعمل عبر ، كما تحجب عنه الميزات المتقدمة (مثل الكاميرا والميكروفون وتحديد الموقع الجغرافي و وإصداري و) ما لم يكن الاتصال مشفراً عبر (مع استثناء بيئة التطوير المحلية ).
# 1. Unencrypted HTTP URL (Default Port 80, Cleartext on Wire, "Not Secure"):
http://www.closetag.com:80/tutorials/web-technology
# 2. Encrypted HTTPS URL (Default Port 443, TLS 1.3 Protected, Secure Context):
https://www.closetag.com:443/tutorials/web-technology
عندما تفتح رابطاً يبدأ بـ ، ينشئ المتصفح والخادم قناة الاتصال الآمنة عبر مرحلتين متتاليتين قبل إرسال أول حرف من رسالة :
- المرحلة الأولى — مصافحة التشفير (): فور فتح اتصال المنفذ ، يرسل المتصفح رسالة ترحيب تتضمن خوارزميات التشفير التي يدعمها، فيرد الخادم برسالة مرفقاً شهادته الرقمية ومفتاح التبادل. وفي الإصدار القياسي الحديث (الموثق في ) تتم هذه المصافحة بالكامل خلال رحلة شبكية واحدة فقط ()!
- المرحلة الثانية — نقل رسائل HTTP المشفرة (): بعد نجاح المصافحة وتوليد مفتاح الجلسة المشترك، يرسل المتصفح طلب المعتاد مغلفاً داخل سجلات المشفرة.
من أروع الجوانب الهندسية في بروتوكول أنه يجمع بذكاء بين نوعي التشفير الرئيسيين في علم التعمية، موظفاً كلاً منهما في المكان الأنسب له:
- 1. التشفير غير المتماثل ( — يُستخدم أثناء المصافحة فقط): يعتمد على زوج من المفاتيح: مفتاح عام () معلن للجميع داخل شهادة الموقع، ومفتاح خاص () سري محفوظ داخل الخادم وحده. يشبه ذلك قفلاً مفتوحاً يستطيع أي متصفح التحقق به من هوية الخادم والاتفاق معه بأمان على سر مشترك عبر شبكة غير موثوقة، لكن عملياته الحسابية ثقيلة نسبياً.
- 2. التشفير المتماثل ( — يُستخدم لتشفير جميع رسائل HTTP): بمجرد انتهاء المصافحة في أجزاء من الثانية، يولّد الطرفان مفتاح جلسة متماثلاً مؤقتاً () مشتركاً بينهما فقط. وبما أن التشفير المتماثل يستخدم المفتاح السري نفسه للتشفير وفك التشفير (عبر خوارزميات سريعة مثل )، فإنه يشفر صفحات الويب والصور والفيديو بسرعة فائقة دون إبطاء التصفح!
كيف يتأكد متصفحك أن المفتاح العام الذي استلمه أثناء المصافحة يخص موقع فعلاً وليس جهاز متطفل على نفس الشبكة؟ يعتمد المتصفح على الشهادة الرقمية ()، وهي بمثابة جواز سفر إلكتروني موقّع رقمياً من جهة تصديق موثوقة ():
- محتويات الشهادة الرقمية: تضم اسم النطاق المعتمد في حقل ، والمفتاح العام للخادم، واسم الجهة المصدقة، وتاريخ بداية وانتهاء الصلاحية، والتوقيع الرقمي للجهة المصدقة.
- سلسلة الثقة (): يأتي نظام التشغيل والمتصفح مزودين مسبقاً بقائمة شهادات الجذر الموثوقة () عالمياً. وعند استلام شهادة الموقع، يتحقق المتصفح رياضياً من صحة توقيعها وصولاً إلى شهادة الجذر.
- الشهادات القياسية المجانية (): بفضل مبادرات عالمية غير ربحية مثل ، أصبح بإمكان أي مطور إصدار وتجديد شهادات الموثوقة مجاناً وتلقائياً، مما جعل تشفير متاحاً لكل موقع على الويب.
عندما يكتشف المتصفح خللاً في الشهادة الرقمية للخادم، يوقف تحميل الصفحة فوراً ويعرض شاشة تحذير حمراء صارمة («اتصالك ليس خاصاً / »). وتعود هذه التحذيرات غالباً إلى أحد الأسباب الهندسية الثلاثة الآتية:
- 1. انتهاء صلاحية الشهادة (): تجاوزت الشهادة تاريخ انتهاء صلاحيتها المحدد ولم يقم مسؤول الخادم بتجديدها (أو أن ساعة جهاز المستخدم نفسه مضبوطة على سنة خاطئة).
- 2. عدم تطابق اسم النطاق (): صُدرت الشهادة لنطاق معين بينما يحاول المتصفح فتح نطاق مختلف غير مدرج في قائمة النطاقات المصرح بها داخل الشهادة.
- 3. شهادة موقعة ذاتياً أو غير موثوقة (): لم تصدر الشهادة عن جهة تصديق معتمدة ()، بل وُقّعت ذاتياً () أو اعترضها وسيط غير موثوق؛ ولذلك يُعدّ تجاوز هذا التحذير في الشبكات العامة مخاطرة أمنية جسيمة.
ماذا يحدث لو كانت صفحة الموقع الرئيسية محمية عبر ، لكن كود بداخلها يستدعي ملف جافاسكريبت أو صورة عبر رابط قديم غير مشفر يبدأ بـ ؟ تُسمى هذه المشكلة المحتوى المختلط () لأنها تخلط بين موارد مشفرة وموارد مكشوفة في الصفحة نفسها:
- المحتوى المختلط النشط ( — السكربتات وملفات والإطارات): لو سمح المتصفح بتحميل ملف عبر داخل صفحة آمنة، لاستطاع أي متلاعب على الشبكة حقن كود خبيث فيه والسيطرة على الصفحة الآمنة بالكامل! لذلك تقوم المتصفحات الحديثة بحظر تحميله تلقائياً وإظهار خطأ صريح في لوحة .
- المحتوى المختلط غير النشط ( — الصور والصوتيات): تحاول المتصفحات الحديثة ترقية روابطه تلقائياً إلى ، ويمكن للخادم فرض ترقية جميع الروابط الفرعية تلقائياً عبر إرسال التوجيه .
عندما يكتب زائر اسم الموقع في شريط العنوان دون تحديد البروتوكول أو ينقر على رابط قديم يبدأ بـ ، كيف نضمن نقله فوراً إلى النسخة المشفرة ؟ يستجيب الخادم على المنفذ بإرسال كود التوجيه الدائم مع وضع الرابط المشفر الجديد داخل حقل الرأس كما في المثال الآتي:
# 1. Client sends initial plaintext request on Port 80:
GET /login HTTP/1.1
Host: www.closetag.com
# 2. Server immediately redirects to HTTPS (Port 443) via 301:
HTTP/1.1 301 Moved Permanently
Location: https://www.closetag.com/login
Content-Length: 0
إذا دققنا النظر في التحويل التلقائي الذي شرحناه في الموضوع السابق، سنلاحظ ثغرة خفية خطيرة: إن الطلب الأول تماماً الذي أرسله المتصفح على المنفذ قبل استلام التحويل قد خرج إلى الشبكة غير مشفر! ويستطيع مهاجم متمركز على شبكة واي فاي عامة اعتراض ذلك الطلب الأول ومنع التحويل إلى (وهو ما يُعرف بهجوم نزع التشفير ).
هنا يتدخل حقل الرأس الأمني الحاسم (الموثق في ) ليغلق هذه الثغرة من جذورها؛ فبمجرد أن يستلم المتصفح هذا الحقل عبر اتصال موثوق، يحفظ في ذاكرته أن هذا النطاق محظور عليه الاتصال بـ غير المشفر طوال المدة المحددة في :
- التحويل الداخلي الفوري قبل لمس الشبكة (): في أي زيارة تالية، حتى لو كتب المستخدم صراحةً، يقوم المتصفح بتحويل الرابط داخلياً إلى قبل إرسال أي بايت عبر بطاقة الشبكة!
- منع تجاوز تحذيرات الشهادات: يلغي تفعيل زر «المتابعة على أي حال» في شاشات أخطاء الشهادات لحماية المستخدم من الوقوع في فخ الخوادم المنتحلة.
HTTP/2 200
Strict-Transport-Security: max-age=31536000; includeSubDomains
# max-age=31536000 -> Enforce HTTPS exclusively for 1 full year (365 days)
# includeSubDomains -> Apply the same strict rule to all subdomains (*.closetag.com)
من الأسئلة الهندسية الجوهرية التي تتكرر كثيراً: «عندما أتصفح موقعاً عبر ، هل يستطيع مزود خدمة الإنترنت أو مدير الشبكة رؤية مسار الصفحة أو معلمات البحث التي أزورها؟» لنحسم هذا الأمر بدقة هندسية عبر التمييز بين ما يقع داخل نفق التشفير وما يبقى خارجه لأغراض توجيه الحزم:
- ما يُشفَّر بالكامل (100% مخفي عن المتنصتين): طريقة الطلب ( أو )، والمسار الكامل للصفحة ()، ومعلمات الاستعلام بالكامل ()، وجميع حقول الرأس في الطلب والاستجابة (بما فيها و)، وكود حالة الاستجابة، وجسم الرسالة بالكامل.
- ما يبقى مرئياً لشبكة النقل (لإيصال الحزم لوجهتها): عنوان للخادم ورقم المنفذ ()، واسم النطاق الرئيسي فقط (مثل دون المسار الداخلي) الذي يظهر أثناء استعلام وفي حقل ببداية مصافحة ، بالإضافة إلى الحجم التقريبي للحزم وتوقيتها.
# Target URL: https://www.closetag.com/courses/http?unit=16
# VISIBLE to ISP / Router on the Wire (Routing Metadata Only):
IP Packet : Dest IP = 203.0.113.10 | Dest Port = 443
TLS SNI : www.closetag.com (Domain hostname only, NOT the path!)
# ENCRYPTED Inside TLS 1.3 Tunnel (Completely Hidden from ISP / Router):
GET /courses/http?unit=16 HTTP/2
Cookie: session_id=9f8a7b6c...
على الرغم من أن ركيزة إلزامية لا غنى عنها في أي موقع حديث، يجب على المطور والمستخدم إدراك حدود وظيفته الهندسية وما لا يستطيع حمايتك منه وحده:
- 1. مواقع التصيد الاحتيالي () التي تمتلك شهادة HTTPS: تثبت الشهادة الرقمية فقط أن الخادم يملك اسم النطاق المكتوب في شريط العنوان. وبما أن إصدار الشهادات مجاني ومتاح لأي نطاق، يستطيع المحتال تسجيل نطاق خادع يشبه اسم بنكك وتزويده بشهادة صحيحة! لذا فإن وجود يعني أن قناة الاتصال مشفرة، ولا يغني أبداً عن التدقيق في صحة اسم النطاق نفسه.
- 2. الثغرات البرمجية داخل تطبيق الخادم: يقوم بتشفير المدخلات الخبيثة ونقلها للخادم بنفس الكفاءة التي ينقل بها المدخلات السليمة! فهو لا يمنع ثغرات حقن قواعد البيانات أو ضعف التحقق من الصلاحيات على الخادم.
- 3. اختراق جهاز المستخدم نفسه: يحمي البيانات أثناء رحلتها في الشبكة، لكنه لا يحميها إذا كان جهاز العميل مصاباً ببرمجية خبيثة أو إضافة متصفح مخترقة تقرأ الصفحة بعد فك تشفيرها.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنّا في هذا الدرس معمارية بروتوكول وركائز حمايته الثلاث (السرية، وسلامة البيانات، والتحقق من الهوية)، وكيف تدمج مصافحة بين التشفير غير المتماثل والمتماثل، ودور الشهادات الرقمية والجهات المصدقة ()، ومعالجة المحتوى المختلط، وتكامل التحويل مع حقل ، وما يشفره البروتوكول على السلك وحدود حمايته. الخطوة التالية: انتقل الآن إلى الدرس الختامي في فصل البروتوكول: إصدارات بروتوكول HTTP () لنتوج رحلتنا بمقارنة الأجيال المتعاقبة من و وصولاً إلى الإطارات الثنائية في وبروتوكول فوق !
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات12
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 HTTPS (HTTP Secure) بروتوكول نقل النص الفائق الآمن HTTPS
- تشغيل بروتوكول HTTP القياسي داخل قناة اتصال مشفرة وموثقة عبر طبقة TLS على المنفذ القياسي 443.
- للمراجعة
- 02 TLS (Transport Layer Security) بروتوكول أمان طبقة النقل TLS
- البروتوكول التشفيري القياسي الحديث الذي يؤمّن اتصالات الويب والذي حلّ محل بروتوكول SSL القديم.
- للمراجعة
- 03 Confidentiality (Encryption) السرية بالتشفير
- تحويل رسائل HTTP النصية إلى بيانات معماة غير قابلة للقراءة أثناء النقل لمنع التنصت على الشبكة.
- للمراجعة
- 04 Message Integrity سلامة وتكامل الرسالة
- الضمان التشفيري بأن رسالة HTTP وصلت كما أرسلها الخادم تماماً دون تعرضها لأي تعديل أو حقن في الطريق.
- للمراجعة
- 05 Asymmetric Encryption التشفير غير المتماثل
- تشفير يعتمد على زوج من مفتاح عام ومفتاح خاص يُستخدم أثناء مصافحة TLS لإثبات هوية الخادم وتبادل المفاتيح.
- للمراجعة
- 06 Symmetric Session Key مفتاح الجلسة المتماثل
- مفتاح سري مشترك ومؤقت فائق السرعة يتولد عقب مصافحة TLS ويُستخدم لتشفير وفك تشفير جميع رسائل الجلسة.
- للمراجعة
- 07 TLS Digital Certificate الشهادة الرقمية TLS
- وثيقة إلكترونية موقعة من جهة تصديق موثوقة تربط اسم نطاق الموقع بالمفتاح العام للخادم لإثبات هويته.
- للمراجعة
- 08 Certificate Authority (CA) الجهة المصدّقة (هيئة الشهادات)
- مؤسسة موثوقة معتمدة لدى المتصفحات وأنظمة التشغيل تتولى التحقق من ملكية النطاق وتوقيع الشهادات الرقمية.
- للمراجعة
- 09 Mixed Content المحتوى المختلط
- مشكلة أمنية تحدث عندما تستدعي صفحة محمية بـ HTTPS ملفات فرعية عبر روابط HTTP غير مشفرة.
- للمراجعة
- 10 Strict-Transport-Security (HSTS) فرض أمان النقل الصارم HSTS
- حقل رأس يلزم المتصفح بالاتصال بالموقع عبر HTTPS حصرياً وتحويل أي رابط HTTP داخلياً قبل إرساله للشبكة.
- للمراجعة
- 11 SNI (Server Name Indication) إشارة اسم الخادم SNI
- امتداد في بداية مصافحة TLS يعلن فيه المتصفح اسم النطاق المطلوب ليتمكن الخادم من تقديم الشهادة الرقمية المناسبة.
- للمراجعة
- 12 SSL Stripping هجوم نزع التشفير SSL Stripping
- هجوم يعترض أول طلب غير مشفر على المنفذ 80 لمنع تحويله إلى HTTPS، وتقضي عليه تقنية HSTS.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات5
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 HTTPS HTTPS
- Hypertext Transfer Protocol Secure
- بروتوكول نقل النص الفائق الآمن الذي يعمل فوق طبقة تشفير TLS على المنفذ القياسي 443.
- للمراجعة
- 02 TLS TLS
- Transport Layer Security
- بروتوكول أمان طبقة النقل القياسي الذي يوفر التشفير وسلامة البيانات والتحقق من الهوية.
- للمراجعة
- 03 CA CA
- Certificate Authority
- هيئة إصدار وتوقيع الشهادات الرقمية الموثوقة لدى المتصفحات.
- للمراجعة
- 04 HSTS HSTS
- HTTP Strict Transport Security
- آلية أمان النقل الصارم التي تجبر المتصفح على التواصل مع النطاق عبر HTTPS فقط.
- للمراجعة
- 05 SNI SNI
- Server Name Indication
- إشارة اسم الخادم المرسلة في بداية مصافحة TLS لتحديد النطاق المطلوب.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
افتح موقعاً يعمل بـ HTTPS، وانتقل إلى تبويب Security في أدوات المطورين أو أيقونة القفل بشريط العنوان لمعاينة إصدار TLS والجهة المصدقة وتاريخ صلاحية الشهادة.
-
نفّذ الأمر curl -I على رابط يبدأ بـ http:// لرصد استجابة التحويل 301، ثم نفّذ الأمر على الرابط المشفر https:// لفحص حقل الرأس Strict-Transport-Security.
-
لرابط طلب https://shop.example.com/orders?id=77 مرفق بحقل Cookie، حدد بدقة ما يراه الموجه على الشبكة وما يختفي تماماً داخل نفق التشفير TLS.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.