Reputation: 1107
Im developping an application with android studio, the application is for attendance using fingerprint and I want be able to register fingerprint of users using a desktop application and the fingerprint will be registered from a physical fingerprint reader, data encrypted from it will be stored in a Mysql database. So I want users to use their android phone with fingerprint sensor to respond the attendance. Actually I dont know if it is possible to compare encrypted fingerprint from android phone and for this coming from the physical fingerprint reader.
What I need is just ideas on encryption or comparison between those two sources of data. Thank you
Upvotes: 0
Views: 406
Reputation: 73
From what I can understand is that you are trying to develop an application with two ends.
One for the fingerprint enrollment from a desktop application.
One for matching the fingerprint to a probe fingerprint of an individual from an Android Device.
See what you are trying to achieve is a bit nearly impossible as @Michael clearly stated.
The answer is a bit elaborated. (The boring but detailed stuff)
For the enrollment part, if you are using a physical fingerprint reader, that device will definitely provide you with a fingerprint image along with some ISO templates of the fingerprint whose name shall be kept unique by you and it's name can be stored in the Database. Let's call this ISO as gallery ISO.
For the verification part, there are two approaches. 1:1 fingerprint match(the person first claims to be someone and places his/her fingerprint on a verification device to confirm the claim) and 1:N fingerprint match (the person doesn't tell your verification system who is he/she, but simply places his/her fingerprint on the device and the system searches for a probable fingerprint match)
Android devices store a fingerprint which cannot be accessed by the API, all you can achieve is that either a YES or NO. That the fingerprint is enrolled in the device or not.
You will have to use the same physical scanner connected to an USB OTG to the android device, if the physical scanner provides the SDK to support android device then it's fine else you cannot just have the same ISO template from any other scanner.
However there is a standard template and most of the scanners generate it.
Like ISO-19794-2/FMR
The ISO generated at the verification end shall be called a (PROBE ISO). Your fingerprint scanner's SDK shall really provide you a function like below:
long score = CompareISOs(byte[] GalleryISO,byte[] ProbeISO);
The "score" gives out a value which tells you how much confidence is the scanner that the two ISO templates are same and SDK must also provide you with a threshold like say 800.
so if score anytime after comparison is greater than 800. You have a match.
This is 1:1 verification.
one-to-n is a way more hectic task and requires much complex SDK like ABIS. That I shall leave as a research topic for you.
I hope my answer helps you to some level. I came along this question and decided to reply because you genuinely asked for some ideas. I hope this helps you to kick start your research on fingerprints.
Kudos!
Upvotes: 1