Articulo de referencia

Cifrado basado en hardware

El cifrado basado en hardware consiste en el uso de hardware informático para asistir al software, o incluso reemplazarlo, en el proceso de cifrado de datos . Normalmente, esto ...

El cifrado basado en hardware consiste en el uso de hardware informático para asistir al software, o incluso reemplazarlo, en el proceso de cifrado de datos . Normalmente, esto se implementa como parte del conjunto de instrucciones del procesador . Por ejemplo, el algoritmo de cifrado AES (un cifrado moderno ) puede implementarse utilizando el conjunto de instrucciones AES en la arquitectura x86 , ampliamente utilizada . [ 1 ] Dichas instrucciones también existen en la arquitectura ARM . [ 2 ] Sin embargo, existen sistemas menos comunes donde el módulo de criptografía está separado del procesador central, implementándose como un coprocesador , en particular un criptoprocesador seguro o acelerador criptográfico , como el IBM 4758 o su sucesor, el IBM 4764. [ 3 ] Las implementaciones de hardware pueden ser más rápidas y menos vulnerables a la explotación que las implementaciones de software tradicionales, y además pueden protegerse contra manipulaciones. [ 4 ]

Historia

Antes del uso del hardware informático, la criptografía podía realizarse mediante diversos medios mecánicos o electromecánicos . Un ejemplo temprano es la escítala utilizada por los espartanos . [ 5 ] La máquina Enigma era una máquina de cifrado electromecánica utilizada notablemente por los alemanes en la Segunda Guerra Mundial . Después de la Segunda Guerra Mundial , se desarrollaron sistemas puramente electrónicos. En 1987 se inició el proyecto ABYSS (A Basic Yorktown Security System). [ 6 ] [ 7 ] El objetivo de este proyecto era proteger contra la piratería de software . Sin embargo, la aplicación de las computadoras a la criptografía en general se remonta a la década de 1940 y a Bletchley Park , donde la computadora Colossus se utilizó para romper el cifrado utilizado por el Alto Mando alemán durante la Segunda Guerra Mundial . El uso de computadoras para cifrar , sin embargo, llegó más tarde. En particular, hasta el desarrollo del circuito integrado , del cual el primero se produjo en 1960, las computadoras eran poco prácticas para el cifrado, ya que, en comparación con el formato portátil de la máquina Enigma , [ 8 ] las computadoras de la época ocupaban el espacio de un edificio entero. Fue solo con el desarrollo de la microcomputadora que el cifrado informático se volvió factible, fuera de aplicaciones de nicho. El desarrollo de la World Wide Web llevó a la necesidad de que los consumidores tuvieran acceso al cifrado, ya que las compras en línea se generalizaron. [ 9 ] Las principales preocupaciones de los consumidores eran la seguridad y la velocidad. [ 9 ] Esto llevó a la eventual inclusión de los algoritmos clave en los procesadores como una forma de aumentar tanto la velocidad como la seguridad. [ 4 ]

Implementaciones

En el conjunto de instrucciones

x86

La arquitectura X86 , como arquitectura CISC (Computadora con Conjunto de Instrucciones Complejo) , implementa típicamente algoritmos complejos en hardware. [ 10 ] Los algoritmos criptográficos no son una excepción. La arquitectura x86 implementa componentes importantes del algoritmo AES ( Estándar de Cifrado Avanzado ) , [ 1 ] que puede ser utilizado por la NSA para información de alto secreto . [ 11 ] La arquitectura también incluye soporte para los algoritmos de hash SHA a través de las extensiones Intel SHA . [ 1 ] Mientras que AES es un cifrado, que es útil para cifrar documentos, el hash se utiliza para la verificación, como de contraseñas (ver PBKDF2 ).  

BRAZO

Los procesadores ARM pueden admitir opcionalmente extensiones de seguridad. Aunque ARM es una arquitectura RISC (Reduced Instruction Set Computer) , existen varias extensiones opcionales especificadas por ARM Holdings . [ 2 ] [ 12 ]

Como coprocesador

Proliferación

Los procesadores de Advanced Micro Devices (AMD) también son dispositivos x86 y admiten las instrucciones AES desde la iteración del procesador Bulldozer de 2011. [ 15 ] Debido a la existencia de instrucciones de cifrado en los procesadores modernos proporcionados tanto por Intel como por AMD, estas instrucciones están presentes en la mayoría de las computadoras modernas. [ 16 ] También existen en muchas tabletas y teléfonos inteligentes debido a su implementación en procesadores ARM . [ 16 ]

Ventajas

Implementar criptografía en hardware implica dedicar parte del procesador a esta tarea, lo que puede generar un gran aumento de velocidad. [ 4 ] En particular, las arquitecturas de procesadores modernas que admiten la segmentación (pipelining) suelen ejecutar otras instrucciones simultáneamente con la instrucción de cifrado. Además, el hardware puede contar con métodos para proteger los datos del software. Por consiguiente, incluso si el sistema operativo se ve comprometido, los datos pueden permanecer seguros (véase Extensiones de protección de software ). [ 17 ]

Desventajas

Sin embargo, si la implementación del hardware se ve comprometida, surgen problemas importantes. El software malicioso puede recuperar los datos del hardware (supuestamente) seguro; una gran clase de métodos utilizados es el ataque de temporización . [ 18 ] Esto es mucho más problemático de resolver que un error de software, incluso dentro del sistema operativo . Microsoft aborda regularmente los problemas de seguridad a través de Windows Update . De manera similar, se publican actualizaciones de seguridad periódicas para Mac OS X y Linux , así como para sistemas operativos móviles como iOS , Android y Windows Phone . Sin embargo, el hardware es un problema diferente. A veces, el problema se puede solucionar mediante actualizaciones del microcódigo del procesador (un tipo de software de bajo nivel). Sin embargo, otros problemas pueden solo resolverse reemplazando el hardware o mediante una solución alternativa en el sistema operativo que mitiga la ventaja de rendimiento de la implementación del hardware, como en el exploit Spectre . [ 19 ]

Véase también

Referencias

  1. 1 2 3 Manual del desarrollador de software para arquitecturas Intel® 64 e IA-32 (PDF) . Intel. Diciembre de 2017. págs. 303–309 , 410. 
  2. 1 2 Extensión de criptografía del procesador ARM® Cortex®-A57 MPCore (PDF) . ARM Holdings. 17 de diciembre de 2017. Archivado (PDF) del original el 13 de diciembre de 2016.
  3. 1 2 "Coprocesador criptográfico 4764" . IBM. Archivado del original el 21 de enero de 2018. Recuperado el 20 de enero de 2018 .
  4. 1 2 3 P. Schmid y A. Roos (2010). "Análisis del rendimiento de AES-NI" . Tom's Hardware . Recuperado el 20 de enero de 2018 .
  5. Kelly, Thomas (julio de 1998). "El mito del cuento celestial". Cryptologia . 22 (3): 244– 260. doi : 10.1080/0161-119891886902 .
  6. "ABYSS: Una arquitectura confiable para la protección de software" (PDF) . Archivado (PDF) del original el 21 de enero de 2018. Consultado el 20 de enero de 2018 .
  7. "Construcción del coprocesador seguro IBM 4758" (PDF) . IBM . Archivado (PDF) del original el 8 de agosto de 2017. Consultado el 20 de enero de 2018 .
  8. "Caso Enigma-E" (PDF) . Museo Criptográfico. Archivado (PDF) del original el 5 de noviembre de 2016. Consultado el 20 de enero de 2018 .
  9. 1 2 "Los consumidores y sus expectativas de compra en línea – Noticias de comercio electrónico" . 20 de febrero de 2015. Archivado del original el 30 de septiembre de 2016. Consultado el 29 de agosto de 2016 .
  10. "Conjunto de instrucciones x86-64" (PDF) . Universidad de Oxford . 18 de abril de 2017. pág. 1. Consultado el 24 de enero de 2018 . 
  11. Lynn Hathaway (junio de 2003). «Política nacional sobre el uso del estándar de cifrado avanzado (AES) para proteger los sistemas de seguridad nacional y la información de seguridad nacional» (PDF) . Archivado (PDF) del original el 6 de noviembre de 2010. Consultado el 15 de febrero de 2011 .
  12. "Aceleradores de hardware criptográficos" . OpenWRT.org. 17 de mayo de 2016. Archivado del original el 21 de enero de 2018. Consultado el 25 de enero de 2018 .
  13. 1 2 "Módulo de seguridad del coprocesador criptográfico IBM 4765" (PDF) . Instituto Nacional de Estándares y Tecnología . 10 de diciembre de 2012. Archivado (PDF) del original el 25 de enero de 2018. Recuperado el 20 de enero de 2018 .
  14. "Coprocesador criptográfico PCI IBM 4758 modelos 2 y 23" (PDF) . IBM . Mayo de 2004. Archivado del original (PDF) el 5 de julio de 2017. Consultado el 24 de enero de 2018 .
  15. Brent Hollingsworth ( AMD ) (octubre de 2012). "Nuevas instrucciones para "Bulldozer" y "Piledriver"" (PDF) . Observatorio de Arecibo . Archivado (PDF) del original el 9 de febrero de 2018. Consultado el 25 de enero de 2018 .
  16. 1 2 Shay Gueron ( Universidad de Haifa e Intel ) y Nicky Mouha ( KU Leuven y NIST ) (9 de noviembre de 2016). "Simpira v2: una familia de permutaciones eficientes que utilizan la función de ronda AES" (PDF) . Archivado (PDF) del original el 16 de julio de 2017. Recuperado el 25 de enero de 2018 .
  17. "Intel SGX para principiantes (Objetivos de diseño de Intel SGX)" . intel.com . 26 de septiembre de 2013. Archivado del original el 29 de abril de 2014.
  18. "BearSSL – Criptografía de tiempo constante" . www.bearssl.org . Archivado del original el 11 de enero de 2017. Consultado el 10 de enero de 2017 .
  19. Hachman, Mark (9 de enero de 2018). "Las pruebas de Microsoft muestran que los parches de Spectre reducen el rendimiento en PC antiguas" . PC World . Archivado del original el 9 de febrero de 2018. Consultado el 9 de enero de 2018 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Hardware-based_encryption&oldid=1359408006 "