Авторизуемся аппаратно. Знакомимся с FIDO U2F

Прелюдия

В наше время паролей становится все больше, а сбрутфорсить легкий пароль не составляет труда, даже если будет всплывать время от времени капча, решение которой можно поручить индусам через специальные сервисы, предоставляющие API для этого дела. В общем, безопасность гарантировать сложнее. Даже с очень сильным и длинным паролем подбор возможен, а уж если не подбор, то любой школьник в наше время может додуматься и написать собственный а-ля “троян” или кейлоггер или расширение в браузер, которое будет отслеживать страницу и вытаскивать пароли из форм. Скорее всего, только что вышедшая программа не будет перехвачена никаким антивирусом до тех пор, пока кто-то не отправит вредоносный бинарник на проверку, и его сигнатура не будет добавлена в базу.

СМС – не панацея?

Вернемся снова к паролям. Сложные пароли придумывать — это дело непростое, а уж про их запоминание вообще стоит промолчать. Существует решение, называемое двухфакторной аутентификацией (2FA), заключается оно в том, что для входа в аккаунт после ввода обычной пары логин/пароль запрашивается дополнительное действие, наиболее популярно в наши дни — ввод кода с СМС, поскольку именно этот способ подтверждения используется в банк-клиентах. Чем плох этот метод? Казалось бы, у каждого есть телефон, и он является личным средством, поэтому должно быть безопасным. Однако, если же вы попадетесь профессиональным мошенникам, те найдут способ получить доступ к вашему телефону и крайне легко смогут полазить по сервисам, на которых ваш аккаунт привязан к телефону, а еще и переписку Telegram вскроют (заметка: телеграм хранит все переписки с привязкой к номеру телефона. Только секретные переписки не сохраняются, если верить создателям). Подробнее на тему опасности можно будет почитать в статье на хабрхабрхабрхабрхабрхабахаб….блабла. И, кстати говоря, на смартфонах Android некоторые приложения могут читать смс сообщения, поэтому их можно легко перехватить, если заставить жертву установить специальное приложение и дать ему доступ к СМС.

Программная 2FA

С другой стороны, SMS является довольно надеждным способом авторизации, но вот удобен ли он? И как же быть, если телефон утерян, а доступ к аккаунту получить нужно срочно? Или, например, нужно подтвердить вход в аккаунт из подвала, где ни одна сотовая сеть не ловит? Многие сервисы вводят поддержку приложений авторизации, например, Google Authentificator, или Duo. Однако, оба приложения не особо удобны, поскольку не делают бэкапов и невозможно использовать на нескольких устройствах, и не просят пинкода при входе, поэтому есть отличное решение для программного 2FA. Но не стоит забывать мастер пароль! И обязательно храните резервные коды от сервисов где-то в распечатанном виде на бумаге в шкафу или сейфе (все зависит от уровня паранойи). Ну либо еще где-то в надежном месте, но чтобы в случае чего для вас это место было доступно. Программная двухфакторная аутентификация удобна, можно использовать любое понравившееся приложение, а также есть возможность использовать аппаратные OTP токены — брелки с USB и/или дисплеем, на котором отображается пароль ( в случае, если дисплея нет — эмулируется USB клавиатура и по нажатию на кнопку брелок сам вводит одноразовый пин-код в поле).

Аппаратная аутентификации FIDO U2F

Некий альянс FIDO, состоящий из членов организаций Google, Paypal, Mastercard и других известных брендов, решили упростить авторизацию посредством универсальной аутентификации U2F. Как же оно работает?

  1. Пользователь авторизуется посредством обычного логина и пароля
  2. Сервер специальный передает запрос браузеру
  3. Браузер же передает запрос на USB токен с поддержкой FIDO U2F
  4. Тот в свою очередь ждет нажатия на кнопку или на сенсор ( может быть, ввод пинкода, если там есть, чем вводить пинкод) и отправляет подтверждение браузеру, а браузер серверу, после чего сервер разрешает вход

Купить и настроить такой токен легко. Стоит от 20 до 50 долларов США. Самый популярный из них — это yubico, однако в России, судя по всему, больше не продается (санкции?). Эти токены навороченные, также на борту имеют OTP генераторы, поддержку Bluetooth и NFC, что дает возможность работать также на планшетах и смартфонах. В России же компания Aladdin-RD производит продукт JaCarta U2F, который отлично работает по этому протоколу. Я приобрел себе такой и сразу же столкнулся с проблемой работы в среде Linux ( Ubuntu 14.04, в моем случае ). На Windows же все заработало отлично. Оказывается, это проблема прав доступа в линукс: только рут пользователь имеет право пользоваться устройствами, определившимися как FIDO token.

Решается проблема довольно просто:

  1. Скачиваем этот файл
  2. Помещаем его в /etc/udev/rules.d/
  3. Возможно, стоит добавить конкретно ваш ProductID в список. Для этого
     sudo lsusb -l
    

    Получаем список  USB девайсов в виде idVendor:idProduct. Ищем свой девайс в списке и вставляем соответствующие idVendor и idProduct в тот файл последней строкой, скопированной из любой имеющейся.  После перезагрузки компьютера права вступят в силу и станет возможным использовать токен в браузере Google Chrome (и в других программах, работающих от имени пользователя).

    Подробная инструкция тут.

Где и как применять

  • Two-Factor: Плагин для WordPress (поддерживает OTP, Backup Codes, FIDO U2F) | GitHub проекта
  • Google Accounts (добавить аппаратный токен)
  • Dropbox (добавить ключи)
  • GitHub (настройки аккаунта->Security)

Ссылки по теме

6,825 просмотров всего, 16 просмотров сегодня

Запись опубликована в рубрике Защита данных, Интернет, Информационная безопасность, Компьютеры, Устройства, Шифрование с метками , , , , , , , , , , , , , . Добавьте в закладки постоянную ссылку. | Короткая ссылка:  http://p1rat.ru/lezzz/1NaRT

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.