04 октября, 2014

Настройка Jitsi

Jitsi — клиент для защищенного текстового и голосового чата с поддержкой Jabber и SIP.

  1. Введение
  2. Словарь терминов
  3. Добавление Jabber-аккаунта
  4. Настройки Jabber-аккаунта
  5. Дополнительные настройки
  6. Настройки защищенного текстового чата
  7. Защищенный текстовый чат
  8. Настройка ZRTP
  9. Защищенный голосовой чат

Введение

При выборе защищенного клиента я рассматривал только открытые и не новые протоколы и реализации. Т.е. протоколы связи с публичной спецификацией и клиенты с открытым исходным кодом, которые эти спецификации реализуют. Новые решения должны пройти период тестирования, поэтому были мной исключены. В процессе поиска я решил использовать Jabber, отбросив SIP из-за многочисленных нестыковок и мелких проблем. В конце концов решение на базе Jabber было приемлемым и я не стал терять время на дальнейшее тестирование SIP.

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

Основное окно Jitsi

Словарь терминов

Небольшой список терминов, используемых при настройке Jitsi:

SIP Базовый протокол связи.
XMPP Базовый протокол связи. Cтарое название Jabber.
Jingle Расширение протокола XMPP для голосовых и видео звонков.
SRTP Протокол безопасной передачи данных в реальном времени, используемый в XMPP/Jingle и SIP для передачи голосовой и видео информации.
ZRTP Протокол обеспечивающий начальную инициализацию зашифрованного канала в SRTP.
SAS Реализованный в ZRTP способ противодействия атаке «Человек посередине» на зашифрованный канал при голосовой связи.
OTR Протокол защищенного текстового чата.

Добавление Jabber-аккаунта

Рекомендую не запоминать пароль для вашего аккаунта. Хотя удалить введенные пароли можно позже через «Инструменты → Опции → Безопасность → Пароли → Сохраненные пароли»:

Добавление нового аккаунта в Jitsi

Не пользуйтесь Jabber-сервером с не валидными сертификатом. При соединении с таким сервером может быть показано сообщение об ошибке типа:

Ошибка сертификата сервера в Jitsi

Настройки Jabber-аккаунта

Настройки Jabber-аккаунта можно установить при добавлении новой учетной записи, или позже через «Инструменты → Опции → Аккаунты → Правка»:

Настройки Jabber-аккаунта. Соединение
Настройки Jabber-аккаунта. Безопасность

Дополнительные настройки

Не записывайте голосовые вызовы:

Настройки Jitsi. Не записывать голосовые вызовы

Не сохраняйте отладочные пакеты:

Настройки Jitsi. Не сохранять отладочные пакеты

Настройки защищенного текстового чата

В клиенте Jitsi для защиты текстовых сообщений используется протокол OTR. Основные настройки текстового чата «Инструменты → Опции → Безопасность → Чат» включают в себя возможности:

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

Последние три опции продублированы внутри окна текстового чата с собеседником:

Текстовый чат в Jitsi. Меню шифрования

Также я бы рекомендовал указать клиенту не хранить историю текстовых сообщений:

Текстовый чат в Jitsi. Меню истории

Защищенный текстовый чат

При установке связи с собеседником в первый раз, необходимо подтвердить его подлинность, кликнув по соответствующей ссылке:

Текстовый чат в Jitsi. Не доверенный собеседник

В открывшемся окне будет предложен один из трех способов проверки подлинности собеседника:

  1. Вопрос и ответ (Question) — Собеседник должен будет правильно ответить на ваш вопрос;
  2. Общий секрет (Shared secret) — Собеседник должен будет ввести фразу указанную вами. Нужно будет договориться об этой фразе по другому каналу связи, например по мобильному.
  3. Проверка ключа (Fingerprint) — Будут показаны ключи шифрования, ваш ключ и ключ собеседника. Используя другой канал связи (тот же мобильный) вы можете сверить с собеседником ваши ключи. И подтвердить что ключи правильные.
Текстовый чат в Jitsi. Проверка собеседника

После подтверждения текущий собеседник будет считаться доверенным, что отразиться на иконке «Замок». Собеседник перестанет быть доверенным если вы отклоните его ключ в настройках «Инструменты → Опции → Безопасность → Чат» (смотри скриншот выше), или он поменяет свой ключ.

Текстовый чат в Jitsi

Настройка ZRTP

Основные настройки «Инструменты → Опции → Безопасность → Телефония → Настройка ZRTP». Далее список вкладок и нужная опция:

Вкладка [ Открытые ключи | List of available public key algorithms ]

EC25 NIST ECDH-256 - 256 bit Diffie-Helman elliptic curve
EC38 NIST ECDH-384 - 384 bit Diffie-Helman elliptic curve
DH2K DH-2048 - 2048 bit Diffie-Helman values
DH3K DH-3072 - 3072 bit Diffie-Helman values
MULT Multi-stream

Вкладка [ Хэши | List of available hash algorithms ]

S256 SHA-256
S384 SHA-384

Вкладка [ Симметричные шифры | List of available symmetric cipher algorithms ]

AES1 AES-128 - AES Counter Mode with 128 bit key length
AES3 AES-256 - AES Counter Mode with 256 bit key length
TWO1 TwoFish-128 - Twofish Counter Mode with 128 bit key length
TWO3 Twofish-256 - Twofish Counter Mode with 256 bit key length

Вкладка [ SAS типы | List of SAS ]

B256 16 bit as 2 words from PGP word list
B32 20 bit as 4 characters

Вкладка [ Длина SRTP.. | List of available SRTP authentications ]

HS32 HMAC-SHA1 32 bit
HS80 HMAC-SHA1 32 bit
SK32 Skein-MAC 32 bit
SK64 Skein-MAC 64 bit

Защищенный голосовой чат

После того как мы установили связь с собеседником первый раз, появиться окно:

Голосовой чат в Jitsi. Не доверенный собеседник

Здесь используется механизм SAS. Нужно сверить с собеседником, одинаковое ли слово вы видите? Если нет, то скорее всего на ваш защищенный канал произведена успешная атака «Человек посередине» и на данный момент вас прослушивают. Если же слово одно и то же, то каждый должен нажать «Подтвердить». После чего замок станет зеленым:

Голосовой чат в Jitsi. Доверенный собеседник

Можно закрыт нижнюю панель крестиком справа. Эта полупрозрачная панель снизу видна только при первом голосовом чате с собеседником. Чтобы увидеть ее при следующем звонке, нужно нажать на замок. Кнопка «Очистить» позволяет указать Jitsi о необходимости задействовать механизм SAS заново. Или же вы просто можете проверить с собеседником совпадают ли слова. Окно при последующем вызове будет иметь вид:

Голосовой чат в Jitsi

Информацию о защищенном канале можно получить, если во время разговора нажать внизу кнопку «i». Появиться окно:

Голосовой чат в Jitsi. Информация о защищенном канале

Если же канал не защищен, то помимо иконки красного замка, можно увидеть, что используется протокол RTP вместо SRTP:

Голосовой чат в Jitsi. Информация о не защищенном канале

Комментариев нет:

Отправка комментария