Bitmask
Зашифрованная коммуникация для простых смертных 
 (супергероям тоже добро пожаловать)

Подробности электронной почты Bitmask

Как этим пользоваться

  1. Скачайте и установите приложение Bitmask.
  2. Запустите приложение Bitmask, чтобы авторизоваться или зарегистрироваться на сервис-провайдере.
  3. Настройте почтовый клиент пользователя для соединения с локальными сервисами IMAP и SMTP, предоставленными приложением Bitmask. В случае работы с почтовым клиентом Thunderbird, эта конфигурация будет полуавтоматической.

Приложение Bitmask выступает в качестве локального “прокси” между сервис-провайдером и почтовым клиентом. Оно обрабатывает все шифрование и синхронизацию данных.

Преимущества электронной почты Bitmask

Возможности электронной почты включают:

  • Зашифрованная почта Bitmask проста в использовании и в то же время обратно совместима с существующими протоколами для безопасной электронной почты (в настоящее время это OpenPGP, с дополнительной поддержкой для S/MIME в будущем).
  • Все входящие сообщения, даже если они еще не зашифрованы, автоматически шифруются получателю на сервере перед сохранением, так что только вы можете прочитать их (в том числе мета-данные). Сервер может прочитать незашифрованную входящую почту на мгновение, но никакая почта не хранится когда-либо таким образом, что провайдер может прочесть ее.
  • Всякий раз, когда это возможно, исходящая почта автоматически шифруется таким образом, что только получатели могут ее прочесть (если действующие открытые ключи могут быть обнаружены для получателей). Это шифрование происходит на устройстве пользователя.
  • Открытые ключи автоматически обнаруживаются и подтверждаются, позволяя вам быть уверенными, что ваша коммуникация является конфиденциальной и с соответствующим человеком (без головной боли типичной подписи ключей)
  • Пользователю не нужно беспокоиться об управлении ключами. Их ключи постоянно актуальны на каждом устройстве.
  • Пользователь может использовать любой почтовый клиент по своему усмотрению (напр., Thunderbird, Apple Mail, Outlook).
  • После отключения от интернета пользователь может по-прежнему взаимодействовать с локальной копией всей своей почты. Когда интернет-соединение снова будет доступно, все изменения синхронизируются с сервером хранения и другими устройствами пользователя.

Общие характеристики безопасности приложения Bitmask включают:

  • Все данные хранятся в зашифрованном виде, в том числе локальные данные и облачные резервные копии. Шифрование всегда происходит на устройстве пользователя, поэтому сервис-провайдер не может читать ваши сохраненные данные.
  • Несмотря на то, что вы указываете имя пользователя и пароль для авторизации, пароль никогда не передается провайдеру.
  • Если вы скачиваете приложение Bitmask с dl.bitmask.net, ваш сервис-провайдер не может добавить бэкдор, чтобы скомпрометировать вашу безопасность.
  • Приложение Bitmask всегда находится в актуальном состоянии относительно последних патчей безопасности (будет в ближайшее время).

Как это работает

ПРИМЕЧАНИЕ: впереди технический жаргон.

Получение почты

Получение и хранение сообщения

  1. Входящая почта получается MX-сервером (mail exchange – обмен почтой) провайдера.
  2. MX-сервер повторно шифрует входящую почту с помощью открытого ключа получателя. Это происходит, даже если почта уже зашифрована, так что метаданные не хранятся таким образом, что любой кроме получателя может получить к ним доступ.
  3. Пользователь авторизируется в своем клиенте Bitmask:
    1. Клиент разблокирует базу данных, зашифрованную локально.
    2. Клиент спрашивает у сервера, есть ли какие-либо новые данные, и начинает процесс синхронизации.
  4. Клиент загружает новое входящее сообщение.
  5. Сообщение расшифровывается с помощью закрытого ключа пользователя, а затем сохраняется в базе данных, зашифрованной локально.
  6. Локальная база данных синхронизируется с облачной службой хранения провайдера. Для хранения на сервере генерируется уникальный ключ для каждого документа в локальной базе данных перед отправкой на сервер (смотрите Soledad для более подробной информации).
  7. Если у пользователя есть клиент Bitmask, работающий на других устройствах, то эти клиенты заметят изменения в базе данных и выполнят повторную синхронизацию.

Проверка сообщения

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

Чтение сообщения

Пользователь может читать электронную почту двумя способами:

  1. Подключив почтовый агент, такой как Thunderbird, к локальному IMAP-серверу, созданному Bitmask.
  2. Запустив встроенное почтовое приложение (в процессе, пока не входит в текущие стабильные версии).

Отправка почты

Составление сообщения

Пользователь может написать сообщение двумя способами:

  1. Одключив почтовый агент, такой как Thunderbird, к локальному SMTP-серверу, созданному Bitmask.
  2. Запустив встроенное почтовое приложение (в процессе, пока не входит в текущие стабильные версии).

Шифрование сообщения

  1. Менеджер ключей клиента приобретает открытый ключ для каждого получателя, если он еще не сохранен.
    1. Менеджер ключей пытается любыми способами, какими только он может. В настоящее время это включает анонимное контактирование с провайдером получателя и поиск OpenPGP серверов ключей, и будет включать DANE/DNSSec и CONIKS в будущем.
    2. Обнаруженные ключи сохраняются в локально зашифрованной базе данных и синхронизированы между устройствами пользователя.
  2. Сообщение дублируется в отдельные копии, по одному для каждого получателя, и каждая копия шифруется для одного получателя и передается для доставки.

Передача сообщения

В настоящее время:

  1. Клиент Bitmask подключается к MX-серверу провайдера отправителя. Это соединение проходит проверку подлинности с использованием сертификата клиента X.509, сохраненного клиентом, отдельно для каждого адреса электронной почты отправителя.
  2. Если сертификат клиента соответствует полю “От” в сообщении, то электронная почта подписывается DKIM и передается на конечный MX-сервер.

В будущей (разрабатывается в настоящее время):

  1. Клиент Bitmask проверяет, поддерживает ли получатель доставку через Panoramix (анонимную смешанную сеть).
    • Если поддерживает, клиент проверяет, есть ли у отправителя разрешение на анонимную доставку получателю (с помощью специальных ключей доставки).
    • Если разрешение на доставку предоставлено, сообщение будет доставлено непосредственно провайдеру получателя с помощью Panoramix. В этом случае провайдер отправителя никогда не будет видеть электронную почту.
  2. Если Panoramix не доступен, клиент Bitmask подключается к MX-серверу провайдера отправителя. Это соединение проходит проверку подлинности с использованием сертификата клиента X.509, сохраненного клиентом, отдельно для каждого адреса электронной почты отправителя.
  3. Если сертификат клиента соответствует полю “От” в сообщении, то электронная почта подписывается DKIM и передается на конечный MX-сервер.

Ограничения

  • Отсутствующие возможности: первая версия не будет поддерживать псевдонимы электронной почты, пересылку электронной почты или несколько учетных записей одновременно.
  • Вы не можете использовать электронную почту Bitmask из веб-браузера. Нужно, чтобы приложение Bitmask было запущено.
  • Приложению Bitmask в настоящее время требуется совместимый провайдер. У нас есть планы в будущем полуподдерживать коммерческих провайдеров, таких как Gmail. Это обеспечило бы пользователю гораздо меньшую защиту, чем в случае использования провайдера Bitmask, но по-прежнему в значительной степени повысило бы безопасность электронной почты.
  • Поскольку все данные синхронизируются, если у пользователя одно из его устройств скомпрометировано, то злоумышленник будет иметь доступ ко всем его данным. Это очевидно, но стоит упомянуть.
  • Пользователь должен держать полную копию всей электронной переписки на каждом устройстве, которое он использует. В будущем мы планируем поддерживать частичную синхронизацию для мобильных устройств.
  • Мы не планируем поддерживать отзыв ключа. Вместо этого мы планируем переходить на все менее и менее живущие ключи, насколько это практически возможно.
  • В текущей реализации скомпрометированный или бесчестный сервис-провайдер все еще может собирать входящие сообщения, которые не зашифрованы, и мета-данные информации о маршрутизации. В перспективе, мы работаем над проектом под названием Panoramix, который позволит маршрутизацию сообщений, которая будет анонимной и не будет раскрывать никакую информацию о мета-данных сервис-провайдеру (до тех пор пока отправитель и получатель поддерживают Panoramix).
  • OpenPGP и S/MIME-шифрование сообщений не имеет прямой секретности, хотя мы используем PFS шифры для StartTLS передачи. В будущем мы надеемся добавить дополнительные формы шифрования сообщений, такие как Axolotl.
  • С нашей нынешней схемой автоматической проверки ключей, есть шанс, что провайдер может одобрить поддельный открытый ключ в течение короткого промежутка времени так, что владелец правильного ключа не заметит уловки. В будущем мы надеемся добавить совместимость с CONIKS, который поддерживает криптографический журнал только на добавление всех согласований ключей и дает возможность сильного аудита этих прошедших согласований.

Для более подробной информации смотрите известные ограничения.

Похожие проекты

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

Для подробного отчета о всех связанных проектах, смортите leap.se/secure-email.