aosus.org

برنامج Session للمراسلات المجهولة / المخفية

بسم الله الرحمن الرحيم
والصلاة والسلام على سيدنا محمد وعلى اله وصحبه وسلم
اما بعد :

نبدأ بسؤال افتتاحي : هل يوجد برنامج تراسل لا يجمع البيانات الوصفية وفي الوقت عينه يسمح بالتخفي / المجهولية ؟

الجواب هو نعم لقد كان ricochet يقوم بذلك الا انه توقفت تحديثاته <1> . ايضا toxchat لكنه لايخفي البيانات الوصفية ويوجد CWTCH تطوره بطيء ومطوريه هم ثلاثة اشخاص فقط والى الان لايدعم ارسال صور والتسجيلات الصوتية .

شعلة أمل 🕯️

image

يعتبر Session خليفة Ricochet وهو برنامج تراسل مفتوح المصدر وتشفيره E2EE (المرسل والمستلم فقط لهما الوسائل لفك تشفير الرسائل) كما انه مبني على سيجنال يستخدم الراوترات البصلية وتقنيات اخرى للتراسل بتخفي كما انه لايطلب رقم هاتف او حتى البريد الالكتروني لانشاء حساب وهو غير مركزي وسناتي على شرح هذا لاحقا ان شاء الله .

النقاط التي سنتحدث عنها باذن الله في هذا المقال هي النقاط التالية :

  • بروتوكول Session وتشفيره وبعض المعلومات عنه
  • الفرق بين المركزية واللامركزية ومابينهما
  • ماهي المجموعات المفتوحة والمغلقة ؟
  • كيفية تثبيت وتسجيل حساب او بالأحرى Session ID
  • اضافة جهات اتصال
  • بعض المحدودات في Session
  • مميزات تحت التجريب
  • بعض تقنيات Session
  • شرح واجهة البرنامج

1 – بروتوكول Session وتشفيره وبعض المعلومات عنه
في البداية كان session يستخدم بروتوكول سيجنال لكن اتضح لمطوري session فيما بعد ان بروتوكول سيجنال ليس مصمم للامركزية والتخفي .

هناك مرحلتين. المرحلة الأولى هي نسخة معدلة من بروتوكول session الذي يحافظ على التوافق العكسي مع عملاء session القدماء الذين لا يزالون يستخدمدون بروتوكول Signal (بروتوكول session مع التوافق مع الإصدارات السابقة)وهذه المرحلة قد انتهت.

المرحلة الثانية لايوجد بها طبقة التوافق العكسي ، هذا الإصدار من البروتوكول اسمه بروتوكول session (التنفيذ الكامل).

حديثنا هنا سيكون عن بروتوكول Session التنفيذ الكامل .

مميزات بروتوكول Session :

  • البساطة وسهولة ادارة مفاتيح التشفير :
    يؤدي استخدام أزواج المفاتيح الحالية طويلة المدى إلى تبسيط الرسائل 1-1 بشكل كبير. لم تعد هناك حاجة لعمليات تبادل المفاتيح المعقدة و العمليات التي يصعب إدارتها بشكل خاص في بيئة لامركزية. <2> .
  • تعدد الاجهزة :
    بموجب بروتوكول Session ، يمكن إعادة تنفيذ الأجهزة المتعددة من خلال مشاركة زوج المفاتيح طويل المدى للمستخدم مع جهاز جديد وتكرار الرسائل المرسلة مرة أخرى في سربهم الخاص وسناتي على كيفية فعل ذلك باذن الله <2> .
  • استعادة الحساب :
    ستؤدي إزالة المفاتيح المؤقتة المخزنة فقط على جهاز محلي إلى زيادة إمكانية نقل حسابات Session بشكل كبير. هذا يعني أنه عند استعادة Session ID ، ستتمكن من تلقي رسائل جديدة على الفور <2> .
  • بساطة وسهولة الشفرة/الكود :
    يحافظ بروتوكول Signal على ثلاثة تطبيقات معقدة ولكنها منفصلة لبروتوكول Signal بين عملاء Android و iOS وسطح المكتب.
    تسمح بساطة بروتوكول Session بتنفيذ خطوط أنابيب التشفير وفك التشفير في أقل من صفحة بقيمة كود – كود يمكن توحيده بشكل فعال عبر جميع الأنظمة الأساسية. هذا يقلل بشكل كبير من صعوبة إجراء التغييرات المستقبلية ، كما أنه يسهل فهم البروتوكول وتحليله من منظور الأمان <2> .
  • مفتوح المصدر
  • سهولة انشاء حسابات متخفية /مجهولة وسهولة حذفها :
    على عكس سيجنال وتيليجرام فان حسابات Session لاتحتاج الى رقم هاتف او بريد الكتروني . لذلك يمكنك انشاء حساب وحذفه في اي وقت يمكنك انشاء حسابات مختلفة . و لان حساب Session غير مرتبط برقم هاتف او بريد الكتروني فانه لا مايدلعلى هوية المستخدم الحقيقية <2> .
  • اللامركزية
  • الاسراب والراوترات البصلية :
    تستخدم Session شبكة عقدة Oxen اللامركزية للتخزين وتوجيه الرسائل. هذا يعني أنه بخلاف تطبيقات المراسلة P2P يمكنك مراسلة مستخدمي Session عندما يكونون غير متصلين.

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

للحماية من مراقبة الشبكة أو جمع معلومات حول المستخدمين ، كل رسائل Session تمر خلال الراوترات البصلية عبر الشبكة.

الراوترات البصلية
يتم توجيه كل رسالة مشفرة من خلال ثلاث عقد في Oxen شبكة عقد الخدمة ، مما يجعل من المستحيل فعليًا على العقد ان تقوم بتجميع معلومات ذات مغزى عن مستخدمي الشبكة. عندما يتم إرسال الرسالة ، ستعرف إحدى العقدة أن المرسل قد أرسل رسالة – لكن لا تعرف وجهتها وستعرف العقدة المختلفة أن جهاز الاستقبال لديه تلقيت رسالة ولكن لا تعرف مصدرها.
بتقييد إنشاء أو جمع البيانات الوصفية أو تحديدها يكتسب Session أيضًا مقاومة للرقابة <3> .

راوترات بصلية

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

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

ملخص ماسبق :
يقلل بروتوكول Session بشكل كبير من تعقيد التطبيق ، ويزيد من إمكانية نقل الحساب ، كل ذلك مع زيادة الموثوقية وجعل الميزات المطلوبة بشدة مثل تعدد الأجهزة ، واستعادة الحساب ، والتحسينات القادمة الأخرى أسهل في التنفيذ بشكل كبير <2> .

2- الفرق بين المركزية و اللامركزية و مابينهما

المركزية
هي ان تدير جهة واحد جميع الخوادم ومشكلتها بالنسبة الى الخصوصية ان هذه الجهة ستخزن البيانات الوصفية كما انه يمكن لجهة معينة تملك السلطة بارغامها على الاطلاع على بيانات المستخدمين , مثل الواتساب والتيليجرام وسيجنال .

المركزية

شبه اللامركزية
هي ان تدير عدة جهات عدة خوادم فيمكن للمستخدم اختيار الجهة التي يثق بها او انه يستضيف خادم شخصي والشبه المركزية افضل من المركزية ولكن مشكلتها تكمن بانك يجب ان تثق بجهة معينة او ان تستضيف خادم شخصي و ليس بمقدور الجميع استضافة خادم شخصي فقط ليدير بياناته مثل شبكة ماتركس الاتحادية .

صورة

اللامركزية
كل مستخدم مسؤول عن بياناته لايوجد جهة تتحكم بالبيانات مثل Toxchat , Ricochet , Session .

صورة

وSession لامركزي لكن هذا لاينطبق على المجموعات المفتوحة وسناتي على ذكرها باذن الله تعالى.

3- ماهي المجموعات المفتوحة والمغلقة ؟

المجموعات المغلقة :
المجموعات المغلقة عبارة عن محادثات جماعية مشفرة بالكامل من طرف إلى طرف. يمكن ل 100 شخص المشاركة في دردشة جماعية مغلقة. يتم تخزين رسائل المجموعة على الشبكة اللامركزية session ، دون استخدام أي خادم (خوادم) مركزية <4> (Groups).

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

م لاحظة هامة : في المجموعات المفتوحة سيظهر حساب session الخاص بك مثلما يحدث في لبتيليجرام وماتركس ولكن هذه تعتبر مشكلة بالنسبة لsession كما انه اذا حدثك شخص غريب وطلب معلومات شخصية فقم بحظره مباشرة لانه اذا قام باي شيء فلايمكنك استرداده ولن تعلم من هو :slight_smile:

4- كيفية تثبيت Session وتسجيل Session ID

يمكن تثبيت session على كل الانظمة تقريبا لتحميله اذهب الى موقع التحميل

ونختار النظام الذي نريده ثم نقوم بتثبيته بالنسبة الى دبيان فهناك مستودع خاص به ايضا Session لديه مستودع على اف-درويد <4> (Privacy > Can you list Session on F-Droid).

وسنبدأ بانظمة الهواتف تحديدا الاندررويد
اولا كيفية اضافة مستودع اف-درويد
نذهب الى الاعدادت ثم المستودعات ثم نضغط على زر ال+ الموجود في الزاوية

ننسخ رابط المستودع ونلصقه في مكانه رابط المستودع ثم ننسخ الfingerprint ونلصقه في مكانه المخصص كما في الصورة :

صورة

ثم نحدث المستودعات في اف درويد من خلال سحب الشاشة من الاعلى الى الاسفل وبعد ذلك نقوم بالبحث عن session ونقوم بتثبيته .

سشن

تسجيل حساب Session

نضغط على Create Session ID
ستظهر لك شاشة مكتوب عليها Say hello to your SESSION ID وباختصار شديد Session ID هو بمثابة رقم الهاتف في التيليجرام او الواتساب .

نضغط على الاستمرار ( continue)

اكتب اسمك ومن ثم continue

والان سيظهر خياران كلاهما يتعلقان بالاشعارات الاول الوضع السريع ويتم فيه استخدام خدمات جوجل او ميكرو جي

الخيار الثاني هو الوضع البطيء وطريقة عمله هي انه سيعمل في الخلفية وسيقوم باشعارك في حال وصلت رسائل جديدة , اختر ماتريد

تم بحمد الله انشاء الحساب نختم هذا الامر بحفظ الrecovery phrase

ماهو الrecovery phrase ؟
نظرًا لأن Session لا ت يحتوي على خادم مركزي يخزن معلومات حول هويتك ، فإن استعادة حسابك باستخدام طريقة اسم المستخدم وكلمة المرور التقليدية غير ممكنة. عبارة الاسترداد الخاصة بك عبارة عن بذرة يمكن استخدامها لاستعادة معرف Session الحالي إلى جهاز جديد

تأكد من تخزينه في مكان آمن! <4> .

صورة

نضغط على continue

صورة

نضغط على copy ونقم بحفظ الrecovery phrase في مكان امن

لايختلف الامر في لينوكس و الانظمة المكتبية .

كيف ندخل على مجموعة session المفتوحة ؟
قام مطوري session بعمل مجموعة مفتوحة يوجد بها اكثر من 3000 شخص

في الهواتف نضغط على علامة + الخضراء ثم على شكل كوكب ستظهر مجموعات مفتوحة قام مطوري Session بوضعها افتراضيا .

5-اضافة جهات اتصال

لاضافة شخص ما نعطيه Session ID او هو من يعطينا الSession ID من خلال ارسالها نصيا او ارسال رمز الQR

صورة

1- نضغط على ايقونة الحساب

2- ننسخ Session ID

3-او من خلال استخدام رمز QR

اذا احد ما ارسل لنا Session ID الخاص به فكيف نقوم باضافته ؟

صورة

بالضغط على علامة ال+

صورة

ونضع Session ID الخاص به المكان الظاهر في الصورة ومن ثم نضغط next

5-محدودات في Session

بعض المحدودات في Session : –

  • لايمكن ارسال ملفات حجمها اكبر من 10 ميجا وهذا يؤثر على المقاطع المرئية والتسجيلات الصوتية ولكن يمكن استخدام onion share او Muwire .
  • لايوجد حتى الان نسخ احتياطي .

6 – مميزات في المرحلة التجريبية :

تحت التجريب :

  • الاتصالات
  • p2p
  • الاتصال بجهات الاتصال

مخطط لها :
امكانية رفع حجم الملفات اكبر من 20 ميجا

7 – بعض التقنيات التي تستخدم في Session :

*تقنية okinet
راوترات بصلية قوية وسريعة بما يكفي للتعامل مع الاتصالات الصوتية في الوقت الفعلي ، مما يجعله جزءًا مهمًا من خطة إضافة مكالمات صوتية مشفرة من طرف إلى طرف .

ملاحظة : على الهاتف و يمكن اغلاق session بكلمة سر ايضا ان كنت تريد تصوير الشاشة فيمكنك تعطيل المنع يمكنك ذلك من خلال الاعادات الخصوصية .

7 – واجهة برنامج Session :

على لينوكس :

صورة

1 : يظهر مسار الراوترات البصلية
2 : التبيديل بين المظهر الليلي والنهاري
3 : الدخول الى المجموعات المفتوحة
4 : انشاء مجموعة مغلقة
5 : اضافة شخص جديد
6 : الملف الشخصي للحساب
7 : جهات الاتصال
8 : الاعدادات

على الهاتف (اندرويد) :

صورة

1 : الملف الشخصي
2 : مسار الراوترات البصلية
3 : اضافة اشخاص وانشاء مجموعة مغلقة و الدخول الى مجموعات مفتوحة

صورة

1 : اضافة شخص ما
2 : انشاء مجموعة مغلقة
3 : الدخول الى المجموعات المفتوحة

تساؤلات :

هل يمكن تشغيل Session على هونكس ؟ وهل هذا امن ؟
هل يوجد فرق في الامان اذا استخدم Session على لينوكس بدلا من الاندرويد ؟
هل تم عمل audit ل Session ؟ نعم

هذا الموضوع فائز بجائزة أسس للكتابة.

هذا الموضوع احد المواضيع الفائزة بجائزة أسس للكتابة, الجائزة الاولى في العالم العربي للتحفيز الكتابة عن البرمجيات الحرة.
تفاصيل اكثر عن الجائزة

و قائمة الفائزين لديسمبر 2021

Abdulrhman
Website |  + مقالات

\

Aosus