Veri Koruma sınıfları
Veri Koruma’yı destekleyen aygıtlarda yeni bir dosya yaratıldığında, dosyayı yaratan uygulama dosyaya bir sınıf atar. Her sınıf, verilerin ne zaman erişilebilir olacağını belirlemek için farklı politikalar kullanır. Temel sınıflar ve politikalar, sonraki bölümlerde açıklanmıştır. Apple Silicon tabanlı Mac bilgisayarları D: Koruma Yok sınıfını desteklemez; oturum açma ve kapatma sırasında (iPhone ve iPad üzerinde olduğu gibi kilitleme ve kilit açma sırasında değil) bir güvenlik sınırı oluşturulur.
Sınıf | Koruma türü |
---|---|
Sınıf A: Tam Koruma | NSFileProtectionComplete |
Sınıf B: Açık Olmadığı Sürece Korumalı | NSFileProtectionCompleteUnlessOpen |
Sınıf C: İlk Kullanıcı Kimlik Doğrulamasına Kadar Korumalı Not: macOS, FileVault koruma özelliklerini yeniden oluşturmak için bir disk bölümü anahtarı kullanır. | NSFileProtectionCompleteUntilFirstUserAuthentication |
Sınıf D: Koruma Yok Not: macOS’te desteklenmez. | NSFileProtectionNone |
Tam Koruma
NSFileProtectionComplete: Sınıf anahtarı, kullanıcı parolasından ve aygıt UID’sinden türetilen bir anahtarla korunur. Kullanıcı, aygıtı kilitledikten kısa bir süre sonra (Parola Gereksin ayarı Hemen olarak ayarlanmışsa 10 saniye sonra), şifresi çözülmüş sınıf anahtarı silinir ve kullanıcı parolayı yeniden girene ya da Face ID veya Touch ID kullanarak aygıtın kilidini açana (aygıtta oturum açana) kadar bu sınıftaki tüm veriler erişilemez hâle gelir.
macOS’te son kullanıcı oturumu kapatıldıktan kısa bir süre sonra şifresi çözülmüş sınıf anahtarı silinir ve bir kullanıcı parolayı yeniden girene ya da Touch ID’yi kullanarak aygıtta oturum açana kadar bu sınıftaki tüm veriler erişilemez hâle gelir.
Açık Olmadığı Sürece Korumalı
NSFileProtectionCompleteUnlessOpen: Bazı dosyaların aygıt kilitliyken veya kullanıcı oturumu kapalıyken yazılması gerekebilir. Bunun iyi bir örneği, arka planda indirilen bir e‑posta ilişiğidir. Bu davranış, asimetrik eliptik eğri şifreleme (Curve25519 üzerinden ECDH) kullanılarak elde edilir. Klasik dosyaya özel anahtar, NIST SP 800‑56A’da açıklandığı gibi Tek Geçişli Diffie-Hellman Anahtar Anlaşması kullanılarak türetilen bir anahtarla korunur.
Anlaşmaya yönelik kısa ömürlü açık anahtar, dosyaya özel paketlenmiş anahtarla birlikte saklanır. KDF, NIST SP 800‑56A 5.8.1’de anlatıldığı gibi Zincirleme Anahtar Türetme Fonksiyonu’dur (Onaylı Alternatif 1). AlgorithmID atlanır. PartyUInfo ve PartyVInfo, sırasıyla kısa ömürlü ve statik açık anahtardır. Özetleme fonksiyonu olarak SHA256 kullanılır. Dosya kapatılır kapatılmaz dosyaya özel anahtar bellekten silinir. Dosyayı yeniden açmak için, Açık Olmadığı Sürece Korumalı sınıfının gizli anahtarı ve dosyanın kısa ömürlü açık anahtarı (dosyaya özel anahtarın paketini açmak ve daha sonra dosyanın şifresini çözmek için kullanılan) kullanılarak paylaşılan sır yeniden yaratılır.
macOS’te NSFileProtectionCompleteUnlessOpen’ın gizli bölümüne, sistemdeki kullanıcılar oturum açmış veya kimliklerini doğrulamış olduğu sürece erişilebilir.
İlk Kullanıcı Kimlik Doğrulamasına Kadar Korumalı
NSFileProtectionCompleteUntilFirstUserAuthentication: Bu sınıf, Tam Koruma ile aynı şekilde davranır. Tek fark, aygıt kilitlendiğinde veya kullanıcı oturumu kapatıldığında şifresi çözülmüş sınıf anahtarının bellekten silinmemesidir. Bu sınıftaki korumanın masaüstü tüm birimi şifreleme sınıfına benzer özellikleri vardır ve yeniden başlatmayla ilişkili saldırılardan verileri korur. Bu, bir Veri Koruma sınıfına atanmamış tüm üçüncü parti uygulama verileri için saptanmış sınıftır.
macOS’te bu sınıf, disk bölümü bağlı olduğu sürece erişilebilen bir disk bölümü anahtarı kullanır ve tıpkı FileVault gibi davranır.
Koruma Yok
NSFileProtectionNone: Bu sınıf anahtarı, yalnızca UID ile korunur ve Silinebilir Saklama Alanı’nda tutulur. Bu sınıftaki dosyaların şifresini çözmek için gereken tüm anahtarlar aygıtta saklandığından, bu şifreleme yalnızca hızlı uzaktan silme avantajı sağlar. Bir dosyaya Veri Koruma sınıfı atanmış olmasa bile dosya şifreli biçimde saklanır (iOS ve iPadOS aygıtlarındaki tüm veriler gibi).
Bu, macOS’te desteklenmez.
Not: macOS’te, başlatılan işletim sistemine karşılık gelmeyen disk bölümleri için tüm veri koruma sınıflarına disk bölümü bağlı olduğu sürece erişilebilir. Saptanmış veri koruma sınıfı NSFileProtectionCompleteUntilFirstUserAuthentication’dır. Alana özel anahtar işlevi hem Rosetta 2’de hem de yerel uygulamalarda kullanılabilir.