Введение в пароли
Аутентификация на основе пароля была режимом по умолчанию в течение многих лет. Но кто хочет помнить пароли для каждого сайта, на котором они регистрируются? Большинство людей используют один и тот же пароль во многих местах, что-то легко запоминающееся. Менеджеры паролей упрощают автозаполнение учетных данных, но они не могут преодолеть проблемы безопасности, присутствующие в системе аутентификации на основе пароля по умолчанию. И вот появляются Passkeys. Они безопаснее и проще в использовании, обеспечивая аутентификацию без пароля с новым видением в области аутентификации, которое кажется многообещающим.
Как и все остальное, пароли имеют свои преимущества и недостатки, которые мы обсудим в этой статье, а также рассмотрим, как работает этот режим аутентификации, насколько он безопасен и многое другое.
Как работают пароли?
Passkeys используют криптографию открытого ключа для генерации потока аутентификации вместо того, чтобы полагаться на один пароль на основе строки. Устройство пользователя генерирует пару открытого/закрытого ключа и отправляет открытый ключ на сервер, который сохраняет его и позже использует ключ для аутентификации пользователя, закрытый ключ хранится на устройстве пользователя.
Регистрационный поток
- Устройство пользователя генерирует пару открытого и закрытого ключей, привязанную к веб-сервису.
- Открытый ключ отправляется на веб-сервис, а закрытый ключ сохраняется на устройстве пользователя.
- Веб-сервис хранит открытый ключ пользователя в своей базе данных.
Поток аутентификации
- Веб-сервис отправляет клиенту одноразовый номер вызова.
- Пользователи проходят локальную аутентификацию, используя любой метод, например биометрию, PIN-код и т. д., для доступа к закрытому ключу.
- Пользовательское устройство подписывает запрос, используя закрытый ключ для данной конкретной веб-службы.
- Веб-сервис получает подписанный вызов и проверяет его с помощью открытого ключа. Это гарантирует, что клиентское устройство действительно имеет доступ к закрытому ключу.
- После успешной проверки веб-сервис аутентифицирует пользователя.
Что следует отметить
- Пара открытого и закрытого ключей уникальна для каждого сервиса/сайта.
- Открытый ключ передается на веб-сервис по сети только один раз при регистрации.
- Закрытый ключ все время остается на устройстве пользователя и никогда не передается по сети. (Исключением является синхронизация ключей доступа с помощью менеджера паролей)
- Подписанная полезная нагрузка, сгенерированная пользовательским устройством, передается по сети, зависит от сеанса и изменяется каждый раз при аутентификации пользователя.
Насколько они безопасны и могут ли они стать лучшей альтернативой паролям?
Повышение безопасности обычно означает снижение простоты использования, но это не относится к ключам доступа. Их проще использовать после завершения фазы регистрации. Нет необходимости запоминать пароли, аутентификация быстрая, простая и безопасная.
Пароли сокращают поверхность атаки и устраняют некоторые распространенные угрозы паролям. Пароли обычно хранятся в зашифрованном виде в базе данных. Когда вы используете текстовый пароль для входа в веб-сервис, они генерируют тот же зашифрованный текст и сравнивают его с тем, который у них уже есть, таким образом пользователи проходят аутентификацию. Теперь у нас остается две наиболее распространенные угрозы.
- Взломы баз данных
- Фишинговые атаки
Взломы баз данных — обычное дело, и когда данные сервиса крадут, их часто продают в даркнете. Злонамеренные субъекты, имеющие доступ к данным, могут попытаться взломать шифрование в автономном режиме, и с вычислительной мощностью, доступной сегодня, это может занять от нескольких недель до нескольких месяцев в зависимости от шифрования. Пароли устраняют эту угрозу, поскольку нет паролей для хранения. В случае утечки раскрывается только открытый ключ, который не представляет особой пользы для злоумышленников.
При фишинговых атаках создается клон целевого веб-сайта, и пользователя обманывают, заставляя ввести свои учетные данные, принимая его за настоящий сайт. Однако это также не работает с Passkeys, поскольку нет учетных данных для кражи. Сложные фишинговые атаки в сочетании с Man in the Middle все еще могут быть работоспособны, но поверхность атаки значительно сокращается.
Типы паролей
- Отдельное устройство или привязанное к устройству
- Закрытый ключ никогда не покидает устройство.
- Аутентификацию можно выполнить только на определенном устройстве, на котором существуют закрытые ключи.
- Поскольку ключ существует только на одном устройстве, необходимо активировать путь восстановления на случай потери доступа к устройству.
- Многоустройство или синхронизация
- Закрытый ключ синхронизируется на всех устройствах пользователя.
- Обычные варианты включают использование менеджера паролей Google, связки ключей iCloud и т. д.
- Ключи зашифрованы сквозным способом, что означает, что провайдер не может видеть или использовать ваши ключи, даже если он их хранит.
- Это повышает удобство использования, поскольку пользователям нужно зарегистрировать только одно устройство, и они могут повторно использовать одни и те же ключи на всех своих устройствах.
Переносимость паролей
Как мы уже узнали в предыдущем разделе, пароли можно синхронизировать между устройствами, поэтому мы знаем, что они переносимы. Вы можете использовать пароли на всех своих устройствах, пока вы вошли в систему с провайдером (Google, iCloud). Это подводит нас к вопросу о том, как мы будем использовать пароли на устройстве, которое вам не принадлежит, возможно, на компьютере друга или в библиотеке, по сути, на любом устройстве, где вы просто хотите использовать его один раз. Пароли также охватывают этот случай, как это работает: если две системы поддерживают пароли, они могут общаться друг с другом по Bluetooth для совместного доступа. Давайте рассмотрим пошаговое руководство того, как это работает.
- Вы открываете веб-сайт xyz.com на рабочем столе, где у вас нет ключа доступа.
- Вы можете использовать опцию входа с помощью паролей на другом устройстве.
- Desktop покажет вам доступные поблизости устройства или QR-код.
- Вы можете выбрать устройство или отсканировать QR-код.
- После этого вы можете использовать свое мобильное устройство для аутентификации и разрешить настольному компьютеру использовать пароль с вашего мобильного устройства.
- После аутентификации вы также получаете возможность создать ключ доступа на рабочем столе без прохождения процесса регистрации. Если вы выберете этот вариант, вам не понадобится мобильное устройство в следующий раз, и для рабочего стола будет создан новый набор ключей доступа.
- Если вы решите использовать пароль только один раз, новые пароли создаваться не будут.
Выводы по усыновлению
Ключи доступа основаны на стандартах FIDO2, которые объединяют протокол Client to Authenticator (CTAP) с API веб-аутентификации (WebAuthn) и являются совместным проектом альянса FIDO и W3C. Эти усилия по стандартизации направлены на повышение уровня принятия и надлежащего внедрения. Собственная поддержка ключей доступа добавлена такими компаниями, как Google, Apple, Microsoft на уровне ОС и браузера, что в значительной степени способствует принятию ключей доступа.
Из-за долгой зависимости от паролей в отрасли, принятие паролей является не только технической, но и психологической проблемой. Конечные пользователи могут поначалу чувствовать себя неловко из-за паролей просто потому, что они привыкли к привычности систем на основе паролей. Несмотря на то, что пароли безопаснее и проще в использовании, чем пароли, удобство известных вариантов в большинстве случаев берет верх. Для принятия паролей в больших масштабах необходимо обучение пользователей, вопросы по восстановлению и простоте использования будут изначально.
С другой стороны, компании могут неохотно предлагать аутентификацию с помощью ключа доступа, если они не видят достаточного принятия пользователями. В государственном секторе правительства могут поощрять принятие посредством изменения политики.
Заключение
Пароли имеют потенциал для преобразования пространства аутентификации. Они безопасны и просты в использовании. Они устраняют общие угрозы, которые существуют при аутентификации на основе паролей, однако они также приносят свои проблемы и ограничения. Восстановление учетных записей и переносимость учетных данных — вот некоторые вопросы, которые необходимо решить должным образом. Я считаю, что следующим шагом будет использование гибридного режима аутентификации, т. е. использование паролей вместе с паролями. По мере того, как принятие в реальном мире будет расти, мы увидим больше аргументов, которые будут лучшей точкой для решения, куда двигаться дальше, прежде чем переходить к полностью беспарольному будущему.
**