From 222444aa262003dd12e3bb1abf48b228e10a98c1 Mon Sep 17 00:00:00 2001
From: mazenovi <vmazenod@gmail.com>
Date: Thu, 25 Jan 2018 23:21:39 +0100
Subject: [PATCH] finish tor

---
 content/slides/privacy/md/jnarac/books.md |   1 +
 content/slides/privacy/md/tails.md        |   3 +
 content/slides/privacy/md/tor.md          | 482 ++++++++++++----------
 content/slides/privacy/tor.html           |   1 +
 4 files changed, 279 insertions(+), 208 deletions(-)

diff --git a/content/slides/privacy/md/jnarac/books.md b/content/slides/privacy/md/jnarac/books.md
index f8b238b..675a4ce 100644
--- a/content/slides/privacy/md/jnarac/books.md
+++ b/content/slides/privacy/md/jnarac/books.md
@@ -80,3 +80,4 @@ Note:
 ## Liens utiles
 
 * ["Pourquoi le respect de la vie privée est important." par _Alessandro Acquisti_](http://www.ted.com/talks/alessandro_acquisti_why_privacy_matters?language=fr)
+* [Liste de publications scientifiques sur l'anonymat en ligne depuis 1977](https://www.freehaven.net/anonbib)
diff --git a/content/slides/privacy/md/tails.md b/content/slides/privacy/md/tails.md
index e66e3a7..5488021 100644
--- a/content/slides/privacy/md/tails.md
+++ b/content/slides/privacy/md/tails.md
@@ -86,3 +86,6 @@ Note:
 ## Persistence des applications
 
 ## Utilisation dans une machine virtuelle
+
+* version Tails ISO vm
+* version Tails de la clé synchrones
diff --git a/content/slides/privacy/md/tor.md b/content/slides/privacy/md/tor.md
index 7ddf67f..c38cbd3 100644
--- a/content/slides/privacy/md/tor.md
+++ b/content/slides/privacy/md/tor.md
@@ -3,373 +3,439 @@
 # <i class="fa fa-user-secret" aria-hidden="true"></i>
 
 
-## Tor
-
-* **T**he **O**nion **R**outer** **
-
-
 ## Tor (The Onion Router)
-* mis au point par l'armée américaine au milieu des années 90
-  * le code est ouvert en 2004
-  * sponsorisé par l'[EFF](https://www.eff.org/fr)
-  * N'anonymise pas complètement mais réduit fortement la probabilité d'identifier un utilisateur
-    * évite notamment le tracking
-
 
-Tor does not prevent an online service from determining when it is being accessed through Tor.
-Tor protects a user's privacy, but does not hide the fact someone uses Tor.
+* mis au point par l'armée américaine milieu des 90's
+* le code est ouvert en 2004
+* sponsorisé par l'[EFF](https://www.eff.org/fr)
 
 
 ## Darknet
 
-* chiffrement & anonymisation
-  * network overlay & mix network
-
 * Tor est "un" [darknet](https://fr.wikipedia.org/wiki/Darknet) parmi d'autres
   * [Freenet](https://fr.wikipedia.org/wiki/Freenet), [I2P](https://fr.wikipedia.org/wiki/I2P), [GNUnet](https://fr.wikipedia.org/wiki/GNUnet), [RetroShare](https://fr.wikipedia.org/wiki/RetroShare), [ZeroNet](https://fr.wikipedia.org/wiki/ZeroNet)
 
+* Chiffrement & Anonymisation
+  * network overlay & mix network
+
+* "Le" [darkweb](https://fr.wikipedia.org/wiki/Dark_web) est un des services du darknet Tor
 
-## Darkweb
 
-* "Le" [darkweb](https://fr.wikipedia.org/wiki/Dark_web) est un des services du darknet [Tor](https://fr.wikipedia.org/wiki/Tor_(r%C3%A9seau))
-   * permet d'**anonymiser le traffic sur le web de surface**
-   * permet d'**accéder aux services Tor (.onion)**
+## Anonymat
 
+* N'anonymise pas complètement
+  * réduit fortement la probabilité d'identification
 
-Some websites restrict allowances through Tor.
-* [l'extension TorBlock de MediaWiki](https://www.mediawiki.org/wiki/Extension:TorBlock)
-* [Google]
+* Utilisation
+  * détectable par les sites /service consultés
+    * [extension TorBlock de MediaWiki](https://www.mediawiki.org/wiki/Extension:TorBlock)
+  * détectable par le FAI
 
 
-## ++
+#### ++
 
-* internaute en quête d'anonymat (regis pub / état)
-* media The Guardian, The New Yorker, ProPublica
-* dissidence politique
+* Réduit le tracking
+* Dissidence politique
   * [Great Firewall of China](https://en.wikipedia.org/wiki/Great_Firewall)
-* whistle blower wikileaks
-* activisme
-* informations / livres censurés
+* The Guardian, The New Yorker, ProPublica (hidden services & relais)
+* Whistle blower (wikileaks)
+* Activisme
+* Informations / blogs / livres censurés
 * Mail
-* forum
-* chat
+* Forum
+* Chat
 
 
-## --
+#### --
 
-* extrémisme
-* (pédo) pornographie
-* market
+* Extrémisme
+* (Pédo) pornographie
+* Market
   * armes
   * drugs
   * virus
   * leak
   * carte de crédit
   * identité
-* crime organisé
+* Crime organisé
 
 
 ## Tor en stats
 
-https://metrics.torproject.org/
-https://torflow.uncharted.software/#?ML=34.98046875,31.12819929911196,3&C=ru,RUS
-[Tor relays map](https://torflow.uncharted.software)
-[Tor est lent](https://svn.torproject.org/svn/projects/roadmaps/2009-03-11-performance.pdf)
+* [Tor metrics](https://metrics.torproject.org/)
+* [Tor relays map](https://torflow.uncharted.software)
+* [Tor est lent](https://svn.torproject.org/svn/projects/roadmaps/2009-03-11-performance.pdf)
+  * [Mais ce peut être amélioré](https://www.torproject.org/docs/faq.html.en#WhySlow)
+* [Tor utilise RSA 1024 etdevrait passer à Curve25519 group / Ed25519](https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt)
 
 
 ## Tor Browser
 
 * [Firefox ESR(Extended Support Release)](https://www.mozilla.org/en-US/firefox/organizations/)
-  * Firefox extensions
+  * 4 extensions
     * TorButton
     * TorLauncher
     * NoScript
     * HTTPS Everywhere
   * Tor proxy
-* version portable
 
-* [cross platform](https://www.torproject.org/projects/torbrowser.html.en) :fa-linux: :fa-windows: :fa-apple:
-* mobile [:fa-android:](https://play.google.com/store/apps/details?id=org.torproject.android&hl=fr) [:fa-apple:](https://itunes.apple.com/fr/app/onion-browser-secure-anonymous/id519296448?mt=8&ign-mpt=uo%3D4) [Sailfish OS](https://openrepos.net/content/nieldk/tor)
 
-* [Outbound Ports](https://www.torproject.org/docs/faq.html.en#OutboundPorts) 80, 443, 9001, 9030,
-  * [option "FascistFirewall 1"](https://www.torproject.org/docs/faq.html.en#FirewallPorts) dans le dichier de configuration [torrc](https://www.torproject.org/docs/faq.html.en#torrc)
+## Tor Browser
 
+* [cross platform](https://www.torproject.org/projects/torbrowser.html.en) <i class="fa fa-linux" aria-hidden="true"></i> <i class="fa fa-windows" aria-hidden="true"></i> <i class="fa fa-apple" aria-hidden="true"></i>
+  * version portable <i class="fa fa-windows" aria-hidden="true"></i>
+* mobile [<i class="fa fa-android" aria-hidden="true"></i>](https://play.google.com/store/apps/details?id=org.torproject.android&hl=fr) [<i class="fa fa-apple" aria-hidden="true"></i>](https://itunes.apple.com/fr/app/onion-browser-secure-anonymous/id519296448?mt=8&ign-mpt=uo%3D4) [Sailfish OS](https://openrepos.net/content/nieldk/tor)
 
-### :fa-exclamation-circle: quelle confiance avez vous en votre OS?
+* [Outbound Ports](https://www.torproject.org/docs/faq.html.en#OutboundPorts) 80, 443, 9001, 9030
+  * fichier de configuration [torrc](https://www.torproject.org/docs/faq.html.en#torrc)
+    * [option "FascistFirewall 1"](https://www.torproject.org/docs/faq.html.en#FirewallPorts)
 
+### <i class="fa fa-exclamation-circle" aria-hidden="true"></i> quelle confiance avez vous en votre OS?
 
-## How Tor works
 
-protège toujours le client
+## Tor
 
-* ne protège pas le serveur sur le web de surface  
-  * correspondance DNS / IP
-* les hidden services ou "services cachés" sont stockés "dans" Tor
-  * sont donc protégés
+* Protège toujours le ***client***
+* Ne protège pas les serveurs sur le web de surface
+  * trahi par la correspondance DNS / IP
+* Les **hidden services** ou **services cachés** (***SC***)
+  * sont stockés "dans" Tor de manière anonyme
   * mais ne sortent pas de Tor
+    * extension spécifique **.onion**
+      * consultable via Tor Browser
 
 
-## How Tor works
-
-![How tor works](https://i.stack.imgur.com/XhXQa.png)
-
-* seul le noeud d'entrée connait alice
-  * il ne connait pas bob
-* seul le noeud de sortie connait bob
-  * il ne connait pas alice
-  	* il voit le contenu de la requête
-
+## Routage
 
-## Tor 3 types de relais
+* Tor fonctionne avec 3 types de relais
+  * **relais d’entrée** (*RE*)
+    * **relais Gardien** (*RG*)
+    * **bridge** (*RB*)
+  * **relais intermédiaire** (*RI*)
+  * **relais de sortie** (*RS*)
+    * **relais Hidden Service Directory** (*HSDir*)
+      * annuaire de (***SC***)
 
-* noeud d’entrée (NE)
-   * noeud Gardien (NG)
-   * bridge (NB)
-* noeud intermédiaire (NI)
-* Le noeud de sortie (NS)
+* [Les relais Tor par type (*Flag*)](https://metrics.torproject.org/relayflags.html?start=2017-10-25&end=2018-01-23&flag=Running&flag=Exit&flag=Fast&flag=Guard&flag=Stable&flag=HSDir)
 
-* https://metrics.torproject.org/relayflags.html?start=2017-10-25&end=2018-01-23&flag=Running&flag=Exit&flag=Fast&flag=Guard&flag=Stable&flag=HSDir
+* [Héberger des relais Tor](https://www.torproject.org/docs/tor-doc-relay.html.en)
 
 
 ## Circuit Tor
 
-entrée / intermédiaire / sortie
+```
+***client*** > RE > RI > RS > serveur
+```
 
-* contrôler le noeud d'entré et le noeud de sortie d'un circuit
+* contrôler le *RE* et le *RS* d'un circuit
   * permet de désanonymiser ce circuit
 
 * les circuits sont renouvelés toutes les 10 minutes
-  * le noeud d'entrée lui ne change que tous les 2 à 3 mois
+  * le *RE* lui ne change que tous les 2 à 3 mois
     * [Minimise la probabilité d'utiliser de manière cumulative des circuits compromis](https://www.freehaven.net/anonbib/cache/wpes12-cogs.pdf)
 
 
-## Noeuds d'entrée
+## Circuit Tor
+
+![How tor works](https://i.stack.imgur.com/XhXQa.png)
+
+
+## Circuit Tor
+
+* seul le *RE* connaît Alice
+  * le *RE* ne connait pas Bob
+* seul le *RS* connaît Bob
+  * le *RS* ne connaît pas Alice
+  	* le *RS* voit le contenu de la requête d'Alice
+
 
-* noeuds Gardien
+## Relais d'entrée (*RE*)
+
+* relais Gardien (*RG*)
   * liste d'IPs publiques
-    * connus des FAI
+    * connues des FAI
       * bloquables
 
-* noeuds bridges
-  * liste secrète
+* relais bridges (*RB*)
+  * liste d'IPs secrètes
     * [distribuer au compte gouttes](https://bridges.torproject.org/bridges)
 
-* [servers by flags](https://metrics.torproject.org/relayflags.html)
 
-* [héberger des noeuds Tor](https://www.torproject.org/docs/tor-doc-relay.html.en) peut être [une bonne idée](http://www.zdnet.fr/blogs/50-nuances-d-internet/le-darkweb-est-il-en-voie-de-disparition-39859066.htm)!
+#### Relais gardien (*RG*)
 
+* [Relay Search flag:Guard](https://atlas.torproject.org/#search/flag:Guard)
+* [Tor Node List](https://www.dan.me.uk/tornodes)
+* [Tor Network Status](https://torstatus.blutmagie.de/)
 
+* Cruciale
+  * pour le bon fonctionnement
+  * pour la sécurité des utilisateurs
 
-## Noeuds gardien
+### Qui décide de cette liste?
 
-https://www.dan.me.uk/tornodes ou https://atlas.torproject.org/#search/flag:Guard ou https://torstatus.blutmagie.de/
 
-```
-grep -B2 "^s.*Guard" /var/lib/tor/cached-microdesc-consensus | grep "^r" | awk '{print $6 ":" $7}'
-```
+## Autorités d’annuaire (*AA*)
 
-```
-4484.0298.4949.1082|ServerName|443|80|GFHRSDV|259492|Tor 0.2.9.10|
-```
+> *"maintained by super trusted we-know-you-and-have-had-many-beers-with-you Tor volunteers"*
 
+* [Relay Search flag:Authority](https://atlas.torproject.org/#search/flag:authority)
+  * IP codées en dures dans les ***clients*** Tor
+    * votent toutes les heures pour trouver un consensus sur la liste des relais à diffuser
 
-## Politique de gestion des cirtcuits
 
+## Consensus
 
+* les *relais* envoient leurs infos aux *AA*
+* les *AA* compilent indépendamment ces informations et évaluent chaque *relais*
+  * passage au **flag Guardian**, **flag BadExit** ...
+    * critères
+      * bande passante, uptime, sécurité ...
+* les *AA* votent pour obtenir un consensus
+  * une liste commune
+* les *AA* publient le consensus
 
-## autorités d’annuaire
 
-* https://atlas.torproject.org/#search/flag:authority
-  * "maintained by super trusted we-know-you-and-have-had-many-beers-with-you Tor volunteers"
-* IP codées en dures dans les clients Tor
-  * votes toutes les heures pour trouver un consensus sur la liste des relais à diffuser
+## Rappel sur le web de surface
 
+* HTTP tout passe en claire
+* HTTPS, les données et l'url de la requête sont chiffrées
+  * l'IP du site consulté est traçable
+  * la requête DNS du ***client*** trahit le nom de domaine
 
-## consensus
 
-* les relais envoie leurs infos au autorités d'annuaire
-* les autorités compilent indépendament ces informations et évaluent chaque relais
-  * passer Guardian ou BadExit par exemple
-* vote pour obtenir un consensus (une liste commun
-* publier le consensus
+## Tor sur le web de surface
 
+* Téléchargement du consensus
+  * liste des IPs des *RE*
+* Sélection d'un circuit Tor aléatoire
+* Récupération des clés publiques de chaque relais du circuit
+  * à partir d'un serveur de clé
 
-## Sur le web de surface
 
-* HTTP tout passe en claire
-* HTTPS, les données et l'url de la requête sont chiffrées
-  * l'IP du site consultée est traçable
-  * la requête DNS du client trahie le nom de domaine
+#### Handshake avec le ***RE***
+<small>
+1. Le ***client*** envoie une demande de connexion au ***RE***
+2. Le ***RE*** signe le handshake avec sa clé privée
+3. Le ***client*** vérifie la signature du ***RE***
+  * avec la clé publique de ***RE***
+    * récupérée sur le serveur de clé
+4. Négociation d'une clé de session *KE*
+  * via Diffie Hellman
+5. Etablissement d'un canal chiffré symétriquement avec le **RE**
 
+</small>
 
-## Avec Tor sur le web de surface
 
-* télécharger le consensus
-* sélectionner un circuit Tor aléatoirement
-* récupérer les clés publiques de chaque noeuds du circuit sur un serveur de clé
+#### Handshake avec le ***RI***
+<small>
+Toutes les communications entre le ***client*** et le ***RE*** sont chiffrées avec *KE*
 
-## Avec Tor sur le web de surface
+1. Le ***client*** envoie une demande de connexion au ***RE*** à transmettre au ***RI***
+2. Le ***RE*** déchiffre la demande de connexion et transmet au ***RI***
+3. Le ***RI*** signe le handshake avec sa clé privée et transmet au ***RE***
+4. Le ***RE*** transmet au ***client***
+5. Le ***client*** déchiffre le message reçu avec *KE* et vérifie la signature du ***RI***
+  * avec la clé publique du ***RI***
+    * récupérée sur le serveur de clé
+6. Négociation d'une clé de session *KI* avec le ***RI***
+  * via Diffie Hellman en passant par le ***RE***
+7. Etablissement d'un canal chiffré symétriquement avec le ***RI***
+  * le ***RI*** ne connait pas l'IP du ***client***
 
-* Handshake avec le **NE**
-  * le **NE** signe le handshake avec sa clé privée (RSA 1024 à date)
-  * le client vérifie la signature du **NE** avec la clé publique récupérée
-  * négociation d'une clé de session **KE** (pour le chiffrement symétrique) via Diffie Hellman
+</small>
 
 
-* Handshake avec le **NI** au travers du canal chiffré établi avec le **NE**
-  * le client envoie une demande de connexion au **NE** à transmettre au **NI* (chiffré avec **KE**)
-  * le **NE** déchiffre la demande de connexion et la transmet au **NI**
-  * le **NI** signe le handshake avec sa clé privée (RSA 1024 à date) et l'envoie au **NE**
-  * le **NE** transmet au client (chiffré avec la **KE**)
-  * le client déchiffre le message du **NE** avec **KE** et vérifie la signature du **NI** avec la clé publique récupérée
-  * négociation d'une clé de session **KI** (pour le chiffrement symétrique) via Diffie Hellman avec le **NI** en passant par le canal chiffré établi avec le **NE** chiffré avec **KE**
+## Handshake avec le ***RS***
+<small>
+Toutes les communications entre le ***client*** et le ***RE*** sont chiffrées avec *KE*<br>
+Toutes les communications entre le ***client*** et le ***RI*** sont chiffrées avec *KI* et transitent par le ***RE***
 
-Le client a établi un canal chiffré avec le **NI** sans que le **NI** connaisse son ip
+1. Le ***client*** envoie une demande de connexion chiffrée 2 fois: avec *KE*, puis avec *KI* et l’envoie au ***RE***
+2. Le ***RE*** déchiffre la première couche avec *KE* et transmet au ***RI***
+3. Le ***RI*** déchiffre avec *KI* et transmet au ***RS***
+4. Le ***RS*** le handshake avec sa clé privée et renvoie au ***RI***
+5. Le ***RI*** transmet au ***RE***
+6. Le ***RE*** transmet au ***client***
+7. Le ***client*** déchiffre le message reçu avec *KE* puis *KI* et vérifie la signature du ***RS***
+  * avec la clé publique du ***RS***
+    * récupérée sur le serveur de clé
+8. Négociation d'une clé de session *KS* avec le *RS**
+  * via Diffie Hellman en passant par le ***RE***, puis par le ***RI***
+9. Etablissement d'un canal chiffré symétriquement avec le ***RS***
+  * le ***RS*** ne connait ni l'IP du ***client***, ni l'IP du ***NE***
 
-* Handshake avec le **NS** au travers du canal chiffré établi avec le **NE**, puis celui établi avec le **NI**
-  * le client envoie une demande de connexion chiffrée 2 fois avec **KE** et **KI** et l’envoie au **NE**
-  * le **NE** déchiffre la première couche avec **KE** et envoie le résultat (chiffré avec **KI** au **NI**)
-  * le **NI** déchiffre avec **KI** et transmet au **NS**
-  * le **NS** signe et renvoie au **NI**
-  * le **NI** chiffre avec **KI** et envoie au **NE**
-  * le **NE** chiffre avec **KE** et renvoie au client
-  * le client déchiffre avec **KE** puis **KI** et vérifie la signature  du **NS** avec la clé publique récupérée
-  * négociation d'une clé de session **KS** (pour le chiffrement symétrique) via Diffie Hellman avec le **NS** en passant par le canal chiffré établi avec le **NI** chiffré avec **KI**, puis par le canal chiffré établi avec le **NE** chiffré avec **KE**
+</small>
 
-Le client a établi un canal chiffré avec le **NS** sans que ni le **NI** ni le **NS** ne connaissent son ip
 
-Il peut envoyer une requête http dans ce canal en onion
+#### Echange de données
+<small>
+* Le ***client*** peut envoyer une requête http en utilisant de circuit
+* Ce n'est plus le ***client*** qui émet la requête DNS mais le ***RS***
+* le ***RS*** transmet la requête au serveur
+* le ***RS*** transmet ensuite la réponse au ***RI*** en chiffrant avec *KS*
+* le ***RI*** transmet ensuite la réponse au ***RE*** en chiffrant avec *KI*
+* le ***RE*** transmet ensuite la réponse au ***client*** en chiffrant avec *KE*
+* le ***client*** déchiffre alors successivement avec *KE*, *KI* et *KS*
 
-Ce n'est plus le client qui émet la requête DNS mais le **NS**
+</small>
 
-le **NS** transmet la requête au serveur et
 
-renvoie ensuite la réponse chiffrée successivement avec **KS**, **KI**, **KE**, au **NI**
+## Echange de données
 
 [![Tor circuit](images/tor/tor-circuit.png)](https://tor.stackexchange.com/questions/1932/does-exit-node-encrypt-three-times-for-the-return-path-to-local-machine)
 
 
-## Tor / HTTPS
+#### Echange de données via HTTPS
 
 ![Tor avec HTTPS](https://cloud.m4z3.me/index.php/s/rywwyShzrwgLbrA/download)
 
 
-## hidden service
+## Service Caché (SC)
 
 * .onion
-  * via client Tor
+  * uniquement via un ***client*** Tor
 
-* [Tor côté serveur](https://benjamin.sonntag.fr/Tor-les-onion-le-darknet-a-votre-portee)
+* [Hébergé un Hidden Service sur Tor](https://benjamin.sonntag.fr/Tor-les-onion-le-darknet-a-votre-portee)
 
-* système d'adressage basé sur des clés de chiffrement RSA
+* Système d'adressage basé sur des clés de chiffrement
 	* protège l'IP du serveur
-    * c'est une protection contre le DDoS
-    	* [quoique](https://donncha.is/2013/05/trawling-tor-hidden-services/)
+  * protège le serveur du DDoS
 
-* éablissement de quelques cricuits Tor
-  * les noeuds de sortie de ces circuits sont sollicités pour jouer le rôle de points d'introductions (PI) pour le HS
+[Trawling Tor Hidden Service – Mapping the DHT](https://donncha.is/2013/05/trawling-tor-hidden-services/)
 
-HS > NE > NI > NS (PI)
 
-* le HS publie un descripteur contenant sur un HSDir
-  * Les IP des points d'introduction[8]
-  * La clé publique du service caché[8]
-  * La signature des deux éléments précédents, faite avec la clé privée correspondante
+## Déclaration d'un ***SC***
 
-HS > NE > NI > NS (HSdir)
+* Etablissement de quelques circuits Tor
+  * les ***RS*** de ces circuits sont sollicités pour jouer le rôle de points d'introductions ***PI*** pour le ***SC***
 
-  * les HSDir sont des noeuds spéciaux
-    * partage une DHT de descripteur de HS
+***SC*** > ***RE*** > ***RI*** > ***RS*** (***PI***)
 
-* le client télécharge le consensus
-  * réupcère des IP de HSDir
-    * les interroge via des circuits Tor
-      * récupère le descriptetur et vérifie la signature
 
-client > NE > NI > NS (HSdir)
+## Déclaration d'un ***SC***
 
-* le client peut alors contacter les points d'introduction
+[![HS Step1](images/tor/HS-Step1.png)](images/tor/HS-Step1.png)
 
-* le client crée un circuit Tor
-    * le noeud de sorti sera le point de rendez vous
-      * auquel le client communique un secret
-        * pour authentifier le HS
 
-client > NE > NI > NS (RdV)
+## Déclaration d'un ***SC***
 
-* le client crée un circuit Tor vers un des points d'introduction envoie
-  * l'IP du rendez vous (descripteur en provenance du HSDir)
-  * la première partie d'un échang de clé Diffie Hellmann
-  * le secret communiqué au point de rendez vous
+* le ***SC*** publie sur un ***HSDir*** un descripteur contenant
+  * Les IP des ***PI*** sollicitées
+  * La clé publique du ***SC***
+  * La signature de ces deux informations
+    * faite avec la clé privée du ***SC***
 
+***SC*** > ***RE*** > ***RI*** > ***RS*** (***HSDir***)
 
-Le tout chiffré avec la clé publique du HS (descripteur en provenance du HSDir)
+  * les ***HSDir*** partagent une [table de hachage distribuée (DHT)](https://fr.wikipedia.org/wiki/Table_de_hachage_distribu%C3%A9e) de descripteurs de ***SC***
 
-relayé par le cricuit Tor entre PI et HS
 
-client > NE1 > NI1 > NS1 > PI > NI2 > NS2 > HS
+## Déclaration d'un ***SC***
 
-* les HS contact le point de RendezVous
-  * envoie le secret qu'il a reçu du client
-    * authentification du HS
-      * il est bein le possesseur de la clé publique du descripteur puisqu'il a déchiffré le secret
+[![HS Step2](images/tor/HS-Step2.png)](images/tor/HS-Step2.png)
 
-* fin de l'échange DH entre client et HS
-  * un secret de communication est établi
 
+## Connexion à un ***SC***
 
-client > NE1 > NI1 > NS1(Rdv) > NE2 > NI2 > NS2 > HS
+* le ***client*** télécharge le consensus
+* récupère des IPs de ***HSDir***
+* les ***client*** interroge les ***HSDir*** via des circuits Tor
+  * ***client*** > ***RE*** > ***RI*** > ***RS*** (***HSDir***)
+* récupère le descripteur du ***SC*** et vérifie la signature
+* le ***client*** peut alors contacter les ***PI***
 
 
-https://svn.torproject.org/svn/projects/design-paper/tor-design.html#sec:rendezvous
-https://www.torproject.org/docs/onion-services
+## Connexion à un ***SC***
 
+[![HS Step3](images/tor/HS-Step3.png)](images/tor/HS-Step3.png)
 
-* [installer un service en .onion](https://benjamin.sonntag.fr/Tor-les-onion-le-darknet-a-votre-portee)
 
+## Connexion à un ***SC***
 
-## hidden Service
+* le ***client*** crée un circuit Tor
+  * le relais de sorti sera le point de rendez vous (***RdV***)
+  * ***client*** > ***RE*** > ***RI*** > ***RS*** (***RdV***)
+* le ***client*** communique un ***secret*** au ***RdV***
+  * le ***secret*** permettra d'authentifier le ***SC***
 
-* demande https://github.com/radii/tor/blob/master/doc/spec/rend-spec.txt#L247
 
+## Connexion à un ***SC***
 
-* HSDIR
+[![HS Step4](images/tor/HS-Step4.png)](images/tor/HS-Step4.png)
 
 
+## Connexion à un ***SC***
 
-## Trouver des .onion
+* le ***client*** créée un circuit Tor vers un des ***PI***
+  * ***client*** > ***RE*** > ***RI*** > ***RS*** (***PI***)
+* le ***client*** transmet au ***SC*** via le ***PI***
+  * l'IP du ***RdV***
+  * la première partie d'un échange Diffie Hellmann
+  * le ***secret*** communiqué précédemment au ***RdV***
+  * le tout chiffré est avec la clé publique du ***SC***
+  * ***client*** > ***RE<inf>c</inf>*** > ***RI<inf>c</inf>*** > ***RS<inf>c</inf>*** > ***PI<inf>sc</inf>*** > ***RI<inf>sc</inf>*** > ***RE<inf>sc</inf>*** > ***SC***
 
-* pas de "Google"
-* [TheHiddenWiki](https://thehiddenwiki.org/)s
-* [reddit](https://www.reddit.com/r/TOR/)
-* [wikileaks](http://wikilw7ayqhjl6zr.onion/)
-* [facebook](facebookcorewwwi.onion)
-* [new york time](https://open.nytimes.com/https-open-nytimes-com-the-new-york-times-as-a-tor-onion-service-e0d0b67b7482)
-* [USFakeIDs](http://en35tuzqmn4lofbk.onion/)
-* [Deep Web Radio](http://76qugh5bey5gum7l.onion/)
 
+## Connexion à un ***SC***
 
-https://haveibeenpwned.com/
+[![HS Step5](images/tor/HS-Step5.png)](images/tor/HS-Step5.png)
 
-#### toujours consolider les hash onions
-  :fa-exclamation-circle: surtout pour les darkmarkets
 
-## Tails en VM
+## Connexion à un ***SC***
 
-vm et version de la clé synchrones
+* les ***SC*** contact le ***RdV***
+  * transmet le ***secret*** qu'il a reçu du ***client***
+    * authentification du ***SC***: il possède la clé publique du descripteur
+      * puisqu'il a déchiffré le ***secret***
 
-## Tor monter son relais
 
-* https://github.com/katmagic/arm
+## Connexion à un ***SC***
 
-* https://tox.chat/
+[![HS Step6](images/tor/HS-Step6.png)](images/tor/HS-Step6.png)
+
+
+## Connexion à un ***SC***
+
+* Finalisation de l'échange Diffie Helmann entre ***client*** et ***SC***
+  * un secret de communication est établi
+
+***client*** > ***RE<inf>c</inf>*** > ***RI<inf>c</inf>*** > ***RS<inf>c</inf>*** (***RdV***) > ***RS<inf>sc</inf>*** > ***RI<inf>sc</inf>*** > ***RE<inf>sc</inf>*** > ***SC***
+
+
+## Connexion à un ***SC***
+
+[![HS Step7](images/tor/HS-Step7.png)](images/tor/HS-Step7.png)
 
-## Tor over VPN
 
-## docs
+## Circuit Tor d'échange avec un ***SC***
 
-https://github.com/radii/tor/blob/master/doc/spec/rend-spec.txt à lire
+[![HS Step8](images/tor/HS-Step8.png)](images/tor/HS-Step8.png)
+
+
+#### Trouver des .onion
+
+* pas de "Google"
+* sur le web de surface
+  * [TheHiddenWiki](https://thehiddenwiki.org/)s
+  * [reddit](https://www.reddit.com/r/TOR/)
+  * [Deep To Web](https://www.deepdotweb.com/)
+* sur des ***SC***
+
+
+#### Quelques .onion
+
+* [wikileaks](http://wikilw7ayqhjl6zr.onion/)
+* [facebook](facebookcorewwwi.onion)
+* [new york time](https://open.nytimes.com/https-open-nytimes-com-the-new-york-times-as-a-tor-onion-service-e0d0b67b7482)
+* [USFakeIDs](http://en35tuzqmn4lofbk.onion/)
+* [Deep Web Radio](http://76qugh5bey5gum7l.onion/)
+* [Have I Been Powned](https://haveibeenpwned.com/)
+
+##### toujours consolider les hash onions
+<i class="fa fa-exclamation-circle" aria-hidden="true"></i> surtout pour les darkmarkets
+
+
+## Tor over VPN
 
-https://www.torproject.org/docs/faq.html.en#WhySlow
-https://en.wikipedia.org/wiki/Tor_(anonymity_network)#cite_note-42
-https://www.freehaven.net/anonbib
+* VPN over Tor?
+* [Auto VPN](https://github.com/adtac/autovpn)
diff --git a/content/slides/privacy/tor.html b/content/slides/privacy/tor.html
index dd041b8..8fc102f 100644
--- a/content/slides/privacy/tor.html
+++ b/content/slides/privacy/tor.html
@@ -8,6 +8,7 @@
 
     <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
     <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
+    <link rel="stylesheet" href="../main.css">
 
     <!-- Theme used for syntax highlighting of code -->
     <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
-- 
GitLab