الإنكار المعقول في التطبيقات: ما هو ولماذا يهم

الإنكار المعقول في التطبيقات: ما هو ولماذا يهم

الإنكار المعقول يعني أن وجود البيانات المخفية لا يمكن إثباته.


الإنكار المعقول في التشفير خاصية تخزين تتيح للمستخدم كشف مجموعة بيانات واحدة دون ترك أثر بنيوي يثبت وجود مجموعة أخرى. يجب أن يحدد الادعاء نموذج التهديد الخاص به: فاللقطة الثابتة لمخزن مشفر مبطّن تبطينًا صحيحًا تختلف عن جهاز حي مخترق أو بيانات الخدمة السحابية الوصفية أو نسخ موجودة في مكان آخر. هذا أكثر من ميزة إخفاء؛ فهو يعتمد على عمل التشفير والتخطيط والتبطين والتصميم التشغيلي معًا.

يشرح هذا الدليل كيف يعمل الإنكار المعقول في التطبيقات، والفرق بين الإنكار التشفيري الحقيقي وأوضاع الإخفاء الشكلية، والسيناريوهات الواقعية التي يهم فيها، وكيفية تقييم ادعاءات الإنكار.

ما يعنيه الإنكار المعقول في التشفير

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

نشأ المفهوم في تشفير القرص. ريادة TrueCrypt (وخلفه VeraCrypt) في الحجم المخفي: حجم مشفّر داخل حجم مشفّر آخر. كلمة مرور تكشف عن الحجم الخارجي بملفات غير حساسة. كلمة مرور مختلفة تكشف عن الحجم الداخلي المخفي بملفات حساسة. لا يستطيع المحقق الجنائي تحديد ما إذا كان حجم مخفي موجوداً لأن المساحة غير المستخدمة في الحجم الخارجي مملوءة ببيانات عشوائية غير قابلة للتمييز من البيانات المشفّرة.

بالنسبة للتطبيقات، الإنكار المعقول يعني أن بيانات اعتماد مختلفة (كلمات مرور أو أرقام PIN أو أنماط) تفتح مجموعات بيانات مختلفة، وأنه لا توجد بيانات وصفية أو سجل أو علامة تهيئة أو أثر هيكلي يكشف عن وجود مجموعات بيانات إضافية.

الإنكار الحقيقي مقابل أوضاع الإخفاء الشكلية

هذا هو التمييز الحاسم الذي تُخطئه معظم التطبيقات.

وضع الإخفاء الشكلي (ليس إنكاراً حقيقياً)

كثير من تطبيقات الخزنة تُقدّم ميزة "إخفاء" أو "PIN مزيّف". تُعيّن رقم PIN ثانوياً يفتح مساحة منفصلة بصور مختلفة. المشكلة: عادةً ما تُخزّن هذه التطبيقات علامة منطقية أو إدخال في قاعدة بيانات أو ملف تهيئة يُشير إلى أن وضع الإخفاء موجود ومُهيَّأ.

محقق جنائي يفهم التطبيق يستطيع إيجاد هذه العلامة. إيجاد وضع إخفاء مُهيَّأ يُثبت وجود بيانات مخفية. الإنكار شكلي — يعمل ضد المتلصص العرضي لكن يفشل تحت الفحص الجنائي.

علامات الإنكار الشكلي:

  • التطبيق له مفتاح تبديل "وضع الإخفاء" في الإعدادات
  • ملف تهيئة يُخزّن ما إذا كان وضع الإخفاء مُفعَّلاً
  • جدول في قاعدة البيانات يُدرج معرّفات الخزنة مع مؤشرات النوع (رئيسي/إخفاء)
  • بنية تخزين التطبيق تتغير عند تشغيل وضع الإخفاء
  • إلغاء التثبيت وإعادة التثبيت يكشف سلوكاً مختلفاً عند تهيئة وضع الإخفاء

الإنكار التشفيري الحقيقي

الإنكار الحقيقي هو خاصية معمارية، وليس مفتاح ميزة. يجب أن يُصمَّم التخزين المشفّر بحيث:

  1. تكشف بيانات الاعتماد البديلة فقط عن مجموعة البيانات الخاصة بها. لا يحتفظ النظام بعلامة خادعة منفصلة تحدد بيانات اعتماد واحدة على أنها تمويه. من الممكن أن تفشل بيانات الاعتماد غير الصالحة، ولكن هذا الفشل يجب ألا يكشف عن وجود مجموعة بيانات غير معلنة.

  2. لا يوجد سجل للخزنات. التطبيق لا يستطيع تعداد عدد الخزنات الموجودة. لا يوجد عدد، ولا فهرس، ولا قائمة بمعرّفات الخزنات. محقق جنائي يفحص تخزين التطبيق يجد مجموعة غير منقّحة من البيانات المشفّرة.

  3. لا توجد علامات تهيئة تكشف عن الخزنات المخفية. لا يوجد قيمة منطقية، ولا إدخال في قاعدة البيانات، ولا ملف تفضيلات يُشير إلى عدد الخزنات الموجودة أو ما إذا كان قد تمّ استخدام نمط معين.

  4. التخزين مُحشو. الحجم الإجمالي للتخزين المستهلَك لا يتغيّر بناءً على عدد الخزنات أو الملفات. بدون الحشو، يمكن للمحقق تقدير عدد الخزنات من حجم البيانات المشفّرة الإجمالي مقارنةً بالمحتوى المرئي.

  5. البيانات المشفّرة غير قابلة للتمييز من الضوضاء العشوائية. لا توجد حدود للملفات، ولا رؤوس، ولا علامات هيكلية تكشف عن انتهاء بيانات خزنة وبداية أخرى.

الخاصية إخفاء شكلي إنكار حقيقي
بيانات منفصلة لكل بيانات اعتماد نعم نعم
لا سجل للخزنات لا (قاعدة البيانات تتتبع الخزنات) نعم
لا علامات تهيئة لا (مفتاح الإخفاء مخزّن) نعم
حشو التخزين نادراً نعم
يخفي التخزين البديل في صورة ثابتة لا نعم، ضمن نموذج تهديد التخزين المعلن
معماري مقابل كميزة مفتاح ميزة خاصية معمارية

السيناريوهات الواقعية التي يهم فيها هذا

الإنكار المعقول ليس مصدر قلق نظري. يتناول مواقف واقعية موثّقة ومتكررة.

عبور الحدود

عند المعبر الحدودي، قد يفحص الفاحص الجهاز ويطلب بيانات الاعتماد. لو وفّر التصميم إنكارًا حقيقيًا على مستوى التخزين، لاستطاعت بيانات اعتماد واحدة كشف مجموعة بيانات بريئة بينما تخلو اللقطة الثابتة من أي علامة بنيوية تميّز المحتوى المخفي عن التبطين. لا يوفر تخطيط Vaultaire الحالي، بمجلد تخزين واحد لكل خزنة، هذا الضمان أمام فاحص يصل إلى حاوية التطبيق.

العنف المنزلي والعلاقات القسرية

شخص في علاقة مسيئة قد يحتاج إلى تخزين أدلة (صور إصابات، رسائل تهديد، وثائق قانونية) على جهاز يراقبه المسيء. إذا طلب المسيء رؤية الخزنة، يستطيع المستخدم فتح خزنة تحتوي على محتوى غير حساس. بدون إنكار حقيقي، ستكشف علامة "وضع الإخفاء" في تهيئة التطبيق عن وجود محتوى مخفي.

سرقة الجهاز

قد يحاول لص ماهر تقنيًا استخراج البيانات من هاتف مسروق. يهدف المخزن القابل للإنكار المبطّن تبطينًا صحيحًا إلى إخفاء عدد مجموعات البيانات التي تشغل المساحة المشتركة، مع أن التخصيص الإجمالي وحالة الجهاز والنسخ الاحتياطية والآثار التشغيلية تبقى ضمن نموذج التهديد. يشفّر Vaultaire حاليًا المحتويات، لكنه يكشف فهرسًا محليًا واحدًا قابلًا للعدّ لكل خزنة مُعَدّة.

الحماية القانونية والصحفية

الصحفيون الذين يحمون مصادرهم، والمحامون الذين يحمون ملفات موكليهم، والناشطون في الأنظمة الاستبدادية يواجهون سيناريوهات حيث يمكن إكراههم على الكشف عن محتويات الجهاز. يُوفّر الإنكار الحقيقي دفاعاً موثوقاً ضد مصادرة البيانات.

ما ينفّذه Vaultaire اليوم

ينفّذ Vaultaire وصولًا مفصولًا بالأنماط وواجهة عادية دون قائمة خزائن مرئية. تساعد هذه الخصائص أثناء الاستخدام العادي للتطبيق، لكنها لا تلبي كل متطلبات قائمة التحقق من الإنكار الحقيقي أعلاه.

تفتح الأنماط المُعَدّة خزائن مشفرة منفصلة. تشتق PBKDF2 مفتاح خزنة من النمط وقيمة salt على مستوى الجهاز. يوثّق المفتاح المُعَدّ فهرسه المشفر ويفك تغليف مفتاح رئيسي عشوائي. ويعرض النمط غير المُعَدّ حالة فارغة بدل رسالة "نمط غير صحيح".

التنسيق المحلي قابل للعدّ. يخزّن Vaultaire ملف vault_index_<fingerprint>.bin واحدًا لكل خزنة. لا تكشف البصمة النمط ولا اسم الخزنة، لكن من يصل إلى حاوية التطبيق يستطيع عدّ ملفات الفهرس. وتوفر مصادقة AES-GCM واسم الملف الحتمي أيضًا اختبارًا دون اتصال لمفاتيح الخزنة المرشحة.

التخزين المحلي ليس ثابت الحجم. يُشفَّر محتوى الملفات والبيانات الوصفية، وتستخدم أجزاء النسخ الاحتياطي السحابي تبطين الحجم وسجلات تمويه. لا تحجز حاوية التطبيق المحلية مجموعة ثابتة من خانات الخزائن الحقيقية والوهمية، لذلك يستطيع إجمالي التخزين وعدد الفهارس كشف البنية.

حالة الاسترداد والإكراه موجودة. يحتفظ Vaultaire بمعلومات الاسترداد في قاعدة بيانات Keychain مشفرة بـ AES-GCM. يزيل وضع الإكراه الفهارس المحلية وارتباطات الاسترداد للخزائن غير المخصصة للإكراه ويعزل هذا الجهاز عن المزامنة. ولا يمسح النسخ الاحتياطية السحابية أو النسخ على الأجهزة النظيرة أو كل كائن ثنائي مشفر مشترك، ويعتمد وقت الإكمال على العمل المحلي المطلوب.

لذلك يوفر Vaultaire تقسيمًا للواجهة وتخزينًا مشفرًا، لا دليلًا نظريًا معلوماتيًا على غياب خزنة إضافية. لإخفاء عدد الخزائن المحلية عن لقطة غير متصلة لحاوية التطبيق، سيلزم مستقبلًا فهرس بسعة ثابتة وخانات حقيقية ووهمية لا يمكن تمييزها.

كيفية تقييم ادعاءات الإنكار

عندما يدّعي تطبيق الإنكار المعقول، اسأل:

  1. هل يوجد مفتاح تبديل "وضع الإخفاء"؟ إذا نعم، فهو شكلي. محقق جنائي يمكنه إيجاد مفتاح التبديل.
  2. هل التطبيق يمتلك قائمة خزنات أو قاعدة بيانات؟ إذا نعم، وجود الخزنات قابل للإثبات.
  3. هل يمكن التحقق من التخمينات دون الاتصال بالإنترنت؟ يمكن للنص المشفر الذي تمت مصادقته التحقق من صحة المفتاح المرشح دون تجزئة كلمة المرور المنفصلة. اسأل ما الذي يحد من تكلفة التخمين وما إذا كان تخطيط التخزين يوفر أي بصمة مفاتيح أرخص.
  4. هل يتغيّر استهلاك التخزين مع عدد الخزنات؟ إذا نعم، يمكن لتحليل القرص تقدير عدد الخزنات.
  5. هل يستطيع التطبيق تعداد الخزنات؟ إذا كان التطبيق يستطيع إظهار قائمة بخزناتك، فتلك القائمة موجودة على الجهاز وقابلة للاكتشاف.

الأسئلة الشائعة

هل الإنكار المعقول قانوني؟

استخدام التشفير مع الإنكار المعقول قانوني في معظم الديمقراطيات. لا يوجد قانون ضد امتلاك بيانات مشفّرة على جهازك لا يمكن إثبات وجودها. في بعض الولايات القضائية (المملكة المتحدة بموجب RIPA، وأستراليا بموجب قانون المساعدة والوصول)، يمكن للسلطات إكراه الكشف عن مفاتيح التشفير. السؤال القانوني هو ما إذا كان إكراه الكشف عن مفتاح لبيانات لا يمكن إثبات وجودها قابلاً للتطبيق. هذا لا يزال مجالاً قانونياً متطوّراً.

هل يمكن للأدوات الجنائية اكتشاف الإنكار المعقول؟

يستطيع فاحص يحصل على حاوية تطبيق Vaultaire اكتشاف التخزين المشفر وعدّ مجلدات التخزين لكل خزنة. تأتي ملفات vault_index_*.bin في الجذر ضمن مجموعة من 64 مع ملفات تمويه، لكن المجلدات تكشف أيها حقيقي. لا تكشف الملفات أسماء الخزائن ولا المحتويات الصريحة، لكن عددها يكشف عدد الفهارس المحلية المشفرة. لذلك يخفي التصميم الحالي الخزائن عن التصفح العادي، لا عن كل فحص جنائي للتخزين.

هل يعمل الإنكار المعقول ضد دولة قومية متعزّمة؟

يوفر AES-256-GCM حدًّا قويًا لسرّية المحتوى عندما تكون المفاتيح وقيم nonce والتنفيذ سليمة. لكن ذلك لا يجعل تخطيط تخزين Vaultaire الحالي قابلًا للإنكار أمام فاحص تابع لدولة: يبقى عدد الفهارس المحلية مرئيًا، ويستطيع الاختراق الحي استهداف الأنماط أو المفاتيح أو المعاينات أو الملفات المصدَّرة أثناء فتح الخزنة. تفصل الميزة الحالية بين الأنماط المختلفة في الواجهة؛ ولا تعد بأن الفاحص المصمم لن يستطيع إثبات وجود فهارس محلية إضافية.

ما الفرق بين الإنكار المعقول والخزنات المخفية؟

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

هل يمكنني استخدام الإنكار المعقول مع النسخ الاحتياطية السحابية؟

يكتب Vaultaire بيانات النسخ الاحتياطي المشفرة وأجزاء الملفات المشفرة المبطّنة إلى قاعدة بيانات CloudKit الخاصة بالمستخدم. تقلّل أسماء السجلات العشوائية وأنواع السجلات الموحّدة وتبطين الأجزاء إلى 10 ميجابايت وسجلات التمويه الكشف المباشر عن المحتوى. ويبقى عدد السجلات والحجم الإجمالي والتوقيت وأنماط التحديث بيانات وصفية مرئية للخدمة، لذلك لا ينشئ النسخ الاحتياطي السحابي مخزنًا ثابت الحجم قابلًا للإنكار نظريًا.

الخلاصة

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

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