I apologize in advance if this topic does not fit Stackoverflow (I ask moderators to move it where appropriate). Thanks.
I was wondering how apps use Touch ID or Face ID to verify identity without storing the biometric data into their servers.
Authentication without Touch/Face ID (oversimplifying here)
- User logs into their banking app.
- Username and password sent to server to be verified.
- Username and password is checked against information stored in bank server.
- On valid username and password combination, a token is issued to be used for the current session.
After user allows the app to use their Touch/Face ID...
Authentication with Touch/Face ID
- User logs into their banking app.
- They verify with their Touch/Face ID
... what happens here? What is sent to the server to be verified?
I read that Biometric data is stored in a secure chip on the phone and this is not stored on any server.
For iOS, apart from the package for Touch/Face ID, we also need to work with keychain access. Why? What's stored here?
Thank you.