Надежный менеджер паролей. Что такое менеджер паролей и в чём преимущество его использования? Продолжение доступно только подписчикам

Помощь 10.02.2019
Помощь

Где хранить свои суперсекьюрные и регулярно обновляемые пароли от множества интернет-ресурсов? В голове? Скорее всего, не поместятся. На бумажке? Не по-хакерски. Доверять облачному сервису, который спалит пароли если не сегодня, то завтра обязательно? Понадеяться на опенсорсный менеджер паролей? Вяло, товарищи! Скучно!

Сегодня мы рассмотрим настоящий тру-хакерский, тру-гиковский, удобный и безопасный способ хранить пароли, создав свой аппаратный менеджер паролей! Он будет хранить в себе данные разных аккаунтов, логины и зашифрованные пароли, ключ от которых должен держаться отдельно и вводиться непосредственно перед использованием, и при этом устройство будет эмулировать USB-клавиатуру для вывода логина и пароля.

Нет дыма без огня, или немного предыстории

Идея родилась не на пустом месте. Незадолго до ее появления я решил заняться программированием микроконтроллеров. Но так как свободного времени, чтобы серьезно и глубоко посвятить себя этому, было недостаточно для полноценного освоения ни железного С++, ни железобетонного ассемблера, то, чуть не споткнувшись о продолжающую набирать популярность вселенную Arduino, я прямиком угодил в объятия загадочного мира «JavaScript для микроконтроллеров». «Теперь гаджеты программируют на JavaScript» - этот броский заголовок поймал меня на крючок! Разглядывая на сайте «Амперки» изображения красивой отладочной платы, похожей на Arduino Leonardo, но белой и именуемой Iskra JS (не путать с Iskra Neo, которая тоже Iskra, тоже белая, но по сути улучшенная Leonardo), я попал под гипноз описания ее возможностей (и, если что, нахожусь под ним до сих пор).

Сердце платы Iskra JS - прекрасный дуэт микроконтроллера серии STM32F4 и прячущейся в его недрах могучей open source прошивки Espruino , выполняющей функцию интерпретатора языка JavaScript с торчащей наружу консолью а-ля REPL. Те, кто знаком с Node.js, почувствуют ярко выраженное дежавю и смогут вести себя более уверенно в диалоге с Espruino. При всем при этом для Iskra JS подходит весь спектр аксессуаров от Arduino UNO R3. Да и дополнительные библиотеки, представляющие собой JS-модули, имелись в достаточном количестве как от создателей проекта Espruino, так и от разработчиков Iskra JS.

«Зачем все это», или не купить ли нам коммерческий токен

Можно посмотреть и в сторону коммерческих токенов. Но тут скрывается пласт нюансов с дополнительным ПО и универсальностью. Да и за действительно интересные устройства придется выложить немаленькую сумму.

Итак, недолго раздумывая и сразу обзаведясь целым набором «Йодо», где, помимо платы Iskra JS и буклета, были шилды, модули с сенсорами и прочими кнопочками, а также детали необычного конструктора для макетирования корпусов, именуемого структором, я всецело погряз в творчестве. 🙂 И вот тогда, наткнувшись в буклете на один из проектов с примером использования эмуляции клавиатуры, я и загорелся идеей сделать «ленивку», набирающую за меня пароли.

Идея зрела долго, ее каждый раз подрезали всякие умные роботы и дома, GSM-сигнализации и прочие радости творчества. Ведь программирование для Iskra JS приносило массу удовольствия, так как не было обременено посредническими процессами - ни предварительным компилированием, ни обязательной прошивкой платы.

INFO

Процесс прошивки в Espruino-based платах требует некоторых разъяснений. Прошивка в микроконтроллере одна - и это Espruino. Она прошивается единожды и занимает часть флеш-памяти микроконтроллера. В дальнейшем для сохранения вашего JavaScript-кода используется оставшееся место во флеш-памяти. И вот очистку части флеш-памяти от старого кода и запись нового нередко также называют прошивкой, хотя правильнее все же называть это сохранением кода.

Время пришло

День, когда лень набивать длинные пароли руками победила в первенстве приоритетов, все-таки настал. И тогда пришло время сформировать представление о том, каким я вижу свое будущее устройство, а заодно и составить список требований и деталей.

  • Для хранения логинов и паролей была выбрана карта microSD. Для работы с ней, соответственно, необходим модуль для чтения карт.
  • В роли управления решил задействовать ИК-пульт и модуль с ИК-приемником, которые достались с набором, так как кнопок пульта заведомо было достаточно для возможного будущего расширения, в то время как с размещением новых физических кнопок могли бы возникнуть проблемы, да и дистанционность имеет свои плюсы в использовании.
  • Так как у «Амперки» не было на тот момент собственных модулей с дисплеем, целостную картинку пришлось нарушить и воспользоваться китайским модулем с OLED-дисплеем с ярким экраном диагональю 0,96 дюйма и с подключением по шине I2C (как показала практика, если собираешься управлять своим менеджером с расстояния более двух метров, то удобней все же будет использовать экран больших размеров).
  • Для хранения ключа после недолгих поисков была выбрана транспортная карта «Единый», работающая по технологии RFID и, как обнаружилось, имеющая небольшую область памяти, свободную для перезаписи. Попадаются карты «Единый» с 80 и 164 байт памяти. Хранится информация страницами по четыре байта. У тех, что со 164 байт на борту, есть 80 байт, свободных для перезаписи (с 16-й по 35-ю страницу при счете с 0). Таких израсходованных карт у меня оказалось приличное количество. Свою роль сыграло и то, что у «Амперки» была полноценная и настроенная на работу с картами «Единый» JS-библиотека для NFC/RFID-модуля на основе микросхемы NXP PN532 , что дает стимул покопаться в ней глубже для более детального изучения принципов работы с RFID/NFC-метками.

Определившись со списком, можно было приступать к сборке прототипа и программированию.

Изначально за основу была взята отладочная плата Iskra JS с дополнительной платой расширения. Прототип на ней получился громоздким, чудным и по-своему симпатичным.




Позже появилась мини-версия старшей платы - Iskra JS mini c STM32F411CEU6 на борту, и это позволило существенно сократить размеры устройства и сделать его мобильным.



Вот на ее основе мы и соберем наше устройство.

Подготовка

Для начала необходимо установить среду разработки, и если ты собираешься работать с платой из-под винды, то понадобятся драйверы . Подробно об установке среды разработки можно почитать на вики проекта Iskra JS.

Если же не пользуешься браузером Google Chrome, то можно установить нативные приложения для Windows с сайта проекта Espruino либо самостоятельно клонировать текущую версию среды разработки с GitHub и запустить ее локально с помощью фреймворка NW.js , просто скопировав все файлы среды в папку с фреймворком и запустив исполняемый файл nw .

Главное - не забудь поменять в Espruino Web IDE настройки для работы с платами и дополнительными библиотеками от «Амперки»:

  • В разделе SETTINGS → COMMUNICATIONS:

    • в поле Module URL укажи http://js.amperka.ru/modules
    • в поле Module Extensions укажи.min.js|.js
    • в поле Save on Send выбери Direct to Flash
  • В разделе SETTINGS → BOARD:

    • в поле Board JSON URL укажи http://js.amperka.ru/json

Окно среды разработки состоит из двух частей: справа - редактор кода, слева - консоль интерпретатора Espruino, доступная при соединении с отладочной платой.


Сборка прототипа и подключение

Подключим физически все наши модули, разместив на беспаечной макетной плате. Что она собой представляет и как с ней работать, можно почитать .



Выведем питание с пина 3V3 отладочной платы Iskra JS mini на дорожку + макетной платы, а «землю» - с пина GND на .

OLED-экран с подключением по шине I2C имеет четыре контакта: GND, VDD (VCC), SCK (SCL), SDA. Подключим их к соответствующим пинам на плате:

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

Менеджер паролей – это естественное решение проблем, связанных с использованием паролей для различных сервисов и приложений. Хороший менеджер паролей плавно интегрируется с веб-браузером, облегчая создание новых учетных записей в веб-приложениях, вход на веб-страницах, а также покупки в интернете . Какое приложение выбрать ?

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

Хранение конфиденциальных данных в облаке по-прежнему вызывает в пользователях ряд опасений, касающихся безопасности. Разработчики менеджеров паролей пытаются нас убедить, что базы данных шифруется и расшифровываются только на уровне устройства, а пароль и ключи шифрования никогда не передаются на серверы. Шифрование данных осуществляется по алгоритму AES-256 , который сегодня считается самым безопасным. В результате ни один поставщик, компания или агентство правительства США не имеют доступа к данным, а также не будут его иметь в будущем. По крайней мере, в теории. С другой стороны, если сам забудешь главный пароль, сохраненные данные будут безвозвратно потеряны.

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

Эксперты сходятся во мнении, что хорошая защита состоит из двух частей: того, что Вы знаете сами, то есть пароль, и того, что можно проверить через приложения в смартфоне.

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

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

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

Какой менеджер паролей выбрать

1Password

1Password позволяет создать учетную запись и хранить данные на серверах, расположенных в Канаде или на территории Европейского Союза. Программа хранит данные для входа в систему, номера кредитных карт и данные банковского счета. Также интегрируется с популярными приложениями для iOS, что позволяет получить удобный доступ к программам и веб-сайтам.

Приложение не поддерживает механизма двухфакторной аутентификации в его классическом понимании, но реализует эту идею немного другим способом. Программа создает безопасный ключ (Secret Key) , который играет важную роль в шифровании данных на устройстве. Этот ключ используется в сочетании с основным паролем для защиты базы данных пользователя. С технической стороны это уникальный 128-битный идентификатор, генерируемый локально, который никогда не покидает устройства пользователя.

1Password оснащен ещё одной интересной функцией – Travel Mode. Каждый раз, когда Вы пересекаете границы государств, все важные данные из хранилища будут удалены, кроме тех, что явно обозначены как safe for travel .

1Password является первым менеджером, который использует новый стандарт, обеспечивающий прямой доступ к системному генератору случайных чисел. Этот генератор используется в операциях шифрования. Кроме повышенной безопасности, в 10 раз ускоряется процесс шифрования.

Dashlane

Dashlane систематизирует пароли для веб-сайтов, заметки и данные на отдельных вкладках. Сохраненные объекты могут быть отнесены к категории, а встроенная поисковая система позволяет легко их находить.

Встроенный в программу модуль Secure Digital Wallet собирает информацию о дебетовых и кредитных картах, учетные данные для входа в систему банков, пароль к PayPal и другим финансовым сервисам. В процессе оплаты покупки Dashlane автоматически заполняет поля, необходимые для завершения сделки.

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

Dashlane поддерживает FIDO U2F YubiKey – аппаратный ключ в виде USB-ключа, который в момент подтверждения личности просто достаточно вставить в соответствующий порт компьютера. К сожалению, эта поддержка доступна только в платной версии приложения.

Уникальной функцией программы является Password Changer , которая одним нажатием кнопки позволяет изменить от одного до тысячи паролей к популярным приложениям и веб-страниц. Password Changer автоматически заменяет старые пароли новыми, гораздо более сильными, и запоминает их в базе данных. Функция работает с тысячами страниц, хотя в списке поддерживаемых сервисов преобладают представители из Соединенных Штатов. Среди популярных также в России мы нашли Netfliks, Spotify, Evernote, Vimeo, Runkeeper, а также сервис по планированию путешествий Kayak.com.

Дополнительная функция Instant Security Alerts автоматически уведомит вас о необходимости смены пароля на указанном сервисе. Так как мы постоянно слышим о взломах популярных веб-сайтов и краже миллионов паролей к аккаунтам пользователей, функция Instant Security Alerts поможет вам поддерживать высокий уровень защиты.

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

KeePass

KeePass Password Safe для Windows – это один из последних менеджеров «старой школы», записи паролей хранятся в локальной базе данных. Этот тезис подтверждает аскетичный интерфейс. В KeePass пользователь просто создает базу данных со своей структурой и заполняет её данными для входа.

Благодаря этому, программа отлично подходит для хранения паролей от компьютеров, сетевых служб, учетных записей электронной почты и FTP-серверов. В базе будут сохранены также номера кредитных карт, PIN-код к входной двери или короткие заметки, которые должны оставаться конфиденциальными. KeePass по-разному справляется с запоминанием учетных данных веб-сайтов и веб-приложений. Эти функции реализуются в виде плагинов для популярных браузеров. Родная интеграция не всегда работает, как должно.

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

В KeePass авторы реализовали два алгоритма шифрования для базы данных: AES/Rijndalel и ChaCha20, оба с 256-битной длиной ключа, а также функцию преобразования ключа AES-KDF и Argon2. Доступ к базе данных может быть защищен паролем, ключом шифрования, учетной записью Windows или каждым из этих методов, одновременно.

Самый важный конкурент – Password Safe – кажется бедным родственником на фоне KeePass , но имеет одну важную функцию. Программа изначально поддерживает аппаратные токены YubiKey, хотя упомянутый в статье FIDO U2F не поддерживается.

LastPass

LastPass работает со всеми основными браузерами: Chrome, Firefox, Opera, Internet Explorer, Edge и Maxthon. Программа устанавливается как плагин и отображается в браузере в виде иконки на панели инструментов. Управление учетными данными происходит в облаке через специальную веб-страницу. Доступно также приложение для мобильных устройств Android, Apple и Windows Phone.

LastPass серьезно подходит к вопросу входа в систему с помощью двухфакторной аутентификации. Вторым компонентом авторизации здесь может быть код из приложения на мобильном устройстве, код программы LastPass Grid и LastPass Sesame, а также отпечаток пальца пользователя, сертификат на криптографическом устройстве или одноразовый пароль, сгенерированный на аппаратных токенах YubiKey или RSA SecureID. В числе поддерживаемых приложений для 2FA вошли Google Authenticator, Duo Security и Authy.

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

LastPass хорошо подходит для семейного использования. План на шесть человек стоит 4 доллара в месяц, и при этом позволяет в полной мере использовать функцию совместного доступа к паролям и аварийного восстановления.

В LastPass вы можете дать надежному другу или члену своей семьи доступ в хранилище. Вы сами решаете, кто может иметь доступ к сохраненным паролей и как долго. Аналогичные возможности предлагают все конкуренты программы.

RoboForm

RoboForm предоставляет свое программное обеспечение в версии Free (бесплатная) и Everywhere (от 19,95 долларов в год). Между бесплатной и платной версией очень много различий.

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

Средства синхронизации данных между устройствами, совместное использование паролей между членами семьи и друзьями или резервное копирование в облако с доступом к паролям в браузере доступны только в платной версии Everywhere .

RoboForm имеет удобную систему организации сохраненных учетных данных вместе с функциональной поисковой системой , которая помогает находить их, когда они необходимы. Поддержка программы осуществляется с помощью браузера, но при запуске модуля Центр защиты вы получите доступ к классическому окну Windows, с уровня которого можно управлять своими логинами, закладками, учетными данными в приложение, удостоверениями, а также секретными заметками.

По сравнению с конкурентами, RoboForm предлагает десятки вариантов меню и настроек. Правда, они «хорошо спрятаны», так что не нужно их использовать, однако, если вы хотите настроить программу для удовлетворения ваших потребностей, здесь есть такая возможность. RoboForm также доступен для пользователей Linux и устройств с Chrome OS.

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

Легко ли запомнить данные для всех нужных веб-ресурсов? Иметь один пароль для всех или записывать его на бумаге – небезопасно. Постоянно придумывать новые – сложно. На помощь приходят программные хранилища, способные запоминать логины и пароли от множества сайтов и приложений – так называемые менеджеры паролей.

Встроенную систему управления учетными записями имеет каждый уважающий себя веб-браузер. Также существуют сторонние решения – платные и бесплатные. Последние больше подходят для тех, кто пользуется разными браузерами и приложениями или не доверяет встроенным системам.

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

Менеджеры паролей бывают платными (pro или premium), бесплатными (free), а также фримиум (с бесплатными базовыми функциями и платными расширенными). Большинству домашних пользователей хватает бесплатных продуктов, но если вам нужны особые возможности, например, усиленная защита или увеличенный размер хранилища, придется немного заплатить.

Кто разбирается в безопасности лучше, чем создатели одного из знаменитейших антивирусов? предлагает все мыслимые степени защиты. Эта программа интегрируется во многие браузеры, имеет собственный генератор случайных сочетаний символов, отслеживает попытки фишинга и работу шпионских программ-кейлоггеров.

Программа существует в переносной версии, что позволяет запускать её с флэшки на разных компьютерах. Можно импортировать в KPG записи из других подобных сервисов. Разумеется, есть русскоязычный интерфейс.

Стоимость сервиса – 450 рублей в год.

Главный недостаток: программа не работает с браузерами Mozilla Firefox 3.x (64 bit), Opera, Vivaldi и некоторыми другими.


— один из самых популярных сервисов для работы с паролями. Пользователям компьютера проще всего установить расширение в браузер; на мобильных устройствах LastPass реализован как отдельное приложение.

Интерфейс всех расширений и приложений LastPass переведен на русский. Бесплатный вариант сервиса позволяет работать с единственной учётной записью на одном устройстве. Для синхронизации данных на нескольких девайсах необходима премиум-подписка LastPass, которая обойдется примерно в $2 в месяц. Семейный аккаунт стоит вдвое дороже, но поддерживает шесть учётных записей.

Этот сервис заполнения форм знаком многим пользователям ещё с прошлого века (без преувеличения). Его главное преимущество – в способности заполнять формы не только в веб-браузерах, но и в любых Windows-приложениях. Интерфейс переведен на русский язык.

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

Бесплатная версия Roboform работает для одного пользователя на одном компьютере. Для синхронизации на разных устройствах необходимо купить подписку по цене от 810 рублей в год. Более дорогие варианты позволяют синхронизировать одновременно несколько учетных записей, например, для сотрудников компании. Наконец, вы можете купить подписку бизнес-класса для большого коллектива примерно за 1500 рублей в год на каждый аккаунт. Такая подписка предоставляет ещё и сервис администрирования.


— интересный платный сервис для тех, кто в первую очередь заботится о безопасности. Приложение доступно как для мобильных платформ, так и для десктопа. В нём можно хранить данные сайтов, номера банковских карт, личные заметки и т.д.

База Enpass в зашифрованном виде может храниться на стороннем облачном сервисе (OneDrive, Диск Google, Dropbox и т.д.) или на самом устройстве. Для доступа к ней на мобильном девайсе можно использовать сканер отпечатка пальца.

Хотя сервис Enpass платный, разработчики предлагают обойтись разовым платежом в 690 рублей за мобильную версию (это дешевле, чем годовая подписка на Roboform). Достаточно купить версию для одной из платформ, и вы сможете установить приложение на другие устройства бесплатно.

Ещё один сервис, о безопасности которого можно не беспокоиться. доступен в полном разнообразии форм – как отдельная программа для настольных ОС, как мобильное приложение и как браузерное расширение. Интересно то, что его создатели до сих пор поддерживают устаревшие платформы, вроде Windows Phone или BlackBerry OS.

Сервис отличается невероятным разнообразием функций. Здесь и хранение паролей для доступа на сайты, и личная папка для документов, и генератор сложных паролей. Есть двухфакторная аутентификация для доступа к защищенным ресурсам, автоматическое заполнение форм на сайтах и сохранение истории (на случай, если вы измените или удалите записанный пароль).

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

Стоимость подписки на Keeper составляет $30 в год для индивидуального пользователя и $60 – для семейного аккаунта с 5 пользователями. Бесплатная демо-версия позволяет хранить неограниченное число записей, правда, лишь локально.

Мы не стали рассматривать популярные сервисы Dashlane, LogMeOnce и некоторые другие, поскольку они не предлагают русского интерфейса приложения или сервиса.

Расширения для браузеров Опера, Гугл Хром, Яндекс, Firefox

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

Встроенные менеджеры паролей в браузерах

Как мы уже упоминали, любой приличный браузер в 2018 году имеет собственный менеджер паролей. Если у вас нет особенных потребностей в усиленной безопасности, то можно и не искать другие решения.

Основная часть их работы происходит прямо при входе на сайты. Всплывающий запрос интересуется, сохранить ли данные для входа в аккаунт, изменить ли пароль (если вы ввели не тот, что обычно), сохранить ли для какого-нибудь сайта несколько учётных записей. Рассмотрим, как воспользоваться этой функцией в различных популярных браузерах на Windows 10.

Opera

Google Chrome

Как посмотреть пароли в Google Chrome (если вы пользуетесь встроенным менеджером, без дополнительных расширений):

Firefox

Как посмотреть пароли в Firefox?

Яндекс.Браузер

Как посмотреть пароли в Яндекс.Браузере:

Заключение

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

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

Платить за менеджер паролей или нет? Большинство программ этого класса – платные. Однако за свои деньги (достаточно скромные) вы получаете гарантии конфиденциальности. Если информация вам дорога, рекомендуем подстраховаться и примерно за 100-150 рублей в месяц обеспечить себе спокойствие.

За последний год было украдено 4,2 миллиарда паролей. Эта из ряда вон выходящая цифра должна обеспокоить любого, кто имеет дело с Интернетом. Федеральная торговая комиссия США проанализировала, что происходит с похищенными учетными данными. После того как украденные логины к Facebook, Google, Netflix и онлайн-банкам публикуются на хакерском форуме, в среднем проходит всего девять минут до первой попытки захода на ваш аккаунт. Поскольку двое из трех пользователей используют один и тот же пароль для нескольких служб, украденный ключ открывает сразу множество дверей.

Вышеприведенное число также демонстрирует, что теперь пароли могут быть украдены не только у отдельных пользователей, попавшихся на удочку фишингового сообщения. Хакеры нацелились на крупные сервисы, что сулит им гигантскую прибыль. На прицеле оказались крупные IT-концерны, такие как Yahoo! и Uber.

Генерация надежных паролей

Национальный институт стандартов и технологий США внес коррективы в правила создания безопасных кодов. Несколько нововведений:
Длина: Надежность зависит от длины пароля. Чем он длиннее, тем лучше.
Никакой логики: Бессмысленный набор букв надежнее, чем можно подумать. Но пароль не должен быть цифровой мешаниной.
Уникальность: Используйте пароль только один раз.
Проверка: С помощью онлайн-сервиса Pwned Passwords вы узнаете, если ваши пароли используются кем-то другим или же были опубликованы.
Изменение при необходимости: При краже пользовательских данных с серверов какого-либо сервиса, чьим клиентом вы являетесь, смените пароль.

Еще совсем недавно исследования насчитывали в среднем 20–30 аккаунтов, защищенных паролем, на одного пользователя. Последние данные говорят о гораздо большем количестве. Диспетчер паролей, используемый в корпоративных целях, хранит в среднем 191 пароль для бизнес-клиентов. Но даже те, у кого всего десять аккаунтов, практически не придерживаются основного правила обеспечения защиты: пароль нельзя использовать больше одного раза.

Защита для всех паролей


Именно эту проблему помогают решить десять протестированных нами диспетчеров паролей, выступая в качестве сейфа для безопасных паролей и работая в Android, iOS и Windows. Они хранят все пароли централизованно в одном месте. В этих продуктах для защиты сейфа используется мощное AES-шифрование с практически не взламываемой длиной ключа в 256 бита. Такую базу данных можно разблокировать лишь с помощью правильного мастер-пароля. Таким образом, пользователю не требуется помнить пароль к каждому своему аккаунту, а только мастер-пароль, открывающий сейф со всеми остальными кодами.


При этом продукты, протестированные нами, работают по двум разным принципам: восемь менеджеров, среди которых тройка лидеров LastPass, 1Password и Dashlane, представляют собой онлайн-сервисы. Зашифрованная база данных паролей хранится в вычислительных центрах провайдера сервиса.

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


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

Мы рекомендуем начать с хранилища на ПК и лишь затем подтягивать мобильные устройства. Преимущество обоих локальных решений заключается в сохранении за пользователем полного контроля над сейфом. По этой причине мы удостоили KeePass высшим баллом за категорию «Безопасность». Такой метод менее удобен, поскольку вам придется самим думать о том, как получить пароли со смартфона. Однако KeePass - это единственная программа, способная взаимодействовать с различными приложениями, считывающими данный формат баз данных.

К примеру, на тестировании мы остановили свой выбор на KeePass2Android (Android) и MiniKeePass (iOS). Все другие диспетчеры паролей уже идут в комплекте с подходящими приложениями.

Двойная защита мастер-пароля

Безопасность диспетчера паролей зиждется на мастер-пароле (см. блок справа). Поэтому нам непонятно, почему половина участников нашего тестирования принимает даже такие элементарные коды, как «1234abcd».

Лишь 1Password, Dashlane, а также продукты таких известных разработчиков антивирусов, как F-Secure, Kaspersky и Avira, требуют более сложных мастер-паролей. Не менее важно защитить свой сейф и другими средствами - в этом отношении инструменты от антивирусных экспертов откровенно халтурят.

Выбор мастер-пароля

Использование предложений. Забавная реплика из сериала Net­flix или поговорка вашей бабушки станут отличной основой для вашего пароля. Вы можете также обратиться к своему хобби. Неплохой идеей может стать фраза «I love read Chip magazine».

Использование заглавных и прописных букв. Правильная орфография -
скорее недостаток для пароля. «ILovereadChipMagazine» с позиции безопасности выглядит лучше.

Встраивание специальных символов. Можно добавить и парочку спе­циальных символов: «ILove/readChipMagazine2018$».

Двойная аутентификация. Обязательно задействуйте двухфакторную аутентификацию, чтобы дополнительно защитить доступ к диспетчеру паролей.

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

Вне зависимости от этого, общая безопасность диспет­черов находится на высоком уровне. Лидеры нашего теста, LastPass, Dashlane и Keeper Security, покоряют отлично реализованными проверками надежности используемых паролей, вычисляют дубликаты и даже предлагают возможность бэкапа. Все продукты не только сохраняют учетные данные, но и создают безопасные пароли - в каждый из них интегрирован собственный генератор.

Однако на практике их технологии отличаются: LastPass, KeePass и Avira Password Manager лучше всех справляются с задачей. Их генераторы невозможно не заметить, а кроме того, они наглядно отображают длину пароля. Не столь удобно мобильное решение от Kaspersky: в мобильных приложениях генератор отсутствует, таким образом, надежные пароли можно создать лишь в настольной версии.

Учетные данные для приложений и веб-сервисов


В плане удобства управления лидируют веб-сервисы, при этом речь идет не только об упрощенной синхронизации. В частности, 1Password, LastPass и Dashlane демонстрируют, как нужно правильно создавать приложения и постоянно внедрять новейшие технологии. К примеру, все три провайдера очень быстро адаптировали свои приложения к сканеру Face ID на iPhone X. Вдобавок ко всему, биометрическая разблокировка гораздо удобнее, чем ввод длинных мастер-паролей.


Все диспетчеры паролей предлагают автозаполнение учетных данных в браузере для входа на сайт. Для программ под Windows и приложений на смартфонах и планшетах этот метод не работает. Здесь проще всего будет скопировать и вставить данные в соответствующие поля. Android, в отличие от iOS, позволяет это сделать легко. Для системы от Apple разработчикам приложений необходимо интегрировать особые функции для работы с диспетчерами паролей. Во всяком случае, для наших лидеров - продуктов LastPass, 1Password и Dashlane - существует длинный список поддерживаемых приложений, которые обходятся без буфера обмена.

У всех решений существует функция поиска для быстрого обнаружения данных. Однако лишь 1Password, KeePass и Steganos позволяют интегрировать несколько баз данных, благодаря которым пользователь может, к примеру, разделить личные и рабочие аккаунты. Очень полезна и функция «Избранное» для отображения часто используемых паролей - отмеченные таким образом данные всегда находятся наверху в списке.

Вход в Windows без пароля

Диспетчеры паролей сохраняют все учетные данные. Ситуация со входом в Windows сложнее, поскольку у вас пока нет доступа к сейфу. Компания Microsoft интегрировала в «десятку» функцию Windows Hello, благодаря которой аутентификация пользователя может осуществляться по сканированию отпечатка пальца, распознаванию лица или радужной оболочки глаза. Такие устройства, как , уже распола­гают техническими средствами, поскольку обычной веб-камеры недостаточно.

Лучше, чем браузерные хранилища

Все участники нашего теста интегрируются в браузеры Chrome и Firefox, а вот с Microsoft Edge могут совладать лишь четыре участника теста: LastPass, 1Password, Keeper Security и True Key. Кстати о браузерах: их встроенные диспетчеры представляют собой лишь хранилище, в котором отсутствуют важные дополнительные функции - например, генератор паролей. Мы советуем обратиться к специальным инструментам, чтобы не потерять покой и сон из-за ужасающих новостей о миллионах украденных учетных данных.

Немало заметок и обсуждений посвящены непростому вопросу безопасного хранения паролей, тема интересная и, похоже, актуальной будет ещё долго. Существуют различные программные решения для хранения паролей, о них довольно часто пишут на Хабре (например и ), однако многим из них, как нам кажется, в той или иной степени свойственны следующие недостатки:

  • закрытый код снижает доверие и вероятность оперативного устранения уязвимостей
  • для автозаполнения нужно ставить дополнительный софт
  • после ввода мастер-пароля вся база открыта и доступна, в том числе для вредоносного ПО, что особенно актуально на недоверенных устройствах
  • использование мобильных приложений для хранения паролей все равно подразумевает ручной ввод с клавиатуры, например когда требуется залогиниться на стационарном ПК
  • автозаполнение невозможно в некоторых случаях (в bios, консоли)
Мы пришли к выводу, что наиболее удобным решением будет простой и недорогой девайс, позволяющий аппаратно хранить и вводить логины/пароли на любые устройства, без установки какого-либо ПО.

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

  • шифрованные накопители, по сути - просто флешки с паролем (например, такая). Можно безопасно хранить документы, но об автоматическом вводе паролей речь не идет
  • устройства с биометрической идентификацией (пример). Биометрическая идентификация выглядит привлекательно, однако она менее универсальна, чем символьный пароль (например, если надо удаленно предоставить кому-то доступ к устройству, передача отпечатка пальца станет настоящей проблемой), к тому же дополнительные датчики увеличивают стоимость изделия. В случае компроментации сложно быстро сменить отпечатки
  • программные менеджеры паролей с аппаратным ключом-токеном, который дает доступ в базу (например) обладают теми же недостатками, что и программные менеджеры без ключа-токена
  • устройства для ввода 1-4 паролей и их генерации (пример , ). Наиболее близкие решения. Из недостатков следует отметить ограниченное количество хранимых паролей а также управление исключительно кнопками на устройстве, что далеко не всегда удобно.
Ни одно из найденных устройств в полной мере не соответствовало нашей задумке. Мы обрадовались - и давай думать дальше.

Идея

Не так давно для корпоративных задач хранения паролей вместо бумажек, браузеров и биологической памяти мы стали использовать KeePass . Вполне довольные удобством и универсальностью этого продукта, мы решили приспособить его для задач аппаратного хранения паролей, портировав на микроконтроллер.
Однако, осталось огромное количество вопросов. Каким образом выбирать нужную запись в базе на устройстве? Как показать пользователю, какая запись выбрана? Стоит ли размещать на корпусе устройства кнопки? Экран? Как вообще оно должно подключаться к компьютеру? К планшету? К телефону?

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

Для управления мы будем использовать стандартную клавиатуру, а для непосредственного ввода сохраненных паролей в формы - эмулировать клавиатурные команды. “Перехват” управления будет происходить при вводе специальной комбинации клавиш. По умолчанию мы выбрали сочетание Ctrl + Shift + ~ , потому что оно удобно для нажатия и практически нигде не используется. Проект получил название “Pastilda” (от password, tilda), у нас оно ассоциируется с чем-то вкусным и сладким, а также помогает не забыть главное сочетание клавиш для работы с устройством.

Находясь в пассивном режиме Пастильда транслирует все сообщения от клавиатуры к ПК без изменений, ожидая нажатия специальной комбинации. После ввода комбинации устройство входит в активный режим. Если в этот момент курсор находится в поле для ввода текста - это может быть поле “Логин”, или любое другое текстовое поле - в нем появляется одно-строчное текстовое меню.

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

Реализация 0.1

Как всегда много чего хочется реализовать, а начать решили с малого. Ревизия 0.1 предназначена для проверки идей, удобства использования и всяческого баловства. В текущей версии запланирован следующий минимум функций:
  • составное USB устройство (HID+Mass Storage)
  • USB host
  • работа с одной базой KeePass
  • однострочное меню
  • FAT16.

Схема




Тут всё просто - контроллер Stm32f405, два разъема и флешка на SPI. Так же немного защиты, разъем SWD и, конечно же, RGB светодиод. Выбор компонентов не вызвал затруднений - STM мы просто любим, похоже, единственный, кто реализовал два аппаратных USB в микроконтроллере, а память взяли какая была.

Плата


Все компоненты в обычных корпусах, чтобы плата была дешевая и быстрая в производстве. Размер 40х17 мм, 4 слоя. Текущая версия платы выглядит вот так:


Софт

На данный момент реализовано:
  • USB host, для того чтобы распознавать подключенную к устройству клавиатуру и прокидывать сообщения от нее дальше в ПК
  • составное USB устройство (msd + hid): в режиме Pastilda устройство должно уметь быть клавиатурой, кроме того, быть всегда доступным как внешний диск, для удобного добавления и удаления паролей (Попутно @anaLazareva решила проблему с usb_msc libopencm3.
Ждет своей участи:
  • FAT для чтения данных, записанных во флеш память, чтобы мы могли ходить по директориям и брать нужный пароль
  • KeePass расшифровка, работа с записями
  • меню.
О своих суровых буднях программисты напишут в отдельных статьях.

Что дальше?

Дальше - больше. Хочется реализовать работу с любыми устройствами, понимающими внешнюю клавиатуру. Мы уже протестировали работу нашего прототипа с Android-смартфоном через USB OTG, всё работает прекрасно. Для удобства навигации по меню при использовании Пастильды с мобильными устройствами сделаем отдельный USB-модуль с колесом-кнопкой.

Ещё одна идея - маленькая гибко-жесткая печатная плата, которая заправляется прямо в разъем USB, оказываясь между контактами host и device. Жесткий кусочек платы с компонентами наклеивается на корпус штекера device. Таким образом устройство будет довольно сложно обнаружить. Впрочем, зачем бы нам это? Просто идея.

Встроенную память Пастильды можно использовать для хранения данных (если скорость не особо важна), и тут возможны варианты: просто USB накопитель, который виден всегда, когда устройство подключено, либо шифрованный накопитель. Базы KeePass, файлы ключей и т.п. предполагается хранить на этом пространстве.

Open all

Код выложен на github , вместе с железом. Лицензия GNU GPL. Естественно, можно пилить что-то свое на основе этого проекта, нам в голову пришли такие идеи:
  • эмуляция kbd+mouse для гейм-читинга
  • потоковое аппаратное шифрование USB-флеш.

Главная цель этой статьи - услышать ваше мнение, не стесняйтесь в комментариях!

UPD 27.06.2017:

  • Репозиторий проекта Пастильда переехал сюда . Недавно был опубликован релиз 1.0.


Рекомендуем почитать

Наверх