dm-crypt / mot de passe LUKS / longueur du fichier de clés

5

J'ai quelques questions relatives à dm-crypt / LUKS.


Configuration de dm-crypt / LUKS avec ces paramètres:

cryptsetup -c aes-xts-plain -h sha256 --key-size=256 -y luksFormat /dev/sda1

(1) Considérant que la taille de clé spécifiée est de 256 bits, combien de caractères doit être la phrase secrète? Et si, pour une raison quelconque, la taille peut varier, pourquoi? Et quelle est la taille recommandée?


Lorsque vous utilisez un fichier de clés avec ces paramètres (ou que vous en ajoutez un à un emplacement disponible):

cryptsetup -c aes-xts-plain -h sha256 --key-size=256 luksFormat /dev/sda1 /path/to/key/file

(2) Quelle doit être la taille du fichier de clé? Et encore une fois, si la taille peut varier, pourquoi et que recommande-t-on?

(3) Quelle est la différence entre --key-size = BITS et --keyfile-size = bytes ?

Je sais que l'un signifie "La taille de la clé de cryptage" et l'autre "Limite la lecture à partir du fichier de clé", mais je ne comprends pas la corrélation exacte qui existe entre eux.

(4) ... et entre --keyfile-size = octets et --new-keyfile-size = octets ?


J'ai lu la page de manuel à plusieurs reprises et j'ai fait des recherches sur Internet en lisant de nombreux articles. Ce ne sont que deux ou trois choses qui me déroutent.

marque
la source
Cela devrait éventuellement être migré vers security.stackexchange.com
Zoredache

Réponses:

4

(1) Considérant que la taille de clé spécifiée est de 256 bits, combien de caractères doit être la phrase secrète? Et si, pour une raison quelconque, la taille peut varier, pourquoi? Et quelle est la taille recommandée?

Il devrait être aussi long que vous pouvez raisonnablement vous en souvenir et que vous êtes prêt à taper. Il exécute une fonction de hachage , mais il arrête de lire après la première nouvelle ligne \n. La fonction de hachage prend autant de texte que vous lui donnez, puis donne un résultat.

Le hachage sha256 du texte superuser.comest 6153a5e4835cfb92fa324bfce5470a0b8d554cadbf7a9fbe21be74460897e021, et celui de tout le corps du texte de la première version de votre question f653459aa401efd1f058de5920cb25fe03bb969c90b001fd0f5282164c8b1afa, le support de la même longueur.

(2) Quelle doit être la taille du fichier de clé? Et encore une fois, si la taille peut varier, pourquoi et que recommande-t-on?

Normalement, LUKS utilisera uniquement la quantité de données du fichier dont il a réellement besoin. Donc, vous pouvez utiliser un fichier de 1 Go, et si votre taille de clé = 256, il utilisera uniquement les 256 premiers bits. Ainsi, votre fichier de clés doit être au moins égal à votre taille de taille de clé, mais il peut être plus important. J'ai tendance à simplement créer un fichier de clé de 4096 octets en utilisant une commande comme dd if=/dev/random of=/../mykeyfile bs=4096 count=1. Cela vous donne plus de données que nécessaire, mais il s’agit toujours d’un fichier relativement petit.

(3) Quelle est la différence entre --key-size = BITS et --keyfile-size = octets?

Je ne suis pas sûr de la version de cryptsetup que vous utilisez, l'option keyfile-size semble être nouvelle. La note sur cette page semble suggérer qu’elle est présente pour que LUKS lise davantage de données à partir du fichier, alors quelle est la valeur de votre taille de clé. Je ne suis pas un expert en cryptographie, mais je pense que si votre fichier de clés est réellement aléatoire, il ne sera pas vraiment plus sûr de le récupérer. Si vous utilisez un fichier qui n'est pas rempli de données aléatoires, cela peut être utile, mais je ne suis pas sûr.

Zoredache
la source
2
--keyfile-sizeest probable si vous ne lisez pas le "fichier de clés" d'un fichier réel, mais quelque chose comme un socket ou un fifo.
LawrenceC