\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{ven. mars 25 10:20:52 CET 2016}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={cryptsetup},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Gérer les volumes chiffré dm-crypt et LUKS},
CreationDate={D:20160325102052},
ModDate={D:20160325102052},
Keywords={Linux;chiffrement;sécurité}
}}
\begin{document}
 
\begin{center}
{\Huge cryptsetup }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Gérer les volumes chiffré dm-crypt et LUKS}
 
\vspace{10mm}
 
\hspace{1mm}  cryptsetup est utilisé pour définir les mappages device-mapper gérés par dm-crypt. Cela inclus les volume dm-crypt et LUKS. La différence est que LUKS utilise en en-tête de méta-données et peut ainsi offrir plus de fonctionnalités que dm-crypt. D'un autre côté, l'en-tête est visible et vulnérable.
\vspace{5mm} \\
 
 
\hspace{1mm}  De plus, cryptsetup fournis un support limité des volumes historiques loopaes et pour les volumes compatibles TrueCrypt.
\vspace{5mm} \\
 
 
\hspace{1mm}  Beaucoup d'informations sur les riques de l'utilisation de stockage chiffré, la gestion des problèmes et sur les aspects de sécurité peuvent être trouvés dans la FAQ Cryptsetup.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Commandes de base }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} open <device> <name> --type <device\_type>]{Ouvre (créé un mappage avec) le nom. device\_type peut être plain, luks, loopaes ou tcrypt.}
\item[\hspace{1mm} close <name>]{Supprime la mappage existant et détruit la clé de la mémoire kernel}
\item[\hspace{1mm} status <name>]{Reporte le status pour la mappage donné}
\item[\hspace{1mm} resize <name>]{Redimentionne un mappage active}
\end{description}
 
\vspace{1cm}{\huge Mode Plain }
 
\
 
\hspace{1mm}  plain dm-crypt chiffre le périphérique secteur par secteur avec un simple, non-salted hash de la passphrase. aucune vérification n'est effectuée, aucune métadonnée n'est utilisée. Il n'y a pas d'opération de formattage. Quand le périphérique brut est mappé, les opérations de périphériques peuvent être utilisée sur le périphérique mappé, incluant la création du système de fichier. Les périphériques de mappage peuvent être créés dans /dev/mapper/<name>.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Extensions LUKS }
 
\
 
\hspace{1mm}  LUKS est un standard pour le chiffrement de disque. Il ajoute une en-tête standardisé au début du périphérique, une zone de slot directement derrière l'en-tête et les données bulk ensuite. Toute ce jeu est appelé un conteneur LUKS. Le périphérique où un conteneur LUKS réside est appelé un périphérique LUKS.
\vspace{5mm} \\
 
 
\hspace{1mm}  LUKS peut gérér plusieurs passphrases qui peuvent être révoqués individuellement ou changés et peuvent être néttoyés du média persistant de manière sécurisée. Les passphases sont protégées contre le brute-force et les attaques par dictionnaire par PBKDF2, qui implémente une itération de hash et un salt dans une fonction.
\vspace{5mm} \\
 
 
\hspace{1mm}  Chaque passphrase, également appelée une clé, est associée avec un des 8 slots. Les opérations de clé qui ne spécifient pas un slot affectent le premier slot qui matche la passphrase fournie ou le premier slot vide si une nouvelle passphrase est ajoutée.
\vspace{5mm} \\
 
 
\hspace{1mm}  Le paramètre device peut également être spécifié par un UUID LUKS au format UUID=<uuid>. Pour spécifier un en-tête détaché, le paramètre --header peut être utilisé dans toutes les commandes LUKS et prend toujours précédence sur le paramètre positionnel device.
\vspace{5mm} \\
\hspace{1mm}  Les options LUKS valides sont les suivantes:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} luksFormat <device> \texttt{[}<key file>\texttt{]}]{Initialise une partition LUKS et définis la passphrase initiale (slot 0), soit en demandant, soit via le fichier spécifié. Noter que si le 2ème argument est présent, la passphrase est prise du fichier donné, sans avoir besoin de l'option --key-file. Noter également que '-' comme nom de fichier lit la passphrase depuis l'entrée standard. cette action ne peut être utilisé que sur des périphériques LUKS qui ne sont pas mappé.}
\item[\hspace{1mm} open --type luks <device> <name>]{Ouvre le périphérique LUKS et définis un mappage une fois la vérification de la passphrase effectuée.}
\item[\hspace{1mm} luksSuspend <name>]{Suspend un périphérique actif (toutes les opérations IO seront blockés et les accès au périphérique attendent indéfiniment.}
\item[\hspace{1mm} luksResume <name>]{Résume un périphérique suspendu et redemande une passphrase, si --key-file n'est pas donné}
\item[\hspace{1mm} luksAddKey <device> \texttt{[}<key file with new key>\texttt{]}]{Ajoute une nouvelle passphrase. Une passphrase doit être fournie interactivemenet ou via --key-file.}
\item[\hspace{1mm} luksRemoveKey <device> \texttt{[}<key file with passphrase to be removed>\texttt{]}]{Supprime la passphrase fournie du périphérique LUKS. La passphrase à supprimer peut être spécifiée interactivement ou via --key-file}
\item[\hspace{1mm} luksChangeKey <device> \texttt{[}<new key file>\texttt{]}]{Change une passphrase existante.}
\item[\hspace{1mm} luksKillSlot <device> <key slot number>]{Détruit la clé du périphérique LUKS.}
\item[\hspace{1mm} luksErase <device>]{Supprime tous les keyslots et rend le conteneur inaccessible. Cette opération est irréversible}
\item[\hspace{1mm} luksUUID <device>]{Affiche le UUID du périphérique LUKS. Définis un nouvel UUID is --uuid est spécifié}
\item[\hspace{1mm} isLuks <device>]{Retourne true, si le périphérique est un périphérique LUKS.}
\item[\hspace{1mm} luksDump <device>]{Dump les informations d'en-tête d'une périphériques LUKS. Si l'options --dump-master-key est utilisé, la clé maître est dumpé au lieu du keyslot.}
\item[\hspace{1mm} luksHeaderBackup <device> --header-backup-file <file>]{Stocke un backup binaire de l'en-tête LUKS et la zone keyslslot.}
\item[\hspace{1mm} luksHeaderRestore <device> --header-backup-file <file>]{Restaure un backup binaire d'un en-tête LUKS.}
\end{description}
 
\vspace{1cm}{\huge Extensions TCRYPT }
 
\
 
\hspace{1mm}  cryptsetup supporte le mappage de TrueCrypt, tcplay ou VeraCrypt en utilisant l'API kernel Linux. Le changement de formattage d'en-tête et l'en-tête TCRYPT n'est pas supporté.
\vspace{5mm} \\
 
 
\hspace{1mm}  L'extension TCRYPT nécessite l'API crypto disponible dans l'espace utilisateur. (CRYPTO\_USER\_API\_SKCIPHER) Parce que l'en-tête TCRYPT est chiffré, il faut toujours fournir une passphrase valide.
\vspace{5mm} \\
 
 
\hspace{1mm}  cryptsetup devrait reconnaître toutes les variantes d'en-tête, excepté les chaînes de chiffrement utilisant le mode de chiffrement LRW avec block de chiffrement 64-bits (blowfish en mode LRW n'est pas reconnu, c'est une limitation de l'API crypto du kernel)
\vspace{5mm} \\
 
 
\hspace{1mm}  Parce que l'en-tête TCRYPT est chiffré, il faut toujours fournir une passphrase valide et un keyfile
\vspace{5mm} \\
 
 
\hspace{1mm}  Pour reconnaître un périphérique VeraCrypt, utiliser l'option --veracrypt. VeraCrypt est une extension de l'en-tête TrueCrypt avec un compteur d'itération amélioré, donc le déblocage peut prendre plus de temps.
\vspace{5mm} \\
 
 
\hspace{1mm}  Note: L'activation avec tcryptOpen est supporté uniquement pour les chaînes de chiffrement utilisant les modes LRW ou XTS.
\vspace{5mm} \\
 
 
\hspace{1mm}  tcryptDump devrait fonctionner pour tous les périphériques TCRYPT reconnus et ne nécessite pas de privilège root.
\vspace{5mm} \\
 
 
\hspace{1mm}  Pour mapper les périphériques système (avec un boot loader) utiliser l'option --tcrypt-system.
\vspace{5mm} \\
 
 
\hspace{1mm}  Si vous avez un périphérique TCRYPT comme fichier image et souhaitez mapper plusieurs partitions chiffrées avec le chiffrement système, créer un mappage loopback avec les partitions en premier (losetup -P), et utiliser la partition loop comme paramètre de périphérique.
\vspace{5mm} \\
 
 
\hspace{1mm}  Pour utiliser un en-tête caché, utiliser --tcrypt-hidden. Pour utiliser en-tête backup, utiliser l'option --tcypt-hidden.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} open --type tcrypt <device> <name>]{Ouvre un périphérique TCRYPT et définis le mappage. keyfile permet de combiner le contenu du fichier avec la passphrase et peut être répétée. Noter qu'utiliser des keyfiles est compatible avec TCRYPT et est différent de la logique keyfile LUKS.}
\item[\hspace{1mm} tcryptDump <device>]{Dump les informations d'en-tête. Si --dump-master-key est utilisé, la clé maître est dumpé au lieu de l'en-tête.}
\item[\hspace{1mm} ]{}
\end{description}
 
\vspace{1cm}{\huge Divers }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} repair <device>]{Tente de réparer les méta-données du périphérique. Uniquement pour les périphériques LUKS}
\item[\hspace{1mm} benchmark <options>]{benchmark les chiffrements et les fonction de dérivations de clé (KDF). Sans paramètres, tente de mesurer les configuration communes. Les paramètre --cipher, --key-size ou --hash doivent être spécifiés.}
\end{description}
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -v, --verbose]{mode verbeux}
\item[\hspace{1mm} --debug]{Mode debug}
\item[\hspace{1mm} -h, --hash]{Spécifie le hash de la passphrase à ouvir}
\item[\hspace{1mm} -c, --cipher]{définis le chiffrement}
\item[\hspace{1mm} -y, --verify-passphrase]{Demande 2 fois la passphrase}
\item[\hspace{1mm} -d, --keyfile]{lit la passphrase depuis le fichier}
\item[\hspace{1mm} --keyfile-offset]{Saut n octets au début du fichier de clé}
\item[\hspace{1mm} -l, --keyfile-size]{Taille de la clé en octets dans le fichier de clé}
\item[\hspace{1mm} --new-keyfile-offset]{Saute n octets en ajoutant une nouvelle passphrase dans le fichier de clé avec luksAddKey.}
\item[\hspace{1mm} --new-keyfile-size]{Taille de la clé en octet en ajoutant une nouvelle passphrase dans le fichier de clé avec luksAddKey.}
\item[\hspace{1mm} --master-key-file]{Utilise la clé maître stockée dans un fichier. Pour luksFormat, cela permet de créer un en-tête LUKS avec cette clé maître.}
\item[\hspace{1mm} --dump-master-key]{Pour luksDump, inclus la clé maître dans les informations affichées.}
\item[\hspace{1mm} --use-random, --use-urandom]{Spécifie le générateur de nombre pseudo-aléatoire utilisé pour clé la clé de volume}
\item[\hspace{1mm} -S, --key-slot]{Spécifie le slot de clé à utiliser. Tous les autres slots seront désactivé.}
\item[\hspace{1mm} -b, --size]{Force la taile du périphérique en secteurs de 512 octets.}
\item[\hspace{1mm} -o, --offset]{Décalage du début dans le périphérique en secteurs de 512 octets}
\item[\hspace{1mm} -p, --skip]{Saut n secteurs de 512 octets dans le périphérique.}
\item[\hspace{1mm} -r, --readonly]{Définis un mappage lecture seule}
\item[\hspace{1mm} --shared]{Créé un mappage additionnel pour un périphérique ciphertext commun.}
\item[\hspace{1mm} --i, --iter-time]{Nombre de temps en ms pour le traitement PBKDF2.}
\item[\hspace{1mm} -q, --batch-mode]{mode silencieux}
\item[\hspace{1mm} -t, --timeout]{Temps d'attente de la passphrase}
\item[\hspace{1mm} -T, --tries]{Nombre de tentative pour l'entrée de passphrase invalide}
\item[\hspace{1mm} --align-payload]{Aligne le payload au limites de n secteurs de 512 octets.}
\item[\hspace{1mm} --uuid]{Utilise l'UUID fournis au lieu d'en générer un nouveau}
\item[\hspace{1mm} --allow-discards]{Autorise l'utilisation des requêtes discards (TRIM) déconseillé pour des raisons de sécurité}
\item[\hspace{1mm} --perf-same\_cpu\_crypt]{Effectue un chiffrement avec le même CPU qui gère les E/S.}
\item[\hspace{1mm} --perf-submit\_from\_crypt\_cpus]{Désactive les écriture offload dans un thread séparé après le chiffrement.}
\item[\hspace{1mm} --test-passphrase]{N'active pas le périphériques, vérifie simplement la passphrase}
\item[\hspace{1mm} --header]{Utilise un périphérique de méta-donnée séparé ou un fichier où se trouve l'en-tête LUKS}
\item[\hspace{1mm} --force-password]{N'utilise pas la vérification du mot de passe LUKS}
\end{description}
 
\vspace{1cm}{\huge Codes de retour }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} 0]{L'opération s'est déroulé avec succès}
\item[\hspace{1mm} 1]{Mauvais paramètres}
\item[\hspace{1mm} 2]{N'a pas les permissions}
\item[\hspace{1mm} 3]{Out of memory}
\item[\hspace{1mm} 4]{Mauvais périphérique spécifié}
\item[\hspace{1mm} 5]{Le périphérique existe déjà}
\end{description}
\end{flushleft}
\end{document}
