Passkeys / Пароли / Аутентификация
Пароли против ключей доступа: как на самом деле работает современный вход

Пароль и passkey могут отображаться на одном экране входа, но они основаны на разных моделях безопасности. Пароль - это многократно используемый секрет, который вы знаете и отправляете сервису. Passkey использует криптографию с открытым ключом: закрытый ключ остается у вашего провайдера passkey, а сервис хранит соответствующий открытый ключ. Вход доказывает владение закрытым ключом, не раскрывая его.
Это различие устраняет несколько распространенных проблем с паролями, но не делает остальную часть учетной записи неуязвимой. Безопасность устройства, восстановление через провайдера passkey, реализация приложения и восстановление учетной записи по-прежнему важны. Поэтому полезное сравнение - не «пароли плохи, passkeys идеальны», а какие атаки предотвращает каждая схема и какие обязанности остаются.
Как работает вход по паролю
Когда вы создаете пароль, правильно спроектированный сервис не должен хранить пароль в открытом виде. Он хранит результат, полученный в процессе хеширования пароля с уникальной солью. При входе сервис обрабатывает введенный пароль и сравнивает результат. Однако если злоумышленник обманом заставит вас ввести пароль на поддельном сайте, он получит многократно используемый секрет и сможет попробовать его на настоящем сервисе.
Повторное использование усугубляет ущерб. Если один и тот же пароль защищает несколько учетных записей, одна скомпрометированная учетная запись может быть проверена в других местах с помощью credential stuffing. Уникальные пароли, созданные и сохраненные менеджером паролей, ограничивают такое распространение. Многофакторная аутентификация добавляет еще один барьер, хотя коды, которые пользователь может ввести на фишинговой странице, также могут быть перехвачены злоумышленником.
Что содержит passkey
Passkey - это учетные данные FIDO, связанные с учетной записью на конкретном веб-сайте или в приложении. При создании аутентификатор генерирует пару криптографических ключей. Открытый ключ регистрируется в сервисе. Закрытый ключ защищается провайдером passkey на устройстве, аппаратном ключе безопасности, в менеджере учетных данных операционной системы или в совместимом стороннем менеджере.
Разблокировка устройства с помощью PIN-кода, отпечатка пальца, проверки лица или графического ключа авторизует использование закрытого ключа. Биометрическая проверка обычно происходит локально; сервис получает криптографическое доказательство, а не данные отпечатка пальца или лица. Обзор passkey от FIDO Alliance описывает passkeys как кроссплатформенные учетные данные FIDO, используемые с помощью того же действия, которое разблокирует устройство.

Как работает вход с помощью passkey
- Сервис отправляет свежий криптографический вызов в браузер или приложение.
- Аутентификатор подтверждает, что запрос принадлежит зарегистрированному сервису, и при необходимости запрашивает согласие пользователя или проверку устройства.
- Закрытый ключ подписывает вызов локально.
- Сервис проверяет подпись с помощью открытого ключа, который он уже хранит.
- Свежий вызов предотвращает повторное использование старого ответа для нового входа.
Веб-механизм стандартизирован через WebAuthn. Спецификация веб-аутентификации W3C определяет учетные данные, ограниченные проверяющей стороной и опосредованные браузером и аутентификатором. Эта привязка к источнику является ключевой для устойчивости к фишингу: учетные данные, зарегистрированные для одного сервиса, не предлагаются подделывающему домену.

Что улучшают passkeys
- При входе не отправляется многократно используемый пароль.
- Каждый сервис получает разные учетные данные, что исключает повторное использование пароля между сайтами.
- Фишинговая страница на другом источнике не может запросить учетные данные, зарегистрированные для законного сервиса.
- Утечка на сервере раскрывает открытые ключи, а не базу данных паролей, которую можно взломать и использовать повторно.
- Разблокировка устройства может заменить запоминание и ввод сложного секрета.
Что passkeys не решают сами по себе
- Скомпрометированное или разблокированное устройство может по-прежнему раскрыть активную сессию или позволить использовать учетные данные.
- Вредоносные расширения браузера, ошибки приложений и кража сессий существуют вне протокола passkey.
- Слабое восстановление учетной записи может обойти надежный метод входа.
- Потеря доступа ко всем устройствам и методам восстановления может по-прежнему заблокировать пользователя.
- Пользователя все еще можно обманом заставить авторизовать вредоносное действие после законного входа.
Руководство FIDO подчеркивает, что полная устойчивость к фишингу включает регистрацию и восстановление, а не только обычный шаг входа. Сервис, который позволяет злоумышленнику сбросить учетную запись через слабый запасной вариант, переместил слабое место, а не устранил его.
Практический план перехода
- Создайте passkeys для важных сервисов, которые их поддерживают, затем проверьте, где хранятся эти passkeys и как они синхронизируются или остаются привязанными к устройству.
- Добавьте более одного пути восстановления, если сервис это позволяет, например второе доверенное устройство или аппаратный ключ безопасности.
- Храните уникальные пароли в менеджере паролей для сервисов, которые все еще требуют пароли.
- Включите самый надежный доступный второй фактор для оставшихся парольных учетных записей, предпочитая методы, устойчивые к фишингу, где это возможно.
- Храните коды восстановления в автономном режиме в месте, доступном, если ваше основное устройство недоступно.
- Проверьте старые устройства и активные сессии после замены или потери устройства.
Passkeys - это значительное улучшение, потому что они меняют протокол, а не только форму секрета. Внедрение еще некоторое время будет смешанным, поэтому большинству людей нужны обе системы: passkeys там, где они поддерживаются, и надежные уникальные пароли с соответствующей многофакторной защитой везде остального.
Основные ссылки
FIDO Alliance: Passkeys. W3C: Спецификация веб-аутентификации.