34,71
рейтинг
2 августа 2015 в 22:29

Разработка → Многофакторный LastPass



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

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

В этой статье я хотел бы описать настройку и использование многофакторной аутентификации в менеджере паролей LastPass.

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

Бесплатный аккаунт:
  • Google Authenticator — программный OTP, задействующий смартфон.
  • Toopher — PUSH сообщения на телефон.
  • Duo Security — OTP или PUSH на выбор.
  • Transakt — PUSH сообщения.
  • Grid — распечатываемые листы с OTP.

Премиум/корпоративный аккаунт. Стоит недорого и при этом дает возможность использовать намного более надежные средства аутентификации:
  • Yubikey — USB устройство, генерирующее OTP.
  • Sesame — Программа, генерирующая OTP.
  • Fingerprint/Smart Card — использование отпечатка пальца или смарт-карты с сертификатом пользователя.

К сожалению, технология OTP имеет много известных уязвимостей, особенно когда задействуется телефон или смартфон пользователя. Задублированные симки, трояны в мобильных устройствах — это только самые банальные и широко распространенные атаки, не говоря уже о более изощренных вариантах. Вы можете потерять доступ к кодам в самый неудобный момент, например, если ваш телефон разрядится, сломается или потеряет сеть.

Технология OTP не зря снискала популярность благодаря своей относительной простоте, но все таки нельзя назвать её очень надежной.

Гораздо более надежным механизмом аутентификации является технология PKI/SmartCard (инфраструктура открытых ключей с неизвлекаемыми закрытыми ключами на смарт-картах). Не даром именно на ней построены действительно серьезные системы безопасности как государственного, так и корпоративного уровней.

Поэтому в данной статье мы рассмотрим использование смарт-карт и токенов в LastPass, как самых оптимальных по соотношению стоимости/безопасности/удобства использования, на примере наших смарт-карт и токенов Рутокен.

Использование смарт-карт/токенов — надёжно (LastPass требует выписанный на токен сертификат RSA2048), удобно (необходимо лишь ввести пин-код во всплывающем окошке), недорого ($20 за самую навороченную модель Рутокен) и очень доступно и распространено в России (более того, возможно вы уже пользуетесь нашим токеном или смарт-картой у себя на работе).

Бесспорно, использование смарт-карт или токенов будет по настоящему безопасно только в том случае, если криптографическая схема правильно реализована.
Наш экспертный анализ показал, что у них “под капотом” всё правильно — они по-честному подписывают случайные данные закрытым ключом на защищенном ключевом носителе.

Аутентификация в LastPass по смарт-картам настраивается очень просто. Благодаря нашему сотрудничеству с компанией LastPass токены и смарт-карты Рутокен работают с менеджером паролей LastPass и на Windows, и на OS X, и в Linux “из коробки”.

Первым делом, если у вас нет RSA2048 сертификата на токене, его можно получить в инфраструктуре вашей компании, создать бесплатно на одном из соответствующих интернет-ресурсов, выписать самостоятельно или, при желании, купить. На безопасность авторизации в LastPass это не повлияет. Для самостоятельного выписывания сертификата можно использовать, к примеру, OpenSSL, графическую надстройку XCA или, если есть возможность, Microsoft Certification Authority, встроенный в Windows Server. Инструкции можно легко найти в интернете.
Также сертификаты можно бесплатно получить на таких ресурсах как, например, Comodo или StartSSL.

Поскольку LastPass работает с токенами и смарт-картами через библиотеки стандарта PKCS#11, нам необходимо будет ей обзавестись.
  • Пользователям Windows достаточно установить драйвера с нашего сайта.
  • Для Linux необходимо взять с нашего сайта пакет DEB/RPM и установить его. Также, при необходимости, по той же ссылке можно взять саму библиотеку и самостоятельно установить ее в /usr/lib или /usr/lib64 для x86 или x64 версии ОС соответственно.
  • В OS X библиотека PKCS#11 устанавливается с помощью модуля поддержки “Связки Ключей” или вручную скачивается с нашего сайта и размещается в /usr/lib.

Далее для включения многофакторной аутентификации в LastPass перейдем в “Хранилище LastPass” (“My LastPass Vault”) в “Настройки профиля”…



… на вкладку Multifactor options.



Нас интересует нижний блок для Премиум пользователей.



Зайдем в настройки аутентификации Fingerprint/SmartCard. В случае, если библиотека PKCS#11 установлена корректно, мы увидим в выпадающем списке считыватель смарт-карт. Выберем “включено — да” и нажмем на “обновить”.



Будет запрошено подтверждение мастер-пароля…



… и пин-код смарт-карты/токена.



После чего мы получим сообщение об успешной настройке аутентификации.



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

По итогам произведенных манипуляций вы получаете удобное и, что самое важное, безопасное мультиплатформенное решение для хранения ваших паролей. Никто не сможет воспользоваться вашим аккаунтом без наличия смарт-карты/токена и знания пин-кода.
Автор: @mkirya
Компания «Актив»
рейтинг 34,71

Комментарии (14)

  • +3
    Интересный способ улучшения безопасности, спасибо за информацию.

    Скажите, пожалуйста, каким образом, в случае использования данного подхода, разблокировать пароли в LastPass на телефоне под Андроидом?
    • 0
      Теоретически можно использовать токен с интерфейсом micro-USB или Bluetooth.
      Но мне кажется, что для подобных задач гораздо удобнее — одноразовые пароли.
      Хотя приложение во многих случаях удобнее и проще, с точки зрения безопасности, аппаратный генератор одноразовых паролей более предпочтителен.
    • 0
      Абсолютно не рекламирую, но бОльшая часть коллег на андроиде использует вот такие вот ключики, некоторые из которых оборудованы NFC. Довольно удобно. На своем же айфоне прикрутил отпечатки пальцев пока что
  • 0
    Кстати, по поводу Google Authenticator и прочих OTP — есть какая-то возможность переносить настройки с одного телефона на другой (или на тот же самый после перепрошивки), или нужно заранее предусмотреть обходные пути (типа смс или одноразовых паролей), чтобы перенастроить те приложения, где он используется?
    • –1
      В GA секреты лежат в sqlite базе. Если есть рут — то без проблем, емнип. Недавно гуглил на эту тему, находится легко все.
    • 0
      authy используйте :)
  • –3
    Keepass + синхронизация базы на нескольких машинах.
    А то мыши и кактус вспоминаются иначе.
    • –1
      Для keepass есть мобильные приложения и расширения для браузеров? Для 1Password, например, есть, хоть он и не дешёвый, зато удобный.
      • +2
        На оф. сайте есть список под все платформы:
        keepass.info/download.html
        • 0
          тут получается удобство против безопасности… таки keepass отстает в этом плане
          • 0
            По сути домохозяйкам главнее удобство, чем безопасность, да и если пароли украдут то невелика потеря(соцсети, почта, кулинарные форумы, etc...). А вот если украдут пароли у разработчика, то тут будет ах и ох(гитхаб, панелей управления, etc...).
            Я на стороне безопасности и лучше я буду отвечать за свою безопасность, чем неизвестные люди, неизвестно как на неизвестном сервере.
            • 0
              Разработчики они тоже люди. :)
              Если инструмент неудобен в работе, хотя и надежен, ему будет тяжело получить популярность. Несомненно ставить надежность надо во главе, но и про удобство использования не стоит забывать.
    • 0
      Как опенсорсная альтернатива. Хотя LastPass пользоваться намного приятнее.
      С Keepass также можно использовать токены и смарт-карты.
      Краткий мануал: dev.rutoken.ru/pages/viewpage.action?pageId=13795543
      • 0
        Информация там не очень подробная, скоро обновим. Может быть также оформим и в виде статьи. Вместо RSACertKeyProviderPlugin можно использовать CertKeyProvider.
        Однако, повторюсь — LastPass решение более элегантное и «коробочное».

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка