L'anonymat sur Internet
Réseaux anonymes
Garantissent l'anonymat des clients
2 types:
Low-latency
High-latency
Publié en 2002
Utilise Internet (TCP)
Tor: The Second-Generation Onion Router (2004)
Roger Dingledine, Nick Mathewson, Paul Sylverson
Low-Resource Routing Attacks Against Tor (2007)
Kévin Bauer, Damon McCoy, Dirk Grunwald et Douglas Sicker, Tadayoshi Kohno
Basé sur l'Onion Routing
Sécuriser et anonymiser des communications
Principe de l'Onion Routing:
utilise plusieurs couches de chiffrement
au sein d'un circuit constitué d'Onion Routers (OR)
Via l'Onion Proxy le client va:
Création des clés de chiffrement symétrique:
Chiffrement du paquet:
Transmission du paquet:
Commandes :
- Create/Created
- Destroy
- Padding
Commandes :
- Data
- Begin / Connected
- Extend / Extended
- End
P1 - Alice et OR1
P2 - Alice, OR1 et OR2
Alice, OR1 et OR2
Protéger les adresses IP des services
Éviter des attaques DoS
Adresses en .onion
Accessibles via Tor Browser
Génération d'une clé publique d'identification
Sélection aléatoire d'OR: les Introduction Points (IP)
Création des circuits
Création d'un Hidden Service Descriptor (HSD)
HSD = clé publique + adresses des IP
Signature et publication de l'HSD
Recherche du HSD dans le répertoire
Obtention des adresses des IP
Sélection d'un OR: le Rendezvous Point (RP)
Création du circuit avec le RP
Transmission d'un Rendezvous Cookie au RP
Sélection d'un des IP du serveur
Création du circuit avec l'IP
Transmission d'un message chiffré
message = informations sur le RP + Rendezvous Cookie + début du handshake Diffie-Hellman
Création du circuit avec le RP
Transmission d'un message
message = Rendezvous Cookie + suite du handshake Diffie-Helleman + hash de la clé partagée
Vérification du Rendezvous Cookie
Mise en place de la connexion entre le client et le serveur
Liaison constituée de 6 OR
But: espionner les communications pour trouver des informations sur les utilisateurs
Exemple: observation du trafic, exit node eavesdropping
But: modifier le contenu des paquets ou modifier le réseau
Exemple: tagging attack, attaque sur les Exit Nodes
But: compromettre les Hidden Services
Exemple: compromettre un Introduction Point
But: compromettre la liste des Onion Routers utilisés pour créer les circuits
Exemple: contrôler un ou plusieurs Directory Servers, attaque Low-Resources
2007
Faiblesse sur le choix des noeuds d'un circuit
N'est plus exploitable
Informations
Guard Node: apprendre @IP des clients
Exit Node: connaitre les serveurs
Peut-on avoir le contrôle de ces noeuds ?
Étapes
Contacter un des Directory Servers
Réception de la liste de tous les noeuds
Éxecution d'un algorithme sur cette liste
Liste contient : IP | debit | uptime
Rejoindre le réseau Tor
contacter un des Directory Servers
lui fournir notre débit et notre uptime courant
nous sommes noeud du réseau
Vulnérabilité:
Les Directory Servers n'ont aucun moyen de vérifier la validité des informations fournies par les noeuds
Rappel de la règle
Plus un noeud a un débit et uptime élevés, plus il a de chances d'être selctionné par l'algorithme
Si seulement un de nos noeuds est dans le circuit, on peut fermer ce dernier afin d'avoir une nouvelle chance.
Fonctionne aussi si on possède des débits élevés (mais plus couteux)
Si circuit est performant:
Sinon:
L'anonymat de chacun, contribue à l'anonymat de tous.