El cifrado basado en hardware es el uso de hardware de computadora para ayudar al software, o algunas veces 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 ) se puede implementar utilizando el conjunto de instrucciones AES en la ubicua arquitectura x86 . [1] Estas instrucciones también existen en la arquitectura ARM . [2] Sin embargo, existen sistemas más inusuales donde el módulo de criptografía está separado del procesador central, en lugar de ser implementado como uncoprocesador , en particular un criptoprocesador seguro o un acelerador criptográfico , de los cuales un ejemplo es el IBM 4758 , o su sucesor, el IBM 4764 . [3] Las implementaciones de hardware pueden ser más rápidas y menos propensas a la explotación que las implementaciones de software tradicionales y, además, pueden protegerse contra la manipulación. [4]
Tipo de proceso | Criptografía |
---|---|
Sector (es) industrial (es) | Informática |
Principales tecnologías o subprocesos | Función hash criptográfica , cifrado |
Historia
Antes del uso de hardware informático, la criptografía se podía realizar a través de varios medios mecánicos o electromecánicos . Un ejemplo temprano es el Scytale utilizado por los espartanos . [5] La máquina Enigma era una máquina de cifrado de sistema electromecánico utilizada principalmente por los alemanes en la Segunda Guerra Mundial . [ cita requerida ] 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 Bletchley Park , donde la computadora Colossus se utilizó para romper el cifrado utilizado por el Alto Mando alemán durante la Segunda Guerra Mundial . Sin embargo, el uso de computadoras para cifrar llegó más tarde. En particular, hasta el desarrollo del circuito integrado , del cual el primero se produjo en 1960, las computadoras no eran prácticas para el cifrado, ya que, en comparación con el factor de forma portátil de la máquina Enigma , [8] las computadoras de la época ocupaban el espacio. de todo un edificio. Fue solo con el desarrollo de la microcomputadora que el cifrado de computadoras se volvió factible, fuera de las 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 hicieron frecuentes. [9] Las principales preocupaciones de los consumidores eran la seguridad y la velocidad. [9] Esto condujo a la eventual inclusión de los algoritmos clave en los procesadores como una forma de aumentar la velocidad y la seguridad. [4]
Implementaciones
En el conjunto de instrucciones
x86
La arquitectura X86 , como arquitectura CISC (Complex Instruction Set Computer) , normalmente implementa algoritmos complejos en hardware. [10] Los algoritmos criptográficos no son una excepción. La arquitectura x86 implementa importantes componentes del algoritmo AES (Advanced Encryption Standard) , [1] que la NSA puede utilizar para obtener información ultrasecreta . [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 las contraseñas (consulte PBKDF2 ).
BRAZO
Los procesadores ARM pueden admitir opcionalmente extensiones de seguridad. Aunque ARM es una arquitectura RISC (equipo de conjunto de instrucciones reducido) , existen varias extensiones opcionales especificadas por ARM Holdings . [2] [12]
Como coprocesador
- IBM 4758 : el predecesor del IBM 4764 . [13] Esto incluye su propio procesador especializado, memoria y un generador de números aleatorios . [14]
- IBM 4764 e IBM 4765 , idénticos excepto por la conexión utilizada. [13] El primero usa PCI-X , mientras que el segundo usa PCI-e . [3] Ambos son dispositivos periféricos que se conectan a la placa base .
Proliferación
Los procesadores Advanced Micro Devices (AMD) también son dispositivos x86 y han admitido 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 proporcionadas tanto por Intel como por AMD, las 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 . [dieciséis]
Ventajas
La implementación de la criptografía en el hardware significa que parte del procesador se dedica a la tarea. Esto puede conducir a un gran aumento de velocidad. [4] En particular, las arquitecturas de procesador modernas que admiten la canalización a menudo pueden ejecutar otras instrucciones al mismo tiempo que la ejecución de la instrucción de cifrado. Además, el hardware puede tener métodos para proteger los datos del software. En consecuencia, incluso si el sistema operativo está comprometido, los datos aún pueden estar seguros (consulte Extensiones de protección de software ). [17]
Desventajas
Sin embargo, si la implementación del hardware se ve comprometida, surgen problemas importantes. El software malintencionado puede recuperar los datos del hardware (supuestamente) seguro; una gran clase de método utilizado es el ataque de tiempo . [18] Esto es mucho más problemático de resolver que un error de software, incluso dentro del sistema operativo . Microsoft se ocupa regularmente de los problemas de seguridad a través de Windows Update . Del mismo modo, se lanzan 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 tema diferente. A veces, el problema se solucionará mediante actualizaciones del microcódigo del procesador (un tipo de software de bajo nivel). Sin embargo, es posible que otros problemas solo se puedan resolver reemplazando el hardware o mediante una solución alternativa en el sistema operativo que mitigue el beneficio de rendimiento de la implementación del hardware, como en el exploit de Spectre . [19]
Ver también
- Hardware de cifrado de disco
- Cifrado de disco completo basado en hardware
- Módulo de seguridad de hardware
Referencias
- ^ a b c Manual del desarrollador de software de arquitecturas Intel® 64 e IA-32 (PDF) . Intel. Diciembre de 2017. págs. 303–309, 410.
- ^ a b Extensión de criptografía del procesador ARM® Cortex®-A57 MPCore (PDF) . ARM Holdings. 17 de diciembre de 2017. Archivado (PDF) desde el original el 13de diciembrede 2016.
- ^ a b "Coprocesador criptográfico 4764" . IBM. Archivado desde el original el 21 de enero de 2018 . Consultado el 20 de enero de 2018 .
- ^ a b c P. Schmid y A. Roos (2010). "Rendimiento analizado AES-NI" . Hardware de Tom . Consultado el 20 de enero de 2018 .
- ^ Kelly, Thomas (julio de 1998). "El mito del Skytale". Cryptologia . 22 (3): 244–260. doi : 10.1080 / 0161-119891886902 .
- ^ "ABYSS: una arquitectura confiable para la protección de software" (PDF) . Archivado (PDF) desde el original el 21 de enero de 2018 . Consultado el 20 de enero de 2018 .
- ^ "Construyendo el coprocesador seguro IBM 4758" (PDF) . IBM . Archivado (PDF) desde el original el 8 de agosto de 2017 . Consultado el 20 de enero de 2018 .
- ^ "Caso Enigma-E" (PDF) . Museo de Cripto. Archivado (PDF) desde el original el 5 de noviembre de 2016 . Consultado el 20 de enero de 2018 .
- ^ a b "Los consumidores y sus expectativas de compra online - Noticias de comercio electrónico" . 20 de febrero de 2015. Archivado desde el original el 30 de septiembre de 2016 . Consultado el 29 de agosto de 2016 .
- ^ "Conjunto de instrucciones x86-64" (PDF) . Universidad de Oxford . 18 de abril de 2017. p. 1 . Consultado el 24 de enero de 2018 .
- ^ 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) desde el original el 6 de noviembre de 2010 . Consultado el 15 de febrero de 2011 .
- ^ "Aceleradores de hardware criptográfico" . OpenWRT.org. 17 de mayo de 2016. Archivado desde el original el 21 de enero de 2018 . Consultado el 25 de enero de 2018 .
- ^ a b "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) desde el original el 25 de enero de 2018 . Consultado el 20 de enero de 2018 .
- ^ "Coprocesador criptográfico PCI IBM 4758 Modelos 2 y 23" (PDF) . IBM . Mayo de 2004 . Consultado el 24 de enero de 2018 .
- ^ Brent Hollingsworth ( AMD ) (octubre de 2012). "Instrucciones" Nuevo "Bulldozer" y "Piledriver" (PDF) . Observatorio de Arecibo . Archivado (PDF) desde el original el 9 de febrero de 2018 . Consultado el 25 de enero de 2018 .
- ^ a b Shay Gueron ( Universidad de Haifa e Intel ) y Nicky Mouha ( KU Leuven & NIST ) (9 de noviembre de 2016). "Simpira v2: una familia de permutaciones eficientes que utilizan la función de ronda AES" (PDF) . Archivado (PDF) desde el original el 16 de julio de 2017 . Consultado el 25 de enero de 2018 .
- ^ "Intel SGX para principiantes (objetivos de diseño Intel SGX)" . intel.com . 2013-09-26. Archivado desde el original el 29 de abril de 2014.
- ^ "BearSSL - Cripto a tiempo constante" . www.bearssl.org . Archivado desde el original el 11 de enero de 2017 . Consultado el 10 de enero de 2017 .
- ^ Hachman, Mark (9 de enero de 2018). "Las pruebas de Microsoft muestran que los parches de Spectre reducen el rendimiento en PC más antiguas" . PC World . Archivado desde el original el 9 de febrero de 2018 . Consultado el 9 de enero de 2018 .