Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

iOSのFileProtection

2,100 views

Published on

iOSのFileProtection

Published in: Technology
  • Be the first to comment

iOSのFileProtection

  1. 1. iOSのFileProtection 2015.05.20 ふじしげ ゆういち @nakiwo
  2. 2. 今日のテーマ •iOSのFileProtection
  3. 3. File Protection •iOSに搭載されているファイル保護の仕 組み
  4. 4. •ファイルの属性として設定 •保護されたファイルは、
 パスコードロック時にアクセス不可能 になる。 •パスコードを知らない第三者にファイ ルを見られる事を防ぐ事ができる。
  5. 5. •ファイルシステム上の全ファイルは、
 常にハードウェアにより暗号化されて いる。 •暗号化キーを捨てるだけ高速にディス クをクリアできる。
  6. 6. •ファイル保護属性無し
 =暗号化キーがアンロックされっぱなし •ファイル保護属性有り
 =暗号化キーがロックされる
  7. 7. NSFileProtectionKey NSFileProtectionNone NSFileProtectionComplete NSFileProtectionCompleteUnlessOpen NSFileProtectionCompleteUntilFirstUserAuthentication NSFileManager - (BOOL)setAttributes:(NSDictionary *)attributes ofItemAtPath:(NSString *)path error:(NSError **)error;
  8. 8. NSDataWritingOptions NSDataWritingFileProtectionNone NSDataWritingFileProtectionComplete NSDataWritingFileProtectionCompleteUnlessOpen NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication NSData - (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)writeOptionsMask error:(NSError **)errorPtr;
  9. 9. •NSFileProtectionNone
 ファイル保護無し •NSFileProtectionComplete
 パスコードロックされるとファイルア クセス不能
  10. 10. •NSFileProtectionCompleteUnlessOpen
 Completeと同じ。
 ただし、ファイルオープン中にパスコード ロックがかかった場合に限り、ファイルク ローズまではアクセス可能。
  11. 11. •NSFileProtectionComplete
 UntilFirstUserAuthentication
 電源投入∼最初のパスコード解除までは Completeと同じ。
 その後はNoneと同じ。
  12. 12. •NSFileProtectionKey未指定の場合、 NSFileProtectionComplete
 UntilFirstUserAuthentication
 がデフォルト(iOS 7以後) •iOS 6以前はNoneがデフォルト。
  13. 13. • com.apple.developer.default-data-protection
 entitlement でデフォルト値を変更可能
  14. 14. ディレクトリに対してファイル 保護属性を付けたらどうなる?
  15. 15. •ドキュメントに記載なし •実際の挙動から見てみると…
  16. 16. •ディレクトリ自体には何も変化無し。 •ディレクトリ以下で新規作成したファ イルのデフォルト保護属性が、ディレ クトリの保護属性と同じになる。 •しかし…
  17. 17. •ディレクトリ外から移動やコピーしてくる と元の属性を引き継ぐ様子。
 (利用するAPIによって挙動が違う…) •あくまでディレクトリの属性がデフォルト 値になるだけで、明示的に属性を指定する 事で別の設定にする事が可能。
 自分で作っていないファイルの保護属性は 要確認。(OSSを使うとき等)
  18. 18. おわり

×