¿Qué es el UID de una etiqueta, y se puede cambiar?
El UID es un identificador escrito en la etiqueta durante la fabricación, en una zona que una etiqueta corriente no deja reescribir. Los lectores lo usan para distinguir una etiqueta de otra durante la selección. Etiquetas cuyo UID sí puede reescribirse existen perfectamente, y justo por eso el UID no es una prueba de seguridad.
Para qué sirve
Su función original es prosaica: si hay varias etiquetas en el mismo campo, el lector necesita una manera de dirigirse a una de ellas. El identificador lo permite, y el procedimiento de anticolisión lo usa para aislar una etiqueta antes de que empiece ningún intercambio real.
Todo lo demás que se hace con él es desviar ese mecanismo de su propósito, y una parte de ello es imprudente.
Si se puede cambiar
En una etiqueta corriente, no. Reside en una zona programada en fábrica que solo puede leerse, y ninguna aplicación, ningún lector y ninguna insistencia cambian eso.
Existen etiquetas cuyo bloque de identificador es escribible. Se venden abiertamente para pruebas y para restablecer sistemas de acceso en los que se ha perdido una tarjeta, y son la razón por la que el párrafo anterior no cierra el asunto. Su existencia no es un secreto ni una rareza.
Por qué no es una prueba
Muchísimos sistemas de control de acceso funcionan leyendo el identificador y cotejándolo con una lista. Es fácil de implementar y da la sensación de ser una identidad.
No lo es. El identificador se transmite en claro a cualquier cosa que alimente la etiqueta, así que quien pueda acercar un lector a tu credencial durante un instante lo conoce. Y como las etiquetas de identificador escribible se pueden comprar, conocerlo basta para reproducirlo.
Un sistema cuya seguridad descansa en el identificador es un sistema con la llave escrita por fuera de la cerradura. Para un trastero de bicicletas puede bastar, para cualquier otra cosa no.
La distinción que importa
Leer un identificador demuestra que algo que presentaba ese identificador estuvo en el campo. No demuestra que el objeto sea auténtico, porque la autenticidad exige que la etiqueta pruebe conocer algo que una copia no tendría. Eso es exactamente lo que hace la autenticación, y el identificador no es autenticación.
Para qué se usa en su lugar
Como índice es excelente. Seguir qué etiqueta física va pegada a qué aparato, distinguir una etiqueta de otra dentro de un lote, vincular una lectura con un registro de base de datos: todo eso es legítimo y no exige confiar en el identificador en absoluto.
La regla que separa el buen uso del malo: usar el identificador para consultar algo está bien. Usarlo para decidir que algo está permitido, no.
Donde una instalación necesite saber de verdad que una etiqueta es auténtica, la respuesta es un chip con autenticación criptográfica. La diferencia de precio es pequeña frente al coste de descubrir el problema más tarde.
Preguntas frecuentes
¿Cuánto mide el UID de una etiqueta?
Depende de la familia de chips, y entre las etiquetas de consumo son habituales tanto los identificadores de cuatro bytes como los de siete. Cualquier sistema que dé por supuesta una única longitud fija se topará antes o después con una etiqueta que lo rompa, así que trata la longitud como variable.
¿Pueden dos etiquetas tener el mismo UID?
Deben ser únicos dentro de la asignación de cada fabricante, y los duplicados procedentes de fuentes serias son raros. Las etiquetas de identificador escribible pueden fijarse, claro está, en cualquier valor, lo que es otra razón para no tratar la unicidad como una garantía.
¿Cambia el UID si formateo o reescribo una etiqueta?
No. Formatear y escribir afectan a la zona de contenido y no al identificador programado en fábrica. Una etiqueta conserva su identificador toda su vida.
¿Puedo leer el UID sin una aplicación?
Las dos plataformas lo exponen al software, y el sistema operativo lo usa durante la selección, te lo muestre o no. Lo que cambia es qué aplicaciones lo enseñan.