Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

My primary goal is to protect Activesync-based communication from being copied or stolen from an offline device.

In that context how effective is iPhone 3GS and 4 encryption?

share|improve this question
    
UPDATE 05/25/2011 -- iPhone 3GS/4 encryption broken !!! -- h-online.com/security/news/item/… –  atdre May 25 '11 at 20:04

4 Answers 4

up vote 5 down vote accepted

I've been looking at this recently and the answer appears to be that the protection may not be great.

First thing is that iOS 4.x devices may not have Apples "data protection" feature enabled on them by default. Data protection is intended to give extra protection to e-mail data and attachments. if the device has been upgraded from iOS 3.x then data protection is not enabled until the device gets a full restore, the details are in this Apple Tech Doc.

The base apple encryption on iOS 4.x devices can be bypassed relatively easily. Booting the device into DFU mode and loading a custom version of the OS (via the limera1n exploit), you can get an SSH connection over the iDevice cable, then mounting the user data partition, give you access to most information stored there in the clear. At the moment I've not found a doc. explaining exactly how apples hardware encryption works, but I guess in some way the mount command must provide the key.

share|improve this answer
2  
as I wasn't so familiar with DFU, here is a link to clarify that osxdaily.com/2010/06/24/… –  Phoenician-Eagle Mar 13 '11 at 15:31
    
Protection is pretty good - probably as good as it can be given a user remembered secret - if data protection is on and the app is written to use the protection features. –  frankodwyer Apr 26 '11 at 5:49
    
I am trying to follow the exact steps you mentioned. So far, I have jailbreaked my iOphone with greenpois0n. The SSH client on windows is WinSCP and on the Iphone i tried BigBossPrefs. Unfortunately the iPhone BigBrossPrefs fails to start! so i am unable to connect to the iOS. My intention is to simulate that my mobile is lost (I have added PIN on purpose) and try to see what data the attacker can have access to. Any help on this would be great. –  Phoenician-Eagle May 15 '11 at 20:35
    
I wouldn;t mind having my question as a new question if you want. –  Phoenician-Eagle May 15 '11 at 20:36

If you write the application, then you have various options for protecting the files stored on the device. I gave a presentation on this at Voices That Matter this year, but to summarise:

  • NSFileProtection API lets you use the same device key as the filesystem encryption, but ensure that the files are protected when the device is locked by additionally deriving a second key from the user's passcode;
  • CommonCrypto and OpenSSL are a bit harder to use, but still fairly straightforward, you control the encryption and can use the keychain for key management;
  • writing your own encryption implementation would be a bad choice.
share|improve this answer
1  
when is writing your own encryption implementation ever a good choice? –  Casey Dec 11 '10 at 14:04
1  
@casey the only real answer I can come up with is if there's no implementation already for your environment. These days that probably isn't a common occurrence. –  user185 Dec 11 '10 at 20:06

The key is available from the device, so an unlocked device (or guessable/brute-forceable) will elicit the key. The key is also on any synced iTunes apps. By sending remote kill (if possible, which should never be relied upon since RF blocking handkerchiefs/bags are well known tools used by adversaries), this can delete the key, disabling recovery of the key and filesystem, and providing "fast wipe" functionality.

It is otherwise extremely awesome, given these very realistic limitations (i.e. no TPM). BlackBerry can't do this sort of thing without a BES (although BES Express is available for free if you have Exchange or SBS/etc server). Android relies on third-party, which is unreliable and insecure at best.

There are two books that cover this, Enterprise Mac Administrator's Guide and the iPhone Forensics book. The former mentions http://www.cellebrite.com for Security ID recovery.

share|improve this answer
    
What (if anything) above changes with a jailbroken device? –  makerofthings7 Nov 20 '10 at 20:24
    
Don't jailbreak your device if you are serious about security. Other than that -- I have no idea –  atdre Nov 20 '10 at 20:57
    
@atdre: it's not necessarily @MakerOfThings7 that jailbreaks the device. It might be the app's user. Or the attacker. –  user185 Nov 20 '10 at 21:35
1  
@atdre - the master key is derived from the users password and so it is not stored on the device when the device is locked –  frankodwyer Apr 26 '11 at 21:20
1  
@frankodwyer: Just like I explained in my original answer, the device has to be unlocked to get the master key -- or access to the iTunes the iPhone has synced with. If the code to unlock the phone is brute-forced, then it is also game-over-time –  atdre Apr 27 '11 at 16:22

In consensus with Rory McCune's answer, that you can bypass encryption I want to add what goal the encryption in iOS devices has:

It is mainly for data loss prevention. Everything is stored encrypted. This means, that a remote lock-mechanism can force the device to forget the encryption/decryption key and shutdown. This allows you to make an arbitrary amount of data useless, without having to remove or overwrite every byte on disk.

share|improve this answer
    
No longer true with the advent of the data protection OS feature and associated APIs –  frankodwyer Apr 26 '11 at 5:48

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.