Дата публикации текущей версии: 27.01.2025

Шифрование персональных хранилищ в on-prem-версии

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

Генерация пары ключей

После регистрации система просит пользователя задать мастер-пароль. В этот момент генерируется пара RSA 2048 ключей. У каждого пользователя уже есть случайная соль (12 случайных символов), и с помощью алгоритма PBKDF2 (350000 итераций) на основе мастер-пароля и соли генерируется ключ.

Этим ключом шифруется приватный ключ (AES-256-GCM) пользователя и отправляется на сервер, публичный отправляется в открытом виде и сохраняется в базе данных. Расшифрованный приватный ключ и мастер-пароль никогда не передаются на сервер.

Расшифровка приватного ключа

Так как приватный ключ хранится в зашифрованном виде, при любой работе с паролями и компаниями его необходимо расшифровать. Для этого фронтенд запрашивает ввод мастер-пароля, расшифровывает им приватный ключ, получает с сервера временный ключ шифрования (уникален для каждого пользователя и меняется каждый период времени, заданный в настройках продукта), шифрует этим ключом приватный ключ (AES-256-GCM) и кладёт в localStorage браузера.

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

Шифрование личных паролей

Логин, пароль, названия и значения всех дополнительных полей шифруются на клиенте. Для каждого поля в момент сохранения записи генерируется случайный ключ (32 байта), к значению добавляется соль (32 символа). Значение с солью шифруется случайным ключом алгоритмом AES-256-GCM.

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

Что дальше

Как устроено шифрование в облачной версии — на странице «Как работает шифрование в Облаке». Что ещё выйдет в коробочной версии — в дорожной карте.