Download Tarjetas Inteligentes

Document related concepts
no text concepts found
Transcript
Tarjetas Inteligentes
Guillermo Glez. de Rivera
Escuela Politécnica Superior
Universidad Autónoma de Madrid
INTRODUCCIÓN
¿Que son las tarjetas inteligentes?
Son tarjetas de plástico similares en tamaño y otros
estándares físicos a las tarjetas de crédito que llevan
estampadas un circuito integrado. Este circuito puede
tener sólo una memoria o contener un microprocesador
(CPU) con un sistema operativo que le permite una serie
de tareas como:
– Almacenar
– Encriptar información
– Leer y escribir datos, como un ordenador
Propiedades de las Tarjetas
• Seguridad
– En el almacenamiento de la información
– En las operaciones que realizan
• Portabilidad de información
• Coste asequible
– Las entidades financieras pueden afrontar su
adquisición
• Bien aceptadas por los usuarios finales
Evolución de las Tarjetas (1)
• Tarjetas de banda magnética
– Banda magnética en su parte posterior
– Definición: ISO 7811
– Ventajas:
• Muy extendidas
• Muy bien aceptadas por el usuario final
– Inconvenientes:
• “Relativa” seguridad (fácil fraude)
• Sólo son capaces de almacenar información
• Poco espacio de memoria (180 bytes)
• Poca flexibilidad
Evolución de las Tarjetas (2)
• Tarjetas de memoria
– Tarjetas con un chip integrado capaz de
almacenar información de forma segura
– Se las empezó a considerar como “tarjetas
inteligentes”.
– Definición: ISO 7816
– Ventajas:
• Almacenamiento más seguro de la información
• Mayor espacio de memoria
Evolución de las Tarjetas (3)
– Inconvenientes:
• No son totalmente seguras
• Sólo capaces de almacenar información
• No son versátiles/flexibles
• No pueden ser multiaplicación
– Ejemplo de entornos de aplicación:
• Telefonía: tarjetas para cabinas telefónicas
• Mundo comercial: planes de fidelización de clientes
Evolución de las Tarjetas (4)
– Tarjetas de sólo Memoria:
ROM
(Datos de identificación)
EEPROM
(Datos de Ia aplicación)
Entrada/Salida
Reloj
Canal de control
Alimentación
GND
– Tarjetas con Memoria protegida:
ROM
(Datos de identificación)
Circuito de Seguridad
EEPROM
(Datos de la aplicación)
Entrada/Salida
Reloj
Canal de control
Alimentación
GND
Evolución de las Tarjetas (4)
• Tarjetas inteligentes con microprocesador
– Tarjetas con un microprocesador capaces de
almacenar y procesar información
seguramente
– Son las llamadas tarjetas inteligentes
– Definición: ISO 7816 / ISO 14443
– Ventajas:
• Dispositivo seguro por definición
• Capaces de procesar información (además de
almacenarla)
• Mayor versatilidad (al poder ser programadas).
Evolución de las Tarjetas (5)
• “Gran” espacio de memoria (16 KBs, 64 KBs, ...)
• Pueden ser multiaplicación (monedero electrónico,
información bancaria, telefonía, transporte)
– Inconvenientes:
• Lenguajes de programación de tarjetas
dependientes del hardware.
• Programación de las tarjetas en ensamblador.
• Aplicaciones desarrolladas exclusivamente por el
proveedor de la tarjeta.
Evolución de las Tarjetas (6)
– Ejemplos de entornos de aplicación:
• Mundo de la telefonía: tarjetas inteligentes de
teléfonos móviles (módulos SIM)
• Mundo de las comunicaciones: tarjetas inteligentes
con claves privadas para acceso seguro
• Mundo bancario: monedero electrónico
(micropagos) y comercio electrónico
Tarjetas con Microprocesador (1)
• ¿Por qué son seguras las tarjetas inteligentes?
– Seguridad de los componentes
• El chip es a prueba de falsificación y no puede ser
duplicado.
• Capacidad de detección de
– Ataques por Rayos X y luz Ultravioleta.
– Voltajes inusuales.
– Cambios de frecuencia de reloj.
– Seguridad del sistema operativo
• Control de los accesos a memoria
• Protección de datos y ficheros
Tarjetas con Microprocesador (2)
– Seguridad del sistema operativo y de las
transacciones.
• Autentificación del portador. (mediante PIN)
• Autentificación de la tarjeta a través de un
sistema de claves diversificadas.
–
–
–
Encriptación/ Desencriptación DES.
Encriptación/ Desencriptación RSA.
Firma digital: MD5.
Tarjetas con Microprocesador (3)
• Disponen de un microprocesador con elementos
adicionales:
– ROM: Contiene el Sistema Operativo
– EEPROM: Contiene datos de usuario (nombre, PIN, etc) y la
aplicación (códigos de las instrucciones del SO, datos, etc)
– RAM: Utilizada por el microprocesador
– Puerto de E/S: Normalmente registro se entrada/salida serie
ROM
CPU
EEPROM
RAM
Entrada/Salida
Reloj
Reset
Alimentación
GND
Smartcard ST19 Platform Ics
• CPU
–
Enhanced 8-bit CPU with extended addressing modes
–
Extensive security features including EEPROM Flash programming, memory security,
firewalls and clock management; voltage and clock frequency sensors
Hardware DES accelerator with library support for symmetrical algorithms 1088-bit modular
arithmetic processors plus library support for asymmetrical algorithms
Two random number generators (FIPS140-2 and AIS31 compliant)
Fire_walled customer specific IP block
Common criteria certification up to EAL5+ and private scheme security certifications
• Security
–
–
–
–
• Memory
–
–
–
–
–
Up to 224 KBytes of user ROM with partitioning
Up to 8 KBytes of RAM with partitioning
Up to 66 KBytes of user EEPROM with
partitioning and OTP area
EEPROM 10 years data retention
Up to 500,000 erase/write cycles endurance
1 to 32/64 bytes erase/program (2ms max.)
• Connectivity
–
–
–
–
Contact ISO 7816-3 Contactless
ISO 14443B
USB 1.1
LPC, GPIO/I2C
–
–
–
–
Two to three 8-bit timers,ISO 3309 CRC calculation block
1.8V to 5.5V operation, with standby mode for power saving
External clock = 1MHz to 10MHz, programmable internal clock > 10MHz
ISSUER mode for fast personalization, before delivery in USER mode
• Other Features
Smartcard ST22 SmartJ Platform ICs
• CPU
–
–
–
–
32-bit RISC CPU with 24-bit Linear Memory Addressing
Dual instruction set, JavaCard™ and native language
4-stage pipeline, 16 general purpose 32-bit registers, and 10 special registers
4 mask-able interrupt levels
–
–
–
–
–
–
–
Common Criteria certification EAL5+ Target
ST22L128 EAL5+ certified
CPU security instructions
EEPROM Flash programming mode
Hardware DES and 3DES instructions
Fast multiply and accumulate instructions
for public key and elliptic curve cryptography
True random number generator (AIS31 compl.)
Memory protection unit for application
fire-walling and peripheral access control
Clock and power management, voltage and clock frequency sensors
–
–
–
–
–
Up to 394 KBytes of user ROM with partitioning
Up to 16 KBytes of RAM with partitioning
Up to 256 KBytes of EEPROM with partitioning and OTP area
EEPROM 10 years data retention
Up to 500,000 erase/write cycles endurance 1 to 128 bytes erase or program in 2ms
–
–
–
–
–
–
Hardware asynchronous serial interface (UART)
2 serial I/O ports compatible ISO 7816-3
2 user configurable 12-bit and 16-bit timers with interrupt, internal or external clock
Up to 30 MHz internal clock and external clock from 1MHz to 10MHz
1.8 to 5 V supply voltage with power saving standby mode
Unique identification per die
• Security
–
–
• Memory
• Other Features
Tipos de Tarjetas (1)
• Tarjetas inteligentes sin contactos
– Poseen además del chip una antena de la
cual se valen para realizar transacciones
– Ideales cuando las
transacciones tienen
que ser realizadas
muy rápidamente
– Definición: ISO 14443
Tipos de Tarjetas (2)
• Tarjetas inteligentes con contactos
– Poseen una placa de contactos además del
chip
– Necesitan de un dispositivo lector/grabador
para comunicarse con el exterior
– Definición: ISO 7816
• Tarjetas mixtas
– Combinación de
las anteriores.
Tarjetas: Estándar ISO 7816 (1)
La tarjeta inteligente más básica cumple los estándares de la serie ISO
7816, partes 1 a 10. Este estándar detalla la parte física, eléctrica,
mecánica y la interfaz de programación para comunicarse con el
microchip.
La descripción de cada una de las partes de la norma ISO 7816 es:
• 7816-1: Características Físicas.
• 7816-2: Dimensiones y ubicaciones de los contactos
• 7816-3: Señales Electrónicas y Protocolo de Transmisión
• 7816-4: Comandos de intercambio inter-industriales
• 7816-5: Sistema de Numeración y procedimiento de registo
• 7816-6: Elementos de datos inter-industriales
• 7816-7: Comandos inter-industriales y Consultas Estructuradas
• 7816-8: Comandos inter-industriales Relacionados con Seguridad.
• 7816-9: Comandos adicionales inter-industriales y atributos de seguridad.
• 7816-10: Señales electrónicas y Respuesta al Reset para la SmartCard Síncrona.
La descripción para las SmartCards sin contacto está en el estándar ISO 14443.
Tarjetas ISO 7816 (2)
• Cuatro partes/documentos básicos:
– ISO 7816-1: Características físicas
• Tarjeta conforme con ISO 7810, 7813
• La tarjeta debe:
– Resistir ataques con rayos X y luz Ultravioleta
– Tener superficie plana y permitir cierto grado de torsión
– Resistir altos voltajes, campos electromagnéticos, electricidad
estática
– No disipar más de 2,5 W
• Tamaños de tarjetas ISO 7816-1
– ID-1 (es el más habitual)
– ID-00
– ID-000 (el de GSM)
Tarjetas ISO 7816 (3)
– ISO 7816-2: Dimensión y localización de los
contactos
• Existen ocho contactos (se usan sólo seis)
–
–
–
–
–
–
Vcc
Vpp
GND
RST
CLK
I/O
Tarjetas ISO 7816 (4)
– ISO 7816-3: Señales electrónicas y protocolos
de transmisión
• Procedimiento de operación (activación y reset)
• ATR (Answer To Reset)
• Protocolos de comunicación
– Protocolo T=0 (protocolo orientado a carácter). Es el
más usado (GSM). Se requieren dos transacciones para
recibir datos.
– Protocolo T=1 (protocolo orientado a bloque). Se
requiere una única transacción para recibir datos.
Tarjetas ISO 7816 (5)
• Respuesta al Reset
VCC
t3
VPP
t3
Reset
CLK
t1
I/O (IR)
t2
I/O (AL)
200
t2 <= ------fi
Respuesta
t1
(Reset interno)
Respuesta
400
40.000
------- <= t1 <= ----------fi
fi
(Reset activo bajo)
40.000
------------ <= t3
fi
Tarjetas ISO 7816
Respuesta al Reset:
• TS: Carácter inicial
•
•
•
•
– Sincronización de bits
– Define la codificación de los datos y los
caracteres
T0: Carácter de formato
TAi, TBi, TCi, TDi: Car de Interfaz
T1 T2…TK: Históricos
TCK: Checksum
Tarjetas ISO 7816 (7)
Respuesta al Reset:
• TS: Carácter inicial
– Sincronización de bits
– Define la codificación de
los datos y los caracteres
• TD: contiene el tipo de
Protocolo
T0: Protocolo orientado a byte,
asíncrono, half-duplex
T1: Protocolo orientado a
bloque, asíncrono, halfduplex
Organización de Ficheros (1)
• Aportado por la norma ISO 7816-4
• El S.O. de las tarjetas multi-aplicación
soporta los siguientes tipos de archivos:
– Fichero Maestro (MF):
• Representa la raíz de la estructura de ficheros
– Fichero Dedicado (DF):
• Situado debajo del MF
• Contiene datos relativos a una aplicación
– Fichero Elemental (EF):
• Situado debajo del MF o de un DF
• Contiene unidades de datos del sistema o datos de
una aplicación
Organización de Ficheros (2)
• Organización de los Datos
MF
EF
EF
EF
MF
MF
DF
DF
EF
Tarjetas de una sola aplicación
EF
DF
EF
Tarjetas de varias aplicaciones
Organización de Ficheros (3)
• Según su estructura interna
– Ficheros transparentes
• También llamados binarios
• Almacenan información no estructurada
• Los datos se pueden direccionar con un offset
– Fichero lineal con registros de tamaño fijo
• Los datos son una secuencia de registros
individualmente identificables
• Los registros tienen igual tamaño
• Registros direccionados en el orden de su creación
• No se modifica su número
Organización de Ficheros (4)
– Fichero lineal con registros de tamaño
variable
• El tamaño de cada registro es fijado mientras se
crea
– Fichero cíclico con registros de tamaño fijo
• Los datos son una secuencia de registros
individualmente
• Los registros son direccionados en orden inverso a
su creación/modificación
Arquitectura de Seguridad (1)
• La seguridad es la propiedad más
importante de las tarjetas
• Estado de seguridad
– Representa como se encuentra la tarjeta
después de ejecutar un comando
– Tres posibles estados:
• Estado global de código secreto
• Estado local de código secreto
• Estado de clave de sesión
Arquitectura de Seguridad (2)
– Reglas de los estados de seguridad:
• Después del reset todos los estados están limpios.
• El estado global de código secreto no se pierde por
la selección de un fichero.
• El estado local de código secreto se pierde cuando
se selecciona otro DF.
• Las claves de sesión se pierden cuando se
selecciona un nuevo DF.
• ¿Cómo se consigue esta seguridad?
– Mediante los atributos de seguridad: fijan las
condiciones que deben de cumplirse para
operar con un fichero
Arquitectura de Seguridad (3)
– Atributos de seguridad
• Dependen de la categoría del fichero (DF o EF)
• Son definidos durante la personalización de la
tarjeta
– Condiciones de acceso a los ficheros (EF)
• Cada fichero lleva asociadas unas condiciones de
acceso
• Deben de ser satisfechas antes de ejecutar un
comando
– Condiciones de acceso a un DF
• Protegen la creación de EF dentro del fichero
Proceso
de
Fabricación
Lectores de Tarjetas (1)
• Permiten acceder a la información
contenida en las tarjetas inteligentes
• Normalmente son dispositivos adaptadores
• Algunos tienen funcionalidades
adicionales:
– Gestión de claves RSA
• Tipos de lectores/grabadores:
– Externos al equipo
– Internos al equipo
– SmartDisk
Lectores de Tarjetas (2)
Lector básico. Se conecta a un puerto serie RS-232
Lectores de Tarjetas (3)
Towitoko: lector serie externo
Towitoko: lector serie interno
C3PO: lector USB interno
Fischer: lector de floppies
Lectores de Tarjetas (4)
• Se incorporan al sistema de
comunicaciones del ordenador
generalmente por un puerto serie
• Inconveniente: el software que realiza esa
comunicación es propietario
• Solución:
– OCF (en entornos Java)
– PC/SC (en entornos Windows)
– MUSCLE (en entornos Linux)
Entornos de aplicación reales
• Tarjeta criptográfica CERES (FNMT)
– Infraestructura de clave pública.
– 32 Kbytes de EEPROM
– Almacenamiento seguro de datos sensibles:
• Claves RSA 1024 bits de firma y confidencialidad.
• Cifrado simétrico Triple DES.
– Control de acceso definible para cada fichero.
– CPU 8 bits / 96 Kbytes de ROM /4 Kbytes de
RAM
Entornos de aplicación reales
Gestión de Accesos EPS-UAM
• Basado en la tarjeta
emitida por la Universidad
• Control desde Internet
• Flexibilidad en altas y bajas
• Fácil implementación
• Posibilidad de realizar
prácticas
Entornos de aplicación reales
Gestión de Accesos EPS-UAM
Lectores
Servidor
Ordenadores
en Internet
INTERNET
LAN
Servidor
Base de Datos
Entornos de aplicación reales
Gestión de Accesos EPS-UAM
Entornos de aplicación reales
Herramientas de Desarrollo
Programadores
Debugggin(Season2)
Fabricantes Tarjetas Inteligentes
Bibliografía
• Libros
– Smart Card Developer’s Kit, Scott B. Guthery.
Macmillian
Technical
Publishing,
Indianápolis,
Indiana. 1998
– Smart Card Handbook, W. Rankl & W. Effing. Ed.
John Wiley $ Sons, LTD. 2000
– Tarjetas Inteligentes, Juan Domingo Sandoval,
Ricardo Brito y Juan Carlos Mayor, Editorial Paraninfo.
1999
Bibliografía
• Referencias en la web:
–
–
–
–
–
–
–
–
–
–
http://www.epanorama.net/links/smartcards.html
http://www.scdk.com/atsfaq.htm
http://www.edn.com/archives/1995/112395/24dfcov.htm
http://www.epanorama.net/links/smartcards.html
http://ganges.cs.tcd.ie/mepeirce/Project/Chaum/cardcom.html
http://www.break-ic.com/topics/attack-microcontroller.asp
http://www.monografias.com/trabajos10/tarin/tarin.shtml
http://www.upm.es/laupm/carneupm/infogen.html
http://www.smartcardbasics.com/
http://sumitdhar.blogspot.com/2004/11/introduction-to-smartcards.html
– http://es.wikipedia.org/wiki/Tarjeta_inteligente