Are BLOB data data encrypted when stored in External Storage?

I use Core Data to store sensitive information. So far, I have applied hardware file encryption to the SQLite file used by the persistent storage coordinator. I did this by setting its file attributes (NSFileProtectionKey to NSFileProtectionComplete).

I store some image data as binary data in the kernel database, and I disabled “Allows external storage” and “Store in an external write file” to prevent my SQLite data store from bloating and improve performance.

I assume that data files automatically stored outside of Core Data's SQLite database will NOT be encrypted and that I will need to encrypt these files myself. Does anyone know if this is correct?

thank

+3
source share
2 answers

luckman777,

Each version pre-installed by iOS will encrypt each file in hardware when the user uses a screen lock. As for your question about external storage of Core Data, why don't you just look at the files? It is very easy to transfer data from the phone to your dev system. Then try opening one of the external files. I expect it to be encrypted. (If not, this is a rather large and obvious hole in the policy of encrypting basic data. I doubt that it exists.)

Andrew

0

, ! (iOS 11.2) Documents/.SingleViewCoreData_SUPPORT/_EXTERNAL_DATA
-. . , .

, , , Xcode, . , " " . SingleViewCoreData.sqlite .

0

All Articles