245
modifications
Ligne 331 : | Ligne 331 : | ||
== Annexe : protocole cryptographique == | == Annexe : protocole cryptographique == | ||
=== Notions de Cryptographie === | |||
Chiffrer un message/document/fichier/whatever, c'est le rendre illisible sauf pour qui de droit. Prenons un exemple tout bête. Voici un message que j'ai chiffré en utilisant une méthode toute simple : | |||
"fh phvvdjh hvw fkliiuh" | |||
Le message est incompréhensible. Pour le déchiffrer, il vous faut une information secrète que vous partagerez avec votre correspondant. Cette information s'appelle une clé (Retenez bien ce terme, c'est un concept fondamental en cryptographie). En l'occurence c'est vraiment un truc ultra simple, certains d'entres vous l'auront peut être tout de suite vu : il s'agit d'un bête décalage dans les lettres de l'alphabet, en l'occurence +3 (c'est à dire que A devient D, B devient E, C devient F, etc...). En inversant le processus, on tombe sur le message original : | |||
"ce message est chiffre" | |||
Concrètement, dans un ordinateur, un fichier, quel qu'il soit, n'est qu'une suite de 0 et de 1 (des bits). Chiffrer un documents consiste donc à modifier sa séquence de bits en une autre séquence illisible par l'ordinateur (Par exemple 01101101 (lisible) --> chiffrement --> 10101110 (illisible)). | |||
Il existe types de cryptographie : | |||
La cryptographie symétrique | |||
La cryptographie assymétrique | |||
La cryptographie est qualifiée de symétrique quand la même clé est utilisée à la fois pour le chiffrement et le déchiffrement. Par exemple, le chiffre de César mentionné ci dessus est un exemple de cryptographie symétrique : La connaissance de la clé (en l'occurence, 3) vous permet à la fois de chiffrer ou de déchiffrer. Aujourd'hui, avec l'avènement de l'informatique, un tel algorithme est devenu bien sûr complètement obsolète. Aujourd'hui, nous disposons d'algorithmes bien plus performant tel qu’AES (Advanced Encryption Standard) qui est l’algorithme symétrique utilisé par Tor et qui sera explicité un peu plus loin. | |||
La cryptographie assymétrique repose sur la séparation du processus de chiffrement et de déchiffrement. Le processus implique cette fois non plus une, mais deux clés possédant les deux propriétés suivantes : | |||
- Ce qui est chiffré par une clé peut être déchiffré par l’autre | |||
- En aucun cas une des deux clés ne peut déchiffrer ce qu’elle a chiffré | |||
Du coup, une dés clés servira pour le chiffrement et sera déclarée publique, et l’autre clé sera déclarée privée et ne devra jamais être communiquée à quiconque. | |||
Les deux ont leurs avantages et leurs inconvéniens. L'avantage de la cryptographie symétrique est qu'elle est rapide d'éxécution, ce qui n’est pas le cas de la crypto assymétrique. Ceci peut être un enjeu majeur lorsqu'on doit transmettre des données, en particulier lorsque la connexion doit transiter par plusieurs relais comme c’est le cas dans Tor. C’est pour cette raison que la cryptographie symétrique est toujours utilisée pour protéger concrètement les données. En revanche, la cryptographie symétrique a un très gros problème de sécurité : elle repose entièrement sur l'existence d'un secret partagé, c'est à dire sur la nécessité que les deux personnes se mettent d'accord sur une clé sans qu'elle ne soit interceptée par un tiers (Car mon canal est par définition non-sécurisé. S’il l’était, le recourt à la crypto serait inutile, autant s’échanger directement les données). Ce problème ne se pose pas avec la crypto assymétrique. | |||
Chiffrer les communications, c’est bien, mais malheureusement, ce n’est pas suffisant. En effet, si je me plante lors de la négociation d’une clé symétrique, mes échanges ne sont plus sécurisés. Parreillement, si quelqu’un usurpe l’identité de mon correspondant, j’aurai beau chiffrer, je transmettrai mes données à l’attaquant. C’est pour cette raison que le chiffrement https et le chiffrement dans tor est accompagné de tout un tas de procédures rôdées contituant un protocole destiné à sécuriser au maximum les communications. Ce protocole se passe en plusieurs étapes et dans cet ordre : | |||
* L’authentification du serveur | |||
* La négociation sécurisée d’une clé symétrique | |||
* L’échange de données chiffrées | |||
* La vérification de l’intégrité des données. | |||
=== Authentification du serveur === | === Authentification du serveur === | ||
Ligne 345 : | Ligne 380 : | ||
=== Advanced Encryption Standard === | === Advanced Encryption Standard === | ||
*A VENIR* | *A VENIR* | ||
== Références == | == Références == | ||
<references/> | <references/> |
modifications