Passkey — технология аутентификации без пароля, которая позволяет использовать криптографические ключи для входа в учётные записи и приложения. 35
При регистрации ключа доступа на сервисе создаётся пара ключей шифрования — секретный (закрытый) и публичный (открытый). 1 Если зашифровать что-то с помощью публичного ключа, то расшифровать это можно, только зная секретный ключ. 1 Секретный ключ остаётся на устройстве пользователя, а публичный отправляется сервису. 1
В дальнейшем эти два ключа используются для шифрования диалога, происходящего в момент входа пользователя на сервис: 1
- Сервис отправляет пользователю зашифрованный с помощью публичного ключа запрос, в котором содержится большое случайное число. 1
- Устройство пользователя просит подтвердить, что он — это он. 1 Как правило, с помощью биометрии, то есть приложив палец к датчику или посмотрев в камеру, а также с помощью ПИН-кода. 1
- В случае успешного подтверждения устройство пользователя расшифровывает запрос от сервиса с помощью секретного ключа и узнаёт из него то самое случайное число. 1
- Далее на основе этого случайного числа из запроса от сервиса устройство пользователя по определённому алгоритму создаёт цифровую подпись — вычисляет новое очень большое число — и отправляет обратно сервису. 1
- Сервис на своей стороне проделывает точно такие же вычисления и сравнивает результат. 1
- Если вычисленное им число совпадает с тем, что он получил от устройства пользователя, значит, запрос был правильно расшифрован. 1 Следовательно, пользователь обладает соответствующим секретным ключом — в этом случае происходит его авторизация в сервисе. 1
Passkey использует биометрические данные (отпечатки пальцев, распознавание лиц и т. д.) для подтверждения личности пользователя. 5