paint-brush
Прощайте, пароли, привет, ключи доступа: будущее аутентификациик@radioactive
3,081 чтения
3,081 чтения

Прощайте, пароли, привет, ключи доступа: будущее аутентификации

к Varun Sharma6m2024/12/17
Read on Terminal Reader
Read this story w/o Javascript

Слишком долго; Читать

Passkeys — это метод аутентификации без пароля с использованием криптографии с открытым ключом. Они повышают безопасность, снижают риски, такие как фишинг, и упрощают процесс входа.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Прощайте, пароли, привет, ключи доступа: будущее аутентификации
Varun Sharma HackerNoon profile picture
0-item

Введение в пароли

Аутентификация на основе пароля была режимом по умолчанию в течение многих лет. Но кто хочет помнить пароли для каждого сайта, на котором они регистрируются? Большинство людей используют один и тот же пароль во многих местах, что-то легко запоминающееся. Менеджеры паролей упрощают автозаполнение учетных данных, но они не могут преодолеть проблемы безопасности, присутствующие в системе аутентификации на основе пароля по умолчанию. И вот появляются 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 на уровне ОС и браузера, что в значительной степени способствует принятию ключей доступа.


Из-за долгой зависимости от паролей в отрасли, принятие паролей является не только технической, но и психологической проблемой. Конечные пользователи могут поначалу чувствовать себя неловко из-за паролей просто потому, что они привыкли к привычности систем на основе паролей. Несмотря на то, что пароли безопаснее и проще в использовании, чем пароли, удобство известных вариантов в большинстве случаев берет верх. Для принятия паролей в больших масштабах необходимо обучение пользователей, вопросы по восстановлению и простоте использования будут изначально.


С другой стороны, компании могут неохотно предлагать аутентификацию с помощью ключа доступа, если они не видят достаточного принятия пользователями. В государственном секторе правительства могут поощрять принятие посредством изменения политики.

Заключение

Пароли имеют потенциал для преобразования пространства аутентификации. Они безопасны и просты в использовании. Они устраняют общие угрозы, которые существуют при аутентификации на основе паролей, однако они также приносят свои проблемы и ограничения. Восстановление учетных записей и переносимость учетных данных — вот некоторые вопросы, которые необходимо решить должным образом. Я считаю, что следующим шагом будет использование гибридного режима аутентификации, т. е. использование паролей вместе с паролями. По мере того, как принятие в реальном мире будет расти, мы увидим больше аргументов, которые будут лучшей точкой для решения, куда двигаться дальше, прежде чем переходить к полностью беспарольному будущему.






**