460 likes | 784 Views
TARJETAS INTELIGENTES. Dpto. de Ingeniería Telemática - Universidad Carlos III de Madrid Mª Celeste Campo Vázquez celeste@it.uc3m.es. Índice. Introducción Tipos de tarjetas Arquitectura Lectores de tarjetas y terminales Seguridad Estándares y tecnologías Aplicaciones.
E N D
TARJETAS INTELIGENTES Dpto. de Ingeniería Telemática - Universidad Carlos III de Madrid Mª Celeste Campo Vázquez celeste@it.uc3m.es
Índice • Introducción • Tipos de tarjetas • Arquitectura • Lectores de tarjetas y terminales • Seguridad • Estándares y tecnologías • Aplicaciones
IntroducciónDefinición y ventajas • Dispositivo electrónico insertado en una tarjeta de plástico • Proporciona: • Almacenamiento persistente y protegido • Capacidad de procesamiento • Amplio uso en Europa y Asia: • 70% de los europeos usa tarjetas inteligentes: • Telefonía móvil • Sistema sanitario • Parkings y tickets
IntroducciónMercado Fuente: Market 2004 Worldwide shipment EuroSmart (http://www.eurosmart.com)
IntroducciónMercado por regiones Fuente: Market 2004 Worldwide shipment EuroSmart (http://www.eurosmart.com)
IntroducciónPerspectiva de mercado en 2005 Fuente: Market 2004 Worldwide shipment EuroSmart (http://www.eurosmart.com)
IntroducciónHistoria • Tarjetas de papel: • Primeras tarjetas • Utilizadas como tarjetas de visita • Se deterioran fácilmente • Principios de los años 50 en EEUU aparecen las tarjetas de plástico: • Mayor duración y mejor imagen • Datos impresos en relieve • Seguridad basada en métodos visuales • Dinners Club las utiliza por primera vez para que sus mejores clientes realizarán sus pagos
IntroducciónHistoria • A las tarjetas de plástico se le añade una banda magnética: • Gran difusión gracias a su uso masivo en la Banca Mundial • Se basa en los mismos mecanismos que las cintas de música o vídeo • Permite automatizar los procesos • Mayor seguridad: protección a través de un PIN • Inconvenientes: • Los datos están grabados superficialmente • Relativamente sencillo y poco costoso realizar duplicados • Sensible a campos electromágneticos existente que pueden deteriorar la banda magnética • Capacidad reducida de almacenamiento (255 caracteres)
IntroducciónHistoria • A principios de los 70 y gracias a los avances de la microelectrónica a las tarjetas de plástico se les incorporá un circuito integrado (chip). • A finales de los 70 comienzan a aparecer los primeros productos comerciales, como resultado de proyectos tecnológicos franceses en campos como la banca, la telefonía pública, la sanidad, la universidad,... • En los años 80 se implanta con éxito: • Carte Bancaire (1982/1984) • Servicio de telecomunicaciones (1984). • Nuevos campos de aplicación: prepago telefónico, tarjetas monedero,...
Tipos de tarjetasIntroducción • Clasificación: • Tipo de circuito integrado • Tarjetas de memoria • Tarjetas con microprocesador • Mecanismo de conexión tarjeta/lector: • Tarjetas con contactos • Tarjetas sin contactos • Tarjetas híbridas
Tipos de tarjetasTarjetas de memoria • Se utilizan fundamentalmente como dinero electrónico, las más conocidas son las tarjetas de pre-pago telefónico de las cabinas. • Proporcionan mayor seguridad que las tarjetas de banda magnética pero tienen un coste superior. • Su seguridad no es suficiente para ciertas operaciones. Se distinguen dos niveles: • Tarjetas protegidas o tarjetas lógicas. • Tarjetas no protegidas. • Capacidad de almacenamiento limitada (aprox. 4KB). • Mayor complejidad en el lector que en la tarjeta. • Otras aplicaciones: • Tarjetas de sistema sanitario. • Tarjetas de fidelización.
Tipos de tarjetasTarjetas con microprocesador • Son las que se denominan tarjetas inteligentes o smart cards. • Su mayor difusión en los últimos años se ha conseguido por su uso en telefonía móvil GSM. • Su valor añadido viene por su capacidad de proceso: • Mayor seguridad. • Capacidad de realizar nuevas operaciones de forma interna. • Mayor capacidad de almacenamiento (aprox. 4-64KB). • El coste de las tarjetas es elevado lo que impide su utilización en determinadas aplicaciones, aunque: • Los lectores son menos complejos y por lo tanto menos costosos. • Pueden ser multiaplicación y multiproveedor. • Lenta aceptación de estas tarjetas en el sistema bancario.
Tipos de tarjetasTarjetas con contactos • Estandarizado por ISO7816-2 • Existen tarjetas de 6 contactos (tarjetas telefónicas). • Los contactos pueden ser un punto débil. • Aplicaciones: bancarias, telefonía móvil,...
Tipos de tarjetasTarjetas sin contactos • Pueden ser: • De memoria: se les llama normalmente Tags. • Inteligentes: son las que se conocen como tarjetas sin contactos • Comunicación entre el lector y la tarjeta a través de señales electromagnéticas: • RF de baja potencia: alcanza distancias de hasta 10 m. • RF de alta potencia: alcanzan distancias superiores a 10 m. • Ventaja: menor número de fallos. • Inconvenientes: mayor potencia del micro, mayor complejidad, mayor coste. • Se emplean en sistemas con: • Transacciones rápidas. • Información intercambiada reducida. • Transporte público, acceso a edificios,...
ArquitecturaIntroducción • EEPROM (Electrical Erasable Programmable ROM) • SISTEMA DE FICHEROS (datos) • Aplicaciones • 32 KB • RAM (Random Access Memory): • 4KB • CPU: • Procesador de 8 bits/16 bits • Coprocesador criptográfico • 5 Mhz, 5V/3V • ROM (Read Only Memory): • SISTEMA OPERATIVO • Datos y aplicaciones almacenados en producción • 16 KB
ArquitecturaSistema Operativo • Dota a la tarjeta de inteligencia • El sistema operativo se encarga: • Gestionar la memoria: • Normalmente se organiza en un sistema de ficheros • Controla las estructuras de datos dentro de los ficheros • Seguridad: • Control de acceso a los ficheros • Restringir las operaciones que se pueden hacer con los ficheros • No dejar que se ejecute nada que no esté contemplado • Operaciones criptográficas: creación de claves, firma/verificación, cifrado/descifrado,... • Juego de instrucciones establecido: • Identifica qué operaciones se pueden realizar, y cómo deben utilizarse
ArquitecturaSistema Operativo • Propietarios de propósito específico: • Son sistemas operativos creados con una misión específica, para una tarjeta monedero, para una tarjeta GSM,... • Propietarios de propósito general: • Son sistemas operativos creados por fabricantes, con el objetivo de poder utilizarse en diferentes aplicaciones • El desarrollo de aplicaciones está cerrado • Gran variedad y con múltiples diferencias • Abiertos: • Son sistemas operativos sobre los que se pueden programar aplicaciones en lenguajes de más alto nivel (C o Java). • El desarrollo de aplicaciones se abre a terceros
ArquitecturaSistema de ficheros • La mayoría de la tarjetas tienen un sistema de ficheros similar al que tenemos en nuestro ordenador • Sistema de ficheros formado por: • Ficheros dedicados (DF): son el equivalente a los carpetas (directorios): • Fichero maestro (MF): directorio raíz • Ficheros elementales (EF): son el equivalente a los ficheros (archivos). • Se realiza direccionamiento lógico utilizando identificadores de ficheros (FID) de 2 bytes • Se establecen condiciones de seguridad de acceso a los ficheros: • DF se protegen las operaciones de creación/borrado • EF se protegen las operaciones de creación/borrado y lectura/escritura
ArquitecturaConjunto de Instrucciones • Varios estándares definen conjuntos de instrucciones que pueden soportar las tarjetas inteligentes: • ISO/IEC 7816-4 • GSM 11.11 • EN 726-3 • prEN 1456 • También existen tarjetas programables: aceptan la carga dinámica de programas, y son éstos los que determinan los comandos que soporta la tarjeta: • Java Card • MultOS • WfSC
Lectores de tarjetas y terminales • Lectores de tarjetas: conectores que actúan como interfaz entre la tarjeta y el dispositivo de comunicación • Terminales: computador con capacidad de control de acceso a la tarjeta • PINpads • Terminales de punto de venta • Cajeros automáticos • Controles de acceso mediante identificación biométrica • Ejemplos: http://www.axalto.com/products/terminals.asp http://www.axalto.com/infosec/egate.asp
Lectores de tarjetas y terminalesComunicación terminal-tarjeta • Tarjeta nunca inicializa la comunicación • Protocolo de comunicación en tres capas: • Aplicaciones • APDU (Application Protocol Data Unit) • Definido por el estándar ISO7816-4 • T=0 y T=1 • Variantes de protocolo asíncrono de comunicación half-duplex • Definido por el estándar ISO7816-3
SeguridadIntroducción • ¿Por qué son más seguras las tarjetas inteligentes? • Almacena y comprueba el PIN/Password internamente • Ejecución de algoritmos criptográficos internamente • Por lo tanto, nunca se envía información sensible al sistema externo para su comprobación • Ciclo de vida: • Fase de fabricación • Fase de pre-personalización • Fase de personalización • Fase de utilización • Fase final
SeguridadHardware • Mecanismos de protección: • Procesador y memoria en el mismo chip, ocultar los buses, anular modos de prueba,... • Detección de variaciones en la señal del reloj, reguladores del voltaje,... • Ataques: • Lectura óptica de la memoria • Manipulación externa de la señal del reloj • Altas temperaturas, rayos-X • Análisis del voltaje suministrado a la tarjeta
SeguridadSoftware • Mecanismos de protección: • PIN y contadores • Test de inicio • Control de I/O por el sistema operativo • Desactivación completa por software • Seguridad introducida en las aplicaciones • Ataques: • Análisis de las instrucciones soportadas • Suplantación de la entidad externa (PIN)
SeguridadAutenticación usuario - tarjeta • PIN: • Método más utilizado…pero no es el más seguro • Métodos biométricos: • Características físicas pertenecientes al usuario • Varios métodos: • ADN • Huella dactilar • Iris • …. • Necesidades: • No invasivo • Coste de almacenamiento/procesamiento
SeguridadInteracción tarjeta - aplicación • Autenticación externa: terminal ante la tarjeta • Autenticación interna: tarjeta ante el terminal • Seguridad de mensajes: • Modo de operación protegido (MAC: Message Authentication Code) • Autenticación e integridad • Modo de operación protegido (MAC+cifrado) • Autenticación, integridad y confidencialidad.
SeguridadFunciones criptográficas • Almacenamiento seguro: • Algoritmos de clave privada: clave • Algoritmos de clave pública: clave privada y certificado • Cálculos criptográficos: • Algoritmos de clave privada: DES, 3-DES • Algoritmos de clave pública: RSA, DSA, curvas elípticas (sin coprocesador) • Mecanismos seguros: las claves no abandonan la tarjeta.
Estándares y tecnologías • Estándares: • ISO7816 • EMV ICC • Tecnologías: • Desarrollo de aplicaciones off-card: • OCF • PC/SC • Desarrollo de aplicaciones on-card: • Java Card • WfSC • MultOS • Visa Open Platform
AplicacionesComercio electrónico • Proporcionar seguridad a las aplicaciones: autenticación, no repudio y privacidad. • Usos principales: • Almacén de dinero que nos permita realizar pagos en la red • Medio de autenticación de usuarios • Realizar firmas digitales • Privacidad en las comunicaciones • Tickets electrónicos • Aplicaciones de fidelización
AplicacionesOtras • Autenticación y acceso seguro: • Alternativa al uso de passwords • Ejemplos: • Acceso a estaciones de trabajo • Acceso a redes • Comunicaciones seguras • Sistema sanitario: • Identificación del paciente • Almacenamiento seguro de información del paciente
AplicacionesOtras • Sistemas bancarios: • Monederos electrónicos: • Ventajas: sistemas de pago off-line, pagos pequeños • Desventajas: incompatibilidad entre los diferentes sistemas • Tarjetas de crédito/débito (American Express, VISA,...) • Telefonía móvil GSM: • Seguridad en las comunicaciones • Independencia del terminal móvil • Desarrollo de nuevas aplicaciones proporcionando servicios de valor añadido SIM Application Toolkit
AplicacionesOtras • DNI digital que incluirá: • Un certificado electrónico para autenticar la personalidad del ciudadano. • Un certificado para firmar electrónicamente, con la misma validez jurídica que la firma manuscrita. • Claves para su utilización. • La fórmula de la huella digital en formato electrónico. • La fotografía digitalizada. • La imagen digitalizada de la firma manuscrita. • Los datos impresos en la tarjeta.
Resumen • Tarjetas inteligentes mecanismo que proporciona un alto nivel de seguridad al consumidor en B2C • Su implantación masiva presenta problemas: • Interoperabilidad • Coste de la tarjetas
TARJETAS INTELIGENTESJava Card Dpto. de Ingeniería Telemática - Universidad Carlos III de Madrid Mª Celeste Campo Vázquez celeste@it.uc3m.es
Índice • Introducción • Características • Alternativas: • Windows for Smart Card • MULTOS • Comparativa
Introducción • Java Card permite tener tecnología Java en tarjetas inteligentes • Ventajas: • Independencia de plataforma • Multiaplicación • Flexibilidad • Aplicaciones post-personalización • Compatible con estándares de tarjetas inteligentes • Gran comunidad de desarrolladores • “Write Once Run Anywhere”
Applets Applet monedero Applet ID Applet fidelización JCRE API EXTENSIONES ESPECíFICAS INSTALADOR CLASES DEL SISTEMA GESTIÓN DE APPLETS GESTIÓN DE TRANSACCIONES I/O OTROS SERVICIOS JCVM Métodos nativos Hardware y sistema nativo de la tarjeta inteligente CaracterísticasArquitectura Java Card
CaracterísticasLimitaciones Java Card • Gestión dinámica de contenidos en la tarjeta: • Open Platform desarrollada por VISA: • Descarga/borrado dinámica y segura de aplicaciones. • Canales de comunicación seguros entre aplicación del host y aplicación en la tarjeta. • PIN global compartido entre aplicaciones. • Interoperabilidad entre Java Card de diferentes fabricantes • Mejora de herramientas de desarrollo
WfSC: Windows for Smart Card • Introducción de Microsoft en las tarjetas inteligentes. • Primera versión estable en Mayo de 1999 (WfSC v1.1) • Tiene licencia como sistema operativo. • Características: • Configuración del sistema operativo: • GSM. • Funciones criptográficas. • ISO 7816-4. • Card Manager opcional. • Tarjeta multifunción más que mutiaplicación. • Aplicaciones en Visual Basic. • No define las gestión de contenidos de la tarjeta: posible adopción de OP.
MULTOS • Origen en el sector financiero para monedero electrónico. • Especificaciones estables desde 1998. • Características: • Máquina virtual MULTOS adaptada a tarjetas inteligentes. • Aplicaciones en lenguaje MEL y C. • Security Manager con criptografía RSA (co-procesador criptográfico) obligatorio. • Certificación ITSEC E6. • Descarga de aplicaciones después de la entrega al usuario final. • Versión actual MULTOS 5 (Septiembre 2000): • Interfaz dual: con y sin contactos. • Soporte GSM: SecureSIM.
Comparativa* • Por tamaño de código: • MULTOS aplicaciones en MEL. • Java Card aplicaciones en Java. • WfSC aplicaciones en Visual Basic. • Por velocidad de ejecución: • MULTOS aplicaciones en MEL. • MULTOS aplicaciones en C. • Java Card aplicaciones en Java. * Fuente: Consult Hyperion
Referencias • Smart Card Application Development Using Java. Hansmann, Nickous, Schäck, Seliger. • Smart Card Developer's Kit. Scott B. Guthery, Timoty M. Jurgensen. • Multos: http://www.multos.com • ISO: http://www.iso.sh • EMV ICC, Visa Open Platform: http://www.visa.com • OCF: http://www.opencard.org • Java Card: http://java.sun.com/products/javacard/index.jsp • MULTOS: http://www.multos.com • WfSC: • http://www.microsoft.com/technet/Security/topics/smrtcard/smrtcdcb/sec1/smartc01.mspx