From the latest Apple vs FBI story it's known that Apple is technically capable of changing the boot-loader of the iPhone to provide interface for brute-force finding of 4-digit password.

I'm wondering, is it theoretically possible for Apple or any other software any hardware company to create a fully-encrypted smartphone. By fully-encrypted smartphone I mean that it would have the next properties:

  • The device is encrypted via some key (possible implementations, but a requirement: 4-digit, x-length alphanumerical, TouchID, retinal scan, etc.
  • Neither manufacturer nor FBI can decrypt data is a timely manner (100+ years with currently available hardware).
  • It's not possible to change a part of it's software or hardware without data being lost.
  • The chances to recover data after data wipe are negligible.

Please think of physical access to the RAM and Flash memory. No one should be able to "connect" to RAM memory while device is working and read unencrypted user data.

Also, the smartphone itself should behave just like any other modern smartphone - it should have apps downloadable from the store, software updates, etc.

Update: Let's ignore software or hardware exploits, worms, vulnerability, etc.

  • 1
    I think if you modified the current iOS security model so that you had to sign the software with your own personal key (which you must keep secret), you could achieve some of what you want. You would still be vulnerable to malware, since you want to be able to install and update apps - those apps might contain code that steals your data, since you're giving it permission to run. A 4 digit code would be far too small to protect against brute forcing, though. – childofsoong Feb 18 '16 at 22:21
  • With a self-destructing hsm (secure enclave) it would get close. But given enough time and resources someone can get in. – Neil McGuigan Feb 18 '16 at 22:57
  • @soong I assume that there could be malware that stealth the data since as a software engineer I don't think there is an absolute protection from it. – MrZoidberg Feb 19 '16 at 9:29

It'd be a piece of cake. All you need to do is manage the safety of the secret (i.e. the handling of the PIN) in firmware, and make it so you can't update the firmware anymore. The ability to prevent a device from accepting additional firmware uploads has been around for decades, usually under a name like a "fuse bit."

Of course, the consequences of this is that Apple becomes incapable of updating the firmware if anything goes wrong. Naturally this is unpopular, so companies elect to not do it.

There's also the exotic solution of a Key Ceremony. It's a fascinating topic to read about, but the long story short is that it ends up splitting the root key into several dozen pieces, giving each person a different piece. If each piece of software had to be signed by such a key, it would be virtually impossible to get all the keys together for a second signing.

  • Thanks for the interesting link. Sorry, I can't vote your answer. – MrZoidberg Feb 19 '16 at 9:30

In the case of apple, they can remote update software. It's like pushing an update that adds or removes any other feature. The idea would be that the phone removes the piece of code that puts a limit on the number of attempts.

If the phone is not setup for remote updates and requires some type of user interaction to install or permit updates, then the changes would no be made that way. It still may technically be possible to do something directly with hardware and memory to make changes, but that would be much more difficult and time consuming. You may not be able to decrypt, but if you can copy it you may be able to go back to that point in memory or replicate or virtualize it. There are hardware measures that can make such attacks more difficult, but theoretically, there is some physical state which could be observed and therefore copied.

If you have control over your encryption and your OS, it would be hard to make unauthorized changes without finding some other vulnerability to exploit.

Apple is not breaking encryption in this case, they would be introducing a patch to stop brute forcing.

Edit: Yes, it could be possible to make a phone such that when you tried to physically tamper with it, a chemical reaction could be triggered to destroy the components or that taking it apart would somehow result in a high likelihood of it being broken.

If you disable the ability to remotely change the phone, then you generally already have the requirements you are asking for in your question above. As for not changing the software, then you can't install apps or updates apps, because those are software. Remember, in most cases you don't "break encryption" you find other weaknesses or vulnerabilities.

  • This doesn't seem to answer the question that was asked. This answer says "Here's how iPhones currently work". The question asks "What is theoretically possible? Could one design a phone to do X?" Describign how iPhones currently work doesn't answer the question that was asked; even if current iPhones don't satisfy the requirements, that doesn't say anything about whether it would be possible to design a phone differently to achieve those requirements. – D.W. Feb 18 '16 at 23:49
  • Are we considering the iphone as a device or as a set of software and hardware? If you don't control the software then the vendor can do whatever they want. If the shooter's iphone was configured not to permit remote updates, then it would be a moot point. The points that OP makes are not about hardware or the iphone. Decryption is not a property of how its made, its a matter of algorithms and probabilities. What OP describes is generally true already if you remove the ability to remote update the software, otherwise no its not possible because you can always observe hardware. – Eric G Feb 19 '16 at 0:15
  • You should ask the OP, not me -- but I interpret the question as implying that the OP wants you to assume that both the hardware and software can be changed. The question asks "Is it theoretically possible for Apple or any other software any hardware company to create a fully-encrypted smartphone..?". – D.W. Feb 19 '16 at 1:59
  • I'm not taking into account any software/hardware vulnerability to exploits. Also let's not take into account that vendors can introduce backdoors into software or hardware. What I'm interested is a possibility to create a smartphone that acts almost like any modern smartphone (so the manufacturer can update some non-critical parts of the firmware), but nobody can read the encrypted user data in a timely manner (let's assume less than 100+ years) using any hardware or software method expect searching for vulnerability or exploits. – MrZoidberg Feb 19 '16 at 9:42

Yes, it's possible, however, we should consider what is being asked of Apple and what your solution is.

Apple is being asked to alter the operating system to allow for the bruteforcing of the encryption key. In the case at hand, the key is derived from a 4 digit code. So, right now, anyone who can bruteforce this 4 digit code should (legitimately) have access to the decrypted phone.

Now, to design a phone with your properties, you suggest an encryption key giving a 4 digit code as the example. So what's to stop someone from bruteforcing this 4 digit code? You want 100+ years to decrypt/bruteforce? That would mean 10,000 attempts would have to take 200+ years (50% chance of getting it in 5,000 attempts at 100+ years). So each attempt would take 7.3 days to try to satisfy your requirements.

So, the solution is to enforce a key that cannot be bruteforced in a reasonable amount of time. Right now, you have the option of selecting an alpha-numeric passphrase for your iPhone. Just use that and neither the FBI nor Apple would be able to increase the cracking speed in a manner that would reasonably bruteforce a 10 char complex password.

  • I agree, without the other anti-tampering features, a 4 digit code would be completely pointless. It could be brute-forced in milliseconds. – user1751825 Feb 18 '16 at 23:10
  • 1
    This answer is misleading. Achieving the requirements listed in the question does not require you to end up with the undesirable property that it takes 7.3 days to enter your PIN. There are better designs that don't have that undesirable property. – D.W. Feb 18 '16 at 23:51
  • It does not but his requirements offer up "4-digit" as a choice for the encryption key. I made sure to answer yes and give a reason you have to have stronger requirements otherwise you could end up with this 7.3 day penalty. It is purposefully an absurd solution to show the fault in his requirements. – d1str0 Feb 18 '16 at 23:54
  • 4-digit is just a possible option for the key, not a requirement. Also you can introduce some hardware delays between attempts, so that brute-force in worst case will take a reasonably high amount of time. – MrZoidberg Feb 19 '16 at 9:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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