هذه الصفحة لمن يريد التحقّق. لكل مكوّن نقول ما يحميه وما لا يحميه.
عميل على كل جهاز، وhub لكل مجتمع (الـOutpost) لا يمكن الوصول إليه إلا كخدمة onion من Tor v3، وتشفير MLS من طرف إلى طرف بين العملاء. يرتّب الـhub الرسائل، ويحفظها مؤقتاً، ويعيد توجيهها دون أن يستطيع قراءتها. لا خادم مركزي، ولا أي مكوّن من GiBSeS في مسار البيانات.
يتواصل الـOutpost والعملاء عبر Tor فقط. ينشر الـOutpost خدمة onion v3: العنوان مشتق من مفتاح الخدمة، فيبقى كما هو إن غيّر الكمبيوتر الشبكة أو عنوان IP، ولا حاجة لفتح منافذ على الراوتر. نستخدم Arti، تنفيذ Tor بلغة Rust من Tor Project، مدمجاً في الملف التنفيذي: لا عملية Tor خارجية تحتاج إلى تثبيت.
نسخة الويب هي الواجهة، المفتوحة في المتصفح، لبرنامج محلي صغير يتحدث عبر Tor. لا يوجد خادم ويب بعيد: المتصفح يتواصل فقط مع البرنامج على كمبيوترك، الذي ينقل الرسائل إلى الـOutpost عبر Tor.
كل محادثة، حتى الثنائية، هي مجموعة MLS وفق RFC 9420، منفّذة بـOpenMLS. مجموعة الخوارزميات (suite): X25519 لتبادل المفاتيح، وChaCha20-Poly1305 للتشفير، وEd25519 للتواقيع. تُشفَّر على الجهاز النصوص والصور والرسائل الصوتية والملفات، وكذلك أسماء المرفقات وأنواعها.
يوفّر MLS خاصيتي forward secrecy وpost-compromise security: مفتاح يُسرق اليوم لا يفكّ تشفير حركة الأمس، وبعد تحديث المفتاح لا يفكّ تشفير حركة الغد. يحمي الرسائل أثناء انتقالها، لا السجل المحفوظ أصلاً على الهاتف: فذلك يحميه تشفير قاعدة البيانات المحلية وقفل التطبيق (PIN أو القياسات الحيوية).
تحقّقنا من ذلك بسلاسل مراقِبة أُدرجت في رسائل الاختبار: لم تظهر ولو مرة واحدة في بيانات الـhub.
من ينضم إلى مجموعة لا يقرأ سجلها السابق. ومن يخرج أو يُزال لا يقرأ ما يُكتب بعده. في تجربة بـ100 عضو، تُنتج إزالة عضو واحد commit بحجم 8.7 KB خلال 6.5 ms.
تُثبَّت مفاتيح الـOutpost عند الانضمام، من الدعوة. كل معرّف شخصي (QR أو رمز من 32 حرفاً) يحتوي بصمة المفتاح: إن حاول أحد، بما في ذلك الـhub، استبداله، يوقف التطبيق الإرسال ويعرض تحذيراً يملأ الشاشة. يمكن لشخصين مقارنة رمز أمان من 60 رقماً أو رمز QR. لكل مجتمع هوية منفصلة، بمفاتيح مختلفة.
هذا الجدول يُقرأ كاملاً. ينطبق على الـOutpost وبالتالي على من يديره.
| المعلومة | هل يراه الـhub؟ |
|---|---|
| النصوص، الصور، الرسائل الصوتية، الملفات، أسماء المرفقات وأنواعها | لا |
| صوت وفيديو الاجتماعات (في الوضعين) | نعم |
| عناوين IP للعملاء | لا (Tor)، باستثناء المشاركين في الاجتماعات بوضع الجودة العالية |
| عنوان IP للـhub، بالنسبة للعملاء | لا (onion)، باستثناء المشاركين في الاجتماعات بوضع الجودة العالية |
| قائمة الأعضاء، مع المفاتيح والتسميات، بمن فيهم المخفيون | نعم |
| مستوى الظهور الذي يختاره كل شخص | نعم |
| من في أي غرفة، أسماء الغرف | نعم |
| من يراسل من في المحادثات الثنائية | نعم |
| من يرفع محتوى في غرفة | نعم |
| متى وكم مرة يتصل كل شخص | نعم |
| حجم الرسائل | نعم |
| من يفتح محادثة خاصة مع من انطلاقاً من غرفة | نعم |
GiBSeS لا ترى أياً من هذه الأشياء: ليس لديها خوادم ولا حسابات ولا قياس عن بُعد ولا تقارير أعطال ولا تفعيل عبر الإنترنت. من يكون «مرئياً فقط لمن لديه معرّفي» يبقى مرئياً لأعضاء الغرف التي يدخلها.
إن كان المستلم غير متصل، يبقى الظرف المشفّر على الـOutpost حتى 30 يوماً (مدة قابلة للضبط)، ثم تنتهي صلاحيته. وما إن يُسلَّم حتى يُحذف: الـOutpost يعمل كممرّ عبور فقط ولا يحتفظ بأرشيف للرسائل. يبقى على القرص قائمة الأعضاء والغرف وطابور ما لم يُستلم، في مجلد مشفّر عند التخزين بكلمة مرور المشغّل (Argon2id). في المحادثات الثنائية ترى «في الانتظار» أو «تم التسليم» أو «منتهية الصلاحية». تنتقل المرفقات على أجزاء، مع الاستئناف بعد الانقطاع، حتى 100 MB لكل عنصر.
لا يمرّ أي إشعار عبر خدمات push في Android وiOS. وضعان: لا فحص في الخلفية (الافتراضي) أو فحص دوري عبر Tor كل 15 أو 30 أو 60 أو 240 دقيقة، مع إشعار محلي بلا محتوى. على Android قد يؤخّر توفير الطاقة عمليات الفحص؛ وعلى iOS يقيّد النظام النشاط في الخلفية، لذا يكون الاستلام كاملاً حين يكون التطبيق مفتوحاً.
المكالمات، الثنائية والجماعية حتى نحو 10 أشخاص، تنتقل عبر Tor وتمرّ بالـhub، الذي يعيد توجيهها في الذاكرة فقط، دون كتابتها على القرص. زمن الاستجابة هو زمن مسارَي onion: توقّع تأخيراً ملحوظاً، أقرب إلى جهاز اللاسلكي منه إلى مكالمة هاتفية تقليدية. إن تعذّر الوصول إلى جهة الاتصال، تُسجَّل المكالمة فائتةً ويمكنك ترك رسالة صوتية. تتوفر أيضاً مشاركة شاشة خفيفة.
مكوّن اختياري، متوقف افتراضياً، يعمل على الـhub كـSFU (Selective Forwarding Unit). الوسائط مشفّرة أثناء النقل، لكن الـSFU يفكّ تشفيرها لإعادة توجيهها: يرى الـhub صوت وفيديو الاجتماعات في الوضعين. لا نستخدم SFrame. في الفيديو أنت تثق بالـhub، أي بمن يديره.
تنتقل الوسائط عبر Tor، ويعيد الـOutpost توجيهها كـrelay، بدقة منخفضة لتناسب عرض النطاق وزمن الاستجابة في دائرة onion. لا عنوان IP مكشوف: لا للمشاركين ولا للـhub. لا إعدادات شبكة إضافية.
اتصال مباشر WebRTC بين العملاء والـOutpost، خارج Tor، بتشفير DTLS-SRTP مع TURN مدمج. يلزم عنوان IP عام على الـhub ومنفذ أو اثنان مفتوحان. شهادة self-signed: تصل بصمتها والعنوان إلى العملاء عبر Tor، بلا أي خدمة خارجية. عناوين IP للمشاركين لا يراها إلا Outpost المجتمع، لا المشاركون الآخرون. المشاركون يعرفون عنوان IP للـhub. وكما في أي اتصال مباشر، يرى مزوّد الشبكة لدى كل شخص أن هناك اتصالاً بذلك العنوان.
تبقى المحادثات دائماً على Tor، أياً كان الوضع الذي تختاره للفيديو.
الـhub يقوم بقليل من التشفير الثقيل: يعيد توجيه الأظرف ويرتّب commits الخاصة بـMLS. الحمل الحقيقي هو القرص (طابور المرفقات، حتى 30 يوماً) وعرض نطاق Tor. يجب أن يكون قرص العمل SSD: الطابور يكتب باستمرار. العقدة المقيسة في التشغيل المستقر تستهلك 34-46 MB من الذاكرة RAM.
| المجتمع | الإعداد الموصى به |
|---|---|
| حتى ~25 شخصاً | كمبيوتر مكتبي أو محمول قيد التشغيل، 4 GB من RAM، و32 GB متاحة على SSD |
| من ~25 إلى 100 شخص | كمبيوتر أو mini-PC، 8 GB من RAM، وSSD بسعة 64-128 GB |
| أكثر من 100 شخص | عدة Outpost |
| فيديو بوضع الجودة العالية، 5 مشاركين | ~10 Mbit/s رفعاً على الـhub، عنوان IP عام، 1-2 منفذ |
| فيديو بوضع الجودة العالية، 10 مشاركين | ~45 Mbit/s رفعاً على الـhub؛ كمبيوتر بـ8 GB |
| فيديو بالوضع المحمي | لا متطلبات شبكة إضافية؛ الجودة محدودة بعرض نطاق Tor |
Outpost لـWindows 10/11 x64 وLinux x86_64. تشغيل تلقائي، ويصبح متصلاً خلال 3 دقائق من تشغيل الجهاز. للمحادثة يكفي اتصال منزلي ببضعة Mbit/s للرفع: الحدّ العملي هو زمن استجابة Tor، لا العتاد.
العميل والـOutpost مكتوبان بلغة Rust: Arti لـTor، وOpenMLS للتشفير. الـOutpost ملف تنفيذي واحد، بلا تثبيت وبلا صلاحيات مسؤول.
صور الأطفال، رسائل الجدّة الصوتية، محادثة النادي تبقى بينكم. ستجد ما على مدير المجموعة فعله، ولماذا يعنيك Chat Control.
مشاريع خاضعة لاتفاقية عدم إفصاح، اجتماعات فيديو، محادثات بين الزملاء: تبقى البيانات على كمبيوتر في مكتبك. ويعمل Naisho إلى جانب الأدوات التي تستخدمونها أصلاً.