Un altro modo in cui può essere utilizzato un proxy consiste nel camuffare l’indirizzo IP del client che ha effettuato la domanda al server; in questo modo il client non viene riconosciuto e può garantire la privacy durante la navigazione. Vediamo più nel dettaglio questa funzionalità.
Il sistema di funzionamento è molto semplice: il server al quale si accede con un sistema proxy, non visualizza l’indirizzo IP del client ma quello del proxy. Se ciò può essere un vantaggio per la propria privacy, può anche essere un problema per quei siti che utilizzano l’IP per autenticare il client o per il riconoscimento delle sessioni.
Per ovviare a questo inconveniente, il protocollo HTTP prevede che un proxy possa immettere degli header in fase di richiesta; in questo modo il server riconoscerà il proxy e provvederà ad inserire il vero indirizzo IP del client. Se questa funzione viene usata, il server acquisisce l’IP come reale anche se non gli è possibile verificarne la veridicità e invia la risposta.
In base al livello di anonimato i proxy HTTP si possono dividere in:
- non anonimi: apportano delle modifiche agli header che vengono trasmessi dal browser, ne aggiungono degli altri e mostrano il vero indirizzo IP del client. Tali proxy vengono riconosciuti facilmente dal server.
- anonimi: semplicemente non trasmettono l’indirizzo IP del richiedente ma apportano modifiche agli header oppure li aggiungono.
- distorcenti: trasmettono un numero di IP a caso diverso da quello reale e apportano modifiche agli header oppure li aggiungono. Il server li scambia solitamente per proxy anonimi però offrono una maggiore protezione perchè il server web vede comunque che le richieste provengono da un indirizzo IP (che resta comunque diverso da quello reale).
- altamente anonimi: non trasmettono alcun IP e non modificano o aggiungono alcun header pertanto il loro riconoscimento mediante normali controlli è molto difficile. Per questa funzionalità esistono anche programmi basati sulla tecnologia peer to peer che creano un proxy che non trasmette l’IP al server.
Per essere sicuri che un server proxy consenta una navigazione anonima, si può effettuare un “Who-is” ovvero un protocollo di rete che permette di interrogare subito i database e di stabilire a quale provider appartiene uno specifico IP o DNS.