Passkey: технология паролей без паролей¶
Passkey (от англ. pass key — «проходной ключ») — это цифровой учётный ключ, предназначенный для аутентификации пользователя на веб-сайтах и в приложениях вместо традиционного пароля. Passkey основан на стандартах асимметричного шифрования FIDO2/WebAuthn и криптографии с открытым и закрытым ключами. В отличие от пароля, passkey не хранится на сервере сервиса и не передаётся по сети при входе, что исключает компрометацию в результате фишинга, утечки базы паролей или повторного использования учётных данных.
¶Принцип работы
Passkey представляет собой пару криптографических ключей. Закрытая часть ключа хранится в специальном хранилище на устройстве пользователя (например, в защищённом аппаратном модуле смартфона, компьютера или в менеджере паролей). Открытая часть (публичный ключ) регистрируется на сервере сервиса и используется для проверки подлинности.
При аутентификации сервер отправляет устройству случайный вызов (challenge). Устройство подписывает его закрытым ключом, причём подпись требует подтверждения личности владельца — ввода PIN-кода, использования пароля разблокировки устройства, отпечатка пальца, распознавания лица или другого биометрического фактора. Сервер проверяет подпись публичным ключом и разрешает вход. Пароль или биометрические данные при этом не покидают устройство и не передаются сервису.
¶Стандарты
Технология основана на двух спецификациях, разработанных альянсом FIDO (Fast IDentity Online) при участии консорциума W3C:
- Web Authentication API (WebAuthn) — веб-стандарт, описывающий программный интерфейс для создания и использования учётных данных на основе публичных ключей. Поддерживается всеми современными браузерами.
- CTAP (Client to Authenticator Protocol) — протокол взаимодействия браузера или операционной системы с внешним аутентификатором (например, аппаратным ключом или смартфоном).
Вместе они образуют архитектуру FIDO2. Стандарты были опубликованы в 2018–2019 годах, а поддержка passkey в массовых продуктах началась в 2022 году после объединения проприетарных решений Apple, Google и Microsoft под общим брендом «passkey».
¶Хранение и синхронизация
Закрытый ключ passkey может храниться локально на устройстве либо синхронизироваться между устройствами одного экоосистемы. Apple сохраняет passkey в iCloud Keychain с защитой через end-to-end шифрование, Google — в Google Password Manager, Microsoft — в Windows Hello. Синхронизация позволяет использовать один и тот же passkey на смартфоне, ноутбуке и планшете.
Альтернативный вариант — хранение в аппаратном ключе (например, YubiKey), который подключается к компьютеру по USB или связывается со смартфоном по Bluetooth/NFC. Такой вариант не зависит от облачных сервисов, но требует физического наличия ключа.
¶Преимущества
- Устойчивость к фишингу. Привязка ключа к домену сайта делает невозможной передачу учётных данных поддельному сайту: браузер откажется использовать passkey, если домен не совпадает с зарегистрированным.
- Отсутствие утечек баз паролей. Сервис хранит только публичный ключ, который бесполезен без закрытой части.
- Удобство. Вход выполняется биометрией или PIN-кодом, которые пользователь уже использует для разблокировки устройства.
- Отсутствие повторного использования паролей. Основная причина взлома аккаунтов — использование одинакового пароля на разных сервисах — исключается по построению.
¶Ограничения
- Для использования необходима поддержка стандарта как браузером, так и операционной системой устройства.
- Синхронизированные passkey зависят от облачного аккаунта (Apple ID, Google Account, Microsoft Account); его взлом создаёт риск потери доступа.
- Перенос между экосистемами возможен, но требует ручных действий — например, сканирования QR-кода для передачи passkey с Android на iPhone.
- Часть сервисов до сих пор не поддерживает стандарт, поэтому пароли остаются обязательным запасным вариантом.
¶Поддержка
Технологию поддерживают крупнейшие интернет-сервисы: Google, Apple, Microsoft, Amazon, PayPal, eBay, GitHub, Dropbox, а также банки и государственные порталы ряда стран. В России поддержка passkey постепенно появляется у отдельных банков и платёжных систем, однако массовое внедрение сдерживается необходимостью сертификации средств криптографической защиты информации (СКЗИ) и требованиями локализации данных.
¶История
В 2013 году консорциум FIDO опубликовал спецификацию U2F (Universal 2nd Factor) — стандартизированный аппаратный второй фактор аутентификации. В 2018 году появился FIDO2, объединивший U2F с WebAuthn. В мае 2022 года Apple, Google и Microsoft совместно объявили о планах внедрения passkey на всех своих платформах. В течение 2022–2023 годов функция появилась в iOS 16, macOS Ventura, Android 14 и Windows 11.
¶Источники
- Спецификация W3C Web Authentication Level 2
- Документация FIDO Alliance по архитектуре FIDO2
- Материалы Apple, Google и Microsoft по внедрению passkey
- Публикации NIST SP 800-63B по цифровой идентификации
