كيف تجعل تطبيق مراسلة آمن حقًا مشابهًا لتطبيق Signal؟
نشرت: 2021-10-05تعد خصوصية وأمان الاتصال عبر الإنترنت من الموضوعات الساخنة هذه الأيام ، وذلك لسبب ما. نظرًا لأننا نعرف كيفية إنشاء تطبيق مشفر ، نود مشاركة تجربتنا وتقديم النصائح في هذه المقالة. سنتحدث عن الوضع الحالي للصناعة وطرق التشفير والمخاطر المحتملة. لتقدير السعر ، قم بالتمرير إلى نهاية المقالة.
ماذا حدث؟
في بداية عام 2021 ، طرح تطبيق WhatsApp ، أشهر تطبيقات المراسلة في العالم ، شروط الخدمة الجديدة الخاصة به. لقد أحدثوا ضجة كبيرة ، جزئياً بسبب الارتباك. بعد ذلك ، اقترح الرئيس التنفيذي لشركة Tesla Elon Musk ، وهو أحد منتقدي Facebook المعروفين (WhatsApp مملوك لشركة Facebook) ، أن يتحول متابعوه على Twitter البالغ عددهم 42.5 مليون إلى Signal ، وهو رسول لم يكن معروفًا في السابق.
استخدم الإشارة
- إيلون ماسك (elonmusk) 7 يناير 2021
في أعقاب هذه التغريدة ، شهدت Signal - بالمناسبة ، نظام التشفير الذي يستخدمه WhatsApp نفسه - زيادة في عدد المستخدمين. كانت هذه الزيادة كبيرة لدرجة أن الخوادم واجهت صعوبة في التأقلم. تمكن مطورو Signal من التعامل مع الموقف ، لكنه أظهر أن الطلب على أنظمة المراسلة الآمنة في ازدياد. الآن ، يريد الجميع معرفة كيفية إنشاء تطبيق مثل Signal. وهو ما يقودنا إلى هذه المقالة.
ماذا يعني أن يكون لديك برنامج مراسلة فورية آمن؟
تستخدم معظم تطبيقات المراسلة الفورية اليوم التشفير التام بين الأطراف. ما هذا؟ فيما يلي رسم تخطيطي لبنية تطبيق الدردشة كمثال:
ببساطة ، يحتوي الرسول النموذجي على ثلاثة أجزاء رئيسية مترابطة:
جهاز المرسل
الخادم
جهاز المستلم
يتم إرسال رسالة من قبل المرسل إلى المستلم عبر الخادم. بدون تشفير ، سيتم إرسال هذه الرسالة كنص عادي ويمكن بالتالي قراءتها من قبل أي شخص لديه إمكانية الوصول إليها في أي وقت على طول الطريق. باستخدام التشفير ، يتم تحويل الرسالة من نص عادي إلى نص مشفر - مشفر بمفتاح - لنقلها ثم إعادة تحويلها (فك تشفيرها) على جهاز المستلم ، باستخدام مفتاح مقترن.
يعني التشفير من طرف إلى طرف أن مفاتيح التشفير مخزنة في النهايات ، أي على أجهزة المستخدمين ، بدلاً من الخادم. هذا يجعله بحيث لا يمكن لأحد قراءة الرسائل باستثناء المرسل والمستقبل . ولا يستطيع حتى مزود الخدمة الذي يمتلك الخادم الوصول إليها. لاختراق هذه الرسائل ، يحتاج المتسلل إلى الوصول إلى أجهزة المستخدمين ، لأن اختراق خادم مزود الخدمة ليس له فائدة تذكر.
تتمثل نقطة الضعف في التشفير من طرف إلى طرف في قابليته لما يسمى بهجوم man-in-the-middle (MITM) . يمكن للقراصنة المهرة في MITM اختراق المفتاح العام المخزن على الخادم وتكوين النظام للتعرف على المتسلل باعتباره المستلم الشرعي ، مما يسمح للمتسلل بالتنصت على محادثة وحتى المشاركة فيها بدلاً من المستلم المقصود.
لمحاربة هجمات MITM ، قام مطورو Signal بترقية التشفير من طرف إلى طرف للبروتوكول الخاص بهم باستخدام خوارزمية Double Ratchet. تنشئ هذه الخوارزمية مفاتيح الجلسة بالإضافة إلى المفاتيح العامة والخاصة التي يتم إنشاؤها عند تثبيت المستخدمين للتطبيق. يتم إنشاء مفاتيح الجلسة لكل رسالة يتم إرسالها ، ويتم تدميرها ذاتيًا عند اكتمال الجلسة (أي عند تلقي الرسالة) ، مما يجعل من المستحيل على المتسلل فك تشفير جميع الرسائل إذا تمكن من الحصول على المفتاح لجلسة واحدة.
يستخدم WhatsApp التشفير من طرف إلى طرف لجميع رسائله. في الواقع ، يستخدم بروتوكول التشفير الخاص بتطبيق Signal. إذن ما هي المشكلة الآن؟
طرق مختلفة للتشفير من طرف إلى طرف
صحيح أن WhatsApp لا يمكنه التطفل على محتويات رسائلك ولا يمكنه الاستماع إلى مكالماتك داخل التطبيق. ومع ذلك ، فإن إصدار بروتوكول تشفير Signal الذي يستخدمه WhatsApp يشفر فقط محتويات الرسائل . هذا يعني أن WhatsApp - وامتدادًا ، Facebook وأي شخص يقرر مشاركة المعلومات معه - يمكنه رؤية من تتحدث إليه ومتى ومن أين. يمكن أن تكشف هذه البيانات الوصفية عن معلومات شخصية للغاية حول جميع المشاركين في المحادثة.
في الوقت نفسه ، يستخدم تطبيق Signal بروتوكولًا محدثًا يشفر البيانات الوصفية أيضًا ، ولا يمكن لأي شخص - ولا حتى مالكي التطبيق - فك تشفيرها دون الوصول المباشر إلى أجهزة المستخدمين .
بالإضافة إلى ذلك ، وفقًا لسياسة خصوصية Signal ، لا يتم تخزين أي بيانات وصفية تقريبًا على خوادمهم بشكل دائم - فقط طالما أن تلقي رسالة ما يستغرقها. ثم يتم حذف كل شيء باستثناء تاريخ آخر تسجيل دخول للمستخدم.
تطبيق المراسلة الوحيد الآخر الذي يقوم بذلك هو Telegram. ومع ذلك ، في Telegram ، يتم تطبيق التشفير من طرف إلى طرف فقط في الوضع السري وليس على جميع الدردشات افتراضيًا. الرسائل العامة غير مشفرة جيدًا على Telegram. على الأقل ترفض Telegram مشاركة هذه المعلومات مع أي شخص ، سواء أكانوا حكومات أم معلنين.
اليوم ، يعد أمان تطبيقات المراسلة موضوعًا ضخمًا - غالبًا ما يُقابل عجز الرسول أو عدم رغبته في مشاركة معلومات المستخدمين مع الحكومات بالقيود والحظر. على سبيل المثال ، تم حظر Telegram في روسيا ، موطن منشئها ؛ حظرت دولة الإمارات العربية المتحدة جميع خدمات VoIP المملوكة غير الحكومية. كاستجابة لذلك ، يطالب الناس في كل مكان بوسائل اتصال أكثر أمانًا ، وينمو سوق تطبيقات المراسلة الآمنة للهاتف المحمول .
فكيف تصنع رسول آمن؟
يستخدم معظم الأشخاص ماسنجر واحدًا على الأقل ، وربما عدة ، ولن تفاجئك مجموعة الميزات الأساسية لتطبيق المراسلة. لذا سنختصر في هذا القسم. فيما يلي جدول ميزات لحل محادثة آمن :
سمات | وصف |
---|---|
على متن الطائرة | قدم تطبيقك بإيجاز ؛ كلما كان أقصر كلما كان ذلك أفضل ، ولكن اجعله مفهومًا. |
اشترك تسجيل الدخول | عادةً ما يكون حساب المراسلة مرتبطًا برقم هاتف. |
ملفات تعريف المستخدم | يخزن ملف التعريف معلومات المستخدم الشخصية وروابط إلى ميزات مهمة مثل جهات الاتصال والإعدادات والأسئلة الشائعة. |
إعدادات | السماح للمستخدمين بضبط برنامج المراسلة لراحتهم. |
إشعارات | في تطبيق المراسلة ، من الضروري أن يكون لديك نظام موثوق للإشعارات الفورية. |
الدردشات النصية | مطلوب تطبيق مراسلة حديث لدعم كل من الدردشات الفردية والمحادثات الجماعية. |
نقل الملف | يحتاج المستخدمون إلى أن يكونوا قادرين على تبادل الرسائل النصية وكذلك مشاركة الصور والمستندات. |
الدردشات الصوتية / المكالمات | ميزة VoIP لا تقل أهمية اليوم عن الرسائل النصية. يتطلب الصوت عالي الجودة اتصالاً مستقرًا حتى مع سرعات الإنترنت البطيئة. |
رسائل التدمير الذاتي | حتى مع بروتوكول Signal ، إذا حصل شخص ما على هاتف مستخدم ، فيمكنه رؤية جميع الرسائل السابقة ما لم يحذفها المستخدمون. يمكنك إضافة خيار للمستخدمين لضبط مؤقت لتدمير الرسائل و / أو ملفات الوسائط. |
مزامنة | يمتلك معظم الأشخاص أكثر من جهاز مثبت عليه تطبيقات اتصال. لكي يتمكن المستخدمون من التبديل بسلاسة بين الأجهزة على النحو الذي يرونه مناسبًا ، ستحتاج إلى توفير ميزة مزامنة. |
مصادقة من خطوتين | لحماية بيانات المستخدمين بشكل أفضل في حالة سرقة الجهاز ، قم بتقديم مصادقة من خطوتين عبر بصمة الإصبع أو كلمة المرور أو الرمز السري أو رمز التحقق أو الرابط. |
إذا كنت ترغب في إنشاء تطبيق مراسلة من نظير إلى نظير يتميز عن الآخرين ، ففكر في الميزات التالية:
ملصقات وصور GIF. يقوم كل برنامج مراسلة آخر اليوم بدمج خدمة GIF الشهيرة Giphy في واجهته لاستكمال الرموز. أصبحت الملصقات شائعة عندما بدأ Telegram في تقديمها مجانًا (على عكس Viber ، على سبيل المثال ، حيث تكون بعض الملصقات فقط مجانية).
محادثات سرية / خاصة. سواء أكنت تقوم بتشفير البيانات الوصفية للمستخدمين أم لا ، في واقع اليوم العاصف ، فقد تصبح نقطة بيع تطبيقك أن تختفي الدردشات أو يمكن قفلها. على سبيل المثال ، يقدم Telegram محادثات سرية تختفي تلقائيًا إذا قمت بتسجيل الخروج من Telegram على جهازك. لا يتم تخزين هذه الدردشات على خوادم Telegram السحابية وبالتالي لا يمكن نسخها احتياطيًا أو مزامنتها حتى إذا قمت بتسجيل الدخول على أكثر من جهاز واحد.
دردشة فيديو. في عام 2020 ، مع وجود عدد هائل من الأشخاص الذين أجبروا على العمل عن بُعد بسبب الوباء ، شهدت أدوات مؤتمرات الفيديو زيادة هائلة في الشعبية. وقد أعرب الكثيرون عن أسفهم لعدم وجود مكالمات فيديو - مكالمات فردية وجماعية - في برامج المراسلة الشائعة الحالية. إنها ليست بأي حال من الأحوال ميزة لا بد منها ، لكنها بالتأكيد ستحظى بشعبية كبيرة بين المستخدمين.
كيفية تأمين تطبيق المراسلة
النهاية الخلفية هي المكان الذي يحدث فيه السحر في الرسل. متخصصو الواجهة الخلفية مسؤولون عن أمان وموثوقية تطبيق الدردشة الخاص بك ، لأنهم هم الذين يعرفون كيفية تشفير الرسائل.
هناك عدة طرق لتنفيذ التشفير من طرف إلى طرف وجعل تطبيق الاتصال آمنًا . عادة ، يتم تخزين الرسائل المشفرة على خوادم ماسنجر - تعد الخوادم السحابية أكثر أمانًا وبالتالي يوصى بها لهذا الغرض - ولا تتوفر مفاتيح فك التشفير إلا من أجهزة المستخدمين لتجنب اختراق البيانات في حالة اختراق الخوادم.
من الممكن أيضًا التخلي عن تخزين الرسائل على خوادمك تمامًا وتخزينها على أجهزة المستخدمين. ولكن هذا يعني أن المستخدمين لن يتمكنوا من استعادة سجل رسائلهم في حالة فقد الأجهزة التي قاموا بتسجيل الدخول عليها أو قاموا بحذف التطبيق. سيكون من المستحيل أيضًا مزامنة الرسائل بين الأجهزة.
لإنشاء تطبيق مراسلة آمن مثل Signal ، يمكنك بالفعل استخدام واجهة برمجة تطبيقات المراسلة المشفرة من Signal نفسها . يعتبر بروتوكول التشفير مفتوح المصدر الخاص بـ Signal هو الأكثر شيوعًا بين المطورين الذين يقومون ببناء برامج المراسلة ، حيث تتم مراجعته وتدقيقه باستمرار من قبل الأقران. اعتبارًا من وقت كتابة هذا التقرير ، يستخدم الرسل التاليون بروتوكول Signal لتشفير محتويات رسائلهم:
- ال WhatsApp
- Facebook Messenger (المحادثات السرية فقط)
- سكايب (المحادثات الخاصة فقط)
- رسائل Google لنظام Android (SMS)
تستخدم Telegram خوارزمية خاصة بها تعتمد على تشفير AES متماثل 256 بت تسمى MTProto للمحادثات السرية. هذه الخوارزمية مغلقة المصدر ، على الرغم من ذلك ، تم انتقاد Telegram على نطاق واسع.
تكلفة إنشاء تطبيق مراسلة آمن
تعتمد تكلفة إنشاء أي تطبيق بشكل كبير على الوقت المطلوب للتطوير . بقدر ما يذهب عدد الميزات ، لا يبدو الرسل معقدًا للغاية ؛ ومع ذلك ، يمكن أن يستغرق إنشاء الواجهة الخلفية وحدها لتطبيق مراسلة مشفر جيدًا حوالي 520 ساعة .
خيارات لغة البرمجة المعتادة للواجهة الخلفية للرسول هي Elixir أو Erlang - Ruby on Rails ليست خيارًا جيدًا لكمية كبيرة من البيانات في شكل رسائل نصية ووسائط ومكالمات صوتية / مرئية. يستخدم WhatsApp Erlang ، بينما يستخدم Elixir بواسطة Discord.
في Mind Studios ، قمنا بتطوير تطبيق messenger بنهاية خلفية تعتمد على Elixir. ومع ذلك ، فإن Elixir نفسه يعتمد على Erlang مع خلط بعض Ruby ، لذلك يمكن لمطور Elixir ذو الخبرة كتابة الكود في Erlang أيضًا.
إليك الوقت اللازم لتطوير تطبيق مراسلة آمن :
تحليل الأعمال وإنشاء المواصفات - 96+ ساعة
تصميم UI / UX - أكثر من 168 ساعة
تطبيق iOS للجوال من جانب العميل - أكثر من 450 ساعة لـ MVP مع أهم الميزات
تطوير الواجهة الخلفية - أكثر من 520 ساعة
اختبار تطبيقات iOS - ~ 240 ساعة
يستغرق تطوير Android وقتًا أقل قليلاً من تطوير iOS ، لكن الاختبار يستغرق وقتًا أطول نظرًا لتنوع الأجهزة.
مع تقدير الوقت الصعب هذا ، ستبدأ تكلفة إنشاء تطبيق دردشة آمن حقًا من 51،590 دولارًا وسترتفع بميزات إضافية.
استنتاج
تعتبر برامج المراسلة الآمنة مهمة بشكل استثنائي ، والطلب عليها مرتفع اليوم وسيزداد غدًا. لكن المنافسة كذلك. لا تستطيع كل شركة إنشاء تطبيقات مراسلة مشفرة. لتطوير تطبيق مراسلة فورية آمن مثل Signal ، ستحتاج إلى مطورين ذوي خبرة في هذا المجال .
ستحتاج أيضًا إلى مواكبة رواد الصناعة عندما يتعلق الأمر بالتصميم. تطبيق Signal بسيط ولا يشتهر بحدسه ، ولكنه يفوز على المستخدمين الذين يهتمون بخصوصياتهم أكثر من اهتمامهم بالأجراس والصفارات. من ناحية أخرى ، يبدو كل من WhatsApp و Telegram رائعًا وبديهيًا بشكل استثنائي بالإضافة إلى كونهما آمنين (على الرغم من أن أمانهما قد لا يكون على نفس مستوى Signal ، إلا أنه لا يزال مثيرًا للإعجاب). لكي تتألق بشكل مشرق في هذا المجال ، يجب أن يكون تطبيقك المخصص آمنًا وسهل الاستخدام . تحقيق التوازن بين هذه المتطلبات ليس بالأمر الهين. لكن مع الفريق المناسب ، هذا ممكن.