Защищённый протокол End2End передачи сообщений

Администрация адресного пространства Интернет (IANA) официально назначила порт 4605 для протокола прямой защищенной End2End передачи сообщений SixChat, созданного Sixscape Communications 11 сентября 2014 года (указано в официальном реестре ресурсов IANA: http://www.iana.org/assignments/service-names-port-numbers.).

Существует ограниченное число портов, которые назначаются IANA для протоколов, соответствующих действующим стандартам разработки и ещё не использующихся существующими интернет-стандартами. Например, порт 25 был назначен протоколу электронной почты SMTP ещё много лет назад. Его обеспечивает стандартный порт и это уменьшает конфликты с другими протоколами. Технический обзор протокола SixChat проводил Ларс Эггерт, председатель Целевой группы по исследованиям в Интернете .

Протокол обмена сообщениями SixChat был создан Лоуренсом Э. Хьюзом, соучредителем и техническим директором Sixscape Communications, для их прикладного программного обеспечения SixChat Internet. Новый протокол позволяет двум пользовательским агентам SixChat напрямую подключаться, выполнять взаимную аутентификацию с цифровыми сертификатами клиента X.509, а затем безопасно обмениваться симметричным ключом сеанса (для шифрования всего содержимого). SixChat использует протокол регистрации идентификаторов компании(назначенный IANA порт 4604) для регистрации и поиска адресов, а также функции инфраструктуры открытого ключа (для получения и использования клиентских цифровых сертификатов).

Прямой обмен End2End сообщениями требует глобально маршрутизируемых («общедоступных») IP-адресов для всех задействованных узлов. Это несовместимо с NAT (преобразование сетевых адресов). Он может работать в подмножестве Интернета IPv4, в котором используется плоское адресное пространство без NAT или между любыми двумя узлами в общедоступном Интернете IPv6. NAT предотвращает входящие соединения, поэтому любой обмен сообщениями между пользователями должен использовать промежуточные арсерверы.

Прямой обмен End2End сообщениями имеет несколько преимуществ по сравнению с обменом сообщениями через промежуточные серверы. Прямая передача End2End трафика сильно децентрализована, проходя только по кратчайшему сетевому пути между связывающимися сторонами. Это затрудняет перехват, мониторинг или блокировку. Посреднические серверы создают проблемы, связанные с надежностью и безопасностью. Намного легче отслеживать или блокировать сетевой трафик, который должен проходить через небольшое количество «дроссельных точек».

Можно было бы использовать DNS для разрешения имен (сопоставление имен узлов с IP-адресами) для прямого обмена сообщениями End2End, но DNS становится все более небезопасным, не имеет аутентификации для каждого пользователя для регистрации или обновления и требует много времени для распространения. У него нет хорошего способа публиковать клиентские цифровые сертификаты X.509 для пользователей, и он может публиковать только адрес данного сетевого узла, а не узла, который последний раз использовал конкретный человек. IRP обеспечивает безопасный реестр адресов с аутентификацией для каждого пользователя (обычно с использованием строгой аутентификации клиента на основе сертификатов X.509). Зарегистрированная информация сразу становится доступной. IP-адреса мобильных узлов (например, смартфонов) могут часто меняться при подключении к различным точкам доступа WiFi. Это плохо сказывается на работе модели DNS.

Протокол обмена сообщениями SixChat End2End — это потоковый протокол (на основе протокола TCP, ориентированного на соединение). Он не может быть защищен с помощью TLS, который является клиент-серверной технологией. Он обеспечивает взаимную строгую аутентификацию с использованием только цифровых клиентских сертификатов X.509 (без участия сертификата сервера) и симметричный обмен ключами сеанса (посредством шифрования с открытым / закрытым ключом или обмена ключами Ephemeral Diffie Hellman). Это взаимоотношение основано на TLS, но не клиент / сервер, а между партнерами. В отличие от TLS, он полностью располагается на прикладном уровне, сообщения протокола основаны на XML.

Узлы, поддерживающие прямой обмен сообщениями End2End, не являются ни клиентами, ни серверами, но они должны иметь возможность инициировать и принимать сетевые подключения (следовательно, они имеют характеристики как клиентов, так и серверов). Таким узлом называется «пользовательский агент».