I have a couple of issues regarding protection of data for my app:
1) I need to encrypt all the data I store by means of Core Data
, but I don't find a starting point for achieving that. In Core Data Programming Guide they say that:
Core Data makes no guarantees regarding the security of persistent stores from untrusted sources and cannot detect whether files have been maliciously modified. The SQLite store offers slightly better security than the XML and binary stores, but it should not be considered inherently secure. Note that you should also consider the security of store metadata since it is possible for data archived in the metadata to be tampered with independently of the store data. If you want to ensure data security, you should use a technology such as an encrypted disk image.
That doesn't make me clear what I should do... I have also taken a look to Security Overview But this document doesn't seem to deal with Core Data
. However, they mention Data Protection
to secure files, but I'm not sure if this is what I really I'm looking for... should I use Data Protection
for the SQLite
file which Core Data
works with?
I need some guidance about how could I encrypt all Core Data
stored data, please
2) Should it be better to store user's passwords in the keychain, instead of encrypt and store them by using Core Data
?
Thanks in advance