Aller au contenu
Menu
  • Catégories
    • Geekitude
    • Jeux vidéos
    • Hack ps3
    • Japon
    • Politique et libertés
    • Jeux vidéos adultes
    • Divers
  • FreeDrive
    • Le service
    • La FAQ
  • Partage de connaissance
    • Copie du système
    • Création de paquet (.deb)
    • Petit mémo sur lsof
    • LVM – Les bases
    • LVM – Fonctionnement interne
    • LVM : Trucs et astuces
    • LVM – Les snapshots
    • Chiffrement – Théorie
    • Chiffrement – Pratique
    • 100 pages sur burp, sqlmap et metasploit
    • Présentations IRL
  • Downloads
    • kclean
    • myst
    • lvmiostat
    • Night City 2020
    • Mia, Corps d’acier, Cœur tendre
  • contact
    • RSS
    • Télécharger ma clef publique
    • Email
  • Rechercher
  • Catégories
    • Geekitude
    • Jeux vidéos
    • Hack ps3
    • Japon
    • Politique et libertés
    • Jeux vidéos adultes
    • Divers
  • FreeDrive
    • Le service
    • La FAQ
  • Partage de connaissance
    • Copie du système
    • Création de paquet (.deb)
    • Petit mémo sur lsof
    • LVM – Les bases
    • LVM – Fonctionnement interne
    • LVM : Trucs et astuces
    • LVM – Les snapshots
    • Chiffrement – Théorie
    • Chiffrement – Pratique
    • 100 pages sur burp, sqlmap et metasploit
    • Présentations IRL
  • Downloads
    • kclean
    • myst
    • lvmiostat
    • Night City 2020
    • Mia, Corps d’acier, Cœur tendre
  • contact
    • RSS
    • Télécharger ma clef publique
    • Email
ATDC

Chiffrement – Pratique

hoper5 décembre 20110

Important

Avant de lire ceci, il est très vivement recommandé de lire la partie théorique. J’y explique clairement (enfin, je crois…) la différence entre les deux exemples données plus bas, que ce soit en ce qui concerne l’utilisation de luks, ou la différence entre les cyphers.

 

Solution 1 : Sans utiliser le format luks

Nous allons donc chiffrer un « device », que ce soit une partition de disque dur, un volume logique LVM, un raid ou n’importe quoi d’autre. Je prendrai pour l’exemple un device appelé /dev/xxx, à vous d’adapter à votre cas de figure. Les commandes suivantes sont à passer en tant que root :

cryptsetup -y --cipher=aes-xts-plain64 -s 512 create toto /dev/xxx

Cette commande vous demandera un mot de passe, mot de passe qui sera donc utilisé pour le chiffrement. Voici la signification des différentes options et paramètres :

-y                       Le mot de passe est demandé deux fois (vérification)
aes-xts-plain64          Le cypher utilisé. Ici, c'est de l'AES
-s 512                   Avec une clef (déduite du mot de passe) longue de 512 bits 
toto                     Le nom du volume une fois déchiffré. 
/dev/xxx                 Le device que l'on  veut chiffrer

Et voila, c’est finit. Vous avez maintenant un nouveau device : /dev/mapper/toto. Tout ce que vous faites dessus sera chiffré, puis envoyé sur /dev/xxx

Nous allons par exemple créer un système de fichier, puis créer un fichier vide. NB : La création du système de fichier détruira évidement tout ce qui serait déjà présent sur /dev/xxx…

mkfs -t ext4 /dev/mapper/toto
mount /dev/mapper/toto /mnt
touch /mnt/fichier_vide
ls /mnt

Mon fichier « fichier_vide » est bien présent. Nous allons maintenant démonter ce volume et rendre totalement inaccessible ce fichier, pour toute personne qui n’aurait pas connaissance du bon cypher, et de la bonne clef :

umount /mnt
cryptsetup remove toto

Il reste à vérifier que l’on est bien capable de retrouver ses données. On utilise exactement la même commande cryptsetup pour re-créer le volume virtuel « toto » (le -y n’est plus vraiment indispensable) :

cryptsetup --cipher=aes-xts-plain64 -s 512 create toto /dev/xxx
mount /dev/mapper/toto /mnt
ls -l /mnt

Bingo !

Remarque :

Le cypher utilise le mode « plain64 ». Vous trouverez peut etre ailleurs des tutos indiquant « plain » sans le 64 derrière. Le plain64 est totalement compatible avec plain « tout court », (compatibilité « ascendante »), vous pouvez donc indiquer plain64 pour déchiffrer un volume chiffrer en « plain ». L’inconvénient du mode plain et qu’il introduit une vulnérabilité du chiffrement pour des volumes ayant une taille supérieure à 2 To. (Voir ici). Globalement, utilisez toujours plain64 si votre système est suffisamment récent pour cela.

 

Solution 2 :En utilisant luks (et serpent pour le cypher).

Complexions un tout petit peu les choses. D’abord en utilisant un cypher plus sécurisé. Vérifiez si votre noyau sait faire du « serpent » avec une commande du type :

grep serpent /proc/crypto

Si cette commande ne renvoi rien, c’est que cette fonctionnalité n’est pas activée par défaut dans votre noyau. Chargez le module correspondant, et ré-essayez :

modprobe serpent
grep serpent /proc/crypto

Ca fonctionne ? bien, on continu. Nous allons maintenant FORMATER le device en utilisant luksFormat. ATTENTION : Toutes les données présentes sur le device seront effacées dès que cette commande sera terminée :

cryptsetup --cipher=serpent-xts-plain64 -s 512 luksFormat /dev/xxx

Cette commande vous demandera de taper YES (en majuscule) pour valider, puis un mot de passe (nécéssaire pour administrer le volume). A part le cypher qui change (juste pour l’exemple hein, on aurait très bien pu reprendre AES !), on observe que « toto » à disparu. Pour le moment, nous n’avons fait que formater le device /dev/xxx. (Opération à ne faire qu’une fois !) et nous ne sommes donc pas encore prêt à l’utiliser. Vous pouvez voir que le formatage à fonctionné, et que le cypher est maintenant renseigné directement à l’intérieur de /dev/xxx, en tapant :

cryptsetup luksDump /dev/xxx

Vous pouvez voir en bas 8 « slots » affichés. Le premier est utilisé par le mot de passe que vous avez rentré précédemment. Libre à vous d’en indiquer d’autres (ou d’en effacer etc) en utilisant les commandes disponibles. Lancez simplement « cryptsetup –help » pour en avoir la liste, tout est simple et explicite, alors je ne vais pas m’étendre sur le sujet.

Maintenant que nous avons crée notre volume luks, voyons comment « l’ouvrir » pour pouvoir l’utiliser (équivalent de la commande cryptsetup create) :

cryptsetup luksOpen /dev/xxx toto

Simple non ? Toutes les informations de chiffrement étant déjà contenu dans /dev/xxx, il ne reste plus qu’a taper le mot de passe (en réalité l’un des mots de passe, n’importe lequel, si vous en avez utilisés plusieurs « slots »). A partir de la, vous vous en doutez, le mode de fonctionement est exactement le même que dans le premier cas. Maintenant que nous avons notre volume « déchiffré » virtuel « /dev/mapper/toto », on peut le formater en ext4 (ou autre) etc. Voir plus haut.

Afin « d’oublier » le mot de passe, (équivalent du cryptsetup remove du dessus), il faudra utiliser la commande :

cryptsetup luksClose /dev/xxx

 

LVM, et redimensionnement de volumes chiffrés

Je l’ai dit, cryptsetup peut être utilisé avec n’importe quoi. /dev/xxx peut donc parfaitement etre un volume logique du type /dev/groupe/volume. Ca, je pense que tout le monde le comprend bien. Oui mais, l’intéret de LVM est de pouvoir modifier à chaud la taille des volumes. Que va t-il se passer pour cryptsetup si le device change de taille ? Et bien pas grand chose. Il faut simplement penser à modifier la taille de device virtuel (toto) pour qu’il corresponde avec la nouvelle taille du volume réel (/dev/xxx). Voila par exemple comment augmenter la taille d’un système de fichier en ext4 qui se trouverai sur un volume logique chiffré « toto », utilisant le device « /dev/groupe/volume » :

lvresize -L +50g /dev/groupe/volume
cryptsetup resize toto      
resize2fs /dev/mapper/toto

Liens

  • Autres exemples d’utilisations, en utilisant un fichier comme conteneur et avec d’autres cyphers
  • Des discussions concernant les performances
  • Pourquoi « plain64 » au lieu de « plain »
  • Une doc TROP technique sur ubuntu-fr ! (rarissime, profitez en avant qu’elle soit supprimée 😉

 

Bon chiffrement !

Catégories
  • Non classé
Article précédent

Chiffrement – Théorie

Article suivant

Les croyants ont de la chance

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Articles récents

  • Je suis sexiste
  • Mia ou le début d’une trilogie.
  • Mia : Vos critiques constructives
  • Qui se souvient des sub channels ?
  • Pour moi Daikin c’est terminé

Commentaires récents

  • Zenzla dans Je suis sexiste
  • hoper dans Je suis sexiste
  • Jérémy dans Je suis sexiste
  • hoper dans Je suis sexiste
  • OT dans Je suis sexiste

Archives

  • mars 2025
  • février 2025
  • août 2024
  • juillet 2024
  • juin 2024
  • avril 2024
  • février 2024
  • septembre 2023
  • janvier 2023
  • décembre 2022
  • février 2022
  • janvier 2021
  • décembre 2020
  • novembre 2020
  • octobre 2020
  • septembre 2020
  • mars 2020
  • février 2020
  • décembre 2019
  • septembre 2019
  • juillet 2019
  • mai 2019
  • avril 2019
  • février 2019
  • janvier 2019
  • décembre 2018
  • novembre 2018
  • octobre 2018
  • septembre 2018
  • juillet 2018
  • juin 2018
  • avril 2018
  • janvier 2018
  • novembre 2017
  • mai 2017
  • avril 2017
  • mars 2017
  • février 2017
  • janvier 2017
  • octobre 2016
  • mai 2016
  • février 2016
  • octobre 2015
  • septembre 2015
  • août 2015
  • juin 2015
  • mai 2015
  • avril 2015
  • février 2015
  • janvier 2015
  • novembre 2014
  • octobre 2014
  • septembre 2014
  • juillet 2014
  • juin 2014
  • mai 2014
  • avril 2014
  • mars 2014
  • février 2014
  • janvier 2014
  • décembre 2013
  • novembre 2013
  • octobre 2013
  • septembre 2013
  • août 2013
  • juillet 2013
  • juin 2013
  • mai 2013
  • avril 2013
  • mars 2013
  • février 2013
  • janvier 2013
  • décembre 2012
  • novembre 2012
  • octobre 2012
  • septembre 2012
  • août 2012
  • juillet 2012
  • juin 2012
  • mai 2012
  • avril 2012
  • mars 2012
  • février 2012
  • janvier 2012
  • décembre 2011
  • novembre 2011
  • octobre 2011
  • septembre 2011
  • août 2011
  • juillet 2011
  • juin 2011
  • mai 2011
  • avril 2011
  • mars 2011
  • février 2011
  • janvier 2011
  • décembre 2010
  • novembre 2010
  • octobre 2010
  • septembre 2010
  • août 2010
  • juillet 2010
  • juin 2010
  • mai 2010
  • avril 2010
  • mars 2010
  • février 2010
  • janvier 2010
  • décembre 2009
  • novembre 2009
  • octobre 2009
  • septembre 2009
  • août 2009
  • juillet 2009
  • juin 2009
  • mai 2009
  • avril 2009
  • mars 2009

Catégories

  • Autres jeux
  • Delires
  • Divers
  • Geekitude
  • Hack ps3
  • Japon
  • Jeux vidéos
  • Jeux vidéos adultes
  • Non classé
  • Politique et libertés

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Archives

Articles récents

  • Je suis sexiste
  • Mia ou le début d’une trilogie.
  • Mia : Vos critiques constructives
  • Qui se souvient des sub channels ?
  • Pour moi Daikin c’est terminé
  • Législatives 2024 : Messages pour tous
  • Les types de batteries
  • Meilleurs jeux 18+ : Mise à jour 2024

Catégories

Autres jeux (4) Delires (3) Divers (75) Geekitude (177) Hack ps3 (10) Japon (9) Jeux vidéos (27) Jeux vidéos adultes (10) Non classé (5) Politique et libertés (83)

Flus RSS

  •   Les articles

Copyright 2025 © ATDC Tous droits réservés.

Thème Codilight par FameThemes