Что такое Passkey?
- Глоссарий IAM
- Что такое Passkey?
Passkey — это современная технология аутентификации без пароля, которая позволяет пользователям входить в учетные записи и приложения, используя криптографический ключ вместо пароля. Passkey использует биометрические данные (отпечатки пальцев, распознавание лиц и т. д.) для подтверждения личности пользователя.
В чем разница между ключом доступа и паролем?
Несмотря на схожие названия, ключи доступа отличается от паролей.
Что такое пароль?
Пароль — это строка символов, которую пользователи должны вводить при входе на веб-сайт или в приложение, обычно в сочетании с именем пользователя. Чтобы предотвратить утечку данных и захват учетных записей, NIST рекомендует, чтобы пароли удовлетворяли следующим требованиям:
- Минимум восемь символов
- Возможность использовать все специальные символы, но нет особых требований к их использованию
- Ограничение на использование последовательных и повторяющихся символов (например, 12345 или ааааааа)
- Ограничение на использование паролей, зависящих от контекста (например, название сайта)
- Ограничение на часто используемые пароли (например, qwerty, пароль 123) и словарные слова
Что такое Passkey?
Passkey — это новая технология аутентификации, использующая криптографию с открытым ключом, позволяющая пользователям входить на веб-сайты и в приложения без необходимости вводить пароль. Вместо этого пользователи проходят аутентификацию так же, как разблокируют свои телефоны и планшеты: с помощью отпечатка пальца, лица или других биометрических данных; с помощью точечного шаблона; или путем ввода PIN-кода. Для удобства большинство людей выбирают биометрическую аутентификацию.
Вместо создания пароля для входа в учетную запись пользователи генерируют ключ доступа (passkey), который на самом деле представляет собой пару, состоящую из одного закрытого и одного открытого ключа, с помощью «аутентификатора». Этим «аутентификатором» может быть устройство, такое как смартфон или планшет, веб-браузер или менеджер паролей, поддерживающий технологию passkey.
Перед созданием ключа доступа аутентификатор потребует, чтобы пользователь идентифицировал себя с помощью PIN-кода, точечного шаблона или биометрии. Затем аутентификатор отправляет открытый ключ (который, грубо говоря, эквивалентен имени пользователя) на веб-сервер учетной записи для хранения, а аутентификатор безопасно сохраняет закрытый ключ локально. Если аутентификатором является смартфон или другое устройство, закрытый ключ будет храниться в связке ключей устройства. Если аутентификатор является менеджером паролей, закрытый ключ будет храниться в зашифрованном хранилище менеджера паролей.
Как работает ключ доступа?
Чтобы создать новый ключ доступа, пользователь входит в свою учетную запись как обычно, а затем включает настройку ключа доступа на экране настроек безопасности веб-сайта или приложения. Затем веб-сайт или приложение предлагает пользователю сохранить ключ доступа, связанный с его устройством. Затем веб-браузер или операционная система запросят биометрическую аутентификацию для подтверждения запроса, а ключ доступа будет сохранен локально.
При последующем входе на веб-сайт пользователю будет предложено использовать ключ доступа со своего устройства для входа вместо пароля. Если веб-браузер поддерживает синхронизацию ключей доступа между устройствами, ключ доступа будет доступен на этих устройствах.
Если пользователь использует устройство, на котором нет ключа доступа к веб-сайту или приложению, у него может быть возможность использовать другое устройство. Если браузер поддерживает аутентификацию между устройствами, браузер может предложить пользователю ввести QR-код, который можно отсканировать мобильным устройством, для завершения входа. Аутентификация между устройствами также включает использование Bluetooth для поиска доверенного устройства поблизости.
Это то, что видит конечный пользователь. Давайте посмотрим, что при этом происходит на уровне сервера. Когда конечный пользователь пытается войти в свою учетную запись с помощью ключа доступа, сервер учетной записи отправляет аутентификатору «запрос», состоящий из строки данных. Аутентификатор использует закрытый ключ для ответа на «запрос» отправляет его обратно; этот процесс называют «подписанием» данных и проверкой личности пользователя.
Обратите внимание, что во время этого процесса серверу учетных записей никогда не требуется доступ к закрытому ключу пользователя, и, следовательно, никакая конфиденциальная информация никогда не передается. Это возможно, поскольку открытый ключ, хранящийся на сервере, математически связан с закрытым ключом. Серверу нужны только открытый ключ и подписанные данные, чтобы убедиться, что закрытый ключ принадлежит пользователю.
Безопаснее ли использовать ключи доступа?
Использование ключей доступа более безопасно, чем паролей, по многим причинам:
- Чтобы пароли работали, серверы учетных записей должны хранить их — или, по крайней мере, их хэши — чтобы они могли сравнивать сохраненные данные с паролем, который вводит пользователь. Как упоминалось ранее, технология ключей доступа не требует, чтобы серверы учетных записей хранили закрытые ключи пользователей; им требуется хранить только открытые ключи. Если сервер учетных записей будет взломан, злоумышленники получат доступ только к открытым ключам, которые бесполезны без соответствующих закрытых ключей.
- У большинства людей плохая гигиена паролей. Они используют слишком короткие пароли или пароли, содержащие словарные слова или биографическую информацию, которую легко угадать. Они повторно используют пароли на нескольких сайтах. И вместо того, чтобы использовать диспетчер паролей, они хранят свои пароли на стикерах или в незашифрованных текстовых файлах. Ключи доступа, с другой стороны, генерируются аутентификатором пользователя, поэтому они всегда очень сложны и уникальны для каждого пользователя и каждой учетной записи, каждый раз.
- Многие люди также не защищают свои учетные записи с помощью двухфакторной аутентификации (2FA). Ключи доступа полагаются на 2FA по замыслу; чтобы использовать пароль, конечный пользователь должен иметь рядом свой аутентификатор, удовлетворяя критериям "кем вы являетесь" (биометрия) и "что у вас есть" (аутентификатор).
- В отличие от паролей, ключи доступа не могут быть скомпрометированы в фишинговых схемах, поскольку невозможно обманом заставить пользователя ввести ключ доступа на поддельном сайте-двойнике.
Вытеснят ли ключи доступа пароли и менеджеры паролей?
Хотя ключи доступа со временем могут заменить пароли, они не заменят менеджеры паролей. Наоборот. менеджеры паролей станут еще более важными. Это связано с тем, что ключи доступа привязаны к аутентификатору. У пользователей есть выбор, использовать ли устройство — обычно смартфон, но могут работать планшеты, ноутбуки или настольные компьютеры — или менеджер паролей, поддерживающий ключи доступа.
Поначалу использование смартфона в качестве аутентификатора может показаться логичным вариантом, поскольку большинство людей постоянно носят свои телефоны с собой. Однако, поскольку большинство людей используют несколько устройств, это быстро становится неудобным. Если пользователь хочет получить доступ к учетной записи или приложению на другом устройстве, например, на своем ноутбуке или планшете, ему придется сгенерировать QR-код на этом устройстве, затем отсканировать его с помощью своего аутентификатора, а затем использовать свои биометрические данные, чтобы наконец-то войти.
Менеджер паролей, подобный Keeper , в котором поддержка ключей доступа будет внедрена в начале 2023 года, значительно упростит этот процесс за счет привязка ключа доступа к приложению, а не к физическому устройству.
Какие компании поддерживают ключи доступа?
На момент написания этой статьи количество веб-сайтов и приложений, поддерживающих эту технологию, все еще невелико. Apple, Microsoft, Best Buy, GoDaddy, PayPal, Kayak и eBay входят в число основных компаний, поддерживающих сейчас ключи доступа.
Однако благодаря удобству и безопасности популярность ключей доступа быстро растет. Google развернула поддержку ключей доступа в стабильной версии Chrome M108 для Windows, Android и macOS в декабре 2022 года. В разработке находится поддержка iOS и Chrome OS, а также новый набор API, который обеспечит поддержку ключей доступа в приложениях Android.