Perché i dati HTTP vengono inviati in testo chiaro su Wifi protetto da password?

40

Nella mia casa ho un router protetto con WPA2-PSK (WPA2 Personal), usando la passphrase.

Quando provo ad accedere a una pagina su Internet (questa pagina non usa HTTPS per collegarmi), tutti i miei dati vengono inviati in chiaro (poiché posso vedere la password che ho digitato in Wireshark).

Perché è così? Voglio dire, il mio WiFi è protetto, quindi tutte le comunicazioni dovrebbero essere crittografate, giusto?

    
posta darias 01.10.2016 - 11:37
fonte

7 risposte

156

I mean, my WiFi is protected, so all the communication should be encrypted, right?

Lo è, ma non nel luogo in cui lo stai leggendo. La crittografia avviene a un certo punto nella "pipeline" e la decrittografia deve quindi avvenire anche a un certo punto della "pipeline" (altrimenti i dati sono inutili). Stai osservando i dati dopo che sono stati decifrati, il che non sarebbe possibile se tu stessi utilizzando HTTPS (che invece fornisce la crittografia end-to-end, che inizia dal server e finisce nel browser).

Se hai tentato di utilizzare Wireshark per acquisire il contenuto di una transazione HTTPS, sarebbe come:

+--------+ (encrypted) +----------+ (encrypted) +--------+
| Server | ----------->| Internet |------------>| Router |
+--------+             +----------+             +--------+
                                                     |
                                                     | (encrypted)
                                  +------------------+---+
                                  | Your PC          |   |
                                  | +-----------+ (e)|   |
                                  | | Browser   |<---+   |
                                  | +-----------+    |   |
                                  | +-----------+ (e)|   |
                                  | | Wireshark |<---/   |
                                  | +-----------+        |
                                  +----------------------+

Qui, il tuo browser sa come decifrare i dati, perché "possiede" la transazione HTTPS in primo luogo; la tua istanza di Wireshark (che, per lo scopo stesso della crittografia end-to-end, viene trattata come qualsiasi altro snooper in questo scenario) non lo è.

Ma la crittografia wireless inizia dal router e finisce sulla scheda di rete del PC, quindi il risultato per te è più simile a questo:

+--------+ (plaintext) +----------+ (plaintext) +--------+
| Server | ----------->| Internet |------------>| Router |
+--------+             +----------+             +--------+
                                                     |
                                                     | (encrypted)
                                  +------------------+---+
                                  | Your PC          |   |
                                  | +-----------+ (p)|   |
                                  | | Browser   |<---+   |
                                  | +-----------+    |   |
                                  | +-----------+ (p)|   |
                                  | | Wireshark |<---/   |
                                  | +-----------+        |
                                  +----------------------+

Qui, qualsiasi cosa sul tuo PC può leggere i dati, perché sono stati decifrati dalla tua scheda di rete. Altrimenti, quale applicazione decritterebbe i dati? Niente avrebbe funzionato.

Non c'è quasi nessuna relazione tra HTTPS e WPA2-PSK; fanno lavori completamente diversi.

    
risposta data 01.10.2016 - 17:09
fonte
40

L'utilizzo di un router con WPA2-PSK (o qualsiasi altro algoritmo di crittografia di rete), non significa che tutti i siti sono obbligati a utilizzare https. Significa che il traffico non criptato non è visibile a coloro che non sono connessi alla rete.

Considera HTTPS come una relazione tra il tuo browser e il sito web.

Considera WPA2-PSK come la relazione tra il tuo dispositivo e il tuo punto di accesso.

    
risposta data 01.10.2016 - 11:42
fonte
12

Quando esegui Wireshark su un computer, stai catturando il traffico che il computer può "vedere".

Se esegui Wireshark mentre navighi nei siti Web HTTP, il computer "vede" i dati in chiaro, perché la crittografia Wi-Fi si verifica a livello di router / punto di accesso, che è noto come "livello di collegamento".

Se, d'altra parte, esegui Wireshark mentre navighi nei siti Web HTTPS, Wireshark "vede" i dati crittografati, anche se non stai utilizzando la crittografia Wi-Fi, perché la crittografia HTTPS (SSL / TLS) si verifica a livello di browser o, più precisamente, al "livello applicazione".

Pensa in questo modo.

Un punto di accesso consente a più dispositivi di connettersi a Internet. Senza alcun tipo di crittografia, qualsiasi dispositivo (all'interno o all'esterno della rete wireless) sarebbe in grado di "vedere" il traffico in chiaro da e verso qualsiasi dispositivo connesso alla rete. La crittografia Wi-Fi impedisce ai dispositivi esterni alla rete di vedere il tuo traffico (questo è il passphrase utilizzato) e impedisce ai dispositivi all'interno della rete di spiare l'un l'altro (semplificando un po ', i dati vengono crittografati con chiavi diverse per ogni dispositivo). Pertanto, se Alice e Bob sono connessi all'AP del punto di accesso, non solo Eve (che è fuori dalla rete) non può vedere il traffico relativo ad Alice e Bob, ma Bob non può vedere cosa sta facendo Alice e viceversa.

Tuttavia, il proprietario della rete Wi-Fi può facilmente vedere cosa stanno facendo Alice e Bob.

L'analogia

Pensa alla crittografia (per il momento) come a una serie di tubi e ai dati come lettere inviate attraverso quei tubi.

La rete wireless è una stanza enorme in cui è possibile leggere, scrivere e trasmettere messaggi, poiché include anche un ufficio postale (punto di accesso).

L'ufficio postale consente di inviare le tue lettere a qualcuno usando un'altra scatola, forse dall'altra parte del mondo. Lo fa controllando l'indirizzo scritto sulla lettera e inviandoci.

Se viene utilizzata la crittografia Wi-Fi, la stanza è bloccata e ogni utente ha un tubo distinto, attraverso il quale può inviare e ricevere messaggi.

Internet è tutto ciò che è al di fuori della stanza enorme. Alice e Bob sono dentro la stanza, Eve è fuori di esso.

Disclaimer: per brevità, talk = scrivi e leggi in questo contesto

1) Se la stanza non era chiusa a chiave, senza tubi e invii cartoline di testo chiare ( nessuna crittografia Wi-Fi, nessun HTTPS ), avresti un ufficio postale funzionante (correttamente inviare e ricevere lettere), ma molto poco sicuro. Alice potrebbe afferrare le lettere inviate da Bob e viceversa. Inoltre, chiunque poteva entrare nell'ufficio postale e prendere qualsiasi lettera. In altre parole, sarebbe un gran casino.

2) Crittografia Wi-Fi, nessun HTTPS corrisponde a una stanza bloccata utilizzando una provetta per persona, in modo che Alice non possa afferrare le lettere inviate o ricevute da Bob. Chiaramente, Eve che non è nemmeno nella stanza, non può vedere nulla. Tuttavia, quelle lettere sono cartoline di testo chiare, il che significa che il contenuto non è crittografato. Ciò significa che l'ufficio postale può vedere tutto ciò che invii e ricevi.

Ora potrebbe non piacerti. Perché l'ufficio postale dovrebbe essere in grado di leggere i tuoi messaggi se hanno solo bisogno di inviarli? Sei quindi d'accordo con le persone con le quali stai comunicando e decidi di scrivere cartoline codificate o criptate. Ad esempio, HI MIKE diventerebbe FJSDJHDNFSJ.

In questo modo, l'ufficio postale non può capire di cosa stiano parlando te e i tuoi amici.

3) Un sistema che coinvolge carte crittografate e una stanza sbloccata senza tubi distinti è simile a nessuna crittografia Wi-Fi, ma HTTPS . Quindi l'ufficio postale non sa cosa stai scrivendo e leggendo, ed Eva (che è fuori dalla stanza chiusa a chiave, ma può vedere le tue lettere mentre escono dalla stanza) può raccogliere o copiare i tuoi messaggi ma non può capirli. Va tutto bene, giusto? Beh no. Bob, Eve e altre persone (sia all'interno che all'esterno della rete) possono ancora vedere con chi stai parlando.

4) Se il sistema coinvolge una stanza chiusa con cartoline criptate e , è simile alla crittografia Wi-Fi + HTTPS , che è molto carina. Nessuno sa di cosa stai parlando, e solo l'ufficio postale sa con chi stai parlando.

TL; DR. HTTP su Wi-Fi protetto da password consente a te e al proprietario del punto di accesso di leggere il tuo traffico, anche se altre persone sulla stessa rete non possono.

HTTPS su Wi-Fi protetto da password significa che solo tu puoi leggere il tuo traffico e solo il proprietario del punto di accesso sa quali siti web stai visitando.

Per inciso, se non vuoi che il proprietario dell'AP sappia quali siti web stai visitando, dovresti utilizzare altre soluzioni, incluse VPN e Tor.

    
risposta data 01.10.2016 - 12:37
fonte
3

Il fatto che il tuo wifi sia protetto da WPA2 significa che i segnali inviati via etere dal tuo computer al router sono crittografati, nient'altro. Da lì in poi (dal router all'hop successivo dell'ISP e infine al server Web che serve la tua richiesta) il traffico non è crittografato.
https, tuttavia, fornisce la crittografia end-to-end. Un'estremità è il tuo browser (dalla tua parte), l'altra estremità è il server web che serve la richiesta. End-to-end significa che nessuna entità tra questi 2 estremi può vedere il testo normale. Controlla un sito web https arbitrario e vedrai: Wireshark non può vedere nulla perché wireshark ascolta l'interfaccia di rete e riceve solo i dati dopo che il browser l'ha già crittografato. D'altra parte, WPA2 non è end-to-end. Il dispositivo di rete gestisce la crittografia (e Wireshark intercetta i dati prima che il dispositivo lo faccia). Questo è il motivo per cui puoi vedere dati di testo chiari.
Un punto importante da fare qui è quello che puoi fare sul tuo computer che chiunque altro può fare su ogni router internet che riceve i dati tra il router wifi e il server web. Pertanto, considera WPA2 come un mezzo per proteggere la privacy della parte trasmessa per via aerea della rete domestica. Se vuoi la riservatezza delle comunicazioni che vanno su Internet, i protocolli di crittografia end-to-end (come https) sono il metodo di scelta.

    
risposta data 01.10.2016 - 12:27
fonte
2

Ci sono molte idee che girano qui, con vari gradi di inaccuratezza.

WPAx crittografa il traffico over-the-air, tra il dispositivo e il punto di accesso wireless (AP), e da nessun'altra parte (incluso il router).

Anche se hai un solo dispositivo che chiami "router" o "modem", in realtà (in genere) hai 4 dispositivi. Sono tutti incorporati nella stessa confezione per comodità e per semplificare la configurazione della rete per gli utenti domestici. Sulla mia rete (s), letteralmente tutti questi sono dispositivi fisicamente separati.

Hai:

  • Un modem: in genere via cavo o DSL, che collega i pacchetti Ethernet dalla rete domestica a Internet
  • Un router: questo instrada pacchetti tra diverse reti e generalmente ha funzionalità firewall per la sicurezza
  • Uno switch Ethernet: tutto ciò che è connesso a un interruttore si trova sulla stessa rete locale (LAN)
  • Un punto di accesso wireless (AP): questo è ciò che i tuoi dispositivi wireless si connettono a

WPAx solo crittografa i pacchetti tra i tuoi dispositivi e l'AP.

L'AP decodifica i pacchetti, li trasforma in normali pacchetti Ethernet e li inoltra allo switch. Qualsiasi altra cosa collegata a quell'interruttore potrebbe potenzialmente leggere i tuoi pacchetti in testo normale.

Il tuo router è anche connesso allo switch e il modem è collegato al router o allo switch.

Il percorso del traffico è simile a questo:

[device ----- AP] ---- switch ---- router ---- modem -> Internet
      WPAx              |
                        |
               computer, printer?

WPAx è un protocollo di sicurezza solo wireless. Fa parte del percorso tra i tuoi dispositivi e il tuo punto di accesso. Se hai un computer collegato al tuo switch con un cavo, quel computer potrebbe vedere il tuo traffico "wireless" non crittografato, e allo stesso modo tutti i pacchetti che escono da Internet attraverso il router e il modem non sono criptati.

    
risposta data 02.10.2016 - 09:38
fonte
0

La crittografia WPA2-PSK serve a proteggere le emissioni radio wireless tra la scheda wireless del PC e il router Wifi. Il carico utile (dati) trasferito tra il client PC (cioè il browser Web) e il server remoto può essere crittografato (SSL, ecc.) O meno - questo è un altro livello. Senza WPA2-PSK chiunque si trovi in un raggio vicino (~ 50 metri) può spiare tutto il tuo traffico. Per un semplice confronto, immagina che il WiFi con WPA2-PSK sia un cavo di rete che entra nella tua casa dove le persone esterne non hanno accesso e senza WPA2-PSK lo stesso cavo sta attraversando un luogo pubblico (strada, tetto ecc.)

    
risposta data 03.10.2016 - 10:13
fonte
0

Sebbene esista una cosa chiamata "Internet Protocol", non esiste un singolo protocollo che componga Internet. Al contrario, Internet è costituito da molti protocolli diversi, molti dei quali sono utilizzati insieme in qualsiasi momento per formare quello che viene chiamato uno stack .

Il livello più basso nello stack è chiamato link layer e gestisce la domanda su come ottenere un segnale tra due macchine che sono direttamente collegate in qualche modo. Ethernet è un esempio di un protocollo a livello di collegamento. Lo stesso vale per il Wi-Fi, e lo stesso vale per il PPP (usato soprattutto dai modem, ma anche DSL e cellulari lo usano dietro le quinte).

Il livello successivo è chiamato Livello Internet e gestisce la domanda su come ottenere un segnale tra due macchine che non sono direttamente connesse, usando una serie di macchine che sono. IP (il "Protocollo Internet" di cui ho parlato sopra) vive qui. Nota che il livello link non deve sapere o preoccuparsi di in che modo sono collegati i computer: è teoricamente possibile che i tuoi dati possano passare attraverso Wi-Fi, Ethernet, PPP e altri tipi di collegamenti esotici sulla strada verso la sua destinazione, e non farà alcuna differenza.

Sopra questo è transport layer , che prende il segnale e lo trasforma in dati significativi di qualche tipo. Il TCP, che raccoglie questi segnali e li trasforma in "connessioni" più durature, vive qui. Lo stesso vale per UDP, che è meno preoccupato per le connessioni e fa semplicemente saltare bit di dati avanti e indietro. come fare un numero di altre cose.

Ultimo arriva il layer di applicazione , in cui i dati del livello di trasporto vengono interpretati per scopi particolari. HTTP vive qui, così come i vari protocolli di messaggistica, la maggior parte dei protocolli di gioco e la maggior parte delle altre cose a cui tendiamo a pensare quando pensiamo a Internet.

Il motivo per cui tutto questo è importante è che la crittografia del traffico Web influisce solo sui livelli al livello o sotto del livello in cui si verifica la crittografia . WPA protegge il Wi-Fi, che è un protocollo a livello di collegamento: il traffico è infatti crittografato, ma solo tra le due macchine che sono direttamente connesse, perché è così che funzionano i protocolli a livello di collegamento. Wireshark vede il testo in chiaro perché quando arriva il traffico, è già stato decifrato .

Per fare in modo che Wireshark non sia in grado di annusare il contenuto di una connessione, devi crittografarlo in un livello più alto di quello in cui lavora Wireshark, in modo che non sia stato decifrato quando Wireshark lo vede . Questo è ciò che SSL / TLS è per. Funziona nel livello applicazione (anche se agisce come un altro livello di trasporto, quindi il nome "Transport Layer Security"), quindi se si esegue Wireshark su di esso, vedrà testo crittografato. In realtà sono modi per ottenere Wireshark attorno a questo, ma coinvolgono fondamentalmente la modifica della connessione in modo che Wireshark possa agire da man-in-the-middle. Non è qualcosa che puoi fare a meno che tu non conosca già le chiavi di crittografia che la connessione userà.

    
risposta data 04.10.2016 - 17:39
fonte

Leggi altre domande sui tag