venerdì, 19 aprile 2024

Articoli

Mamma mia, l'IPv6! E la security che fa?

14/01/2013

di Stefano Sacchini, Branch and product manager Dime Sicurezza

Alla fine degli anni 70, furono definite le specifiche del protocollo IP. A tutt’oggi questo longevo programma continua a svolgere il suo lavoro, essendo il punto cardine di ogni genere di trasmissione dati. Esso ha il compito di assegnare un indirizzo a ogni dispositivo che si interconnette alla rete globale. Fu stabilito che l’indirizzo IP era un dato grande 32 bit. Ne derivava che al mondo potevano esistere circa 232 indirizzi, circa 4,3 miliardi: “more space than anyone could ever need”. Questo numero di indirizzi sembrò sufficiente a sostenere tutte le richieste, anche future, che si potessero concepire. Ma già alla fine del 1990 si comprese che gli indirizzi disponibili sarebbero stati presto insufficienti. E questo per due motivi: la globalizzazione dei dispositivi mobile e soprattutto, l’intenzione, da parte di nazioni come Cina, Giappone, Corea del Sud di diventare i maggiori utilizzatori della tecnologia Internet. Per ovviare alla sempre crescente richiesta di indirizzi e scongiurare un imminente esaurimento, furono ideati vari escamotage tecnici: l’utilizzo gerarchico delle sottoreti e protocolli come il NAT (network address translation) permisero di rendere più efficiente l’utilizzo degli indirizzi allocabili. Tuttavia si trattava di espedienti solo temporanei che non risolvevano il problema: basti pensare che ad oggi il numero dei dispositivi mobili ha di gran lungo superato il numero degli indirizzi IP disponibili. La risposta fu un nuovo protocollo che sostituisse IP versione 4 (IPv4): il cosiddetto IPv6.

IPv6 ha principalmente due caratteristiche: è molto più performante di IPv4, ma soprattutto può definire un numero di indirizzi incredibilmente più ampio. Mentre IPv4 definisce circa 4,3 miliardi di indirizzi, IPv6 ha una grandezza di 128 bit e gestisce 2128 (circa 3,4 × 1038) indirizzi. Per dare un esempio dell'enorme differenza, dobbiamo pensare che se consideriamo un indirizzo IP grande come un Quark (particella subatomica), tutti gli indirizzi IPv4, messi in fila, sarebbero lunghi come il diametro dell’elica del DNA (cioè qualche milionesimo di metro). Se invece mettessimo in fila tutti gli indirizzi IPv6, essi raggiungerebbero il centro della via lattea! “Se l'intero pianeta, terraferma e acqua, fosse coperto di computer, IPv6 permetterebbe di utilizzare 7 x 1023 indirizzi IP per metro quadro [...] questo numero è più grande del numero di Avogadro”. C’è da chiedersi perché sia stato ideato un protocollo che permettesse un tale numero di indirizzi, pur sapendo che non sarebbe mai possibile sfruttarli completamente. La risposta sta nel fatto che negli anni è cambiato il nostro modo di utilizzare Internet e il protocollo IP andava adattato di conseguenza.

Non un indirizzo, ma un pool di indirizzi

L’idea è quella di assegnare ad un host connesso in rete, non un singolo indirizzo, ma un pool completo. Una tale quantità d’indirizzi si potrebbero tranquillamente utilizzare per rendere univoci le sessioni di comunicazione. Immaginiamo di collegarsi ad una chat e di usare ad ogni collegamento un nostro indirizzo diverso. Una volta terminata la chat, l’indirizzo viene rilasciato e buttato via. Questo concetto, essenziale ai fini della sicurezza è anche di aiuto per salvaguardare la privacy delle comunicazioni di tipo PeerToPeer. Dato che IPv6 facilita e rende più sicure tutte le comunicazioni multimediali, avremo sicuramente un grande proliferare di servizi e gestori delle reti telefoniche pubbliche. Esistono già grandi “isole” come Skype, a cui gli utenti sono ormai abituati, che impiegano in modo nativo il protocollo IP e peer to peer. Le rubriche presenti sui telefoni sono già in grado di archiviare più numeri per un singolo contatto. Gli utenti avvieranno una chiamata in uscita direttamente dalla rubrica, il telefono selezionerà automaticamente il gestore telefonico più appropriato. Il concetto di avere un indirizzo o una serie di indirizzi, non si limita banalmente al nostro palmare; coinvolgerebbe tutti i più comuni oggetti, la nostra auto, la lavatrice, il nostro sistema di allarme, il nostro DVR. Come sappiamo, il nostro sistema di videocontrollo ha già un indirizzo con cui connettersi in rete, ma normalmente si tratta di un indirizzo privato, di quelli che vanno “nattati” sul router.
<!--[endif]-->

Niente trucchi, solo IP(v6)

La proliferazione violenta della rete ed il precoce esaurimento degli indirizzi spinsero “gli architetti” ad abbandonare un cardine di tutta l’architettura internet: l’EndToEnd, ovvero un collegamento diretto tra i vari utenti senza ricorrere a stratagemmi volti solo a risparmiare indirizzi. Forse non tutti sanno che applicazioni come il NAT (network address translation) sono invenzioni relativamente recenti, volte solo a mascherare un PC in una sottorete per accomunare più utenti sotto un solo indirizzo IP. Questi trucchi verranno completamente sradicati da IPV6 e tutto ciò che si collega in rete avrà una valenza completamente orizzontale, come dire, faremo parte tutti della stessa famiglia! Scontate le conclusioni: tempi di attesa ridotti, maggiore velocità delle comunicazioni e minori costi delle infrastrutture.

Grattacapi per programmatori

C’è da chiedersi cambierà nella pratica. Indubbiamente i maggiori grattacapi sono riservati ai programmatori, che si troveranno a far coesistere le vecchie applicazioni con quelle nuove. Per l’utente comune tutto avverrà in maniera trasparente, salvo qualche dettaglio. Primo fra tutti è che un indirizzo IPv6 si scrive in maniera diversa rispetto al v4. Se oggi scriviamo un indirizzo così: “192.168.1.1”, in seguito lo scriveremo così: “2001:0db8:0000:0000:0000:8a2e:0370:7344”.
Come si può notare, non è più una sequenza di 12 numeri ma di 32 caratteri alfanumerici. Non mancano poi delle regole per sintetizzare la sequenza (il nostro esempio si può infatti scrivere anche così: 2001:0db8::8a2e:0370:7344).

Due pacchetti al prezzo di uno

I programmatori di casa Microsoft hanno da tempo pensato di adeguarsi al nuovo protocollo (Windows XP già supportava in maniera nativa IPv6). Gli attuali utilizzatori di Win7 utilizzano inconsapevolmente lo stack dei protocolli IP in doppia versione, v4 e v6. Per rendersene conto basta dare un’occhiata alla propria configurazione di rete digitando il comando “ipconfig”. Anche Linux supporta IPv6 già dalla versione 2.2 del kernel, rilasciata nel 1999. Tuttavia, i kernel 2.2 e 2.4 non sono più stati aggiornati per supportare gli ultimi RFC, pertanto al momento l’utilizzo di IPv6 è consigliato solo con kernel dell’ultima generazione (2.6.x). Il LinuxIPv6 User Group e mantiene una lista di applicazioni portate su IPv6 ed effettua il porting di nuove applicazioni.
Nonostante tutto questo fermento, la strada della transizione è ancora molto lunga, si stima che la nuova versione di IP sarà completamente implementata tra circa vent'anni e a quel tempo tutti troveranno, volenti o nolenti, le risorse per aggiornare i propri sistemi. Nel frattempo IP esisterà in versione dual stack. Infatti sono state sviluppate delle tecniche per “impacchettare” i pacchetti v6 in un pacchetto IPv4. Come dire che i pacchetti del nuovo protocollo vengono trasportati a bordo del vecchio. Chiaramente si tratta di una soluzione molto provvisoria.

E la sicurezza?

Il mondo della sicurezza, ormai dominato dall'interoperatività di rete, non ha ancora recepito le nuove specifiche. Capita di rado di trovare un DVR o una centrale antintrusione che presenti nella sua configurazione il nuovo indirizzo. Ed è noto – benché paradossale – che la tecnologia professionale sia la più restia a recepire gli ultimi aggiornamenti tecnologici. Ma tutti i produttori avranno il tempo di aggiornare i propri sistemi per essere fully compliant.
Con ipv6 ogni dispositivo nelle nostre mani avrà un proprio indirizzo della rete. Il “sistema nervoso” della società in rete sarà anche alla base della comunicazione tra macchine, la cosiddetta “Internet of things”.


Tag:   IP rete sicurezza

Tutti gli articoli