Vivimos en un mundo donde utilizamos las Smart Cards a diario, desde sacar dinero del cajero automático, activar nuestro teléfono móvil, fichar para el trabajo. Están en todas partes y se trata posiblemente de una de las piezas de hardware más utilizadas. Pero, ¿qué son y cómo funcionan las Smart Cards? Seguid leyendo para saber cómo funcionan estas tarjetas.
Si alguna vez te has preguntado cómo funciona el chip dentro de la tarjeta SIM de tu móvil, de la tarjeta de crédito de tu móvil o de la llave electrónica del último hotel en el que estuviste. Déjanos decirte que todas ellas son Smart Cards y tienen un funcionamiento en común.
¿Qué es una Smart Card?
Una Smart Card es una tarjeta de plástico que incluye un circuito integrado en su interior. Dicho circuito integrado puede ser un microcontrolador de seguridad con o sin memoria interna o incluir solo un chip de memoria. Toda Smart Card se puede conectar a un lector dedicado para poder leer sus datos o a través de contactless a través de una interfaz de radio dedicada.
Las Smart Cards tienen las siguientes utilidades:
- Se utilizan para las tarjetas de crédito o de débito.
- Las tarjetas SIM de diferentes tipos en los smartphones son Smart Cards.
- Tarjetas de personal en muchas empresas, lo que les permite fichar la entrada y salida.
- Sirven para dar acceso seguro en redes privadas.
- Como sistema para evitar la piratería en los servicios de televisión por cable y por satélite. Actualmente en extinción.
¿Cómo funciona una Smart Card?
La mayoría de las Smart Cards son tarjetas de memoria, por lo que no contienen un microcontrolador integrado y requieren que sea el lector el que procese directamente los datos que se incluyen en la tarjeta, no obstante existen variantes cuyo circuito integrado contiene un microcontrolador, el cual reemplaza en muchos casos a la clásica banda magnética que utilizaban
El microcontrolador que contienen las Smart Card no es diferente que cualquier otro microcontrolador que hay en el mercado. El cual integra en una sola pieza de hardware varios KB de memoria RAM, varias decenas de KB de memoria ROM ya grabados en origen y varios KB de memoria ROM programable.
Dependiendo del tipo de aplicación y la sensibilidad de los datos se implementará un microcontrolador o no, cuya tarea es asegurar que no se acceda de manera ilícita a los datos incluidos en la memoria de la tarjeta.
¿Cómo se comunica una Smart Card?
Independientemente del tipo de hardware del que estemos hablando, las Smart Cards se comunican haciendo uso de 7 pines distintos. Los cuales son los siguientes:
- VCC: Dado que las Smart Cards no disponen de fuente de alimentación en su interior necesitan que el lector de la tarjeta alimente a la tarjeta. Lo hace a través de este tipo con un voltaje +5 V DC.
- GND: Toma de tierra.
- CLOCK: La señal de reloj de la Smart Card, marca el pulso al que se mandan los datos.
- Vp: El voltaje de programación, sirve para la manipulación de los datos de la ROM programable, ya sea para añadir nuevos, borraros o sobrescribirlos.
- I/O: El pin por el cual se transmiten los datos desde y hacia la Smart Card. Al ser un solo pin nos encontramos ante una interfaz serial.
- Algunas Smart Cards tienen dos pines adicionales para comunicarse con una interfaz USB externa. Aunque no todas las Smart Card tienen activa estos pines y solo se utilizan en casos concretos.
¿Cómo se organiza la memoria en una Smart Card?
Algunas Smart Cards al tener en su interior un microcontrolador tienen por lo tanto memoria RAM para que dicho microcontrolador pueda funcionar. A esta memoria se la llama RAM de trabajo o Working RAM y al igual que la memoria RAM convencional esta depende de que la tarjeta reciba alimentación eléctrica, por lo que una vez se retire la Smart Card del lector sus datos se perderán para siempre.
Aparte de la RAM de trabajo, las Smart Cards con microcontrolador contienen una ROM donde se encuentra el sistema operativo de la misma. Dicha ROM es de varios kilobytes y tviene codificado en su interior los diferentes algoritmos de cifrado y seguridad que son ejecutados por el microcontrolador y que son esenciales para ciertas aplicaciones. La RAM es de solo lectura y es construida dentro de la Smart Card durante su fabricación, por lo que sus datos no se pueden modificar.
Dentro de la ROM existe un área llamada la ROM secreta, esta incluye información altamente sensible, entre los datos que se suelen almacenar están los siguientes:
- La clave única del fabricante, la cual solo existe una para cada tarjeta fabricada y será utilizada para los ejercicios de cifrado y descifrado que realice el microcontrolador de la tarjeta.
- Las claves de usuario, las cuales contiene el PIN de la tarjeta de crédito o del teléfono móvil. En algunos modelos de Smart Cards dicho dato se encuentra en la ROM programable. Lo cual hace que sean menos seguras.
- Un código secreto, el cual es utilizado para evitar duplicados y falsificaciones de la tarjeta.
La última memoria es la ROM programable, este es un tipo de ROM que se puede reescribir a través de señales eléctricas. Por lo que estamos ante una memoria EEPROM. No todos los lectores de Smart Cards tienen la capacidad de manipular la ROM programable, pero otros sí. Por ejemplo un cajero automático sí que tiene esa capacidad, pero en cambio un simple lector USB no tiene dicha capacidad.
Tipos de Smart Card
Actualmente podemos encontrar dos tipos de Smart Card siendo utilizadas masivamente por centenares de millones de personas en todo el mundo a diario.
El primer tipo de Smart Cards son las que siguen la norma ISO 7816, pero que son tarjetas de memoria y pueden contener en su interior una ROM programable entre 1 Kbit y 1 Mbit de información que se puede programar a través de una interfaz EEPROM I2C, de las cuales entre 3 Kbit-64 Kbits corresponden al segmento seguro que no es accesible por la interfaz. Dentro de las que siguen la norma ISO 7816 se encuentran las Smart Cards con microcontrolador integrado. En este caso la información que puede almacenar su ROM programable no suele ser más alta que los 144 KB, ya que hay que dejar espacio al microcontrolador.
El tercer tipo son las tarjetas Contactless, las cuales no hacen uso de la ISO 7816 y suelen utilizar protocolos propietarios para la transferencia de datos. Se trata de tarjetas transmiten datos a través de una interfaz de radio de ultraalta frecuencia de manera inalámbrica, por tanto no requieren su conexión a un lector de tarjetas y no utilizan los pines para la comunicación.
Y para terminar tenemos las que traen integrados microcontroladores especializados para diferentes tipos y que tienen utilidades mucho más específicas y concretas. Entre las que destacan los sistemas de lectura de huellas dactilares y los sistemas biométricos para el análisis de fluidos. Por lo que tienen aplicaciones también en medicina, aunque estas son en apariencia distintas a las clásicas Smart Cards, su funcionamiento es el mismo.