Duplikat kartu RFID menggunakan Arduino

Penerapan RFID udah luas banget. Contohnya member parkir, absen di kampus, absen di kantor, kunci pintu rumah, dan masih banyak lagi.
Setelah belajar lebih lanjut soal RFID, ternyata kartu RFID bisa diclone jika menggunakan kartu yang UID-rewritable.

Tinggal di salah satu lingkungan yang sudah menerapkan sistem keluar masuk menggunakan kartu seperti ini, membuat saya termotivasi untuk belajar duplikat kartu RFID. Pasalnya, saya sering menghilangkan kartu seperti ini, dan jika kehilangan kartu member ini umumnya dikenakan denda oleh pihak layanan sistem ini.

Denda ini umumnya mulai dari Rp 50.000. Padahal jelas harga kartu RFID yang UID-rewritable tidak mencapai 8 ribu. Faktanya, saya membeli kartu duplikat ini dengan harga 7 ribu rupiah.

Keputusan saya untuk menggunakan Arduino berdasarkan pertimbangan bahwa:

  • Untuk memiliki hands-on experience terhadap Arduino
  • Budget saya tidak mencapai/melebihi alat clone yang berkisar 120 ribu rupiah atau lebih

Kebanyakan HP yang mendukung NFC bisa digunakan untuk duplikat, tapi perlu kartu khusus yang mendukung aplikasi seperti Mifare Classic Tool di Android. Jadi kartu yang bisa ditulis dengan modul Arduino ini belum tentu bisa ditulis ulang menggunakan aplikasi tersebut.

Pada post ini saya hanya membahas duplikat menggunakan Arduino. Untuk duplikat menggunakan HP NFC mungkin akan saya bahas di lain post.

Tools

Duplikat kartu RFID menggunakan Arduino Berikut peralatan yang saya gunakan beserta harganya. Tentunya harga beda-beda tiap lapak, namun saya cukup puas dengan belanjaan dibawah:

Nama Harga Link
Arduino Uno R3 Clone Rp 65.000 Tokopedia
Modul Arduino: RFID RC522 Rp 3.250 Tokopedia
Solder 40w 8.800 Tokopedia
Timah untuk solder 11.900 Tokopedia
Breadboard 830 Rp 11.600 Tokopedia
Kabel Jumper Arduino Male to Male minimal 7 pcs Rp 5.800 Tokopedia
Kartu Mifare Classic 1K 13.57MHz Rewritable UID Rp 7.000 Tokopedia
Total Rp 113.350  

Solder dan timah digunakan untuk melakukan solder pin header modul RFID dengan board RFIDnya. Sebaiknya punya solder, tapi saya sendiri pertama kali mengoperasikan solder saat membuat project ini.
Breadboard dan kabel jumper digunakan untuk menghubungkan modul RFID dengan Arduino.
Kartu RFID harus tipe Mifare Classic 1K UID Rewritable, karena merupakan kartu yang paling umum digunakan. Ingat untuk tidak menggunakan kartu yang didapatkan dari paket modul RC522, karena kartu-kartu tersebut hanya UID read-only.

Overview

Duplikat kartu RFID menggunakan Arduino Kartu RFID itu ada banyak model dan kadang tidak kompatibel antara satu sama lain. Kebanyakan kartu yang digunakan untuk kartu absen, kartu parkir, kartu member, dll. adalah NXP Mifare Classic 1K dengan standar ISO 14443 Type A, yang bekerja di frekuensi tinggi (13.57 MHz).
Kartu ini menampung data 1024 byte, terdiri dari 16 sektor memiliki UID atau Unique Identifier pada 4 byte pertama di sektor 0 dari block memori kartu ini. Kartu Mifare 1K yang mendukung UID-rewritable umumnya hanya bisa tulis ulang pada sektor 0.

Ketika melakukan duplikat kartu, yang biasanya perlu dicapai adalah menduplikat 4 byte pertama dari sektor 0 pada kartu RFID. Jadi yang akan saya bahas di post ini adalah memasang Arduino dengan modulnya, lalu menggunakan example library dari Arduino IDE untuk membaca UID kartu yang mau diduplikat, lalu menulis UID pada kartu duplikat.

Execution

Persiapan

Duplikat kartu RFID menggunakan Arduino Pada tahap persiapan, saya mendownload Arduino IDE yang bisa didownload disini, kemudian mendownload library MFRC522 oleh GithubCommunity yang bisa diinstall melalui menu Manage Libraries pada menu Sketch.

Setelah itu saya solder pin header dengan modul RFID 522. Pin header include dengan modulnya. Caranya bisa lihat video ini

Pemasangan Arduino dengan Modul RC522

Pada tahap pemasangan, Arduino Uno dipasangkan dengan modul RC522 sesuai dengan tabel wiring dibawah:

Pin Wiring ke Arduino Uno
SDA Digital 10
SCK Digital 13
MOSI Digital 11
MISO Digital 12
IRQ -
GND GND
RST Digital 9
3.3V 3.3V

Berikut skematik dari RandomNerdTutorials: Duplikat kartu RFID menggunakan Arduino

Karena menggunakan breadboard, maka tidak persis skematik, karena breadboard akan menjadi perantara hubungan antara Wiring ke Arduino dengan Pin pada modul RC522, jadi akhirnya terlihat seperti ini Duplikat kartu RFID menggunakan Arduino

Cek DumpInfo Kartu Asli/Lama

Setelah koneksi siap, maka saya memastikan bahwa kartu asli yang mau diduplikat adalah model kartu yang cocok dengan kartu duplikat. Caranya adalah dengan mengakses submenu Examples pada menu File pada Arudino IDE, program yang perlu digunakan adalah DumpInfo lalu upload sketch ke Arduino dengan tombol Upload hingga muncul pesan
Duplikat kartu RFID menggunakan Arduino

Menu Serial Monitor akan menampilkan data kartu ketika kartu didekatkan dengan modul RC522, tapi yang perlu dicatat hanyalah UID.
Duplikat kartu RFID menggunakan Arduino

Proses Duplikat ke Kartu Baru

Duplikat kartu RFID menggunakan Arduino Setelah mencatat UID yang perlu dicopy, dalam kasus ini adalah EC F6 33 49, maka tinggal mengakses example bernama ChangeUID, lalu buat perubahan pada line yang mendefinisikan UID baru, diubah sesuai dengan UID yang diinginkan.
Duplikat kartu RFID menggunakan Arduino
Menjadi
Duplikat kartu RFID menggunakan Arduino

Setelah upload dan melihat output Serial Monitor, maka ketika mendekatkan kartu baru ke modul RC522, maka Arduino akan langsung menulis ulang UID kartu sesuai yang didefinisikan. Hal tersebut bisa dipastikan dengan output seperti dibawah:
Duplikat kartu RFID menggunakan Arduino
Dari output tersebut, UID kartu yang sebelumnya 7D 53 63 32 menjadi EC F6 33 49. Sesuai dengan kartu lama!!

Maka dapat disimpulkan bahwa proses duplikat telah berhasil, kartu baru sudah dapat digunakan sebagai cadangan.

Final Thoughts

Melakukan duplikat kartu RFID menggunakan Arduino memberikan pengalaman hands-on terhadap Arduino dan modul RFID nya, memperluas pengetahuan saya tentang teknologi RFID, jenis-jenis yang tersedia, serta membantu saya mengenali berbagai macam tipe RFID dari frekuensi, struktur memori, serta model yang berbeda.

Selain itu saya jadi bisa menghemat uang dengan menyiapkan kartu duplikat, yang bisa mencegah saya harus membayar denda kehilangan kartu seperti ini yang nilai dendanya tidak fair.