Cryptile

بنية الأمان في Cryptile، طبقةً بعد طبقة

آخر تحديث

يشفّر Cryptile كل ملف وكل صورة مصغّرة وكل فهرس بـ AES-256-GCM، بمفاتيح تُنشأ على هاتفك من النمط الذي ترسمه. لا يوجد حساب ولا خادم، والمطوّر لا يحتفظ بالمفاتيح أبدًا.

احصل على Cryptile من App Store

الملخص المبسّط موجود في صفحة الأمان.

ما الذي أحتاج إلى معرفته؟

  • نمطك مصدر كل مفتاح. لا يُخزَّن شيء مقروء بدونه.
  • الأحجام وعدد الخزن مموَّهة. الملفات مُبطَّنة، والفتحات المموِّهة تُخفي عدد الخزن الموجودة.
  • يمكنك التحقق بنفسك. نواة التشفير منشورة للتدقيق (الشيفرة متاحة للاطلاع) مع نموذج تهديدات ومتجهات اختبار: github.com/jasonbrelsford/cryptile-core.

كيف يصبح النمط مفتاحًا؟

  1. يُكتب النمط على شكل حجم الشبكة متبوعًا بالخلايا التي لمستها، بالترتيب.
  2. يُمزج مع سرّ جهاز بطول 32 بايت محفوظ في سلسلة المفاتيح (Keychain) على iPhone لهذا الجهاز فقط.
  3. تُطبَّق PBKDF2-HMAC-SHA512 عليه 600,000 مرة. وكل تخمين يكلّف هذا القدر من العمل.
  4. تقسم HKDF-SHA256 الناتج إلى مفتاح بحث ومفتاح تغليف.
  5. مفتاح البحث يحدّد اسم ملف فهرس الخزنة. ومفتاح التغليف يفتحه.

داخل الفهرس يوجد المفتاح الرئيسي العشوائي للخزنة بطول 256 بت. تشتق منه HKDF مفاتيح فرعية منفصلة للملفات والصور المصغّرة والفهرس. لا يُستخدم أي مفتاح لغرضين.

كيف تُشفَّر الملفات؟

العناصر الصغيرة، مثل الصور المصغّرة والفهرس، تُختم قطعةً واحدة بـ AES-256-GCM وقيمة nonce عشوائية.

أما الملفات الكبيرة فتستخدم تخطيط STREAM في أجزاء بحجم 1 MB. لكل جزء قيمة nonce خاصة به، ويسجّل موضعه وما إذا كان الأخير. قصّ الأجزاء أو إعادة ترتيبها أو تبديلها يجعل فك التشفير يفشل.

ويوثّق GCM أيضًا كل ترويسة، فيُرفض الملف المعدَّل بدلًا من عرضه.

كيف تُخفى الأحجام وعدد الخزن؟

كل كتلة صغيرة وكل جزء أخير من ملف يُبطَّن إلى مضاعف لـ 64 KiB. يرى من ينسخ الملفات أحجامًا تقريبية، لا دقيقة.

لا توجد قائمة بالخزن. يحتفظ التطبيق بثماني فتحات على الأقل بشكل الفهرس، حقيقية ومموِّهة، ويعيد توليد المموِّهة منها مع كل عملية كتابة. والنمط الذي لا يطابق أي فتحة يفتح خزنة فارغة.

كيف يعمل الاسترداد؟

لكل خزنة عبارة استرداد من 9 كلمات، وهي 96 بت من العشوائية. تفتح نسخة استرداد منفصلة من الخزنة، مختومة بمفتاح مشتق من العبارة.

النسخة الاحتياطية في iCloud تعكس الملفات المشفّرة كما هي. سرّ الجهاز ليس فيها افتراضيًا، لذا لا يمكن استخدام النسخة الاحتياطية وحدها لتخمين الأنماط.

ما المشفّر، وما غير المشفّر؟

المشفّر: الصور ومقاطع الفيديو والملفات والملاحظات والصور المصغّرة والأسماء والمجلدات والمفضّلة والنص المتعرَّف عليه ومواقع الصور. والملف الصغير الذي يتتبّع الفتحات المموِّهة وأعداد الباقة المجانية مختوم بمفتاح خاص بالجهاز.

ما لا يشفّره Cryptile:

  • الإعدادات. مدة القفل التلقائي وترتيب الفرز ومفتاح النسخ الاحتياطي لا تحتوي على أسرار.
  • العناصر المشاركة التي تنتظر الإضافة. تبقى تحت حماية الملفات في iOS حتى تفتح خزنة.
  • الحجم الإجمالي للحاوية وأوقات الكتابة. خزنة بحجم 10 GB لا تبدو كأنها 10 MB.
  • كل ما تصدّره. النسخة المحفوظة في «الصور» أو «الملفات» خارج الخزنة.

مما يحميك هذا؟

  • من ينسخ ملفات التطبيق دون سلسلة المفاتيح لديك. يحصل على نص مشفّر ولا يستطيع تجربة الأنماط.
  • Apple، أو اختراق لدى Apple. يحتفظ iCloud بنص مشفّر ولا يحتفظ بأي مفاتيح.
  • العبث بالبيانات. البيانات المعدَّلة أو المعاد ترتيبها يفشل فك تشفيرها.
  • نحن. لا نشغّل أي خادم ولا نحتفظ بأي مفاتيح، فلا نستطيع إعادة تعيين الوصول.

مما لا يحميك هذا؟

  • الأنماط القصيرة. النمط أضعف من عبارة المرور. مع ملفاتك وسلسلة المفاتيح لديك، يُكسر نمط من 6 خلايا على شبكة 4×4 في دقائق على GPU. استخدم 8 خلايا أو أكثر.
  • البرمجيات الخبيثة على هاتف مفتوح. الشيفرة التي تقرأ الذاكرة أثناء فتح الخزنة خارج قدرة أي تطبيق.
  • من يراقبك وأنت ترسم. ارسم حيث لا يستطيع أحد رؤية يدك.
  • فقدان الهاتف والعبارة. الخزنة ضائعة. لا توجد إعادة تعيين.

نمط الطوارئ في Plus يُتلف سرّ الجهاز، فلا تُفتح أي خزنة على الهاتف حتى تُستعاد.

احصل على Cryptile من App Store