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

Версия от 18:21, 21 февраля 2009; H31 (обсуждение | вклад) (Здесь был логопед.)

Введение

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

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

  • SASL - Один из способов передачи пароля. При нем вместо пароля передается его хэш-сумма, поэтому получить пароль недоброжелателю при таком способе логина проблематично. Также может называться "шифровать пароль".
  • SSL - традиционный способ шифрования. При включенном SSL шифрование начинается с самого начала передачи данных. SSL обычно использует специально выделенный порт 5223. Также может называться "Традиционное шифрование", "Защищенная сеть XMPP (старый стиль)" или "безопасное соединение (офис)"
  • TLS - более новый способ шифрования, базируется на SSL. Сеанс начинается без шифрования и включается только в случае, если оно возможно. Работает на том же порту, что и Jabber без шифрования, обычно 5222. Также может называться "Защищенная сеть XMPP", "безопасное соединение" или просто "шифрование включено"
  • 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, при его использовании трафик не только не возрастает, но ещё и уменьшается.

Ссылки