Anteprima
Vedrai una selezione di 3 pagine su 8
Fondamenti di sicurezza - Sicurezza in Rete e livello di trasporto Pag. 1 Fondamenti di sicurezza - Sicurezza in Rete e livello di trasporto Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Fondamenti di sicurezza - Sicurezza in Rete e livello di trasporto Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Identification: serve ad identificare in modo univoco i vari frammenti in cui può essere

spezzato un pacchetto IP

Flags: utilizzato per il controllo del protocollo e della frammentazione dei datagrammi (può

“Reserved” se settato a 0, “DF” (don’t fragment)

essere se settato a 1 indica che il

pacchetto non va frammentato, “MF” (more fragments) se 0 indica che il frammento è

l’ultimo, tutti i frammenti intermedi sono settati ad 1

indica l’offset (posizione) del frammento in esame rispetto all’inizio del

Fragment Offset: pacchetto originale

indica il tempo di vita del pacchetto, per evitare che vaghi all’infinito per la rete

Time to Live: nel caso in cui non trovi il destinatario

Protocol: indica il codice associato al protocollo utilizzato nel campo dati del pacchetto (se TCP

è 6, UDP 17, IPv6 41…)

campo usato per il controllo degli errori dell’header, ogni tot il checksum

Header Checksum: viene ricalcolato e confrontato con questo campo, se nn c’è

corrispondenza il pacchetto viene scartato

indica l’indirizzo IP associato all’host del mittente del pacchetto (se un utente

Source Address: intermedio si inserisce tra A e B questo campo conterrà il suo IP)

indica l’indirizzo IP associato all’host del destinatario del pacchetto

Destination Address:

Options + padding: (opzioni facoltative) per usi più specifici del protocollo, come info sui

router. Il padding non è altro che un completamento dei 32 bit se le info

sono più brevi (o inesistenti).

IPv6 Header

Sesta versione ma meno utilizzata della quarta, creata per il problema della saturazione di IPv4.

Version: indica la versione del datagramma IP

Traffic Class: indica la classe di priorità del pacchetto rispetto ad altri pacchetti provenienti

dalla stessa sorgente.

Flow Label: usata dal mittente per etichettare una sequenza di pacchetti come se fossero nello

stesso flusso.

la dimensione del payload, cioè di tutto quello che viene dopo l’header,

Payload Length: indica

eventuali estensioni dell’header (che vedremo dopo) vengono considerate

parte del payload

indica il tipo di intestazione che segue l’header di base IPv6

Next Header: (simile al campo

protocol IPv4)

è il limite di salti consentito, praticamente “Time to Live” di IPv4

Hop Limit:

Source Address e Destination Address come per IPv4.

Problemi di sicurezza a livello network

I problemi che si riscontrano sono la lettura dei pacchetti in transito (detto sniffing da parte di terzi), la

modifica dei pacchetti in transito, che include la contraffazione degli indirizzi (di quello sorgente è detto

“spoofing”, di quello di destinazione “Denial of service”, del payload, ecc… Per fornire una

comunicazione sicura a livello di IP è stato introdotto IPSec.

IPSec è un framework per la comunicazione sicura su IP ha specifiche complesse definite in molti RFC

ed è obbligatorio per IPv6 e utilizzabile su IPv4, esso riguarda principalmente 3 aree:

- autenticazione

- riservatezza

- gestione delle chiavi

I servizi di autenticazione e confidenzialità vengono inseriti come intestazioni di estensione in coda

all’header (all’intestazione principale IP).

IPv6 supporta due importanti intestazioni di estensione:

- intestazione di autenticazione (Authentication Header AH), per autenticazione e integrità dei

pacchetti e del flusso di traffico

- intestazione ESP (Encapsulating Security Payload) per la riservatezza del contenuto e del flusso di

traffico.

Queste intestazioni possono essere usate insieme o separatamente e sono trasparenti alle applicazioni

e agli utenti finali.

AH e ESP possono essere utilizzate secondo 2 modalità: e lascia invariata l’intestazione IP

- trasporto, che fornisce protezione payload di un pacchetto

- tunnel, fornisce protezione a tutto il pacchetto IP (il pacchetto originale è considerato payload di un

pacchetto IP “esterno” dotato di nuova intestazione IP con aggiunta di AH e ESP, nessun router lungo il

percorso nel tunnel è in grado di esaminare il pacchetto interno).

IPSec in modalità di trasporto

E’ utilizzata per la comunicazione end-to-end tra 2 host ma richiede che entrambi gli host implementino

IPSec.

IPSec in modalità tunnel

L’applicazione tipica di questa modalità è Virtual Private Network (VPN), questa modalità è utilizzata

per una comunicazione gateway-to-gateway (il gateway è un router che collega la rete locale/privata a

internet) dove la connessione dietro i gateway non è protetta (perché rete privata), i gateway devono

implementare IPSec.

Differenza sostanziale tra le 2 modalità

da un host all’altro, Tunnel lo protegge da un gateway all’altro.

Trasporto protegge il pacchetto

SA Security Association (Associazioni di Sicurezza)

Dato che le intestazioni AH e ESP utilizzano tecniche crittografiche (come HMAC, cifratura

simmetrica…) le parti che si scambiano dati devono condividere più chiavi segrete e accordarsi sugli

algoritmi di cifratura/decifratura da utilizzare, per fare ciò le parti definiscono un’ associazione di

sicurezza SA.

L’associazione di sicurezza è unidirezionale tra mittente e ricevente e fornisce un solo servizio (AH

oppure ESP), per avere più servizi sullo stesso traffico si combinano più SA.

L’associazione di sicurezza decide come i pacchetti devono essere processati, ovvero determina:

chiavi, vettori di inizializzazione…)

- informazioni relative a AH e ESP (algoritmi crittografici,

- tempo di validità della SA

- modalità di trasporto utilizzata (trasport or tunnel)

In ogni implementazione di IPSec esiste una base di dati che memorizza le SA attive e i relativi

parametri, ogni SA è univocamente identificata da tre informazioni (la chiave primaria del database):

- SPI (Security Parameters Index) è una stringa di bit che identifica univocamente la suddetta

associazione nel database (SPI viene trasportata nell’intestazione AH o ESP e permette di identificare

insieme all’indirizzo IP del sorgente la SA da utilizzare per elaborare l’intestazione)

- Indirizzo IP del sorgente

- Identificatore del protocollo di sicurezza (indica se è di tipo AH o ESP)

E’ inoltre possibile definire delle regole che specifichino a quale traffico applicare la SA, tali regole dette

Security Policy, sono memorizzate nel Security Policy Database (SPD).

Ognuna di queste security policy combina un insieme di selettori, che permettono di selezionare il

traffico, all’identificatore di associazione di sicurezza, da applicare al traffico selezionato.

I possibili selettori sono:

- IP di destinazione;

- IP sorgente;

- UserID (preso dal SO);

- Data Sensitivity Level;

- Transport Layer Protocol;

- Source/Destination Port;

Come generare una SA?

Per generare una SA due host si devono accordare sui parametri (algoritmi, tempo di validità…) e le

chiavi da utilizzare, per fare ciò IPSec prevede 2 modalità:

- Manuale, in cui un amministratore di sistema configura manualmente i gateway IPSec (consigliata per

reti piccole e statiche)

- Automatico, in cui è un sistema automatico a creare le chiavi:

- ISAKMP (Internet Security Association Key Management Protocol) è un protocollo per attivare,

negoziare, modificare, cancellare una SA, ed è indipendente dal protocollo per lo

scambio di chiavi;

Oakley: protocollo per lo scambio di chiavi basato sull’algoritmo Diffie-Hellmann

-

Nello specifico…

Authentication Header (AH) IP, d’integrità e autenticazione di

Un AH fornisce servizi di integrità e autenticazione del pacchetto

alcune informazioni dell’intestazione IP e servizi di “anti-replay” che evitano che il pacchetto possa

essere riutilizzato (ad esempio per attacchi Denial of Service DOS).

L’authentication header è basato sull’utilizzo di un MAC (es. HMAC-MD5-96 o HMAC-SHA-1-96) in cui

le parti devono condividere una chiave segreta

- Authentication Data, contiene un valore ICV (Integrity Check Value) calcolato applicando una

funzione MAC al pacchetto

Il codice ICV (che è un codice MAC) ha una lunghezza variabile ma sempre multipla di 32 bit,

e si calcola sui seguenti elementi:

- payload del pacchetto IP, ovvero tutti i dati del protocollo superiore immutabili (es. segmento

TCP)

intestazione AH, tranne l’Authentication

- Data (che viene imposto a 0 per il computo del MAC)

campi dell’intestazione IP immutabili, ovvero non cambiano durante la trasmissione (es.

- lunghezza dell’intestazione, indirizzo sorgente), o che

hanno un valore prevedibile (es. id di destinazione).

I campi che possono cambiare durante il transito sono

impostati a 0 prima del computo del MAC

Servizio Anti-Replay

Nell’attacco a replay un estraneo ottiene una copia di un pacchetto autenticato e successivamente lo

ritrasmette al destinatario, gli attacchi a replay sono visti come:

- problemi al funzionamento del servizio/protocollo

- attacchi in DoS

Per evitare questo attacco, in IPSec, il mittente quando genera una SA inizializza il contatore di 32bit a

0 (utilizzato per generare numeri in sequenza da inserire in AH), se il contatore raggiunge il limite

(2^32 1), il mittente deve creare una nuova SA. Ogni volta che il destinatario riceve un pacchetto,

segna come ricevuto quel numero di sequenza, in questo modo non riterrà validi altri pacchetti futuri

con lo stesso numero.

IPSec non garantisce però l’ordine di consegna dei pacchetti ne che tutti i vengano consegnati, per

questo motivo il ricevente mantiene una finestra di W elementi (di norma W=64) dove ogni elemento è

un numero di sequenza e il valore dell’elemento riporta se è già stato ricevuto il pacchetto con il

ricevuto si controlla che l’elemento della

numero di sequenza corrispondente. Ad ogni pacchetto

finestra che corrisponde al numero di sequenza ricevuto è già stato contrassegnato o no.

In particolare quando si riceve un pacchetto:

- se è nuovo (quindi ha un numero di sequenza mai ricevuto prima) e ricade nella finestra, si verifica il

MAC, se è autentico si contrassegna l’elemento corrispondente nella finestra

- se è nuovo e ricade a destra della finestra, si verifica il MAC, se è autentico si fa avanzare la finestra

finestra o l’autenticazione non va a buon fine, il pacchetto non

- se il pacchetto ricade a sinistra della

viene preso in considerazione.

Intestazione ESP

Fornisce servizio di riservatezza del contenuto del pacchetto, riservatezza (limitata) del flusso del

Dettagli
Publisher
A.A. 2013-2014
8 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher koganzjo di informazioni apprese con la frequenza delle lezioni di Fondamenti di sicurezza e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Carminati Barbara.