Гугл уведомления: новая функция оповещения о входе в Google
Здравствуй народ! На днях Google анонсировал свою новую фишку. Сразу предупрежу: некоторых эта новость обрадует, а некоторых расстроит.
Помните, я недавно рассказывал про свеженький онлайн-сервис Гугла «Мои действия»? Если вы пропустили эту новость, то я вкратце расскажу. С помощью данного сайта можно просматривать всю историю активности пользователя.
Сайт «Мои действия» изначально был задуман для мониторинга и удаления своей онлайн-активности в сервисаx Google. Но я уверен, что некоторые имеющие на руках пароль этого самого пользователя использовали эту функцию иначе.
Гугл уведомления
Так вот, для вас уважаемые злоумышленники у меня плохая новость. С сегодняшнего дня каждая авторизация, а простыми словами вход в аккаунт Google, в почту Gmail, Youtube и другие сервисы, будет дублироваться оповещением на мобильный телефон, точнее смартфон.
Теперь при попытке входа в учётную запись Google с нового устройства пользователь моментально получит Push-оповещение с вопросом «Вы только что выполнили вход?».
Вот так это будет выглядеть. Скрины не мои, позаимствовал у блога Google, где и было анонсировано нововведение.
Если нажать на Гугл уведомление, откроется подробная информация о входе:
- Устройство.
- Время входа.
- Местоположение.
- Браузер
- IP-адрес
А внизу две кнопки: «Да, это я» и «Нет, защитить аккаунт».
Если вы поняли, что кто-то получил доступ к вашей Gmail почте, то я советую по-быстрому менять пароль и включить двухфакторную авторизацию.
На самом деле Google уже давно информирует пользователя о входе в систему, но делает он это до сегодняшнего дня только с помощью e-mail сообщений, на которое большинство людей попросту забивало и не обращало внимания.
Теперь же с новым видом оповещений, которое будут подсовывать пользователю под нос прямо на рабочий стол смартфона или планшета, трудно будет не заметить информацию о подозрительной активности.
Кстати, если вы являетесь пользователем сервисов Google, то вы обязаны знать как избавится или хотя-бы минимизировать слежку. Подробнее о том, как следит Google и насколько это плохо, мы писали в статье «Слежка Гугл»
Google только выкатила эту систему оповещений, поэтому на данный момент она может быть активна не у всех. Так что если у вас нет этого новшества, потерпите, через пару недель наверное доберется и до вас.
А да, чуть не забыл сказать Гугл уведомления будут работать только на устройствах Android. Яблочникам такая радость не светит…
Что такое сервис push‑уведомлений?
Сервис push-уведомлений – это технология, которую приложение использует для отправки сообщений пользователям. Вы, вероятно, видели всплывающие уведомления приложений или оповещения на вашем мобильном устройстве. Это коммуникационные сигналы, поступающие с сервера приложений. Сервер, а не пользователь инициирует обмен push-уведомлениями. Приложения используют push-уведомления, чтобы информировать пользователей о новых предложениях, событиях приложений или другой потенциально интересной информации. Хотя мобильные push-уведомления являются наиболее распространенным типом, существуют также push-уведомления в браузере, портативных устройствах, а также голосовые push-уведомления.
В чем преимущества использования сервиса push-уведомлений?
За последние несколько лет сервисы push-уведомлений стали неотъемлемой частью мобильных приложений. В 2009 году компания Apple выпустила первую версию сервиса уведомлений Apple Push Notification (APNs) для iOS, который давал издателям приложений возможность отправлять сообщения пользователям, не требуя от них открытия приложения. Google запустила сервис push-уведомлений для Android в 2012 году. Ваши пользователи могут рассчитывать на push-уведомления как на функцию, которая может помочь и вам, и вашим пользователям.
Ниже описаны несколько преимуществ использования сервиса push-уведомлений.
Усиление взаимодействия
Push-уведомления – эффективный способ привлечь пользователей. Вы можете использовать push-уведомления, чтобы отправлять пользователям актуальную информацию, напоминать им об использовании вашего приложения и предлагать воспользоваться функциями и рекламными акциями. Многочисленные исследования показывают, что push-уведомления открываются чаще, чем электронные письма, SMS-сообщения и приложения чата.
Повышение уровня удержания пользователей
Вы можете использовать push-уведомления для создания более целенаправленных и актуальных сообщений для ваших пользователей. Например, вы можете нацеливаться на пользователей на основе их поведения в прошлом, местоположения, интересов и других факторов, чтобы повысить уровень удержания клиентов и увеличить доход.
Улучшение контроля для пользователей
Ваши клиенты могут предпочесть push-уведомления другим способам коммуникации, потому что ими легко управлять как пользователю. Ваши пользователи могут подписаться на получение push-уведомлений и отказаться от них, когда захотят.
Как можно использовать сервис push-уведомлений?
Вот несколько наиболее распространенных способов использования push-уведомлений в организациях.
Маркетинговые кампании
Push-уведомления часто используются для маркетинговых кампаний. Сведения об акциях, скидках, выпуске новых продуктов и других важных обновлениях отправляются непосредственно на устройства ваших пользователей.
Push-уведомления – это эффективный способ продвигать кампании и побуждать пользователей к действиям. Например, вы можете предложить им загрузить новое приложение, подписаться на сервис или приобрести понравившиеся продукты.
Успешные кампании push-уведомлений также помогают вернуть прежних клиентов.
Уведомления о транзакциях
Push-уведомления могут предупреждать пользователей о таких транзакциях, как финансовая активность на их счетах. Например, банки используют push-уведомления для оповещения клиентов о депозитах, снятии средств, обновлениях баланса счетов и других изменениях на счетах.
Push-уведомления помогают клиентам следить за своими финансами и быть в курсе любых подозрительных действий. Вы также можете использовать push-уведомления для отправки клиентам напоминаний об оплате и других уведомлений о предстоящих транзакциях.
Одноразовые пароли
Push-уведомления могут содержать одноразовые пароли (OTP), позволяющие проверять аккаунты пользователей. Например, когда пользователь пытается войти в систему или совершить покупку, вы можете отправить одноразовый пароль на мобильное устройство пользователя. Затем клиент введет одноразовый пароль, чтобы выполнить действие. Так вы сможете подтвердить личность пользователя, не сохраняя конфиденциальную информацию. В более общем плане OTP – это один из аспектов многофакторной аутентификации (MFA).
Экстренные оповещения
Государственные организации могут использовать push-уведомления для оповещения общественности о чрезвычайных ситуациях. Это могут быть оповещения о стихийных бедствиях, а также о других чрезвычайных ситуациях, таких как предупреждения о похищении детей (AMBER Alert), террористические угрозы и предупреждения об экстремальных погодных условиях.
Медицинские сервисы
Push-уведомления могут отправлять пользователям медицинскую информацию, такую как новости о назначении врача, напоминания о приеме лекарств и результаты анализов. Кроме того, push-уведомления могут напоминать пациентам о необходимости принимать лекарства или записываться на повторные визиты.
Обновления по доставке
Как розничный продавец или поставщик вы можете отправлять push-уведомления, чтобы держать своих клиентов в курсе статуса их заказов. Вы можете уведомлять своих клиентов о любых изменениях в статусе доставки заказа, например, когда заказ отгружен, когда он готов к доставке и когда он будет доставлен. Push-уведомления также могут содержать номера для отслеживания и приблизительные сроки доставки.
Отзывы клиентов
Push-уведомления могут побудить ваших клиентов оставить отзыв о продукте или сервисе. Вы можете попросить клиентов оценить качество обслуживания или оставить комментарии о продуктах или сервисах. Кроме того, вы можете использовать push-уведомления для проведения опросов и получения информации о предпочтениях и мнениях ваших клиентов.
Социальные сети
Если вы запустите приложение для социальных сетей, то можете отправлять своим пользователям push-уведомления об обновлениях, таких как новые публикации и комментарии. Когда вы отправляете пользователям уведомления о появлении нового контента, они могут быстро получить доступ к последним новостям и ознакомиться с ними, не проверяя обновления вручную.
Какие существуют типы push-уведомлений?
Существует два основных типа push-уведомлений: «от приложения пользователю» (A2P) и индивидуальные сообщения (P2P).
A2P
Push-уведомления A2P отправляются из приложения или сервиса отдельному пользователю. В качестве примеров можно привести новости и оповещения, рекламные сообщения и сообщения о транзакциях.
P2P
P2P-уведомления отправляются напрямую от одного пользователя другому, обычно для уведомления получателя о событии или действии. Сюда входят сообщения в чате, запросы на добавление в друзья, напоминания и обновления местоположения.
Как работают push-уведомления?
Чтобы push-уведомление появилось, издатель должен его отправить, пользователь – получить, а сервис – соединить обе стороны. Отношения между этими тремя сторонами выглядят следующим образом:
- Издатель использует сервер приложений для отправки уведомлений своим пользователям.
- Пользователь соглашается получать уведомления, подписавшись на них со своего устройства.
- Сервис push-уведомлений для конкретной платформы связывает издателя с его пользователями.
Если вы разрабатываете мобильное приложение, обратите внимание на основные действия, которые необходимо предпринять, если вы хотите начать отправлять push-уведомления.
Зарегистрируйте приложение с помощью сервиса push-уведомлений
Вам следует подключиться к сервису push-уведомлений отдельных платформ, на которые вы хотите настроить нацеливание. Например, вам следует спроектировать приложение так, чтобы оно подключалось к сервису Apple Push Notification (APNs) для пользователей iOS и Firebase Cloud Messaging (FCM) для пользователей Android. Вы можете зарегистрировать свое приложение в сервису push-уведомлений, чтобы получить доступ к API сервиса.
Обработайте сервисные токены
Сервисы push-уведомлений поддерживают связь с каждым приложением и связанным мобильным устройством, зарегистрированным в их сервисах. Когда приложение и мобильное устройство регистрируются, сервис push-уведомлений возвращает токен устройства. Как разработчик вы можете обрабатывать и использовать токены для отправки уведомлений своим пользователям.
Начните отправлять уведомления
Сервер приложений отправляет содержимое уведомления и токены устройства в API сервиса push-уведомлений. Как только сервер отправит запрос в сервис push-уведомлений, сервис отправляет уведомление на устройства ваших пользователей.
Уведомление отображается на экранах блокировки устройств, в центрах уведомлений или значках приложений в зависимости от настроек пользователей. Затем пользователи могут нажать на уведомление, чтобы перейти в ваше приложение или на веб-сайт.
Как AWS может удовлетворить ваши требования к push-уведомлениям?
В Amazon Web Services (AWS) мы предлагаем Простой сервис уведомлений Amazon (Amazon SNS) для удовлетворения ваших требований к push-уведомлениям.
Amazon SNS – это полностью управляемый сервис отправки сообщений по модели «издатель – подписчик» (pub/sub) для обмена сообщениями между приложениями (A2A), а также между приложениями и пользователями (A2P). Он выступает в роли посредника между вашим приложением и различными сервисами push-уведомлений на мобильных платформах, что позволяет быстрее масштабироваться.
Для обмена сообщениями A2A Amazon SNS обеспечивает обмен push-уведомлениями между распределенными системами, микросервисами и бессерверными приложениями на основе событий по модели «многие-ко-многим». Для обмена сообщениями A2P Amazon SNS дает возможность общаться с клиентами с помощью SMS-сообщений, push-уведомлений и электронных писем.
Ниже перечислены другие преимущества использования Amazon SNS.
- Интеграция приложений с передачей сообщений по принципу «первым получено – первым отправлено»
- Безопасное шифрование оповещений при доставке
- Сбор и рассылка данных о событиях для более 60 сервисов AWS
- Отправка push-уведомлений и SMS-сообщений клиентам по всему миру
Начните работу с push-уведомлениями на AWS, создав бесплатный аккаунт AWS уже сегодня.
Коды в SMS небезопасны — рекомендуем пользоваться другими вариантами двухфакторной аутентификации
Почему SMS — не лучший выбор для двухфакторной аутентификации, и какие существуют альтернативы.
Alex Drozhzhin
За последние пару лет идея двухфакторной аутентификации, о которой так долго говорили гики, сильно продвинулась в массы. Однако до сих пор в большинстве случаев речь идет о двухфакторной аутентификации при помощи одноразовых паролей, приходящих в SMS. А это, к сожалению, не очень-то надежный вариант. Вот что может пойти не так:
- Пароль в SMS можно подсмотреть, если у вас включен показ уведомлений на экране блокировки.
- Даже если показ уведомлений отключен, можно извлечь SIM-карту из смартфона, установить в другой смартфон и принять SMS с паролем.
- SMS с паролем может перехватить пробравшийся в смартфон троян.
- Также с помощью различных махинаций (убеждение, подкуп, сговор и так далее) можно заполучить новую SIM-карту с номером жертвы в салоне сотовой связи. Тогда SMS будут приходить на эту карту, а телефон жертвы просто не будет связываться с сетью.
- Наконец, SMS с паролем может быть перехвачена через фундаментальную уязвимость в протоколе SS7, по которому эти SMS передаются.
Надо заметить, что даже самый трудоемкий и высокотехнологичный из перечисленных методов перехвата пароля в SMS — с помощью взлома протокола SS7 — уже был использован на практике. Так что речь не о теоретической возможности возникновения неприятностей, а о вполне практической угрозе.
В общем, пароли в SMS — это не очень-то безопасно, а иногда даже и очень небезопасно. Поэтому есть смысл озаботиться поиском альтернативных вариантов двухэтапной аутентификации, о чем мы сегодня и поговорим.
Одноразовые коды в файле или на бумажке
Наиболее простая замена одноразовым паролям, присылаемым в SMS, — это те же самые одноразовые пароли, но заготовленные заранее. Это не самый плохой вариант, особенно для тех сервисов, в которых вам надо авторизовываться сравнительно редко. Собственно, даже для того же «Фейсбука» этот метод вполне может подойти, особенно в качестве резервного способа входа.
Работает это очень просто: по запросу сервис генерирует и показывает на экране десяток одноразовых кодов, которые в дальнейшем могут быть использованы для подтверждения входа в него. Дальше вы просто распечатываете или переписываете эти коды на бумагу и кладете в сейф. Или, что еще проще, сохраняете в зашифрованных записях в менеджере паролей.
В общем, не так важно, будете ли вы хранить эти коды на теплой ламповой бумаге или в бездушном цифровом виде — важно сохранить их так, чтобы они а) не потерялись и б) не могли быть украдены.
Приложения для двухфакторной аутентификации
У единожды сгенерированного набора одноразовых кодов есть один недостаток: рано или поздно он закончится, и вполне может так получиться, что вы останетесь без кода в самый неподходящий момент. Поэтому есть способ лучше: можно генерировать одноразовые коды на лету с помощью небольшого и, как правило, очень простого приложения — аутентификатора.
Как работают приложения-аутентификаторы
Работают приложения для двухфакторной аутентификации очень просто. Вот что придется сделать:
- устанавливаете на смартфон приложение для двухфакторной аутентификации;
- заходите в настройки безопасности сервиса, который среди опций для двухфакторной аутентификации предлагает использовать такие приложения;
- выбираете двухфакторную аутентификацию с помощью приложения;
- сервис покажет вам QR-код, который можно отсканировать прямо в 2FA-приложении;
- сканируете код приложением — и оно начинает каждые 30 секунд создавать новый одноразовый код.
Коды создаются на основе ключа, который известен только вам и серверу, а также текущего времени, округленного до 30 секунд. Поскольку обе составляющие одинаковы и у вас, и у сервиса, коды генерируются синхронно. Этот алгоритм называется OATH TOTP (Time-based One-time Password), и в подавляющем большинстве случаев используется именно он.
Также существует альтернатива — алгоритм OATH HOTP (HMAC-based One-time Password). В нем вместо текущего времени используется счетчик, увеличивающийся на 1 при каждом новом созданном коде. Но этот алгоритм редко встречается в реальности, поскольку при его использовании гораздо сложнее обеспечить синхронное создание кодов на стороне сервиса и приложения. Проще говоря, есть немалый риск, что в один не очень прекрасный момент счетчик собьется и ваш одноразовый пароль не сработает.
Так что можно считать OATH TOTP де-факто индустриальным стандартом (хотя формально это даже не стандарт, на чем создатели этого алгоритма очень настаивают в его описании).
Совместимость приложений для двухфакторной аутентификации и сервисов
Подавляющее большинство приложений для двухфакторной аутентификации работает по одному и тому же алгоритму, так что для всех сервисов, которые поддерживают аутентификаторы, можно использовать любое из них — какое вам больше нравится.
Как и в любом добротном правиле, в этом тоже есть определенное количество исключений. Некоторые сервисы по каким-то причинам, ведомым только им одним, предпочитают делать свои собственные приложения для двухфакторной аутентификации, которые работают только с ними. Более того, сами сервисы не работают ни с какими другими приложениями, кроме своих собственных.
Особенно это распространено среди крупных издателей компьютерных игр — например, существуют несовместимые со сторонними сервисами приложения Blizzard Authenticator, Steam Mobile с встроенным аутентификатором Steam Guard, Wargaming Auth и так далее. Для этих сервисов придется ставить именно эти приложения.
Также по этому странному пути пошла Adobe, разработавшая Adobe Authenticator, который работает только с аккаунтами AdobeID. Но при этом вы можете использовать для защиты AdobeID и другие аутентификаторы, так что вообще непонятно, ради чего было городить огород.
Так или иначе, большинство нормальных ИТ-компаний не ограничивает пользователей в выборе 2FA-приложения. И даже если по каким-то соображениям им хочется контролировать этот процесс и создать свое приложение, то чаще всего они позволяют защищать с его помощью не только «свои» аккаунты, но и учетные записи сторонних сервисов.
Поэтому просто выбирайте приложение-аутентификатор, которое вам больше нравится по набору дополнительных функций — оно будет работать с большинством сервисов, которые вообще поддерживают 2FA-приложения.
Лучшие приложения для двухфакторной аутентификации
Выбор 2FA-приложений на удивление велик: поиск по запросу «authenticator» в Google Play или Apple App Store выдает не один десяток результатов. Мы не советуем устанавливать первое попавшееся приложение — это может быть небезопасно, ведь, по сути, вы собираетесь доверить ему ключи от своих аккаунтов (оно не будет знать ваши пароли, конечно, но ведь 2FA вы добавляете именно потому, что пароли имеют свойство утекать). В общем, стоит выбирать из приложений, созданных крупными и уважаемыми разработчиками.
Несмотря на то что базовая функция у всех этих приложений одна и та же — создание одноразовых кодов по одному и тому же алгоритму, некоторые аутентификаторы обладают дополнительными функциями или особенностями интерфейса, которые могут показаться вам удобными. Перечислим несколько самых интересных вариантов.
1. Google Authenticator
Поддерживаемые платформы: Android, iOS
Как отмечают буквально все публикации, Google Authenticator — это самое простое в использовании из всех существующих приложений для двухфакторной аутентификации. У него даже настроек нет. Все, что можно сделать, — это добавить новый токен (так называется генератор кодов для отдельного аккаунта) или удалить один из имеющихся. А чтобы скопировать код в буфер обмена, достаточно коснуться его пальцем на сенсорном экране смартфона или планшета. Все!
Однако у такой простоты есть и недостаток: если вам что-то не нравится в интерфейсе или хочется от аутентификатора чего-то большего — придется устанавливать другое приложение.
+ Очень просто использовать.
2. Duo Mobile
Поддерживаемые платформы: Android, iOS
Duo Mobile также крайне прост в использовании, минималистичен и лишен дополнительных настроек. По сравнению с Google Authenticator у него есть одно преимущество: по умолчанию Duo Mobile скрывает коды — чтобы увидеть код, надо нажать на конкретный токен. Если вы, как и я, испытываете дискомфорт каждый раз, когда открываете аутентификатор и показываете всем окружающим кучу кодов от всех своих аккаунтов сразу, то вам эта особенность Duo Mobile наверняка понравится.
+ По умолчанию скрывает коды.
3. Microsoft Authenticator
Поддерживаемые платформы: Android, iOS
В Microsoft тоже не стали усложнять и сделали свой аутентификатор на вид очень минималистичным. Но при этом Microsoft Authenticator заметно функциональнее, чем Google Authenticator. Во-первых, хоть по умолчанию все коды показываются, но каждый из токенов можно отдельно настроить так, чтобы при запуске приложения код был скрыт.
Во-вторых, Microsoft Authenticator упрощает вход в аккаунты Microsoft. В этом случае после ввода пароля достаточно будет нажать в приложении кнопку подтверждения входа — и все, можно даже не вводить одноразовый код.
+ Можно настроить, чтобы коды скрывались.
+ Дополнительные возможности для входа в аккаунты Microsoft.
4. FreeOTP
Поддерживаемые платформы: Android, iOS
Есть четыре причины, по которым вам может понравиться этот аутентификатор, разработанный Red Hat. Во-первых, это ваш выбор, если вы любите программное обеспечение с открытым кодом. Во-вторых, это самое маленькое приложение из всех рассматриваемых — версия для iOS занимает всего 750 Кбайт. Для сравнения: минималистичный Google Authenticator занимает почти 14 Мбайт, а приложение Authy, о котором мы поговорим ниже, — аж 44 Мбайта.
В-третьих, по умолчанию приложение скрывает коды и показывает их только после касания. Наконец, в-четвертых, FreeOTP позволяет максимально гибко конфигурировать токены вручную, если вам это зачем-нибудь нужно. Разумеется, обычный способ создания токена с помощью сканирования QR-кода тоже поддерживается.
+ По умолчанию скрывает коды.
+ Приложение занимает всего 700 Кбайт.
+ Открытый код.
+ Максимум настроек при создании токена вручную.
5. Authy
Поддерживаемые платформы: Android, iOS, Windows, macOS, Chrome
Самое навороченное из приложений для двухфакторной аутентификации, основным достоинством которого является то, что все токены хранятся в облаке. Это позволяет получить доступ к токенам с любого из ваших устройств. Заодно это упрощает переезд на новые устройства — не придется заново активировать 2FA в каждом сервисе, можно продолжить пользоваться существующими токенами.
В облаке токены зашифрованы ключом, который создается на основе заданного пользователем пароля, — то есть данные хранятся безопасно, и украсть их будет нелегко. Также можно установить ПИН-код на вход в приложение — или защитить его отпечатком пальца, если ваш смартфон оснащен соответствующим сканером.
Основной недостаток Authy состоит в том, что приложение с ходу требует завести аккаунт, привязанный к вашему телефонному номеру, — без этого просто не получится начать с ним работать.
+ Токены хранятся в облаке, что позволяет использовать их на всех своих устройствах.
+ По той же причине очень удобно переезжать на новое устройство.
+ Вход в приложение защищен PIN-кодом или отпечатком пальца.
+ На экране показывается код только для последнего использованного токена.
+ В отличие от остальных приложений, поддерживает не только Android и iOS, но и Windows, macOS и Chrome.
− Требуется зарегистрироваться в Authy, используя номер телефона, — без этого приложение не работает.
6. «Яндекс.Ключ»
Поддерживаемые платформы: Android, iOS
На мой взгляд, по концепции «Яндекс.Ключ» — это самое удачное из существующих приложений для двухфакторной аутентификации. С одной стороны, оно не требует с ходу регистрироваться — можно начать им пользоваться с той же легкостью, как и Google Authenticator. С другой стороны, в нем есть несколько дополнительных возможностей, которые открываются тем, кто не поленится зайти в настройки.
Во-первых, «Яндекс.Ключ» можно «запереть» на PIN-код или отпечаток пальца. Во-вторых, можно создать в облаке «Яндекса» резервную копию токенов, защищенную паролем (а вот на этом этапе уже придется указать номер телефона), и восстановить ее на любом из используемых вами устройств. Точно так же можно будет перенести токены на новое устройство, когда понадобится переезжать.
Получается, что «Яндекс.Ключ» сочетает в себе простоту Google Authenticator и расширенную функциональность Authy — в зависимости от того, что вы предпочитаете. Единственный недостаток приложения — не вполне удобный для использования с большим количеством токенов интерфейс.
+ Минимализм на старте, расширенная функциональность доступна через настройки.
+ Создание резервных копий токенов в облаке для использования на нескольких устройствах и переезда на новые.
+ Вход в приложение защищен PIN-кодом или отпечатком пальца.
+ На экране показывается код только для последнего использованного токена.
+ Заменяет постоянный пароль к аккаунту «Яндекса».
− При большом количестве токенов не очень удобно искать нужный.
«Железные» аутентификаторы FIDO U2F: YubiKey и все-все-все
Если приложение, генерирующее одноразовые коды, кажется вам слишком эфемерным способом защитить свои аккаунты, и хочется чего-то более постоянного, надежного и материального — буквально запереть аккаунт на ключ и положить его в карман, — то у меня есть для вас хорошая новость: такой вариант также существует. Это аппаратные токены стандарта U2F (Universal 2nd Factor), созданного FIDO Alliance.
Как работают токены FIDO U2F
Аппаратные U2F-токены очень полюбились специалистам по безопасности — в первую очередь потому, что с точки зрения пользователя они работают очень просто. Для начала работы достаточно подключить U2F-токен к вашему устройству и зарегистрировать его в совместимом сервисе, причем делается это буквально в пару кликов.
Впоследствии при необходимости подтвердить вход в этот сервис нужно будет подключить U2F-токен к тому устройству, с которого вы входите, и нажать на токене кнопку (в некоторых устройствах — ввести PIN или приложить палец к сканеру). Все — никаких сложных настроек, ввода длинных последовательностей случайных символов и прочих танцев с бубном, которые обычно все себе представляют при упоминании слова «криптография».
Вставьте ключ и нажмите кнопку — и это действительно все
При этом «под капотом» все устроено очень умно и криптографически надежно: при регистрации токена на сервисе создается пара криптографических ключей — приватный и публичный. Публичный сохраняется на сервере, а приватный хранится в защищенном хранилище Secure Element, которое является сердцем U2F-токена, — и этот ключ никогда не покидает устройство.
Приватный ключ используется для того, чтобы зашифровать подтверждение входа, которое передается на сервер и может быть расшифровано с помощью публичного ключа. Если кто-то от вашего имени попытается передать подтверждение входа, зашифрованное неправильным приватным ключом, то при расшифровке с помощью известного сервису публичного ключа вместо подтверждения получится бессмыслица, и сервис не пустит его в аккаунт.
Какими бывают U2F-устройства
Наиболее известный и распространенный пример U2F — это «ключи» YubiKey, которые производит компания Yubico. Собственно, она и стояла у истоков этого стандарта, но предпочла сделать его открытым, для чего и был создан FIDO Alliance. А поскольку стандарт открытый, вы не ограничены в выборе: U2F-совместимые устройства производят и продают разные компании — в онлайн-магазинах можно найти множество разнообразных моделей.
YubiKey — вероятно, самые популярные U2F-токены
Например, Google недавно представила свой комплект аппаратных аутентификаторов Google Titan Security Keys. На самом деле это ключи производства Feitian Technologies (второй по популярности производитель U2F-токенов после Yubico), для которых в Google написали собственную прошивку.
Разумеется, все аппаратные аутентификаторы, совместимые со стандартом U2F, будут с одинаковым успехом работать со всеми сервисами, которые также с этим стандартом совместимы. Однако у разных моделей есть несколько важных различий, и самое важное из них — это интерфейсы, которыми оборудован «ключ». От этого напрямую зависит, с какими устройствами он сможет работать:
USB — для подключения к компьютерам (Windows, Mac или Linux — неважно, «ключи» работают без установки каких-либо драйверов). Помимо обычного USB-A бывают «ключи» с USB-C.
NFC — необходим для использования со смартфонами и планшетами на Android.
Bluetooth — понадобится на тех мобильных устройствах, в которых нет NFC. К примеру, аутентификатор с Bluetooth все еще нужен владельцам iPhone: несмотря на то, что в iOS уже разрешили приложениям использовать NFC (до 2018 года это было позволено только Apple Pay), разработчики большинства совместимых с U2F приложений еще не воспользовались этой возможностью. У Bluetooth-аутентификаторов есть пара минусов: во-первых, их нужно заряжать, а во-вторых, их подключение занимает гораздо больше времени.
В базовых моделях U2F-токенов обычно есть только поддержка собственно U2F — такой ключ обойдется в $10–20. Есть устройства подороже ($20–50), которые заодно умеют работать в качестве смарт-карты, генерировать одноразовые пароли (в том числе OATH TOTP и HOTP), генерировать и хранить ключи PGP-шифрования, могут использоваться для входа в Windows, macOS и Linux и так далее.
Что же выбрать: SMS, приложение или YubiKey?
Универсального ответа на этот вопрос не существует — для разных сервисов можно использовать разные варианты двухфакторной аутентификации в различных сочетаниях. Например, наиболее важные аккаунты (скажем, вашу основную почту, к которой привязаны остальные учетные записи) стоит защитить по максимуму — запереть на «железный» U2F-токен и запретить любые другие опции 2FA. Так можно быть уверенным, что никто и никогда не получит доступ к аккаунту без этого токена.
Хороший вариант — привязать к аккаунту два «ключа», как это делается с ключами от автомобиля: один всегда с собой, а другой лежит в надежном месте — на случай, если первый потеряется. При этом «ключи» могут быть разного типа: скажем, приложение-аутентификатор на смартфоне в качестве основного и U2F-токен или листочек с одноразовыми паролями, лежащий в сейфе, в качестве резервного средства.
Так или иначе, главный совет — по возможности избегать использования одноразовых паролей в SMS. Правда, получится это не всегда: например, финансовые сервисы в силу своей консервативности продолжают использовать SMS и крайне редко позволяют пользоваться чем-либо еще.
- 2FA
- аутентификаторы
- Двухфакторная аутентификация