Un criptoprocesador seguro es un microprocesador o computadora en un chip dedicado a realizar operaciones criptográficas , integrado en un encapsulado con múltiples medidas de seguridad física , que le otorgan un grado de resistencia a la manipulación . A diferencia de los procesadores criptográficos que envían datos descifrados a un bus en un entorno seguro, un criptoprocesador seguro no envía datos descifrados ni instrucciones de programa descifradas en un entorno donde no siempre se puede mantener la seguridad.
El propósito de un criptoprocesador seguro es actuar como la piedra angular de un subsistema de seguridad, eliminando la necesidad de proteger el resto del subsistema con medidas de seguridad física. [1]
Un módulo de seguridad de hardware (HSM) contiene uno o más chips criptoprocesadores seguros . [2] [3] [4] Estos dispositivos son criptoprocesadores seguros de alto grado que se utilizan con servidores empresariales. Un módulo de seguridad de hardware puede tener múltiples niveles de seguridad física con un criptoprocesador de un solo chip como su componente más seguro. El criptoprocesador no revela claves o instrucciones ejecutables en un bus, excepto en forma cifrada, y pone a cero las claves mediante intentos de sondeo o escaneo. El chip criptográfico también puede estar encapsulado en el módulo de seguridad de hardware con otros procesadores y chips de memoria que almacenan y procesan datos cifrados. Cualquier intento de eliminar el encapsulado hará que las claves en el chip criptográfico se pongan a cero. Un módulo de seguridad de hardware también puede ser parte de una computadora (por ejemplo, un cajero automático ) que funciona dentro de una caja fuerte cerrada para disuadir el robo, la sustitución y la manipulación.
Las tarjetas inteligentes modernas son probablemente la forma más ampliamente implementada de criptoprocesador seguro, aunque criptoprocesadores seguros más complejos y versátiles se implementan ampliamente en sistemas como cajeros automáticos , decodificadores de TV , aplicaciones militares y equipos de comunicación portátiles de alta seguridad. [ cita requerida ] Algunos criptoprocesadores seguros pueden incluso ejecutar sistemas operativos de propósito general como Linux dentro de su límite de seguridad. Los criptoprocesadores ingresan instrucciones de programa en forma cifrada, descifran las instrucciones en instrucciones simples que luego se ejecutan dentro del mismo chip criptoprocesador donde las instrucciones descifradas se almacenan de manera inaccesible. Al nunca revelar las instrucciones de programa descifradas, el criptoprocesador evita la manipulación de los programas por parte de técnicos que pueden tener acceso legítimo al bus de datos del subsistema. Esto se conoce como cifrado de bus . Los datos procesados por un criptoprocesador también se cifran con frecuencia.
El Módulo de Plataforma Confiable (TPM) es una implementación de un criptoprocesador seguro que lleva la noción de computación confiable a las PC comunes al permitir un entorno seguro . [ cita requerida ] Las implementaciones actuales de TPM se centran en proporcionar un entorno de arranque a prueba de manipulaciones y un cifrado de almacenamiento persistente y volátil.
También existen chips de seguridad para sistemas integrados que proporcionan el mismo nivel de protección física para claves y otro material secreto que un procesador de tarjetas inteligentes o un TPM, pero en un paquete más pequeño, menos complejo y menos costoso. [ cita requerida ] A menudo se los denomina dispositivos de autenticación criptográfica y se utilizan para autenticar periféricos, accesorios y/o consumibles. Al igual que los TPM, suelen ser circuitos integrados listos para usar destinados a integrarse en un sistema, normalmente soldados a una placa de PC.
Medidas de seguridad utilizadas en criptoprocesadores seguros:
Los criptoprocesadores seguros, aunque útiles, no son invulnerables a los ataques, en particular para oponentes bien equipados y decididos (por ejemplo, una agencia de inteligencia gubernamental) que estén dispuestos a gastar suficientes recursos en el proyecto. [5] [6]
Un ataque a un criptoprocesador seguro tuvo como objetivo el IBM 4758. [ 7] Un equipo de la Universidad de Cambridge informó de la extracción exitosa de información secreta de un IBM 4758, utilizando una combinación de matemáticas y hardware de descifrado de códigos de propósito especial . Sin embargo, este ataque no era práctico en sistemas del mundo real porque requería que el atacante tuviera acceso completo a todas las funciones API del dispositivo. Las prácticas normales y recomendadas utilizan el sistema de control de acceso integral para dividir la autoridad de modo que ninguna persona pueda montar el ataque. [ cita requerida ]
Si bien la vulnerabilidad que explotaron fue una falla en el software cargado en el 4758, y no en la arquitectura del 4758 en sí, su ataque sirve como recordatorio de que un sistema de seguridad es tan seguro como su eslabón más débil: el eslabón fuerte del hardware del 4758 quedó inútil debido a fallas en el diseño y la especificación del software cargado en él.
Las tarjetas inteligentes son mucho más vulnerables, ya que están más expuestas a ataques físicos. Además, las puertas traseras de hardware pueden socavar la seguridad de las tarjetas inteligentes y otros criptoprocesadores a menos que se invierta en métodos de diseño anti-puertas traseras. [8]
En el caso de aplicaciones de cifrado de disco completo , especialmente cuando se implementan sin un PIN de arranque , un criptoprocesador no estaría seguro contra un ataque de arranque en frío [9] si la remanencia de datos pudiera explotarse para volcar el contenido de la memoria después de que el sistema operativo haya recuperado las claves criptográficas de su TPM .
Sin embargo, si todos los datos confidenciales se almacenan únicamente en la memoria del criptoprocesador y no en un dispositivo de almacenamiento externo, y el criptoprocesador está diseñado para no poder revelar claves ni datos descifrados o no cifrados en las almohadillas de unión del chip o en las protuberancias de soldadura , entonces dichos datos protegidos solo serían accesibles al sondear el chip del criptoprocesador después de quitarle todo el envoltorio y las capas de protección metálicas. Esto requeriría tanto la posesión física del dispositivo como habilidades y equipos que van más allá de los de la mayoría del personal técnico.
Otros métodos de ataque implican analizar cuidadosamente el tiempo de varias operaciones que pueden variar según el valor secreto o mapear el consumo actual versus el tiempo para identificar diferencias en la forma en que se manejan internamente los bits "0" en comparación con los bits "1". O el atacante puede aplicar temperaturas extremas, frecuencias de reloj excesivamente altas o bajas o voltaje de suministro que exceda las especificaciones para inducir una falla. El diseño interno del criptoprocesador se puede adaptar para prevenir estos ataques.
Algunos criptoprocesadores seguros contienen núcleos de procesador duales y generan claves de cifrado inaccesibles cuando es necesario, de modo que incluso si se realiza ingeniería inversa al circuito, no se revelará ninguna clave necesaria para descifrar de forma segura el software arrancado desde la memoria flash cifrada o comunicado entre núcleos. [10]
El primer diseño de criptoprocesador de un solo chip fue para protección contra copias de software de computadoras personales (ver Patente de EE. UU. 4.168.396, 18 de septiembre de 1979) y se inspiró en la Carta abierta a los aficionados de Bill Gates .
El módulo de seguridad de hardware (HSM), un tipo de criptoprocesador seguro, [3] [4] fue inventado por el ingeniero egipcio-estadounidense Mohamed M. Atalla , [11] en 1972. [12] Inventó un módulo de alta seguridad llamado "Atalla Box" que encriptaba mensajes PIN y ATM , y protegía dispositivos fuera de línea con una clave generadora de PIN indescifrable. [13] En 1972, presentó una patente para el dispositivo. [14] Fundó Atalla Corporation (ahora Utimaco Atalla ) ese año, [12] y comercializó la "Atalla Box" al año siguiente, [13] oficialmente como el sistema Identikey. [15] Era un lector de tarjetas y un sistema de identificación de clientes , que consistía en una consola de lectura de tarjetas , dos teclados PIN de clientes , un controlador inteligente y un paquete de interfaz electrónica incorporado. [15] Permitía al cliente escribir un código secreto, que es transformado por el dispositivo, usando un microprocesador , en otro código para el cajero. [16] Durante una transacción , el número de cuenta del cliente fue leído por el lector de tarjetas . [15] Fue un éxito y condujo al uso generalizado de módulos de alta seguridad. [13]
Temerosos de que Atalla dominara el mercado, los bancos y las compañías de tarjetas de crédito comenzaron a trabajar en un estándar internacional en la década de 1970. [13] El IBM 3624 , lanzado a fines de la década de 1970, adoptó un proceso de verificación de PIN similar al sistema Atalla anterior. [17] Atalla fue uno de los primeros competidores de IBM en el mercado de seguridad bancaria. [14] [18]
En la conferencia de la Asociación Nacional de Bancos de Ahorro Mutuos (NAMSB) en enero de 1976, Atalla presentó una actualización de su sistema Identikey, llamado Interchange Identikey. Añadió las capacidades de procesar transacciones en línea y lidiar con la seguridad de la red . Diseñado con el objetivo de llevar las transacciones bancarias a Internet , el sistema Identikey se extendió a las operaciones de instalaciones compartidas. Era consistente y compatible con varias redes de conmutación , y era capaz de reiniciarse electrónicamente a cualquiera de los 64.000 algoritmos no lineales irreversibles según lo indicado por la información de los datos de la tarjeta . El dispositivo Interchange Identikey se lanzó en marzo de 1976. [16] Más tarde, en 1979, Atalla presentó el primer procesador de seguridad de red (NSP). [19] Los productos HSM de Atalla protegen 250 millones de transacciones con tarjeta todos los días a partir de 2013, [12] y aseguran la mayoría de las transacciones de cajeros automáticos del mundo a partir de 2014. [11]
{{cite book}}
: Mantenimiento de CS1: otros ( enlace ){{cite web}}
: CS1 maint: varios nombres: lista de autores ( enlace )