Сегодня поговорим о стандарте U2F, разработанном ассоциацией FIDO Aliance, участником которой мы являемся, и электронном ключе нашей собственной разработки — JaCarta U2F, и, конечно, покажем несколько примеров его использования.
О чем думает человек, услышав упоминание слов типа двухфакторная аутентификация, электронный ключ, USB-токен, смарт-карта? Человек, далекий от погружения в технологии ИБ, может быть вспомнит одноразовые смс-пароли для входа в банк, а кто-то подумает про инфраструктуры открытых ключей, сертификаты, цепочки доверия.
А тем временем, разработанный альянсом FIDO протокол U2F набирает популярность среди интернет-компаний и показывает, что двухфакторная аутентификация — не только безопасно, но легко и просто, а главное понятно для конечного пользователя, нетехнического специалиста.
Правда тут есть и минус, в отличие от централизованного enterprise использования, этот самый конечный пользователь должен сам озаботится об усилении аутентификации в свои любимые сервисы и приобрести для себя такой токен, а сервисы, в свою очередь, должны U2F заранее поддерживать.
Таких сервисов уже довольно много, и список их постоянно расширяется. Сначала стандарт U2F поддерживали Google (gmail, youtube, etc), Dropbox, Github. Сейчас присоединились Facebook, Salesforce, Bitbucket, Dashlane и другие сервисы и компании. Большое развитие U2F получил в криптовалютной среде на различных крипто-биржах и крипто-кошельках, например Bitfinex, Coinbase и другие. Об этом мы поговорим отдельно чуть позже.
Взломы аккаунтов в социальных сетях, почте и других сервисах — не новость, это всегда неприятно, и часто связано с финансовыми или репутационными потерями, а, как правило, взломанные аккаунты защищены только простым, может и не простым, но все равно одним паролем, без второго фактора аутентификации. Популяризация же второго фактора в принципе и U2F в частности приводит к повышению общего уровня компьютерной грамотности и безопасности.
Если сервис сам пока не добавил возможность привязать U2F-ключ в качестве аутентификатора, возможно, это получится осуществить через провайдеров двухфакторной аутентификации, например, duo security, причем доступ можно будет настроить не только в web-приложения. Строго говоря, такие облачные платформы в качестве аутентификаторов используют не только U2F, и их возможности гораздо шире. Но не отметить эту возможность в нашей обзорной статье мы также не могли.
Еще один из способов интеграции U2F мы предусмотрели в нашем сервере аутентификации JaCarta Authentication Server (JAS), встраивание происходит путем настройки сервера и добавления необходимого кода на сайт, доступ к которому необходимо защитить.
В качестве примера ресурса, где поддержка U2F уже реализована, возьмем Google как наиболее популярный.
А для примера аутентификации с использованием облачного провайдера аутентификации сервис duo.com и web-сайт на платформе WordPress.
Google
Теперь проверим вход.
Чтобы зайти в профиль учётной записи Google с помощью JaCarta U2F, выполните следующее.
Чтобы защитить какое либо приложение или протокол по средствам платформы DUO, необходимо выбрать, что защищать в самой платформе, и связать платформу с защищаемым приложением.
Со стороны Web-сайта добавьте Duo-плагин, для этого в меню Плагины в поиске найдите Duo-Two-Factor Authentication и нажмите Установить. После установки нажмите Активировать.
![](https://habrastorage.org/r/w1560/webt/9i/lg/an/9ilganj8dyffpx1iwl2abinurne.png)
Со стороны платформы войдите в меню Приложения (Applications) и выберите Защитить приложение (Protect an Application).
![](https://habrastorage.org/r/w1560/webt/mm/zs/dk/mmzsdksvbequ9le6bar5jcyzaao.png)
В отобразившемся меню поиска наберите WordPress и нажмите Защитить это приложение (Protect this Application).
![](https://habrastorage.org/r/w1560/webt/r1/mn/27/r1mn274qsaira1t-_-iqsjfkfxs.png)
Отобразятся 3 ключевых поля, Integration Key, Secret Key и API Hostname.
![](https://habrastorage.org/r/w1560/webt/1e/wj/jz/1ewjjzqctigwv7wbkodhjwjltjo.png)
![](https://habrastorage.org/r/w1560/webt/li/5x/0o/li5x0orijbfet9wlomndy3z8xa4.png)
Значения этих полей нужно перенести в соответствующие поля плагина на Web-сайте.
![](https://habrastorage.org/r/w1560/webt/wr/4d/rk/wr4drkn6jkklf0smuu9vzvdmm1k.png)
На этом настройка связи Web-сайта с платформой DUO завершена. Далее аутентифицируйтесь по паролю, на том Web-сайте, куда ранее была привязана платформа Duo.
![](https://habrastorage.org/r/w1560/webt/bo/e4/dl/boe4dleli-l93cg_usgbidfbgcc.png)
Установленный и настроенный плагин Duo предложит настроить защиту аккаунта. Нажмите Start Setup.
![](https://habrastorage.org/r/w1560/webt/ns/s6/mw/nss6mw1yhy45t8xlgzvizoctzgc.png)
Выберите U2F-token.
![](https://habrastorage.org/r/w1560/webt/dy/vr/mt/dyvrmtgqubzcy1t1elq3cp8na8k.png)
Подсоедините JaCarta U2F к USB-порту и следуйте указаниям.
![](https://habrastorage.org/r/w1560/webt/ut/bl/wl/utblwl9wj0hc1ofva2o1kweoyga.png)
По завершении вы попадете в админскую часть сайта, пройдя аутентификацию с использованием JaCarta U2F.
Сами сервисы обычно имеют свои собственные инструкции по настройке U2F, и их довольно просто найти, вот некоторые примеры.
Facebook
GitHub
Dropbox
Google
В заключении приведем несколько часто задаваемых вопросов и ответы на них.
Как получить доступ к ресурсу, если U2F ключ будет утерян? Все довольно просто, предусмотрен резервный способ двухфакторной аутентификации в виде кода по смс или email. А после входа в аккаунт связь с утерянным ключом можно разорвать и настроить новый.
Сколько ресурсов может быть добавлено в 1 ключ? Практически безгранично.
На каких платформах используется U2F? Устройство с любой операционной системой, с установленным браузером, поддерживающим U2F (в настоящее время это Google Chrome версии 38 и выше, Opera версии 40 и выше FireFox через специальный плагин), и свободным USB-портом.
О чем думает человек, услышав упоминание слов типа двухфакторная аутентификация, электронный ключ, USB-токен, смарт-карта? Человек, далекий от погружения в технологии ИБ, может быть вспомнит одноразовые смс-пароли для входа в банк, а кто-то подумает про инфраструктуры открытых ключей, сертификаты, цепочки доверия.
А тем временем, разработанный альянсом FIDO протокол U2F набирает популярность среди интернет-компаний и показывает, что двухфакторная аутентификация — не только безопасно, но легко и просто, а главное понятно для конечного пользователя, нетехнического специалиста.
Правда тут есть и минус, в отличие от централизованного enterprise использования, этот самый конечный пользователь должен сам озаботится об усилении аутентификации в свои любимые сервисы и приобрести для себя такой токен, а сервисы, в свою очередь, должны U2F заранее поддерживать.
Таких сервисов уже довольно много, и список их постоянно расширяется. Сначала стандарт U2F поддерживали Google (gmail, youtube, etc), Dropbox, Github. Сейчас присоединились Facebook, Salesforce, Bitbucket, Dashlane и другие сервисы и компании. Большое развитие U2F получил в криптовалютной среде на различных крипто-биржах и крипто-кошельках, например Bitfinex, Coinbase и другие. Об этом мы поговорим отдельно чуть позже.
Взломы аккаунтов в социальных сетях, почте и других сервисах — не новость, это всегда неприятно, и часто связано с финансовыми или репутационными потерями, а, как правило, взломанные аккаунты защищены только простым, может и не простым, но все равно одним паролем, без второго фактора аутентификации. Популяризация же второго фактора в принципе и U2F в частности приводит к повышению общего уровня компьютерной грамотности и безопасности.
Если сервис сам пока не добавил возможность привязать U2F-ключ в качестве аутентификатора, возможно, это получится осуществить через провайдеров двухфакторной аутентификации, например, duo security, причем доступ можно будет настроить не только в web-приложения. Строго говоря, такие облачные платформы в качестве аутентификаторов используют не только U2F, и их возможности гораздо шире. Но не отметить эту возможность в нашей обзорной статье мы также не могли.
Еще один из способов интеграции U2F мы предусмотрели в нашем сервере аутентификации JaCarta Authentication Server (JAS), встраивание происходит путем настройки сервера и добавления необходимого кода на сайт, доступ к которому необходимо защитить.
Примеры настройки и использования
В качестве примера ресурса, где поддержка U2F уже реализована, возьмем Google как наиболее популярный.
А для примера аутентификации с использованием облачного провайдера аутентификации сервис duo.com и web-сайт на платформе WordPress.
- Войдите в свой аккаунт Google.
- Перейдите на страницу настроек учётной записи, нажав на кнопку «Мой аккаунт» в верхнем правом углу страницы.
- Перейдите в раздел «Безопасность и вход».
- В разделе «Пароль и способ входа в аккаунт» перейдите по ссылке «Двухэтапная аутентификация».
- Нажмите на кнопку «Приступить к настройке» и следуйте инструкциям.
- В процессе настройки снимите флажок «Надежный компьютер». В противном случае токен не будет использоваться при входе в аккаунт.
- Перейдите на закладку «Токены» и нажмите на кнопку «Добавить аппаратный токен».
- Подключите токен к USB-порту и дождитесь, пока световой индикатор на корпусе токена не начнет гореть непрерывно.
- Нажмите на кнопку «Зарегистрировать», после чего световой индикатор начнет мигать.
- Нажмите на кнопку на корпусе токена.
- Регистрация токена завершена.
Теперь проверим вход.
Чтобы зайти в профиль учётной записи Google с помощью JaCarta U2F, выполните следующее.
- Подсоедините JaCarta U2F к компьютеру и зайдите на сайт https://www.google.com.
- В правой верхней части страницы щёлкните на кнопке Войти
Отобразится страница, содержащая следующую форму.
- Введите адрес своей электронной почты и нажмите Далее.
Отобразится следующая форма.
- Введите пароль от своей учетной записи и нажмите Войти.
Отобразится следующая страница.
- Снимите флажок Запомнить на этом компьютере.
Если вы оставите установленным флажок Запомнить на этом компьютере, то режим двухфакторной аутентификации для доступа к учетной записи на этом компьютере будет отключен. Для входа потребуется ввести только пароль пользователя.
- Нажмите на кнопку на корпусе JaCarta U2F.
Вход в профиль учетной записи Google выполнен.
Аутентификация в Web-сайт на WordPress с использованием облачного провайдера аутентификации duo.com
Чтобы защитить какое либо приложение или протокол по средствам платформы DUO, необходимо выбрать, что защищать в самой платформе, и связать платформу с защищаемым приложением.
Со стороны Web-сайта добавьте Duo-плагин, для этого в меню Плагины в поиске найдите Duo-Two-Factor Authentication и нажмите Установить. После установки нажмите Активировать.
![](https://habrastorage.org/webt/9i/lg/an/9ilganj8dyffpx1iwl2abinurne.png)
Со стороны платформы войдите в меню Приложения (Applications) и выберите Защитить приложение (Protect an Application).
![](https://habrastorage.org/webt/mm/zs/dk/mmzsdksvbequ9le6bar5jcyzaao.png)
В отобразившемся меню поиска наберите WordPress и нажмите Защитить это приложение (Protect this Application).
![](https://habrastorage.org/webt/r1/mn/27/r1mn274qsaira1t-_-iqsjfkfxs.png)
Отобразятся 3 ключевых поля, Integration Key, Secret Key и API Hostname.
![](https://habrastorage.org/webt/1e/wj/jz/1ewjjzqctigwv7wbkodhjwjltjo.png)
![](https://habrastorage.org/webt/li/5x/0o/li5x0orijbfet9wlomndy3z8xa4.png)
Значения этих полей нужно перенести в соответствующие поля плагина на Web-сайте.
![](https://habrastorage.org/webt/wr/4d/rk/wr4drkn6jkklf0smuu9vzvdmm1k.png)
На этом настройка связи Web-сайта с платформой DUO завершена. Далее аутентифицируйтесь по паролю, на том Web-сайте, куда ранее была привязана платформа Duo.
![](https://habrastorage.org/webt/bo/e4/dl/boe4dleli-l93cg_usgbidfbgcc.png)
Установленный и настроенный плагин Duo предложит настроить защиту аккаунта. Нажмите Start Setup.
![](https://habrastorage.org/webt/ns/s6/mw/nss6mw1yhy45t8xlgzvizoctzgc.png)
Выберите U2F-token.
![](https://habrastorage.org/webt/dy/vr/mt/dyvrmtgqubzcy1t1elq3cp8na8k.png)
Подсоедините JaCarta U2F к USB-порту и следуйте указаниям.
![](https://habrastorage.org/webt/ut/bl/wl/utblwl9wj0hc1ofva2o1kweoyga.png)
По завершении вы попадете в админскую часть сайта, пройдя аутентификацию с использованием JaCarta U2F.
Сами сервисы обычно имеют свои собственные инструкции по настройке U2F, и их довольно просто найти, вот некоторые примеры.
GitHub
Dropbox
В заключении приведем несколько часто задаваемых вопросов и ответы на них.
Как получить доступ к ресурсу, если U2F ключ будет утерян? Все довольно просто, предусмотрен резервный способ двухфакторной аутентификации в виде кода по смс или email. А после входа в аккаунт связь с утерянным ключом можно разорвать и настроить новый.
Сколько ресурсов может быть добавлено в 1 ключ? Практически безгранично.
На каких платформах используется U2F? Устройство с любой операционной системой, с установленным браузером, поддерживающим U2F (в настоящее время это Google Chrome версии 38 и выше, Opera версии 40 и выше FireFox через специальный плагин), и свободным USB-портом.