I use iOS7 with a 4-digit passcode that isn't on any top 10 lists. I have "Erase all data after 10 failed passcode attempts" turned on.
How hard would it be for someone who stole my phone to get access to my email?
Information Security Stack Exchange is a question and answer site for information security professionals. It only takes a minute to sign up.
Sign up to join this communityI use iOS7 with a 4-digit passcode that isn't on any top 10 lists. I have "Erase all data after 10 failed passcode attempts" turned on.
How hard would it be for someone who stole my phone to get access to my email?
Theoretically, an iPhone can be configured to encrypt all the "user data" with a key that is ultimately derived from your passcode. However, that does not really save you:
If the attacker limits itself to the unmodified iPhone and just enters some potential 4-digit passcodes on the screen, then the attacker has a probability 1/1000 of success (10 tries, 10000 possible codes). That the data is encrypted is irrelevant here.
If the attacker opens the iPhone case and dumps the Flash chip contents, then he can try all possible 4-digit passcodes; there are only 10000 such codes and each try will need much less than one second on a basic PC, so he will be done within less than 3 hours. Since, in that scenario, the attacker works on the data dump, not with the phone itself, there is no automatic erasure. The encryption layer does not save you; at best, it delays a bit the attacker, but not by much (3 hours instead of immediate access). Note also that whether the encryption layer was done properly is questionable.
With a 4-digit passcode, your safety relies on how hard it is to physically open the case and access the data directly from the Flash chip. It will deter most phone thieves, who, after all, wanted the phone, not your data. However, a determined attacker will be able to do the dump. If your attack model includes such a determined attacker, then:
TL;DR: By Apple's own admission, brute force of a 4-digit numeric passcode takes about 3 minutes. Upgrading your passcode to 8-digit alphanumeric increases the on-device brute-force time such that a successful attack would probably need to exfiltrate the UID from the secure enclave -- however long that takes.
Disclaimer: I'm not very familiar with the iOS security implementation. This answer is based on Apple's vague disclosures and various assumptions some of which may well be incorrect.
According to Apple's October 2014 iOS Security Whitepaper each brute force attempt of the passcode would take approximately 80 milliseconds.
The passcode is entangled with the device’s UID, so brute-force attempts must be performed on the device under attack. A large iteration count is used to make each attempt slower. The iteration count is calibrated so that one attempt takes approximately 80 milliseconds. This means it would take more than 5½ years to try all combinations of a six-character alphanumeric passcode with lowercase letters and numbers.
I don't know what definition of "entangle" Apple are using here, but I'm guessing they mean that a decryption key that protects your data is derived from the device's UID and the passcode.
Apple asserts that "brute-force attempts must be performed on the device under attack" as opposed to some other device with much faster iteration speeds. I'm guessing Apple bases this assertion on the (unsubstantiated) assumption that the UID cannot be exfiltrated. Apple state that the UID is stored in their "Secure Enclave":
Each Secure Enclave is provisioned during fabrication with its own UID (Unique ID) that is not accessible to other parts of the system and is not known to Apple.
I did not find any information speaking to the feasibility of exfiltrating the UID from the "Secure Enclave". If the UID is exfiltrated, then an attacker should be able use other computing hardware to brute-force at a much higher speed than 80 ms per attempt. Exfiltration of the UID may even mean that the brute-force time becomes trivial.
Assuming that
then, roughly speaking, the amount of time an attacker requires to brute-force your passcode is the lesser of
a) on average, 40 ms * a^n
where a
is the number of possibilities for each digit, and n
is the number of digits, and
b) the amount of time required to exfiltrate the UID from the "Secure Enclave".
A 4-digit numeric passcode would take an average of about 7 minutes for a suitably equipped attacker to brute-force, which is surely easier than exfiltrating the UID. Therefore, your security probably would benefit from upgrading to a 8-digit alphanumeric passcode which would take an average of about 7000 years to brute force. With a 8-digit alphanumeric passcode, it would probably be faster for an attacker to exfiltrate the UID.