20

There are some apps that allow logging in via Touch ID (for instance banking apps).

I know that it is relatively secure to use this feature as long as no-one has illicit access to my fingerprints, and the device is not physically accessed.

But what if the database of the application gets compromised?

What kind of information will be leaked? What sort of actions could be taken having this information? Does iOS protect this information from being leaked? Is this documented somewhere?

I can guess that the application will not be given direct access to the finger-print photo, there should be some kind of hash which doesn't allow restoring the original finger-print. In the ideal case, iOS would not even allow the app to access a hash, instead it would provide some way of authorizing.

38

The application does not have access to the fingerprint data stored on the device. The API provided by Apple tells the app if the auth process was successful by a simple yes/no value. No hash is provided. Here's the documentation.

Also the fingerprint data is stored in the device's "Secure Enclave" and is not accessible.

The Secure Enclave is part of the A7 and newer chips used for Touch ID. Within the Secure Enclave, the fingerprint data is stored in an encrypted form which - according to Apple - can only be decrypted by a key available by the Secure Enclave thus making fingerprint data walled off from the rest of the A7 Chip and the rest of iOS.

Source: The iPhone Wiki

  • 3
    This is really the best way for both users and developers. I want neither the security hassle of having access to the actual fingerprint data nor the responsibility to compare the stored data to the scan. If we were actually provided images or similar, comparison would be a pain, and if it were just a pair of hashes, it would be so trivial that there would be no reason that the system couldn't do it first. There's simply no good reason that Touch ID should involve the app seeing the fingerprint. – Josh Caswell Dec 16 '17 at 1:49
13

Yes, it is perfectly safe to use Touch ID on iPhone.

Apps that uses Touch ID does not have access to your fingerprint, nor any hash generated from your fingerprint. The app does not actually process the fingerprint matching itself, rather, it calls the Touch ID API (system) which will then send the result back to the app. So, all the app will receive is either true or false, depending on whether it is successful.

Thus, the app does not need to have access to any kind of hash and the whole Touch ID process is done by your iPhone's system (iOS), similar to how you unlock your phone with Touch ID.

As 9to5mac explains:

When a developer wants an app user to authenticate, they don’t get involved in the nitty-gritty of how that authentication is performed. They just use code that asks iOS to do it for them – what Apple calls the Local Authentication framework.

(emphasis mine)

And AppleInsider explains:

Apple has kept Touch ID secure by not providing apps access to any of the fingerprint data stored on an iPhone's secure enclave. The prompt that appears is the same as the one Apple already uses to authorize iTunes and App Store purchases.

(emphasis mine)

  • Actually in iOS 11 the prompt has changed for Apple Pay, but not for many apps. In fact, the prompt is not required - some apps have their own animation – Tim Dec 15 '17 at 17:35
2

Yes - it's totally safe.

Your Touch ID data is stored locally on your device and isn't accessible by Apple or any other 3rd parties.

When you use Touch ID for a 3rd party app for example, it will authorise your access locally and the app will not see your fingerprint data, only that your iPhone has authorised it.

I personally use Touch ID for my PayPal app as well as a few other trustable services.

(If you're worried, maybe don't use it for companies you don't fully trust - even though it's physically impossible for them to see your Touch ID data.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .