User Tools

Site Tools


chiffrement

Introduction au chiffrement

Par Jean-Marc au BxLUG le 26/11/2017

Définitions

  • Codage : manière d'écrire un texte d'une manière standard
    • exemples : ASCII, UTF-8 (unicode), BASE64 (encoder les pièces jointes dans les emails, en 6 bits)
  • Chiffrement : rendre un message illisible à celui qui ne possède pas la clé pour le déchiffrer.
    • exemples : enigma, mettre un texte dans une image
    • chiffrement symétrique : on utilise la même clé pour chiffrer et déchiffrer; ex : DES, 3DES (passe 3 fois dans la même moulinette DES, avec 1-3 clés), AES ; très performant ; problème : il faut que tout le monde ait la même clé : problème de transport, risque de compromission ;
    • chiffrement asymétrique : basé sur
      • fonctions à sens unique : pas réversible ; exemple : commande passwd, on ne peut pas retrouver le mot de passe à partir du chiffrement ;
      • brèche secrète : permet de renverser la fonction à sens unique
      • plus gourmand en ressources, ex: HTTPS : utilisé pour initialiser la session, puis on passe au chiffrement symétrique (plus performant) avec une clé de session
      • nécessite d'avoir confiance dans les clés publiques
      • deux types de clés (une paire) : privée et publique (qu'on peut distribuer à tout le monde), qui sont chacune des brèches secrètes l'une pour l'autre
      • exemples : RSA (2048 bits), curve25519

Utilisations de chiffrement asymétrique :

  • Je chiffre le message avec la clé publique de M. X ; seul M. X avec sa clé privée peut déchiffrer le message (puisque la clé privée est la brèche secrète de la clé publique)
  • signer un document
    • faire un condensat : résumé du contenu unique, création d'une empreinte (md5sum)
    • chiffrer le condensat avec la clé privée
    • ajouter le résultat (= la signature) au le document et les mettre à disposition
    • vérifier la signature : déchiffre le résultat avec la clé publique → on obtient le condensat et on le compare à ce qui a été obtenu avec le condensat du document transmis
    • on peut vérifier l'expéditeur et s'assurer de l'intégrité du document

Autorités de certification

Surfe en HTTPS : il faut la clé publique du site : elle se trouve dans son certificat, qui a été certifié (en fait : signé) par une autorité de certification (par exemple, Verysign)

X509 : format du certificat

GPG

  • utilise un keyserver pour envoyer sa clé publique → on reçoit l'empreinte de la clé publique, permet de retrouver et récupérer la clé publique d'un utilisateur enregistré
  • construire un web of trust (toile de confiance) : Patrice a une nouvelle clé, Jean-Marc la valide et envoie la validation sur le keyserver

Hands on

  • créer un fichier avec “Bonjour le Monde !” et l'enregistrer
  • l'attacher à un email en pièce jointe → encodé en base64
  • prendre le résultat et faire echo resultat | base64 -d → on retrouve le texte d'origine

On ne peut pas chiffrer avec une clé privée, elle ne sert qu'à signer → générer des sous-clés

chiffrement.txt · Last modified: 2017/11/27 22:46 by carl