Download Tema 3.2: Dispositivos resistentes a manipulaciones
Document related concepts
no text concepts found
Transcript
Tema 3.2: Dispositivos resistentes a manipulaciones Tarjetas Chip (1) Típicamente, tarjetas de plástico con un chip especial embebido. Constituidas por: Obviamente pueden tomar otras formas. Un procesador especial llamado SPOM Memoria RAM de trabajo (pequeña, de entre 256 bytes y unos pocos Kbytes). Memoria ROM con el SO (desde 16 Kbytes aprox.). EEPROM para los datos (las primeras podían almacenar entre 1 y 16 Kbytes. Hoy pueden encontrarse de 10 Mb). Hay tarjetas de “solo memoria” (memory cards) que sólo tienen la EEPROM. Tarjetas Chip (2) Normas ISO 7816-x 1,2,3 : Características Físicas, eléctricas comunicaciones. 4,5,6 : Órdenes y aplicaciones. Tarjetas Chip (y 3) Aproximadamente 1500 millones de tarjetas chip emitidas en 2004. 1.000 millones son SIM cards para telefonía móvil. Fuente: Eurosmart. Otras aplicaciones comunes: Control de acceso. Ideales para almacenar información de manera segura: Ej. claves privadas Dinero electrónico. No pueden copiarse fácilmente a diferencia de las tarjetas magnéticas. Sistemas Operativos (1) Tienen su propio SO El SO puede ser: Dedicado para una aplicación concreta (lo más común todavía). De propósito general (más complejos -> requieren más silicio -> tarjetas más caras). Pueden soportar o no múltiples aplicaciones a la vez. Requiere garantizar que una aplicación no puede acceder al código o los datos de otras. Pueden soportar carga dinámica de aplicaciones: Requiere garantizar que la nueva aplicación ha sido autorizada por el emisor de la tarjeta. Sistemas Operativos (2) Sistemas Operativos más populares: Sistemas propietarios: Típicamente, sólo una aplicación y sin carga dinámica. Sistema de ficheros con estructura de árbol Permisos de acceso a los ficheros Para acceder a los ficheros, en función de los permisos, puede haber que autenticarse por métodos criptográficos. Sistemas Operativos (3) Sistemas Operativos más populares: Java Card http://java.sun.com/products/javacard/ Tarjetas-chip con una máquina virtual JAVA embebida. La máquina soporta un JDK reducido y específico. Objetos son persistentes sólo con crearlos. Soportan criptografía. Es multi-aplicación. La verificación de que no hay violaciones de acceso se hace fuera de la tarjeta verificando el código de los applets. Permiten carga dinámica de nuevas aplicaciones. Sistemas Operativos (4) Sistemas Operativos más populares: MULTOS http://www.multos.com/developers Orientado a programación C (modelo de más bajo nivel). Cada aplicación crea su estructura de directorios y maneja ficheros. El acceso está protegido por protocolos criptográficos. Es multi-aplicación. La verificación de seguridad la hace el SO en la tarjeta. Una aplicación no puede aumentar la memoria que utiliza. Permite carga dinámica de nuevas aplicaciones. Sistemas Operativos (y 5) Java Card vs MULTOS: En general, la seguridad de MULTOS en entornos multi-aplicación se considera algo superior. La familiaridad con JAVA ha dado ventaja a las JAVA Cards. Se estima que las JAVA Cards abarcan sobre 1/3 del mercado SIM y son potentes también en otros ámbitos. Pero MULTOS tiene también apoyo y contratos importantes, especialmente en Asia. http://www.cardtechnology.com/article.html?id=20050701SI 9RWL2Z Seguridad (1) Seguridad hardware El acceso al chip está protegido por medios físicos El nivel de sofisticación de esta protección es variable, pero típicamente muy alto. Pero el incentivo también puede ser muy alto: Ejemplo: VideoCrypt y el litigio Canal Plus – NDS. http://www.guardian.co.uk/technology/2002/mar/13/me dia.citynews Las tarjetas SIM actuales pueden también duplicarse con relativamente poco esfuerzo, aunque la dificultad está aumentando. Seguridad (2) Seguridad software Un programa sólo puede leer o escribir en la tarjeta tras autenticarse correctamente. El programa también puede autenticar a la tarjeta. Puede utilizarse: Criptografía de clave compartida. Criptografía de clave pública – privada. Métodos más costosos -> Tarjetas más caras. Seguridad (3): Clave Compartida Ejemplo: Tarjetas SIM. Cada SIM tiene asociada una clave. Al establecer conexión, la tarjeta se identifica con un número de serie. Operadora calcula un número aleatorio y lo envía a la tarjeta. La tarjeta cifra el mensaje con su clave y lo devuelve a la operadora. La operadora obtiene la clave asociada al número de serie y la aplica al número aleatorio. Debe coincidir con lo recibido. Móvil (ojo, no la tarjeta) y operadora calculan una clave de sesión partiendo del número de serie y el número aleatorio. Seguridad (y 4): Clave Pública Cada tarjeta tiene su par clave pública – privada y su certificado. La tarjeta puede autenticar cualquier mensaje usando su firma. Pueden cifrarse mensajes usando la clave pública o usarse para distribuir una clave de sesión.