Unlike the FBI-Apple saga, there’s not much news surfacing about government agencies looking to crack Android devices. Two researchers at North Carolina State University, William Enck, assistant professor of computer science, and Adwait Nadkarni, a Ph.D. student of computer science, are curious why that is, asking, “What if the device had been running Android? Would the same technical and legal drama have played out?”

SEE: Encryption Policy (Tech Pro Research)

Dealing with encrypted data

Enck and Nadkarni published what they discovered in The Conversation commentary What if the FBI tried to crack an Android phone? We attacked one to find out. The two researchers start by explaining how and why data encryption, a critical process on mobile devices, requires the creation of an encryption key. From Techopedia’s definition of an encryption key:

“An encryption key is a random string of bits created explicitly for scrambling and unscrambling data. Encryption keys are designed with algorithms intended to ensure that every key is unpredictable and unique. The longer the key built in this manner, the harder it is to crack the encryption code.”

Enck and Nadkarni indicate the accepted method used to create encryption keys in mobile devices melds the following two code snippets into the device and user specific encryption key:

  • User’s unlock code, if any (often a four- to six-digit passcode)
  • Hardware-Bound Key (HBK): A long, complicated number unique to the individual device being used

Unless the user has introduced a vulnerability, or has misconfigured or rooted the device, Enck and Nadkarni state code-breaking is the only option. One method of breaking the code involves using brute force techniques where pieces of code simulating encryption keys are tried one at a time until the right one unlocks the device. There are two types of brute-force attacks: offline and online. The impression one gets is neither approach is easy.

An offline brute-force attack

Offline attacks require the attackers to somehow obtain the data: “… by copying the data off the device and onto a more powerful computer, specialized software and other techniques can be used to try all different passcode combinations,” explain Enck and Nadkarni.

However, according to them, there could be up to 100 undecillion potential solutions for a standard 128-bit AES key — enough to take a supercomputer more than a billion years to crack.

An online brute-force attack

The online attack targets the mobile device (Android or iOS) directly, giving attackers a significant advantage. They do not have to worry about the HBK; it is accessible in the device’s firmware. All the attackers need to determine is the user passcode. Simple, right? Not exactly.

“The phone itself can be configured to resist online attacks,” note the researchers. “For example, the phone can insert a time delay between a failed passcode guess and allowing another attempt, or even delete the data after a certain number of failed attempts.”

Both Android and iOS firmware have this ability. “These delays impose a significant time penalty on an attacker,” write Enck and Nadkarni. “Brute-forcing a six-digit PIN (one million combinations) could incur a worst-case delay of slightly more than 69 days.”

Regarding the delay and wipe countdown, the researchers write that Android and iOS act differently:

  • Only iOS introduces delays of increasing length after each failure.
  • In iOS, both the lock screen and boot process can wipe the user data after a fixed number of failed attempts, but only if the user explicitly enables this.
  • In Android, the boot process always wipes the user data after a fixed number of failed attempts. (The Android test phone, a Nexus 4, did not allow setting a limit for lock screen failures.)

The researchers’ conclusions

When offline attacks are involved, the researchers do not consider Android and iOS all that different (which means difficult at best to pull off) if configured correctly by the device’s manufacturer and the end user.

That is not the case with online attacks. “We found differences for online attacks, based on user and remote management configuration: Android has a more secure default for online attacks at start-up, but our Nexus 4 did not allow the user to set a maximum number of failed attempts from the lock screen (other devices may vary),” explain the researchers. “Devices running iOS have both of these capabilities, but a user must enable them manually in advance.”

The big difference between Android and iOS firmware occurs when remote control software is used. “Android security may also be weakened by remote control software, depending on the software used,” state Enck and Nadkarni. “Though the FBI was unable to gain access to the iPhone 5c by resetting the password this way, we were successful with a similar attack on our Android device.”

The tech rumor mill has an interesting albeit unsubstantiated theory about being unable to reset the iPhone 5c password: might that be what the FBI has figured out?