التشفير عديم المعرفة، مشروحاً بلا تسويق
ما الذي يعنيه «عديم المعرفة» فعلاً في مدير كلمات المرور، وأي الضمانات يقدّمها وأيها لا، وكيف تميّز الادعاء الحقيقي من الشعار.
اقرأ المقال
كلمات مرورك. خزنتك. خصوصيتك.
مدير كلمات مرور يركّز على الخصوصية لأندرويد وسطح المكتب وiOS، مبني على Kotlin Multiplatform بخزنة تعمل دون اتصال أولاً.
نظرة عامة
NexusPass مدير كلمات مرور لمن يفضّلون ألّا يسلّموا بيانات دخولهم إلى خدمة مضطرين للوثوق بها. الخزنة ملف على جهازك أنت. لا حساب يُنشأ، ولا شيء تسجّل الدخول إليه، ولا خادم يحتفظ بنسخة من بياناتك.
بُني التطبيق كقاعدة شيفرة واحدة بـ Kotlin Multiplatform تستهدف أندرويد وسطح المكتب وiOS. هذا ليس ترفاً تقنياً: معناه أن أهم الأجزاء — تلك التي تقرّر كيف تُفتح الخزنة وما الذي يبقى في الذاكرة أثناء فتحها — موجودة في مكان واحد بالضبط وتُراجَع مرة واحدة.
الحالة: قيد التطوير النشط. لم يصدر NexusPass للعامة بعد. تصف هذه الصفحات كيف صُمِّم وبُني، وستُحدَّث بروابط المتاجر والتفاصيل المؤكَّدة عند الإصدار.
المشكلة
يصل معظم الناس إلى مدير كلمات المرور لأن أحداً نصحهم بذلك. وما يجدونه عادةً إحدى خيبتين.
الأولى هي التعقيد. مديرو كلمات المرور المخصّصون للمؤسسات يحملون معهم المنظمات والسياسات وتسلسلات المشاركة ولوحات الإدارة. ومن يريد فقط التوقّف عن إعادة استخدام كلمة المرور نفسها في ثلاثين موقعاً عليه أن يمرّ بكل ذلك.
والثانية هي الحساب. التسجيل قبل حفظ كلمة مرور واحدة خطوة أولى غريبة لمنتج جوهره كلّه السرّية. كما أنه يغيّر السؤال بهدوء: بدل هل خزنتي آمنة؟ يصبح هل أثق بهذه الشركة، واستضافتها، وموظفيها، وكل من سيستحوذ عليها لاحقاً؟
وهناك مشكلة ثالثة تنال اهتماماً أقل: التطبيق الثاني. حفظ الرموز لمرة واحدة في مكان آخر يجعل كل عملية تسجيل دخول تنقّلاً بين تطبيقين، ويجعل رموز استعادة ذلك التطبيق الثاني تنتهي في مكان غير مدروس.
الحل
يعالج NexusPass هذه المشكلات الثلاث مباشرة.
لا حساب. تُنشأ الخزنة محلياً وتُفتح محلياً. لا شيء للتسجيل ولا بيانات اعتماد يمكن أن تُفقد.
مكان واحد لعملية الدخول كاملة. كلمات المرور ورموز TOTP الخاصة بها على المدخل نفسه، فيصبح تسجيل الدخول شاشة واحدة بدل قفزة بين تطبيقين.
خزائن منفصلة بدل خزنة واحدة كبيرة. يمكن فصل بيانات الدخول الشخصية والعملية والمشتركة، فلا يعرض فتح واحدة كل شيء دفعة واحدة.
التطبيق نفسه في كل مكان. يعمل أندرويد وسطح المكتب وiOS على الشيفرة المشتركة نفسها، فما تتعلّمه على جهاز لا تعيد تعلّمه على الآخر.
توزيع بيانات الدخول على خزائن منفصلة — شخصية وعملية ومشتركة — حتى لا يكشف فتح خزنة واحدة كل شيء دفعة واحدة.
أسماء المستخدمين وكلمات المرور والروابط والملاحظات وحقول مخصّصة، مع مولّد لبيانات دخول جديدة.
رموز لمرة واحدة مبنية على الوقت، محفوظة بجانب بيانات الدخول التي تخصّها — فيصبح تسجيل الدخول شاشة واحدة بدل تطبيقين.
تعرّف على آلية العملقوالب قابلة لإعادة الاستخدام للبطاقات والهويات والملاحظات وبيانات الدخول، فلا تُبنى الحقول نفسها يدوياً في كل مرة.
الفتح عبر بصمة الجهاز بعد فتح الخزنة مرة واحدة بكلمة المرور الرئيسية.
العثور على مدخل بالاسم أو اسم المستخدم أو الرابط أو الوسم دون تمرير قائمة طويلة.
حفظ رموز الاستعادة وملفات المفاتيح بجانب المدخل الذي تخصّه، داخل الخزنة المشفَّرة.
تُقفل الخزنة بعد مهلة زمنية وعند انتقال التطبيق إلى الخلفية.
تبقى الأسرار مخفية حتى تُطلب، ويُحجب محتوى التطبيق عن شاشة تبديل المهام في النظام.
التصميم وتجربة المستخدم
يُستخدم مدير كلمات المرور على عجل، غالباً بينما ينتظر شيء آخر. وهذا يشكّل معظم قرارات التصميم.
قراءة السرّ فعل مقصود. تبقى القيم مخفية حتى تطلبها، ويُحجب محتوى التطبيق عن شاشة تبديل المهام، فلا تلتقط نظرة من فوق الكتف أو تسجيل للشاشة محتوى خزنة.
القفل تلقائي. تُقفل الخزنة بعد مهلة وعند انتقال التطبيق إلى الخلفية. لا توجد حالة يبقى فيها جهاز غير مراقَب مفتوحاً.
البحث قبل التسلسل. معظم الجلسات هي «اعثر على هذا المدخل»، لذا البحث هو أسرع طريق، والمجلدات موجودة للحالات الأخرى.
نظام تصميم واحد عبر المنصات. لأن الواجهة مبنية بـ Compose Multiplatform، فنسخة سطح المكتب ليست نقلاً من الدرجة الثانية، بل المكوّنات نفسها موزَّعة على نافذة أكبر.
قاعدة شيفرة واحدة بـ Kotlin Multiplatform وطبقة نطاق مشتركة. لا تختلف بين المنصات سوى أرقّ طبقة ممكنة، ما يبقي المنطق الحسّاس أمنياً مكتوباً مرة واحدة.
شاشات Compose Multiplatform مشتركة بين أندرويد وسطح المكتب وiOS.
يحمل حالة الشاشة ويعرضها كتدفقات قابلة للمراقبة. لا تعبر أنواع المنصة هذا الحد.
صنف واحد لكل إجراء مرئي للمستخدم، فتصبح قواعد العمل قابلة للاختبار دون واجهة أو قاعدة بيانات.
المدخل الوحيد إلى البيانات المخزَّنة، يُخفي ما إذا كانت القيمة من الذاكرة أم من القرص.
التخزين المحلي والحد التشفيري. لا تغادر الأسرار بصيغتها الواضحة هذه الطبقة.
الخزنة موجودة على الجهاز. لا حساب يُنشأ ولا خادم يحتفظ بنسخة.
ملف الخزنة مشفَّر على القرص، والتطبيق يتعامل مع البيانات المفكوكة في الذاكرة فقط أثناء الفتح.
مفاتيح الفتح محفوظة في Android Keystore وiOS Keychain بدل كتابتها في تخزين التطبيق.
قفل تلقائي بمهلة زمنية وعند الانتقال إلى الخلفية، فلا يبقى جهاز غير مراقَب مفتوحاً.
تحديد ما ينبغي ألّا يفعله مدير كلمات المرور: لا حساب، ولا مزامنة إجبارية، ولا عروض ترقية.
اختيار Kotlin Multiplatform ليُكتب المنطق الحسّاس أمنياً ويُراجَع مرة واحدة.
تعرّف على آلية العملبناء مجموعة المكوّنات المشتركة قبل الشاشات، لتبدو كل واجهة متسقة.
تحديد مكان المفاتيح، ومتى تُفتح الخزنة، وما الموجود في الذاكرة في كل لحظة.
تعرّف على آلية العملتشغيل هدفَي سطح المكتب وiOS على الشيفرة المشتركة نفسها المستخدمة لأندرويد.
اختبارات وحدة حول الحد التشفيري والمستودع، واختبارات واجهة لمسار الفتح.
التحزيم ومراجعة المتجر وأول إصدار عام.
الملاحظات على المشاريع وتقارير الأخطاء والاقتراحات مرحَّب بها دائماً.