Пасски (passkey) — термин, введенный в оборот компанией Apple как альтернатива паролю (password). Как следует из названия, вместо «слова» в этой технологии безопасность пользователя обеспечивают криптографические ключи. В теории пасски действительно решает практически все проблемы, которые связаны с ненадежностью паролей и их уязвимостью перед хакерами. При этом технология не сложна в освоении (возможно, вам понадобится лишь обзавестись USB-ключом — и то не обязательно). Проблема — лишь в низком уровне ее распространения: пока пасски поддерживают буквально полторы сотни сайтов и сервисов (правда, среди них есть почти все интернет-гиганты), да и они ограничивают внедрение продукта избирательным подходом к работе с аутентификаторами. «Медуза» подробно рассказывает, чем именно пасски лучше паролей, как устроены все этапы работы с ними и почему даже в этой технологии злоумышленники могут пробить брешь.
Начнем с очевидного: что вообще не так с паролями?
Вы и сами наверняка знаете: главная проблема заключается в том, что пароли крадут, подсматривают, выискивают в утечках и используют затем для взлома пользовательских аккаунтов. Шансы на успех взломщика существенно увеличиваются, если пользователь создает слабые пароли, а также использует один и тот же логин и пароль в разных сервисах.
Сервисы, как правило, не проверяют, присутствует ли вводимый пользователем пароль в уже известных утечках. И в принципе не могут знать, использовался ли этот пароль где-то еще, если он раньше не утекал.
Зато многие компании пытаются решить проблему слабых паролей, придумывая собственные правила их создания. Они сильно отличаются от сайта к сайту и иногда оказываются настолько абсурдными, что лишь мешают использовать сильные пароли.
- Сайты могут ограничивать максимально допустимую длину пароля. Иногда это всего лишь 8-10 символов.
- Бывает, что сайты при регистрации самовольно обрезают слишком длинный (по их мнению) пароль и не сообщают об этом пользователю. А при входе отказываются принимать исходный (кейс с обрезанием пароля однажды даже чуть было не привел к краху компанию PayPal).
- Сайты могут требовать использовать конкретные специальные символы или буквы в разных регистрах. И тем самым осложнять запоминание длинных парольных фраз, которые некоторые люди предпочитают использовать как адекватную замену обычным надежным паролям.
- Периодически сайты заставляют пользователей менять пароль. А те переиспользуют старый, лишь незначительно обновляя его. Например, добавляют еще одну цифру: так Password!1 превращается в Password!11.
Попробуйте без подсказок пройти до конца игру, посвященную абсурдным правилам создания паролей.
Пользователи, в свою очередь, понятия не имеют, каким образом с их паролями обращается тот или иной сервис. И только после очередной утечки оказывается, что пароли хранились в открытом виде или хешировались с использованием слабых алгоритмов — поэтому существенную часть слабых паролей можно восстановить, просто перебирая наиболее вероятные варианты.
Разве эти проблемы не решаются двухфакторной аутентификацией?
Лишь отчасти. Двухфакторная аутентификация вводит дополнительный уровень безопасности и защищает пользователей со слабыми или повторяющимися паролями. Но вашу учетную запись все равно можно взломать — например, с помощью фишинговой атаки. С ней не справится наиболее распространенный вид второго фактора — установленное на вашем телефоне приложение для генерации одноразовых кодов.
Злоумышленники могут создать мошеннические версии сайтов, которые выглядят в точности как настоящие сервисы. Можно прислать такую ссылку жертве и под каким-нибудь предлогом убедить залогиниться. Когда пользователь попытается войти в учетную запись на мошенническом сайте, то он отправит злоумышленникам не только свой пароль, но и сгенерированный в приложении одноразовый код. Если атакующий получит эту информацию в реальном времени, то он может быстро использовать ее для аутентификации на настоящем сайте до того, как код станет недействительным.
Второй фактор в виде USB-ключей (которые выглядят как обычные флешки), использующих протокол FIDO U2F (он же CTAP1), позволяет технически защитить пользователей от фишинга. Для каждого сайта такое устройство генерирует уникальную пару приватного и публичного ключей. Но не хранит их, а каждый раз воссоздает заново при помощи уникального мастер-ключа и адреса сайта. Так как у фишингового сайта адрес будет отличаться, то для него будет сгенерирован неправильный ключ и злоумышленники не смогут войти в аккаунт жертвы.
Но FIDO U2F ключи в теории представляют другую угрозу. В некоторых случаях они помогают деанонимизировать своих владельцев. Если один и тот же USB-ключ используется для защиты двух учетных записей — публичной и анонимной — на одном и том же сайте, то владелец этого сайта может организовать проверку и связать между собой эти два аккаунта.
Более надежной альтернативой может стать пасски. Вот что это такое
Пасски (passkey) — это форма беспарольной аутентификации, использующей асимметричную криптографию. Вместо пароля при регистрации создается пара ключей: приватный остается на устройстве пользователя (аутентификаторе), а публичный передается на хранение сервису. Они же потом используются для аутентификации пользователя при входе в учетную запись.
Вот какие преимущества есть у пасски.
- Защита от утечек. Даже в случае взлома сервиса, в котором вы регистрировались с помощью пасски, злоумышленнику достанется лишь публичный ключ. Восстановить из него ваш приватный ключ — не только непосильная по нынешним меркам задача, но и бессмысленная. Потому что для каждой учетной записи генерируется собственная пара ключей.
- Защита от фишинга. При регистрации на сайте в пасски записывается исходный адрес. Во время входа в учетную запись происходит проверка этого адреса. Так как у фишингового сайта он будет другим, то злоумышленник останется ни с чем.
- Вход без указания логина. При создании пасски в него записывается не только приватный ключ, но и адрес сайта, а также логин пользователя, указанные при регистрации.
- Двухфакторная аутентификация. В качестве первого фактора вместо фактора знания (пароля) в пасски используется фактор владения. Потому что в распоряжении пользователя должно быть устройство с криптографическими ключами, будь то телефон или USB-ключ. Вторым фактором может быть биометрический фактор (телефон нужно разблокировать по отпечатку пальца или путем сканирования лица) или фактор знания (ввести пин-код для USB-ключа). То есть разблокировка телефона с использованием пароля объединяет в себе сразу два фактора аутентификации: фактор владения и фактор знания.
Слово пасски ввела в оборот компания Apple в 2022 году. Она противопоставила passkey привычному password, удачно выделив суть — замену слов криптографическими ключами. Новый бренд прижился и заменил собой во многом технические термины «резидентные ключи» (resident keys) и «обнаруживаемые учетные данные» (discoverable credentials) из текстов протоколов FIDO CTAP2 и WebAuthn, описывающих эту технологию.
Сейчас Apple, Google и Microsoft интегрировали поддержку пасски в свои операционные системы и активно продвигают технологию среди пользователей. Но пока очень мало интернет-сайтов и сервисов поддерживают аутентификацию пользователей с помощью пасски. На специализированном сайте passkeys.directory их насчитали всего около полутора сотен. Зато там уже есть много крупных компаний: Apple, Google, Microsoft, Amazon, eBay, GitHub, Nintendo, PlayStation, Roblox, Bolt, Uber, Binance, Link (Stripe), PayPal, Revolut, WhatsApp, X (Twitter), Yahoo!, VK и «Яндекс».
Прежде чем переводить свои основные учетные записи на пасски, можете оценить удобство и потестировать эту технологию на специальных сайтах: passkeys.io, webauthn.io и passkeys.eu.
Пасски не идеален. Вот с какими проблемами могут столкнуться пользователи
- Во-первых, если сейчас попытаться завести себе пасски во всех этих сервисах, можно быстро обнаружить, что многие из них разрешают использовать только конкретные аутентификаторы пасски. Например, сервис позволит сохранить пасски в iCloud Keychain или Google Password Manager, но откажется работать с USB-ключами. Дело в том, что у каждого менеджера паролей или конкретной модели USB-ключа есть свой идентификатор — AAGUID. Поэтому каждый сервис может самостоятельно решить, доверяет ли он любым аутентификаторам или только определенным.
- Во-вторых, iCloud Keychain и Google Password Manager пока не позволяют экспортировать пасски. То есть пользователи оказываются запертыми в рамках одной платформы. И если они примут решение полностью отказаться от использования сервисов Apple или Google, то им придется сначала создать новый пасски для каждого сервиса. Чтобы такой проблемы не возникло, можно использовать менеджеры паролей, поддерживающие экспорт пасски (вроде KeePassXC или Proton Pass), или обзавестись USB-ключами.
Одно из главных отличий USB-ключей от программных решений — то, что на них может храниться лишь ограниченное количество пасски. Так, например, USB-ключи компаний Yubico и Nitrokey могут вмещать до 25 или 50 пасски соответственно. В ноябре 2023 года Google выпустил обновленную линейку Titan Security Key. Каждый такой ключ вмещает до 250 пасски (абсолютный рекорд на момент релиза), но поддерживает только устаревшую версию протокола FIDO2 — CTAP 2.0. Из-за этого пользователь вместо выборочного удаления старых, уже не нужных ему пасски может лишь удалить все ключи разом.
Но уже есть, к примеру, сертифицированные FIDO ключи швейцарской Token2 из серии PIN+ Release2. Они вмещают до 300 пасски и и поддерживают протокол CTAP 2.1 — то есть позволяют выборочно удалять ключи.
Заведите себе хотя бы два ключа: основной и запасной (на случай потери первого). И используйте оба при регистрации на сайтах. Google Password Manager, iCloud Keychain, Proton Pass и 1Password хранят ваши пасски в облаке и могут синхронизировать их между разными устройствами. А в USB-ключах пасски хранятся в единственном экземпляре.
Будьте аккуратны с выбором USB-ключа, чтобы внезапно не потерять все свои пасски. Аппаратные криптокошелки Ledger — Nano X, Nano S и Nano S Plus — тоже позволяют заводить пасски, если установить на них приложение Ledger Security Key. Но пока пользоваться ими в реальной жизни невозможно. Дело в том, что при каждом обновлении приложения или прошивки (а они появляются довольно регулярно) все ваши пасски будут удалены. В будущем Ledger обещает позволить сохранять бэкапы ваших пасски.
- В-третьих, будьте внимательны — не станьте жертвой социальной инженерии. Пасски технически полностью защищает вас от фишинга, но успешной может оказаться атака через понижение уровня защиты (downgrade attack). В 2021 году исследователи безопасности из Швейцарской высшей технической школы Цюриха и Карлтонского университета в Канаде провели эксперимент с USB-ключами FIDO U2F, также в теории полностью защищающими пользователей от фишинга. Исследователи создали фишинговый сайт, имитирующий страницу входа Google. Он также якобы предлагал пользователям залогиниться с использованием пароля и USB-ключа, а потом еще просил ввести одноразовые коды из приложения на телефоне или смс. Пользователи воспринимали это как дополнительную меру защиты и послушно отправляли коды. На самом деле, в это время злоумышленники просили настоящий сайт предоставить им альтернативный способ аутентификации на случай поломки или потери USB-ключа. И успешно заходили. Во время эксперимента на уловку попались 55% испытуемых. В реальной жизни, по словам исследователей, их было бы еще больше — до 90%.
- Для гарантированной защиты от такой атаки нужно избавиться от альтернативных, слабых способов аутентификации. Например, программа дополнительной защиты пользователей Google позволяет входить в систему только с использованием USB-ключей (в том числе поддерживающих пасски). А восстановление доступа в случае потери всех ключей намеренно затянуто и может занимать несколько дней.
Темпы внедрения пасски сейчас настолько низкие, что мы еще долго не сможем отказаться от использования менеджера паролей в повседневной жизни. Но можно уже сейчас обезопасить свои основные аккаунты. Это пока лучшая защита, которую сайты и сервисы могут предложить для массового пользователя.
Двухфакторная аутентификация
Это способ дополнительной защиты вашей учетной записи. При входе в систему от пользователя потребуют два разных метода подтверждения его личности. Это могут быть:
— фактор знания («то, что вы знаете») — например, пароль или пин-код;
— фактор владения («то, что у вас есть») — телефонный номер для получения СМС, ваше устройство с приложением для генерации одноразовых кодов или специальный ключ в виде USB-брелока;
— биометрический фактор («то, кто вы такой») — отпечаток пальца или радужная оболочка глаза.
С чего вы это взяли?
Об этом прямо говорится в спецификации FIDO U2F — в главе 13.1 «An Origin Can Discover that Two Accounts Share a U2F Device».
А можно конкретнее?
Аутентификатором могут выступить, например, iCloud Keychain на вашем айфоне или Google Password Manager на андроиде, менеджер паролей вроде 1Password, KeePassXC или Proton Pass, а также USB-ключ с поддержкой FIDO2.
Authenticator Attestation GUID
Уникальный идентификатор, который используется в системах аутентификации, таких как WebAuthn и FIDO2, для идентификации модели аутентификационного устройства (аутентификатора). AAGUID является глобальным и уникальным для каждой модели устройства, но не уникальным для каждого отдельного устройства. Таким образом, он не может быть использован для отслеживания конкретного пользователя или его устройства, но позволяет серверу определить, какой тип устройства аутентификации используется.
Что это значит?
То есть преобразовывались в уникальный набор символов, присущий только этому конкретному массиву информации.