Технология passkey
Технология passkey.
Содержание
1 Общая информация
- Passkey — современный способ аутентификации для входа на сайты и в приложения, который призван полностью заменить пароли.
- Это уникальный ключ, создаваемый для конкретного сайта или приложения и безопасно хранящийся на устройстве — смартфоне, компьютере, USB-токене.
- Вместо того чтобы запоминать и вводить пароль, вы подтверждаете свою личность с помощью биометрии (отпечаток пальца, сканер лица) или PIN-кода.
- Passkey — реализация открытых отраслевых стандартов, тиких как FIDO2, WebAuthn.
- Уровни реализации:
- технологический стандарт;
- реализацию на стороне пользователя (платформы);
- реализацию на стороне разработчика (сайты и приложения).
- Список сайтов, поддерживающих passkey: https://passkeys.directory/
1.1 Технологическая основа: FIDO2 и WebAuthn
WebAuthn (Web Authentication API) — API, с которым работают разработчики в броузере.
- Через него сайт общается с устройством для создания и использования ключей.
CTAP (Client to Authenticator Protocol) — протокол, который описывает, как броузер или приложение (клиент) общается с самим аутентификатором (смартфон, компьютер, USB-ключ).
Вместе эти стандарты и образуют FIDO2 — систему беспарольного входа.
2 Реализация на пользовательских платформах
passkey поддерживается на уровне операционных систем и облачных сервисов.
Закрытый ключ по умолчанию хранится в разных местах.
Экосистема Apple (iOS, macOS, iCloud)
- Закрытые ключи создаются и хранятся в защищенном чипе Secure Enclave.
- Синхронизируются между устройствами Apple через iCloud.
Экосистема Google (Android, Chrome, Google Password Manager)
- Ключи хранятся в защищенной среде TEE (Trusted Execution Environment) на устройстве.
- Синхронизируются через Google Password Manager.
- Для управления ключами на Android используется Credential Manager API.
Экосистема Microsoft (Windows, Edge, Microsoft Entra ID)
- На Windows ключи хранятся в аппаратном модуле TPM и защищены с помощью Windows Hello (биометрия или PIN).
- В корпоративной среде Microsoft предлагает решения на базе Microsoft Entra ID для управления FIDO2-ключами.
3 Типы реализации passkey
- Реализация делится на два типа:
- Привязанные к устройству (Device-bound).
- Закрытый ключ создается и хранится исключительно на одном физическом устройстве и никогда его не покидает.
- Примеры: аппаратные ключи (например, YubiKey), ключи, созданные в Microsoft Authenticator.
- Синхронизируемые (Synced).
- Закрытый ключ создается на устройстве, шифруется и сохраняется в облачном провайдере (например, iCloud или Google Password Manager).
- Это позволяет использовать один и тот же passkey на всех ваших устройствах, входящих в эту экосистему.
- Привязанные к устройству (Device-bound).
4 Как работает passkey
- Технология passkey основана на криптографии с открытым ключом и стандарте FIDO.
4.1 Создание passkey (регистрация)
Когда вы создаёте passkey для сайта, ваше устройство генерирует пару криптографических ключей:
- Закрытый (приватный) ключ — остаётся на вашем устройстве и никогда никуда не передаётся.
- Открытый (публичный) ключ — отправляется на сервер сайта и привязывается к вашему аккаунту.
Создание ключа подтверждается локальной проверкой (биометрия или PIN).
4.2 Вход с помощью passkey (аутентификация)
Когда вы пытаетесь войти на сайт:
- Сайт отправляет вашему устройству запрос (challenge) — случайную строку данных.
- Устройство подписывает этот запрос с помощью вашего закрытого ключа.
- Для этого оно просит вас подтвердить действие — приложить палец, посмотреть в камеру, ввести PIN.
- Подписанный ответ отправляется на сервер.
- Сервер проверяет подпись с помощью сохранённого открытого ключа.
Если проверка успешна — вы вошли.
Никаких паролей не вводится и не передаётся.
passkey привязан к конкретному домену сайта.
5 Преимущества passkey
| Что | Как это помогает |
|---|---|
| Защита от фишинга | Passkey работает только с настоящим доменом |
| Защита от утечек | Закрытый ключ никогда не покидает ваше устройство. |
| Защита от подбора | Нет статичного пароля, который можно перебирать или угадывать |
| Удобство | Не нужно запоминать или вводить сложные пароли |
| Встроенная двухфакторность | Passkey сочетает в себе “то, что у вас есть” (устройство) и “то, кем вы являетесь” (биометрия) |
6 Реализация
6.1 PassKeeZ
- Репозиторий: https://github.com/Zig-Sec/PassKeeZ
- Хранение:
- файлы KDBX (KeePassXC, KeePass).
6.2 passless
- Технология passkey. Реализация passless
- Репозиторий: https://github.com/pando85/passless
- Хранение:
- менеджер паролей pass (см. Менеджер паролей pass);
- TPM 2.0;
- локальный файл.
