Host Identity Protocol
Протокол идентификации хоста (HIP) — это технология идентификации хоста, предназначенная для использования в сетях межсетевого протокола (IP), таких как «глобальная сеть Интернет». В Интернете существует два основных пространства имен: IP-адреса и система доменных имен. HIP делится на идентификатор конечной точки и роли локатора IP-адресов. Он вводит пространство имен Host Identity (HI) на основе инфраструктуры безопасности с открытым ключом. Host Identity Protocol предоставляет безопасные методы для IP-адресации и мобильной связи.
В сетях, в которых реализован протокол идентификации хоста, все вхождения IP-адресов в приложениях исключаются и заменяются криптографическими идентификаторами хоста. Криптографические ключи, как правило, генерируются самостоятельно.
Результатом устранения IP-адресов на прикладном и транспортном уровнях является отделение транспортного уровня от уровня межсетевого взаимодействия (сетевого уровня) в TCP/IP. HIP был описан рабочей группой IETF HIP. Исследовательская группа Интернет-технологий (IRTF) занимается более подробным изучением HIP.
Группе исследователей поручено подготовить рабочее предложение (RFC) на «экспериментальной» дорожке, но следует понимать, что предложенные свойства качества и безопасности должны соответствовать требованиям дорожки стандартов. Основной целью создания экспериментальных документов вместо стандартных являются неизвестные эффекты, которые механизмы могут оказывать на приложения и на Интернет в целом.
Пространство имен Host Identity (HI)
Имя в пространстве имён Host Identity (HI), представляет собой статистически глобально уникальное имя для именования любой системы со стеком IP. Эта идентичность обычно связана со стеком IP, но не ограничивается им. Система может иметь несколько идентификаторов, некоторые «хорошо известные», некоторые неопубликованные или «анонимные». Система способна сама утверждать свою собственную идентификацию или может использовать сторонний аутентификатор, такой как DNS Security (DNSSEC), Pretty Good Privacy (PGP) или X.509, чтобы «нотариально заверить» утверждение идентичности. Ожидается, что идентификаторы хостов будут первоначально аутентифицированы с помощью DNSSEC.
Теоретически, любое имя, которое может претендовать на то, чтобы быть «статистически глобально уникальным», может служить идентификатором хоста. Однако, по мнению авторов, ключ из «пары открытых ключей» генерирует лучший идентификатор хоста. HI на основе открытого ключа может аутентифицировать пакеты HIP и защищать их от атак «человека посередине». Поскольку аутентифицированные дейтаграммы являются обязательными для обеспечения большей части защиты от DoS в HIP, обмен данными по протоколу Диффи-Хеллмана в HIP должен быть аутентифицирован. Таким образом, на практике поддерживаются только открытый ключ HI и аутентифицированные сообщения HIP.
Преимущества HIP
Ранее протокол сетевого уровня (то есть IP) имел следующие четыре «классических» свойства (инварианта):
- Неизменяемый: отправленный адрес является полученным адресом.
- Немобильный: адрес не меняется в течение процесса соединения.
- Обратимый: возвращаемый заголовок всегда можно сформировать путём изменения адресов отправителя и получателя.
- Всезнающий: каждый хост знает, какой адрес хост-партнёр может использовать для отправки на него пакетов.
В современном мире мы намеренно пытаемся избавиться от второго инварианта (как для мобильности, так и для многоцелевого поиска), и мы были вынуждены отказаться от первого и четвёртого. Специфичный для области IP — это попытка восстановить четвёртый инвариант без первого инварианта. IPv6 — это попытка восстановить первый инвариант.
Немногие системы в Интернете имеют DNS-имена, которые имеют смысл. То есть, если у них есть полностью определённое доменное имя (FQDN), это имя обычно принадлежит устройству NAT или серверу удалённого доступа и в действительности идентифицирует не саму систему, а её текущее соединение. Полные доменные имена (и их расширения в качестве имён электронной почты) являются именами прикладного уровня, чаще именуя службы, чем конкретную систему. Вот почему многие системы в Интернете не зарегистрированы в DNS; у них нет услуг, представляющих интерес для других интернет-хостов.
DNS-имена являются ссылками на IP-адреса. Это только демонстрирует взаимосвязь сетевого и прикладного уровней. DNS, как единственная развёрнутая распределенная база данных в Интернете, также является хранилищем других пространств имён, что частично связано с записями ключей, специфичными для DNSSEC, и приложениями. Хотя каждое пространство имён может быть расширено (IP с v6, DNS с записями KEY), ни один из них не может должным образом обеспечить аутентификацию хоста или действовать в качестве разграничителя между сетевым и транспортным уровнями.
Пространство имён Host Identity (HI) заполняет важный пробел между пространствами имен IP и DNS. Интересная вещь в HI состоит в том, что он фактически позволяет отказаться от всего, кроме 3-го инварианта сетевого уровня. То есть, если адреса источника и назначения в протоколе сетевого уровня являются обратимыми, все работает нормально, поскольку HIP заботится об идентификации хоста, а обратимость позволяет вернуть пакет обратно на хост партнера. Вам все равно, если адрес сетевого уровня изменяется при передаче, и вас не волнует, какой адрес сетевого уровня использует партнер.
Ссылки
- RFC 4423 — Host Identity Protocol (HIP) Architecture (early «informational» snapshot)
- RFC 5201 — Host Identity Protocol base (Obsoleted by [1] RFC 7401])
- RFC 5202 — Using the Encapsulating Security Payload (ESP) Transport Format with the Host Identity Protocol (HIP) (Obsoleted by RFC 7402)
- RFC 5203 — Host Identity Protocol (HIP) Registration Extension (obsoleted by [2] RFC 8003])
- RFC 5204 — Host Identity Protocol (HIP) Rendezvous Extension (obsoleted by [3] RFC 8004])
- RFC 5205 — Host Identity Protocol (HIP) Domain Name System (DNS) Extension (obsoleted by [4] RFC 8005)
- RFC 5206 — End-Host Mobility and Multihoming with the Host Identity Protocol
- RFC 5207 — NAT and Firewall Traversal Issues of Host Identity Protocol (HIP) Communication
- RFC 6092 — Basic Requirements for IPv6 Customer Edge Routers
- RFC 7401 — Host identity protocol version 2 (HIPv2) (updated by [5] RFC 8002)
- RFC 7402 — Using the Encapsulating Security Payload (ESP) transport format with the Host Identity Protocol (HIP)
- RFC 8002 — Host Identity Protocol Certificates
- RFC 8003 — Host Identity Protocol (HIP) Registration Extension
- RFC 8004 — Host Identity Protocol (HIP) Rendezvous Extension
- RFC 8005 — Host Identity Protocol (HIP) Domain Name System (DNS) Extension
- RFC 8046 — Host Mobility with the Host Identity Protocol
- RFC 8047 — Host Multihoming with the Host Identity Protocol