domingo, 28 de junio de 2015

[RFID] Comprendiendo su funcionamiento







¿Qué es?

Por sus siglas Radio Frequency Identification, es un sistema que mediante tarjetas o tags con un circuito interno y un lector para estas, realiza una comunicación que, a menudo, se usa para realizar inventario de productos o (lo que nos interesa realmente) autenticación en sistemas, por ejemplo, de transporte público como el metro.
Todo esto se hace de manera inalámbrica, pero también existen varios tipos tags, están los pasivos y los activos, los activos tienen una fuente de poder propia y tienen mucho más alcance que el primero, por el contrario, los pasivos usan la energía del lector para realizar la comunicación, entre estos se encuentran las tarjetas de transporte público.


¿Cómo es una tarjeta?

En este caso hablamos de tarjetas del tipo Mifare Classic, de éstas hay dos tipos, las de 1K y las de 4K, con K nos referimos a kilobytes, osea que las de 1K almacenan 1024 bytes de datos.
En ambos casos las tarjetas se dividen por sectores, los sectores, a su vez, se componen de bloques, los bloques en ambos casos se componen de 16 bytes.

Las tarjetas de 1K contienen 16 sectores, y cada sector contiene 4 bloques.
Las tarjetas de 4K contienen 40 sectores, los primeros 32 sectores contienen 4 bloques, los otros 8 sectores se componen de 16 bloques.

El bloque 0 del sector 0 contiene información como el UID, BCC, e información del fabricante, de la siguiente manera.



El último bloque de cada sector es llamado trailer, contiene la Key A en los primeros 6 bytes, El Access Bits en los siguientes 4, y los últimos 6 contienen la Key B, con esto se da por entendido que cada sector tiene 2 claves, por lo mismo una sola tarjeta se puede usar en varios servicios, donde cada servicio usas sectores diferentes y sólo pueden modificar los sectores de los que conozcan las claves.



¿Cómo se comunican lector y tarjeta?

Las tarjetas usan cifrado en su comunicación, específicamente crypto-1, entonces para realizar la lectura de una de estas tarjetas debe haber un sistema de autenticación, ésta se produce en varias faces, en la primera face el lector le comunica a la tarjeta que desea leer el X sector, luego la tarjeta envía 32 bits que deberán ser cifrados con la clave privada anteriormente conocida, luego la tarjeta devuelve 64 bits, donde envía 32 bits de la respuesta cifrada, y los otros 32 bits para que la tarjeta los cifre, por último el lector envía la respuesta cifrada para que finalmente se genere la autenticación.

Fuentes:
http://www.nxp.com/documents/data_sheet/MF1S503x.pdf
Categories:

0 comentarios:

Publicar un comentario