Политика безопасности Passwork

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

  1. Все критически важные данные шифруются в вашем браузере и не передаются на сервера Passwork в открытом виде. Это означает, что никто кроме вас, а так же тех, кому вы предоставили доступ в сейфы Passwork, не могут получить доступ к зашифрованной информации. Сотрудники Passwork не имеют доступа к вашим данным.
  2. Мы не запрашиваем и не храним ваши личные и персональные данные
  3. Мы не предоставляем доступ третьим лицам к нашим серверам, а так же не распространяем данные пользователей ни в каком виде.
  4. Ваши данные проходят ряд дополнительных мер защиты (серверное шифрование и т. п.)
  5. Доступ сотрудников к серверам Passwork строго регламентирован и ограничен.

Основные принципы, которые легли в основу Passwork

  1. На сервер попадают уже зашифрованные данные.
  2. Ключ шифрования хранится в клиентском приложении (в браузере) и никогда не передается на сервер.
  3. Все операции с данными происходят в клиентском приложении, а сервер просто их хранит.

Мастер-пароль — это ключ, которым шифруются все данные в клиентском приложении. Именно мастер-пароль хранится в браузере и не передается на сервер.

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

Каждый сейф имеет свой пароль (пароль сейфа). Все данные в сейфе шифруются паролем сейфа.

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

Регистрация и пароль авторизации

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

Т.к. данные шифруются мастер-паролем, а не паролем авторизации, то знание пароля авторизации не дает доступа к хранимым паролям. Поэтому после восстановления пароля авторизации вас попросят указать мастер-пароль.

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

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

Мастер-пароль никогда не передается на сервер поэтому восстановить его мы не можем. Если вы забудете мастер-пароль, вы потеряете доступ ко всем вашим данным.

Важно

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

Мы настоятельно рекомендуем придумать и ввести мастер-пароль отличное от пароля авторизации.

Сложность паролей

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

Создание сейфа

  1. Пользователь кликает «Создать сейф».
  2. Система генерирует пароль сейфа — случайный 256-битный ключ (в клиентском приложении).
  3. Пароль сейфа шифруется мастер-паролем.
  4. Зашифрованный пароль сейфа сохраняется на сервере.

Приглашение в сейф

  1. Пользователь указывает e-mail человека, которому хочет отправить доступ в сейф.
  2. Зашифрованный пароль сейфа загружается с сервера, расшифровывается мастер-паролем и отображается пользователю.
  3. Пользователь должен передать пароль сейфа получателю по третьему каналу связи (в случае, если оба пользователя уже есть в системе, то пароль сейфа можно не передавать, подробнее смотрите пункт «RSA шифрование»).
  4. Если пользователя с таким e-mail нет в системе, то ему на почту придет ссылка, перейдя по которой он попадет на быструю регистрацию.
  5. В разделе «Приглашения» пользователь увидит приглашение в сейф и для вступления ему потребуется ввести пароль сейфа
  6. Пароль сейфа будет зашифрован мастер-паролем второго пользователя и сохранен на сервере

Отправка пароля

  1. При отправке одного пароля создается его копия и отправляется получателю.
  2. Если получателя нет в системе, то ему предложат зарегистрироваться.
  3. Если пользователь есть в системе и у него сгенерирована пара RSA ключей, то пароль будет передан зашифрованным:
    1. клиент отправителя получает открытый ключ получателя;
    2. клиент отправителя шифрует пароль и отправляет его на сервер;
    3. получатель используя свой закрытый ключ расшифровывает пароль в клиентском приложении;
  4. Пользователь может указать одноразовый код для дополнительной защиты при передаче пароля (актуально, если не используется RSA шифрование):
    1. пароль шифруется одноразовым кодом в клиентском приложении отправителя;
    2. отправитель должен сообщить получателю одноразовый код третьим;
    3. каналом связи.
  5. Если RSA ключи не сгенерированы, или получателя нет в системе и не указан одноразовый код, то:
    1. пароль передается на сервер в открытом виде и шифруется на сервере перед сохранением в базу данных;
    2. после получения пароля он удаляется из базы данных.

Сохранение пароля в сейф

  1. Клиент получает зашифрованный пароль сейфа с сервера.
  2. Клиент расшифровывает пароль сейфа используя мастер-пароль.
  3. Клиент шифрует сохраняемые данные используя пароль сейфа.
  4. Зашифрованные данные передаются на сервер.

Получение пароля из сейфа

  1. Клиент получает зашифрованный пароль сейфа с сервера.
  2. Клиент расшифровывает пароль сейфа используя мастер-пароль.
  3. Клиент расшифровывает пароль используя пароль сейфа.

Ограничение доступа

  1. В рамках сейфа существуют следующие права:
    1. Администратор — полный доступ у сейфа
    2. Запись — полный доступ к паролям сейфа, без возможности приглашать и управлять пользователями;
    3. Только чтение — доступ только на чтение данных из сейфа.
  2. Для удобства хранения паролей пользователи могут создавать папки внутри сейфа и так же назначать им уровни доступности:
    1. Полный доступ — полный доступ к паролями папки;
    2. Только чтение — доступ только на чтение паролей папки;
    3. Нет доступа — у пользователя нет доступа в папку (даже для просмотра);
  3. Доступ в папку имеет приоритет над доступом в сейф.

Хранение мастер-пароля в браузере

  1. При регистрации у каждого пользователя генерируется случайный код (на сервере).
  2. При авторизации клиент получает этот случайный код и на его основе однозначно генерирует пароль.
  3. Этим паролем шифруется мастер-пароль и сохраняется в локальном хранилище браузера.
  4. Таким образом, последующий анализ локального хранилища не позволит расшифровать мастер-пароль.
  5. Пользователь может отказаться от хранения мастер-пароля в локальном хранилище. В этом случае потребуется вводить мастер-пароль при каждой операции.

RSA шифрование

  1. При авторизации и входе в систему у пользователя в фоновом режиме генерируется пара RSA ключей.
  2. Открытый ключ отправляется на сервер
  3. Закрытый ключ шифруется мастер-паролем и отправляется на сервер
  4. Все операции по передачи данных внутри сервиса между зарегистрированными пользователями проходят по стандартной схеме шифрования RSA:
    1. отправитель запрашивает открытый ключ получателя
    2. шифрует данные открытым ключем получателя (в клиентском приложении);
    3. отправляет зашифрованные данные на сервер;
    4. получатель получает зашифрованные данные и зашифрованный закрытый ключ
    5. расшифровывает закрытый ключ мастер-паролем
    6. расшифровывает данные используя закрытый ключ.
На текущий момент функционал использующий RSA находится в стадии тестирования и не внедрен в основную (продакшен) версию.