Представлен (n+1)sec, протокол для создания защищенных децентрализованных чатов
После двух лет проектирования, разработки рабочих прототипов и тестирования представлен новый протокол для создания защищенных групповых чатов - (n+1)sec. Библиотека с реализаций протокола распространяется под лицензией LGPLv3. Для тестирования предлагается экспериментальное клиентское ПО, которое оформлено в виде плагина для системы мгновенного обмена сообщениями Pidgin и может работать с любым сервером Jabber/XMPP. Дополнительно предоставляется простой клиент Jabberite, работающий в режиме командной строки, и симулятор EchoChamber.
Протокол обеспечивает оконечное шифрование (end-to-end, вся информация шифруется на стороне клиента), обеспечивает синхронный режим передачи сообщений и по решаемым задачам во многом напоминает протоколы OTR (Off-the-Record Messaging) и Signal:
- Как и OTR протокол (n+1)sec также ориентирован на создание защищенных коммуникаций поверх существующих инфраструктур чатов, таких как XMPP, что позволяет интегрировать поддержку (n+1)sec в любое клиентское ПО на базе данных систем. Ключевое отличие заключается в том, что OTR рассчитан на обмен сообщениями между двумя участниками, в то время как (n+1)sec нацелен на создание децентрализованных чатов, в которых может общаться произвольное число людей.
- Протокол Signal поддерживает групповые чаты с end-to-end шифрованием, но позволяет передавать сообщения только в асинхронном режиме и требует наличия централизованного сервера, который является единой точкой отказа и может использоваться для сбора метаданных о пользователях.
Ключевые возможности протокола (n+1)sec:
- Конфиденциальность - содержимое доступно только участникам чата. Сторонний наблюдатель не может прочитать сообщения;
- Совершенная прямая секретность (Forward secrecy) - когда-то перехваченный трафик с прошлой перепиской нельзя расшифровать даже после получения закрытых ключей участников чата;
- Аутентификация с отречением (Deniable authentication) - во время чата участникам обеспечивается проверка подлинности сообщений, но после чата третье лицо не имеет возможность доказать авторство сообщений участников;
- Подтверждение авторства - получатель сообщения может быть уверен в подлинности отправителя, недопуская ситуации, когда кто-то другой попытается выдать себя за отправителя;
- Целостность комнат для чата - участники группового чата могут быть уверены, что они находятся в одной комнате чата;
- Единый порядок сообщений - участники группового чата могут быть уверены, что всем сообщения приходят в том же порядке.