Host Identity Protocol

Da Wikipedia, l'enciclopedia libera.

L'Host Identity Protocol (HIP) è una tecnologia standardizzata dall’Internet Engineering Task Force, per reti IP che introduce il concetto di Host Identifier al fine di assegnare ad un'entità di rete un'identità. Tale identità è indipendente dall'indirizzo IP dell'host e può essere singola o multipla.

L'Host Identity Protocol è definito nelle RFCs 4423 e 5201-5207.

Origine[modifica | modifica wikitesto]

Infrastruttura dell'Host Identity Protocol

Essendo l'attuale Internet namespace nato a cavallo degli anni settanta e ottanta, era stato progettato per gestire computer localizzati in modo statico, ignorando totalmente i concetti di mobilità e sicurezza. Un esempio evidente è dato proprio dall'indirizzo IP, al quale viene attribuito il significato di locazione ma allo stesso tempo anche quello di identità.[1]

È evidente come ciò sia in netto contrasto con l'andamento moderno dell'Information Technology dove le parole chiavi sono mobilità, multi-homing e ovviamente, sicurezza. A tal proposito infatti, è da notarsi che uno dei principali difetti dell'attuale protocollo TCP/IP è il totale disinteresse per la sicurezza del traffico dei dati, che agli albori di Internet era ritenuta assolutamente di secondaria importanza. Ai giorni nostri questo non vale più: l'e-commerce, servizi di e-mail privata e/o aziendale, digital signature, etc., necessitano di sistemi di autenticazione e protezione della privacy dei dati al fine di prevenire hacking, phishing e quant'altro.

L'Host Identity Protocol mira a fornire una soluzione unica a gran parte di questi problemi, integrandosi perfettamente con le tecnologie IPv4, IPv6 ed IPSec.

Host Identifier[modifica | modifica wikitesto]

Un Host Identifier (HI) è la caratterizzazione univoca di un determinato host. Tale identità è rappresentata da un nome unico ed ogni host ne possiede almeno uno. L'Host Identity Protocol infatti, al fine di garantire il multi-homing, prevede appunto la possibilità di associare ad un singolo host una o più identità, purché siano tutte autenticate da un soggetto esterno indipendente la cui credibilità è accettata a priori. Un HI potrà essere sia pubblico che privato.

Spesso si tende a confondere l'Host Identifier con lHost Identity, data la somiglianza dei nomi e dei concetti. Come detto in precedenza, l'Host Identifier è la rappresentazione fisica dell'identità costituita dalla stringa di bit utilizzata nel processo di identificazione/autorizzazione, mentre invece l'Host Identity è a tutti gli effetti lidentità astratta dell'host.

Host Identity Tag e Local Scope Identity[modifica | modifica wikitesto]

Per garantire la sicurezza da attacchi di tipo DoS e MitM, l'HI è di natura crittografica. Agli Host Identifiers infatti, si applica un processo crittografico avente come finalità la creazione di una coppia di chiavi: una pubblica ed una privata.

Dall'Host Identifier quindi si crea un hash di 128 bit chiamato Host Identity Tag (HIT) da usare appunto come chiave di autenticazione. L'algoritmo di hashing è di tipo SHA-1 che effettivamente garantisce una probabilità molto bassa di avere HITs uguali.

Per il mantenimento della compatibilità con socket basate su IPv4, esiste anche una rappresentazione a 32 bit dell'Host Identifier. Tale stringa è detta Local Scope Identity (LSA), e data la relativamente alta probabilità (rispetto all'HIT) di avere collisioni, è usata appunto solo in contesti (domini) locali.

HIP Base Exchange[modifica | modifica wikitesto]

Host Identity Protocol Base Exchange

Il protocollo HIP definisce un four-way handshaking per stabilire una connessione tra hosts. I due hosts coinvolti sono detti Initiator e Responder[2], od anche client e server, con un abuso di linguaggio.

L'Initiator comincia il tentativo di connessione mandando il primo messaggio, il pacchetto I1, contenente le HITs dei nodi in questione. Si noti che l'HIT del Responder può anche essere omessa se sconosciuta dall'Initiator.

Una volta ricevuto l'I1, il Responder invia il pacchetto di risposta R1 contenente un puzzle (enigma) che l'Initiator deve risolvere. Il protocollo è stato progettato con lo scopo di far eseguire all'Initiator la maggior parte dei calcoli per la soluzione del puzzle, ed infatti ciò induce anche una certa protezione contro attacchi di tipo DoS. Tale pacchetto inoltre è responsabile dell'attivazione della procedura di Diffie-Hellman contenente la chiave di accesso pubblica del Responder ed ovviamente tutti i parametri necessari alla procedura stessa.

A questo punto l'Initiator risolve il puzzle e invia al Responder il risultato ottenuto tramite il pacchetto I2, insieme con la sua chiave di accesso pubblica crittografata.

Infine il Responder verifica la correttezza della risposta ricevuta, autentica l'Initiator e crea una sessione IPSec tramite ESP. Il pacchetto finale R2 contiene i parametri SPI del Responder.

Riferimenti RFC[modifica | modifica wikitesto]

  • RFC 4423 - Host Identity Protocol (HIP) Architecture (early "informational" snapshot)
  • RFC 5201 - Host Identity Protocol base
  • RFC 5202 - Using the Encapsulating Security Payload (ESP) Transport Format with the Host Identity Protocol (HIP)
  • RFC 5203 - Host Identity Protocol (HIP) Registration Extension
  • RFC 5204 - Host Identity Protocol (HIP) Rendezvous Extension
  • RFC 5205 - Host Identity Protocol (HIP) Domain Name System (DNS) Extension
  • 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

Note[modifica | modifica wikitesto]

  1. ^ Università degli Studi del Piemonte Orientale - HIP Relazione per il corso di Sicurezza
  2. ^ M. Sarela e P. Nikander - Applying Host Identity Protocol to Tactical Networks
Telematica Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete