Implementaciones Eficientes en Software de Esquemas de Cifrado de Discos usando AES-NI



Implementaciones Eficientes en Software de Esquemas de Cifrado de Discos usando AES-NI

Nallely Itzel Guadalupe Trejo García
 

Texto completo de la Tesis     

 



Resumen

Los TES (Tweakable Enciphering Schemes) son una clase de modos de operación que se ajustan al cifrado de información en dispositivos de almacenamiento como discos duros y memorias ash. A la fecha hay aproximadamente diez propuestas diferentes para TES y existe un esfuerzo de estandarización por parte del grupo de trabajo de seguridad en almacenamiento del IEEE. En los últimos años ha habido actividad considerable en el diseño de estos esquemas, sin embargo la cantidad de información acerca del desempeño experimental reportada en la literatura es escasa. Existe información acerca del desempeño en hardware, pero no hay información disponible de ello en software. Esta tesis se enfoca en esa brecha. En esta tesis presentamos implementaciones optimizadas en software de (casi) todos los TES y comparamos su desempeño en terminos de velocidad. Nuestras implementaciones utilizan el nuevo conjunto de instrucciones AES-NI que se encuentran disponibles en algunos de los procesadores Intel y AMD actuales. Tambien presentamos implementaciones de los esquemas en paralelo enfocadas a procesadores multi-núcleo. Nuestro estudio de desempeño tambien incluye dos esquemas que no son TES pero han sido propuestos para su uso en cifrado de discos: XTS es un esquema que recientemente fue estandarizado por el NIST para ser usado como algoritmo de cifrado de información en dispositivos de almacenamiento que guardan la información en bloques; y el esquema llamado BitLocker que ha sido usado ampliamente como algoritmo de cifrado de discos en el sistema operativo de Windows Vista. Presentamos información de desempeño tanto para XTS como para BitLocker y describimos una debilidad de seguridad que se encuentra en XTS. Finalmente, se proponen dos nuevos TES llamados HCTR y HMCH2 los cuales son modi caciones de dos esquemas ya existentes. Nuestros datos experimentales sugieren que tanto HCTR como HMCH2 son mas efi cientes que sus predecesores, además se demuestra que ambos esquemas son seguros.

 

Abstract

Tweakable enciphering schemes (TES) are a class of block cipher modes of operation which are suitable for encryption of block oriented storage media like hard disks, ash memories etc. To date there are about ten di erent proposals for TES, and there is an active standardization e ort by the IEEE working group on security in storage. In the last few years there have been an considerable activity involving designing of such schemes, but there are very little experimental performance data of these schemes reported in the literature. There are some performance data in hardware available, but no software performance data has yet been reported. This thesis closes this important gap. In this thesis we present optimized implementations of (almost) all tweakable enciphering schemes in software and compare their performance in terms of speed. Our implementations utilizes a new instruction set extension called AES-NI which is available in some current Intel and AMD processors. We also present parallel implementations of the schemes directed towards multi-core processors. Our performance study also includes two schemes which are not TES but has been proposed for disk encryption. XTS is a scheme which has recently been standardized by NIST for use as an encryption algorithm for block oriented storage devices, and another scheme called BitLocker has seen wide deployment as a disk encryption algorithm in the Windows Vista operating system. We present performance data for both XTS and BitLocker and also point out a security weakness in XTS. Furthermore, we propose two new tweakable enciphering schemes named HCTR* and HMCH2 which are modi cations of two existing schemes. The modi cations were done by keeping an eye on the eficiency. Our experimental results suggests that both HCTR* and HMCH2 are more eficient than their predecessors. Through standard reductionist arguments we also prove that HCTR* and HMCH2 are secure TES.