Lent SSD + dm-crypt avec cryptage Luks dans Ubuntu 12.10

9

J'ai un SSD de 128 Go installé sur mon ordinateur portable (Samsung 840 Pro) sur une interface Sata 3. Cet ordinateur portable a également un processeur Intel i5 3210m Ivy Bridge et 8 Go de RAM.

J'ai installé Ubuntu 12.10, en utilisant le programme d'installation graphique pour obtenir le chiffrement intégral du disque. Je suis un peu déçu, car je m'attendais à ce que les spécifications me donnent de meilleurs résultats.

En consultant cette page SSD Benchmarking , elle affirme que mon processeur est capable de:

  • ~ 500 Mo / s: avec AES-NI
  • ~ 200 Mo / s: sans AES-NI

En regardant les chiffres que je reçois, je pense que je n’ai peut-être pas activé AES-NI. Mais d'abord ...

La lecture des données non cryptées est rapide:

# hdparm -Tt /dev/sda1

/dev/sda1:
 Timing cached reads:   14814 MB in  2.00 seconds = 7411.70 MB/sec
 Timing buffered disk reads: 242 MB in  0.48 seconds = 502.75 MB/sec

Cela est en fait proche des spécifications de mon SSD de "jusqu'à 530 Mo / s" et un test de dd donne des résultats similaires à ce qui précède.

L'écriture de données chiffrées est rapide aussi avec dm-crypt (sinon, avec eCryptfs, les performances en écriture sont abaissées, inférieures à 100 Mo / s), les chiffres étant proches de la spécification SSD (je suppose que l'écriture est tamponnée):

# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.93896 s, 365 MB/s

Lire des données chiffrées est cependant une autre histoire:

# echo 3 > /proc/sys/vm/drop_caches
# dd if=tempfile of=/dev/null bs=1M count=1024

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.85956 s, 183 MB/s

En écrivant ce message, j'ai eu la chance d’avoir 183 Mo / s, car ce nombre varie. Normalement, il est quelque part autour de 150 Mo / s, mais j'ai aussi près de 300 Mo / s sur un nouveau démarrage, mais les performances chutent progressivement à moins de 200 Mo / s sans que je lance des applications. Notez que lors de ce test, je n'ai aucun autre processus effectuant des E / S (comme avec iotop ).

En outre, voici le test avec hdparm qui donne de moins bons résultats:

 # hdparm -Tt /dev/mapper/sda2_crypt 

 /dev/mapper/sda2_crypt:
  Timing cached reads:   14816 MB in  2.00 seconds = 7412.86 MB/sec
  Timing buffered disk reads: 422 MB in  3.01 seconds = 140.11 MB/sec

J'ai également essayé l'expérience en regardant htop ... pas sûr de savoir comment interpréter ce que j'ai vu, puisque le processeur i5 utilise Hyper-Threading, mais 2 threads sur 4 où environ 73% d'utilisation sont utilisés. le test, tandis que les 2 autres threads sont restés inutilisés. En effet, si je lance 2 processus qui lisent avec dd à partir de 2 fichiers distincts (pour empêcher la mise en tampon), alors iotop signale un total d'environ 400 Mo / s. On a donc l'impression que c'est lié au processeur.

Ma déception vient du fait que mon processeur i5 est capable de AES-NI . Les données non cryptées sont lues à plus de 500 Mo / s en utilisant les mêmes tests que je viens de faire. Nous parlons donc d’une partition chiffrée au moins 3 fois plus lente.

Je ne sais pas vraiment si mon installation dm-crypt utilise AES-NI. Voici la sortie de lsmod :

 # lsmod | grep aes
 aesni_intel            51038  35 
 cryptd                 20404  10 ghash_clmulni_intel,aesni_intel
 aes_x86_64             17256  1 aesni_intel

Voici la sortie de cryptsetup :

 # cryptsetup status sda2_crypt
 /dev/mapper/sda2_crypt is active and is in use.
   type:    LUKS1
   cipher:  aes-xts-plain64
   keysize: 512 bits
   device:  /dev/sda2
   offset:  4096 sectors
   size:    249565184 sectors
   mode:    read/write
   flags:   discards

Alors, est-ce prévu? AES-NI ne devrait-il pas améliorer les choses davantage?

En outre, comment désactiver AES-NI pour voir s'il y a une différence? Et peut-être devrais-je l'activer d'une manière ou d'une autre, mais je n'ai trouvé aucun conseil dans mes recherches.

Merci,

    
posée Alexandru Nedelcu 22.01.2013 - 13:22
la source

2 réponses

5

Votre Samsung 840 Pro prend en charge le cryptage matériel AES. Si le BIOS de votre ordinateur portable prend en charge le mode de fonctionnalité de sécurité ATA, définissez les mots de passe maître et utilisateur, vous avez de la chance.

En définissant le mot de passe principal ATA dans le BIOS, puis en effectuant un effacement sécurisé du lecteur, le microprogramme du lecteur doit générer de nouvelles clés AES aléatoires. Après l'effacement sécurisé, assurez-vous que vous avez défini de bons mots de passe maître et utilisateur ATA. Pour autant que j'ai pu établir (voir mon post ici lien ) le Samsung crypte également ses clés AES avec votre mot de passe ATA.

Cela vous donnera un cryptage AES à pleine vitesse, aucun logiciel requis.

    
réponse donnée Charl Botha 13.03.2013 - 08:56
la source
3

Il y a une mauvaise configuration dans Ubuntu qui fait que le module aesni_intel n'est pas chargé suffisamment tôt pour gérer le cryptage des périphériques déverrouillés au démarrage. J'ai pu corriger cela sur mes machines en procédant comme suit:

sudo vim /etc/initramfs-tools/modules

Sous la dernière ligne, ajoutez

# enable h/w accelerated encryption
cryptd
aes_x86_64
aesni_intel

Puis lancez

sudo update-initramfs -u -k all

redémarrez et profitez-en. Après cela, sur un SSD similaire, je voyais 500 Mo / s en lecture et en écriture avec une utilisation du processeur négligeable.

Tous les détails sur ce bogue se trouvent à l'adresse lien

    
réponse donnée Devin Lane 10.12.2014 - 05:25
la source

Lire d'autres questions sur les étiquettes