El formato de archivo de imagen qcow2 para KVM puede usar el cifrado AES . El cifrado se aplica a nivel de clúster :
Cada sector dentro de cada clúster se encripta independientemente usando el modo de encadenamiento de bloques de cifrado AES, usando el desplazamiento del sector (relativo al inicio del dispositivo) en formato little endian como los primeros 64 bits del vector de inicialización de 128 bits.
El tamaño del clúster se puede configurar de 512 bytes a 2M (64K parece ser el predeterminado).
Uno de los principales problemas con el uso del cifrado qcow2 es el impacto en el rendimiento de la CPU: cada escritura de disco o lectura no almacenada en caché necesita cifrar o descifrar.
Lo que me gustaría saber es si QEMU / KVM usa las instrucciones Intel AES para mitigar el impacto en el rendimiento si la CPU del host las tiene. Si es así, ¿el uso o el rendimiento dependen significativamente del tamaño del clúster?
Las instrucciones Intel® AES son un nuevo conjunto de instrucciones disponibles que comienzan con la nueva familia de procesadores Intel® Core ™ 2010 basada en el nombre en clave de microarquitectura Intel® de 32 nm Westmere. Estas instrucciones permiten un cifrado y descifrado de datos rápido y seguro, utilizando el Estándar de cifrado avanzado (AES) que se define por la publicación FIPS número 197. Dado que AES es actualmente el cifrado de bloque dominante, y se utiliza en varios protocolos, las nuevas instrucciones son valiosas para una amplia gama de aplicaciones.
Me gustaría compartir este hilo sobre el soporte AES-NI en la CPU Westmere en la versión 1.7.10.4 de QEMU:
http://lists.gnu.org/archive/html/qemu-devel/2013-03/msg05374.html
La funcionalidad fue revisada y aceptada en la secuencia de código.
Luego hay otro hilo relacionado con por qué la funcionalidad parece faltar en 2.2:
https://www.redhat.com/archives/libvirt-users/2015-February/msg00007.html
El hilo parece indicar que hay un método para habilitar esta función, pero con posibles consecuencias negativas debido a incompatibilidades con libvirt y la detección de CPU. Personalmente, me encantaría volver a presentar esta característica.
fuente