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.