Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use new fingerprint API from Android for multiple users

We are creating a timestamp application on Android and ideally this would use fingerprint to identify the user.

In one organisation there can be like 150 different users. Would the fingerprint API allow multiple users? Or is this currently only for the owner of the device? If this is only for the current users, are there any other API's available that would allow this? If not I think we need to abandon this road completely.

like image 558
rept Avatar asked Oct 14 '15 11:10

rept


People also ask

Why are mobile applications giving unique fingerprint authentication as option?

That is the reason increasingly Mobile applications are giving unique fingerprint authentication as an option to the older PIN or password-based authentication. Android officially supported fingerprint scanning hardware with the release of Android 6.0.

Does Android support fingerprint scanning?

Android officially supported fingerprint scanning hardware with the release of Android 6.0. There has been a significant amount of changes to the APIs since than; one of them is Fingerprint Authentication. With the release of new APIs, validating users with help of fingerprint sensors on various devices is possible.

What is mobile device fingerprinting and how does it work?

Mobile device fingerprinting allows app developers to identify users applying more sources of entropy than is available inside the browser. Hardware (device details, model, CPU, memory, sensors, etc.) Device settings (the information about some settings of the device)

Why is device identification important for mobile developers?

Device identification is essential to a mobile developer's toolkit for detecting and preventing fraud. An accurate and persistent device ID can flag users most likely to commit fraud and mitigate fraudulent attempts by incorporating authentication flows or blocking users based on their usage history.


2 Answers

Android M or Samsung or iPhone APIs only allow to verify current user against user of device.

There's some fingerprint scanners compatible with Android Platform and with SDK for Android. These SDKs allow to get fingerprint image or template. Scanners are plugged on USB port so you can't charge tablet and use fingerprint scanner simultaneous. For instance:

  • https://www.dermalog.com/products/hardware/fingerprint-scanners
  • https://www.futronic-tech.com/pro-detail.php?pro_id=1543
  • https://www.hidglobal.com/products/embedded-modules/single-finger-modules

There's also some devices with integrated fingerprint scanner and with SDK to get fingerprint image or template.

like image 53
LaurentY Avatar answered Sep 22 '22 23:09

LaurentY


you can use android.hardware.fingerprint.Fingerprint.class

/**
* Container for fingerprint metadata.
* @hide
*/
public final class Fingerprint implements Parcelable {
    private CharSequence mName;
    private int mGroupId;
    private int mFingerId;
    private long mDeviceId; // physical device this is associated with
 ...
}

to compare against with enrolled one together with FingerprintManager inner class but visibility of api is hidden and you need use reflections

 /**
 * Container for callback data from {@link FingerprintManager#authenticate(CryptoObject,
 *     CancellationSignal, int, AuthenticationCallback, Handler)}.
 */
public static class AuthenticationResult {
    private Fingerprint mFingerprint;
...
}
like image 39
ceph3us Avatar answered Sep 23 '22 23:09

ceph3us