Использование Touch ID или Face ID без сохранения биометрических данных пользователя

Заранее извиняюсь, если эта тема не подходит для Stackoverflow (прошу модераторов перенести туда, где это уместно). Спасибо.

Мне было интересно, как приложения используют Touch ID или Face ID для проверки личности без сохранения биометрических данных на своих серверах.

Аутентификация без Touch / Face ID (здесь упрощенно)

  1. Пользователь входит в свое банковское приложение.
  2. Имя пользователя и пароль отправляются на сервер для проверки.
  3. Имя пользователя и пароль проверяются на соответствие информации, хранящейся на сервере банка.
  4. При действительной комбинации имени пользователя и пароля выдается токен, который будет использоваться в текущем сеансе.

После того, как пользователь разрешит приложению использовать Touch / Face ID ...

Аутентификация с помощью Touch / Face ID

  1. Пользователь входит в свое банковское приложение.
  2. Они подтверждают свой Touch / Face ID

... Что здесь происходит? Что отправляется на сервер для проверки?

Я читал, что биометрические данные хранятся в защищенном чипе телефона и не хранятся ни на одном сервере.

Для iOS, помимо пакета Touch / Face ID, нам еще нужно поработать с доступом к связке ключей. Почему? Что здесь хранится?

Спасибо.


person publicknowledge    schedule 13.12.2018    source источник


Ответы (2)


Типичный поток:

Первый вход:

  • Пользователь аутентифицируется с помощью имени пользователя / пароля
  • Если аутентификация прошла успешно, их спрашивают, хотят ли они использовать TouchID / FaceID.
  • Если это так, имя пользователя и пароль хранятся в связке ключей с требованием биометрической аутентификации для доступа к данным.

При последующих входах:

  • Приложение пытается получить сохраненное имя пользователя и пароль, инициируя биометрическую аутентификацию.
  • Приложение использует сохраненные имя пользователя и пароль для аутентификации на сервере.
person Paulw11    schedule 13.12.2018
comment
Это отражает наш реальный опыт после выполнения нескольких тестов и внедрения его в производство. ваше здоровье! - person publicknowledge; 02.01.2019
comment
Что делать, если основным методом входа в систему является телефон / otp, а не адрес электронной почты / пароль? Где отп истекает через несколько часов. - person BillNathan; 25.02.2021
comment
Затем вы можете сохранить полученный токен в связке ключей с биометрическими требованиями, однако это практично только в том случае, если токен имеет длительный срок действия. Если вы не можете сохранить постоянный токен сеанса, вам потребуется, чтобы пользователь аутентифицировался каждый раз, а биометрическая аутентификация не является допустимым вариантом использования. - person Paulw11; 25.02.2021

Это очень похоже на то, как это будет работать с обычным паролем, это всего лишь второстепенная линия безопасности.

Например, ваше устройство подключено к вашей учетной записи Itunes, которая связана с вашей банковской учетной записью. Чтобы совершить действие, устройство запросит аутентификацию в форме Touch Id / Face Id, как только будет найдено совпадение (с использованием защищенного чипа), устройство отправит запрос на яблоко, которое отправит его в банк. Да, это можно обмануть, так как это происходит на стороне клиента, но вам все равно нужно как-то войти в свою учетную запись Itunes, так что это второстепенная линия безопасности.

Чтобы было ясно, что вы на самом деле не входите в учетную запись с помощью Touch ID или Face ID, вы входите с паролем, который помнит ваше устройство. чтобы получить доступ к паролям, он запоминает, что вам нужны Touch ID или Face ID.

person toto    schedule 13.12.2018
comment
Это не имеет отношения к вашей учетной записи iTunes, и запрос не отправляется в Apple. Вы можете выбрать использование связки ключей iCloud, которая синхронизирует определенные записи связки ключей на ваших устройствах, но это не обязательно, и во многих случаях, например в банковском приложении, они явно исключают эти записи связки ключей из Связки ключей iCloud. - person Paulw11; 13.12.2018
comment
Я говорю о случае, когда ваш способ оплаты (кредитная карта) подключен к вашей учетной записи iTunes, так как в вопросе он привел пример банка, но он определенно не привязан только к вашей учетной записи itunes. просто пример - person toto; 13.12.2018