Ingeniería inversa de MCU

Desbloqueo de microcontrolador - MikaTech

Nuestros valores y objetivos

Acerca de MikaTech

El tiempo pasó rápido: desde el día en que realizamos nuestro primer proyecto de ingeniería inversa de MCU 8051 en 1998, hasta el día en que establecimos nuestro laboratorio de ingeniería inversa de un millón de dólares en 2012, pasaron 14 años. Ahora comenzamos nuestro nuevo negocio de desarrollo de sistemas visuales embebidos, esperamos poder servir otros 10 años.

firma Peter Lee Co-fundador y CEO

Visión general de tecnologías de ataque a tarjetas inteligentes

1. Introducción

La tarjeta inteligente es un token de seguridad inteligente compacto fabricado en el formato estándar de tarjeta de crédito. Es una tarjeta de plástico delgada con un chip de circuito integrado en miniatura incrustado que sirve como componente computacional y de almacenamiento central. A diferencia de los medios de almacenamiento pasivos tradicionales, proporciona no solo capacidad de memoria no volátil para la retención de datos, sino también capacidad computacional independiente a bordo para el procesamiento criptográfico y el juicio lógico. Esta inteligencia integrada diferencia drásticamente a las tarjetas inteligentes de las tarjetas de banda magnética tradicionales y las etiquetas sin contacto simples utilizadas en los primeros sistemas de consumo.

La arquitectura de hardware y software autónoma de una tarjeta inteligente la hace inherentemente resistente a manipulaciones externas y ataques remotos basados en red. No necesita depender de servidores externos potencialmente vulnerables, plataformas en la nube o recursos de terminales no confiables para completar operaciones de seguridad críticas. Todas las tareas de autenticación, cifrado y verificación de datos se pueden ejecutar localmente dentro del entorno aislado del chip. Debido a esta característica única, las tarjetas inteligentes se implementan ampliamente en diversas aplicaciones industriales, gubernamentales, financieras y de consumo que exigen una fuerte protección de datos, autenticación de usuarios y capacidad anticontrafalsificación.

Existen numerosos casos de uso práctico que demuestran la versatilidad de las funciones de seguridad de las tarjetas inteligentes. Por ejemplo, una tarjeta inteligente puede actuar como un documento de identidad personal emitido por el gobierno, utilizado para verificar legalmente la identidad y la información demográfica del titular durante inspecciones oficiales. También puede funcionar como una tarjeta de salud médica cifrada que almacena permanentemente el historial médico completo del paciente, registros de diagnóstico, recetas de medicamentos y datos de alergias para referencia clínica. Además, la tarjeta inteligente puede emitirse como una tarjeta bancaria de crédito o débito con o sin contacto que admite transacciones financieras sin conexión sin conexión en tiempo real con un servidor backend bancario.

Todas estas aplicaciones del mundo real requieren el almacenamiento seguro de datos privados altamente sensibles dentro del espacio de memoria protegida de la tarjeta. Los activos sensibles típicos incluyen la información biométrica del propietario de la tarjeta, como plantillas de huellas dactilares y vectores de características faciales, registros médicos personales de por vida protegidos por regulaciones de privacidad de atención médica y claves criptográficas únicas dedicadas a la autenticación, el cifrado de datos y la firma de transacciones. La filtración o manipulación no autorizada de estos datos conducirá a fraude de identidad, pérdidas financieras, violación de la privacidad e incluso riesgos para la salud pública.

En un futuro cercano, los medios tradicionales fragmentados serán completamente consolidados por la tecnología de tarjetas inteligentes multi-aplicación. Las tarjetas de banda magnética convencionales utilizadas para servicios bancarios, de transporte y de membresía se eliminarán gradualmente y se integrarán en una única tarjeta inteligente unificada. Este dispositivo todo en uno se conoce comúnmente como monedero electrónico o billetera digital dentro del ecosistema de la industria global de tarjetas inteligentes.

A medida que la transformación digital se acelera en todas las industrias, la tarjeta inteligente se está volviendo cada vez más significativa en la vida diaria moderna y la infraestructura digital. Llevará datos de consumo mucho más sensibles, diversos y críticos para la misión que las tarjetas de banda magnética tradicionales. El alcance de los datos se expandirá desde etiquetas de identidad básicas hasta registros de transacciones dinámicas, plantillas biométricas y credenciales personales cifradas. Por lo tanto, han surgido extensos argumentos académicos e industriales sobre si los mecanismos de seguridad actuales de las tarjetas inteligentes son suficientemente robustos para proteger dicha información de alto valor contra los vectores de ataque modernos.

Esta cuestión de seguridad ha sido durante mucho tiempo una fuente continua de controversia entre criptógrafos, ingenieros de seguridad de hardware y diseñadores de sistemas. Mientras que los proveedores afirman ventajas de seguridad inherentes, los investigadores independientes siguen descubriendo nuevas vulnerabilidades en el firmware y el hardware de las tarjetas comerciales. Este debate en curso hace que una visión general completa y sistemática de la seguridad de las tarjetas inteligentes sea extremadamente necesaria para la investigación actual de seguridad embebida.

Este documento analiza el rendimiento general de seguridad de las tarjetas inteligentes modernas desde tres dimensiones técnicas principales. En primer lugar, explora la estructura física del hardware de una tarjeta inteligente estándar y explica cómo los mecanismos de protección física aseguran los datos a lo largo de todo el ciclo de vida del dispositivo, desde la fabricación hasta la eliminación. En segundo lugar, examina el sistema de archivos lógico dentro de la tarjeta y explica cómo los controles de acceso lógico de grano fino protegen los archivos de datos clasificados de la lectura y modificación no autorizadas. En tercer lugar, analiza las operaciones procedimentales estandarizadas y los mecanismos criptográficos que permiten a las tarjetas inteligentes construir entornos de ejecución confiables y autenticados para aplicaciones de capa superior.

Antes de llegar a un juicio concluyente sobre el nivel general de seguridad de las tarjetas inteligentes comerciales, este documento también revisa las técnicas de ataque principales dirigidas al hardware, firmware y protocolos de las tarjetas inteligentes. Al comparar los mecanismos defensivos y los métodos de explotación ofensivos, podemos extraer una conclusión objetiva sobre el límite de seguridad práctico y las limitaciones de aplicación de la tecnología actual de tarjetas inteligentes.

2. Estructura física y ciclo de vida

Esta sección se centra en la composición física y la gestión del ciclo de vida de las tarjetas inteligentes estándar. Primero desglosa los componentes de hardware centrales de una tarjeta inteligente con contacto y explica la función de cada módulo estructural. Luego divide toda la línea de tiempo operativa de una tarjeta inteligente en fases secuenciales del ciclo de vida. Además, explora cómo el microcontrolador a bordo gestiona la distribución de claves, la inicialización de datos y la transferencia de permisos de forma segura entre los interesados, incluidos los fabricantes de chips, los proveedores de tarjetas, los emisores de aplicaciones y los usuarios finales.

Al analizar los cambios de permisos de acceso a lo largo del ciclo de vida, podemos identificar claramente cómo el diseño físico, los bloqueos de hardware y la gestión escalonada de claves protegen conjuntamente la información confidencial almacenada en la tarjeta durante su tiempo de servicio. Esta base de seguridad a nivel físico determina el límite superior de la seguridad lógica y procedimental implementada por los sistemas operativos de las tarjetas.

2.1 Estructura física

La dimensión física, las propiedades mecánicas y la interfaz eléctrica de las tarjetas inteligentes están estrictamente estandarizadas por una serie de especificaciones de la Organización Internacional de Normalización (ISO), que incluyen principalmente ISO 7810, ISO 7816-1 e ISO 7816-2. Estas normas unificadas garantizan la compatibilidad mecánica y la interoperabilidad eléctrica entre las tarjetas inteligentes y los dispositivos aceptadores de tarjetas en todo el mundo.

En general, una tarjeta inteligente con contacto completa consta de tres elementos físicos fundamentales. El soporte base es una tarjeta de plástico rígido de PVC con dimensiones fijas de 85.60 mm de largo, 53.98 mm de ancho y 0.80 mm de grosor. Este tamaño es idéntico al de las tarjetas bancarias tradicionales y las tarjetas de identidad para la compatibilidad con los hábitos del usuario. Un módulo de contacto de circuito impreso en miniatura y un chip de circuito integrado diminuto están incrustados dentro de un rebaje fresado de precisión en el sustrato de plástico.

La figura 1 presenta una visión estructural de una tarjeta inteligente con contacto típica, que muestra la posición relativa del módulo de contacto, los cables de unión, el chip de silicio y el soporte de plástico.

Figura 1: Estructura física de una tarjeta inteligente (Fuente: Manual de referencia de la tarjeta inteligente Philips DX, 1995)

El módulo de contacto de circuito impreso en la tarjeta cumple plenamente con la definición eléctrica especificada en ISO 7816-3. Proporciona cinco puntos de contacto metálicos estándar responsables de la entrada de alimentación, la conexión a tierra, la sincronización de la señal de reloj y la transmisión de datos bidireccional. El módulo está sellado herméticamente dentro del rebaje de la tarjeta para evitar que el polvo, la humedad y la corrosión química dañen las conexiones internas.

La matriz de almohadillas de contacto está unida al chip de circuito subyacente mediante cables de unión de oro ultrafinos, rellenos con resina epóxica conductora y cubiertos con material de sellado aislante resistente a la corrosión. Los contactos metálicos expuestos sobresalen ligeramente de la superficie de la tarjeta para asegurar un contacto físico estable con los terminales del lector durante la inserción.

Además de la conexión eléctrica, el módulo de circuito impreso también proporciona protección mecánica básica para el frágil chip de silicio. Disipa la tensión de flexión externa y las cargas electrostáticas generadas por el contacto humano, evitando que la descarga electrostática (ESD) queme las puertas lógicas internas del chip. Toda la comunicación de datos bidireccional entre el chip y los lectores externos se completa exclusivamente a través de estas almohadillas de contacto estandarizadas.

La capacidad de almacenamiento computacional y el rendimiento de seguridad de una tarjeta inteligente están definidos enteramente por su chip de circuito integrado incrustado. Un chip IC de tarjeta inteligente típico es un sistema en un chip (SoC) que integra cuatro componentes centrales de memoria y procesamiento: un microprocesador embebido de 8/16 bits, memoria de solo lectura programada por máscara (ROM), memoria estática de acceso aleatorio (SRAM) y memoria de solo lectura programable y borrable eléctricamente (EEPROM).

Cada tipo de memoria asume tareas funcionales diferenciadas. La ROM almacena permanentemente el sistema operativo de la tarjeta y los códigos de algoritmos criptográficos inmutables que no se pueden modificar después de la fabricación del chip. La SRAM actúa como memoria temporal de tiempo de ejecución para variables de programa y datos de cálculo criptográfico intermedios, que pierde todos los datos una vez que se retira la alimentación. La EEPROM es el área de almacenamiento seguro central que retiene datos de usuario, claves criptográficas y parámetros de control de acceso de forma permanente sin suministro continuo de energía.

Los chips de tarjeta inteligente actuales se fabrican a partir de obleas de silicio monocristalino, que poseen propiedades mecánicas rígidas y son propensas a fracturas frágiles bajo una fuerza de flexión excesiva. Para evitar la rotura del chip cuando los usuarios doblan o retuercen la tarjeta de plástico en el uso diario, el dado de silicio se restringe a una huella de solo unos pocos milímetros de largo y ancho. Este compromiso mecánico es una necesidad que limita inevitablemente los recursos de hardware en el chip.

Además de las limitaciones de hardware, la interfaz de comunicación física estandarizada también impone estrictas restricciones de ancho de banda. La velocidad máxima de transmisión de datos entre el chip IC y el dispositivo aceptador de tarjetas externo (CAD) está limitada a 9600 bits por segundo por las regulaciones del protocolo ISO. El canal de comunicación adopta una arquitectura de transmisión serie bidireccional semidúplex para simplificar el diseño del circuito transceptor en el chip.

Todos los comportamientos de intercambio de datos están controlados centralmente por la unidad central de procesamiento dentro del circuito integrado. El CAD envía comandos estandarizados de unidad de datos de protocolo de aplicación (APDU) y datos de carga útil de entrada a la tarjeta. Después de analizar y ejecutar la lógica del comando, el chip devuelve palabras de estado de ejecución y datos de salida procesados al terminal.

El modo de comunicación semidúplex solo permite la transmisión de datos en una sola dirección en cualquier momento, lo que evita la inyección simultánea de datos y la colisión de señales. Combinado con la baja velocidad de transmisión fija, este mecanismo de protocolo bloquea eficazmente los ataques de volcado masivo de datos de alta velocidad que intentan robar el contenido completo de la memoria en un corto período de tiempo.

En general, el tamaño fijo, el grosor delgado y el diseño mecánico a prueba de flexiones de la tarjeta inteligente están diseñados principalmente para evitar daños físicos y el desgaste diario. Sin embargo, estas restricciones mecánicas obligatorias limitan inherentemente la capacidad máxima de memoria y la potencia de procesamiento que se puede integrar en el diminuto dado de silicio.

Como resultado, las tarjetas inteligentes autónomas no pueden completar tareas interactivas complejas de forma independiente. Deben cooperar con dispositivos periféricos externos para realizar su funcionalidad completa. Las dependencias externas comunes incluyen teclados de entrada de usuario, pantallas, módulos de reloj en tiempo real, circuitos de alimentación estables e interfaces de comunicación de red.

Estos periféricos externos suelen ser no confiables y carecen de diseño resistente a manipulaciones, lo que constituye puntos débiles de seguridad potenciales en la cadena general del sistema. Los lectores de tarjetas modificados maliciosamente pueden alterar los datos de entrada o interceptar las señales de transmisión, lo que puede degradar la seguridad de extremo a extremo de las aplicaciones de tarjetas inteligentes en escenarios adversariales específicos.

2.2 Ciclo de vida de una tarjeta inteligente

Cada tarjeta inteligente está precargada con un sistema operativo embebido ligero dedicado durante la fabricación del chip. El área del sistema inmutable almacena números de identificación del fabricante, códigos de tipo de componente, números de serie únicos de la oblea de silicio e información de perfil de configuración de hardware para fines de trazabilidad y control de calidad.

Más críticamente, la partición del sistema protegido almacena claves de seguridad raíz críticas que rigen toda la gestión de permisos posterior. Los ejemplos más importantes son la clave de fabricación del fabricante (KF) y la clave de personalización de la aplicación (KP). Estas claves raíz nunca se exponen a terminales externos y deben permanecer confidenciales a lo largo del ciclo de vida del dispositivo para evitar manipulaciones en la cadena de suministro.

Para lograr una gestión confidencial jerárquica de las claves raíz y los datos del usuario, toda la vida útil de una tarjeta inteligente se divide en cinco fases operativas secuenciales en diferentes partes interesadas responsables. Los permisos de transferencia de datos y los derechos de acceso a la memoria se restringen incrementalmente a medida que la tarjeta avanza a fases posteriores, formando un mecanismo de control de acceso basado en el ciclo de vida.

Este aislamiento de permisos por fases protege los datos de fábrica inmutables, los datos de configuración de la aplicación y los datos privados del usuario final de ser sobrescritos, filtrados o manipulados por partes no autorizadas en diferentes etapas de la cadena de suministro. Detallamos los objetivos, operaciones y reglas de permisos de cada fase a continuación.

2.2.1 Fase de fabricación

Esta fase inicial es realizada completamente por fabricantes de chips semiconductores profesionales en fundiciones de fabricación dedicadas. El dado de circuito integrado de silicio desnudo se graba, dopa y empaqueta según el diseño de circuito predefinido. Cada chip se somete a pruebas funcionales exhaustivas para seleccionar las unidades defectuosas antes de salir de la fábrica.

Se inyecta una clave de fabricación única (KF) en la memoria programable de una sola vez (OTP) del chip durante esta fase. La KF se deriva de la clave maestra global del fabricante mediante una función de derivación de clave criptográficamente segura. Esta clave única por chip bloquea la interfaz de depuración del chip y evita la modificación no autorizada del firmware antes de que el dado se monte en el soporte de plástico.

Además del valor KF confidencial, los metadatos de fabricación públicos, incluidos el número de lote del chip, la marca de tiempo de producción y el código de revisión del hardware, también se escriben en el área del sistema de solo lectura. Después de la programación y el bloqueo, el chip está protegido permanentemente por el mecanismo KF y se entrega a los fabricantes de ensamblaje de tarjetas como un componente semiterminado seguro.

2.2.2 Fase de pre-personalización

Esta fase es ejecutada por proveedores de ensamblaje de tarjetas que integran los chips desnudos en soportes de tarjetas de plástico terminadas. El dado de silicio se monta en el rebaje premecanizado de la tarjeta de PVC impresa, que está preimpresa con el logotipo del emisor de la aplicación, la información de la marca y los patrones del área visual del usuario.

Se realiza la unión por ultrasonidos para establecer una conexión eléctrica estable entre el dado del chip y el módulo de contacto externo. El módulo de tarjeta completamente ensamblado se somete a pruebas de continuidad, pruebas de comunicación y pruebas básicas de lectura-escritura de memoria para verificar la calidad del ensamblaje.

Para la seguridad de la cadena de suministro, la clave de fabricación original KF se revoca permanentemente y se reemplaza por la clave de personalización específica de la aplicación KP después de pasar las pruebas de ensamblaje. Esta transferencia de clave transfiere el derecho de control del dispositivo del fabricante del chip a la organización emisora de la aplicación.

Se escribe un indicador de bloqueo de personalización no borrable VPER en la memoria del sistema inmediatamente después de la programación de KP. Este bloqueo prohíbe cualquier modificación posterior del valor KP y bloquea la reversión al estado de seguridad de fabricación anterior. Las instrucciones de direccionamiento de memoria física que acceden directamente a las matrices de almacenamiento de silicio subyacentes se deshabilitan permanentemente en esta etapa.

A partir de esta fase, todas las operaciones de acceso a la memoria deben basarse en el direccionamiento de archivos lógicos estandarizados definido por el sistema operativo de la tarjeta. Esta restricción fundamental protege el área del sistema de fábrica sensible y los metadatos de fabricación de ser leídos o modificados directamente por herramientas de sondeo de bajo nivel externas.

2.2.3 Fase de personalización

Esta fase es realizada exclusivamente por emisores de tarjetas de aplicación autorizados, como bancos, departamentos administrativos gubernamentales y operadores de telecomunicaciones. Su objetivo principal es construir estructuras de datos lógicas completas e inyectar datos de usuario individualizados en el hardware de la tarjeta genérica.

El emisor primero crea directorios de archivos dedicados (DF) jerárquicos y particiones de archivos elementales (EF) según los requisitos de la aplicación. Los parámetros de configuración predeterminados, las claves públicas criptográficas de la aplicación y las reglas de política de acceso del sistema se escriben en los archivos lógicos correspondientes.

A continuación, se programan en las áreas de almacenamiento EEPROM protegidas los datos específicos del usuario individual, incluida la información de identidad legal del titular de la tarjeta, el PIN de transacción personalizado y el PIN de desbloqueo secundario para la recuperación de la cuenta. Todos los datos del usuario sensibles se cifran con las claves de sesión derivadas de KP durante la escritura para evitar la intercepción durante el proceso de personalización.

Después de completar la inyección de datos y la verificación de integridad, se escribe un indicador de bloqueo de utilización VUTIL en la partición del sistema. Este indicador marca formalmente el final de la etapa de personalización y transita la tarjeta al estado operativo normal del usuario con todas las políticas de control de acceso habilitadas.

2.2.4 Fase de utilización

Esta es la fase más larga que cubre todo el período de uso diario después de que la tarjeta se emite al titular final. Toda la lógica de servicio de aplicación preconfigurada, las reglas de control de acceso a archivos lógicos y los mecanismos de autenticación criptográfica están completamente activados por el sistema operativo.

Durante esta fase, todos los comportamientos de acceso a la información en la tarjeta están estrictamente restringidos por la política de seguridad predefinida por el emisor de la aplicación. A diferentes archivos se les asignan permisos diferenciados de lectura, escritura y ejecución según los atributos del archivo y el estado de verificación del usuario.

Los usuarios solo pueden iniciar operaciones autorizadas como verificación de transacciones, autenticación de identidad y consulta de datos a través de terminales de lectura de tarjetas compatibles. La modificación de memoria de bajo nivel, el acceso de depuración y el volcado no autorizado de archivos están bloqueados permanentemente por las restricciones del firmware del sistema. Las reglas detalladas de control de acceso lógico que rigen esta fase se elaborarán en la siguiente sección de este documento.

2.2.5 Fase de fin de vida (fase de invalidación)

Una tarjeta inteligente entra en la fase de invalidación de fin de vida cuando ya no es legalmente utilizable para sus propósitos de aplicación originales. Hay dos mecanismos de activación distintos que inician esta transición de estado irreversible, cada uno con diferentes alcances de bloqueo de permisos.

El primer mecanismo es la invalidación iniciada por la aplicación. El servidor de aplicaciones backend escribe un indicador de bloqueo de invalidación global o específico de archivo en el archivo maestro de la tarjeta o en los archivos elementales designados. Una vez que se establece el bloqueo, el sistema operativo de la tarjeta deshabilita todas las operaciones de escritura, actualización y eliminación de datos en todo el dispositivo.

El acceso de solo lectura básico puede permanecer disponible para fines de auditoría de datos posteriores a la terminación y análisis de seguridad. Este mecanismo se utiliza comúnmente para tarjetas bancarias caducadas, insignias de acceso invalidadas y tarjetas SIM de suscriptores terminados.

El segundo mecanismo es el bloqueo irreversible activado por seguridad. Cuando el usuario introduce continuamente PIN y PIN de desbloqueo incorrectos más allá del límite de reintentos definido por el sistema, el controlador de seguridad en el chip bloquea permanentemente todas las vías de acceso. En este escenario, incluso las operaciones de lectura básicas están completamente prohibidas para evitar que los atacantes extraigan datos residuales sensibles de la tarjeta bloqueada.

La siguiente Tabla 1 resume sistemáticamente los modos de acceso a la memoria, los alcances de permisos y la operatividad de los datos de las diferentes áreas de almacenamiento en las cinco fases del ciclo de vida mencionadas anteriormente.

Tabla 1: Fases y derechos de acceso del ciclo de vida de la tarjeta inteligente (Fuente: Manual de referencia de la tarjeta inteligente Philips DX, 1995)

Áreas/Fases

Fabricación

Pre-personalización

Personalización

Utilización

Fin de vida

Modo de acceso

Direccionamiento físico

Direccionamiento lógico

Direccionamiento lógico

Direccionamiento lógico

Direccionamiento bloqueado

Sistema

Acceso total

No accesible

No accesible

No accesible

No accesible

Fabricación (claves)

Escribir KF

Escribir KP, revocar KF

No accesible

No accesible

No accesible

Fabricación (datos)

Leer, escribir, borrar

Solo lectura

Solo lectura

Solo lectura

Lectura parcial

Directorio

Leer, escribir, borrar

Leer, escribir, borrar

Control de acceso lógico

Control de acceso lógico

Lectura restringida

Datos

Leer, escribir, borrar

Leer, escribir, borrar

Control de acceso lógico

Control de acceso lógico

Bloqueado

Código opcional

Leer, escribir, borrar

No accesible

No accesible

No accesible

No accesible

3. Estructura lógica y controles de acceso

Después de que una tarjeta inteligente se emite formalmente a un consumidor final por el proveedor de la aplicación, los mecanismos de seguridad de la capa física ya no son ajustables, y las tareas principales de protección de datos son asumidas por completo por el sistema operativo de la aplicación en la tarjeta. El modo de direccionamiento de memoria física de bajo nivel se deshabilita permanentemente para bloquear los ataques de sondeo de memoria a nivel de hardware.

Todas las operaciones de lectura, escritura y ejecución de datos deben implementarse a través de la estructura de archivos lógicos jerárquica estandarizada definida por el protocolo ISO 7816-4. Esta sección elabora las reglas de organización del sistema de archivos lógicos de la tarjeta inteligente y explica cómo las políticas de control de acceso de grano fino incrustadas en los encabezados de los archivos logran la protección de datos clasificados.

3.1 Estructura de archivos lógicos

Desde la perspectiva de la gestión del almacenamiento de datos, una tarjeta inteligente se puede abstraer como una unidad de disco segura en miniatura con un sistema de organización de archivos jerárquico basado en árboles. Su arquitectura de árbol de directorios comparte una gran similitud con el sistema de archivos MS-DOS clásico utilizado en las primeras computadoras personales.

En la raíz de todo el árbol se encuentra el archivo maestro (MF), que funciona de manera idéntica al directorio raíz de un sistema de archivos de disco. Todos los demás directorios y archivos son nodos subordinados que se ramifican desde este nodo raíz. Bajo el archivo maestro, se definen dos tipos básicos de archivos: archivos elementales (EF) para el almacenamiento de datos puros y archivos dedicados (DF) que sirven como subdirectorios.

Los archivos dedicados actúan como subdirectorios funcionales utilizados para agrupar archivos de aplicación relacionados y aislar dominios de servicio. Cada archivo dedicado puede contener múltiples archivos elementales hijos para almacenar datos comerciales categorizados. Se pueden crear múltiples niveles de archivos dedicados anidados para formar árboles de directorios complejos de varias capas para tarjetas multi-aplicación a gran escala.

La diferencia más destacada entre los sistemas de archivos de tarjetas inteligentes y MS-DOS es que los archivos de directorio dedicados en las tarjetas inteligentes también pueden almacenar datos de configuración incrustados y parámetros de política de acceso específicos del dominio, mientras que los directorios de PC solo almacenan metadatos de archivos sin datos de usuario. Este diseño mejora la capacidad de aislamiento de dominio para escenarios multi-aplicación.

La figura 2 presenta una vista de árbol lógico visualizado de una estructura de archivos de tarjeta inteligente estándar, que demuestra la relación jerárquica entre el archivo maestro, los subdirectorios dedicados y los archivos elementales de datos.

Figura 2: Estructura de archivos lógicos de la tarjeta inteligente

En la terminología estandarizada de las tarjetas inteligentes, el archivo maestro consta de dos partes: un encabezado fijo que almacena los atributos del sistema raíz y un segmento de cuerpo que registra los punteros de encabezado de todos los archivos dedicados y elementales hijos directos. Esta tabla de punteros permite un recorrido rápido del árbol durante las operaciones de selección de archivos.

Un archivo dedicado se define como una colección funcional que incluye su propia información de encabezado y todos los archivos hijos inmediatos bajo su rama de directorio. Establece un dominio de seguridad independiente donde se pueden aplicar políticas de acceso uniformes a todos los archivos subordinados de forma colectiva.

Un archivo elemental es la unidad básica de almacenamiento de datos, compuesta por un encabezado de atributos estandarizado y un cuerpo de datos de longitud variable. El encabezado registra metadatos centrales, mientras que el cuerpo almacena exclusivamente datos de usuario, claves criptográficas, plantillas biométricas o registros de transacciones.

Diferentes sistemas operativos de tarjetas inteligentes adoptan modos de gestión de datos internos diferenciados para los archivos elementales. Algunos sistemas simples gestionan los datos puramente por desplazamiento de bytes y punteros de longitud para un acceso aleatorio rápido. Sistemas avanzados como el sistema operativo de la tarjeta SIM GSM organizan los datos en registros estructurados de longitud fija o variable para la gestión estandarizada de servicios de telecomunicaciones.

Independientemente del modo de organización de datos internos, cualquier operación de lectura o escritura dirigida a un archivo específico debe completar primero un comando de selección de archivo formal. Esta operación es equivalente a abrir un identificador de archivo en los sistemas operativos convencionales y es un requisito previo obligatorio para todas las interacciones de datos.

El mecanismo de acceso a archivos lógicos se activa automáticamente inmediatamente después de que la tarjeta se enciende mediante el terminal lector. El archivo maestro se selecciona por defecto al inicializarse para establecer el contexto de acceso raíz para las operaciones posteriores. El comando de selección de archivo admite tres tipos de movimientos de recorrido de árbol.

El movimiento descendente permite a los operadores seleccionar archivos dedicados hijos o archivos elementales del directorio principal actual para ingresar a niveles más profundos del árbol. El movimiento ascendente permite regresar a directorios principales de nivel superior o al archivo maestro raíz desde los nodos subordinados. El movimiento horizontal admite el cambio directo entre archivos elementales hermanos bajo el mismo directorio de archivo dedicado.

Después de que un comando de selección de archivo se ejecuta con éxito, el terminal puede recuperar la información de encabezado completa del archivo objetivo. El encabezado contiene metadatos críticos, incluido un identificador de archivo único, etiqueta de descripción funcional, clasificación de tipo de almacenamiento, tamaño total de datos y, lo más importante, campos de atributos de seguridad.

El campo de atributos de seguridad define explícitamente los requisitos previos de la condición de acceso y el estado operativo actual del archivo. Todos los comportamientos de acceso a datos dirigidos al cuerpo del archivo se permiten o rechazan estrictamente en función de si el terminal y el usuario satisfacen estas condiciones de atributo predefinidas.

En resumen, el sistema de archivos de la tarjeta inteligente se inspira en la arquitectura central de sistemas operativos clásicos como MS-DOS y UNIX. Para cumplir con los requisitos de seguridad embebida, mejora los encabezados de los archivos con mapas de bits de condiciones de acceso dedicados y banderas de estado en tiempo de ejecución. También se añaden mecanismos de bloqueo permanente de archivos opcionales para deshabilitar el acceso a archivos sensibles de forma permanente. Estos mecanismos lógicos en capas forman el núcleo del sistema de protección de datos basado en software de las tarjetas inteligentes modernas.

3.2 Control de acceso

El sistema de control de acceso lógico de la tarjeta inteligente se centra principalmente en la gestión de permisos de archivos de grano fino. Cada archivo independiente en la tarjeta está vinculado a un encabezado de atributos estandarizado que registra sus requisitos previos de acceso, estado de verificación en tiempo real y banderas de bloqueo de seguridad. Todo el marco de permisos se basa fundamentalmente en la verificación del número de identificación personal (PIN) y la lógica de gestión de PIN con estado.

3.2.1 Niveles de condiciones de acceso

El estándar ISO 7816-4 define cinco niveles de condición de acceso jerárquicos principales para los archivos de tarjetas inteligentes. Los sistemas operativos de tarjetas individuales pueden extender niveles personalizados adicionales para satisfacer requisitos de aplicación especializados, como la gestión de dominios de telecomunicaciones o el almacenamiento de datos clasificados gubernamentales.

Los cinco niveles de acceso estándar se definen a continuación. El nivel Siempre (ALW) otorga permiso de acceso sin restricciones; cualquier terminal compatible puede realizar operaciones de lectura o escritura en el archivo sin verificación previa del usuario. Este nivel se usa comúnmente para información estática pública, como los datos del fabricante de la tarjeta y el texto de introducción del servicio.

El nivel de Verificación del Titular de la Tarjeta 1 (CHV1) requiere que el PIN de usuario principal válido se verifique correctamente antes de que se permita el acceso al archivo. Este es el nivel de protección más utilizado para archivos de datos financieros y de identidad personal en aplicaciones diarias.

El nivel de Verificación del Titular de la Tarjeta 2 (CHV2) se basa en un código PIN secundario independiente para la autorización. Generalmente se aplica a operaciones de alto riesgo, como la modificación de claves, el restablecimiento de parámetros de la tarjeta y la autorización de transacciones de gran valor para proporcionar una verificación de usuario de dos factores.

El nivel Administrativo (ADM) está reservado exclusivamente para terminales de gestión oficiales del emisor. La definición de las reglas de verificación ADM y la distribución de credenciales está totalmente controlada por la autoridad administrativa de la aplicación, independiente de los códigos PIN del usuario.

El nivel Nunca (NEV) prohíbe permanentemente todo acceso externo al archivo bajo cualquier circunstancia. Este nivel protege las claves raíz inmutables, los datos de configuración de fábrica y los parámetros confidenciales del algoritmo que nunca deben exponerse fuera del chip.

Es fundamental tener en cuenta que estos niveles de condición de acceso no forman una relación de inclusión jerárquica. La verificación exitosa de CHV2 no otorga automáticamente permiso a los archivos que requieren autenticación CHV1. Cada condición de acceso debe satisfacerse de forma independiente antes de que se pueda seleccionar y acceder al archivo correspondiente.

3.2.2 Presentaciones de PIN

Los valores de PIN primario y secundario se almacenan en archivos elementales protegidos dedicados denominados EFCHV1 y EFCHV2 respectivamente. Estos dos archivos se configuran con permisos de escritura de nivel ADM estrictos durante la personalización para evitar la manipulación no autorizada del PIN por parte de usuarios finales o terminales maliciosos.

La modificación legítima del PIN solo se puede completar emitiendo el comando APDU CHANGE PIN oficial, que requiere el valor antiguo del PIN correcto y el nuevo valor del PIN previsto como parámetros de entrada obligatorios. Este mecanismo evita la sobrescritura por fuerza bruta de los códigos PIN mediante comandos de escritura de memoria arbitrarios.

Casi todos los sistemas operativos de tarjetas inteligentes comerciales implementan un mecanismo de bloqueo automático del PIN contra ataques de adivinación por fuerza bruta. Si se envía una secuencia consecutiva de valores de PIN no válidos más allá del umbral de reintentos predefinido, el PIN correspondiente se bloqueará inmediatamente por el controlador de seguridad en el chip.

El número máximo de reintentos varía en las diferentes plataformas de tarjetas; la mayoría de las tarjetas bancarias y de identidad adoptan un límite de 3 intentos, mientras que las tarjetas de membresía de bajo riesgo pueden permitir 5 o más reintentos. Una vez bloqueado, todos los archivos que dependen de este PIN para el acceso se vuelven completamente inaccesibles para los terminales externos.

Las operaciones de desbloqueo del PIN requieren que el usuario envíe el PIN de desbloqueo dedicado almacenado en otro archivo protegido de la tarjeta. El PIN de desbloqueo también tiene su propio límite de reintentos independiente para evitar ataques de fuerza bruta secundarios dirigidos al mecanismo de recuperación.

Si el PIN de desbloqueo se introduce incorrectamente de forma continuada más allá de su umbral, el sistema activa un bloqueo global irreversible. Tanto el PIN del usuario como el PIN de recuperación quedan invalidados permanentemente sin ninguna vía de recuperación disponible. Algunas tarjetas de alta seguridad bloquean aún más todo el dispositivo para prohibir todas las operaciones posteriores y eliminar por completo las superficies de ataque.

3.2.3 Gestión de PIN

Para implementar el bloqueo, desbloqueo y conteo de reintentos de PIN con estado, cada objeto de verificación CHV está equipado con dos contadores anticorrupción dedicados almacenados en EEPROM. Estos contadores adoptan codificación de almacenamiento redundante para evitar errores de datos causados por una interrupción anormal de la alimentación durante los ciclos de escritura o borrado.

El sistema de gestión de PIN define tres estados operativos exclusivos para gobernar todos los comportamientos de verificación. El primer estado es la presentación exitosa del PIN. Cuando el usuario envía un valor de PIN correcto, el contador de reintentos correspondiente se restablece al número máximo de intentos permitido. Todos los archivos y funciones vinculados a esta condición de PIN se vuelven accesibles para operaciones posteriores.

El segundo estado es la presentación de PIN ausente o incorrecto. Cada envío de PIN no válido disminuye el valor del contador de reintentos en una unidad. Todas las operaciones de acceso que requieren este PIN como condición previa son rechazadas inmediatamente por el sistema operativo. Cuando el contador llega a cero, el estado transita al bloqueo permanente del PIN.

El tercer estado es el estado de PIN bloqueado. En este estado, no solo se bloquean las operaciones de archivo dependientes del PIN, sino que incluso el comando de verificación de PIN estándar está deshabilitado. El único remedio permitido es ejecutar el comando UNBLOCK PIN dedicado con credenciales de recuperación válidas.

Si el PIN de desbloqueo correcto se verifica, el contador de PIN del usuario original se restablece y la tarjeta vuelve al estado utilizable normal. Si los intentos de desbloqueo no válidos agotan el límite del contador secundario, se produce un bloqueo irreversible y la tarjeta nunca podrá recuperar su función original.

En resumen, las tarjetas inteligentes logran una protección de datos flexible y robusta a través del control de acceso lógico de doble capa. Los archivos individuales pueden protegerse mediante condiciones de acceso de encabezado independientes, mientras que los archivos agrupados bajo el mismo directorio dedicado comparten políticas de permisos unificadas a nivel de dominio. El mecanismo de bloqueo irreversible proporciona el nivel más alto de seguridad contra intentos de intrusión por fuerza bruta a gran escala.

4. Protección procedimental

Después de analizar las defensas de hardware físico y los controles de acceso a archivos lógicos de las tarjetas inteligentes, esta sección se centra en las aplicaciones de seguridad procedimental en escenarios del mundo real. Explica cómo aprovechar la capacidad de cómputo en la tarjeta y el almacenamiento confiable para construir sistemas de aplicación seguros de extremo a extremo más allá de la protección de la tarjeta independiente.

Beneficiándose de la potencia de procesamiento criptográfico independiente a bordo, las tarjetas inteligentes admiten la verificación de identidad y la autorización de transacciones completamente sin conexión sin depender de la conectividad en tiempo real con el servidor en la nube. Esta capacidad sin conexión es la ventaja central que distingue a las tarjetas inteligentes de los tokens de autenticación en la nube que dependen de la red.

Un flujo de trabajo de seguridad sin conexión típico adopta una autenticación activa mutua entre la tarjeta inteligente y el dispositivo aceptador de tarjetas. Ambas partes verifican las credenciales criptográficas de la otra antes de la interacción formal de datos, lo que previene los ataques de intermediario que utilizan terminales lectores falsos.

Además, el código de firmware central y los datos raíz almacenados en la memoria de la tarjeta son cifrados por el fabricante del chip mediante algoritmos de codificación de hardware propietarios durante la fabricación. Este cifrado a nivel de hardware hace que la lógica del circuito subyacente sea extremadamente difícil de ingeniería inversa y falsificación.

Las tarjetas inteligentes modernas también se pueden integrar perfectamente con tecnologías de seguridad convencionales, como la criptografía de clave pública asimétrica y el reconocimiento biométrico. Esta fusión entre tecnologías permite aplicaciones de alta confianza que son mucho más seguras que los sistemas de autenticación de factor único tradicionales.

Esta sección selecciona tres dominios de aplicación representativos para demostrar cómo los mecanismos procedimentales basados en tarjetas inteligentes mejoran la seguridad general del sistema, incluida la identificación de documentos electrónicos, la autenticación de red distribuida y el control de acceso al sistema operativo local.

4.1 Identificación de documentos

Los documentos de identidad tradicionales en papel, incluidas las tarjetas de identificación físicas, los permisos de conducir, los pasaportes y las visas de viaje, han sido reconocidos durante mucho tiempo como inherentemente poco fiables. Su información visible se puede copiar, alterar y falsificar fácilmente con equipos de oficina básicos.

Con la popularización de impresoras a color de alta resolución, escáneres y software de edición de imágenes digitales, las personas comunes pueden producir documentos de papel falsificados casi perfectos a bajo costo. Esto hace que la inspección visual manual por parte de funcionarios administrativos sea cada vez más ineficaz para la verificación antifalsificación.

La tarjeta inteligente es actualmente la solución más madura y práctica para resolver los riesgos de falsificación de documentos. Toda la información personal impresa, las fotografías de retrato y los metadatos de las credenciales se pueden digitalizar y cifrar antes de almacenarse en el área EEPROM protegida de la tarjeta.

Al configurar condiciones de acceso a archivos de grano fino y contraseñas administrativas, solo los departamentos gubernamentales autorizados y los terminales de inspección certificados pueden descifrar y leer los datos de identidad confidenciales dentro de la tarjeta. Los lectores de tarjetas de consumo comunes no pueden acceder a la información central sensible.

Cuando se combina con la tecnología biométrica, la tarjeta inteligente puede almacenar plantillas de huellas dactilares cifradas, datos de características del iris o vectores de reconocimiento facial del titular de la tarjeta. Durante la verificación, la tarjeta coopera con un escáner biométrico dedicado para comparar los datos biológicos recopilados en tiempo real con la plantilla en la tarjeta, completando la autenticación de identidad intrínseca del usuario.

Esta verificación de dos factores que combina la posesión del token y las características biológicas elimina fundamentalmente los riesgos de suplantación de identidad que afectan a los documentos en papel tradicionales. La fiabilidad general de la verificación de identidad mejora en varios órdenes de magnitud.

El flujo de trabajo operativo de los sistemas de identificación con tarjeta inteligente conserva la lógica fácil de usar de la inspección de documentos en papel tradicional. En lugar de depender del juicio visual humano, la verificación se completa automáticamente mediante una comparación criptográfica realizada por los dispositivos aceptadores de tarjetas certificados.

El terminal autorizado contiene claves administrativas preestablecidas para desbloquear los archivos de identidad protegidos en la tarjeta y extraer los datos de verificación estandarizados para la verificación cruzada con el backend. Para escenarios biométricos, el usuario presenta la característica corporal requerida al escáner, y la lógica de comparación se ejecuta localmente entre el escáner y la tarjeta.

Muchos gobiernos internacionales y empresas de aviación ya han implementado sistemas de identificación basados en tarjetas inteligentes en la práctica. Varias aerolíneas internacionales están desarrollando tarjetas de embarque electrónicas integradas en tarjetas inteligentes sin contacto vinculadas a los sistemas de manejo de equipaje de los aeropuertos.

La tarjeta inteligente almacena información de pasajero cifrada que incluye nombre completo, asignación de asiento, número de vuelo, marca de tiempo y datos del manifiesto de equipaje. Permite la verificación automática del check-in del pasajero, el rastreo de la propiedad del equipaje y la recuperación de equipaje perdido durante todo el proceso de viaje.

Más importante aún, los datos cifrados trazables en las tarjetas inteligentes ayudan a las autoridades de seguridad pública a identificar a personas de alto riesgo, como delincuentes y terroristas, durante los controles fronterizos y las inspecciones de seguridad de la aviación.

Se espera ampliamente que la identificación electrónica con tarjeta inteligente se convierta en la tendencia dominante que reemplace a los certificados en papel tradicionales en la próxima década. El volumen y la sensibilidad de los datos personales almacenados seguirán creciendo rápidamente.

Por lo tanto, el actual sistema de control de acceso de un solo factor basado en PIN ya no cumplirá con los requisitos de seguridad futuros. Se sugiere que los sistemas operativos de tarjetas inteligentes de próxima generación integren algoritmos de autenticación asimétrica avanzados para realizar una protección multifactor para archivos individuales y el núcleo completo del sistema.

4.2 Autenticación en Kerberos

En un entorno de computación distribuida abierto (DCE), las estaciones de trabajo cliente no se pueden confiar plenamente para autenticar correctamente a los usuarios locales. Estos terminales suelen estar desplegados en áreas públicas no controladas, lejos de los servidores de gestión de seguridad centralizados, y pueden ser accedidos físicamente por personal no autorizado.

Los intrusos maliciosos pueden manipular estaciones de trabajo no confiables para lanzar ataques de red, falsificar identidades de usuario y obtener ilegalmente datos sensibles a los que no están autorizados a acceder. Son esenciales mecanismos de autenticación de terceros fiables para defender los sistemas distribuidos contra ataques de suplantación de identidad remota.

Kerberos es un protocolo de autenticación de terceros de clave simétrica clásico diseñado específicamente para entornos de red distribuida. Establece un mecanismo de mediación de confianza entre clientes, servidores de aplicaciones y servidores de autenticación dedicados para evitar el acceso no autorizado entre dominios.

El flujo de trabajo de autenticación estándar de Kerberos sigue una lógica de concesión de tickets de tres niveles. Cuando un cliente solicita acceso a un servicio objetivo, primero envía información de identidad al Servidor de Autenticación de Kerberos (AS) para solicitar un ticket de autenticación inicial.

Después de validar la identidad básica del cliente, el AS emite un ticket de concesión de tickets (TGT) cifrado con la clave derivada de la contraseña del usuario. Luego, el cliente presenta el TGT al Servidor de Concesión de Tickets (TGS) para solicitar un ticket de acceso específico para el servicio.

Finalmente, el cliente envía el ticket de servicio al servidor de aplicaciones objetivo, que verifica la validez del ticket antes de otorgar el acceso al servicio autorizado. La figura 3 ilustra la lógica interactiva completa del protocolo de autenticación Kerberos.

Figura 3: Protocolo de autenticación Kerberos (fuente: Jennifer & Clifford & Jeffrey, 1988)

Este protocolo asegura que los servidores de aplicaciones solo proporcionen servicios a clientes autenticados legalmente que posean credenciales de acceso válidas. El supuesto de seguridad central del Kerberos clásico es que solo el usuario legítimo posee la contraseña correcta necesaria para descifrar los tickets personalizados.

Sin embargo, este diseño contiene una falla de seguridad inherente. La autenticación inicial del usuario se completa en el lado de la estación de trabajo, no en el lado del servidor. Un atacante puede interceptar el ticket cifrado de otro usuario sin conexión y lanzar ataques de fuerza bruta de adivinación de contraseñas para descifrar la credencial.

Mark y Gary señalaron explícitamente esta vulnerabilidad crítica en su artículo de 1995 titulado "Integración de tarjetas inteligentes en sistemas de autenticación". Demostraron que Kerberos basado únicamente en contraseñas no puede resistir los ataques de descifrado de credenciales sin conexión en escenarios de estaciones de trabajo no confiables.

Para remediar este defecto, los autores propusieron integrar tokens de tarjetas inteligentes seguros en el marco de autenticación de Kerberos. Se diseñaron seis esquemas de integración mejorados para introducir la verificación del usuario basada en hardware en la etapa de autenticación inicial.

La mejora central de todos los esquemas es imponer una autenticación de usuario bidimensional: los usuarios deben recordar una contraseña confidencial y poseer un token de tarjeta inteligente física para obtener tickets iniciales válidos. Este mecanismo de dos factores de posesión-conocimiento evita el robo de credenciales y la suplantación de identidad.

Las diferencias técnicas detalladas entre los seis esquemas de integración no se elaboran en este documento, ya que pertenecen a una investigación de optimización de protocolos de red especializada más allá de nuestro alcance. Este caso demuestra suficientemente cómo los mecanismos procedimentales de las tarjetas inteligentes pueden mejorar fundamentalmente la seguridad de los sistemas de autenticación distribuidos maduros.

4.3 Control de acceso en el sistema operativo

El control de acceso a nivel de sistema es uno de los objetivos de diseño centrales originales de la tecnología de seguridad de tarjetas inteligentes. Más allá de la autenticación de usuarios y la protección de transacciones, las tarjetas inteligentes también se pueden utilizar para reforzar la integridad del arranque y los permisos de acceso de los sistemas operativos de computadoras personales.

La idea central de la protección del sistema operativo basada en tarjetas inteligentes fue propuesta por primera vez por Paul y Lance en su artículo de 1994 "BITS: un sistema operativo protegido por tarjeta inteligente". Este diseño se dirige a los defectos de seguridad inherentes de las arquitecturas de computadoras personales de un solo usuario tradicionales.

Las computadoras personales estándar adoptan un modelo de ejecución abierto de un solo usuario sin aislamiento de permisos incorporado para las áreas críticas del sistema. El sector de arranque del disco duro, la tabla de particiones maestra y el código del núcleo del sistema pueden ser modificados libremente por cualquier usuario local sin comprobaciones de autorización.

Esta arquitectura abierta conduce a graves riesgos de infección por virus. Los virus maliciosos del sector de arranque pueden sobrescribir la lógica de inicio, alterar los parámetros del núcleo y residir de forma persistente en las áreas del sistema sin ser detectados. Con la evolución de las PC modernas hacia servidores de red de bajo costo, esta vulnerabilidad inherente plantea amenazas de seguridad de red más graves.

Paul y Lance propusieron el Sistema de Token de Integridad de Arranque (BITS) que aprovecha el almacenamiento seguro y el cálculo criptográfico de las tarjetas inteligentes para imponer procesos de arranque de PC confiables. El principio central es desacoplar los datos críticos de verificación de arranque del disco duro local vulnerable y almacenarlos en una tarjeta inteligente aislada y resistente a manipulaciones.

La computadora host no puede completar la secuencia de arranque completa de forma independiente. Debe obtener parámetros de integridad de arranque cifrados y claves de verificación de la tarjeta inteligente insertada para inicializar el núcleo del sistema operativo.

Incluso si un atacante obtiene acceso físico completo al hardware de la PC y altera los archivos de arranque locales, la falta de datos de verificación de la tarjeta inteligente bloqueará el proceso de inicio por completo, preservando la integridad del sistema contra manipulaciones sin conexión.

El marco BITS impone una autenticación mutua bidireccional antes de la finalización del arranque. Primero, el usuario se autentica en la tarjeta inteligente mediante un PIN de inicio de sesión preestablecido para desbloquear el área de almacenamiento seguro del token.

En segundo lugar, el host de la PC verifica la legitimidad de la tarjeta inteligente descifrando una clave secreta compartida almacenada en el token. Solo después de que ambos pasos de autenticación pasen, la tarjeta liberará la información de la sección de arranque firmada al host.

Luego, la PC carga los datos de arranque verificados y completa el proceso normal de inicialización del núcleo. Todas las operaciones posteriores del sistema se ejecutan en el entorno de confianza verificado por integridad establecido por la tarjeta inteligente.

Adicionalmente, la tarjeta inteligente puede almacenar sumas de verificación criptográficas precalculadas de archivos ejecutables críticos del sistema y módulos de controladores. Durante el tiempo de ejecución, el sistema operativo puede consultar la tarjeta para verificar los valores hash de los archivos en lugar de depender del escaneo de virus basado en firmas tradicional.

Este mecanismo de verificación de integridad puede detectar archivos modificados desconocidos y malware polimórfico que evade las bases de datos de firmas, proporcionando una defensa proactiva del sistema. En general, la incorporación de anclajes de confianza de hardware de tarjetas inteligentes mejora significativamente el nivel de seguridad general de los sistemas operativos de computadoras personales tradicionales.

5. Ataques a tarjetas inteligentes

Del análisis de protección física, lógica y procedimental anterior, las tarjetas inteligentes parecen ser herramientas de seguridad potentes que proporcionan entornos de ejecución confiables y almacenamiento de datos confidenciales. La mayoría de los sistemas operativos de tarjetas inteligentes comerciales también integran aceleradores criptográficos integrados no mencionados en secciones anteriores.

Estos módulos criptográficos en el chip admiten el cifrado y descifrado de datos en tiempo real para los flujos de trabajo de las aplicaciones. Los chips avanzados también implementan generadores de números aleatorios verdaderos para generar dinámicamente claves de sesión impredecibles para el cifrado de transacciones y comunicaciones.

Naturalmente, los algoritmos criptográficos confidenciales, las claves secretas almacenadas permanentemente y la lógica de control de acceso jerárquico dentro de las tarjetas inteligentes se convierten en los principales objetivos de los atacantes maliciosos. Muchas empresas de seguridad y criptógrafos profesionales han publicado investigaciones que demuestran que los microcontroladores de tarjetas inteligentes comerciales actuales pueden verse comprometidos en condiciones adversariales específicas.

Los vectores de ataque existentes a tarjetas inteligentes se pueden clasificar en tres categorías principales: ataques lógicos de software no invasivos, ataques físicos de hardware invasivos y ataques criptoanalíticos matemáticos dirigidos a debilidades de algoritmos. Este documento revisa brevemente los dos primeros tipos de ataque prácticos y sus principios de implementación.

Los ataques criptoanalíticos matemáticos se basan en una derivación matemática abstracta compleja, un cálculo de algoritmos a gran escala y un análisis avanzado de la estructura del cifrado. Su complejidad teórica y alcance de fórmulas exceden el rango de visión general de nivel de pregrado de este documento, por lo que no se discuten en detalle en el contenido posterior.

5.1 Ataques lógicos

Todo el material de clave secreta y los datos de privacidad del usuario de las tarjetas inteligentes se almacenan en matrices de memoria EEPROM regrabables. Las características eléctricas de las celdas de almacenamiento EEPROM son muy sensibles a las condiciones operativas externas, incluida la tensión de alimentación y la temperatura ambiente.

Los atacantes pueden inducir errores de lectura de memoria anormales y una ejecución incorrecta de instrucciones al aumentar o disminuir intencionalmente la tensión de alimentación proporcionada al microcontrolador de la tarjeta. Estos glitches de tensión filtran información de estado interna sensible que debería permanecer confidencial durante el funcionamiento normal.

Ross Anderson y Markus Kuhn resumieron múltiples casos de ataque lógico basado en tensión en su informe emblemático de 1996 "Resistencia a manipulaciones: una nota de precaución". Estos experimentos prácticos demostraron que las perturbaciones eléctricas de bajo costo pueden eludir los bloqueos de seguridad nativos de las tarjetas inteligentes sin desmontar físicamente el chip.

Un caso clásico bien documentado se dirige al microcontrolador embebido Microchip PIC16C84 ampliamente utilizado en las primeras tarjetas inteligentes de gama baja. El bit de bloqueo de seguridad global del chip se puede borrar forzosamente elevando la tensión de alimentación principal VCC a un nivel 0.5 V por debajo de la tensión de programación alta VPP durante las operaciones de borrado de memoria masiva.

Otro ataque lógico típico se dirige al procesador de seguridad dedicado Dallas Semiconductor DS5000. Una breve caída de tensión de nanosegundos en el riel de alimentación puede liberar temporalmente el mecanismo de bloqueo de seguridad del firmware sin borrar los datos de clave confidencial subyacentes almacenados en la EEPROM.

La perturbación de baja tensión también induce vulnerabilidades criptográficas secundarias. El generador de números aleatorios verdaderos analógico integrado en muchas tarjetas inteligentes generará secuencias binarias casi todas de 1 cuando la tensión de alimentación es ligeramente inferior al rango de funcionamiento nominal. Esta debilidad aleatoria predecible rompe por completo la seguridad de las claves de sesión generadas dinámicamente.

Para defenderse de tales ataques de perturbación ambiental, algunos procesadores de seguridad de gama alta integran circuitos de sensores de tensión y temperatura dedicados. El sensor activa una alarma del sistema y borra las claves sensibles una vez que se detectan condiciones operativas anormales.

Sin embargo, estos módulos sensores generan con frecuencia falsas alarmas positivas durante los transitorios de encendido de la tarjeta. Las fluctuaciones de tensión durante la inicialización del circuito se interpretan erróneamente como manipulación maliciosa, lo que provoca un borrado innecesario de claves y fallos en la tarjeta. Este defecto de estabilidad limita la implementación a gran escala de mecanismos de defensa basados en sensores en productos comerciales.

5.2 Ataques físicos

Los ataques físicos invasivos son el tipo más directo y destructivo de método de penetración de tarjetas inteligentes. Esta vía de ataque requiere contacto directo y modificación del dado del chip de silicio, lo que no se puede completar sin extraer el chip del soporte de plástico original.

El proceso preliminar de desencapsulado del chip utiliza herramientas manuales simples. Los atacantes cortan el sustrato de plástico detrás del módulo del chip con un cuchillo de precisión afilado hasta que la resina epóxica que encapsula el dado de silicio queda completamente expuesta.

Luego se aplica ácido nítrico fumante concentrado con una pureza superior al 98% para disolver la capa de resina epóxica protectora. Después de la descomposición de la resina, la tarjeta se limpia repetidamente en una solución de acetona para eliminar los residuos químicos, exponiendo completamente la superficie del dado de silicio desnudo para su sondeo y análisis.

Los investigadores del Laboratorio Cavendish de la Universidad de Cambridge desarrollaron una técnica estandarizada de ingeniería inversa de chips basada en este flujo de trabajo de desencapsulado. Mediante el deslustrado capa por capa y el escaneo con microscopio electrónico, se puede reconstruir por completo el diseño del circuito completo y la lógica funcional del chip de la tarjeta inteligente.

Los investigadores de IBM propusieron una técnica de análisis dinámico complementaria que utiliza el sondeo con haz de electrones para observar los cambios de tensión en tiempo real de las puertas lógicas internas durante el funcionamiento del chip. Combinando la reconstrucción de diseño estático y la observación dinámica en tiempo de ejecución, los atacantes pueden revelar completamente todos los secretos de los algoritmos y las ubicaciones de almacenamiento de claves dentro del chip.

Más allá del deslustrado y sondeo convencionales, existen múltiples variantes de ataques físicos maduros. La irradiación con luz ultravioleta puede borrar los bits de bloqueo de seguridad basados en EPROM para desbloquear las interfaces de depuración. Las microagujas de precisión pueden contactar directamente con las líneas de bus internas para interceptar las señales de transmisión de datos en tiempo real.

Los microscopios láser de corte avanzados pueden realizar destrucción selectiva de puertas y borrado localizado de memoria para alterar la lógica funcional del chip. A pesar de su eficacia, todas estas herramientas de ataque físico y materiales químicos requieren una infraestructura de laboratorio profesional y altos costos de adquisición.

Como resultado, los ataques físicos invasivos se limitan actualmente a laboratorios de seguridad profesionales bien financiados y grandes instituciones de investigación. Los atacantes individuales aficionados no pueden permitirse el umbral financiero y técnico para implementar estos métodos de explotación a nivel de hardware.

6. Conclusión

Este documento analiza sistemáticamente la composición física del hardware, la arquitectura del microcontrolador embebido, el sistema de archivos lógicos jerárquico y los mecanismos de control de acceso de grano fino de las tarjetas inteligentes modernas. También se detalla la gestión completa del flujo de trabajo de seguridad del ciclo de vida desde la fabricación hasta la invalidación.

Basándonos en el análisis comparativo con los medios de banda magnética tradicionales y los documentos en papel, confirmamos que las tarjetas inteligentes proporcionan una confidencialidad de datos, resistencia a manipulaciones y rendimiento antifalsificación significativamente mayores que los medios de almacenamiento y transacción heredados.

Se presentan tres escenarios de aplicación prácticos típicos para verificar que la tecnología de tarjetas inteligentes mejora eficazmente la seguridad general, la integridad de los datos y la fiabilidad de la autenticación en la gestión de identidades, los sistemas de red distribuidos y los sistemas operativos de computadoras locales.

La última parte del documento revisa los vectores de ataque lógicos y físicos convencionales dirigidos a las tarjetas inteligentes comerciales. La existencia de estos métodos de ataque factibles no significa que la tecnología de tarjetas inteligentes sea fundamentalmente insegura y poco fiable para su implementación práctica.

Es esencial reconocer que los ataques dirigidos a dispositivos de seguridad son omnipresentes en todos los sistemas criptográficos. Ningún producto de tecnología de la información existente puede reclamar una vulnerabilidad cero absoluta o una seguridad 100% irrompible; tales afirmaciones absolutas son técnicamente irresponsables y académicamente no científicas.

El criterio central para juzgar si un sistema de seguridad es prácticamente seguro radica en si su fuerza de protección y el umbral de coste de ataque coinciden con el nivel de riesgo de su escenario de aplicación. Las aplicaciones de consumo de bajo valor solo requieren una capacidad antifalsificación básica, mientras que los escenarios financieros y gubernamentales exigen una resistencia a ataques de alto coste.

Además, casi todos los ataques a tarjetas inteligentes publicados actualmente pertenecen a ataques organizados de clase III de alto coste. El coste financiero y la inversión de tiempo necesarios para romper una tarjeta comercial superan con creces el valor económico del dispositivo en sí. Algunos ataques matemáticos requieren cientos de años de cálculo por fuerza bruta para comprometer una única clave de transacción.

La tecnología de semiconductores embebidos avanza rápidamente con la iteración anual de los procesos de fabricación y el firmware de seguridad. Los fabricantes de tarjetas inteligentes actualizan continuamente los sensores de hardware, los algoritmos de cifrado y la lógica de control de acceso para corregir las vulnerabilidades recién descubiertas de manera oportuna.

Una vez que los hackers clandestinos descubren una nueva explotación

Preguntas generales sobre la extracción de firmware de microcontroladores


  • ¿Es seguro enviar el pago a MikaTech?

    Si MikaTech fuera una empresa mala, se podrían encontrar toneladas de malas reputaciones sobre su servicio en Internet a lo largo de sus 28 años de historia

    Por lo tanto, la respuesta es ¡SÍ! Somos buena gente.

    Por qué elegir Mikatech, por favor haga clic aquí para averiguarlo


  • ¿Puede Mikatech romper circuitos integrados que no aparecen en este sitio?

    Diferentes fabricantes de chips tienen diferentes números de pieza, pero el núcleo interno del chip puede fabricarse con la misma tecnología; sería bastante imposible enumerar todos los números de pieza a los que se puede aplicar nuestra tecnología, como MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Además, con el avance de la tecnología, cada día adquirimos más experiencia y desarrollamos nuevos métodos de ingeniería inversa para diferentes circuitos integrados. La lista completa de números de pieza de circuitos integrados que están dentro de nuestro alcance de capacidad es cada vez mayor; por favor, contáctenos para obtener más información.

  • ¿Se protegerá mi privacidad?

    Mikatech Innovative Limited comprende la importancia de la privacidad de sus clientes. En el momento en que se comunique con Mikatech, su información personal estará protegida por nuestras normas de gestión desarrolladas a lo largo de años de práctica; Mikatech utiliza esta información para personalizar sus servicios para usted y nunca divulgará esta información a terceros por ningún motivo.
    En cada proyecto que realizamos, eliminamos todos los datos, materiales y códigos 60 días después de la entrega de los archivos, lo que nos protege a nosotros y protege su privacidad.

  • ¿Es legal obtener el servicio de Mikatech?

    Sí, es totalmente legal.
    Mikatech ofrece sus servicios de ingeniería inversa solo con fines educativos; el uso de los servicios mencionados puede ser ilegal en algunos países o regiones; consulte sus leyes locales. Mikatech no asume ninguna responsabilidad en relación con el uso de los servicios mencionados que pudiera considerarse ilegal.


  • Le envié un correo electrónico, ¿por qué no hay respuesta?

    • A. Nuestro servidor de correo se ha averiado temporalmente, su mensaje no ha llegado a nuestra bandeja de entrada aunque se muestre el mensaje de enviado correctamente en la pantalla; por favor, contáctenos de nuevo.
    • B. Nuestro correo electrónico es reconocido como spam por su servidor de correo, por lo que nuestra respuesta ha sido rechazada por su servidor o desviada a su carpeta de correo no deseado; elimine nuestra cuenta de la lista de spam o revise su carpeta de spam, o utilice otra cuenta de correo como Gmail.
    • C. Su correo electrónico es reconocido como spam por nuestro servidor de correo, por lo que su correo fue colocado en nuestra carpeta de spam; utilice otra cuenta de correo para contactarnos nuevamente.



    tiempo de hackeo de microcontrolador

    Años

    28 +
    países de hackeo de microcontroladores

    Países

    110 +
    clientes de ataque a microcontroladores

    Clientes

    5000 +
    proyectos de microcontroladores desbloqueados

    Proyectos

    60000 +