Una tarjeta inteligente (smart card), o tarjeta con circuito integrado (TCI), es cualquier tarjeta del tamaño del bolsillo con circuitos integrados, que permite la ejecución de cierta lógica programada. Aunque existe un diverso rango de aplicaciones, hay dos categorías principales de TCI. Las tarjetas de memoria contienen solo componentes de memoria no volátil y posiblemente alguna lógica de seguridad. Las tarjetas microprocesadoras contienen memoria y microprocesadores.
La percepción estándar de una tarjeta inteligente se corresponde con la de una tarjeta microprocesadora, de las dimensiones de una tarjeta de crédito (o más pequeña, como por ejemplo, del tamaño de tarjetas SIM o GSM), con varias propiedades especiales (ej. un procesador criptográfico seguro, sistema de archivos seguro, y características legibles por humanos), la que, entre otras cosas, es capaz de proveer servicios de seguridad (ej. confidencialidad de la información en la memoria).
Este tipo de tarjetas no contienen ni necesitan baterías; la energía es suministrada por los lectores de las propias tarjetas.
Las Tarjetas inteligente fueron desarrolladas y patentadas en los años setenta. Existen algunas discusiones de quién es el "inventor" original; entre los que se encuentran Juergen Dethloff y Helmut Gröttrup de Alemania, Kunitaka Arimura de Japón y Roland Moreno de Francia.
El primer uso masivo de las tarjetas fue para el pago telefónico público en Francia, en el año 1983. Desde los años 1970, la historia de las tarjetas inteligentes ha reflejado los constantes avances en capacidades técnicas y ámbitos de aplicabilidad.
El mayor auge de las tarjetas inteligentes fue en los años noventa, con la introducción de las tarjetas SIM utilizadas en la telefonía móvil GSM en Europa.
Las firmas internacionales MasterCard, Visa, y Europay, publicaron un estándar de interoperabilidad para el pago con tarjetas inteligentes en 1996, que fue revisado en el año 2000. Este estándar llamado EMV, se ha introducido mundialmente de manera gradual, con la esperanza de reemplazar las tarjetas basadas en cintas magnéticas. Actualmente, las especificaciones EMV son costosas de implementar, con el único beneficio de la reducción del fraude. Algunos críticos aseguran que los ahorros son mucho menores que los costos de implementar EMV, y muchos creen que la industria optará por esperar que termine el actual ciclo de vida del EMV, para implementar una nueva tecnología sin contacto.
Las tarjetas inteligentes con interfaces sin contacto, están transformándose en un medio popular para aplicaciones de pago como el transporte masivo. Estándares de este tipo de interoperabilidad han sido publicados y aplicados en el Reino Unido y en Europa IOPTA.
Las tarjetas inteligentes también se han utilizado para identificar al personal de las empresas. Las tarjetas de identificación y el permiso de conducir, están prevaleciendo más y más, por ejemplo, en Malasia con la tarjeta inteligente multipropósito Mykad, la que es usada a escala nacional (18 millones de tarjetas) para manejar todo en una sola tarjeta: identificación personal, licencia de conducir, tarjeta de seguro, y pago (ePurse) para transporte público e información de viajero.
Los circuitos integrados RFID, parecidos en concepto a las tarjetas inteligentes, se están implantando en los denominados pasaportes biométricos, y contienen información personal para su lectura automática.
En 1970 el Dr Kunitaka Arimura presentó en Japón la primera y única patente en el concepto de tarjeta inteligente.
En 1974 Roland Moreno presentó en Francia la patente original de la tarjeta chip (con un circuito integrado), más tarde bautizado como tarjeta inteligente.
En 1977 tres fabricantes, Bull CP8, SGS Thomson, y Schlumberger, comenzaron a desarrollar tarjetas chip.
En 1979 Motorola desarrolló el primer chip seguro para su uso en la banca francesa.
En 1982 se realizaron en Francia ensayos con tarjetas de memoria para usar en teléfonos (France Télécom; ésta fue la primera gran prueba de las tarjetas chip.
En 1984 se realizaron con éxito, pruebas en cajeros automáticos con tarjetas chip bancarias.
En 1986, 14 000 tarjetas equipadas con el Bull CP8 se distribuyeron a los clientes del Banco de Virginia y Maryland National Bank. Además, 50 000 tarjetas Casio se distribuyeron a los clientes del Palm Beach First National Bank y el Mall Bank.
En 1987 se implantó el primer proyecto a gran escala de tarjetas inteligentes en los Estados Unidos, con la Peanut Marketing Card del Departamento de Agricultura del país.
En 1988 se creó la primera tarjeta bancaria con el algoritmo criptográfico DES para Carte Bancaire.
En 1992 se lanzó un proyecto de monedero electrónico prepago (DANMONT), el que se inició en Dinamarca.
En 1993 se implementaron proyectos piloto de múltiples aplicaciones de tarjetas inteligentes en Rennes, Francia, donde la función Telecarte (para teléfonos públicos) fue habilitado en una tarjeta bancaria.
En 1994, Europay, MasterCard y Visa (EMV) publicaron la primera versión de las especificaciones de interoperabilidad de las aplicaciones bancarias de las tarjetas inteligentes. Al mismo tiempo, Alemania comenzó la emisión de 80 millones de tarjetas con chip de memoria para las tarjetas sanitarias de sus ciudadanos.
En 1995, ya había más de 3 millones de abonados de teléfonos móviles en todo el mundo (con tarjetas chip SIM GSM).
En 1996. más de 1,5 millones de tarjetas monedero VISACash se emitieron en los Juegos Olímpicos de Atlanta. MasterCard y Visa entonces desarrollaron por separado sus tecnologías y participan en EMV para intentar forzar la interoperabilidad: la Java Card respaldada por Visa, y la aplicación de múltiples sistemas operativos (MULTOS) respaldada por MasterCard.
En 1998, la Administración de Servicios Generales y de la Marina de los Estados Unidos unieron sus fuerzas y pusieron en marcha un sistema administrativo de gestión basado en una tarjeta inteligente, para así demostrar y evaluar la integración de múltiples aplicaciones de tarjetas inteligentes con otros tipos de tecnología y su aplicabilidad en la administración electrónica en el Gobierno Federal. Además y por su parte, Francia inició la aplicación experimental de una tarjeta inteligente de salud para sus 50 millones de ciudadanos.
En 2001, el Departamento Nacional de Identificación de Malasia desplegó a nivel masivo su sistema multipropósito de identificación por tarjetas inteligentes Mykad, incorporando en una sola tarjeta: banca, micropagos, identificación nacional, pago de transporte público, información de salud, licencia de conducir, e información de viajero.
Según las capacidades de su chip, las tarjetas más habituales son:
En el estándar ISO/IEC 7816 parte 1, se definen los siguientes tamaños para tarjetas inteligentes:
Estas tarjetas disponen de unos contactos metálicos visibles y debidamente estandarizados (parte 2 de la ISO/IEC 7816). Estas tarjetas, por tanto, deben ser insertadas en una ranura de un lector, a efectos de poder operar con ellas. A través de estos contactos, el lector alimenta eléctricamente a la tarjeta y transmite los datos oportunos para operar con ella conforme al estándar.
La serie de estándares ISO/IEC 7816 e ISO/IEC 7810 definen:
Los lectores de tarjetas inteligentes de contacto son utilizados como un medio de comunicación entre la tarjeta inteligente y un anfitrión, como por ejemplo una computadora.
El segundo tipo es la tarjeta inteligente sin contacto mediante etiquetas RFID en el cual el chip se comunica con el lector de tarjetas mediante inducción a una tasa de transferencia de 106 a 848 Kb/s).
El estándar de comunicación de tarjetas inteligentes sin contacto es el ISO/IEC 14443 del año 2001, que define dos tipos de tarjetas sin contacto (A y B), permitidos para distancias de comunicación de hasta 10 cm. Ha habido propuestas para la ISO 14443 tipos C, D, E y F que todavía tienen que completar el proceso de estandarización. Un estándar alternativo de tarjetas inteligentes sin contacto es el ISO 15693, el cual permite la comunicación a distancias de hasta 50 cm. Las más abundantes son las tarjetas de la familia MIFARE de Philips, las cuales representan a la ISO/IEC 14443-A.
Un ejemplo del amplio uso de tarjetas inteligentes sin contacto es la tarjeta Octopus en Hong Kong, la cual usa el estándar anterior al ISO/IEC 14443.
Las tarjetas inteligentes sin contacto son una evolución de la tecnología usada desde hace años por los RFID (identificación por radio frecuencia - radio frequency identificación), añadiéndoles dispositivos que los chip RFID no suelen incluir, como memoria de escritura o micro controladores.
Una tarjeta híbrida es una tarjeta sin contactos (contactless) a la cual se le agrega un segundo chip de contacto. Ambos chips pueden ser microprocesadores o simples chips de memoria. El chip sin contacto es generalmente usado en aplicaciones que requieren transacciones rápidas. Por ejemplo el transporte, mientras que el chip de contacto es generalmente utilizado en aplicaciones que requieren de alta seguridad como las operaciones bancarias. Un ejemplo es la tarjeta de identificación llamada MyKad en Malasia, que usa un chip Proton de contacto y un chip sin contacto MIFARE (ISO 14443A).
Una tarjeta de interfaz dual es similar a la tarjeta híbrida en que la tarjeta presenta ambas interfaces con y sin contacto. La diferencia más importante es el hecho de que la tarjeta de interfaz dual tiene un solo circuito integrado. Un ejemplo es la Oberthur Cosmo Card Dual-Interface.
Las tres aplicaciones fundamentales de las tarjetas inteligentes son:
Las aplicaciones de las tarjetas inteligentes incluyen su uso como tarjeta de crédito, SIM para telefonía móvil, tarjetas de autorización para televisión por pago, identificación de alta seguridad, tarjetas de control de acceso, y como tarjetas de pago del transporte público.
Las tarjetas inteligentes también son muy utilizadas como un monedero electrónico. Estas aplicaciones disponen normalmente de un fichero protegido que almacena un contador de saldo y comandos para decrementar e incrementar el saldo (esto último solo con unas claves de seguridad especiales, obviamente). Con esta aplicación, el circuito integrado de la tarjeta inteligente puede ser «cargado» con dinero, que puede ser utilizado en parquímetros, máquinas expendedoras, etc. El intercambio de dinero entre la tarjeta inteligente y la máquina receptora es protegido por protocolos criptográficos.
Cuando las tarjetas son criptográficas, las posibilidades de identificación y autenticación se multiplican, ya que se pueden almacenar de forma segura certificados digitales o características biométricas en ficheros protegidos dentro de la propia tarjeta, de modo que estos elementos privados nunca salgan de la tarjeta, pues las operaciones de autentican a través del propio chip criptográfico de la tarjeta.
De un modo más particular, las aplicaciones más habituales son:
Nótese, en cualquier caso, que todos estos servicios pueden ser derivados de los tres puntos planteados inicialmente (identificación, pago y almacenamiento seguro).
Internamente, el chip de una tarjeta inteligente microprocesada se compone de:
La fabricación de tarjetas inteligentes abarca normalmente los siguientes pasos:
La seguridad es una de las propiedades más importantes de las tarjetas inteligentes y se aplica a múltiples niveles y con distintos mecanismos. Cada fichero lleva asociadas unas condiciones de acceso y deben ser satisfechas antes de ejecutar un comando sobre ese fichero.
En el momento de personalización de la tarjeta (durante su fabricación) se puede indicar qué mecanismos de seguridad se aplican a los ficheros. Normalmente se definirán:
Finalmente, indicar que la negociación de claves se realiza habitualmente apoyándose en un módulo SAM, que no deja de ser otra tarjeta inteligente en formato ID-000alojada en un lector interno propio dentro de la carcasa del lector principal o del TPV y que contiene aplicaciones criptográficas que permiten negociar las claves oportunas con la tarjeta inteligente del usuario. Operando de este modo se está autenticando el lector, la tarjeta y el módulo SAM involucrados en cada operación.
Al aproximarse a la programación de tarjetas inteligentes hay que distinguir dos ámbitos claramente diferenciados:
Este tipo de programación es de muy bajo nivel y depende normalmente del tipo y proceso de fabricación de las propias tarjetas. En la mayoría de las tarjetas inteligentes el sistema operativo de la tarjeta y las aplicaciones que van dentro del chip se cargan en el propio proceso de fabricación y no pueden ser luego modificadas una vez que la tarjeta ha sido fabricada.
Una excepción clara a este caso pueden ser las Java Cards, que son tarjetas que en el proceso de fabricación incorporan un sistema operativo y una máquina virtual Java específica para este entorno. Una vez fabricada la tarjeta, los desarrolladores pueden implementar miniaplicaciones (applets) Java para ser cargadas en la tarjeta (mediante un procedimiento que garantice la seguridad del sistema).
Existen varias APIs de programación estandarizadas para comunicarse con los lectores de tarjetas inteligentes desde un ordenador. Las principales son:
En ambos casos, el modelo de programación que utilizan las tarjetas inteligentes está basado en protocolos de petición-respuesta. La tarjeta (su software) expone una serie de comandos que pueden ser invocados. Estos comandos interactúan con los ficheros que subyacen a cada aplicación de la tarjeta y proporcionan un resultado. Desde el terminal se invocan estos comandos a través de cualquiera de las APIs antes descritas componiendo APDUs (Application Protocol Data Unit - comandos con parámetros) que son enviados a la tarjeta para que ésta responda.