فئات حماية البيانات
عند إنشاء ملف جديد على الأجهزة التي تدعم حماية البيانات، يتم تعيينه إلى فئة بواسطة التطبيق الذي يقوم بإنشائه. وتستخدم كل فئة سياسات مختلفة لتحديد متى يمكن الوصول إلى البيانات. يتوفر وصف للفئات والسياسات الأساسية في الأقسام التالية. علمًا بأن أجهزة كمبيوتر Mac المزودة برقاقات Apple لا تدعم الفئة D: لا توجد حماية، ويتم تحديد حد أمني حول تسجيل الدخول والخروج (لا يتم القفل أو فتح القفل كما هو الحال على iPhone و iPad).
الفئة | نوع الحماية |
---|---|
الفئة A: الحماية الكاملة | NSFileProtectionComplete |
الفئة B: محمية ما لم تُفتح | NSFileProtectionCompleteUnlessOpen |
الفئة C: محمية حتى أول مصادقة من المستخدم ملاحظة: يستخدم macOS مفتاح وحدة تخزين لإعادة إنشاء خصائص حماية خزنة الملفات. | NSFileProtectionCompleteUntilFirstUserAuthentication |
الفئة D: بلا حماية ملاحظة: غير مدعومة على macOS. | NSFileProtectionNone |
الحماية الكاملة
NSFileProtectionComplete: يكون مفتاح الفئة محميًا بمفتاح مشتق من رمز دخول أو كلمة سر المستخدم ومعرف UID للجهاز. وبعد فترة وجيزة من قفل المستخدم للجهاز (10 ثوانٍ، إذا كان إعداد "يلزم إدخال كلمة السر" هو "فورًا")، يتم تجاهل مفتاح الفئة الذي تم فك تشفيره، ما يجعل الوصول إلى جميع البيانات في هذه الفئة غير ممكن حتى يُدخل المستخدم رمز الدخول مرة أخرى أو يفتح قفل الجهاز (يسجل الدخول إليه) باستخدام بصمة الوجه أو بصمة الإصبع.
في macOS، بعد تسجيل خروج المستخدم الأخير بفترة وجيزة، يتم تجاهل مفتاح الفئة الذي تم فك تشفيره، مما يجعل الوصول إلى كل البيانات في هذه الفئة غير ممكن حتى يُدخِل أي مستخدم رمز الدخول مرة أخرى أو يسجّل الدخول إلى الجهاز باستخدام بصمة الإصبع.
محمية ما لم تُفتح
NSFileProtectionCompleteUnlessOpen: قد تكون هناك حاجة إلى كتابة بعض الملفات أثناء قفل الجهاز أو عند تسجيل خروج المستخدم. من الأمثلة الجيدة على ذلك تنزيل مرفق بريد في الخلفية. يتم تحقيق هذا السلوك باستخدام تشفير منحنى القطع الناقص غير المتماثل (ECDH عبر Curve25519). ويكون المفتاح لكل ملف المعتاد محميًا بواسطة مفتاح مشتق باستخدام اتفاقية مفتاح One-Pass Diffie-Hellman كما هو موضح في NIST SP 800-56A.
يتم تخزين المفتاح العام سريع الزوال للاتفاقية إلى جانب المفتاح لكل ملف المغلّف. إن KDF هي وظيفة اشتقاق مفتاح التسلسل (البديل المعتمد 1) كما هو موضح في البند 5.8.1 من NIST SP 800-56A. تم إهمال AlgorithmID. PartyUInfo و PartyVInfo هما المفتاحان العامان سريع الزوال والثابت، على التوالي. ويتم استخدام SHA256 كدالة تجزئة. بمجرد إغلاق الملف، يتم مسح المفتاح لكل ملف من الذاكرة. لفتح الملف مرة أخرى، تتم إعادة إنشاء السر المشترك باستخدام المفتاح الخاص للفئة "محمية ما لم تُفتح" والمفتاح العام سريع الزوال للملف، اللذين يتم استخدامهما لفك تغليف المفتاح لكل ملف الذي يتم استخدامه بعد ذلك لفك تشفير الملف.
في macOS، يمكن الوصول إلى الجزء الخاص بـ NSFileProtectionCompleteUnlessOpen طالما تم تسجيل دخول أي مستخدم على النظام أو تمت المصادقة عليه.
محمية حتى أول مصادقة من المستخدم
NSFileProtectionCompleteUntilFirstUserAuthentication: تتصرف هذه الفئة بنفس طريقة "الحماية الكاملة"، باستثناء أن مفتاح الفئة الذي تم فك تشفيره لا تتم إزالته من الذاكرة عند قفل الجهاز أو تسجيل خروج المستخدم. وتتمتع الحماية في هذه الفئة بخصائص مشابهة لتشفير وحدة التخزين الكاملة لسطح المكتب، وتحمي البيانات من الهجمات التي تنطوي على إعادة تشغيل. هذه هي الفئة الافتراضية لجميع بيانات تطبيقات الجهات الخارجية التي لم يتم تخصيصها بأي بطريقة إلى فئة من فئات حماية البيانات.
في macOS، تستخدم هذه الفئة مفتاح وحدة تخزين يمكن الوصول إليه طالما تم تركيب وحدة التخزين، وتعمل تمامًا مثل خزنة الملفات.
بلا حماية
NSFileProtectionNone: يكون مفتاح الفئة هذا محميًا بمعرف UID فقط، ويتم الاحتفاظ به في التخزين القابل للمسح. نظرًا لأن جميع المفاتيح اللازمة لفك تشفير الملفات في هذه الفئة مخزنة على الجهاز، فإن التشفير لا يتيح إلا ميزة المسح السريع عن بُعد. إذا لم يتم تعيين الملف إلى فئة من فئات حماية البيانات، يظل مُخزنًا في شكل مشفر (كما هو الحال مع جميع البيانات الموجودة على جهاز iOS و iPadOS).
وهذا غير مدعوم في macOS.
ملاحظة: في macOS، بالنسبة لوحدات التخزين التي لا تتوافق مع نظام التشغيل الذي تم تمهيده، يمكن الوصول إلى كل فئات حماية البيانات طالما تم تثبيت وحدة التخزين. وتعد الفئة NSFileProtectionCompleteUntilFirstUserAuthentication فئة حماية البيانات الافتراضية. تتوفر وظيفة المفتاح لكل مدى لكل من Rosetta 2 والتطبيقات الأصلية.