Host Identity Protocol

Host Identity Protocol (HIP) — это технология идентификации хоста, предназначенная для использования в сетях, построенных на межсетевом протоколе (IP), таких как глобальная сеть Интернет. В Интернете существуют два основных пространства имён: IP-адреса и система доменных имён. Host Identity Protocol разделяет роли идентификатора конечной точки и локатора IP-адресов, а также вводит пространство имён хост-идентификаторов (Host Identity, HI), основанное на инфраструктуре открытых ключей.

Host Identity Protocol обеспечивает безопасные методы идентификации хоста, IP-адресации и поддержки мобильности в сетях.

В сетях, где реализован Host Identity Protocol, все экземпляры IP-адресов на прикладном уровне заменяются криптографическими идентификаторами хоста. Обычно такие криптографические ключи генерируются самостоятельно.

Отделение IP-адресов на прикладном и транспортном уровнях приводит к разъединению транспортного уровня и уровня сетевого взаимодействия (сетевого уровня) в TCP/IP. Host Identity Protocol был описан рабочей группой IETF HIP, а исследовательская группа Интернет-технологий (IRTF) осуществляет более глубокое изучение HIP.

Группе исследователей было поручено подготовить рабочее предложение (RFC) по экспериментальному направлению, однако при этом заявленные свойства качества и безопасности должны соответствовать требованиям стандартного пути. Основной причиной выбора экспериментальной траектории вместо стандартной являются неизвестные эффекты, которые внедрённые механизмы могут оказать на приложения и Интернет в целом.

Пространство имён Host Identity (HI)

Имя в пространстве имён Host Identity (HI) представляет собой статистически глобально уникальное имя, предназначенное для идентификации любой системы с IP-стеком. Такая идентичность обычно связывается с IP-стеком, но не ограничивается им. Одна система может обладать несколькими идентификаторами, среди которых могут быть как «известные», так и неопубликованные или анонимные. Система способна самостоятельно подтверждать свою идентификацию или использовать сторонний аутентификатор, такой как DNS Security (DNSSEC), Pretty Good Privacy (PGP) или X.509, чтобы заверить заявление об идентичности. Ожидается, что идентификаторы хоста на начальном этапе будут аутентифицироваться с помощью DNSSEC.

Теоретически, любое имя, способное быть статистически глобально уникальным, может служить идентификатором хоста. Однако авторы отмечают, что ключ из пары открытых ключей наиболее подходит для роли идентификатора хоста. HI, основанное на открытом ключе, может аутентифицировать пакеты Host Identity Protocol и защищать их от атак типа «человек посередине». Так как аутентифицированные дейтаграммы необходимы для защиты от DoS-атак в HIP, обмен данными по протоколу Диффи — Хеллмана в HIP должен быть аутентифицирован. Таким образом, на практике применяются только HI на основе открытого ключа и аутентифицированные сообщения HIP.

Преимущества Host Identity Protocol

Ранее протокол сетевого уровня (IP) имел четыре классических инварианта:

  1. Неизменяемость: отправленный адрес совпадает с полученным адресом.
  2. Немобильность: адрес не изменяется в ходе сеанса связи.
  3. Обратимость: обратный заголовок всегда можно составить путем замены адресов отправителя и получателя.
  4. Всезнание: каждый хост знает, какой адрес партнёр может использовать для отправки пакетов.

В современном мире происходит осознанный отказ от второго инварианта (в пользу мобильности и мультихоминга), а также вынужденный отказ от первого и четвёртого инвариантов. Областьно-специфичный IP представляет собой попытку восстановить четвёртый инвариант без первого. IPv6 стремится восстановить первый инвариант.

Немногие системы в Интернете располагают DNS-именами, имеющими практическое значение. Даже если у системы есть полностью определённое доменное имя (FQDN), оно, как правило, принадлежит устройству NAT или серверу удалённого доступа и идентифицирует не саму систему, а её текущее подключение. Полные доменные имена (как и их расширения в виде email-адресов) являются именами прикладного уровня и чаще обозначают сервисы, чем конкретные системы. Поэтому многие системы в Интернете не регистрируются в DNS, так как у них нет сервисов, представляющих интерес для других узлов.

DNS-имена ссылаются на IP-адреса, что демонстрирует связь между сетевым и прикладным уровнями. DNS, как единственная масштабная распределённая база данных в Интернете, также служит хранилищем других пространств имён, в частности, с ключевыми записями, связанными с DNSSEC, и прикладными областями. Хотя каждое из пространств имён может эволюционировать (IP — c помощью IPv6, DNS — с помощью KEY-записей), ни одно из них не обеспечивает полноценную аутентификацию хоста и не отделяет должным образом сетевой уровень от транспортного.

Пространство имён Host Identity (HI) заполняет важный пробел между пространствами имён IP и DNS. Примечательно, что HI позволяет отказаться от всех инвариантов сетевого уровня, кроме третьего. Если адреса источника и назначения на сетевом уровне обратимы, всё функционирует корректно, поскольку Host Identity Protocol отвечает за идентификацию хоста, а обратимость гарантирует возможность вернуть пакет к партнеру. Таким образом, становится не принципиально, изменяется ли сетевой адрес по пути передачи, и не важно, каким адресом на сетевом уровне пользуется партнёр[1].

Примечания

Ссылки

  • RFC 4423 — архитектура Host Identity Protocol (ранняя информационная версия)
  • RFC 5201 — основа протокола Host Identity Protocol (утратил силу, см. RFC 7401)
  • RFC 5202 — использование транспортного формата Encapsulating Security Payload (ESP) с Host Identity Protocol (утратил силу, см. RFC 7402)
  • RFC 5203 — расширение регистрации Host Identity Protocol (утратил силу, см. RFC 8003)
  • RFC 5204 — расширение Rendezvous для Host Identity Protocol (утратил силу, см. RFC 8004)
  • RFC 5205 — расширение системы DNS для Host Identity Protocol (утратил силу, см. RFC 8005)
  • RFC 5206 — мобильность конечных устройств и мультихоминг с Host Identity Protocol
  • RFC 5207 — проблемы прохождения NAT и файрволлов для Host Identity Protocol
  • RFC 6092 — основные требования к граничным маршрутизаторам IPv6
  • RFC 7401 — версия 2 Host Identity Protocol (HIPv2, обновлен RFC 8002)
  • RFC 7402 — использование ESP с Host Identity Protocol
  • RFC 8002 — сертификаты Host Identity Protocol
  • RFC 8003 — расширение регистрации Host Identity Protocol
  • RFC 8004 — расширение Rendezvous для Host Identity Protocol
  • RFC 8005 — расширение системы DNS для Host Identity Protocol
  • RFC 8046 — мобильность хоста с Host Identity Protocol
  • RFC 8047 — мультихоминг хоста с Host Identity Protocol