Jitsi — клиент для защищенного текстового и голосового чата с поддержкой Jabber и SIP.
- Введение
- Словарь терминов
- Добавление Jabber-аккаунта
- Настройки Jabber-аккаунта
- Дополнительные настройки
- Настройки защищенного текстового чата
- Защищенный текстовый чат
- Настройка ZRTP
- Защищенный голосовой чат
Введение
При выборе защищенного клиента я рассматривал только открытые и не новые протоколы и реализации. Т.е. протоколы связи с публичной спецификацией и клиенты с открытым исходным кодом, которые эти спецификации реализуют. Новые решения должны пройти период тестирования, поэтому были мной исключены. В процессе поиска я решил использовать Jabber, отбросив SIP из-за многочисленных нестыковок и мелких проблем. В конце концов решение на базе Jabber было приемлемым и я не стал терять время на дальнейшее тестирование SIP.
Из многих открытых клиентов, лишь некоторые дают возможность помимо защищенного текстового чата устанавливать также и защищенное голосовое соединение. Протестировав наиболее популярные, оставил свой выбор на Jitsi.
Словарь терминов
Небольшой список терминов, используемых при настройке Jitsi:
SIP | Базовый протокол связи. |
XMPP | Базовый протокол связи. Cтарое название Jabber. |
Jingle | Расширение протокола XMPP для голосовых и видео звонков. |
SRTP | Протокол безопасной передачи данных в реальном времени, используемый в XMPP/Jingle и SIP для передачи голосовой и видео информации. |
ZRTP | Протокол обеспечивающий начальную инициализацию зашифрованного канала в SRTP. |
SAS | Реализованный в ZRTP способ противодействия атаке «Человек посередине» на зашифрованный канал при голосовой связи. |
OTR | Протокол защищенного текстового чата. |
Добавление Jabber-аккаунта
Рекомендую не запоминать пароль для вашего аккаунта. Хотя удалить введенные пароли можно позже через «Инструменты → Опции → Безопасность → Пароли → Сохраненные пароли»:
Не пользуйтесь Jabber-сервером с не валидными сертификатом. При соединении с таким сервером может быть показано сообщение об ошибке типа:
Настройки Jabber-аккаунта
Настройки Jabber-аккаунта можно установить при добавлении новой учетной записи, или позже через «Инструменты → Опции → Аккаунты → Правка»:
Дополнительные настройки
Не записывайте голосовые вызовы:
Не сохраняйте отладочные пакеты:
Настройки защищенного текстового чата
В клиенте Jitsi для защиты текстовых сообщений используется протокол OTR. Основные настройки текстового чата «Инструменты → Опции → Безопасность → Чат» включают в себя возможности:
- Изменить ключ своего аккаунта. Но вашим собеседникам придется заново провести процедуру проверки для вас (смотри об этом ниже). Если этого ключа у вас еще нет, то он будет создан автоматически при первом защищенном разговоре.
- Подтвердить или отклонить ключи своих собеседников.
- Вообще отключить возможность шифрования сообщений.
- Указать клиенту автоматически переходить на зашифрованное общение.
- Требовать от вас включать приватный (зашифрованный) разговор, перед тем как отправлять сообщение собеседнику. Если эта опция включена, то вы не сможете отправлять не зашифрованные сообщения.
Последние три опции продублированы внутри окна текстового чата с собеседником:
Также я бы рекомендовал указать клиенту не хранить историю текстовых сообщений:
Защищенный текстовый чат
При установке связи с собеседником в первый раз, необходимо подтвердить его подлинность, кликнув по соответствующей ссылке:
В открывшемся окне будет предложен один из трех способов проверки подлинности собеседника:
- Вопрос и ответ (Question) — Собеседник должен будет правильно ответить на ваш вопрос;
- Общий секрет (Shared secret) — Собеседник должен будет ввести фразу указанную вами. Нужно будет договориться об этой фразе по другому каналу связи, например по мобильному.
- Проверка ключа (Fingerprint) — Будут показаны ключи шифрования, ваш ключ и ключ собеседника. Используя другой канал связи (тот же мобильный) вы можете сверить с собеседником ваши ключи. И подтвердить что ключи правильные.
После подтверждения текущий собеседник будет считаться доверенным, что отразиться на иконке «Замок». Собеседник перестанет быть доверенным если вы отклоните его ключ в настройках «Инструменты → Опции → Безопасность → Чат» (смотри скриншот выше), или он поменяет свой ключ.
Настройка 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 |
Защищенный голосовой чат
После того как мы установили связь с собеседником первый раз, появиться окно:
Здесь используется механизм SAS. Нужно сверить с собеседником, одинаковое ли слово вы видите? Если нет, то скорее всего на ваш защищенный канал произведена успешная атака «Человек посередине» и на данный момент вас прослушивают. Если же слово одно и то же, то каждый должен нажать «Подтвердить». После чего замок станет зеленым:
Можно закрыт нижнюю панель крестиком справа. Эта полупрозрачная панель снизу видна только при первом голосовом чате с собеседником. Чтобы увидеть ее при следующем звонке, нужно нажать на замок. Кнопка «Очистить» позволяет указать Jitsi о необходимости задействовать механизм SAS заново. Или же вы просто можете проверить с собеседником совпадают ли слова. Окно при последующем вызове будет иметь вид:
Информацию о защищенном канале можно получить, если во время разговора нажать внизу кнопку «i». Появиться окно:
Если же канал не защищен, то помимо иконки красного замка, можно увидеть, что используется протокол RTP вместо SRTP:
Комментариев нет:
Отправить комментарий