Back in 2013, Apple has added a fingerprint reader to its then new iPhone 5s. Around that time, OEMs manufacturing Android devices have also started equipping their devices with fingerprint sensors. It turned out that Apple and Android OEMs came to severely different results. In this article, we’ll have a look at fingerprint reader implementations in pre-Marshmallow Android devices and see why they were a terrible idea.
In July 2016, we published a research on Android fingerprint sensors. The article Fingerprint Unlock Security: iOS vs. Google Android (Part II) is available in our blog; please feel free to refresh your memory on Android implementation of fingerprint reader.
To sum it up, the lack of official fingerprint API and associated security policies in Android versions prior to 6.0 Marshmallow made handset manufacturers come up with their own implementations and their very own policies. Since few Android OEMs have any expertise in security, the results were ranging from terrible to outright scary. Samsung Galaxy S5, S6, S7, Motorola Moto Z, SONY Xperia Z5, LG G5, Huawei Ascend Mate 7, Meizu Pro 5 and a bunch of other phones equipped with fingerprint scanners without proper support on the native API level messed up with just about everything they could lay their hands on.
As we already discussed in the old article, Google Compatibility Definition document lays out straightforward requirements for OEMs releasing Android devices designed to run Google services on them. In order to run Google services out of the box, manufacturers must sign an agreement with Google and pass stringent certification tests in one of Google approved certification labs. Devices and their pre-installed software must pass all of those tests in order to receive a compliancy certificate. In particular, devices must conform to security requirements outlined in p. 7.3.10. Fingerprint Sensor of Google Compatibility Definition.
Let’s quote it again:
7.3.10. Fingerprint Sensor Device implementations with a secure lock screen SHOULD include a fingerprint sensor. If a device implementation includes a fingerprint sensor and has a corresponding API for third-party developers, it:
Source: Google Android Compatibility Document
There are other security requirements that are applicable to devices running Android 6.x and 7.x out of the box such as secure verified boot and full-disk encryption enabled out of the box. These security requirements do not apply to devices released with earlier versions of Android, even of those are being upgraded to Android 6 or 7. However, p. 7.1 is applicable to all devices including those upgrading from previous versions of Android to Android 6 or 7.
In human words, this means that smartphones released with Android 6 or 7 out of the box must adhere to the following security standards:
Generally speaking, breaking just one of those rules may be enough for an intruder to break in to the device, forge or extract authentication credentials.
Google has developed a very strong security policy for devices receiving Android 6 or 7 out of the box. This policy still stands in the part related to fingerprint authentication when it comes to updating to Android 6 from an earlier version of Android. However, what about devices that were released with a fingerprint sensor and never saw the light of Android 6.0?
This is not an idle question. Let’s have a look at the current Android version distribution chart:
As we can see, Android 6.0 takes 29.6% of the market, while Android 7 is currently at 0.7%. What about the other 69.7% of Android devices? They are running Android 5.x (33.4%) or older. It is those devices we are worried about.
Let us take, for example, a flagship device made by a German company Gigaset.
Gigaset ME was introduced in September 2015, and went on sale in early 2016. Equipped with Snapdragon 810, 32GB of memory and a modern USB-C port, this smartphone is a strong contender even today.
While design and hardware are on the excellent level, this smartphone suffers from the typical Android problem: the lack of updates. In common with most Android devices, it never received a single OS version update for the year it was on the market (to be fair, there were several minor updates with bug fixes and general improvements). Now that it’s being phased out, the chance it would ever see an update to Android 6 is slim to none.
Gigaset ME is equipped with a rear-mounted capacitive fingerprint scanner.
Combined with Android 5.1, this is a call for disaster.
We purchased one of these smartphones and probed it in our lab. We discovered the following.
Should this smartphone run Android 6 or 7, it would have never passed through Google certification. Could this be the reason why it stays on an old version of Android?
Google made great improvements to Android security model in Android 6.0, and further strengthened security in Android 7. Unfortunately, this has relatively little effect on the market as the majority (69.7% at the time of this writing) of Android smartphones runs Android 5.x or older. With this many devices running old, insecure versions of Android, speaking of fingerprint unlock security is still a bad joke.