Открыть сервис

KeePass

KeePass — это свободное кроссплатформенное приложение с открытым исходным кодом для безопасного хранения, управления и генерации паролей. Относится к классу менеджеров паролей (password managers). Основная функция KeePass — централизованное хранение учётных записей (логинов, паролей, URL-адресов, заметок) в едином зашифрованном файле базы данных, доступ к которому защищён мастер-паролем, ключевым файлом или комбинацией этих методов.

История

Проект KeePass был основан немецким разработчиком Домиником Райхлем (Dominik Reichl) в 2003 году. Первая версия, KeePass 1.0, была выпущена 16 ноября 2003 года для операционной системы Microsoft Windows. Исходный код был опубликован под лицензией GPL, что способствовало быстрому росту сообщества и появлению портов на другие платформы.

В 2006 году вышла вторая ветка — KeePass 2.0, которая использовала новую архитектуру хранения данных на основе формата KDBX (вместо KDB в версии 1.x). Формат KDBX базируется на XML и обеспечивает более гибкую структуру, поддержку расширенных полей, вложений, иерархических групп и улучшенные алгоритмы шифрования. Версия 2.x стала основной для дальнейшего развития, хотя версия 1.x продолжала поддерживаться как упрощённое решение для старых систем или пользователей, не требующих сложных функций.

С момента создания KeePass остаётся проектом с открытым исходным кодом, не управляемым коммерческой компанией. Разработка ведётся на SourceForge, а затем на GitHub. Релизы выходят нерегулярно, но стабильно; на 2025 год актуальной является версия 2.57.

Архитектура и принципы работы

База данных (файл .kdbx)

Центральный элемент KeePass — зашифрованный файл базы данных с расширением .kdbx (для версии 2.x) или .kdb (для версии 1.x). Вся информация о паролях, заметках, вложениях и настройках хранится в этом файле. База данных может располагаться локально на диске пользователя, на съёмном носителе, в сетевой папке или в облачном хранилище (например, Dropbox, Google Drive, Яндекс.Диск) — KeePass не требует собственного сервера и не синхронизирует данные автоматически, полагаясь на пользовательские механизмы синхронизации.

Шифрование

Для защиты данных KeePass использует симметричное шифрование. В версии 2.x применяется алгоритм AES-256 (Rijndael) в режиме CBC (Cipher Block Chaining) или ChaCha20. Для хеширования мастер-пароля используется алгоритм PBKDF2-HMAC-SHA-256 с настраиваемым числом итераций (по умолчанию 600 000 в версии 2.57), что затрудняет атаки перебором. Также поддерживается шифрование ключевым файлом (любой файл произвольного содержания) и интеграция с учётной записью Windows (защита через Windows Hello или смарт-карты).

Доступ к базе

Для открытия базы данных пользователь должен предоставить:

  • Мастер-пароль — основное средство аутентификации. Рекомендуется использовать длинную фразу или случайную последовательность символов.
  • Ключевой файл (опционально) — файл, который должен находиться на отдельном носителе (например, на USB-флешке). Без него база не откроется, даже при знании мастер-пароля.
  • Учётная запись Windows (опционально) — позволяет привязать доступ к текущему пользователю Windows.

Структура хранения

Внутри базы данные организованы в виде дерева: группы (папки) и записи (entries). Каждая запись содержит поля: название, имя пользователя, пароль, URL, заметки. Дополнительно могут быть добавлены произвольные строковые поля, вложения (файлы), срок действия пароля, история изменений. Группы позволяют создавать иерархическую структуру (например, «Личные» → «Банки» → «Сбербанк»).

Классификация и версии

KeePass 1.x (KeePass Classic)

  • Формат базы: .kdb
  • Шифрование: AES-128 (по умолчанию) или Twofish
  • Поддержка плагинов: ограниченная (через KeePass 1.x Plugin API)
  • Особенности: не поддерживает вложения, расширенные поля, историю изменений, иерархию групп (только плоские группы). Рекомендуется для простых сценариев или старых операционных систем.

KeePass 2.x (KeePass Professional)

  • Формат базы: .kdbx
  • Шифрование: AES-256, ChaCha20
  • Поддержка плагинов: развитая (через KeePass 2.x Plugin API)
  • Особенности: полная поддержка вложений, произвольных полей, истории изменений, многоуровневых групп, автозаполнения, экспорта/импорта в различные форматы (CSV, XML, HTML, TXT и др.). Является основной и рекомендуемой версией.

KeePassXC (KeePass Cross-Platform Community Edition)

Неофициальный форк, разрабатываемый сообществом. Отличается от оригинального KeePass 2.x следующими характеристиками:

  • Написан на C++ с использованием Qt, что обеспечивает нативную поддержку Windows, macOS и Linux (оригинальный KeePass требует Mono или Wine на Linux/macOS).
  • Встроенная поддержка браузерных расширений (через KeePassXC-Browser).
  • Улучшенный генератор паролей, поддержка TOTP (одноразовые коды), интеграция с SSH-агентами.
  • Более строгие настройки безопасности по умолчанию.

Другие порты и форки

Существуют многочисленные неофициальные реализации, основанные на формате .kdbx: KeePassDroid (Android), KeePass Touch (iOS), KyPass (iOS), KeeWeb (веб-приложение), Strongbox (macOS/iOS), и другие. Все они совместимы с базой данных KeePass 2.x, но могут иметь различия в функционале и интерфейсе.

Функциональные возможности

Генератор паролей

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

Автозаполнение (Auto-Type)

KeePass может автоматически вводить логин и пароль в поля веб-форм или приложений. Механизм Auto-Type использует последовательность нажатий клавиш, эмулируя ввод с клавиатуры. Пользователь может настраивать последовательность для каждого сайта (например, {USERNAME}{TAB}{PASSWORD}{ENTER}).

Импорт и экспорт

KeePass поддерживает импорт данных из большинства популярных менеджеров паролей (LastPass, 1Password, Dashlane, RoboForm и др.) через форматы CSV, XML, HTML. Экспорт возможен в те же форматы, а также в TXT, KDBX, KDB.

Плагины

KeePass 2.x имеет развитую систему плагинов, расширяющих функциональность. Примеры популярных плагинов:

  • KeePassRPC — обеспечивает взаимодействие с браузерными расширениями (KeePassXC-Browser, PassIFox).
  • KeeAgent — интеграция с SSH-агентами для хранения и использования SSH-ключей.
  • KPEnhancedEntryView — улучшенный просмотр и редактирование записей.
  • Yet Another Favicon Downloader — автоматическая загрузка иконок для записей.
  • WebAutoType — улучшенное автозаполнение для веб-страниц.

Многоязычный интерфейс

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

Безопасность и криптостойкость

Защита от перебора

KeePass использует итеративное хеширование мастер-пароля (PBKDF2) с настраиваемым числом итераций. Высокое число итераций (сотни тысяч) существенно замедляет атаки перебором. В версии 2.57 по умолчанию установлено 600 000 итераций, но пользователь может увеличить это значение в настройках.

Атаки на память

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

Уязвимости

За время существования KeePass было выявлено несколько уязвимостей, большинство из которых были оперативно исправлены. Наиболее известные:

  • CVE-2023-24055 (2023) — возможность извлечения мастер-пароля из памяти при определённых условиях (наличие эксплойта с правами пользователя). Исправлено в версии 2.54.
  • CVE-2022-0725 (2022) — утечка данных через небезопасную обработку временных файлов. Исправлено в версии 2.50.

На момент 2025 года KeePass считается безопасным при правильной настройке и использовании.

Критика и ограничения

Отсутствие встроенной облачной синхронизации

KeePass не предоставляет собственного облачного сервиса для синхронизации баз между устройствами. Пользователь должен самостоятельно организовать синхронизацию (через Dropbox, Syncthing, Nextcloud и т.п.), что создаёт риск конфликтов версий при одновременном редактировании с нескольких устройств. Для решения этой проблемы рекомендуется использовать KeePass в сочетании с инструментами синхронизации, поддерживающими блокировку файлов.

Сложность настройки для начинающих

По сравнению с коммерческими менеджерами паролей (LastPass, 1Password, Bitwarden), KeePass требует более глубокого понимания принципов работы: необходимо разобраться с форматами файлов, плагинами, настройками автозаполнения. Это может отпугнуть неопытных пользователей.

Отсутствие официальной мобильной версии

Оригинальный KeePass разрабатывается только для Windows. Для других платформ существуют неофициальные порты (KeePassDroid, KeePass Touch), которые не всегда синхронизируются по функционалу с основной версией. Форк KeePassXC решает эту проблему для десктопных систем, но мобильные версии остаются сторонними.

Зависимость от плагинов для расширенного функционала

Многие современные возможности (браузерная интеграция, поддержка TOTP, SSH-агенты) реализуются через плагины, которые могут быть несовместимы с новыми версиями или иметь собственные уязвимости.

Применение

KeePass используется как частными лицами для хранения личных паролей, так и организациями для управления корпоративными учётными записями. Благодаря открытому исходному коду и отсутствию коммерческой зависимости, KeePass часто применяется в средах, где требуется высокий уровень контроля над данными (государственные учреждения, финансовый сектор, ИТ-инфраструктура с повышенными требованиями безопасности). Также KeePass популярен среди энтузиастов информационной безопасности и участников сообществ open-source.

Интересные факты

  • Название KeePass является аббревиатурой от «KeePass Password Safe».
  • Исходный код KeePass написан на C# (для версии 2.x) и C++ (для версии 1.x).
  • Формат .kdbx версии 4.0 (используется в KeePass 2.57) поддерживает сжатие данных (GZip) и аутентифицированное шифрование (HMAC-SHA-256).
  • KeePass не требует установки — программа может работать портативно с USB-накопителя.
  • В 2023 году проект KeePass был включён в реестр свободного программного обеспечения Минцифры России.

Источники

  • Официальная документация KeePass (keepass.info)
  • Репозиторий исходного кода KeePass на GitHub (github.com/dlech/KeePass)
  • KeePassXC — официальный сайт (keepassxc.org)
  • CVE-2023-24055 — описание уязвимости (cve.mitre.org)
  • Статья «KeePass: история, архитектура и безопасность» на Habr (habr.com)
  • Документация формата KDBX (keepass.info/help/kb/kdbx.html)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →