Вопрос или проблема
Я ищу менеджер паролей, который доступен как приложение для Android, так и как приложение для Linux Desktop. Я знаю, например, про KeePassDroid (см.: Менеджер паролей для Linux с автозаполнением в браузере), но это не соответствует моим требованиям, так как у него “фиксированная форма” для “формы пароля”.
Что мне нужно:
- должен быть доступен как нативное приложение для Android и нативное приложение для Linux Desktop
- специфические формы для различных типов “паролей”, таких как кредитные карты, информация для входа и т. д.
- организация в виде папок (или хотя бы категории каким-то образом)
- безопасное хранение (т. е. хорошее шифрование)
- расположение файла данных должно быть настраиваемым (необходимо для следующего пункта)
- синхронизация между Desktop и Mobile должна быть возможна простым синхронизированием файла базы данных
- приложение для Android не должно требовать сетевой доступ (синхронизация будет производиться отдельно)
Предпочтительные опции (не обязательные)
- красивая графика интерфейса
- наборы иконок для выбора иконок для папок и “листов”
- содержится в репозиториях Ubuntu (PPA в порядке, подойдет
.deb
, не проблема, если это.jar
или готовый к использованию.tar.gz
или исходный код, если не слишком много зависимостей (я достаточно компетентен, чтобынастроить && сделать && установить проверку
; я в данный момент использую Ubuntu 12.04, но планирую перейти на Debian при следующей установке – что не случится в ближайшее время)
Кандидаты, которые пробовал, но не подошли:
- KeePassDroid / KeePassDroidX: Хотя предлагается клиент для нескольких платформ, формат фиксирован для “веб-входов” (имя, url, вход, пароль, комментарий), что непригодно, например, для кредитных или дебетовых карт.
- Pocket: хотя предлагается приложение для Android и настольное приложение Java, и по всей видимости даже различные “формы”, подходящие для кредитных карт, входов и прочего, приложение для Android требует разрешения на использование Интернета, и хочет синхронизироваться через Dropbox. Также я не смог запустить настольное приложение (оно требовало уже существующую базу данных, которой, конечно, не было в начале), использование одной и той же базы данных на обоих концах требует постоянного переименования файла (оба конца жестко зафиксированы на разные имена файлов), плюс настольная версия имеет проблемы с именами директорий с различными регистрами в файловой системе, чувствительной к регистру.
Плюс ваших критериев в том, что вам не нужен полностью совпадающий набор. Пока файл данных полностью совместим, любая комбинация несвязанных приложений будет работать.
Краткий вывод
KeepassX 2 + Keepass2Android используют один и тот же формат данных и это единственная пара, которую я знаю, которая соответствует всем вашим критериям, хотя есть пара “но”.
Формат данных
Что касается форматов данных менеджеров паролей, которые взаимозаменяемы, то в этой области есть одна значительная величина. Формат данных, изначально задуманный для KeePass, хорошо зарекомендовал себя и широко поддерживается. Криптография также подверглась тщательному ревью, поэтому можно утверждать, что она безопаснее многих других игроков или коммерческих решений с проприетарными форматами.
Трюк заключается в том, что вам нужно использовать версию 2 формата данных (kdbx). В ваши критерии входит несколько пунктов, включая необходимость в кастомных полях данных, которые были невозможны в формате базы данных версии 1 (kdb), который ограничивал записи заранее определенным набором полей, что делало его подходящим для жесткой роли “менеджера учетных данных”, но не для роли “менеджера приватных данных”, которую вы ищете.
История
Оригинальное программное обеспечение KeePass было написано для Windows, и серия 1.x работала только на этой платформе (хотя она работала под WINE, поэтому некоторые из нас использовали ее на Linux, прежде чем появились альтернативы. Серия 2.x это по сути переписывание с множеством усовершенствований, включая порт, который будет работать под Mono для поддержки Linux, OSX и BSD.
На самом деле я бы рекомендовал не использовать оригинальное клиентское программное обеспечение, а вместо него использовать некоторые альтернативы. Пара, которую я использую, кажется, полностью соответствует всем вашим критериям с одной оговоркой. Формат базы данных KeePass позволяет хранить произвольные пары ключ/значение с каждой записью. Хотя теоретически это могло бы использоваться с умным интерфейсом, который бы интеллектуально адаптировался к различным типам записей (например, вход на сайт, данные кредитной карты, паспорт и т. д.), насколько мне известно, пока никто из клиентов этого не делает. Вы можете использовать произвольные поля для организации собственных данных.
Принимая это во внимание, я попробовал МНОЖЕСТВО альтернатив, когда выбирал свое решение, и не смог найти лучшую пару. Если где-то есть что-то, что лучше соответствует вашим критериям, я бы тоже хотел об этом узнать, так как наши нужды, кажется, схожи. Это лучшая настройка, которую я смог устроить.
Рекомендуемый клиент для Linux
Проект KeePassX существует уже довольно давно. Изначально он был задуман как параллель Windows-проекту и действительно назывался KeePass/Linux. После того, как оригинальный проект получил свой порт, название было изменено на KeePassX, и код в действительности был портирован для работы на Windows и OSX. Как видно из лога коммитов, проект активно развивается, но, к сожалению, он всегда страдал от очень долгих циклов релизов и склонности называть что-либо стабильным только после того, как оно проверено годами испытаний.
Для ваших целей вам потребуется использовать серию 2.x. Если в вашем дистрибутиве все еще есть серия 0.4.x, формат данных не будет взаимозаменяем с приложением для Android в этой рекомендации.
Поскольку все, что вы собираетесь размещать в такой системе, очевидно важно и невосстановимо, если вы его повредите, вам определенно стоит иметь надежную систему резервного копирования. Мне нравится хранить свою базу данных в частном git-репозитории, так там есть версия истории, распределенная по многим моим машинам, а также некоторые специальные резервные меры. Вы упомянули, что собираетесь синхронизировать и управлять файлом базы данных самостоятельно. Это нормально, просто сделайте свою домашнюю работу и сделайте это правильно. Это НЕ ошибка клиентского программного обеспечения, если поврежденная копия базы данных синхронизируется на всех ваших устройствах и портит ваши резервные копии!
Последний тег релиза KeepassX 2 на момент написания этого редактирования это 2.0.3, но проверяйте новости проекта и теги исходного кода для новых версий. Исходный код можно скачать, скомпилировать и установить с страницы анонса или вы можете скачать свежую версию из зеркала на Github проекта
Рекомендуемый клиент для Android
Вы упомянули, что пробовали KeePassDroid, который был попыткой портировать программное обеспечение KeePass 1 на Android. Я нашел интерфейс громоздким и (когда я его пробовал) он не поддерживал кастомные поля. Поддержка файлов формата kdbx отмечена как бета, но не все функции доступны.
Вместо этого я использую Keepass2Android и нахожу интерфейс лучше, чем у любого другого клиента, совместимого с KeePass. Есть офлайн-версия, в которой отключены все варианты подключения, если вы предпочитаете синхронизировать самостоятельно, так что этот критерий выполняется. Также поддерживаются кастомные поля, и интерфейс делает это относительно простым. Загружать немного тяжеловато, так как весит 13 МБ, но на практике фронтэнд чистый и быстрый, и регулярно обновляется в соответствии с последними рекомендациями UI Android. Бэкенд тяжелый, потому что он включает другие широко используемые коды для фактического шифрования, но это значит, что можно быть довольно уверенными, что криптография выполнена правильно, чем какой-то уникальный дизайн.
Бонус
Предположим, вы находитесь на компьютере с Linux (или почти любой другой платформой для настольных ПК) и вам нужно попасть в свою базу данных паролей, но вы не хотите устанавливать программу из исходников или возиться с настраиваемыми пакетными репозиториями. Существует клиент с открытым исходным кодом на JavaScript с поддержкой только для чтения для файлов KeePass (только kdbx) под названием BrowsePass (расширение для Chrome здесь).
Ещё одна пара, которая довольно близка (но, похоже, не соответствует всем моим требованиям):
Revelation — это менеджер паролей для рабочего стола GNOME, выпускаемый под лицензией GNU GPL. Он хранит все ваши учётные записи и пароли в одном безопасном месте и предоставляет вам доступ к ним через удобный графический интерфейс.
Он входит в репозитории большинства дистрибутивов Linux, и у него удобный интерфейс (не идеальный, но подходящий). Он предлагает специфические формы для различных “типов паролей”, таких как кредитные карты, информация для входа и т. д., имеет организацию в виде папок. Конечно, база данных хранится зашифрованной – хотя я не могу судить, насколько хорошее это шифрование, программное обеспечение утверждает, что это было улучшено в последней версии (меня попросили обновиться до нового формата). Местоположение файл данных настраиваемо (вас спросят, где его хранить), и синхронизация между рабочим столом и мобильными устройствами возможна просто путем синхронизации файла базы данных. Как уже сказано, у него хороший интерфейс (не идеальный, но мне он нравится больше, чем у KeePassX). Нет наборов иконок для выбора иконок для папок и “листов” – иконки предопределены и не могут быть изменены (к сожалению, также для шаблонов). Он входит в репозитории Ubuntu – но в Ubuntu 12.04 в старой версии, несовместимой с Android-аналире.
Revelation: Просмотр записи, добавление новой записи (см. шаблоны). Источник: Revelation (нажмите на изображения для увеличения)
Таким образом, все требования как-то выполнены; мои оговорки:
- шаблоны не регулируются (также не могу добавлять свои). Не козырь, так как существующие почти достаточны (а неиспользованные поля не отображаются в “режиме просмотра”)
- Последняя версия была выпущена в 2013 году, последняя активность в их репозитории исходного кода была год назад (на Bitbucket; на Github даже 2 года назад) – поэтому неясно, поддерживается ли еще программное обеспечение.
Контрагент для Android доступен на F-Droid: aRevelation. Он довольно малого размера (всего 80 кБ .apk
-файл), и в настоящее время используется только как ридер – поэтому обслуживание паролей и т. д. должно проводиться на настольном компьютере с Linux, а приложение для Android можно использовать только для просмотра базы данных. Последняя активность в репозитории Github приложения была всего 4 месяца назад – есть шансы, что это может измениться (я явно попросил об этом вчера, ответ ожидается). Единственным запрашиваемым разрешением является “хранение”, поэтому требование приложение для Android не должно требовать сетевой доступа выполняется.
Обновление: После долгого периода бездействия aRevelation был форкнут. Форк, доступен на Github, теперь не только для чтения, а его интерфейс также получил улучшение. Это приложение также доступно в моем репозитории F-Droid для интересующихся юзеров. Как только она будет достойной, разработчик планирует работать над форком Revelation тоже.
Заключение: Не идеально, но чем можно бы обойтись – при условии, что клиент для Android добавит хоть какие-то функции редактирования в ближайшем будущем (его форк тем временем их добавил). Обе компоненты имеют открытый исходный код и доступны бесплатно, что является большим плюсом (аудит и т. д.). С нетерпением жду, как это будет развиваться – и если что-то изменится, я обновлю этот ответ.
Еще один потенциальный “кандидат на будущее”: NS Wallet. Согласно их веб-сайту, клиент для Linux запланирован (они уже предлагают настольные клиенты для Mac и Windows, поэтому этот будет еще более универсальным). Буду следить за этим и постараюсь дать отдельный ответ, если и когда он станет доступным и достаточно соответствующим требованиям.
Я использую Bitwarden (бесплатная версия) уже много лет, на телефоне (Android) и Linux. И я очень доволен. Попробуйте.
.
Ответ или решение
Когда речь заходит о выборе менеджера паролей для использования на платформах Linux и Android, важно учитывать различные критерии, которые будут обеспечивать удовлетворение всех функциональных и безопасности требований пользователя. Выбор подходящего менеджера паролей может значительно повысить удобство работы и уровень защиты личной информации. В этой статье мы рассмотрим возможные решения с учетом обозначенных требований и расскажем о наиболее подходящих вариантах.
Теория
При выборе менеджера паролей, который будет использоваться как на Linux, так и на Android, необходимо учитывать следующие ключевые факторы:
-
Кроссплатформенность: Программа должна быть доступна как для Android, так и для Linux, обеспечивая простую синхронизацию данных между устройствами.
-
Специфические формы данных: Менеджер паролей должен поддерживать различные категории записей, такие как данные о кредитных картах и учетные записи для веб-сайтов.
-
Безопасность: Надежное шифрование и возможность выбора местоположения файла данных являются ключевыми аспектами для защиты конфиденциальной информации.
-
Удобство использования: Программы должны обладать интуитивно понятным интерфейсом и возможностью организации данных в виде папок или категорий.
-
Синхронизация и автономная работа: Программа для Android не должна требовать сетевого доступа, что важно для обеспечения конфиденциальности.
Пример
KeePassX и Keepass2Android — это связка приложений, наиболее точно соответствующая требованиям. Они используют широко признанный и безопасный формат данных KDBX, который активно поддерживается сообществом. KeePassX — это настольное приложение с открытым исходным кодом для Linux, обеспечивающее гибкость и настраиваемость. Keepass2Android — Android-приложение, поддерживающее офлайн-версию для работы без доступа к интернету. Оба приложения обеспечивают поддержку дополнительных полей, что полезно для настройки записей под различные типы данных.
Применение
При применении KeePassX и Keepass2Android пользователи получают надежное решение, обеспечивающее безопасность и комфорт работы с паролями. KeePassX легко интегрируется в рабочий процесс на любой дистрибутив Linux благодаря легкой настройке и поддержке работы с различными версиями Ubuntu и Debian. Это приложение доступно на GitHub, что позволяет пользователям легко устанавливать и обновлять его. Keepass2Android обеспечивает аналогичную функциональность на мобильных устройствах, в том числе поддержку офлайн-режима, что защищает данные от утечек в сеть.
Помимо KeePass, есть еще несколько перспективных решений. Revelation и aRevelation представляют собой альтернативу с интересным подходом к организации данных и функциональностью, они также рассматривались как потенциальные кандидаты для использования. Revelation хорошо интегрируется в систему GNOME и предлагает подготовленные шаблоны для разных типов данных, а аRevelation, находясь в стадии модернизации, постепенно улучшает свою функциональность, обеспечивая поддержку работы с записями на Android.
И наконец, Bitwarden был упомянут как еще одно решение. Это довольно мощный инструмент, предлагающий как бесплатные, так и премиум-версии с хорошими функциями безопасности и удобным интерфейсом. Bitwarden предлагает всестороннюю защиту и синхронизацию данных через облако, что делает его удобным для быстрого доступа ко всем паролям, хотя автономная работа на Android может потребовать предварительной настройки и согласования с основными требованиями безопасности.
Заключение
Выбор менеджера паролей всегда зависит от индивидуальных нужд пользователя, предпочтений по безопасности и удобству работы. Решения, основанные на KeePass, представляют собой надежный вариант благодаря проверенной безопасности и кроссплатформенной совместимости. Использование KeePassX и Keepass2Android может стать оптимальным выбором для тех, кто ищет безопасное и функциональное решение с поддержкой расширенных возможностей. При должной настройке и соблюдении мер безопасности данные пользователей останутся под надежной защитой, обеспечивая комфорт и спокойствие в повседневной жизни.