Una versión similar de este artículo apareció en Embedded.com , agosto de 2011.
Introducción
Los algoritmos criptográficos son de alto rendimiento, los motores de seguridad que requieren un espacio considerable en un diseño. Cuando se añaden medidas para impedir los ataques de seguridad, los requisitos de espacio y la memoria de crecer aún más exigente. Por estas razones, los algoritmos criptográficos han sido tradicionalmente incrustado como diseños propios (es decir, la propiedad intelectual , la propiedad intelectual) en el hardware de las tarjetas inteligentes o chips de 8-bits. Con las recientes mejoras en el diseño de la base y el rendimiento de la frecuencia, los diseñadores se preguntan si los bloques de direcciones IP a medida siguen siendo necesarios para estos algoritmos de seguridad. En resumen, un diseñador puede utilizar un núcleo genérico en el hardware para ahorrar espacio y costes, e integrar los algoritmos criptográficos de software? La respuesta es simple, bueno, no es tan sencillo-que depende de la necesidad.
La ciencia del secreto
La criptografía fue originalmente diseñado y conocido como la ciencia del secreto. Era el arma de los reyes, generales, espías y embajadores. En el siglo pasado, la criptografía ha crecido hasta convertirse en una caja de herramientas más sofisticadas que proporciona la confianza de información a sus usuarios.
Dispositivos criptográficos tienen una larga historia, ya que la historia de los microprocesadores. (A modo de recordatorio, la criptografía y su lado oscuro, criptoanálisis , es el origen de la tecnología informática, gracias al proyecto Colossus. ¹) Las fuerzas militares y diplomáticos desarrollados máquinas criptográficas para proteger sus comunicaciones. Dependiendo de la fuerza requerida (es decir, una comunicación táctica en el campo de batalla tiene una vida útil más corta que un mensaje diplomático), las máquinas se reunió una serie de limitaciones: los costos de velocidad, fiabilidad, integridad, protección de los secretos, la facilidad de uso, y aceptable.
Cuando las necesidades de seguridad se extendió en el mundo civil, las nuevas tecnologías y las limitaciones evolucionado. La criptografía asimétrica ² en especial para estos mercados se disparó mientras que el costo se convirtió en una preocupación mayor. Mientras tanto, la confianza, la autenticidad y la credibilidad son siempre las consideraciones primordiales para los mercados financieros y la banca. Las transacciones financieras a distancia sólo sería posible si los mecanismos criptográficos podría sustituir a la tradicional cara a cara de acuerdo y apretón de manos.
Así que los primeros dispositivos criptográficos se dedica estrictamente a la seguridad. Con un factor de forma similar a una caja de seguridad suelo, la evolución de los módulos de seguridad de hardware (HSM) de forma segura y organizada maneja claves más secretas. Fabricado en acero y pesados, sitios y monumentos históricos eran, y siguen siendo, muy similar a los cuadros militares reforzadas. Estos módulos de seguridad consistió en una caja de seguridad y se procesan claves seguras, sobre todo para la autenticación, sino también para la generación de claves, la generación de códigos PIN y clave de protección (de almacenamiento). Las normas de seguridad, como el NIST FIPS 140-2, el programa de certificación EMV ® estándar para el uso de tarjetas inteligentes, y Common Criteria ( ISO15408) se han desarrollado y después se aceleró el despliegue de estos dispositivos.
La confidencialidad, integridad y autenticación
La sigla CIA (que significa la confidencialidad, integridad y autenticación) simboliza los principales servicios que la criptografía puede ofrecer hoy en día. En los términos más simples, que le da una respuesta precisa a las amenazas bien identificados.
La confidencialidad es necesaria para evitar las escuchas y el acceso no autorizado a datos sensibles que los propietarios sólo quieren compartir con las personas autorizadas. Por lo tanto, la embajada envía notas a su Ministerio de Relaciones Exteriores, el espía transmite los resultados de las acciones y nadie más se lee lo que está escrito ("sólo para sus ojos"). En un mundo de consumidores, la confidencialidad es necesaria para la transmisión de programas de televisión de pago que se accede sólo por los suscriptores autorizados. Es necesaria para proteger los datos personales transmitidos a través de redes públicas que son de otra manera fácilmente accesible. Los teléfonos móviles y conexiones Wi-Fi ®, son ejemplos típicos.
Integridad de las modificaciones no autorizadas y protege o no controlada. Modificación de los dispositivos significa que el cambio de comportamiento (el software ha sido modificado) y la consiguiente pérdida de confianza (los datos ya no son confiables). Este tipo de modificación maliciosa se hace típicamente con el malware de ejecución en un dispositivo de otra manera digna de confianza, mientras que el propietario del dispositivo se induzca a error. Los datos bancarios es particularmente sensible a esta amenaza, como la integridad de los datos se pierden si una transacción financiera está modificado de forma maliciosa.
Autenticación garantiza el origen de la información. ¿Qué valor tiene la información si la fuente no se valida? Es evidente que la respuesta depende de la fuente y la sensibilidad de esa información. Un contrato firmado el firmante se compromete, por lo que la verificación de la identidad es tan importante como el contenido del contrato mismo.Modernos dispositivos móviles y PC aceptar sólo autenticados, autorizados actualizaciones de la aplicación y / o modificaciones. Esto asegura que nadie toma el control del dispositivo y se ejecuta software no autorizado.Autenticación protege un dispositivo o un componente contra la falsificación. Un elemento de confianza no sólo puede demostrar su origen, pero también puede autenticar el origen del dispositivo al que está unido. Así, una batería, un cartucho de impresora, o consumibles muestra sus "credenciales" en el dispositivo de alojamiento que, a su vez, autentica, "confía" que la de consumo.
Algoritmos criptográficos vienen con costos
La comunidad de cripto ha desarrollado muchos algoritmos para asegurar que estos servicios de seguros. La criptografía asimétrica se basa en la teoría de números y criptografía simétrica se basa en más pragmáticos "recetas".Debido a su amplia adopción y publicación, estos algoritmos están disponibles hoy en día como estándares que son comúnmente y medirse fácilmente y adaptado para la aplicación.
Los algoritmos tienen una desventaja distintiva, la consecuencia de ofrecer una respuesta precisa a las amenazas identificadas: el costo, o más exactamente los costos,. El costo se mide en términos de tiempo de ejecución, el uso de la memoria, el consumo de energía, y la superficie de morir. Estas no son cuestiones menores e insignificantes, se sabe que han impedido, o incluso impedido la aplicación de las medidas de seguridad eficaces en los dispositivos en el pasado. Algoritmos y algoritmos de codificación son accesos directos de diseño, que se utilizan habitualmente en la industria y considera suficiente. Estos accesos directos cierto que consumen menos recursos o de simplificar la gestión de la seguridad. Considerado mejor que nada, estas soluciones realmente no disuadir a los atacantes. En lugar de un enfoque profesional a la seguridad promueve una defensa confiable, estandarizada y apropiada contra las amenazas que han sido identificados objetivamente.
La industria de la seguridad siempre ha entendido estos principios. Toda su historia lo demuestra la lucha constante entre las ventajas y desventajas de los costos de ejecución más baja en comparación con el nivel de seguridad requerido. Un ejemplo obvio es, con la criptografía asimétrica (por ejemplo, RSA , curvas elípticas) donde las longitudes de las claves corresponden al nivel de la seguridad, la larga sea la clave, mayor será la protección. Pero además existe otra regla se aplica en este contexto: la larga sea la clave, mayor es la complejidad. Refundido, el cálculo es más largo y los recursos necesarios son más grandes. A las estimaciones de riesgo prudentes de evaluación que la longitud de clave es suficiente para la tarea y, por lo tanto, ¿cuál es el nivel mínimo de complejidad requerido para la ejecución. De hecho, hoy en día las claves RSA se utilizan en dispositivos simples se alargan muy lentamente, mientras que los aumentos de los dispositivos de poder de cómputo. Al final, usando una clave demasiado corta debilita la ejecución, utilizando mucho tiempo una clave es innecesariamente costoso.
Evolución de la Embedded Criptografía
Los algoritmos criptográficos son los más comúnmente utilizados en las tarjetas inteligentes. El chip garantiza la seguridad comprobando las credenciales de los titulares de tarjetas (por lo general un código PIN) y la realización de las operaciones criptográficas.
Muy simple en término de la arquitectura, estas tarjetas fueron incorporados inicialmente con el algoritmo y un núcleo de 8-bits, funcionando a pocas decenas de megahercios . El algoritmo incorporado proporciona algunos servicios, pero absolutamente no podía realizar cualquier cómputo criptográfico. Por esa razón, los bloques de cifrado de hardware tenía que ser añadido.
Inicialmente, los bloques de hardware de cifrado sólo se realizan operaciones criptográficas simétricas, porque los algoritmos eran menos complejas que las contrapartes asimétricas. Estos bloques de hardware, por lo tanto, presentan una limitación de gran seguridad, ya que requiere una gestión cuidadosa de personalización de tarjetas, la distribución de las teclas, y la diversificación de las teclas. Por otra parte, la incapacidad para llevar a cabo a bordo de cómputos de RSA llevó a debilidades de seguridad. En consecuencia, el esquema de autenticación EMV estática era el único método utilizado para la autenticación de la tarjeta. Debido a que esas tarjetas no eran realmente tan "inteligente", fue ese esquema muy propensos al ataque de las tarjetas fraudulentas.
Los piratas informáticos continúan explotando las debilidades de los bloques de hardware RSA, mientras que los costos de que el hardware también se redujo. Esquemas de autenticación más seguros sobre la base de a bordo RSA cómputo surgido. No obstante, los costes mueren todavía limitada la longitud de las claves utilizadas y el núcleo todavía no podía realizar cálculos complejos.
Otros factores de forma apareció en la década de 1990. Maxim i ® Botón de los dispositivos de seguridad mejorada mediante la propuesta de un enfoque innovador para la protección de las teclas y haciendo que la plataforma más flexible. PCMCIA tarjetas también fueron muy populares por su fácil aceptación en los ordenadores, sus tasas de intercambio de datos rápido y más grande de la carcasa.
A pesar de todos estos avances, en fecha tan tardía como 2003, las arquitecturas de la criptografía sigue siendo el mismo: un proceso lento de 8-bit del núcleo, por lo general un 8051, respaldado por los bloques de hardware criptográfico. Otras limitaciones se mantuvo: las pequeñas RAM tamaños (por lo general cientos de bytes), y aplicaciones de alcance limitado (sobre todo en ROM de código, sobre todo para las tarjetas inteligentes). La aparición posterior de no volátiles , tales como memorias EEPROM y flash añade flexibilidad para algunas aplicaciones, pero no cambia significativamente las condiciones criptográficos o métodos de aplicación.
El rediseño de cambiantes necesidades de seguridad
Para aplicaciones donde la seguridad es una prioridad más baja y donde los dispositivos están menos enfocados en las necesidades de cifrado / seguridad, una aplicación de software suele ser la panacea. Un gestor de arranque que comprueba la integridad y verifica la autenticidad del firmware embebido es comúnmente utilizado en la actualidad para prevenir la mayoría de las amenazas a los dispositivos de consumo e industriales. Las necesidades criptográficas fundamentales para estas aplicaciones seguras menos complejas son las funciones de hash y de verificación de firma digital, y todo se resuelve con la implementación de software. La implementación del software es claramente más sencillo que la protección integrada y no afecta el tamaño del chip. No se requiere un bloque de hardware especializado que no puede ser utilizada por cada cliente, y, finalmente, no aumentan los costos del sistema.
Por supuesto, las aplicaciones evolucionando. Si la seguridad no era necesario ayer, mañana podría llegar a ser crucial. Sin bloques criptográficas incorporadas en la solución existente, sólo el software de cifrado y sus sucesivas actualizaciones proporcionará la actualización criptográfica. Si la necesidad de seguridad es alto y debe ser integrado en el hardware, a continuación, el rediseño del dispositivo se requiere y que presenta desglose posible solución.
Un ejemplo típico de este proceso es la medición de energía, una industria en la normalización no es completa y todavía hay margen de maniobra de las soluciones propietarias e iniciativas. Adición de un chip de seguridad a un metro existente puede ser demasiado complicado (es decir, un chip adicional y indeterminado PCB modificación), demasiado caro y, por tanto prematuro también, en comparación con la adición de servicios simples criptográficas con el software. Todo esto podría incluso no ser necesaria si sólo se utiliza de forma esporádica en ciertos momentos del ciclo de vida del medidor. Un análisis de costo-contra-el riesgo sería cuantificar el valor y el retorno al fabricante del medidor y el usuario. Históricamente, si la justificación para una mayor seguridad en los mercados de masas no es evidente, la seguridad siempre ha sido rechazada por su costo adicional.
Software de cifrado introduce nuevos riesgos
Es tiempo de admitir que la adición de la seguridad a través del software de cifrado viene con sus propios riesgos.Cuando una ejecución del algoritmo se realiza en un entorno con otras aplicaciones corriendo al mismo tiempo, entonces la fuga de información de las medidas de tiempo o las variaciones de tiempo o de datos almacenados en caché se puede permitir que esas otras aplicaciones para recuperar información sobre las claves secretas manejadas. ³ Esta amenaza es grave y ninguna de las aberturas " "plataforma está sujeta a ella. Sólo plataformas autenticados, en concreto sólo plataformas que ejecutan aplicaciones autenticadas, deberán considerarse aceptable para un diseño.
La comprensión de las disyuntivas: hardware criptográfico, o la implementación del software?
Es posible que se esté preguntando si desea utilizar una aplicación de software o hardware para obtener la seguridad que usted necesita. La respuesta depende de la necesidad: ¿Cuánta seguridad es una aplicación realmente necesita?
Todavía hay un montón de situaciones en las que la aplicación de la seguridad con hardware criptográfico que tiene más sentido. Cuando grandes cantidades de datos seguras necesitan ser procesados como en la televisión de pago o aceleradores SSL, seguridad de alto rendimiento se puede lograr mejor en hardware.
Si la seguridad se ha implementado con un microcontrolador rápido, a continuación, los datos se procesan más rápido que con una aplicación de software externo. Bloques de hardware también puede simplificar el diseño y evitar el problema de los datos procesados por el núcleo. Procesamiento de los datos al mismo tiempo mientras se ejecuta la aplicación proporciona un mejor rendimiento en tiempo real del sistema. Recordemos, por último, que la implementación en hardware cuesta más que una implementación de software.
Para complicar más el tema, tenga en cuenta que, las compensaciones entre un hardware o software de aplicación puede existir en la misma aplicación. En este contexto, la decisión sobre el diseño final debe basarse en los diferentes usos previstos de la criptografía. Una simétrica, la necesidad cifrado masivo podrían ser abordados en el hardware, mientras que la autenticación, el intercambio de llaves, y las configuraciones de protocolos se tratan mejor por el software. En última instancia, la decisión sobre cómo configurar el cifrado se basan en tiempo, espacio, costo, o un equilibrio de todos.
Hay otra situación muy importante a considerar. Si una aplicación no será consciente de que un mecanismo de cifrado está en uso, a continuación, la criptografía debe ser en el hardware. El ejemplo más típico de esta situación es la encriptación automática / descifrado sobre la marcha de la seguridad del programa. Sólo hardware criptográfico transparente puede abordar dicho servicio, ya que permite portar el software fácil y la ejecución de un contexto no seguro a un muy seguro sin costo adicional. Suponiendo que la configuración del motor de cifrado se hace, todo se realiza de forma transparente. Estas soluciones integradas de cifrado están presentes en los chips de varios, que van desde la familia MaxQ ® de RISC microcontroladores a la plataforma USIP. Hay mayores beneficios de una solución integrada, como estos dispositivos: el desarrollo de software no se carga con la necesidad de desarrollar la criptografía, e incluso el software tan complejo como un completo sistema operativo Linux ® puede ser fácilmente portado a una plataforma segura, sin modificación del código.
Algunas situaciones tradicionales a favor de la criptografía de hardware. Chips con núcleos muy pequeños (como en la "antigua" edad de los circuitos integrados) no tienen los recursos o de tiempo para llevar a cabo cálculos criptográficos de una manera razonable. Esto es cierto incluso teniendo en cuenta las implementaciones muy optimizado. El cifrado RSA se puede considerar factible en casi todas las plataformas, mientras que el descifrado de RSA es totalmente irreal para las longitudes de las claves de más de 1024 bits.
Cuando no hay lugar para la ejecución del software, ya que el chip no incrusta cualquier núcleo, la criptografía en el hardware es la única solución. Esta situación es típica con productos de consumo, donde los costos están bajo presión y la seguridad no es una ventaja la venta. De hecho, se trata de dónde y cómo los fabricantes quieren proteger a sus IPs contra los falsificadores o competidores. Si bien esta función defensiva no se reclama o la promoción de los clientes, que no obstante está presente en el menor costo posible. Mantener los costos bajos significa que el tamaño más pequeño de morir, lo que implica que las funciones del chip se reducen al mínimo. Por lo general, sólo ven fichas de autenticación en estas situaciones. Los chips de realizar cálculos criptográficos simétricos que implican un desafío y respuesta: el envío de un secreto y la recepción de la verificación de la espalda de la identidad. La criptografía simétrica de desafío y respuesta se hace habitualmente se utiliza con baterías para computadoras portátiles y teléfonos móviles ya que los fabricantes están muy preocupados por la falsificación.
Generación de números aleatorios, si no pseudoaleatorio, necesitan una aplicación de cifrado de hardware también. La calidad (es decir, la aleatoriedad real) y la facilidad de uso de números al azar (es decir, sin necesidad de almacenar un número de estado) los recursos de hardware de mandatos. Lo ideal sería que el posprocesamiento de software puede ayudar a producir más números mediante la aplicación de un solo sentido funciones.
Terminales financieros requieren una mayor seguridad
Las normas recientes como la EMV, MasterCard ® PayPass ™, o Visa ® PED han llevado al desarrollo y mejora de nuevas categorías de dispositivos de seguridad. Hoy en día cada vez que se habla de una tarjeta inteligente, que realmente quieres decir lector de tarjetas inteligentes. Autenticación mediante código PIN significa que la protección de código PIN y, por último, el cifrado del código PIN, los servicios de cifrado disponibles.
Uno de los mayores mercados de mayor seguridad como son los terminales financieros, el punto de venta (POS) y cajeros automáticos (ATMs). Aunque las máquinas de punto de venta y cajeros automáticos ya estaban utilizando la tecnología de banda magnética, la aplicación del estándar EMV subió recientemente a causa de un fuerte apoyo de las redes de tarjetas bancarias y de crédito. Desde varios mercados nacionales de los Estados Unidos, puntos de venta de máquinas y cajeros automáticos se han extendido en un mercado global y estandarizada. Servicios relacionados con la operación de pago están creciendo debido a que el punto de venta y cajeros automáticosdispositivos ahora alojar aplicaciones ricas y múltiples. De hecho, estos dispositivos de negocios ahora funcionan más como dispositivos de consumo, porque son como los PC más antiguos en el término de potencia de cálculo y se mimetizan con los teléfonos inteligentes mediante el reciclaje de sus tecnologías (por ejemplo, la pantalla táctil, el color, la portabilidad, diseño).
Sin embargo, a diferencia de la gran variedad de dispositivos de consumo, terminales financieras todavía requieren un alto nivel de seguridad. Estos terminales son los objetivos fundamentales de la manipulación, por lo que la seguridad de los estándares PCI direcciones PTS debe incluir la protección física y un amplio uso de la criptografía.
Una arquitectura de las tarjetas inteligentes ya no es la única opción para la protección de estos terminales financieros. Ahora coexisten dos enfoques principales, la arquitectura y la arquitectura bichip monochip.
La arquitectura combina un bichip de usos múltiples, genérico, microcontrolador de 32 bits de gran alcance y un chip de seguridad compañera más pequeña. Esta arquitectura permite a los fabricantes para separar los servicios de seguridad y otros servicios, el chip de seguridad procesa los servicios de seguridad, mientras que los otros servicios se dirigen por el microcontrolador genérico. El chip de seguridad pueden tener poder de cómputo suficiente, pero por lo general contiene bloques de cifrado de hardware. Esta configuración se utiliza principalmente por razones históricas, porque muy a menudo estos chips heredan las tecnologías basadas en diseños de precursores como las tarjetas inteligentes o i dispositivos de Button. Este enfoque le permite añadir servicios de cifrado con una astilla de la plataforma a las certificaciones heredados de las antiguas tecnologías ya diseñados in Cuando esta "inteligente" de software opera y explota los bloques de hardware, los usuarios pueden aplicar a casi todos los algoritmos habituales.Como resultado, la flexibilidad del software y el rendimiento del hardware se apalancado juntos para obtener resultados máximos.
La arquitectura monochip utiliza un solo chip con un potente núcleo de 32 bits, frecuencia de reloj de cientos de megahertz, capaces de ejecutar un sistema operativo rica en efectos gráficos y de manipulación de diversos enlaces de comunicación (por ejemplo, Ethernet , Wi-Fi , móvil). Este chip se dirige todas las tareas de cifrado y tiene sentido, ya que pueden aprovechar los vastos recursos del software para varios beneficios evidentes.
- La flexibilidad en la elección del algoritmo, añadiendo un nuevo algoritmo para la plataforma es tan simple como una actualización de software.
- Rendimiento satisfactorio corresponde a las necesidades de aplicación.
- Las grandes longitudes de clave se admiten sin limitación alguna, alargando así la vida útil del dispositivo seguro de.
- La adición de las contramedidas simples.
- Sin costo adicional en el chip, no hay un aumento dado por el uso de cifrado.
Un ejemplo de tal un solo chip seguro es la máxima USIP PRO, que ejecuta las implementaciones de software de los algoritmos de cifrado más comunes ( Tabla 1 ) de manera muy eficiente.
Tabla 1. USIP PRO rendimiento criptográfico | |
Algoritmos | Acelerar |
SHA-1 | 2083kBps |
RSA 2048 CRT descifrar | 400ms |
RSA 2048 cifrar | 18ms |
ECDSA P-192 señal | 23ms |
Signo ECDSA B-163 | 16 ms |
Este comportamiento demuestra que las necesidades de cifrado habituales, como los expresados en los requerimientos PCI PTS, se abordan en un tiempo aceptable.
Conclusión
Como la longitud de claves de software aumenta para acomodar las necesidades cambiantes de una mayor seguridad, por lo que el mercado exige una mayor variedad de implementaciones criptográficas. Los nuevos algoritmos (curvas elípticas) puede reducir la complejidad de las aplicaciones, pero aún así los diseñadores deben luchar con el equilibrio entre la implementación de seguridad en el software o hardware. Aunque siempre habrá excepciones para determinados servicios, nichos de mercado, o chips muy pequeños, la criptografía embebido está reemplazando a la criptografía de software para una amplia gama de servicios. El nivel muy alto de seguridad para las transacciones financieras es un ejemplo puntual de cómo y por qué sólo la criptografía integrada puede proteger tanto a los sistemas y sus usuarios.
Referencias
- Para obtener más información sobre el proyecto Colossus y romper el código de la Segunda Guerra Mundial, vaya a www.bletchleypark.org.uk / content / visita / whattosee / ColossusRebuildProject.rhtm .
- La criptografía asimétrica es un sistema en el que las claves de cifrado y descifrado son distintas y por otra parte, la clave de cifrado puede ser público. La criptografía asimétrica es el opuesto de la criptografía simétrica, en la que se llevan a cabo el cifrado y descifrado con la misma clave que se mantiene en secreto.
- Lawson, Nate, "Los ataques de canal lateral del software criptográfico", IEEE Computer Society ® , Nov/Dec-2009). ( www.computer.org/portal/web/csdl/doi/10.1109/MSP.2009.165 ).
i Button es una marca registrada de Cypress Semiconductor, Inc. EMV es una marca de certificación registrada propiedad de EMVCo, LLC. (Véase Responsabilidad EMVCo .) IEEE es una marca de servicio registrada del Instituto de Ingenieros Eléctricos y Electrónicos, Inc. Linux es una marca registrada de Linus Torvalds. MasterCard es una marca registrada y marca de servicio registrada de MasterCard International Incorporated. MaxQ es una marca registrada marca registrada de Cypress Semiconductor, Inc. PayPass es una marca registrada y marca de servicio registrada de MasterCard International Incorporated. Visa es una marca registrada y marca de servicio registrada de Visa International Service Association. Wi-Fi es una marca de certificación registrada de Wi-Fi Alliance Corporation.
No hay comentarios:
Publicar un comentario