Беспарольная аутентификация Yahoo! JAPAN сократила количество запросов на 25%, ускорив время входа в систему в 2,6 раза

Узнайте, как Yahoo! Japan создала систему идентификации без пароля.

Yahoo! JAPAN — одна из крупнейших медиакомпаний Японии, предоставляющая такие услуги, как поиск, новости, электронная коммерция и электронная почта. Более 50 миллионов пользователей ежемесячно заходят в службы Yahoo! JAPAN.

За эти годы было много атак на учетные записи пользователей и проблем, которые привели к потере доступа к учетным записям. Большинство этих проблем были связаны с использованием пароля для аутентификации.

Благодаря последним достижениям в области технологий аутентификации Yahoo! JAPAN решила перейти от аутентификации на основе пароля к аутентификации без пароля.

Почему без пароля?

Поскольку Yahoo! JAPAN предлагает услуги электронной коммерции и другие услуги, связанные с деньгами, существует риск причинения значительного ущерба пользователям в случае несанкционированного доступа или потери аккаунта.

Наиболее распространенными атаками, связанными с паролями, были атаки с использованием списка паролей и фишинговые мошенничества. Одной из причин, по которой атаки с использованием списка паролей распространены и эффективны, является привычка многих людей использовать один и тот же пароль для нескольких приложений и веб-сайтов.

Приведенные ниже цифры являются результатами опроса, проведенного Yahoo! JAPAN.

    50 %

    используйте один и тот же идентификатор и пароль на шести или более сайтах

    60 %

    Используйте один и тот же пароль на нескольких сайтах

    70 %

    используйте пароль как основной способ входа в систему

Пользователи часто забывают свои пароли, что составило большинство запросов, связанных с паролями. Также были запросы от пользователей, которые забыли свои идентификаторы входа в дополнение к паролям. На пике эти запросы составляли более трети всех запросов, связанных с аккаунтами.

Отказавшись от использования пароля, Yahoo! JAPAN стремилась повысить не только безопасность, но и удобство использования, не создавая дополнительной нагрузки для пользователей.

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

Инициативы Yahoo! JAPAN по отказу от паролей

Yahoo! JAPAN предпринимает ряд шагов по продвижению аутентификации без пароля, которые можно условно разделить на три категории:

  1. Предоставьте альтернативный способ аутентификации паролям.
  2. Деактивация пароля.
  3. Регистрация учетной записи без пароля.

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

1. Предоставление альтернативного способа аутентификации паролей

Yahoo! JAPAN предлагает следующие альтернативы паролям.

  1. СМС-аутентификация
  2. FIDO с WebAuthn

Кроме того, мы также предлагаем такие методы аутентификации, как аутентификация по электронной почте, пароль в сочетании с одноразовым паролем по SMS (одноразовый пароль) и пароль в сочетании с одноразовым паролем по электронной почте.

СМС-аутентификация

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

Apple давно разрешила iOS читать SMS-сообщения и предлагать коды аутентификации из текста. Недавно стало возможным использовать предложения, указав "one-time-code" в атрибуте autocomplete элемента ввода. Chrome на Android, Windows и Mac может предоставить тот же опыт с помощью API WebOTP .

Например:

<form>
  <input type="text" id="code" autocomplete="one-time-code"/>
  <button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
  const input = document.getElementById('code');
  if (!input) return;
  const ac = new AbortController();
  const form = input.closest('form');
  if (form) {
    form.addEventListener('submit', e => {
      ac.abort();
    });
  }
  navigator.credentials.get({
    otp: { transport:['sms'] },
    signal: ac.signal
  }).then(otp => {
    input.value = otp.code;
  }).catch(err => {
    console.log(err);
  });
}

Оба подхода направлены на предотвращение фишинга путем включения домена в текст SMS-сообщения и предоставления рекомендаций только для указанного домена.

Для получения дополнительной информации об API WebOTP и autocomplete="one-time-code" ознакомьтесь с рекомендациями по использованию форм SMS OTP .

FIDO с WebAuthn

FIDO с WebAuthn использует аппаратный аутентификатор для генерации пары шифров открытого ключа и подтверждения владения. Когда в качестве аутентификатора используется смартфон, его можно объединить с биометрической аутентификацией (например, датчиками отпечатков пальцев или распознаванием лиц) для выполнения одношаговой двухфакторной аутентификации. В этом случае на сервер отправляются только подпись и указание на успешность биометрической аутентификации, поэтому нет риска кражи биометрических данных.

На следующей схеме показана конфигурация сервер-клиент для FIDO. Клиентский аутентификатор аутентифицирует пользователя с помощью биометрии и подписывает результат с помощью криптографии с открытым ключом. Закрытый ключ, используемый для создания подписи, надежно хранится в TEE (Trusted Execution Environment) или аналогичном месте. Поставщик услуг, использующий FIDO, называется RP (relying party).

После того, как пользователь выполняет аутентификацию (обычно с помощью биометрического сканирования или PIN-кода), аутентификатор использует закрытый ключ для отправки подписанного сигнала верификации в браузер. Затем браузер делится этим сигналом с веб-сайтом RP.

Затем веб-сайт RP отправляет подписанный сигнал проверки на сервер RP, который проверяет подпись по открытому ключу для завершения аутентификации.

Для получения дополнительной информации ознакомьтесь с рекомендациями по аутентификации от FIDO Alliance .

Yahoo! JAPAN поддерживает FIDO на Android (мобильное приложение и веб), iOS (мобильное приложение и веб), Windows (Edge, Chrome, Firefox) и macOS (Safari, Chrome). Как потребительский сервис, FIDO можно использовать практически на любом устройстве, что делает его хорошим вариантом для продвижения аутентификации без пароля.

Операционная система Поддержка ФИДО
андроид Приложения, Браузер (Chrome)
iOS Приложения (iOS14 или более поздней версии), Браузер (Safari 14 или более поздней версии)
Окна Браузер (Edge, Chrome, Firefox)
Mac (Big Sur или более поздняя версия) Браузер (Safari, Chrome)
Пример запроса Yahoo! JAPAN на аутентификацию в FIDO.

Yahoo! JAPAN рекомендует пользователям регистрироваться в FIDO с WebAuthn, если они еще не прошли аутентификацию другими способами. Когда пользователю необходимо войти в систему с того же устройства, он может быстро пройти аутентификацию с помощью биометрического датчика.

Пользователи должны настроить аутентификацию FIDO на всех устройствах, которые они используют для входа в Yahoo! JAPAN.

Чтобы продвигать беспарольную аутентификацию и быть внимательными к пользователям, которые отказываются от паролей, мы предоставляем несколько способов аутентификации. Это означает, что разные пользователи могут иметь разные настройки метода аутентификации, а методы аутентификации, которые они могут использовать, могут отличаться в разных браузерах. Мы считаем, что будет лучше, если пользователи будут входить в систему, используя один и тот же метод аутентификации каждый раз.

Чтобы соответствовать этим требованиям, необходимо отслеживать предыдущие методы аутентификации и связывать эту информацию с клиентом, сохраняя ее в виде файлов cookie и т. д. Затем мы можем проанализировать, как различные браузеры и приложения используются для аутентификации. Пользователю предлагается предоставить соответствующую аутентификацию на основе настроек пользователя, предыдущих методов аутентификации и минимально необходимого уровня аутентификации.

2. Деактивация пароля

Yahoo! JAPAN просит пользователей настроить альтернативный метод аутентификации, а затем отключить свой пароль, чтобы его нельзя было использовать. Помимо настройки альтернативной аутентификации, отключение аутентификации по паролю (что делает невозможным вход только с паролем) помогает защитить пользователей от атак на основе списков.

Мы предприняли следующие шаги, чтобы побудить пользователей отключить свои пароли.

  • Продвижение альтернативных методов аутентификации при сбросе пользователями своих паролей.
  • Поощрять пользователей устанавливать простые в использовании методы аутентификации (например, FIDO) и отключать пароли в ситуациях, требующих частой аутентификации.
  • Призвать пользователей отключать свои пароли перед использованием высокорисковых услуг, таких как платежи в электронной коммерции.

Если пользователь забыл свой пароль, он может запустить восстановление учетной записи. Раньше это включало сброс пароля. Теперь пользователи могут выбрать другой метод аутентификации, и мы призываем их это сделать.

3. Регистрация учетной записи без пароля

Новые пользователи могут создавать учетные записи Yahoo! JAPAN без пароля. Сначала пользователям необходимо зарегистрироваться с помощью SMS-аутентификации. После входа в систему мы рекомендуем пользователю настроить аутентификацию FIDO.

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

Основные проблемы беспарольной аутентификации

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

При использовании нескольких устройств возникают некоторые проблемы, связанные с удобством использования:

  • При использовании SMS-аутентификации для входа с ПК пользователи должны проверять свой мобильный телефон на наличие входящих SMS-сообщений. Это может быть неудобно, так как требует, чтобы телефон пользователя был доступен и легкодоступен в любое время.
  • С FIDO, особенно с аутентификаторами платформ, пользователь с несколькими устройствами не сможет аутентифицироваться на незарегистрированных устройствах. Регистрация должна быть завершена для каждого устройства, которое он намерен использовать.

Аутентификация FIDO привязана к определенным устройствам, поэтому они должны оставаться во владении пользователя и быть активными.

  • В случае расторжения договора на обслуживание отправка SMS-сообщений на зарегистрированный номер телефона станет невозможной.
  • FIDO хранит закрытые ключи на определенном устройстве. Если устройство потеряно, эти ключи бесполезны.

Yahoo! JAPAN предпринимает различные шаги для решения этих проблем.

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

Кроме того, пользователи могут использовать API WebOTP для передачи кодов подтверждения по SMS с телефона Android на Chrome на ПК.

Мы считаем, что решение этих проблем станет еще более важным по мере распространения беспарольной аутентификации.

Продвижение аутентификации без пароля

Yahoo! JAPAN работает над этими беспарольными инициативами с 2015 года. Это началось с получения сертификации сервера FIDO в мае 2015 года, за которой последовало внедрение аутентификации по SMS, функции деактивации пароля и поддержки FIDO для каждого устройства.

На сегодняшний день более 30 миллионов активных пользователей в месяц уже отключили свои пароли и используют методы аутентификации без пароля. Поддержка FIDO Yahoo! JAPAN началась с Chrome на Android, и теперь более 10 миллионов пользователей настроили аутентификацию FIDO.

В результате инициатив Yahoo! JAPAN процент запросов, связанных с забытыми идентификаторами входа или паролями, снизился на 25% по сравнению с периодом, когда количество таких запросов было максимальным, и мы также смогли подтвердить, что несанкционированный доступ снизился в результате увеличения количества учетных записей без пароля.

Поскольку FIDO так легко настроить, у него особенно высокий коэффициент конверсии. Фактически, Yahoo! JAPAN обнаружил, что у FIDO более высокий CVR, чем у аутентификации по SMS.

    25 %

    Сокращение количества запросов на забытые учетные данные

    74 %

    Пользователи успешно прошли аутентификацию FIDO

    65 %

    Пройдите СМС-верификацию

FIDO имеет более высокий процент успешных попыток, чем SMS-аутентификация, и более быстрое среднее и медианное время аутентификации. Что касается паролей, то некоторые группы имеют короткое время аутентификации, и мы подозреваем, что это связано с autocomplete="current-password" браузера.

Сравнение графиков времени аутентификации для паролей, СМС и FIDO.
В среднем аутентификация FIDO занимает 8 секунд, тогда как проверка паролей занимает 21 секунду, а проверка SMS — 27 секунд.

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

Мы считаем, что для повышения безопасности необходимо в первую очередь улучшить удобство использования, что потребует уникальных инноваций для каждой услуги.

Заключение

Аутентификация с использованием пароля рискованна с точки зрения безопасности, а также создает проблемы с точки зрения удобства использования. Теперь, когда технологии, поддерживающие аутентификацию без пароля, такие как WebOTP API и FIDO, стали более широкодоступными, пришло время начать работать над аутентификацией без пароля.

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

Фото olieman.eth на Unsplash