I dati sono sempre crittografati nelle comunicazioni IPv6?


30

Non riesco a ottenere una risposta diretta a questa domanda. Wikipedia afferma che "IPsec è parte integrante della suite di protocolli di base in IPv6", ma ciò significa che TUTTE le comunicazioni sono sempre crittografate o significa che la crittografia è facoltativa, ma i dispositivi devono essere in grado di capirla (se utilizzata )?

Se la crittografia è facoltativa, è il sistema operativo che decide se utilizzare la crittografia o è l'applicazione? I sistemi operativi e i software più diffusi in genere consentono la crittografia?

Vorrei indagare da solo, ma mi manca la connettività IPv6.

Aggiornamento: Ok, quindi è facoltativo. La mia domanda di follow-up: in genere, è l'applicazione che definisce se utilizzare la crittografia o è il sistema operativo?

Un esempio specifico: immagina di avere una versione recente di Windows con supporto nativo per ipv6 e cerco qualcosa su ipv6.google.com usando Mozilla Firefox. Sarebbe crittografato?


16
IPSec è come un lucchetto su una porta; potrebbe far parte della porta, ma non significa che la porta sia necessariamente chiusa a chiave.
Chris S,

@ Chris S: Fantastico commento, hai il mio voto positivo per quello.
SplinterReality,

Risposte:


31

No.

IPv6 ha IPsec integrato come parte del protocollo, e non è un bolt-on come lo è con IPv4. Tuttavia, ciò non significa che sia abilitato per impostazione predefinita, significa solo che è un sovraccarico (teoricamente) inferiore nello stack di rete.

In generale, l'utilizzo di IPsec è determinato a livello IP dello stack di rete e quindi determinato dai criteri di sistema stessi. ad esempio, il sistema A potrebbe avere una politica che richiede che sia AH che ESP abbiano comunicazioni con la sottorete 4.0.0.0/8.

Aggiornamento: per essere chiari, l'applicazione non se ne frega - sa solo che deve aprire una connessione di rete da qualche parte e inviare / ricevere dati. Il sistema deve quindi capire se negoziare IPsec per la connessione richiesta specificata. IPsec è progettato per essere un meccanismo di autenticazione / crittografia di basso livello ed è appositamente progettato in modo tale che protocolli e applicazioni di livello superiore non debbano preoccuparsene.

Detto questo, è solo un altro controllo di sicurezza a livello di rete e non deve necessariamente essere utilizzato in modo isolato o invocato per garantire "sicurezza": se stai cercando di risolvere un problema di autenticazione, è del tutto possibile che tu voglia applicazione per imporre una sorta di autenticazione a livello utente lasciando l'autenticazione a livello di macchina fino a IPsec.


1
Grazie per aver respinto chiaramente un mito orribilmente popolare.
Marcin,

3
Oh, le cose che avrebbero potuto essere. Forse lo avremo in IPv8 tra poche centinaia di anni.
Michael Hampton

1
Non sono d'accordo: la crittografia dovrebbe essere sempre possibile e, nella migliore delle ipotesi, molto semplice. L'obbligo di un certo tipo di controllo di sicurezza indipendentemente dall'esistenza di altri controlli è un po 'miope rispetto ai casi d'uso in cui non si desidera attivamente la crittografia a livello IP.
Crescere l'

20

Risposta breve: No.

Risposta lunga: IPsec è stato preso in considerazione durante la progettazione di IPv6, nel senso che, a differenza di IPv4, IPsec (quando utilizzato) fa parte dell'intestazione IPv6.

Altre spiegazioni: in IPv4, IPsec funziona su IP stesso. In realtà è un protocollo di livello 4 che si "maschera" come protocollo di livello 3 (in modo che i soliti protocolli L4 di TCP e UDP siano ancora in grado di funzionare). L'ESP (Encapsulating Security Payload) non può estendersi tra i pacchetti IP. Di conseguenza, i pacchetti IPsec di solito hanno una capacità di carico utile notevolmente ridotta se viene impedita la frammentazione. Inoltre, poiché è in cima all'IP, l'intestazione dell'IP non è protetta.

In IPv6, IPsec fa parte dell'IP stesso. Può estendersi ai pacchetti, poiché l'intestazione ESP fa ora parte dell'intestazione IP. E poiché è integrato con IP, è possibile proteggere più parti dell'intestazione IP.

Spero che la mia spiegazione "in breve" sia abbastanza chiara.


1
In realtà, AH firma l' intero pacchetto, il che significa che nulla può essere modificato (cioè NAT lo rompe.) Ecco perché pochissimi tunnel IPSec usano effettivamente AH. Ed è una delle molte intestazioni di estensione , non letteralmente "parte dell'intestazione IP".
Ricky Beam,

2

A te domanda di follow-up:

Il sistema operativo definisce quando utilizzare la crittografia. Queste opzioni "politiche" sono all'interno dei pannelli di controllo / politiche di configurazione. Dici cose come "se vuoi connetterti a qualsiasi indirizzo nella subnet ab12 :: devi avere Blah1234 segreto". Ci sono opzioni per usare la PKI.

Al momento un'applicazione non può essere aggiunta a questa politica o richiedere che questa politica sia impostata. C'è una menzione nella sezione ipv6 del socket linux "Manca il supporto IPSec per le intestazioni EH e AH", quindi la gente ci ha pensato ma al momento non ci sono implementazioni funzionanti.


1

Alla tua domanda successiva si e no.

Le applicazioni possono specificare la crittografia, ma la crittografia viene eseguita a livello di applicazione. Esiste un'ampia varietà di coppie di protocollo non crittografate / crittografate che utilizzano porte diverse come HTTP / HTTPS, LDAP / LDAPS, IMAP / IMAPS e SMTP / SSMTP. Tutti utilizzano la crittografia SSL o TLS. Alcuni servizi offriranno un'opzione startTLS che consente di avviare una connessione crittografata sulla porta normalmente non crittografata. SSH è un'applicazione che utilizza sempre una connessione crittografata. La crittografia è end-to-end per questi casi. (Esiste un algoritmo di crittografia NULL che può essere utilizzato e il contenuto crittografato verrà trasportato non crittografato.)

IPSEC è configurato dall'amministratore e l'applicazione non saprà se la connessione è crittografata o meno. Ho visto principalmente IPSEC utilizzato per colmare il traffico tra LAN su connessioni non protette (connessioni VPN). Credo che IPSEC possa applicarsi solo a una parte del percorso, quindi su alcuni segmenti di rete i dati vengono trasmessi in chiaro (non crittografato).

Data la scelta, userò la crittografia dell'applicazione poiché la crittografia di rete non viene utilizzata in modo pesante.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.