Шифрование в Jabber

Материал из Мир Jabber
Перейти к навигацииПерейти к поиску

Введение

Для обеспечения безопасного подключения к серверу, а также для сохранения конфиденциальности разговоров в сети Jabber используются разнообразные системы шифрования. При подключении к серверу вся сессия между клиентом и сервером (т.е., Ваш логин, пароль и все то, о чем вы говорите) может шифроваться при помощи одного из протоколов - SSL либо TLS. Для большей конфиденциальности и для исключения перехвата трафика на сервере в дополнение к SSL/TLS можно использовать шифрование с использованием пары открытых и закрытых ключей - GPG или OTR, а для сохранения конфиденциальности пароля используется SASL. Ниже разъясняется значение этих сокращений.

Терминология

  • SASL - Один из способов передачи пароля. При нем вместо пароля передается его хэш-сумма, поэтому получить пароль недоброжелателю при таком способе логина проблематично
  • SSL - традиционный способ шифрования. При включенном SSL шифрование начинается с самого начала передачи данных. SSL обычно использует специально выделенный порт 5223
  • TLS - более новый способ шифрования, базируется на SSL. Сеанс начинается без шифрования и включается только в случае, если оно возможно. Поэтому возможен вариант "TLS если возможно". Работает на том же порту, что и Jabber без шифрования, обычно 5222.
  • GPG - свободная реализация PGP. Используется для шифрования исключительно сообщений и проходит сервер в зашифрованном виде. Дешифруется на конечном клиенте по доверенному ключу. Для шифрования используется открытый и закрытый ключи.
  • OTR - протокол шифрования, специально созданный для сетей обмена мгновенными сообщениями. Шифрует только сообщения. Не требует обмена ключами.

Что использовать?

Для большей безопасности при общении в сети Jabber стоит как минимум использовать один из протоколов шифрования сессии - TLS либо SSL[1]. Благодаря этому практически исключается перехват трафика (т.е., Ваших паролей и разговоров) в Вашей локальной сети либо на промежуточных узлах между клиентом и сервером. Сейчас практически не осталось серверов, не поддерживающих один из этих протоколов[2], поэтому практически всегда сессия изначально защищена. Ценой безопасного общения становится немного увеличившееся время подключения к серверу и слегка возросший трафик[3], но оно стоит того. Такого шифрования хватит для большинства случаев. Тем людям, для кого важна конфиденциальность передаваемой информации, стоит в дополнение к SSL/TLS использовать шифрование GPG или OTR. В любом случае не стоит забывать про необходимость иметь надежный пароль. Также рекомендуется включать SASL логин, при его использовании количество переданного трафика и время соединения практически не увеличивается.

Примечания:

  1. SSL считается устаревшим, поэтому рекомендуется использовать TLS.
  2. Сервер livejournal.com принципиально не поддерживает шифрование SSL/TLS для снижения нагрузки, ограничиваясь SASL)
  3. Исключение составляет Tkabber, при его использовании трафик не только не возрастает, но ещё и уменьшается.

Ссылки

Настройка GPG-шифрования между Psi и Gajim

Настройка OTR

Немного о SSL/TSL и SASL на ткаббер-вики

GPG в Psi

Vonderer blog. "Безопасность и покой"