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