When you install Acronis True Image, select the “encrypt backup” option and enter a password that you will remember. For the sake of this article, we’ll assume you wish to encrypt backups for your iPhone and will backup offsite to the Acronis Cloud for additional protection. When you load Acronis True Image to your computer, you’ll configure settings that make sense for you.
As a key component of the so-called 3-2-1 rule of backups, the cloud provides the kind of convenient and accessible off-site security needed to keep your data safe.Īcronis believes you alone should have total control over your data’s destiny. This isolates your data from the dangers that can threaten your local drives, such as a hardware failure, malware attack or natural disaster. Any thorough backup strategy requires one storage location beyond your local computer. Once done, you should also make a regular habit of backing up your encrypted backup to offsite storage, such as iCloud or another online backup service. After physically plugging your iPhone into your computer, you must turn-on the “Encrypt” backup option in iTunes for it to begin regular encrypted backups. ITunes backup requires proactive monitoring and is a bit clunky in implementation, for example. The common backup solutions many of us might think of, like iTunes, take a lot of time and dedication to execute. You can use this with Core Data by passing that value in the options dictionary used to open your Core Data NSSQLiteStoreType store.While we don’t want to lose any of our data and we say security matters to us, few of us add “encrypt iPhone backup” to our nightly routine. The WWDC 2012 session Protecting the User's Data goes into this topic in much more detail, and recommends using NSFileProtectionComplete. By default, Core Data NSSQLiteStoreType files have NSFileProtectionCompleteUntilFirstUserAuthentication for applications built with the iOS 5 API or later.
Data protection is designed for exactly the kinds of scenarios you are interested in. IOS has had Data Protection since iOS 4, and Core Data has supported this for a long time. "The purpose of the encryption is to keep the data from being accessible if the user loses the phone." The data should be perfectly transparent when in use.Īlso note: I'm willing to use SQLCipher to store the data, but would prefer to use things that already exist on the iPhone/CoreData framework rather than go through the lengthy build/integration process involved. Note: this isn't the same idea as Question 929744, in which the purpose is to keep the user from messing with or seeing the data. The purpose of the encryption is to keep the data from being accessible if the user loses the phone.įor speed reasons, I would prefer to encrypt and decrypt the entire file at once rather than encrypting each individual field in each row of the database.
The user will need to enter the password to decrypt the data each time the app is launched. I'll take whatever is easiest (a) to encrypt and (b) to integrate with the iPhone view layer. I have the data as JSON, though I can easily put it into a SQLITE3 database or any other backing data format. I'm new to iPhone development, some I'm not terribly familiar with CoreData and how it integrates with the views. I have some information I'd like to store statically encrypted on an iPhone application.