« Tor, conception, fonctionnement et limites » : différence entre les versions

Ligne 379 : Ligne 379 :
=== Echange de Diffie-Hellman ===
=== Echange de Diffie-Hellman ===


Tor utilise le chiffrement symétrique pour protéger les informations qu’il véhicule. En effet, le chiffrement symétrique a l’avantage d’être extrêmement rapide, donc bien adapté pour de l’échange de donnée à faible latence. Or le chiffrement symétrique souffre d’un gros problème de sécurité, car il nécessite que les deux parties souhaitant communiquer se mettent d’accord sur une clé sans qu’elle ne soit interceptée, c’est à dire sur un secret partagé. Or, le problème, c’est qu’il n’est pas possible de faire circuler cette clé sur le canal de communication puisque je suppose par définition qu’il n’est pas sécurisé et donc susceptible d’être écouté. Et s’il était sécurisé, le recours au chiffrement serait inutile : autant s’échanger les données directement.
Tor utilise le chiffrement symétrique pour protéger les informations qu’il véhicule pour des raisons de rapidité. Or comme on l'a vu, le chiffrement symétrique souffre d’un gros problème de sécurité, car il nécessite que les deux parties souhaitant communiquer se mettent d’accord sur une clé sans qu’elle ne soit interceptée, c’est à dire sur un secret partagé. Or, le problème, c’est qu’il n’est pas possible de faire circuler cette clé sur le canal de communication puisque je suppose par définition qu’il n’est pas sécurisé et donc susceptible d’être écouté. Et s’il était sécurisé, le recours au chiffrement serait inutile : autant s’échanger les données directement.


Une solution pourrait être de n’utiliser que le chiffrement assymétrique pour communiquer. Le problème, c’est que le chiffrement assymétrique est relativement complexe et donc relativement lent. Pour cette raison, il peut être bien adapté pour échanger des emails, mais malheureusement pas pour échanger des données “en instantané” entre un client et un serveur hébergeant un site web (comme psychoactif par exemple). De plus, Tor souffrant déjà à la base de certains problèmes de lenteur du au routage du traffic à travers 3, voir 6 relais pour les services cachés, celà rend l’utilisation de la cryptographie assymétrique comme moyen d’échange exclusif totalement rédhibitoire. Le chiffrement symétrique a l’avantage d’être très rapide et très portable, et contrairement à une idée reçue assez répandue, il offre le même niveau de sécurité que le chiffrement assymétrique une fois que les clés sont échangées.
Nous avons vu également qu'il n'est pas possible d'utiliser le chiffrement assymétrique exclusivement pour s'échanger les données, toujours à cause de problèmes de rapidité. Donc pour répondre au problème de l’échange des clés symétriques, il y a 2 solutions :


Pour répondre au problème de l’échange des clés symétriques, il y a 2 solutions.
* Une des parties peut créer une clé symétrique et l’envoyer à l’autre en la chiffrant à l’aide du chiffrement assymétrique. Le problème, c’est qu’on pourrait immaginer qu’un attaquant intercepte l’échange de la clé et tous les échanges chiffrés symétriquement qui s’ensuivent, et stocke tout ça en attendant que les progrès technologiques et l’évolution de la puissance de calcul des ordinateurs lui permettent de déchiffrer l’échange de la clé symétrique plus tard. Une fois que la clé symétrique est déchiffrée, il peut déchiffrer toutes les communications qu’il aura préalablement stocké.


- Une des parties peut créer une clé symétrique et l’envoyer à l’autre en la chiffrant à l’aide du chiffrement assymétrique. Le problème, c’est qu’on pourrait immaginer qu’un attaquant intercepte l’échange de la clé et tous les échanges chiffrés symétriquement qui s’ensuivent, et stocke tout ça en attendant que les progrès technologiques et l’évolution de la puissance de calcul des ordinateurs lui permettent de déchiffrer l’échange de la clé symétrique plus tard. Une fois que la clé symétrique est déchiffrée, il peut déchiffrer toutes les communications qu’il aura préalablement stocké.
* Une autre solution, plus sécurisée, est d’avoir recours au protocole de Diffie-Hellman, du nom de ses créateurs https://fr.wikipedia.org/wiki/Whitfield_Diffie Whitfield_Diffie et https://fr.wikipedia.org/wiki/Martin_Hellman Martin Hellman.
 
- Une autre solution, plus sécurisée, est d’avoir recours au protocole de Diffie-Hellman, du nom de ses créateurs https://fr.wikipedia.org/wiki/Whitfield_Diffie Whitfield_Diffie et https://fr.wikipedia.org/wiki/Martin_Hellman Martin Hellman.


Prenons un exemple concret. Supposons que je veuille communiquer avec le serveur hébergeant www.psychoactif.org. Etant donné que ce site est en https, il est nécessaire de négocier une clé de chiffrement.
Prenons un exemple concret. Supposons que je veuille communiquer avec le serveur hébergeant www.psychoactif.org. Etant donné que ce site est en https, il est nécessaire de négocier une clé de chiffrement.


Etape 1 : Psychoactif et moi commençons par nous mettre d’accord sur un nombre quelconque. Par exemple 5. Cette partie de la négociation n’a pas besoin d’être sécurisée.
{| class="wikitable centre" width="70%"
{| class="wikitable centre" width="70%"
|-
|-
! width="25%" | Moi  
! width="33%" | Moi  
! width="25%" | Attaquant
! width="33%" | Attaquant
! width="50%" | www.psychoactif.org
! width="33%" | www.psychoactif.org
|-
|-
|5
|5
245

modifications