Базу сайта слили, а вход по отпечатку вору не достался
Почему passkey не утекает вместе с базой и не ловится на фишинг.
При регистрации телефон создаёт пару ключей для конкретного сайта. Публичная часть уходит на сервер, приватная остаётся на устройстве и сайту не отправляется никогда.
Как проходит вход
Сервер присылает случайное число, каждый раз новое. Телефон подписывает его приватным ключом, сервер проверяет подпись публичным. Сошлось — значит, ключ у тебя. Сам секрет по сети не передаётся, поэтому из слитой базы его не достать: там лежат только публичные ключи.
А где отпечаток?
Сайт его не видит. Отпечаток, Face ID или PIN только открывают приватный ключ на телефоне, а сайт получает подпись и отметку «пользователь проверен».
Копию банка можно сделать пиксель в пиксель, и пароль на ней ввести легко. Но passkey привязан к домену: на чужом адресе телефон просто не найдёт подходящий ключ.
Вывод
Пароль можно украсть, подсмотреть или выманить. Passkey нельзя ввести не на том сайте.