Менеджер паролей для Linux и Android

Я ищу менеджер паролей, который доступен как в приложении для Android, так и в приложении для рабочего стола Linux. Я знаю, что есть, например, KeePassDroid (см. Менеджер паролей для Linux с только работающим автонабором в браузере ), но он не соответствует моим требованиям, так как имеет «фиксированный макет», когда дело доходит до его «формы пароля».

Что мне нужно:

  • должно быть доступно как родное приложение для Android и родное настольное приложение для Linux.
  • специальные формы для различных типов «паролей», таких как кредитные карты, данные для входа и т. д.
  • организация в виде папок (или, по крайней мере, категорий)
  • надежное хранилище (т. е. хорошее шифрование)
  • расположение файла данных должно быть настраиваемым (требование для следующего пункта)
  • Синхронизация между настольным компьютером и мобильным устройством должна быть возможна путем простой синхронизации файла базы данных.
  • Приложение для Android не должно требовать доступа к сети (синхронизация будет выполняться отдельно)

Предпочтительные варианты (не обязательные)

  • приятный графический интерфейс
  • наборы иконок для выбора иконок для папок и "листьев"
  • содержится в репозиториях Ubuntu (PPA в порядке, подойдет .deb, никаких проблем, если он поставляется .jarили готов к работе .tar.gz, или источник, если не слишком много зависимостей (я чувствую себя достаточно подходящим для этого configure && make && check-install;) В настоящее время я использую Ubuntu 12.04 , но планирую перейти на Debian при следующей установке — что, однако, не скоро)

Кандидаты пытались, но потерпели неудачу:

  • KeePassDroid / KeePassDroidX : Предлагая клиенты для нескольких платформ, формат фиксирован для «веб-входов» (имя, URL-адрес, логин, пароль, комментарий), что не подходит, например, для кредитных или дебетовых карт.
  • Pocket : предлагая приложение для Android и рабочий стол Java и, по-видимому, даже различные «формы», подходящие для кредитных карт, логинов и многого другого, приложению Android требуется разрешение в Интернете, и оно хочет синхронизироваться через Dropbox. Также я не мог заставить работать настольное приложение (для этого требовалась существующая база данных, которой, конечно, не было изначально), использование одной и той же базы данных на обоих концах требует постоянного переименования файла (оба конца фиксируются для разных имен файлов ). ), плюс у рабочего стола есть проблемы с именами каталогов в смешанном регистре в файловых системах, чувствительных к регистру.
Привет, Иззи, ты заглядывал в EnPass? Он поддерживает iPhone, Android, Windows и Linux. Он классифицирует учетные записи, имеет стандартное шифрование, является 100% локальным и т. д. Я не могу ответить на этот вопрос в данный момент, но могу рассказать подробности позже. Пожалуйста, взгляните на него (это бесплатно до 20 входов в систему).
Спасибо, @MichaelNancarrow — но он дисквалифицировал себя из-за разрешений (Android): «Приложение Android не должно требовать доступа к сети» — Enpass требует состояния сети, состояния Wi-Fi и полного доступа в Интернет.
Привет, Иззи. Мои извинения. Это необходимо, чтобы вы могли синхронизировать данные (по умолчанию они локальные). Это также позволяет синхронизировать настройку службы, в которой вы переходите на веб-адрес на определенном порту для доступа к файлу. Само приложение должно требовать этого, но не для работы.
Я так и думал, но не хочу ("синхронизация будет отдельно"). Когда дело доходит до конфиденциальных данных, я скорее «параноик». Если у приложения есть доступ к сети, оно теоретически может даже передавать незашифрованные данные куда-то еще. Никаких гарантий это не дает.
Я одна такая же лодка! Я использую приложение с локальной синхронизацией и никогда не использую пароль, только подсказку. Удачи в Вашем поиске.
Думаю, я уже решил (для главного ответа, Keepass). Просто пока не было времени на переключение (нужно вручную передавать каждый пароль, так как приложение, которое я сейчас использую, не поддерживает экспорт), @MichaelNancarrow.
Просто в качестве примечания (не проверено и не является идеальным совпадением, например, без кредитной карты / свободного формата полей): CodeGuard , кажется, приближается. Предлагает PIN-код и логин, а также имеет настольный кулон с использованием Java.
Привет, я пришел из будущего. Ответы здесь все еще актуальны? Или мне нужно набрать несколько очков, чтобы получить новые ответы?
@DragandDrop Я все еще не нашел идеального совпадения, но остановился на ответе Калеба (мой сейчас можно в основном игнорировать, поскольку Revelation и aRevelation больше не поддерживаются годами). На Android я сейчас использую KeepassDX (от F-Droid) и KeepassXC на Linux (через их PPA). Требование «формы» еще не выполнено, хотя KeepassXC уже много лет держит его в своем списке задач.

Ответы (2)

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

TL;DR

KeepassX 2 + Keepass2Android используют один и тот же формат данных и являются единственной известной мне парой, которая соответствует всем вашим критериям, хотя есть пара «подводных камней».

Формат данных

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

Хитрость заключается в том, что вам нужно использовать версию 2 формата данных (kdbx). Ваши критерии включают в себя несколько элементов, в том числе необходимость в настраиваемых полях данных, которые были невозможны в формате базы данных версии 1 (kdb), который ограничивал ввод предварительно определенным набором полей, что сделало его подходящим для жесткого списка «менеджера учетных данных для входа», но не роль «менеджера личных данных», которую вы ищете.

История

Первоначальное программное обеспечение KeePass было написано для Windows. и серия 1.x работала только на этой платформе (хотя она работала и под WINE, поэтому некоторые из нас извлекли из нее выгоду из Linux до того, как появились альтернативы . работать под 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, но проверьте новости проекта и теги исходного кода на наличие новых. Этот исходный код можно загрузить , скомпилировать и установить со страницы объявлений или загрузить последний zip -архив с зеркала проекта на Github .

Рекомендация клиента Android

Вы упомянули, что пробовали KeePassDroid , что было попыткой перенести программное обеспечение KeePass 1 на Android. Я обнаружил, что интерфейс неуклюж и (когда я пробовал его в последний раз) он не поддерживал настраиваемые поля. Существует поддержка файлов формата kdbx (помечена как бета-версия), но не все функции используются.

Вместо этого я использую Keepass2Android и считаю, что интерфейс лучше, чем у любого из других доступных клиентов, совместимых с KeePass. Существует автономная версия , в которой отсутствуют все параметры подключения, если вы предпочитаете выполнять синхронизацию самостоятельно, чтобы соответствовать критериям. Пользовательские поля также поддерживаются, и интерфейс даже делает это относительно простым. Загрузка немного тяжелая, весит громоздкие 13 МБ, но на практике внешний интерфейс чистый и быстрый и регулярно обновляется, чтобы соответствовать последним рекомендациям пользовательского интерфейса Android. Бэкэнд тяжелый, потому что он оборачивает другой широко используемый код для фактического шифрования, но это означает, что вы можете быть уверены, что криптография выполняется правильно, а не какой-то одноразовый дизайн.

Бонус

Допустим, вы работаете с Linux (или почти с любой другой настольной платформой) и вам нужна ваша база данных паролей, но вы не можете установить программу из исходного кода или возиться с пользовательскими репозиториями пакетов. Существует клиент JavaScript с открытым исходным кодом с поддержкой только для чтения файлов KeePass (только kdbx) под названием BrowsePass ( расширение Chrome здесь ).

Я только что попробовал KeePassX 2.0, и это очень многообещающе, так что +1 за ваш ответ. Единственное, с чем у меня проблемы, это автотип - пользовательские заполнители (например {S:xxx}) и модификаторы клавиш (^,%,+), похоже, не поддерживаются (пока).
@Caleb, на самом деле, если я что-то не упустил, вы только что сказали: «На самом деле я бы не рекомендовал использовать оригинальное клиентское программное обеспечение» и остановились на этом без каких-либо причин. Что, на ваш взгляд, делает KeePassX лучше оригинального клиента? Я лично очень доволен оригиналом (версия 2).
@Ben Если вы хотите порекомендовать это, не стесняйтесь публиковать свой собственный ответ, но я нашел интерфейс неуклюжим, медленным и склонным к сбоям, в основном из-за того, что он не использует собственную структуру виджетов, а работает на уровне переносимости Mono. Не все будут довольны наличием Mono в своей системе. Это особенно плохо работает с мозаичными оконными менеджерами.
Спасибо, веские причины. Я признаю, что клиент не очень хорошо выглядит в Linux; Я в основном использую его в Windows. Может быть, я попробую KeePassX позже. Есть ли у него расширения для браузера, такие как chromeIPass для «обычного» KeePass?
@ Бен, конечно, в Windows история будет другой. Этот вопрос задавался конкретно о Linux, поэтому я дал свою рекомендацию, основанную на этом. KeepassX не имеет интеграции с браузером, но для него есть отправка кода, который в какой-то момент может быть очищен и объединен с ядром.
Я использую ту же комбинацию программного обеспечения. KeePassX хорошо поддерживается — я сообщил о нескольких ошибках, и все они исправлены в последней бета-версии. Я храню все конфиденциальные данные, такие как данные кредитной карты, в расширенном разделе, поэтому их не сразу видно. Храните различные данные (например, трехзначный код, дату истечения срока действия и т. д.) отдельно, чтобы их можно было копировать и вставлять, щелкнув правой кнопкой мыши, без редактирования. Keepass2Android действительно «800-фунтовая горилла», поэтому обязательно отключите большинство опций. Хорошо, что он автоматически синхронизируется с Google Диском и да, он может работать в автономном режиме.
Я наконец начал проверять с помощью программы Linux (взято из PPA). Пытаясь ввести свои первые данные, кажется, что не выполняется основное требование (или я просто слеп): специальные формы для разных типов «паролей», таких как кредитные карты, данные для входа и т. д. Я пытался заменить это на «дополнительные атрибуты» (чтобы заменить «шаблоны» на «клонирование») — но это очень затрудняет просмотр всех деталей без перехода по нескольким вкладкам. Перерыл все меню, ничего не нашел. Это шоу-стоппер для меня. Есть подсказки, @Caleb?
@Izzy Процитирую себя выше: «Пара, которую я использую, кажется, идеально соответствует всем вашим критериям с одной оговоркой. Формат базы данных keepass позволяет хранить произвольные пары ключ/значение с каждой записью. Хотя теоретически это можно использовать с интеллектуальным интерфейсом, который разумно адаптируется к различным типам ввода (например, вход на веб-сайт, данные кредитной карты, паспорт и т. д.), насколько мне известно, ни один клиент еще не делает этого». Так что никаких кубиков на этом. Как вы заметили, если вы попытаетесь настроить настраиваемые поля, результат будет довольно неуклюжим.
Большое спасибо, @Калеб! Тем временем были найдены еще две совпадающие пары, но по-прежнему ни одна из них не соответствует всем критериям (и одна находится только «в работе» в отношении подвески Linux). Добавлю их для других заинтересованных.
На мой взгляд, KeepassX 2 больше не рекомендуется. В то время как в старых (0.x) версиях был режим просмотра (запись показывалась по клику), в версии 2 нужно РЕДАКТИРОВАТЬ запись, чтобы увидеть ее содержимое. Это приводит к трем основным недостаткам: 1. Нельзя быстро просмотреть различные записи (всегда приходится открывать, проверять и закрывать каждую запись) 2. Программа не блокирует базу данных, если кто-то забыл закрыть запись после ее просмотра. На мой взгляд, это брешь в системе безопасности, из-за которой программа не подходит для параноиков. 3. Если не закрыть запись после просмотра, можно набрать мусор, если окно h

Еще одна пара, которая подходит довольно близко (кажется, ни одна из них не соответствует всем моим требованиям):

Revelation — это менеджер паролей для рабочего стола GNOME, выпущенный под лицензией GNU GPL. Он хранит все ваши учетные записи и пароли в одном безопасном месте и предоставляет вам доступ к ним через удобный графический интерфейс.

Он поставляется в репозиториях большинства дистрибутивов Linux и имеет удобный графический интерфейс (не идеальный, но неплохой). Он предлагает специальные формы для различных типов «паролей», таких как кредитные карты, данные для входа и т. д. , имеет структуру, подобную папкам . Конечно, база данных хранится в зашифрованном виде — хотя я не могу сказать, насколько хорошо это шифрование, программное обеспечение утверждало, что улучшило его в своей последней версии (меня попросили обновить до новейшего формата). Расположение файла данных настраивается (вас спросят, где его хранить), а синхронизация между настольным компьютером и мобильным устройством возможна путем простой синхронизации файла базы данных . Как уже было сказано, у него приятный графический интерфейс .(не идеально, но мне нравится больше, чем у KeePassX). Нет наборов иконок для выбора иконок для папок и "листьев" - иконки предопределены и не могут быть изменены (то же, к сожалению, и для шаблонов). Он содержится в репозиториях Ubuntu , но с Ubuntu 12.04 в более старой версии, несовместимой с кулоном Android (затронутые пользователи могут проверить с помощью этого PPA ).

Revelation View-Enter Revelation New-Entry
Откровение: просмотр записи, добавление новой записи (см. шаблоны). Источник: Revelation (нажмите на изображение, чтобы увеличить его)

Пока все требования так или иначе выполняются; мои предостережения:

  • шаблоны не настраиваются (свои добавлять тоже нельзя). Не останавливает показ, так как существующих почти достаточно (и неиспользуемые поля не отображаются в «режиме просмотра»)
  • Последняя версия была выпущена в 2013 году, последняя активность в их репозитории с исходным кодом была год назад (Bitbucket; на Github даже 2 года назад), поэтому неясно, поддерживается ли программное обеспечение до сих пор.

Аналог Android доступен на F-Droid: aRevelation . Он довольно небольшого размера (всего .apkфайл размером 80 КБ) и в настоящее время предназначен только для чтения, поэтому обслуживание паролей и т. д. должно выполняться на рабочем столе Linux, а приложение Android можно использовать только для просмотра базы данных. Последняя активность в репозитории приложения на Github была всего 4 месяца назад, так что есть вероятность, что это может измениться (я явно просил об этом вчера, ответ ожидается). Единственным запрашиваемым разрешением является «хранилище», поэтому требование Android-приложения не должно требовать доступа к сети выполнено.

Обновление: после долгого бездействия aRevelation был разветвлен. Форк, доступный на Github , больше не доступен только для чтения, и его графический интерфейс также получил хороший подъем. Это приложение также доступно в моем репозитории F-Droid для тех, кто заинтересован. Как только он будет готов, его разработчик также планирует поработать над форком Revelation.

Вывод: не идеально, но то, с чем я мог бы жить — при условии, что клиент Android добавит некоторые функции редактирования в ближайшем будущем (его форк тем временем делает). Оба компонента имеют открытый исходный код и находятся в свободном доступе, что является большим плюсом (аудит и т. д.). С нетерпением жду, как это будет развиваться, и если что-то изменится, я обновлю этот ответ.


Еще один потенциальный «будущий кандидат»: NS Wallet . Согласно их веб-сайту, планируется клиент для Linux (они уже предлагают настольные клиенты для Mac и Windows, так что этот будет еще более кроссплатформенным). Буду следить за этим и опубликовать отдельный ответ, если и когда он станет доступен и в достаточной степени соответствует требованиям.

Обзоры NS Wallet на Android показывают, что у него есть опыт потери данных. И до сих пор нет Linux-клиента, так что я бы сказал, что это тупик. Revelation не видел никакого прогресса в разработке с 2013 года. aRevelation также не видел никакого прогресса в разработке за последний год, и ваш запрос о поддержке записи остался без ответа. Если приложение, доступное только для чтения и сильно устаревшее, соответствует вашим потребностям, тогда это здорово, но я бы посоветовал не использовать весь этот маршрут для всех, кто его рассматривает.
Спасибо, @Caleb - я полностью согласен. Но оба были неясны, когда я писал этот ответ более года назад.
Я понимаю. Когда я писал свою собственную рекомендацию , я предлагал альфа-версию чего-то! С тех пор он был доведен до стабильной версии и есть во многих дистрибутивах, и все в порядке, но когда вы задали этот вопрос, это определенно было сложнее. Мой комментарий был просто словом для потенциальных нынешних посетителей.
@Caleb просто в качестве предупреждения: (a) Revelation был разветвлен. Форк aRevelation только что добился значительного прогресса, и его автор планирует также продвигать версию для Linux, как только клиент для Android будет «на высоте». Что заставляет меня думать, что я останусь с этой комбинацией еще некоторое время :)