الأمان ونموذج التهديد
آخر تحديث: 2026-08-02
صُمِّمت Relayium بحيث يكون مَن ينقلون الملفات أو النصوص المؤقتة — لا الخادم — هم مَن يملكون المفاتيح. تصف هذه الصفحة بدقة ما هو محميّ، وكيف يعمل، وحدود تلك الحماية.
باختصار: تنتقل الملفات والرسائل الفورية مباشرة بين الأجهزة على الشبكة نفسها. وعبر الشبكات تستخدم جلسات المتصفح مُرحِّلًا لا يحمل سوى النص المُشفَّر من الطرف إلى الطرف ولا يملك مفتاح المحتوى. وتُستخدَم دائمًا مفاتيح جلسة جديدة؛ ويتيح رمز تحقّق اختياري يُقارَن عبر قناة خارجية للطرفين اكتشاف اعتراض الإشارة أيضًا. وفيما يلي التفاصيل.
تشفير ملفات المتصفح الفورية (X25519 + AES-256-GCM)
لنقل الملفات الفوري في المتصفح، تُولِّد كل عملية زوج مفاتيح X25519 مؤقتًا على كل جهاز، ويشتق المتصفحان مفتاح AES-256-GCM مشتركًا. تُشفَّر كل كتلة بقيمة nonce فريدة، فلا ترى الإشارة أو المُرحِّل سوى النص المُشفَّر بدل الملف الصريح. تستخدم عمليات CLI بروتوكول TLS 1.3 مباشرًا ومختلفًا موضحًا أدناه.
- المفاتيح مؤقتة وخاصة بكل عملية نقل — ولا يُعاد استخدام أي شيء عبر الجلسات.
- يُشتَقّ المفتاح المشترك على الجهازين؛ ولا يُرسَل أبدًا إلى أي خادم ولا يُخزَّن عليه.
- يُطبَّق التشفير في طبقة التطبيق، فوق أمان النقل الخاص بـ WebRTC، فيظل صامدًا حتى لو تعرّضت طبقة النقل للاختراق.
رمز التحقق (SAS) — اكتشاف خادم خبيث
يتبادل WebRTC بصمات المفاتيح عبر خادم الإشارة الذي قد يحاول تبديلها. لذلك يمكن أن تعرض Relayium سلسلة SAS من 6 أرقام على الشاشتين. ولا يمنح تطابق الرمزين أقوى كشف للاعتراض إلا عندما يقارنهما الطرفان عبر قناة خارجية. أما عرض هذا الرمز والتوقّف لمقارنته فهو إعداد — «التحقّق المتقدّم» في الويب (معطَّل افتراضيًا)، و`--verify` في CLI. وتعطيله يغيّر ما يُعرض وأي الخطوات تتوقّف طلبًا للتأكيد فقط، ولا يغيّر التشفير: فمصافحة «الالتزام ثم الكشف» أدناه تعمل على كل اتصال وترفض أي اتصال لا يطابق كشفه التزامه، وتُولَّد المفاتيح على جهازك ولا تصلنا أبدًا، ولا ينقل المُرحِّل سوى نص مشفَّر، وفي المتصفح يظل استقبال الملفات يسألك قبل حفظ أي شيء — أما تطبيق macOS الأصلي فيكتب دون سؤال في وجهة الحفظ المضبوطة (مجلد التنزيلات افتراضيًا). وهذا السؤال يمنع الكتابة غير المطلوبة على قرصك، ولا يثبت من يكون الطرف الآخر؛ فذلك لا تؤكّده إلا مقارنة الرمز.
تمنع مصافحة «الالتزام ثم الكشف» الخادم من اختيار مفتاح متصادم بعد الحدث. وتستخدم عمليات CLI سلسلة SAS منفصلة مشتقة من تبادل الالتزام ثم الكشف لبصمات شهادة TLS المثبّتة؛ وهي أيضًا لا تكشف شيئًا ما لم يقارنها أحد فعليًا عبر قناة خارجية، وهو ما يتوقّف من أجله الخيار `--verify`.
- للحصول على أقوى ضمان، فعِّل التحقّق المتقدّم ثم قارِن الرمز عبر قناة خارجية — وجهًا لوجه أو عبر مكالمة صوتية.
- إذا اختلف الرمزان، فأوقِف النقل: قد يكون أحدهم يعترض الاتصال.
النص الصريح الذي لا يستطيع الخادم رؤيته أو فكّه
صُمِّمت خوادمنا بحيث لا تستطيع رؤية أو فك النص الصريح التالي:
على الشبكة نفسها تنتقل بايتات الملفات والرسائل مباشرة بين الجهازين. وعبر الشبكات تمر عبر TURN كنص مُشفَّر ولا يملك المُرحِّل مفتاح المحتوى. ومع ذلك تعالج الإشارة بيانات الإعداد وترى بيانات وصفية مثل IP العام وعضوية الغرفة والتوقيت واسم الجهاز والحضور.
- محتويات ملفاتك.
- أسماء ملفاتك.
- النص الصريح لرسائلك.
- مفاتيح التشفير الخاصة بك.
عندما تُرحَّل ملفات ونصوص المتصفح (TURN)
تستخدم عمليات ملفات ونصوص المتصفح عبر الشبكات TURN بحكم التصميم، لا كخيار احتياطي، لأن NAT وجدران الحماية تجعل المسار المباشر غير مرجح. تتصل جلسات المتصفح على الشبكة نفسها مباشرة دون بيانات اعتماد ترحيل. ولا تستخدم عمليات ملفات أو نصوص CLI بروتوكول TURN إطلاقًا: فهي مباشرة فقط وتفشل إن لم يوجد مسار مباشر.
- لا ينقل المُرحِّل سوى النص المُشفَّر — ولا يمكنه قراءة ملفاتك أو رسائلك، التي تظل مُشفَّرة من الطرف إلى الطرف.
- نسجّل عدد البايتات المُرحَّلة لكل حساب لفرض حصة ترحيل شهرية ومنع إساءة الاستخدام — ولا نفحص أبدًا ما يُرحَّل، بل نسجّل عدد البايتات فقط.
- لا نفحص أبدًا المحتوى المُرحَّل.
نقل النص المؤقت
تستخدم جلسات النص في المتصفح بروتوكول Web: يُجري الطرفان تبادل X25519 مؤقتًا ويشتقان مفاتيح فرعية AES-256-GCM منفصلة حسب الاتجاه وفي نطاق منفصل عن مفاتيح نقل الملفات. وتُوثَّق كل رسالة UTF-8 صالحة وتُشفَّر في إطار مستقل. وعبر الشبكات تستخدم جلسات المتصفح TURN بحكم التصميم؛ فلا يحمل المُرحِّل إلا النص المُشفَّر ولا يملك مفتاح الرسالة. وعند تفعيل التحقّق المتقدّم، تكشف مقارنة SAS عبر قناة خارجية اعتراض الإشارة أيضًا.
يستخدم نص CLI بروتوكولًا مختلفًا ومباشرًا فقط عبر TLS 1.3 مع تثبيت الشهادة. ولا يستخدم إطارات X25519/AES الخاصة بالمتصفح ولا TURN، ويفشل إن تعذّر إنشاء مسار مباشر. لا تخزّن Relayium متون الرسائل، لكن يمكن لأي من الطرفين نسخ النص أو تسجيله أو التقاط صورة له أو الاحتفاظ به بطريقة أخرى بعد استلامه.
- يجب أن يكون الشخصان متصلين في الوقت نفسه؛ ولا توفّر Relayium تسليم النص دون اتصال أو سجل رسائل على الخادم.
- تعالج الخوادم بالضرورة بيانات وصفية للاتصال مثل عناوين IP، وعضوية الغرفة، والتوقيت، واسم الجهاز والحضور لجلسات المتصفح، وعند الاقتضاء ارتباط الحساب المستخدم لإنشاء رمز اقتران.
- في جلسات TURN قد تسجّل Relayium عدد البايتات المُرحَّلة لفرض الحصة ومنع إساءة الاستخدام، لكنها لا تفحص النص الصريح للرسائل.
روابط التنزيل المُخزَّنة — المفتاح لا يغادر متصفحك أبدًا
وضع رابط التنزيل الاختياري مُخصَّص لما يكون فيه المُستقبِل غير متصل. يُشفِّر متصفحك الملفات باستخدام AES-256-GCM قبل رفع أي شيء، ويوضَع مفتاح فك التشفير في جزء URL فقط — الجزء الذي يلي # — وهو ما لا ترسله المتصفحات أبدًا إلى الخادم.
- لا يخزّن الخادم سوى النص المُشفَّر، إضافةً إلى حجم النص المُشفَّر والطوابع الزمنية لأغراض الحصة والتنظيف — ولا يخزّن أبدًا نصًا صريحًا أو أسماء ملفات أو مفاتيح.
- يستطيع أي شخص يملك الرابط الكامل فكّ التشفير، لذا تعامَل مع الرابط كأنه الملف نفسه وشارِكه عبر قناة موثوقة.
- يمكن ضبط الروابط لتنتهي صلاحيتها (من ساعة واحدة وحتى 14 يومًا، حسب خطتك) أو لتُحذَف بعد أول تنزيل كامل.
سلامة الملفات (SHA-256)
إلى جانب السرية، يُتحقَّق من سلامة كل ملف. تحمل كل كتلة وسم مصادقة AES-GCM، ويُتحقَّق من تجزئة SHA-256 لكل ملف من الطرف إلى الطرف على جانب المُستقبِل، بحيث يُكتشَف الملف التالف أو المُتلاعَب به بدلًا من قبوله بصمت.
ما لا تحمي منه Relayium
يحمي التشفير من الطرف إلى الطرف البيانات أثناء انتقالها بين طرفين أمينين. ولا يمكنه، بحكم التصميم، أن يحمي من:
- جهاز أو متصفح مُخترَق على أي من الطرفين — برمجية خبيثة، أو امتداد متصفح عدائي، أو شخص يقرأ الشاشة.
- البيانات الوصفية الضرورية: توقيت الجلسة وعدد البايتات المُرحَّلة، وفي الرابط المُخزَّن أو جلسة رمز الاقتران الحساب الذي أنشأ الرابط أو الرمز.
- اختيار المُستقبِل الاحتفاظ بالملفات أو الرسائل أو نسخها أو إعادة توجيهها بعد استلامها.
- مشاركة رابط تنزيل عبر قناة غير موثوقة، إذ إن مفتاح فك التشفير ينتقل داخل الرابط.
دعم المتصفحات وحدوده
تعمل Relayium في أي متصفح حديث يدعم WebRTC عبر HTTPS. وتختلف بعض القدرات باختلاف المتصفح:
- يتوفّر في Chrome وEdge على سطح المكتب واجهة File System Access، فيبثّان الملفات الكبيرة مباشرةً إلى القرص، دون سقف عملي للذاكرة.
- أما Firefox وSafari وجميع متصفحات الهاتف (فكل متصفح على iOS يعمل بـ WebKit) فتفتقر إلى تلك الواجهة وتجمّع الملف في الذاكرة على المسار الفوري، ولذلك يحذّر التطبيق مسبقًا عند تجاوز نحو 256 MB — وهو تقدير متحفّظ عن قصد، لا حدّ مقيس. لملفات بهذا الحجم فضّل Chrome/Edge على سطح المكتب، أو استخدم وضع رابط التنزيل، الذي يمكن لصفحة التنزيل فيه أيضًا الكتابة إلى القرص عبر service worker.
- يتطلب WebRTC سياقًا آمنًا (HTTPS)؛ ولن يتصل التطبيق عبر HTTP العادي.
المصدر المفتوح والإبلاغ عن المشكلات
تصميم البروتوكول وكامل شِفرة العميل والخادم متاحة للعموم على GitHub، بحيث يستطيع أي شخص تدقيق التشفير، أو تشغيل خادمه الخاص، أو المساهمة. وإذا اكتشفت مشكلة أمنية، فيُرجى الإبلاغ عنها بصورة خاصة عبر آلية الإبلاغ عن الثغرات في GitHub على المستودع، بدلًا من فتح مشكلة عامة.