mirror of
https://github.com/fazo96/tesina.git
synced 2025-03-12 20:58:39 +01:00
primo commit
This commit is contained in:
commit
a1b647d3cc
7
README.md
Normal file
7
README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# L'anonimato sulla rete Internet
|
||||
|
||||
Tesina di Enrico Fasoli
|
||||
|
||||
5IA, anno scolastico 2014/2015, IIS Galileo Galilei Crema
|
||||
|
||||
Work In Progress
|
5
SUMMARY.md
Normal file
5
SUMMARY.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Summary
|
||||
|
||||
* [Web Moderno](web_moderno.md)
|
||||
* [Tor](tor.md)
|
||||
* [Bitcoin](bitcoin.md)
|
27
appunti.md
Normal file
27
appunti.md
Normal file
@ -0,0 +1,27 @@
|
||||
Idee per la tesina (Enrico Fasoli). Il percorso che ho intenzione di seguire è "Privacy e Anonimato nella rete"
|
||||
|
||||
## Privacy e anonimato nella rete
|
||||
|
||||
- Funzionamento delle reti, di internet e dei servizi web (Sistemi + Tecnologie)
|
||||
- Tracciamento di un dispositivo sulla rete internet (Approfondimento)
|
||||
- Protezione delle informazioni su internet tramite crittografia (Sistemi + Matematica?)
|
||||
- Come ottenere l'anonimato totale (impedire tracciamento) su internet (Approfondimento)
|
||||
- Limitazioni dell'anonimato su internet (Approfondimento)
|
||||
- Servizi web nascosti (Tecnologie + Approfondimento)
|
||||
- Pagamenti anonimi e sicuri tramite Bitcoin
|
||||
- E-Mail anonime e sicure tramite BitMessage
|
||||
|
||||
## Cosa sono e come funzionano i Bitcoin
|
||||
|
||||
- Cosa sono i Bitcoin e cosa permettono di fare
|
||||
- Come funziona il protocollo bitcoin (Tecnologie + Sistemi)
|
||||
- Perchè i trasferimenti bitcoin sono anonimi
|
||||
- Perchè i Bitcoin funzionano
|
||||
- Bitcoin Mining (Sistemi + Matematica?)
|
||||
- Limitazioni del protocollo Bitcoin (Tecnologie + Sistemi)
|
||||
|
||||
## Bitmessage: il protocollo sicuro e intracciabile per le E-Mail
|
||||
|
||||
- Perchè bitmessage
|
||||
- Cosa è BitMessage e cosa permette di fare
|
||||
- Analisi del protocollo BitMessage (Sistemi + Tecnologie)
|
27
bitcoin.md
Normal file
27
bitcoin.md
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
|
||||
# Bitcoin
|
||||
|
||||
Bitcoin è una valuta digitale (la prima nella storia ad avere un qualche tipo di valore) e un protocollo per lo scambio della stessa via rete.
|
||||
|
||||
## Concetti
|
||||
|
||||
Il protocollo Bitcoin consiste in una rete decentralizzata (da ora in poi detta semplicemente __"la rete Bitcoin"__) di nodi che processano le richieste di trasferimento di denaro e da una __blockchain__ ovvero una lista di tutte le transazioni eseguite a partire dall'origine della moneta.
|
||||
|
||||
- Una __transazione__ è un trasferimento di denaro: tutte le transazioni vanno validate dalla rete e sono poi aggiunte, se valide, alla __blockchain__.
|
||||
- Un __portafoglio__ è un contenitore di denaro (__Bitcoins__) identificato dalla sua __chiave pubblica__.
|
||||
- E' possibile creare liberamente uno o più __portafogli__.
|
||||
- non è possibile generare infinite monete perchè la rete considera valida una __transazione__ solo se il __portafoglio sorgente__ possiede __sufficienti bitcoin__ per poterli trasferire al __portafoglio destinatario__.
|
||||
- dalle suddette informazioni possiamo dedurre che __la moneta non esiste come dato in se, ma esiste solo la quantità di bitcoin associati a un portafoglio__, dunque __un portafoglio vuoto è irrilevante per la rete, ma entra a far parte della blockchain se riceve dei bitcoin__.
|
||||
|
||||
### La messa in circolo tramite Bitcoin Mining
|
||||
|
||||
I bitcoin vengono messi in circolazione tramite __bitcoin mining__, che consiste nel diffondere una __"taglia"__ per la __soluzione di un complesso problema matematico__ in modo che __la rete conceda dei bitcoin come premio a chi lo risolva per primo__. Limitando il numero di problemi matematici e impostando una quantità specifica come premio, viene decisa la quantità di bitcoin totale.
|
||||
|
||||
Nel tempo, i Bitcoin hanno acquistato __un valore anche di centinaia di dollari per un singolo Bitcoin__ quindi il __bitcoin mining__ può essere un'attività estremamente __lucrativa__.
|
||||
|
||||
## Anonimato
|
||||
|
||||
Secondo le regole suddette, __tutti possono sapere quanti soldi ci sono in ogni portafoglio e l'intero elenco di tutte le transazioni della storia__, però __i portafogli sono identificabili esclusivamente tramite la loro chiave pubblica, non conservano informazioni sul proprietario__.
|
||||
|
||||
I Bitcoin sono infatti molto usati per __pagare servizi o merci illegali__, ma vengono anche accettati da alcuni legittimi negozi o come donazioni.
|
49
tor.md
Normal file
49
tor.md
Normal file
@ -0,0 +1,49 @@
|
||||
# Tor
|
||||
|
||||
Tor è un software in grado di collegare gli utenti tra di loro in una rete virtuale allo scopo di rendere anonimi gli utenti che navigano il web attraverso di esso.
|
||||
|
||||
La rete di Tor è a maglia, e ogni utente connesso consiste in un __nodo anche detto relay__. Un nodo può anche fungere da __nodo di uscita (exit node, exit relay)__, ovvero prende i pacchetti originati da altri nodi e li spedisce al reale destinatario fuori dalla rete Tor (ad esempio un sito web).
|
||||
|
||||
A partire dal momento dell'uscita di un pacchetto dalla rete Tor, esso non è più protetto dalla sicurezza della rete ma appare come originato dal __nodo di uscita__ quindi l'identità del __nodo__ mittente è sconosciuta.
|
||||
|
||||
Qualsiasi operazione di __backtracking__ ovvero di analisi del percorso del pacchetto è inutile poichè il pacchetto si trovava __incapsulato in pacchetti Tor__ e __ogni nodo conosce solo l'indirizzo IP dei nodi a cui è direttamente collegato e del nodo di uscita__.
|
||||
|
||||
## La crittografia di Tor
|
||||
|
||||
Quando un nodo decide di spedire un pacchetto fuori dalla rete, calcola la strada necessaria per raggiungere un nodo di uscita, poi prende le __chiavi pubbliche__ di tutti i nodi sulla strada in ordine e __crea un layer (strato) di crittografia per ogni nodo sulla strada verso l'uscita__, effettivamente incapsulando il pacchetto in numerosi strati. Da qui deriva il nome "Tor", che originariamente significava "The Onion Router" (l'instradatore a cipolla).
|
||||
|
||||
A ogni __hop__ nella rete, ogni nodo rimuove il proprio strato di crittografia. In questo modo si è certi che il pacchetto originale possa essere letto solo dal __nodo di uscita__ e che il percorso del pacchetto __sia per forza quello stabilito in origine dal mittente__.
|
||||
|
||||
## In pratica
|
||||
|
||||
Il software Tor presenta una interfaccia _a riga di comando (command line)_ che permette di specificare varie opzioni, anche se la maggior parte di esse vanno specificate nel file di configurazione denominato _torrc_.
|
||||
|
||||
Tor permette l'instradamento del traffico nella propria rete offrendo all'utente un __proxy SOCKS__: istruendo le applicazioni di dirigere i propri __socket__ attraverso il __proxy__, il loro traffico passerà per la rete di Tor.
|
||||
|
||||
### Vidalia
|
||||
|
||||
### Tor Browser
|
||||
|
||||
## Bloccare l'accesso a Tor
|
||||
|
||||
Un ente potrebbe voler bloccare l'accesso alla rete Tor all'interno della propria infrastruttura per ovvie ragioni di sicurezza. Il miglior metodo è bloccare completamente il traffico destinato __agli indirizzi IP che corrispondo ai nodi Tor pubblici__, bloccando effettivamente l'accesso poichè il software ha bisogno di connettersi ad almeno un nodo direttamente per avere l'accesso alla rete.
|
||||
|
||||
Un limite di questo tipo è però facilmente aggirabile tramite l'utilizzo di __bridge node (bridge relay)__, ovvero dei __nodi Tor non pubblici__. __Tor è software libero__, di conseguenza __chiunque può aprire un proprio (bridge) relay__ e __accedere alla rete da luoghi che bloccano i nodi pubblici attraverso di esso__.
|
||||
|
||||
Purtroppo __non è possibile bloccare completamente l'accesso a Tor senza applicare enormi, irrealistiche restrizioni all'accesso a internet__.
|
||||
|
||||
## Punti deboli
|
||||
|
||||
Tor presenta una serie di punti deboli che vanno considerati da ogni utilizzatore del programma:
|
||||
|
||||
- Gli __exit node__ possono leggere tutto il traffico di tutti gli utenti tor che li usano agendo effettivamente da __man in the middle__ per la natura stessa del protocollo
|
||||
- Tor viene convenzionalmente usato per mascherare l'origine del traffico HTTP, però un utente inesperto potrebbe __abilitare vari plugin del browser__ che sono in grado di __comunicare in rete liberamente__ (ad esempio __Adobe Flash__) e dunque finirebbero per __contattare direttamente il destinatario senza passare per Tor__ rendendo potenzialmente vani i tentativi di preservare l'anonimato
|
||||
- Un sito web potrebbe includere tra i propri script delle subroutine in grado di __ottenere informazioni sul sistema client__ compromettendo l'anonimato
|
||||
- Un utente potrebbe __lasciare indizi sulla propria identità__ durante la normale navigazione sul web tramite Tor
|
||||
|
||||
Queste considerazione non comprendono la possibilità di attacchi mirati al controllo della rete Tor che rischierebbero di compromettere l'anonimato e la privacy di tutti gli utenti.
|
||||
|
||||
Inoltre, l'enorme quantità di operazione crittografiche necessarie e di overhead per l'invio dei layer crittografici e dei numerosi hop rende Tor una rete __estremamente lenta__ e __impossibile da controllare__ creando la possibilità di __saturare la rete con dati inutili allo scopo di deterrente per gli utenti di Tor__.
|
||||
|
||||
## Servizi Nascosti
|
||||
|
16
web_moderno.md
Normal file
16
web_moderno.md
Normal file
@ -0,0 +1,16 @@
|
||||
# La raccolta dati del Web 2.0
|
||||
|
||||
Quando __Internet__ è stato creato, il protocollo __HTTP__ (utilizzato per visitare le pagine web) è stato pensato per trasferire dei semplici __ipertesti__ (da qui il nome _Hyper Text Transfer Protocol_) ma con l'enorme, rapida evoluzione del web il protocollo si è evoluto per supportare l'invio di qualsiasi tipo di file.
|
||||
Contemporaneamente, i browser si solo evoluti per supportare l'esecuzione di __script__ inviati insieme agli ipertesti, __rendendo possibile trasformare una pagina web da un semplice ipertesto a un vero e proprio programma.__
|
||||
Anche se l'__accesso ai dati del dispositivo da parte degli script è molto limitato__, un sito web è in grado di __allegare uno o più script insieme all'ipertesto che causano l'invio di numerosi dati riguardo la visita al sito dal visitatore al server__.
|
||||
Inoltre __gli script possono istruire i browser web a salvare delle informazioni o richiederle (cookie)__, __riconoscendo l'utente anche se si collega da una rete diversa__.
|
||||
La collaborazione tra i diversi colossi del web tra cui __Facebook, Google, Microsoft eccetera__ e la loro __integrazione con la maggior parte dei siti web__ consente a loro di __tracciare ogni attività online di ogni utente che utilizza questi servizi__.
|
||||
|
||||
## Perchè?
|
||||
|
||||
Ci sono numerosi motivi per questa raccolta dati:
|
||||
|
||||
- __Pubblicità mirate:__ google piazza le pubblicità in base agli interessi dell'utente in modo da vendere di più
|
||||
- __Vendita dei dati:__ i colossi possono vendere dati riguardo, ad esempio, l'interesse degli utenti verso un prodotto
|
||||
- __Studio del mercato:__ analizzare i dati per comprendere l'andamento del mercato
|
||||
- __Correlazioni tra soggetti apparentemente indipendenti__, ad esempio tramite questi dati si può scoprire che un utente di Facebook è interessato a prodotti Apple, piazzando ulteriori pubblicità mirate
|
Loading…
Reference in New Issue
Block a user