Breve tutorial para copiar el bloque 0 del fabricante de las Mifare Classic 1k utilizando arduino y el lector barato RFID-RC522
Mifare Classic 1k y control de accesos
Las Mifare Classic son tarjetas NFC muy baratas, que suelen utilizarse para control de accesos dada la peculiaridad de su arquitectura. Esto es así, puesto que uno de los 16 bloques de memoria de los que disponen, concretamente el bloque 0, es de solo lectura. Los controles de acceso utilizan ese bloque para cotejar si una tarjeta está o no autorizada.
Dicho bloque se crea al momento de fabricarlas, y es ahí donde se les asigna una clave única inalterable a cada tarjeta (UID). Es por este motivo que al bloque 0 de las Mifare Classic también se le conoce como el “bloque del fabricante”.
Estuve pensando en montar un sistema para insertar monedas en mi máquina recreativa mediante NFC, y fue por este motivo por el que me documenté sobre esta tecnología y el bloque 0.
Tarjetas Mifare Classic con UID escribible
El bloque 0 es en principio inalterable. Digo “en principio” porque existen tarjetas y llaveros NFC que permiten editarlo mediante comandos especiales. Estas tarjetas son las que tenemos que usar para poder copiar el bloque 0 y poder usar varias llaves NFC como una sola. Aquí os dejo el enlace para comprarlas en amazon.
- 1. 100% nuevo. Fácil de cargar.
- 2. Resistente al agua.Cada viene con llavero incluido.
- 3. Trabajando con frecuencia 13.56MHz, puede leer y reescribir.
- 4. Compatible con todos los lectores de RFID para obtener acceso
- 5. Paquete que incluye: 10pcs
Clonar tarjetas NFC incluído bloque 0 de Mifare con Arduino
Para clonar tarjetas NFC necesitamos una placa Arduino y un lector RC522. Os dejo por aquí también los enlaces para comprarlos a buen precio.
El primero es un kit de iniciación para Arduino, con lo que necesitas para empezar y muy barato. El segundo son dos lectores con 2 tarjetas y 2 llaveros NFC. Estas tarjetas creo que no son de las de UID reescribible, y aunque es un pack doble, por el precio que tiene merece la pena (he visto una sola unidad a más precio incluso). También es buena idea comprar cables dupont para arduino.
- Este es el conjunto mas básico y sencillo para que los principiantes, y compatible con Arduino IDE.
- Tutorial español disponible-Incluye un manual de introducción a proyectos en formato PDF y también se suministra el código con ejemplos para que no tenga que perder tiempo buscándolos. También...
- Con la nueva placa de desarrollo UNO R3 el cable USB y todos los componentes básicos.
- Un bonito empaquetado en la caja, con la lista de componentes y el CDrom.
- 100% compatible con Arduino UNO R3 controladora, MEGA 2560 R3, NANO.
- El módulo MF522-AN diseña el circuito de la tarjeta leída utilizando el chip original Philips MFRC522.
- Fácil de usar, de bajo coste, y aplicable al desarrollo de equipos y lector de tarjetas, etc.
- Aplicable para el usuario que necesita diseñar o fabricar el terminal de tarjeta RF.
- El módulo se puede cargar directamente en los diferentes moldes de lector.
- El módulo utiliza un voltaje de 3,3 V, puede conectar la comunicación con cualquier placa base de CPU del usuario a través de varias líneas de interfaz SPI, puede garantizar un trabajo estable y...
- Cada cable mide sobre 20cm/8 pulgadas. Calibre de Cable: 28 AWG.
- Los cables pueden separarse para formar un conjunto que contenga el número de cables que necesita para su conexión y de esa forma adaptarse a conectores impares no estándar
- Incluye: 1x40 pines macho-hembra cables puente 1x40 pines hembra-macho cables puente 1x40 pines hembra-hembra cables puente
- Siempre nos hemos preocupado por ofrecer la mejor experiencia al cliente y por mejorar los detalles de funcionamiento de nuestros productos.
- Material: Aluminio revestido de cobre (CCA) con características de buena conductividad eléctrica, baja densidad y resistente a la corrosión. También es fácil de soldar.
Esquema de conexionado
Así debemos conectar el lector con arduino, siguiendo este esquema. Se adjunta también los pines usados para Arduino Mega.
- 【Soldador mejorado】 Este soldador de 60W 220V se calienta muy rápido con tecnología cerámica de calentamiento interno; 4 orificios de ventilación y diseño resistente al calor de la rosca,...
- 【Consejos de Soldadura Premium】Viene con 5 puntas de soldadura extra intercambiables (900M-T-B, 900M-T-2.4D, 900M-T-K, 900M-T-3C, 900M-T-3C, 900M-T-I) para diferentes necesidades de soldadura;...
- 【Soporte de soldadura fiable】El soporte estándar para soldador de doble resorte con esponja tiene una base segura, que es más estable que cualquier otro soporte de soldadura delgado, el usuario...
- 【Accesorios completos para soldar】10g 0.8mm de alambre de soldadura viene en un tubo de plástico, de punto de fusión 183℃; con un pequeño orificio en el tubo, fácil de soldar el alambre de...
- 【Bolsa de transporte portátil】Todos los accesorios están empaquetados de forma segura en una bolsa portátil, perfecta para el trabajo electrónico en el aula, la reparación de...
Librería MFRC522
Debemos instalar la librería MFRC522 en el software de arduino. Vamos a Programa, incluir librería y buscamos por RC522. Instalamos la primera. En mi caso ya aparece como instalada, pero en el vuestro deberéis instalarla.
Código para clonar bloque 0 tarjetas Mifare Classic con MFRC522 y arduino
Con este código y las tarejas con UID reescribible, podremos copiar el bloque 0.
En realidad éste método es una copia del método UnbrickUidSector del core de la librería MFRC522, pero recibiendo como parámetro un tipo byte[] que traerá el contenido que queremos escribir (en hexadecimal).