Самостоятельная зашифрованная система чата с открытым исходным кодом

Я ищу собственную систему чата с открытым исходным кодом.

Вот мои характеристики:

  • он должен поддерживать сквозное шифрование, желательно с поддержкой AES-256
  • он должен быть безопасным и избегать любых самодельных протоколов шифрования
  • это должно быть удобно
  • он должен быть доступен как для веба (и для мобильных устройств), так и для Android и желательно для iOS и телефона
Нужно ли поддерживать групповой чат? Загрузка/отправка файлов? Аудио видео? Офлайн-сообщения (и если да, то нужно ли их тоже шифровать)? Будет ли в вашей книге «удобно для пользователя», если пользователям придется создавать свой собственный ключ OpenPGP?

Ответы (1)

Используйте ChatSecure , запустите свой собственный сервер XMPP , протокол OTR . Недостатком здесь является то, что он не соответствует вашим предпочтениям:

  1. Недоступно изначально через Интернет;

  2. OTR использует ключи длиной 128 бит.

В качестве альтернативы вы можете использовать CryptoCat , так как он отвечает большинству ваших потребностей:

  1. Это с открытым исходным кодом

Открытый источник. Все программное обеспечение Cryptocat публикуется прозрачно.

  1. Используется сквозное шифрование и поддержка AES.

AES используется в режиме счетчика Галуа (GCM) для аутентифицированного симметричного шифрования с добавлением данных.

  1. Эта тема потенциально дискуссионна. Используется домашнее шифрование (я не верю), и вопрос о том, проверяете ли вы код, чтобы убедиться, что он безопасен, является спорным. Вот выдержка из их страницы безопасности:
  • AES используется в режиме счетчика Галуа (GCM) для аутентифицированного симметричного шифрования с добавлением данных.

  • X25519 используется для всех операций Диффи-Хеллмана на эллиптических кривых (ECDH). Четырехэтапное рукопожатие ECDH используется для первоначального обмена ключами с проверкой подлинности, а дальнейшие операции ECDH обычно выполняются для генерации предварительного ключа и храповика сообщений.

  • ED25519 используется для создания identityKeyPair, а также для подписи и
    проверки подписанного PreKey, но в остальном
    протокол не используется.

  • SHA256 используется в качестве стандартной хеш-функции и базовой хеш-функции для HKDF.

  1. Что касается того факта, что вам нужен этот продукт, я предполагаю, что вы (и те, кто будет его использовать) довольно технически подкованы. Приложение не самое удобное с графическим интерфейсом, но по личному опыту им не так сложно пользоваться.

Версии этого продукта для iOS и Apple работают по схожему принципу. Вот скриншот последней сборки с сайта:

Скриншот с сайта CryptoCat

Вот очень простой список приложений , которые вы можете рассмотреть. Если бы вы были готовы пожертвовать использованием системы чата на ПК (возможно, вы могли бы реализовать другое приложение, такое как Wickr), я бы порекомендовал «ChatSecure».

Как всегда, пожалуйста, укажите неверные факты в моем ответе. Если вам не нравится CryptoCat, дайте мне знать, я могу предложить другие .