簡體   English   中英

iOS沙箱-保護文檔目錄中的數據

[英]iOS Sandbox - Securing the data in Documents directory

我想下載一些文件並將其存儲在沙箱中。 但是,它們必須始終保持安全(即加密)。 現在,我可以在將其下載到文檔本身時對其進行加密。 但是,當需要使用文件時,我必須先解密它們。 問題是這些解密文件放在哪里?

tmp-看起來像是保存它的好地方,但是如果將應用程序最小化幾天后刪除內容,該怎么辦。

文件-將解密檔案存放在單獨的地方可能不是一個好主意。 重新啟動應用程序時,它不會自動清除,並且如果在應用程序仍在運行時設備用完電池,這些解密的文件將被暴露。

因此,有待解決的問題是確保Documents目錄的數據安全的最佳方法是什么。

基於UNIX的系統的一個有用方面是您可以創建/打開文件,然后立即刪除該文件。 無法從應用程序外部訪問該文件,但是該應用程序將能夠向該文件讀取/寫入數據,並且在關閉文件句柄之前,實際上不會刪除該文件。

這意味着您可以在應用程序可訪問文件結構內的任何位置創建/打開解密文件。

雖然我還沒有在iOS下測試過,但是我認為它很有可能會工作。

我會將加密的文件保留在Documents目錄中,並使用NSData NSDataWritingFileProtectionComplete選項加​​密。

如果您需要自己加密文件,然后僅根據需要解密,則將解密后的文件保存在使用NSData NSDataWritingFileProtectionComplete加密的Documents目錄中。 將“請勿備份”擴展屬性添加到文件中。 在應用啟動/喚醒等情況下,根據警方的指示,將覆蓋不再需要的文件並刪除。 將AES,CBC模式與隨機iv,隨機密鑰一起使用,並將密鑰保留在鑰匙串中。

如果適用於您的應用,則可以選擇以流形式打開並動態解密為緩沖區。

但是要注意的是,我真的不了解您的完整用例。 最佳做法:請雇用一名iOS安全域專家來建議和審核您的解決方案。 證券是否值得這個價格,一個有效的問題。

在對我的評論的解釋中:我編寫了一個應用程序來從損壞的HD中恢復圖像,而不是那么困難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM