Problemas de protección de tarjetas inteligentes.
Problemas de seguridad de las tarjetas inteligentes
Dataquest pronostica que se espera que el mercado de tarjetas inteligentes crezca significativamente de los actuales 941 millones de tarjetas por año a 4,7 mil millones en 2002. Las tarjetas inteligentes — un dispositivo de ingeniería del tamaño de una tarjeta de crédito que contiene un chip de computadora en miniatura y se utiliza para una amplia variedad de propósitos: desde autenticar a un usuario de PC, almacenar sus claves criptográficas, cifrar correos electrónicos y almacenar el llamado “efectivo digital”. Al mismo tiempo, como afirman con bastante seguridad los representantes oficiales de la industria de las tarjetas inteligentes, las «tarjetas con chip— es la tecnología más segura disponible. Son muy difíciles de abrir. ¿Pero es esto realmente así?
Formulación general del concepto de método analítico
Una tarjeta inteligente típica — Es un microprocesador de 8 bits, memoria o ROM de sólo lectura, ROM eléctricamente programable (EEPROM), memoria de acceso aleatorio (RAM), entrada y salida serie. Todo esto está alojado en un chip, encerrado en una carcasa de tarjeta de plástico. El material de la clave criptográfica se almacena en la EEPROM. Un dispositivo criptográfico estándar (y, en particular, una tarjeta inteligente) utiliza una clave secreta para procesar información de entrada y/o producir información de salida. Los diseños de protocolos tradicionales comunes suponen que los mensajes de entrada y salida están disponibles para el atacante, pero que él no conoce ninguna información sobre las claves. Sin embargo, de hecho, el atacante también puede tener acceso a todo tipo de información secundaria producida por el dispositivo criptográfico: radiación electromagnética, señales de error o intervalos de tiempo entre instrucciones ejecutadas, fluctuaciones en el consumo de energía y otros datos (P. Kocher, D. Jaffe , V. Jun «Introducción al Análisis de Nutrición Diferencial»). Como lo demuestran numerosos trabajos publicados por investigadores, toda esta información filtrada se puede utilizar para analizar y abrir chips para acceder a la información secreta almacenada en ellos.
«Criptoanálisis de fallos» para abrir esquemas de clave pública
Se sabe que con dispositivos de ingeniería como las tarjetas inteligentes, que suelen ser pequeñas y compactas, se pueden aplicar ciertos niveles de radiación o calor, un voltaje de suministro incorrecto o una frecuencia de temporizador no estándar para provocar un error de cálculo. También se sabe que si se produce un fallo computacional, un dispositivo informático puede producir información útil para recuperar datos secretos. A finales de septiembre de 1996, un equipo de autores de Bellcorc, el centro de investigación y desarrollo de la empresa estadounidense Bell, informó que habían descubierto una posible debilidad general grave en los dispositivos criptográficos seguros, en particular, en las tarjetas inteligentes para pagos electrónicos. Los autores de este trabajo de investigación fueron Dan Boneh — Científico investigador de Bellcore; Rich DeMillo, que dirige el laboratorio de tecnología de la información del centro, y Richard Lipton, profesor de la Universidad de Princeton y consultor de Bellcore a tiempo parcial.
Los autores llamaron a su método de craqueo «Criptoanálisis de fallas de equipos» (Criptoanálisis en presencia de fallos de hardware), se basa en un algoritmo que compara valores erróneos con valores correctos, lo que permite recuperar la información criptográfica almacenada en la tarjeta inteligente. Las investigaciones han demostrado que todos los dispositivos diseñados que utilizan algoritmos criptográficos de clave pública para cifrar información y autenticar a los usuarios son susceptibles a la nueva amenaza. Pueden ser tarjetas inteligentes que se utilizan para almacenar algunos datos (por ejemplo, dinero electrónico); tarjetas de identificación para telefonía celular; tarjetas que generan firmas electrónicas o proporcionan autenticación de usuarios para el acceso remoto a redes corporativas. El ataque desarrollado por los científicos de Bellcore es aplicable específicamente a dispositivos que utilizan criptografía de clave pública. Se demostró que con su nueva técnica se pueden abrir criptoalgoritmos tan conocidos como RSA, el esquema de firma digital Rabin y el esquema de identificación Fiat-Shamir. El ataque de Bellcore se basa en propiedades algebraicas específicas de la aritmética modular y no se puede aplicar a las complejas manipulaciones de bits que subyacen a la mayoría de los algoritmos de clave secreta tipo DES.
Los autores demostraron teóricamente que el ataque que proponen es mucho más poderoso que el conocido criptoanálisis basado en factorización. Dado que los efectos físicos reales requieren la creación de estudios de laboratorio especiales, los autores se limitaron a probar el algoritmo sólo bajo hipotéticos fallos computacionales. Sin embargo, en la comunidad criptográfica se cree que no es necesario simular completamente un ataque para demostrar su gravedad. Ya es bien sabido que incluso la mera posibilidad de tal ataque — una señal de gran peligro. Una forma de protegerse contra un ataque detectado es que el dispositivo criptográfico verifique los valores calculados, por ejemplo, repitiendo los cálculos y comparando los valores obtenidos en ambos casos. Desafortunadamente, esta forma de protección suele reducir la velocidad de cálculo aproximadamente a la mitad. Para algunas aplicaciones, esta ruta de cálculo no es aplicable.
Fig. 1. Supuestos criptográficos tradicionales
Análisis de distorsión diferencial o DAI
Menos de un mes después de la aparición del trabajo de los científicos de Bellcore (en octubre de 1996), se supo que se estaba desarrollando un ataque teórico similar contra algoritmos criptográficos simétricos. Un nuevo método para abrir tarjetas inteligentes criptográficas se llama «análisis de distorsión diferencial» o GIVE (Análisis Diferencial de Fallas, DFA). Sus autores fueron los famosos criptógrafos israelíes Eli Biham del Instituto Technion y Adi Shamir del Instituto Weizmann. En el mundo de la seguridad informática, estos científicos son más conocidos por el método de criptoanálisis diferencial que desarrollaron a principios de los años 90. Hoy en día, casi todos los ataques criptoanalíticos contra cifrados en bloque se basan en los principios de este método. El método DAI se basó en la idea de los investigadores de Bellcore. Es decir, se ha hecho una suposición fundamental de que al exponer un dispositivo protegido del acceso de ingeniería (como una tarjeta inteligente) a un determinado efecto físico (por ejemplo, ionización o radiación de microondas), existe una probabilidad significativa de causar corrupción de bits en uno de los lugares arbitrarios de uno de los registros en algún estado intermedio arbitrario del proceso de cálculos criptográficos. Se supone además que el atacante tiene acceso físico a la tarjeta inteligente, es decir, la capacidad de repetir su experimento con el mismo texto plano y clave, pero sin utilizar influencia física externa. Como resultado — dos textos cifrados obtenidos del mismo texto plano (desconocido) y con la misma clave, pero donde uno de los textos cifrados es correcto y el otro — el resultado de un cálculo distorsionado por la falla de un bit durante el proceso de conversión. La técnica desarrollada por los autores israelíes para analizar estos pares de textos resultó ser aplicable a casi todos los criptosistemas con clave secreta descritos en la literatura abierta. En particular, aplicaron DAI al caso DES y demostraron que bajo el mismo modelo de falla de hardware discutido en Bellcore, es posible «tirar» de la solución. la clave DES completa de un cifrador sellado y a prueba de manipulaciones mediante el análisis de menos de 200 bloques de texto cifrado generados por un texto sin formato desconocido. El poder del método DAI puede ilustrarse por el hecho de que incluso si DES se reemplaza por DES triple (cuya clave de 168 bits lo hacía prácticamente inaccesible al criptoanálisis «clásico»), el mismo ataque permite romperlo usando el mismo número de textos cifrados.
Figura. 2. Información realmente accesible
En varias publicaciones posteriores y en el trabajo de E. Biham y A. Shamir, «Análisis diferencial de distorsiones en criptosistemas con clave secreta», que concluyó este estudio, los autores presentaron un modelo DAI modificado, que permite encontrar la clave secreta almacenada en una tarjeta inteligente en condiciones en las que prácticamente no se sabe nada sobre la arquitectura y el funcionamiento de un criptosistema en particular. Utilizando como ejemplo un cifrado de bloques tipo DES, los autores demostraron que en tiempo polinómico es posible establecer la estructura de un algoritmo criptográfico desconocido escondido en un dispositivo seguro diseñado, incluida la determinación de sus funciones cíclicas, cajas S y subclaves.
Mejora del método DAI utilizando la técnica de «ataques de falla»
Los ataques teóricos descritos anteriormente recibieron una respuesta bastante amplia en la prensa y, junto con un gran interés, despertaron muchas respuestas críticas. La crítica más común fue que toda esta técnica es puramente teórica: nadie ha demostrado en la práctica que en un dispositivo criptográfico real se puedan producir errores de bits individuales precisamente en el algoritmo de desenvolvimiento de claves. Se sabe que en la mayoría de las tarjetas inteligentes las claves se almacenan en una memoria EEPROM reprogramable, que también contiene casi todas las aplicaciones de software del dispositivo. Por lo tanto, es mucho más probable que los errores causados por la radiación ionizante dañen el software, lo que provocará un fallo de todo el sistema o acciones erróneas sin información. Sin embargo, en la primavera de 1997, se publicó un ataque DAI mucho más práctico y mejorado, que requería menos de 10 textos cifrados (R. Anderson, M. Kuhn «Low-Cost Attacks Against Tamper-Proof Devices»). El nuevo método es bastante práctico, ya que utiliza un modelo de distorsión forzada que ya se ha implementado con éxito en ataques a tarjetas inteligentes reales. El truco consiste en inducir pequeños cambios en los códigos del programa, en lugar de intentar provocar corrupción en las claves u otros datos. El método de Kuhn y Anderson se basa en el hecho importante de que las tarjetas inteligentes y otros criptoprocesadores a menudo pueden ser atacados manipulando la velocidad del reloj o la tensión de alimentación (los llamados ataques de falla). Un aumento significativo en la frecuencia del reloj o sobretensiones de corta duración provocan situaciones en las que el contador del programa aumenta su valor y la instrucción actual se ejecuta incorrectamente o no se ejecuta en absoluto. Un ataque típico utilizado por los crackers cuando atacan la televisión de pago es — Reemplace un pulso de reloj de 5 MHz en una tarjeta inteligente con cuatro pulsos de 20 MHz. Esto alarga los ciclos de salida, lo que hace posible enviar volcados con material clave al puerto de salida. Los autores destacan que los ataques basados en instrucciones anormales no sólo han sido probados en la práctica (a diferencia de los métodos puramente teóricos de corromper bits individuales mediante irradiación), sino que también sirven como base para ataques más potentes contra muchos algoritmos criptográficos. En particular, demuestran un modelo para un «ataque de falla» eficaz. para abrir una firma usando el algoritmo RSA, un modelo para abrir una clave DES de 40 bits usando 8 bloques de texto cifrado corrupto (los 16 bits restantes de la clave se encuentran mediante una búsqueda trivial), así como un método para restaurar la estructura de un cifrado de bloque desconocido escondido en una caja segura diseñada (R. Anderson, M. Kun «Advertencia resistente a manipulaciones»).
Análisis de potencia diferencial o DAP
En el verano de 1998, se conoció otro método para abrir tarjetas inteligentes, implementado con más éxito en la práctica. Resulta que Cryptography Research, una firma de consultoría criptográfica con sede en San Francisco, formada por cuatro personas, ha desarrollado herramientas de análisis técnicamente sofisticadas y extremadamente efectivas que un atacante potencial puede utilizar para extraer claves secretas de dispositivos criptográficos. Como dijo Paul Kocher, director general de 25 años de la empresa: «Aún no hemos encontrado ni una sola tarjeta que no se pueda abrir». Kocher y sus colegas pudieron vulnerar la seguridad de las tarjetas inteligentes utilizando matemáticas para analizar las fluctuaciones en el consumo de energía eléctrica del chip.
De hecho, durante un año y medio, los investigadores de Cryptography Research han estado trabajando en cómo podrían mejorar la seguridad de los tokens criptográficos portátiles, incluidas las tarjetas inteligentes. Durante todos estos meses, sin hacer pública su investigación, presentaron a la comunidad de fabricantes de tarjetas inteligentes los tipos de ataques desarrollados por la empresa, llamados «análisis de potencia simple». (PAP), «análisis de nutrición diferencial» (DAL) y el «análisis diferencial de alto orden» (DAVP) (P. Kocher, D. Jaffe, V. June «Introducción al análisis de nutrición diferencial»). Los investigadores confían en que estos métodos de análisis deben tomarse en serio, ya que este tipo de ataque se puede llevar a cabo rápidamente y utilizando equipos disponibles en el mercado que cuestan desde varios cientos hasta varios miles de dólares. Los conceptos básicos de la nueva técnica de ataque fueron formulados en el famoso trabajo de Paul Kocher (1995) «Criptoanálisis basado en un ataque con temporizador», que demostró que es posible abrir dispositivos criptográficos simplemente midiendo con precisión los intervalos de tiempo necesarios para proceso de datos.
En los ataques PAP, el criptoanalista monitorea directamente la dinámica del consumo de energía por parte del sistema. La cantidad de energía consumida varía según las instrucciones que ejecuta el microprocesador. Las características de potencia se pueden medir con precisión. En particular, se puede utilizar un amperímetro simple diseñado alrededor de una carga resistiva para monitorear las fluctuaciones en el consumo de energía. Es posible identificar grandes bloques de instrucciones, como bucles DES, operaciones RSA, etc., ya que estas operaciones realizadas por el procesador tienen fragmentos significativamente diferentes en su interior. Con una amplificación más fuerte se pueden resaltar instrucciones individuales. Aunque Cryptography Research ha descubierto muchas tarjetas inteligentes que son vulnerables al análisis PAP, se reconoce que crear dispositivos resistentes a los ataques PAP no es particularmente difícil.
El análisis nutricional diferencial (ADN) es un ataque mucho más poderoso que el ADN y mucho más difícil de contrarrestar. Mientras que los ataques PAP se basan principalmente en análisis visuales para resaltar fluctuaciones de energía significativas. El método DAP se basa en análisis estadístico y tecnologías de corrección de errores para aislar la información que tiene correlaciones con claves secretas. Para utilizar técnicas estadísticas, se analizan los resultados de 1000 transacciones.
Un método de análisis aún más complejo — DAP-VP. Mientras que DAM analiza información entre patrones de datos en el transcurso de un solo evento, el análisis diferencial de alto orden se puede utilizar para correlacionar información entre muchas suboperaciones criptográficas. En los ataques DMA de alto orden, se recopilan señales de muchas fuentes, se utilizan varias técnicas de medición para recopilarlas y se combinan señales con diferentes compensaciones temporales durante la aplicación de técnicas DMA.
Los especialistas de Cryptography Research han desarrollado una serie de métodos para contrarrestar DAM y ataques relacionados. En particular, se ha creado un diseño lógico de puerta semiconductora que proporciona un nivel significativamente menor de fuga de información. Para sistemas con limitaciones físicas o de costos, Cryptography Research ha desarrollado métodos de hardware y software que incluyen reducir la información filtrada, introducir ruido en las mediciones, descorrelacionar variables internas y parámetros secretos, y descorrelacionar el tiempo de las operaciones criptográficas (P. Kocher, D. Jaffe, W. June «Introducción al Análisis de Nutrición Diferencial»).
Ataques físicos y destructivos
Todos los métodos descritos anteriormente para abrir tarjetas inteligentes son bastante «suaves». y no requieren abrir la carcasa del dispositivo. Sin embargo, existen otros métodos, más severos, en los que los atacantes llegan al extremo de destruir una tarjeta inteligente para obtener información. Fueron precisamente estos métodos de ataques físicos y destructivos a los criptocontroladores los que fueron el tema del discurso de los ya mencionados Kuhn y Anderson en el Segundo Seminario USENIX sobre Comercio Electrónico (R. Anderson, M. Kuhn «Tamper Resistance. Advertencia&) #187;). A continuación se muestran algunos extractos de este informe.
Los ataques físicos a algunos microcontroladores son casi triviales. Por ejemplo, el bit de bloqueo de algunos de los primeros dispositivos con memoria EEPROM en el chip se restablecía simplemente enfocando un haz de luz ultravioleta en su celda, que estaba lo suficientemente alejada del resto de la memoria. Las tarjetas inteligentes modernas son un poco más difíciles de acceder, pero no mucho. Normalmente, lo máximo que hacen los fabricantes para proteger el chip es instalar un sensor capacitivo o un sensor óptico debajo de una carcasa a prueba de luz.
Sin embargo, la práctica demuestra que estas herramientas no se utilizan con mucha frecuencia y, si se utilizan, son fáciles de detectar y eludir. Un módulo de chip típico tiene una base de plástico delgada de aproximadamente un centímetro cuadrado con áreas de contacto en ambos lados. Un lado del módulo es visible en la propia tarjeta inteligente y está en contacto con el lector: al otro lado de la base está pegada una matriz de silicio, conectada mediante finos cables de oro o aluminio. El lado de la placa donde se encuentra el chip se recubre con resina epoxi y el módulo de chip resultante se pega a la tarjeta. Es fácil quitar el chip de la tarjeta. Primero, usando un cuchillo afilado o una lanceta, corte el plástico en la parte posterior de la tarjeta hasta que quede expuesta la resina epoxi. Luego se aplican unas gotas de ácido nítrico concentrado (>98% NMO3) a la resina y se esperan unos minutos hasta que parte de la resina se disuelva (el proceso se puede acelerar calentando el ácido con radiación infrarroja). Antes de que el ácido disuelva demasiada capa de epoxi y se endurezca, el ácido y la resina se lavan con acetona. Este procedimiento se repite de 5 a 10 veces hasta que la matriz de silicio quede completamente expuesta. Después de esto, el chip se puede lavar y será completamente funcional si el cableado de conexión no ha sido dañado. La mayoría de los chips tienen una capa superficial protectora de óxido o nitrato de silicio que los protege de la radiación del equipo y la difusión de iones.
Fig. 3. Procesador de tarjeta inteligente completamente funcional sin carcasa de plástico para experimentos con microsonda. Todas las herramientas necesarias para esta extracción se compraron en la farmacia por $30.
El ácido nítrico no le afecta, por lo que para eliminarlo los expertos utilizan un método complejo de grabado en seco. Pero esta no es la única forma de acceder al chip. Otro método consiste en utilizar sondas de microagujas que utilizan vibración ultrasónica para eliminar la capa protectora justo debajo del punto de contacto. Además, también se pueden utilizar cortadores de microscopio láser utilizados en laboratorios de biología celular para eliminar localmente la capa protectora. La técnica de apertura descrita anteriormente ha sido utilizada con éxito por crackers aficionados. A continuación se describirán brevemente algunas de las tecnologías disponibles para los laboratorios de investigación de semiconductores bien equipados. Hoy en día existen varios cientos de laboratorios de este tipo en el mundo, por ejemplo en universidades y centros de investigación industrial.
En 1993, se publicó una revisión de la tecnología desarrollada en el Laboratorio Cavendish de Cambridge para la reconstrucción de circuitos inversos de chips de silicio complejos. Los autores del artículo han desarrollado una técnica que permite eliminar secuencialmente capas de virutas, una tras otra. Una de las innovaciones aplicadas — Técnica para visualizar capas de impurezas de N y P basada en el efecto Schottky: se deposita una fina película de oro o paladio sobre el chip, formando un diodo que puede ser visible en el haz de electrones. Las imágenes de las capas sucesivas del chip se introducen en un ordenador, un software especial borra las imágenes inicialmente borrosas, produce una representación clara de ellas y reconoce los elementos estándar del chip. Este sistema ha sido probado en el procesador Intel 80386 y en varios otros dispositivos. La restauración del 80386 tardó dos semanas en completarse y, por lo general, se necesitan alrededor de seis muestras de chips para reconstruirlo adecuadamente. El resultado del trabajo pueden ser diagramas de máscaras y circuitos, o incluso una lista de celdas de la biblioteca a partir de las cuales se construyó el chip.
En condiciones en las que ya se conocen el diseño y los principios de funcionamiento del chip, existe una tecnología muy potente desarrollada en IBM para estudiar el chip en funcionamiento incluso sin quitar la capa protectora. Para medir el rendimiento del dispositivo, se coloca encima un cristal de niobato de litio. El índice de refracción de esta sustancia cambia con los cambios en el campo eléctrico, y el potencial del silicio subyacente se puede leer utilizando un rayo láser ultravioleta que atraviesa el cristal en un ángulo rasante. Las capacidades de esta tecnología son tales que es posible leer una señal de 5 Vi con una frecuencia de hasta 25 MHz. Está claro que este es el camino estándar para que los laboratorios bien equipados recuperen claves criptográficas en chips cuyo diseño se conoce.
La respuesta de los fabricantes de chips a este tipo de ataques fue desarrollar un «pegamento especial» un recubrimiento de chip que no sólo es opaco y conductor, sino que también resiste de manera confiable los intentos de destruirlo, generalmente destruyendo la capa de silicio que se encuentra debajo. Dichos recubrimientos se rigen por la norma federal estadounidense FIPS 140-1 y se utilizan ampliamente en la industria militar estadounidense, pero generalmente no están disponibles.
También existen métodos muy sofisticados para reconstruir un chip con una superficie bien protegida. Por ejemplo, una tecnología recientemente desclasificada, inventada en el Laboratorio Nacional Sandia (EE. UU.), permite examinar el contenido de un chip desde la parte posterior mediante un láser infrarrojo con una longitud de onda en la que el sustrato de silicio se vuelve transparente. Esta tecnología le permite examinar las operaciones del dispositivo e identificar los estados lógicos de transistores individuales.
La investigación sobre técnicas de corte de viruta conduce a un problema más general (y relativamente inexplorado): ataques que implican una modificación activa del chip bajo investigación, en lugar de simplemente un examen pasivo del mismo. Por ejemplo, hay muchas razones para creer que algunos ataques piratas exitosos a sistemas de televisión de pago se llevaron a cabo utilizando estaciones de trabajo con haz de iones enfocados (FIB). Un dispositivo de este tipo puede cortar pistas en la capa metalizada del chip y formar nuevas pistas o capas aislantes. Además, el dispositivo puede implantar iones para cambiar el grosor de la capa de silicio e incluso construir uniones con estructuras conductoras en las capas subyacentes del chip. Estos dispositivos cuestan varios millones de dólares, pero los atacantes no suficientemente ricos los alquilan durante un tiempo a grandes empresas de semiconductores. Con estas herramientas, los ataques a tarjetas inteligentes se vuelven más simples y poderosos. Un ataque típico consiste en desconectar casi todos los procesos de la CPU del bus excepto la EEPROM y el componente de la CPU que genera acceso de lectura. Por ejemplo, el contador de programas se puede dejar conectado para que se acceda a las áreas de memoria en orden a medida que se aplican los pulsos de reloj.
Una vez hecho esto, un atacante sólo necesita una única aguja de microsonda o sonda electroóptica para leer todo el contenido de la EEPROM. Como resultado, el proceso de análisis resulta más sencillo que con la investigación pasiva, que normalmente sólo analiza el seguimiento de la ejecución. También ayuda a evitar daños puramente mecánicos’. dificultades para trabajar simultáneamente con varias sondas de microagujas en líneas de autobús de sólo unas pocas micras de ancho (R. Anderson, M. Kuhn «Tamper Resistance. Advertencia»).
Algunas conclusiones
Toda la información aquí presentada sugiere que no es razonable suponer que Es posible que un atacante bien entrenado no pueda acceder al diseño de un chip de silicio en miniatura o a la información almacenada en él.
Confianza pública en las nuevas tecnologías — Este es un factor crítico para hacer realidad los planes de la industria para la adopción generalizada de tarjetas inteligentes. Es por eso que los círculos industriales y comerciales involucrados en las tarjetas inteligentes intentan simplemente ignorar los informes de piratería de dispositivos o minimizar su importancia tanto como sea posible, llamándolos «ataques puramente de laboratorio», que sólo unos pocos especialistas en todo el mundo pueden replicar.
Sin embargo, los resultados de las investigaciones especializadas indican lo contrario. Y vale la pena recordar las palabras de Paul Kocher, cuya pequeña empresa no dispone de ningún equipo caro y supercomplejo: «Aún no hemos encontrado ni una sola tarjeta que no se pueda abrir».
Figura. 4. Un ataque modificado al criptoprocesador utilizando la estación de trabajo FIB, permitiendo un fácil acceso a los contenidos clasificados de la EEPROM usando una sola aguja de microsonda