Sicurezza di rete - Livello di rete

I controlli di sicurezza a livello di rete sono stati usati frequentemente per proteggere le comunicazioni, in particolare su reti condivise come Internet, perché possono fornire protezione per molte applicazioni contemporaneamente senza modificarle.

Nei capitoli precedenti, abbiamo discusso del fatto che molti protocolli di sicurezza in tempo reale si sono evoluti per la sicurezza di rete garantendo i principi di sicurezza di base come la privacy, l'autenticazione dell'origine, l'integrità dei messaggi e il non ripudio.

La maggior parte di questi protocolli è rimasta concentrata sui livelli superiori dello stack di protocolli OSI, per compensare la mancanza di sicurezza intrinseca nel protocollo Internet standard. Sebbene preziosi, questi metodi non possono essere generalizzati facilmente per l'uso con qualsiasi applicazione. Ad esempio, SSL è stato sviluppato specificamente per proteggere applicazioni come HTTP o FTP. Ma ci sono molte altre applicazioni che necessitano anche di comunicazioni sicure.

Questa esigenza ha portato allo sviluppo di una soluzione di sicurezza a livello IP in modo che tutti i protocolli di livello superiore potessero trarne vantaggio. Nel 1992, l'Internet Engineering Task Force (IETF) ha iniziato a definire uno standard "IPsec".

In questo capitolo, discuteremo come si ottiene la sicurezza a livello di rete usando questo set molto popolare di protocollo IPsec.

Sicurezza a livello di rete

Qualsiasi schema sviluppato per fornire sicurezza di rete deve essere implementato a un certo livello nello stack di protocollo come illustrato nel diagramma seguente:

Strato Protocolli di comunicazione Protocolli di sicurezza
Livello applicazione HTTP FTP SMTP PGP. S / MIME, HTTPS
Livello di trasporto TCP / UDP SSL, TLS, SSH
Livello di rete IP IPsec

Il framework popolare sviluppato per garantire la sicurezza a livello di rete è IPsec (Internet Protocol Security).

Caratteristiche di IPsec

  • IPsec non è progettato per funzionare solo con TCP come protocollo di trasporto. Funziona con UDP così come qualsiasi altro protocollo sopra IP come ICMP, OSPF ecc.

  • IPsec protegge l'intero pacchetto presentato al livello IP, comprese le intestazioni di livello superiore.

  • Poiché sono nascoste intestazioni di livello superiore che riportano il numero di porta, l'analisi del traffico è più difficile.

  • IPsec funziona da un'entità di rete a un'altra entità di rete, non dal processo dell'applicazione al processo dell'applicazione. Pertanto, la sicurezza può essere adottata senza richiedere modifiche ai computer / applicazioni dei singoli utenti.

  • Resistente ampiamente utilizzato per fornire comunicazioni sicure tra entità di rete, IPsec può fornire anche sicurezza da host a host.

  • L'utilizzo più comune di IPsec è fornire una rete privata virtuale (VPN), tra due posizioni (da gateway a gateway) o tra un utente remoto e una rete aziendale (da host a gateway).

Funzioni di sicurezza

Le importanti funzioni di sicurezza fornite da IPsec sono le seguenti:

  • Riservatezza

    • Consente ai nodi di comunicazione di crittografare i messaggi.

    • Previene le intercettazioni da parte di terzi.

  • Autenticazione dell'origine e integrità dei dati.

    • Fornisce la garanzia che un pacchetto ricevuto è stato effettivamente trasmesso dalla parte identificata come origine nell'intestazione del pacchetto.

    • Conferma che il pacchetto non è stato alterato o altro.

  • Gestione delle chiavi.

    • Consente lo scambio sicuro di chiavi.

    • Protezione contro alcuni tipi di attacchi alla sicurezza, come gli attacchi di replay.

Rete privata virtuale

Idealmente, qualsiasi istituzione vorrebbe la propria rete privata per la comunicazione per garantire la sicurezza. Tuttavia, potrebbe essere molto costoso stabilire e mantenere tale rete privata su un'area geograficamente dispersa. Richiederebbe la gestione di infrastrutture complesse di collegamenti di comunicazione, router, DNS, ecc.

IPsec fornisce un meccanismo semplice per implementare Virtual Private Network (VPN) per tali istituzioni. La tecnologia VPN consente al traffico tra uffici dell'istituto di essere inviato su Internet pubblico crittografando il traffico prima di entrare nell'Internet pubblica e separandolo logicamente da altro traffico. Il funzionamento semplificato della VPN è mostrato nel diagramma seguente:

Panoramica di IPsec

IPsec è un framework / suite di protocolli per fornire sicurezza a livello IP.

Origine

All'inizio degli anni '90, Internet era utilizzato da poche istituzioni, principalmente per scopi accademici. Ma negli ultimi decenni, la crescita di Internet divenne esponenziale a causa dell'espansione della rete e di diverse organizzazioni che la utilizzavano per la comunicazione e altri scopi.

Con la crescita massiccia di Internet, combinata con le debolezze di sicurezza intrinseche del protocollo TCP / IP, si è sentita la necessità di una tecnologia in grado di fornire sicurezza di rete su Internet. Un rapporto intitolato "Security in the Internet Architecture" è stato pubblicato dall'Internet Architecture Board (IAB) nel 1994. Ha identificato le aree chiave per i meccanismi di sicurezza.

Lo IAB includeva l'autenticazione e la crittografia come funzionalità di sicurezza essenziali nell'IPv6, l'IP di nuova generazione. Fortunatamente, queste capacità di sicurezza sono state definite in modo tale da poter essere implementate sia con l'attuale IPv4 che con il futuristico IPv6.

Framework di sicurezza, IPsec è stato definito in diverse "Richieste di commenti" (RFC). Alcuni RFC specificano alcune parti del protocollo, mentre altri affrontano la soluzione nel suo insieme.

Operazioni all'interno di IPsec

Si può considerare che la suite IPsec abbia due operazioni separate, se eseguite all'unisono, fornendo un set completo di servizi di sicurezza. Queste due operazioni sono Comunicazione IPsec e Scambio di chiavi Internet.

  • Comunicazione IPsec

    • In genere è associato alla funzionalità IPsec standard. Implica l'incapsulamento, la crittografia e l'hashing dei datagrammi IP e la gestione di tutti i processi dei pacchetti.

    • È responsabile della gestione della comunicazione secondo le Associazioni di Sicurezza (SA) disponibili stabilite tra le parti comunicanti.

    • Utilizza protocolli di sicurezza come Authentication Header (AH) e Encapsulated SP (ESP).

    • La comunicazione IPsec non è coinvolta nella creazione delle chiavi o nella loro gestione.

    • La stessa operazione di comunicazione IPsec viene comunemente chiamata IPsec.

  • Internet Key Exchange (IKE)

    • IKE è il protocollo di gestione automatica delle chiavi utilizzato per IPsec.

    • Tecnicamente, la gestione delle chiavi non è essenziale per la comunicazione IPsec e le chiavi possono essere gestite manualmente. Tuttavia, la gestione manuale delle chiavi non è desiderabile per reti di grandi dimensioni.

    • IKE è responsabile della creazione delle chiavi per IPsec e della fornitura dell'autenticazione durante il processo di creazione della chiave. Sebbene IPsec possa essere utilizzato per qualsiasi altro protocollo di gestione delle chiavi, IKE viene utilizzato per impostazione predefinita.

    • IKE definisce due protocolli (Oakley e SKEME) da utilizzare con il framework di gestione delle chiavi già definito ISAKMP (Internet Security Association Key Management Protocol).

    • ISAKMP non è specifico di IPsec, ma fornisce la struttura per la creazione di SA per qualsiasi protocollo.

Questo capitolo discute principalmente la comunicazione IPsec e il protocollo associato utilizzato per ottenere la sicurezza.

Modalità di comunicazione IPsec

La comunicazione IPsec ha due modalità di funzionamento; modalità di trasporto e tunnel. Queste modalità possono essere utilizzate in combinazione o utilizzate individualmente a seconda del tipo di comunicazione desiderato.

Modalità di trasporto

  • IPsec non incapsula un pacchetto ricevuto dal livello superiore.

  • L'intestazione IP originale viene mantenuta ei dati vengono inoltrati in base agli attributi originali impostati dal protocollo di livello superiore.

  • Il diagramma seguente mostra il flusso di dati nello stack del protocollo.

  • La limitazione della modalità di trasporto è che non è possibile fornire servizi gateway. È riservato per le comunicazioni punto a punto come illustrato nell'immagine seguente.

Modalità tunnel

  • Questa modalità di IPsec fornisce servizi di incapsulamento insieme ad altri servizi di sicurezza.

  • Nelle operazioni in modalità tunnel, l'intero pacchetto dal livello superiore viene incapsulato prima dell'applicazione del protocollo di sicurezza. Viene aggiunta una nuova intestazione IP.

  • Il diagramma seguente mostra il flusso di dati nello stack del protocollo.

  • La modalità tunnel è generalmente associata alle attività del gateway. L'incapsulamento offre la possibilità di inviare più sessioni tramite un unico gateway.

  • La tipica comunicazione in modalità tunnel è quella illustrata nel diagramma seguente.

  • Per quanto riguarda gli endpoint, hanno una connessione a livello di trasporto diretto. Il datagramma da un sistema inoltrato al gateway viene incapsulato e quindi inoltrato al gateway remoto. Il gateway associato remoto deincapsula i dati e li inoltra all'endpoint di destinazione sulla rete interna.

  • Utilizzando IPsec, la modalità di tunneling può essere stabilita anche tra il gateway e il singolo sistema finale.

Protocolli IPsec

IPsec utilizza i protocolli di sicurezza per fornire i servizi di sicurezza desiderati. Questi protocolli sono il cuore delle operazioni IPsec e tutto il resto è progettato per supportare questi protocolli in IPsec.

Le associazioni di sicurezza tra le entità comunicanti vengono stabilite e gestite dal protocollo di sicurezza utilizzato.

Esistono due protocolli di sicurezza definiti da IPsec: Authentication Header (AH) e Encapsulating Security Payload (ESP).

Intestazione di autenticazione

Il protocollo AH fornisce un servizio di integrità dei dati e autenticazione dell'origine. Opzionalmente provvede alla resistenza alla riproduzione dei messaggi. Tuttavia, non fornisce alcuna forma di riservatezza.

AH è un protocollo che fornisce l'autenticazione di tutto o parte del contenuto di un datagramma mediante l'aggiunta di un'intestazione. L'intestazione viene calcolata in base ai valori nel datagramma. Quali parti del datagramma vengono utilizzate per il calcolo e dove posizionare l'intestazione, dipende dalla modalità di cooperazione (tunnel o trasporto).

Il funzionamento del protocollo AH è sorprendentemente semplice. Può essere considerato simile agli algoritmi utilizzati per calcolare i checksum o eseguire controlli CRC per il rilevamento degli errori.

Il concetto alla base di AH è lo stesso, tranne per il fatto che invece di utilizzare un semplice algoritmo, AH utilizza uno speciale algoritmo di hashing e una chiave segreta nota solo alle parti comunicanti. Viene impostata un'associazione di sicurezza tra due dispositivi che specifica questi particolari.

Il processo di AH passa attraverso le seguenti fasi.

  • Quando il pacchetto IP viene ricevuto dallo stack di protocollo superiore, IPsec determina l'associazione di sicurezza (SA) associata dalle informazioni disponibili nel pacchetto; ad esempio, indirizzo IP (origine e destinazione).

  • Da SA, una volta identificato che il protocollo di sicurezza è AH, vengono calcolati i parametri dell'intestazione AH. L'intestazione AH è composta dai seguenti parametri:

  • Il campo di intestazione specifica il protocollo del pacchetto che segue l'intestazione AH. L'indice dei parametri di sequenza (SPI) è ottenuto dalla SA esistente tra le parti in comunicazione.

  • Il numero di sequenza viene calcolato e inserito. Questi numeri forniscono capacità opzionali ad AH per resistere all'attacco replay.

  • I dati di autenticazione vengono calcolati in modo diverso a seconda della modalità di comunicazione.

  • In modalità di trasporto, il calcolo dei dati di autenticazione e l'assemblaggio del pacchetto IP finale per la trasmissione è rappresentato nel diagramma seguente. Nell'intestazione IP originale, la modifica viene apportata solo al numero di protocollo 51 all'applicazione indicata di AH.

  • In modalità Tunnel, il processo di cui sopra avviene come illustrato nel diagramma seguente.

Encapsulation Security Protocol (ESP)

ESP fornisce servizi di sicurezza come riservatezza, integrità, autenticazione dell'origine e resistenza opzionale alla riproduzione. L'insieme dei servizi forniti dipende dalle opzioni selezionate al momento della costituzione della Security Association (SA).

In ESP, gli algoritmi utilizzati per la crittografia e la generazione dell'autenticatore sono determinati dagli attributi utilizzati per creare la SA.

Il processo di ESP è il seguente. I primi due passaggi sono simili al processo di AH come indicato sopra.

  • Una volta stabilito che è coinvolto ESP, vengono calcolati i campi del pacchetto ESP. La disposizione del campo ESP è illustrata nel diagramma seguente.

  • Il processo di crittografia e autenticazione in modalità di trasporto è illustrato nel diagramma seguente.

  • In caso di modalità Tunnel, il processo di crittografia e autenticazione è come illustrato nel diagramma seguente.

Sebbene l'autenticazione e la riservatezza siano i servizi principali forniti da ESP, entrambi sono opzionali. Tecnicamente, possiamo utilizzare la crittografia NULL senza autenticazione. Tuttavia, in pratica, uno dei due deve essere implementato per utilizzare l'ESP in modo efficace.

Il concetto di base è utilizzare ESP quando si desidera l'autenticazione e la crittografia e utilizzare AH quando si desidera un'autenticazione estesa senza crittografia.

Associazioni di sicurezza in IPsec

Security Association (SA) è il fondamento di una comunicazione IPsec. Le caratteristiche di SA sono:

  • Prima di inviare i dati, viene stabilita una connessione virtuale tra l'entità mittente e l'entità ricevente, denominata "Security Association (SA)".

  • IPsec offre molte opzioni per eseguire la crittografia e l'autenticazione di rete. Ogni connessione IPsec può fornire crittografia, integrità, autenticità o tutti e tre i servizi. Quando viene determinato il servizio di sicurezza, le due entità peer IPsec devono determinare esattamente quali algoritmi utilizzare (ad esempio, DES o 3DES per la crittografia; MD5 o SHA-1 per l'integrità). Dopo aver deciso gli algoritmi, i due dispositivi devono condividere le chiavi di sessione.

  • SA è un insieme di parametri di comunicazione di cui sopra che fornisce una relazione tra due o più sistemi per creare una sessione IPsec.

  • La SA è di natura semplice e quindi sono necessarie due SA per le comunicazioni bidirezionali.

  • Le SA sono identificate da un numero SPI (Security Parameter Index) presente nell'intestazione del protocollo di sicurezza.

  • Sia le entità mittenti che quelle riceventi conservano le informazioni di stato sulla SA. È simile agli endpoint TCP che mantengono anche le informazioni sullo stato. IPsec è orientato alla connessione come TCP.

Parametri di SA

Qualsiasi SA è identificata in modo univoco dai seguenti tre parametri:

  • Indice dei parametri di sicurezza (SPI).

    • È un valore a 32 bit assegnato a SA. Viene utilizzato per distinguere tra diverse SA che terminano alla stessa destinazione e utilizzano lo stesso protocollo IPsec.

    • Ogni pacchetto di IPsec trasporta un'intestazione contenente il campo SPI. L'SPI viene fornito per mappare il pacchetto in arrivo a una SA.

    • L'SPI è un numero casuale generato dal mittente per identificare l'SA al destinatario.

  • Destination IP Address - Può essere l'indirizzo IP del router finale.

  • Security Protocol Identifier - Indica se l'associazione è AH o ESP SA.

Un esempio di SA tra due router coinvolti nella comunicazione IPsec è mostrato nel diagramma seguente.

Database amministrativi di protezione

In IPsec, ci sono due database che controllano l'elaborazione del datagramma IPsec. Uno è il Security Association Database (SAD) e l'altro è il Security Policy Database (SPD). Ogni endpoint di comunicazione che utilizza IPsec dovrebbe avere un SAD e un SPD logicamente separati.

Database delle associazioni di sicurezza

Nella comunicazione IPsec, l'endpoint mantiene lo stato SA nel Security Association Database (SAD). Ogni voce SA nel database SAD contiene nove parametri come mostrato nella tabella seguente:

Sr.No. Parametri e descrizione
1

Sequence Number Counter

Per comunicazioni in uscita. Questo è il numero di sequenza a 32 bit fornito nelle intestazioni AH o ESP.

2

Sequence Number Overflow Counter

Imposta un flag di opzione per impedire ulteriori comunicazioni utilizzando la specifica SA

3

32-bit anti-replay window

Utilizzato per determinare se un pacchetto AH o ESP in entrata è un replay

4

Lifetime of the SA

Tempo fino a quando SA rimane attivo

5

Algorithm - AH

Utilizzato in AH e nella chiave associata

6

Algorithm - ESP Auth

Utilizzato nella parte di autenticazione dell'intestazione ESP

7

Algorithm - ESP Encryption

Utilizzato nella crittografia dell'ESP e delle informazioni chiave associate

8

IPsec mode of operation

Modalità trasporto o tunnel

9

Path MTU(PMTU)

Qualsiasi unità di trasmissione massima del percorso osservato (per evitare la frammentazione)

Tutte le voci SA nel SAD sono indicizzate dai tre parametri SA: indirizzo IP di destinazione, identificatore del protocollo di sicurezza e SPI.

Database dei criteri di sicurezza

SPD viene utilizzato per elaborare i pacchetti in uscita. Aiuta a decidere quali voci SAD dovrebbero essere utilizzate. Se non esiste alcuna voce SAD, SPD viene utilizzato per crearne di nuovi.

Qualsiasi voce SPD conterrebbe:

  • Puntatore alla SA attiva detenuta nel SAD.

  • Campi selettore: campo nel pacchetto in arrivo dal livello superiore utilizzato per decidere l'applicazione di IPsec. I selettori possono includere indirizzo di origine e destinazione, numeri di porta se rilevanti, ID applicazione, protocolli, ecc.

I datagrammi IP in uscita vanno dalla voce SPD alla specifica SA, per ottenere i parametri di codifica. Il datagramma IPsec in arrivo arriva alla SA corretta utilizzando direttamente il triplo SPI / DEST IP / Protocollo e da lì estrae la voce SAD associata.

SPD può anche specificare il traffico che dovrebbe ignorare IPsec. SPD può essere considerato come un filtro di pacchetti in cui le azioni decise sono l'attivazione di processi SA.

Sommario

IPsec è una suite di protocolli per la protezione delle connessioni di rete. È un meccanismo piuttosto complesso, perché invece di fornire una definizione semplice di uno specifico algoritmo di crittografia e funzione di autenticazione, fornisce un framework che consente l'implementazione di tutto ciò su cui entrambe le estremità di comunicazione concordano.

Authentication Header (AH) e Encapsulating Security Payload (ESP) sono i due principali protocolli di comunicazione utilizzati da IPsec. Mentre AH si limita ad autenticarsi, ESP può crittografare e autenticare i dati trasmessi tramite la connessione.

La modalità di trasporto fornisce una connessione sicura tra due endpoint senza modificare l'intestazione IP. La modalità tunnel incapsula l'intero pacchetto IP del payload. Aggiunge una nuova intestazione IP. Quest'ultimo viene utilizzato per formare una VPN tradizionale, poiché fornisce un tunnel virtuale sicuro su Internet non affidabile.

L'impostazione di una connessione IPsec implica tutti i tipi di scelte crittografiche. L'autenticazione è solitamente basata su un hash crittografico come MD5 o SHA-1. Gli algoritmi di crittografia sono DES, 3DES, Blowfish e AES. Sono possibili anche altri algoritmi.

Entrambi gli endpoint comunicanti devono conoscere i valori segreti utilizzati nell'hashing o nella crittografia. Le chiavi manuali richiedono l'immissione manuale dei valori segreti su entrambe le estremità, presumibilmente trasmessa da un meccanismo fuori banda, e IKE (Internet Key Exchange) è un meccanismo sofisticato per farlo online.