تم إزالة الغموض عن القفل الأخضر: كيف تعمل مصافحة SSL؟

نشرت: 2022-08-16

كل يوم عند تصفح الويب مع مراعاة الأمان ، تفكر في القفل الأخضر الشهير بالقرب من عنوان URL لموقع الويب في متصفحك وإصدار HTTPS من بروتوكول نقل البيانات. في هذه المقالة ، سنكتشف لماذا HTTPS آمن حقًا وكيف يتم حماية الاتصال من التنصت بواسطة طرف ثالث.

أولاً ، سنقدم بإيجاز مفهومي التشفير الأساسيين: التوقيع الرقمي والتشفير ، وسنتعمق في عملية تسمى مصافحة SSL ، والتي يتم إجراؤها قبل أن يبدأ العميل والخادم في تبادل الاتصالات ويتم استخدامه لإنشاء سياق تشفير آمن. سننتهي بمعلومات حول كيفية زيادة الأمان بشكل أكبر من خلال خطوة اختيارية تسمى مصادقة شهادة العميل.

تشفير المفتاح العام 101: زوج المفاتيح

تعرف على أليس وبوب ، وهما شخصان قررا استخدام أساليب التشفير لتبادل رسائلهما الخاصة بأمان. الخيار الأول الذي يتعين عليهم مواجهته هو بين نوعين مختلفين من التشفير: تشفير المفتاح المتماثل وغير المتماثل (يُسمى أيضًا تشفير المفتاح العام).

لكن مهلا ، ما هذه المفاتيح ؟ في الأساس ، يمكننا تبسيط أن المفتاح هو سلسلة عشوائية من الأحرف. يمكننا استخدام هذا التسلسل للتحويل (القيام بعملية تشفير معينة) على رسالة - سنبحث في ذلك قريبًا.

تشفير المفتاح المتماثل

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

وما هي الفوائد والعيوب الرئيسية لتشفير المفتاح المتماثل؟

الايجابيات سلبيات
عمليات تشفير أسرع - يتم استخدام مفتاح واحد فقط يتعرض المفتاح الحساس لخطر اعتراضه أثناء النقل من المرسل إلى المستلم
إعداد أبسط وأسهل في الفهم بمجرد اختراق المفتاح ، يتم اختراق الاتصال أيضًا من كلا الطرفين
إيجابيات وسلبيات تشفير المفتاح المتماثل

تشفير المفتاح غير المتماثل

عند استخدام تشفير مفتاح غير متماثل ، يقوم كل من المرسل والمستقبل بإنشاء زوج مفاتيح - مفتاح عام ومفتاح خاص. تقترن المفاتيح رياضياً ببعضها البعض للعمل معًا في عمليات تشفير مختلفة. يقوم كل من المرسل والمتلقي بحفظ مفاتيحهما الخاصة بأمان ، لكن يمكنهما تبادل المفاتيح العامة دون أي احتياطات خاصة. يمكنهم حتى استخدام نوع من "الصفحات الصفراء للمفاتيح العامة" - خادم مفتاح عام لإرسال مفاتيحهم العامة ليتمكن أي شخص من الوصول إليها.

ما هي إيجابيات وسلبيات تشفير المفتاح غير المتماثل؟

الايجابيات سلبيات
لا يترك المفتاح الخاص الحساس بيئة المرسل أبدًا انخفاض أداء عمليات التشفير
عندما يتم اختراق مفتاح خاص في أحد طرفي الاتصال ، يظل الآخر آمنًا انتهت اللعبة عند فقد المفتاح الخاص
المزيد من عمليات التشفير المتاحة
إيجابيات وسلبيات تشفير المفتاح غير المتماثل

نظرًا لأن إعداد التشفير غير المتماثل أكثر أمانًا ، فقد قررت أليس وبوب المضي فيه! يمكنهم الآن الاستفادة من ذلك والبدء في التفكير في ضمان أمن وسلامة الاتصال.

تشفير المفتاح العام 101: التشفير

عندما ترسل أليس رسالة إلى بوب ، فإنها تريد التأكد من عدم تمكن أي شخص آخر من رؤية المحتوى. قررت تشفير الرسالة. لتحقيق ذلك ، يجب أن تحصل Alice أولاً على مفتاح Bob العام إما من خادم رئيسي أو مباشرة من Bob عبر قناة اتصال. بمجرد حصول أليس على المفتاح ، يمكنها تطبيق عملية تشفير باستخدام مفتاح بوب العام على الرسالة التي تريد إرسالها.

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

ملحوظة:

  • تشفير الرسائل - يقوم المرسل بتشفير رسالة باستخدام المفتاح العام للمستلم
  • فك تشفير الرسالة - يقوم المستلم بفك تشفير رسالة باستخدام مفتاحه الخاص

تشفير المفتاح العام 101: التوقيع

بصرف النظر عن منع الكشف عن محتوى الرسالة ، من المهم بنفس القدر أن تكون قادرًا على تأكيد هوية المرسل والتحقق مما إذا لم يتم تغيير الرسالة. يتم استخدام التوقيع الرقمي (كائن منفصل مرفق بالرسالة) بالضبط لهذين السببين.

تستخدم أليس أولاً خوارزمية تجزئة لتطوير تجزئة رسالة لإنشاء توقيعها. التجزئة هي حساب دالة رياضية ذات اتجاه واحد على رسالة تنتج مخرجات ذات قيمة ثابتة أقصر - مختلفة لمدخلات مختلفة. ثم تستخدم مفتاحها الخاص لتشفير (توقيع) التجزئة التي تم إنشاؤها.

بعد ذلك ، عندما يتلقى بوب الرسالة والتوقيع ، يمكنه أولاً فك تشفير التوقيع باستخدام مفتاح أليس العام . عندما ينجح ذلك ، يعرف أن التوقيع تم إنشاؤه بالفعل بواسطة أليس (وإلا ، سيفشل فك التشفير باستخدام مفتاحها العام).

ثانيًا ، يمكن أن يأخذ بوب الرسالة ويجزئها باستخدام نفس الخوارزمية التي كانت لدى أليس من قبل والتأكد من أن تجزئة الرسالة هي نفسها التي أنشأتها أليس. عندما تتطابق التجزئة ، يعرف أنه لم يتم العبث بالرسالة.

ملحوظة:

  • إنشاء التوقيع - يقوم المرسل بتشفير (توقيع) تجزئة الرسالة بمفتاحه الخاص وإنشاء توقيع
  • التحقق من التوقيع - يقوم المستلم أولاً بفك تشفير تجزئة الرسالة من التوقيع ويتحقق مما إذا كانت التجزئة المحسوبة بواسطته تطابق تلك الموجودة في التوقيع
  • يمكن استخدام التشفير والتوقيع بشكل منفصل ، ولكن لتحقيق أعلى مستوى من الأمان ، يتم عادةً الجمع بينهما. لذلك ، فإن معظم وظائف التشفير التي يمكنك تلبيتها تسمى encryptSignMessage () ، و decryptVerifyMessage () ، وما إلى ذلك.

أتمنى ألا تواجه مشكلة في مواكبة قصة Alice & Bob. اسمحوا لي أن أوضح التدفق بالكامل مرة أخرى للتأكد من أن كل شيء واضح ولإيجاز الأمور.

تدفق الاتصال المشفر
  1. أليس تريد إرسال رسالة إلى بوب
  2. تأخذ أليس مفتاحها الخاص وتقوم بإنشاء توقيع
  3. تأخذ أليس مفتاح بوب العام وتقوم بتشفير الرسالة
  4. أليس ترسل الرسالة إلى بوب
  5. يأخذ بوب مفتاح أليس العام ويتحقق من التوقيع
  6. يستخدم بوب مفتاحه الخاص لفك تشفير الرسالة

حسنًا ، هذه نظرية كافية. لنرى الآن كيف يتم استخدام كل هذا في HTTPS!

مصافحة SSL

قل مرحبا من فضلك

عندما يبدأ العميل اتصالاً بالخادم ، فمن الأهمية بمكان أولاً تقديم مقدمة مناسبة لإنشاء سياق تشفير لبقية الاتصال. يمكن القيام بذلك في خطوة اتصال HTTPS ، قبل تحليل الرؤوس ونصوص الطلب. كل شيء يبدأ عندما يرسل العميل رسالة ترحيب للعميل .

الأهم من ذلك ، تحتوي الرسالة على خوارزميات التشفير التي يفهمها العميل وبعض المواد الإضافية ، مثل خوارزميات الضغط المدعومة ، وإصدارات البروتوكول ، ومعرف الجلسة ، وما إلى ذلك ، نظرًا لأن الخادم يحب أن يكون مهذبًا ، فإنه يستجيب أيضًا برسالة الترحيب بالخادم والتي أبرزها يحتوي على شهادة الخادم مع المفتاح العام للخادم (نعم ، تستند العملية إلى تشفير المفتاح العام - نفس الطريقة التي اختارها بوب وأليس).

المرجع المصدق

حان الوقت الآن للترحيب بضيفنا التالي في المرحلة: مرجع مصدق (CA). يبدو الاسم جادًا - لكنه مجرد كيان تابع لجهة خارجية يتمتع بالكثير من الائتمان في الشارع والذي يُعتبر أساسًا جديرًا بالثقة في جميع أنحاء العالم. يمكن لمثل هذا الكيان التحقق من هوية الخادم ووضع توقيعه الرقمي جنبًا إلى جنب مع شهادة الخادم (على غرار Alice عند مراسلة Bob).

التحقق من الشهادة

الآن دعنا نفكر أخيرًا في عنوان القفل الأخضر بجوار عنوان URL لمتصفحك.

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

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

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

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

لذلك ، باختصار ، مصافحة SSL هي عملية يتم فيها استخدام كل من أنواع التشفير المتماثل وغير المتماثل . في البداية ، يبدأ زوج المفاتيح غير المتماثل الاتصال ويوفر طريقة آمنة لسفر المفتاح المتماثل. كما أشرنا في البداية ، فإن عمليات التشفير المتماثل تكون أسرع ، لذا فإن استخدامها للاتصال الكامل بعد الإعداد مفيد. أيضًا ، بمجرد إنشاء اتصال آمن ، يتم إعادة استخدامه حتى انتهاء صلاحيته ، لذلك لا يتم إعداد المفتاح غير المتماثل قبل كل طلب عميل.

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

التحقق من صحة شهادة العميل

الآن ، هناك خطوة اختيارية واحدة يمكننا أن نذكرها بإيجاز ، لأن لدينا كل المعرفة اللازمة لفهمها. يمكن تكوين الخادم لطلب شهادة العميل والتحقق من صحتها بعد إنشاء اتصال آمن لتحقيق أمان إضافي.

يعمل هذا بنفس الطريقة - ولكن هذه المرة ، يرسل العميل شهادته ، ويتصفح الخادم قائمة المراجع المصدقة الموثوقة ويتحقق منها. تجدر الإشارة أيضًا إلى أن الخادم يخضع لسيطرة المطورين (على عكس العميل ، أي متصفح الويب أو نظام تشغيل الهاتف المحمول) ، لذلك يمكن لمطوري الواجهة الخلفية تعديل قائمة الشهادات الموثوقة بسهولة.

عادة ما تستخدم شبكات الشركات هذه الآلية. في أغلب الأحيان ، يتم إنشاء شهادات العميل بواسطة نظام إدارة جهاز مثبت على جهاز الموظف ويتم توقيعه بشهادة جذر من إنشاء الشركة. تمت إضافة نفس الشهادة أيضًا إلى بيئة الواجهة الخلفية. بهذه الطريقة ، يمكن للواجهة الخلفية للشركة التحقق بسهولة من الشهادة عندما يتصل العميل.

دعنا نتصفح حلولنا الخلفية

اقرأ أكثر

الآن ، للتلخيص ، دعنا نرى رسمًا تخطيطيًا للتدفق بأكمله:

تدفق التحقق من العميل والخادم

ملخص

لقد وصلت إلى نهاية المقال! نأمل أن تكون قد فهمت بالفعل آلية تنفيذ إعداد التشفير في HTTPS وطرق التطبيق لعمليات التوقيع والتشفير.

نظرًا لأنك تعرف كيفية عمل الأشياء ، فمن المؤكد أنك ستشعر بثقة أكبر بشأن تشفير البيانات. ومع ذلك ، من الضروري أن تتذكر أن القفل الأخضر في متصفحك لا يضمن الأمان بعد. في السياق الحساس للأمان ، يجب عليك أيضًا فحص الشهادة عن كثب. كما يقولون ، أعذر من أنذر!