هل يستطيع أي شخص قراءة رسائلي؟

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

ما هو التشفير؟

قبل أن نخوض في كيفية عمل بروتوكول «سيغنال» وكيف تحافظ تطبيقات المراسلة على خصوصية المحادثات، ينبغي أولًا أن نفهم ماهية التشفير وأنواعه.

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

التشفير المتماثل (Symmetric Encryption)

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

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

التشفير غير المتماثل (Asymmetric Encryption)

يعمل هذا النوع من التشفير بطريقة مختلفة، حيث يستخدم مفتاحين بدلًا من مفتاح واحد: مفتاح عام ومفتاح خاص.

  • المفاتيح العامة (Public keys): تشبه صناديق البريد حيث يمكن لأي شخص أن يضع رسالة فيها. على سبيل المثال، إذا أرادت أسيل أن ترسل رسالة إلى باسم، فإنها تستخدم المفتاح العام الخاص به لتشفيرها.
     
  • المفاتيح السرية (Private Keys): هي المفاتيح الوحيدة التي تفتح صندوق البريد، ويجب أن ينفرد باسم بامتلاكها. عندما يستلم باسم رسالة أسيل، يستخدم مفتاحه الخاص ليفك تشفير الرسالة وقراءة محتواها.
     
التشفير غير المتماثل

التشفير التام بين الطرفين (End-to-End Encryption)

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

 

تعرّف على الأجزاء الأساسية: كيف يعمل بروتوكول «سيغنال»

قبل أن نخوض في تفاصيل بروتوكول X3DH الذي يشكّل العمود الفقري للتشفير في تطبيق «سيغنال»، من المهم أن نفهم المبدأ الأساسي الذي بُني عليه: تبادل المفاتيح. فهذه الخطوة تُعد اللبنة الأولى في بناء قناة اتصال آمنة بين طرفين، حيث تُستخدم لتوليد مفتاح سري مشترك يُستخدم لاحقًا لتشفير وفك تشفير الرسائل. ورغم أن بروتوكولات تبادل المفاتيح تطوّرت كثيرًا، فإن جذورها تعود إلى خوارزمية كلاسيكية تُدعى «ديفي-هيلمان» (Diffie-Hellman). لفهم كيف يعمل X3DH بشكل أعمق، من المفيد أن نبدأ بهذه الخوارزمية التقليدية، التي تمثل نقطة الانطلاق لفهم آلية توليد المفاتيح المشتركة بشكل آمن.
 

كيف يؤمن «ديفي-هيلمان» عملية تبادل المفاتيح؟

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

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

  • أسيل تختار اللون الأحمر.
  • باسم يختار اللون الأزرق.


بعدها يخلطان لونهما السري مع اللون المشترك (الأصفر):
 

  • أسيل تخلط الأصفر مع الأحمر لتحصل على اللون البرتقالي.
  • باسم يخلط الأزرق مع الأصفر، فيحصل على الأخضر.
     

الآن، يتبادلان اللونين الناتجين علنًا، فيُصبح كلٌّ من البرتقالي والأخضر مرئيًّا للجميع. ومع ذلك، لا يستطيع أحد معرفة اللون السريّ الذي استخدمه أيٌّ منهما.

في الخطوة التالية، تأخذ أسيل اللون الأخضر الذي أرسله باسم، وتخلطه بلونها السرّي، وهو الأحمر. ويقوم باسم بالأمر ذاته، فيأخذ اللون البرتقالي الذي أرسلته أسيل، ويَمزُجه بلونه السرّي، الأزرق.

في النهاية، يحصل كلاهما على اللون النهائيّ الموحَّد —لون غامق يميل إلى البنيّ— إلا أنّ أي طرف ثالث شاهد عملية التبادل لن يتمكّن من معرفة هذا اللون، لأنّه يجهل الألوان السرّيّة التي استخدمها الطرفان في البداية.

فيما يلي شكل توضيحي لهذا المفهوم باستخدام نفس المثال:

«ديفي-هيلمان» عملية تبادل المفاتيح

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

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

 

تعرف على X3DH: التبادل الآمن وغير المتزامن للمفاتيح

X3DH أو Extended Triple Diffie-Hellman هو بروتوكول مشابه، لكنه مصمَّم ليعمل في بيئة غير متزامنة، حيث يمكن أن يكون أحد الطرفين غير متصل بالإنترنت، لكنه قد نشر مسبقًا معلومات في مكان آخر (على الخادم) وهذا يسمح للطرف الآخر ببدء محادثة مشفّرة معه حتى لو لم يكن متصلًا في تلك اللحظة.

يتضمن بروتوكول X3DH خمسة مفاتيح عامة:

مفاتيح أسيل
مفتاح الهوية IKAمفتاح عام طويل الأمد يُستخدم لتعريف أسيل.
المفتاح المؤقت EKAمفتاح مؤقت يُستخدم لجلسة أو محادثة واحدة فقط.
مفاتيح باسم
مفتاح الهوية IKBمفتاح عام طويل الأمد يُستخدم لتعريف باسم.
مفتاح متوسط الأمد مُوقَّع SPKBمفتاح عام متوسط الأمد موقّع من قِبل مفتاح هوية باسم IKB.
مفتاح لمرة واحدة OPKBمفتاح عام يُستخدم مرة واحدة فقط في الجلسة الأولى، ويُساعد أسيل في تشفير رسالتها الأولى.


جميع المفاتيح العامة المذكورة لها مفاتيح سرية بالمقابل، لكننا سنركّز على المفاتيح العامة فقط لتبسيط الشرح. تُستخدم هذه المفاتيح في ثلاث مراحل:

  1. يقوم باسم برفع مفاتيحه الثلاثة إلى الخادم.
  2. تقوم أسيل بتحميل هذه المفاتيح والتحقّق من التوقيع الموجود على مفتاح باسم الموقّع (SPKB).
  3. بعد التحقّق، يمكن لأسيل استخدام المفاتيح لتشفّر الرسالة الأولى.

 

آلية التدوير المزدوج للتجديد المستمر للمفاتيح

آلية «التدوير المزدوج» (Double Ratchet) هي خوارزمية تقوم بإدارة المفاتيح وتُستخدم ضمن بروتوكولات التشفير من أجل تجديد المفاتيح المؤقتة وقصيرة العمر باستمرار.

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

آلية التدوير المتماثل (Symmetric Ratchet) لتوليد مفاتيح جديدة بعد كل رسالة.

آلية تدوير ديفي-هيلمان (Diffie-Hellman Ratchet) لتحديث المفاتيح السرية دوريًا بين الطرفين.

 

١. آلية التدوير المتماثل (Symmetric Ratchet)

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

  • تقوم بإرسال رسالة مُشفّرة باستخدام مفتاح محدد.
  • ثم تستخدم هذا المفتاح مع دالة اشتقاق المفاتيح (KDF) للحصول على مفتاح جديد.
  • بعدها، يتم التخلص من المفتاح القديم واستخدام المفتاح الجديد في الرسالة التالية.
  • تستمر هذه العملية مع كل رسالة، لضمان تشفير كل رسالة بمفتاح مختلف.
دالة اشتقاق المفاتيح (KDF)

بهذه الطريقة إذا تمكن أحد من سرقة مفتاحك الحالي، فلن يكون قادرًا على عكس العملية لفك تشفير رسائلك السابقة. هذا هو مفهوم «السرية التامة للأمام» (Forward Secrecy)، والتي تهدف إلى ضمان عدم تعرّض مفاتيح الجلسات السابقة للخطر حتى في حال اختراق المفاتيح طويلة الأجل.

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

 

٢. آلية تدوير ديفي-هيلمان (Diffie-Hellman Ratchet)

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

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

وهذا يمنحك ما يُعرف بـ«الأمان بعد الاختراق» (Post-Compromise Security)، مما يحميك من الهجمات الأمنية المستقبلية.

 

معلومة إضافية: التحديات الأمنية بعد ظهور الحوسبة الكمية

ربما سمعت أن الحواسيب الكمية قد تتمكن يومًا ما من كسر أنظمة التشفير التقليدية. وهذا صحيح جزئيًا، إذ إن خوارزميات التشفير التقليدية مثل ديفي-هيلمان وRSA ستكون عرضة لهجمات كمية بفضل ما يُعرف بـ«خوارزمية شور» (Shor's Algorithm). ويُعد التشفير المضاد للهجمات الكمية مجالًا جديدًا يركز على تطوير خوارزميات لا يمكن كسرها بواسطة الحواسيب الكمية، فيعمل الباحثون بالفعل على تطوير نسخ مقاومة من بروتوكولات شهيرة مثل Double Ratchet و X3DH، وذلك من خلال دمجها مع خوارزميات مقاومة للهجمات الكمية مثل Kyber او FrodoKEM.

وهنالك أيضًا البعض من بروتوكولات المراسلة التجريبية التي طوّرها «سيغنال» مثل خوارزمية «ديفي-هيلمان ما بعد الكمية» (Post Quantum Extended Diffie-Hellman – PQXDH)، والتي تهدف إلى تحسين عملية تبادل المفاتيح في ظل تهديد الحواسيب الكم. لذا يمكن القول إن «سيغنال» آمن حاليًا، ولكن في المستقبل من المتوقع إجراء تطويرات لضمان بقاء رسائلك آمنة حتى في مواجهة الحواسيب الكمية.

 

الخاتمة: أصبحتَ ملمًّا بأسرار المراسلة الآمنة

لم تَعُد معرفتك ببروتوكول «سيغنال» سطحية، بل أصبحتَ تدرك بعمق كيفية عمله ولماذا يُعَدّ من أكثر البروتوكولات موثوقية في مجال الخصوصية الرقمية. فقد تعرّفت على الطريقة التي يحافظ بها التشفير التام بين الطرفين (E2EE) على سرية المحتوى بين المرسل والمستقبِل، وفهمت أهمية مفاهيم مثل السرية التامة للأمام وآلية «التدوير المزدوج» (Double Ratchet) في تعزيز أمان المحادثات. أدركت أيضًا أن «سيغنال» ليس مجرد تطبيق مراسلة، بل منظومة متكاملة مبنية على أسس راسخة من الأمان والخصوصية، ما يمنحك أدوات قوية للتواصل الآمن بثقة ووعي.

 


 

المراجع

  1. سيغنال. (20 نوفمبر 2016). The Double Ratchet Algorithm.
  2. سيغنال. (4 نوفمبر 2016). The X3DH Key Agreement Protocol.
  3. إرينكريت. (19 سبتمبر 2023). Quantum Resistance and the Signal Protocol. توثيق «سيجنال» الرسمي.