[Planet Wallet iOS] Biometric Authentication

GBT
GBT
Nov 19, 2019 · 4 min read
Image for post
Image for post

Good day, everyone.

Image for post
Image for post

Today, I will take a look at biometric authentication which is one of the authentication methods in Planet wallet.

Recently, there is big progress in the terms of UX by login with biometric authentication which makes mobile application usability more user-friendly.

Generally, iOS use TouchID from the version 5s until version 8, and use FaceID from version 8.

Then, let’s find out how to set TouchID and FaceID on iOS Applications.

Overview

The application developers must conduct the development through LocalAuthentication framework to use Biometric authentication.

In other words, you can check the functions related to TouchID/ FaceID in each framework.

Image for post
Image for post

To enhance the security of iOS, it blocks access to authentication data from the Application side, as you can see in the picture above.

For example, it is not possible to access the data like registered fingerprints, the images of faces, or the ID of data.

Biometric data which is available to reach from the application could only check whether the result of authentication is correct or not

So, it can only bring the result of Boolean or Error.

Then what can the application developers do?

We will study the details of “the reason for Biometric authentication usage” and “Specific policies” while we study LocalAuthentication framework.

1. FaceID usage description

After we add NSFaceIDUsageDescription key on info.plist file, we write the reason why users need the specific authority.

Image for post
Image for post

2. Make the object of Context

As I mentioned before, it is only available to use biometric authentication on the application via LocalAuthentication framework.

LocalAuthentication framework is a small framework that only holds LAContext.

Therefore, the function related to biometric authentication in the application only conducts via the object of LAContext.

Image for post
Image for post

3. Perform the policies via Context

That is to check whether the specific policy is conductible on the current device via canEvaluatePolicy(_:error:).

Image for post
Image for post

The policy here refers to the way how we perform the authentication.

It is the Enum type which is called LAPolicy and there are the results below.

Image for post
Image for post

Then we are going to perform the policies via evaluatePolicy(_:localizedReason:reply:) , after the test of the availability of the policies.

Image for post
Image for post

Like we study above, the only biometric data which is able to approach from the application is the result of boolean which shows the success of authentication.

Therefore, when the authentication succeeds in the app, the user can only see how to update UI.

On the other hand, when the authentication is failed, the user will be instructed interaction based on the error.​

So, we check the biometric authentication technology which is used on Planet Wallet iOS.

Thank you so much for visiting our website.

If you are interested in Planet wallet, please check the link below.

Image for post
Image for post

Homepage : https://planetwallet.io/

​#GBT_Protocol #GBT #planetwallet #makeyourownplanet #iOS #iOSsecurity #biometric #authentication #biometricauthentication #faceID #TouchID #cryptowallet

플래닛월렛이 궁금하신 분들은 아래 링크를 참고해주세요.

Image for post
Image for post

홈페이지 : https://planetwallet.io/

Grabity

Grabity is a non-profit technology consortium to develop dApps based on GBT, support open source pro

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store