Ключи доступа
Пароли — это самый близкий к реальному преемнику паролей объект. Они аутентифицируют вас с помощью криптографии вместо общего секрета, они синхронизируются между вашими устройствами через связку ключей вашей ОС и по своей конструкции защищены от фишинга. Каждая крупная операционная система, браузер и поставщик удостоверений теперь поддерживает ключ доступа.
Полный текст статьи на английском языке представлен ниже.
A passkey — это учетные данные FIDO2 — пара криптографических ключей, созданная и хранимая операционной системой вашего устройства и используемая для аутентификации вас на веб-сайте или в приложении без ввода пароля. Браузер доказывает владение закрытым ключом, подписывая запрос с сайта; сайт проверяет зарегистрированный открытый ключ. Никаких паролей, никаких кодов, никаких сложностей, кроме отпечатка пальца или запроса Face ID.
Какие пароли заменяют
Традиционный процесс входа в систему имеет три уровня проблем:
- Пароли угадываются. Наиболее распространенными из них являются словарные слова и простые шаблоны. Атаки с подбросом учетных данных повторно используют утекшие базы данных паролей для каждого сайта.
- Пароли можно использовать повторно. Пользователи повторно используют их в разных службах, поэтому одно нарушение ставит под угрозу множество учетных записей.
- 2FA прикручен. SMS-коды могут быть перехвачены, TOTP может быть взломан в реальном времени. В настоящее время только аппаратные ключи действительно защищены от фишинга, а аппаратные ключи слишком сложны для обычных пользователей. WebAuthn (стандарт W3C) на стороне браузера и CTAP2 (протокол клиент-аутентификатор), когда задействовано отдельное устройство, такое как аппаратный ключ. Вместе они реализуют платформу FIDO2.
Когда вы регистрируете ключ доступа на сайте example.com:
- Сайт запрашивает ваш браузер создать учетные данные.
- Ос генерирует пару ключей ECC (обычно в Secure Enclave / TPM / TitanM2).
- Ос связывает открытый ключ с example.com и идентификатором учетных данных.
- Браузер отправляет открытый ключ на сайт, который сохраняет его в записи вашей учетной записи.
- Закрытый ключ никогда не покидает безопасное хранилище вашего устройства.
При следующем входе в систему:
- Сайт отправляет случайный вызов.
- Браузер просит ОС подписать запрос вашим закрытым ключом example.com.
- Ос предлагает вам авторизоваться — Touch ID, Face ID, Windows Hello или PIN-код.
- Подписанный запрос возвращается на сайт, который проверяет сохраненный на нем открытый ключ.
- Вы вошли в систему in.
Почему ключи доступа защищены от фишинга
Браузер привязывает подпись к фактическому домену (источнику), который посещает пользователь. Если вы находитесь на реальном сайте example.com, подпись будет например example.com. Если вас обманом завели на evil-example.com, браузер создаст подпись для evil-example.com, которую настоящий example.com не примет. Злоумышленник не может перехватить и воспроизвести учетные данные — не существует секретного кода, который можно было бы воспроизвести, например, пароля или TOTP-кода.
Это то же свойство, которое сделало аппаратные ключи FIDO2 устойчивыми к фишингу, теперь оно расширено до учетных данных, управляемых ОС, для которых не требуется отдельный ключ.
Sync и привязанный к устройству
Существует два варианта ключ доступа:
- Синхронизированные ключи доступа. Хранятся в связке ключей ОС (связка ключей iCloud, Менеджер паролей Google, 1Password, Bitwarden) и синхронизируются между вашими устройствами. Вы можете войти в систему со своего ноутбука, используя пароль, созданный на вашем телефоне. Наиболее удобный для потребителя.
- Ключи доступа, привязанные к устройству. Оставайтесь на одном устройстве, обычно это аппаратный ключ. Более высокие гарантии безопасности (нельзя взломать, даже если ваша учетная запись iCloud скомпрометирована) за счет необходимости каждый раз использовать физическое устройство. Их предпочитают использовать в корпоративных и высокобезопасных сценариях.
Вход на разных устройствах
Вы можете войти в систему на устройстве, на котором нет вашего ключа доступа, используя ключ доступа на ближайшем устройстве. Стандартный процесс: ноутбук показывает QR-код, вы сканируете его с помощью телефона, ваш телефон проверяет подлинность с помощью ключа доступа и отправляет подтверждение на ноутбук через проверку близости Bluetooth. Быстрый, не требует подключения телефона к той же сети Wi-Fi, предотвращает атаки на большом расстоянии, поскольку Bluetooth подтверждает физическую близость.ul>
- Apple, Google, Microsoft включили поддержку ключей доступа в свои цепочки ключей для ОС с 2022 по 2023 гг.
- 1Password, Bitwarden, Dashlane добавили синхронизацию ключей доступа между ОС в 2023 г.
- К основным сайтам с поддержкой ключей доступа относятся Google, Apple, Microsoft, Meta, Amazon, GitHub, eBay, PayPal, Best Buy, Robinhood, еще сотни
- Многие сайты по-прежнему используют пароль+2FA по умолчанию, но предлагают ключ доступа в качестве опции
Теперь проблемы в основном связаны с принятием сайта и знакомством пользователей. Технология устоялась.
Там, где не хватает ключей доступа
Несколько честных ограничений:
- Восстановить учетную запись сложнее. Потеряйте все свои устройства и доступ к поставщику синхронизации, и вы можете потерять свои ключи доступа. Сайтам, которые поддерживают ключи доступа, по-прежнему требуется процедура восстановления учетной записи, часто прибегающая к электронной почте или SMS, а это означает, что уровнем безопасности по-прежнему является поставщик электронной почты или телефона. для синхронизации между поставщиками требуется сторонний менеджер паролей.
- Защита от фишинга не является защитой от захвата учетной записи. Ключ доступа не может быть фишинговым, но файлы cookie сеанса после входа в систему все равно могут быть украдены вредоносным ПО.
Для большинства учетных записей ключи доступа однозначно лучше, чем пароли. Миграция происходит по одному крупному сайту за раз.
Часто задаваемые вопросы
- Что произойдет, если я потеряю свой телефон с паролем?
- Если ключ доступа был синхронизирован с вашей учетной записью iCloud/Google, вы можете восстановить его, войдя в эту учетную запись на новом устройстве. Если оно было привязано к устройству (аппаратный ключ), вы обычно также регистрировали резервное устройство — каждый сайт, поддерживающий ключи доступа, рекомендует зарегистрировать как минимум два. В случае сбоя обоих поток восстановления возвращается к электронной почте/SMS.
- Ключи доступа — это то же самое, что и биометрический вход?
- Не совсем. Биометрические данные (Touch ID, Face ID) — это то, что разблокирует ключ доступа на вашем устройстве. Сам ключ доступа является криптографическим ключом. Отпечаток пальца никогда не покидает ваше устройство — сайт видит только подпись от ключа в вашем защищенном анклаве. Биометрические данные подтверждают криптографию; оно не передается.
- Можно ли украсть пароль?
- Закрытый ключ хранится в защищенном оборудовании (Secure Enclave, TPM, TitanM2) и не подлежит извлечению. Ключи доступа, синхронизированные с облаком, могут быть раскрыты, если ваша учетная запись iCloud или Google скомпрометирована — именно поэтому эти учетные записи нуждаются в собственной надежной защите (в идеале с аппаратным ключом 2FA).
- Все ли сайты работают с паролями?
- Только сайты, на которых реализован WebAuthn. Принятие широкое, но неравномерное: крупные сайты, посвященные технологиям и финансам, обычно поддерживают его, а сайты поменьше часто этого не делают. Если сайт не поддерживает ключи доступа, вы возвращаетесь к паролю + 2FA, и это нормально.
- Являются ли ключи доступа более безопасными, чем аппаратные ключи?
- Примерно эквивалент свойства устойчивости к фишингу. Аппаратные ключи имеют одно преимущество: учетные данные никогда не могут быть украдены, даже если ваш компьютер или облачная учетная запись скомпрометированы. Синхронизированные ключи доступа более удобны и в равной степени защищены от фишинга, но менее устойчивы к полностью скомпрометированной облачной учетной записи. Для счетов с высокими ставками используйте аппаратный ключ. Для повседневного использования синхронизированные ключи доступа являются правильным балансом.