Можно ли использовать сканер отпечатков пальцев Mobile в качестве биометрического устройства для аутентификации на сервере?

В наши дни почти все выпускаемые мобильные устройства имеют встроенные сканеры отпечатков пальцев. Мы определенно можем аутентифицировать пользователя на уровне телефона (такие приложения, как Google Pay, используют его), но возможно ли использовать мобильный сканер отпечатков пальцев в качестве биометрического устройства для аутентификации на уровне сервера? Если да, то как это можно реализовать? Если нет, то почему это невозможно и что можно сделать, чтобы сгладить этот процесс?


person Rohith Ravi Teja Kilaparthi    schedule 30.08.2019    source источник
comment
Похоже, вы спрашиваете о CTAP/WebAuthn/FIDO2, который допустить это.   -  person Obsidian Age    schedule 30.08.2019
comment
телефон может быть взломан или украден. трафик между сервером и телефоном может быть атакован. телефон может быть одним из факторов аутентификации, но не подходит для того, чтобы быть единственным   -  person bigdataolddriver    schedule 30.08.2019
comment
Насколько я знаю, API выставляет только результат, пользователь кладет палец на датчик, и вы получаете истинное или ложное   -  person cutiko    schedule 30.08.2019
comment
@cutico, если это так, мы можем добавить 5-6 отпечатков пальцев на устройство. Можно ли хотя бы получить тот конкретный идентификатор или имя, с которым он совпал?   -  person Rohith Ravi Teja Kilaparthi    schedule 30.08.2019
comment
Не совсем понятно, что вы подразумеваете под аутентификацией на уровне сервера. Если вы имеете в виду проверку на стороне сервера, что пользователь аутентифицировал пользователя по отпечатку пальца, то да, конечно, вы можете сделать это: создать пару ключей, требующую аутентификации по отпечатку пальца, и отправить открытый ключ на сервер. Когда вы выполняете аутентификацию, запросите некоторые случайные данные с сервера и создайте объект Signature, который будет использовать закрытый ключ из вашей пары ключей. После того, как пользователь разблокирует закрытый ключ с помощью своего отпечатка пальца, подпишите данные, полученные с сервера, и результат на сервере.   -  person Michael    schedule 03.09.2019
comment
И, конечно же, любой, у кого есть отпечаток пальца, зарегистрированный на устройстве, может разблокировать закрытый ключ. Вы не получаете никакой информации о том, какой именно отпечаток пальца был использован.   -  person Michael    schedule 03.09.2019


Ответы (3)


Я думаю, было бы намного лучше, если бы вы использовали внешнее биометрическое устройство вместо сканера отпечатков пальцев на мобильном телефоне. Вы можете узнать, как настроить биометрические Аутентификация в Android или Аутентификация по отпечатку пальца с использованием биометрического API Android

person Dileep XDN    schedule 19.06.2020

Да, вы можете добиться этого на уровне сервера.

Если у вас есть доступ к сканеру отпечатков пальцев устройства, вы можете получить адрес/код отпечатка пальца пользователя, который может храниться на вашем сервере. В следующий раз, когда пользователь попытается войти в систему, используйте какую-нибудь мини-систему или функцию, основанную на среде, в которой вы работаете, чтобы проверить, соответствует ли значение, полученное датчиком, значению, хранящемуся на вашем сервере, и предоставить доступ соответственно.

Тем не менее, я все же рекомендую не использовать подобные возможности для авторизации на сервере.

Но я сомневаюсь, что этот метод будет точным ... Я бы рекомендовал изучить, как работают датчики отпечатков пальцев, чтобы не доставлять пользователям хлопот.

person Son of Stackoverflow    schedule 30.08.2019