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

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

Александра Клеппер
Alexandra Klepper
Юя Ито
Yuya Ito

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 .

FIDO с WebAuthn

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

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

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

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

Более подробную информацию можно найти в правилах аутентификации Альянса FIDO .

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

Операционная система Поддержка ФИДО
Андроид Приложения, Браузер (Chrome)
iOS Приложения (iOS14 или более поздняя версия), Браузер (Safari 14 или более поздняя версия)
Окна Браузер (Edge, Chrome, Firefox)
Mac (Биг-Сур или более поздние версии) Браузер (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 обнаружила, что коэффициент конверсии (CVR) у FIDO выше, чем у SMS-аутентификации.

    25 %

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

    74 %

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

    65 %

    Успешно пройти SMS-верификацию

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

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

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

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

Заключение

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

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

Фото olieman.eth на Unsplash