Пароль не умирает
В прошлом году в интернете распространялись новостные статьи, утверждающие, что крупные технологические компании объединяются, чтобы устранить пароли. Некоторые стартапы даже заявили, что пароли устарели и вышли из употребления.
Введение
В прошлом году в интернете распространялись новостные статьи, утверждающие, что крупные технологические компании, такие как Apple, Google и Microsoft, объединяются, чтобы устранить пароли. Некоторые стартапы даже заявили, что пароли устарели и вышли из употребления. Погрузившись в область управления идентификацией в течение нескольких месяцев, я стал задаваться вопросом о достоверности и практичности этих утверждений.
Для чего нужен пароль?
На первый взгляд ответ кажется очевидным: пароли используются для входа в систему и подтверждения идентичности. Однако, я смотрю на это с другой точки зрения, если учесть тот факт, что пароли не могут действительно проверить, кто вы есть:
- Когда пользователь входит на сайт с помощью электронной почты и пароля, сайт не может подтвердить, кто на самом деле стоит за этими учетными данными. Это может быть человек или даже кошка.
- Любой может разблокировать iPhone с правильным PIN-кодом.
На самом деле, цель пароля заключается в том, чтобы анонимно доказать владение чем-то: учетной записью пользователя, устройством или доступом к двери.
Текущие «убийцы паролей»
Компании, о которых говорилось ранее, предложили различные "убийцы паролей". Многие из них утверждают, что они являются более безопасными альтернативами, которые исключают необходимость запоминания пользователями сложных, статических паролей во время аутентификации. Однако большинство этих альтернатив не совсем практичны для полного устранения паролей.
Аутентификация FIDO
FIDO (Fast Identity Online) аутентификация, как объяснено в официальной документации, использует методы криптографии открытого ключа для регистрации и входа в систему (стоит отметить, что WebAuthn является основным компонентом спецификаций FIDO2). На первый взгляд, процесс кажется привлекательным:
Просто, правда? К сожалению, на пути стоит значительное препятствие: совместимость. По сравнению с традиционной комбинацией "идентификатор и пароль", аутентификация FIDO требует:
- Сайтов или приложений, которые поддерживают FIDO.
- Браузеров и/или операционных систем, поддерживающих FIDO.
- Устройств пользователя, на которых установлен удобный для пользователя механизм проверки.
Неудача в выполнении любого из этих требований делает аутентификацию FIDO недоступной, что приводит к откату к другим методам.
Более того, даже если все условия выполнены, что считается "подходящим для пользователя механизмом проверки" на устройстве? В настоящее время это может включать в себя биометрические методы, такие как распознавание отпечатков пальцев или лиц, с применением резервного варианта, такого как PIN-код, т.е. пароль. В итоге мы возвращаемся обратно.
Технически, это не "убийца паролей", а более безопасный и удобный для пользователя процесс аутентификации или проверки, защищенный паролями.
Одноразовый пароль
Несмотря на то, что название включает в себя термин «пароль», одноразовые пароли (OTP) не являются традиционными паролями, потому что они динамические. Существуют два популярных типа OTP:
- Одноразовый пароль на основе времени (TOTP): Генерируется алгоритмически, используя текущее время в качестве источника уникальности. Обычно используется в многофакторной аутентификации (MFA) или 2FA.
- SMS/Email одноразовый пароль: Генерируется на сервере с использованием случайных алгоритмов. В некоторых странах он широко принят в качестве основного метода входа в систему.
TOTP может быть не так широко известен по имени. Например, когда сайт просит вас установить MFA и использовать приложение, такое как Google Authenticator или Duo для сканирования QR-кода, вы, скорее всего, используете TOTP. Вы также могли заметить, что сайт часто отображает длинный "код восстановления" и советует вам сохранить его, так как он будет показан только один раз. Некоторые сайты даже призывают пользователей распечатать его на бумаге. По сути, этот код восстановления функционирует как длинный пароль.
Что касается SMS/Email OTP, они могут быть дорогими и ненадежными:
- Строительство SMS или отправителя электронной почты с нуля требует настройки.
- Отправители электронной почты должны установить положительную "репутацию", чтобы улучшить доставляемость, в противном случае отправитель может быть помечен как спам.
- В каждой стране есть свои собственные операторы мобильной сети, что приводит к непредсказуемым срокам доставки и заметным затратам на отправку SMS, особенно для стартапов.
Биометрия
Термин "биометрия" означает использование только биометрических методов для онлайн-аутентификации. На самом деле, есть фундаментальное различие по сравнению с другими методами: биометрическая аутентификация переключает изначальную задачу "доказательства владения чем-то" на "доказательство того, кто вы есть". Из-за проблем с конфиденциальностью, биометрические методы в основном используются для локальной аутентификации.
Но пароль не идеален
Как мы видим, "убийцы паролей" по сути скрывают пароли или используют пароли как резервные варианты. Вот сводка преимуществ паролей на основе нашего обсуждения:
- Доступность и совместимость: Пароли можно использовать в различных системах и они доступны широкому кругу пользователей.
- Экономичность и универсальность: Удостоверения личности на основе пароля в целом более экономичны, чем другие методы, и приспособлены к различным сценариям.
- Анонимность и конфиденциальность: Пароли позволяют анонимно использовать и защищать конфиденциальность пользователя.
Но каждая медаль имеет обратную сторону. Несмотря на преимущества паролей, полагание только на них для аутентификации представляет существенные уязвимости. Они могут быть сложными для конечных пользователей в управлении, и если владельцы сайтов не соблюдают надлежащие меры безопасности, пароли становятся легкими для компрометации. Опасные практики безопасности включают, но не ограничиваются:
- Разрешение слабых или утекших паролей.
- Несоблюдение HTTPS для соединений.
- Использование небезопасных хеширующих алгоритмов.
- Несоблюдение строго проверенных стандартов, таких как OAuth или OpenID Connect (OIDC).
- Обнажение базы данных для общественного использования.
Заключение
Я не намереваюсь принижать какой-либо из упомянутых выше методов аутентификации. Наоборот, работая над созданием Logto, я искусство уважения к этим замечательным методам аутентификации и людям, стоящим за ними.
Тем не менее, достижение 100% безопасности является недостижимой целью. Мы можем стремиться к снижению возможности атак. Одним из эффективных методов является комбинация аутентификации на основе пароля с одноразовыми паролями, основанными на текущем устройстве или окружении, что добавляет дополнительный слой проверки и было широко принято. Используя преимущества различных техник аутентификации, мы можем создать слоевой подход, обеспечивающий более сильную защиту.
Наконец, вместо того чтобы концентрироваться на таких шумных словах, как "убийца паролей", когда пароли на самом деле не устраняются, было бы ценнее сосредоточиться на достижении баланса межд у безопасностью и пользовательским опытом. Это подразумевает понимание сильных и слабых сторон различных методов аутентификации и их реализацию таким образом, чтобы обеспечить как безопасность пользовательских данных, так и бесшовный пользовательский опыт.