Search code examples
iossecurityjailbreak

Save the ios app configuration in secure


I am developing an iOS application. My app need to save the configuration and status data at local. e.g. the app is on Free mode or paid mode. If I put this information into a plist file, may it can be access in jailbreak iphone? If yes, where should I save it in secure? ( Note: for some special reason, I don't want encrypt the data in plist file). I am hear about iOS State Preservation and Restoration, does it help me save data in a secure memory?

Update: My app runs on ipad with iOS 4.3 + Thanks


Solution

  • If I put this information into a plist file, may it be accessed on a jailbroken iPhone?

    Yes, it may. Since a jailbroken phone has a completely open filesystem and a working root user account, users can do literally anything with your application: grab its secret data, crack it, reverse engineer it, modify it using MobileSubstrate, etc., etc. (Don't you dare popping up an "I don't run on jailbroken devices!" alert view though!)

    If yes, where should I save it in securely?

    In short: you can't.

    There's this keychain thingy which is supposed to be secure, but it isn't secure at all on jailbroken devices. The full contents of the keychain can be easily dumped by this simple tool.