[successivo] [precedente] [indice]

Distribuzione Chiavi

Non e' stato deciso definitivamente un metodo di distribuzione chiavi, ma la proposta piu' in vista e chiamata Photuris ed e' basata su scambi a conoscenza zero.

Il nome dell'algoritmo Photuris deriva dal latinp per lucciola, ove in America l'algoritmo Firefly e' il nome di codice della NSA per la gestione sicura dei telefoni.

Architettura di Photuris

Photuris e' basato sull'algoritmo di Diffie-Hellman per lo scambio sicuro di chiavi a conoscenza zero.

Siano dati due corrispondenti A e B che si accordano su un numero primo p ed un numero intero generatore g. A sceglie un numero casuale x e calcola il valore:

e la trasmette a B. B a sua volta sceglie un numero casuale y, calcola il valore:

e la trasmette ad A. Ora A conosce m ed x, B conosce n ed y, mentre terzi possono conoscere m o n, ma non x o y. A e B possono calcolare la chiave disessione:

che puo' essere usata per l'algoritmo di crittografazione.

Vantaggi:

Svantaggi dell'algoritmo di Diffie-Hellman:

Photuris ovvia a questi svantaggi:

Il Protocollo Photuris

Il protocollo inizia con uno scambio di cookie, seguito da uno scambio Diffie-Hellman e quindi da un interscambio di segnature di validazione:

Interscambi Photuris

I messaggi Photuris avvengono su trasporto UDP, al porto 468.

Richiesta Cookie

La richiesta di cookie ha campo Tipo settato a zero. Contiene un Cookie (intero) Iniziale a 128 bit. Segue una lista di gruppi, che designa uno spazio numerico in cui i calcoli Diffie-Hellman hanno luogo. Ogni gruppo e' identificato da un numero a 8 bit. Sono previsti al momento tre gruppi:

Il rispondente esamina la lista di gruppi suggerita dal richiedente e ne sceglie un pacchetto Responso Cookie,.

Responso Cookie

Il campo Tipo vale 1. Il campo Cookie di Risposta e' calcolato applicando un algoritmo MD5 ad una stringa composta dal Indirizzo Sorgente, Porto UDP, Cookie Iniziale ed un numero segreto casuale.

L'Indice di Gruppo indica il gruppo prescelto. Il Valore Pubblico Rispondente e' un numero a precisione variabile il cui esatto formato dipende dal gruppo prescelto.

La Lista di Attributi contiene un insieme di trasformate, sortizzate per preferenza del rispondente.

Sono stati definiti molti tipi di trasformate:

Trasformate

I codici sono stati assegnati sia a procedure di trasformazione dati (MD5), sia a procedure di crittografazione (DES) e anche a procedure di compressione dati (LZ77).

Gli attributi sono codificati in una sequenza tipo-lunghezza-valore, per quanto in molti casi non vi sia un campo valore.

Il Cookie Iniziale e'usato dalla stazione chiamante per mettere in correlazione la richiesta e il responso. La stazione chiamante associa un temporizzatore con ciascuno scambio di cookie, allo scadere del quale lo scambio viene ritentato con un cookie diverso.

La stazione rispondente emette un solo responso per ogni Cookie Iniziale ricevuto, per ragioni di sicurezza, e puo'rifiutarsi di rispondere se troppe associazioni di sicurezza sono attive.

Una volta ricevuto il responso, la stazione chiamante sceglie una mezza chiave e il corrispondente v alore pubblico nel gruppo indice, lo spazio numerico scelto dal rispondente. Sceglie inoltre gli attributi da usare nellássociazione di sicurezza, ed invia un messaggio Richiesta di Chiave..

Richiesta di Chiave>
<P>
Il rispondente alla ricezione della Richiesta Chiave dapprima controlla la validita'dei cookie. Se errati, ignora il messaggio. Altrimenti sceglie la propria mezza chiave, luna trasformata dalla lista fornita dall'iniziatore ed una trasformata ulteriore, da usarsi nell'interscambio delle Segnature. Con questi parametri forma un messaggio di Responso Chiace.

Responso Chiave

Il messaggio di responso contiene anche lo SPI dell'associazione in direzione rispondente-iniziatore.

Le chiavi di sessione vengono ora calcolate, composte a partire dalla coppia chiavi pubblica-privata Diffie-Hellman, cocatenata con lo SPI, con il cookie del possessore dello SPI e con il cookie dell'altro corrispondente. La chiave generata e' abbreviata con una funzione MD5 a un numero a 128 bit. La particolare funzione di hash usata e' scelta dalla lista attributi dell'iniziatore e indicata nel parametro di trasformata di chiavi. Vengono usate chiavi diverse nelle due direzioni.

La vita dell'associazione e' scelta dal rispondente ed e' breve, tipicamente 30 secondi. Una chiave diversa e' usata per ciascuna associazione.

E' possibile usare anche un messaggio Cambiamento di Chiave, per derivare una nuova associazione con un nuovo SPI, a partire da una esistente. La nuova chiave viene ottenuta dalla vecchia, applicando una trasformata selezionata dalla lista attributi del corrispondente.

Cambiamento Chiave

Autenticazione delle Chiavi

Come ultima fase del protocollo Photuris, per dimostrare le identita' dell'iniziatore e del rispondente, avviene uno scambio di messaggi di Segnatura.

Segnatura

Il messaggi Richiesta di Segnatura e' inviato dall'iniziatore sull'associazione di sicurezza appena stabilita. Il messaggio contiene, oltre ai consueti campi, un campo Segnatura, un campo Certificato e degli Attributi Aggiuntivi.

La segnatura consiste tipicamente in una funzione di hash ad una via, seguita dall'esponenziazione RSA con la chiave privata dell'iniziatore. La funzione di hash ed il tipo di certificato usato per convalidare la chiave pubblica sono scelti dalla lista di attributi del rispondente.

La trasformata e' applicata ad una stringa composta dalla chiave di sessione concatenata col valore pubblico dell'iniziatore, il valore pubblico del rispondente, ed opzionalmente la chiave pubblica, certificato e nome identificativo dell'inviante.

Se il corrispondente verifica la correttezza della segnatura, risponde con un messaggio simile di Responso di Segnatura.

Osservazioni

E' possibile anche un settaggio manuale delle associazioni di sicurezza, per quanto con sforzo notevole dell'amministratore di sistema.

L'algoritmo Photuris non e' ben adatto alla distribuzione chiavi in un gruppo di multicast. La ricerca di un metodo accettabile e' ancora in corso.

L'algoritmo Photuris avra' importanti applicazioni nella gestione di stazioni mobili, stazioni con particolari requisiti di sicurezza, nelle procedure Neighbour Discovery in ambiente di sicurezza, nella connessione di stazioni remote attraverso un Firewall, con tunnel di sicurezza, e forse nella costruzione di nuove e sicure versioni dei protocolli di routing.

L'argomento sicurezza, e in particolare la crittografazione, e' politicamente molto sensitivo in alcuni paesi del mondo al momento attuale e le comunicazioni sicure in ambito internazionale sono un campo ancora tutto da definire.

La velocita' di calcolo degli algoritmi MD5 ed RSA o Diffie-Hellman puo' essere insufficiente per comunicazioni a larga banda come FDDI o HiPPI. E' probabile l'introduzione futura di altri algoritmi piu' snelli, ed anche l'esecuzione di tali algoritmi in hardware.

L'inclusione di procedure di sicurezza a livello IP e non ai livelli applicativi superiori e' utile a contrastare attacchi del tipo diniego di servizio a basso livello.

Siamo ancora soggetti ad attacchi di sicurezza basati su analisi del traffico. Vi sono proposte sulla possibilita' di introdurre comunicazioni spurie ed inutili per confondere tali attacchi.

Documentazione

Sicurezza IP
RFC1825 - Security Architecture for the Internet Protocol

RFC1826 - IP Authentication Header

RFC1827 - IP Encapsulating Security Payload (ESP)

RFC1828 - IP Authentication Using Keyed MD5

RFC1829 - The ESP DES-CBC Transform

MD5
RFC1321 - The MD5 Message Digest Algorithm

DES
FIPS 46 - The Data Encryption Standard

FIPS 81 - Data Encryptio Standard Modes of Operation

FIPS 74 - Guidelines for Implementing and Using the Data Encryption Standard

FIPS 46-1 - Data Encryption Standard

Photuris
The Photuris Session Key Management Protocol - Phil Karn e W.A.Simpson - RFC Draft

Denial of Service attacks
RFC1636 - Report of the IAB Workshop on Security in the Internet Architecture