Относительно недавно у компании 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 достаточно лишь подключить электронный идентификатор и ввести его пин-код.

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

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


  1. druf
    02.08.2015 23:55
    +3

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

    Скажите, пожалуйста, каким образом, в случае использования данного подхода, разблокировать пароли в LastPass на телефоне под Андроидом?


    1. nmk2002
      03.08.2015 13:53

      Теоретически можно использовать токен с интерфейсом micro-USB или Bluetooth.
      Но мне кажется, что для подобных задач гораздо удобнее — одноразовые пароли.
      Хотя приложение во многих случаях удобнее и проще, с точки зрения безопасности, аппаратный генератор одноразовых паролей более предпочтителен.


    1. nKognito
      03.08.2015 15:52

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


  1. ProRunner
    03.08.2015 09:13

    Кстати, по поводу Google Authenticator и прочих OTP — есть какая-то возможность переносить настройки с одного телефона на другой (или на тот же самый после перепрошивки), или нужно заранее предусмотреть обходные пути (типа смс или одноразовых паролей), чтобы перенастроить те приложения, где он используется?


    1. isden
      03.08.2015 10:04
      -1

      В GA секреты лежат в sqlite базе. Если есть рут — то без проблем, емнип. Недавно гуглил на эту тему, находится легко все.


    1. mikes
      03.08.2015 13:42

      authy используйте :)


  1. 121212121
    03.08.2015 10:37
    -3

    Keepass + синхронизация базы на нескольких машинах.
    А то мыши и кактус вспоминаются иначе.


    1. iroln
      03.08.2015 12:54
      -1

      Для keepass есть мобильные приложения и расширения для браузеров? Для 1Password, например, есть, хоть он и не дешёвый, зато удобный.


      1. VokaMut
        03.08.2015 12:58
        +2

        На оф. сайте есть список под все платформы:
        keepass.info/download.html


        1. mikes
          03.08.2015 13:44

          тут получается удобство против безопасности… таки keepass отстает в этом плане


          1. VokaMut
            03.08.2015 13:57

            По сути домохозяйкам главнее удобство, чем безопасность, да и если пароли украдут то невелика потеря(соцсети, почта, кулинарные форумы, etc...). А вот если украдут пароли у разработчика, то тут будет ах и ох(гитхаб, панелей управления, etc...).
            Я на стороне безопасности и лучше я буду отвечать за свою безопасность, чем неизвестные люди, неизвестно как на неизвестном сервере.


            1. mikes
              03.08.2015 14:14

              Разработчики они тоже люди. :)
              Если инструмент неудобен в работе, хотя и надежен, ему будет тяжело получить популярность. Несомненно ставить надежность надо во главе, но и про удобство использования не стоит забывать.


    1. mkirya
      03.08.2015 17:20

      Как опенсорсная альтернатива. Хотя LastPass пользоваться намного приятнее.
      С Keepass также можно использовать токены и смарт-карты.
      Краткий мануал: dev.rutoken.ru/pages/viewpage.action?pageId=13795543


      1. mkirya
        03.08.2015 18:08

        Информация там не очень подробная, скоро обновим. Может быть также оформим и в виде статьи. Вместо RSACertKeyProviderPlugin можно использовать CertKeyProvider.
        Однако, повторюсь — LastPass решение более элегантное и «коробочное».