Шифрование в 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]. Благодаря этому практически исключается перехват трафика (т.е., Ваших паролей и разговоров) в Вашей локальной сети либо на промежуточных узлах между клиентом и сервером. Сейчас практически не осталось серверов, не поддерживающих один из этих протоколов (но сервер livejournal.com принципиально не поддерживает шифрование SSL/TLS, ограничиваясь SASL), поэтому практически всегда сессия изначально защищена. Ценой безопасного общения становится немного увеличившееся время подключения к серверу и слегка возросший трафик[2], но оно стоит того. Такого шифрования хватит для большинства случаев. Тем людям, для кого важна конфиденциальность передаваемой информации, стоит в дополнение к SSL/TLS использовать шифрование GPG или OTR. В любом случае не стоит забывать про необходимость иметь надежный пароль. Также рекомендуется включать SASL логин, при его использовании количество переданного трафика и время соединения практически не увеличивается.
Примечания:
Ссылки
Настройка GPG-шифрования между Psi и Gajim