Sulap ESP32 Jadi YubiKey Rp90 Ribu dan Radio SDR Canggih!
Kembalinya Sang Wong Edan: Ketika Dompet Kere Bertemu Otak Kelebihan Kafein
Halo mulyo para sedulur opreker, hacker pinggiran yang sering dikira pasang pesugihan padahal cuma lagi debugging kernel, lan kaum mendang-mending yang dompetnya setipis tisu dibagi dua! Ketemu lagi dengan saya, Wong Edan teknologi paling konsisten dalam membuat hardware murah bekerja di luar batas kemampuannya. Hari ini, saya mau menularkan kegilaan baru yang dijamin bikin para kapitalis pembuat hardware gigit jari.
Pernahkah Sampeyan melihat harga YubiKey 5 NFC di toko online? Harganya bikin ulu hati bergetar hebat, bisa tembus satu juta rupiah lebih! Hanya untuk sebuah USB kecil yang bertugas menyimpan kunci kriptografi. Di sisi lain, dunia Software-Defined Radio (SDR) juga tidak kalah kejam untuk dompet penganut sekte “kere kere hore”. Dongle RTL-SDR yang dulu murah, sekarang harganya sudah meroket, belum lagi kalau melirik HackRF One yang harganya setara motor bebek seken.
Tapi tenang! Jangan emosi dulu, mari kita salurkan energi kemiskinan kita menjadi kreativitas tanpa batas. Hari ini kita akan melakukan ritual mistis tingkat tinggi: menyulap mikrokontroler ESP32 seharga Rp90 ribu (atau sekitar $6 saja) menjadi klon YubiKey FIDO2 yang bekerja dengan sempurna, sekaligus sebuah Radio SDR 2.4/5 GHz yang canggih! Ya, Sampeyan tidak salah dengar. Satu chip murah meriah muntah ini akan kita paksa bekerja rodi menjadi dua perangkat premium sekaligus. Mari kita bongkar sasisnya sampai ke tulang-belulangnya!
Bagian 1: Mengenal ESP32-S2 & S3 – Otak Cerdas dengan Harga Amblas
Sebelum kita mulai menyolder dan mengetik kode seperti kesurupan, kita harus paham dulu kenapa chip murah ini bisa melakukan trik sulap tingkat tinggi ini. ESP32 original memang legendaris, tapi untuk membuat klon YubiKey, kita membutuhkan varian khusus yang memiliki fitur Native USB OTG (On-The-Go). Di sinilah peran penting dari ESP32-S2 dan ESP32-S3.
Berbeda dengan ESP32 klasik yang membutuhkan chip jembatan USB-to-UART eksternal (seperti CP2102 atau CH340) untuk berkomunikasi dengan komputer, ESP32-S2 dan S3 memiliki kontroler USB internal yang terintegrasi langsung di dalam silikonnya. Ini berarti chip ini bisa menyamar (mengemulasi dirinya) menjadi perangkat USB apa saja yang kita inginkan: keyboard (HID), mouse, flashdisk (Mass Storage), MIDI controller, atau yang paling krusial untuk proyek kita kali ini: FIDO2 / U2F Authenticator Device.
“Lho Mbah, kalau ESP32-C3 yang mungil itu bagaimana?”
Ah, pertanyaan bagus! ESP32-C3 memang murah dan bisa dipakai untuk proyek unik seperti petualangan teks berbasis e-ink yang memanfaatkan Google Gemini seperti yang dibahas di XDA-Developers. Namun, untuk emulasi USB hardware tingkat rendah seperti FIDO2, arsitektur USB OTG penuh pada ESP32-S2 dan S3 adalah harga mati yang tidak bisa ditawar!
Untuk bagian SDR, rahasianya terletak pada arsitektur transceiver RF internal milik ESP32. Biasanya, chip ini menggunakan sirkuit RF-nya secara ketat untuk protokol Wi-Fi 802.11 dan Bluetooth. Namun, para insinyur gila di luar sana berhasil membongkar abstraksi hardware tersebut, memungkinkan kita untuk mengakses komponen penerima/pemancar radio pada level yang sangat rendah.
Bagian 2: Proyek 1 – Membangun Klon YubiKey FIDO2 Seharga $6
Mari kita masuk ke menu utama yang pertama. Kita akan membuat replika hardware token keamanan yang kompatibel dengan protokol FIDO2/WebAuthn. Proyek ini terbukti berhasil dikerjakan secara nyata dan didokumentasikan dengan sangat baik oleh komunitas, salah satunya dilaporkan oleh How-To Geek.
1. Mengapa FIDO2/WebAuthn Sangat Penting?
Sebelum melangkah lebih jauh, pahami ini: Otentikasi dua faktor (2FA) berbasis SMS sangat mudah di-hijack lewat taktik SIM-swapping. Bahkan 2FA berbasis aplikasi authenticator (TOTP) seperti Google Authenticator masih bisa ditembus lewat phising canggih (man-in-the-middle). FIDO2 memecahkan masalah ini dengan menggunakan kriptografi kunci publik (asimetris). Browser Anda akan berkomunikasi langsung dengan hardware key lewat jabat tangan kriptografi yang terikat erat dengan domain situs web tertentu. Jika situsnya palsu, proses jabat tangan akan gagal secara otomatis!
2. Kebutuhan Hardware
- ESP32-S2 atau ESP32-S3 Development Board: Pastikan memiliki port USB yang terhubung langsung ke pin GPIO 19 (D-) dan GPIO 20 (D+) untuk emulasi USB native. Board seperti Lolin S2 Mini atau ESP32-S3-DevKitC adalah pilihan terbaik dan termurah.
- Satu Buah Tombol Fisik (Push Button): FIDO2 mewajibkan adanya pembuktian fisik kehadiran pengguna (User Presence). Kita harus menekan tombol saat login untuk membuktikan bahwa kita adalah manusia asli di depan komputer, bukan malware yang mencoba mengakses kunci kita dari jarak jauh.
3. Arsitektur Firmware Kloning FIDO2
Untuk firmware, kita menggunakan implementasi open-source dari protokol FIDO2 yang diporting khusus untuk ESP32-S2/S3. Firmware ini mengimplementasikan spesifikasi CTAP2 (Client-to-Authenticator Protocol 2). Ketika dicolokkan ke komputer, ESP32 akan mendaftarkan dirinya sebagai perangkat USB HID dengan koleksi report descriptor khusus FIDO.
Berikut adalah visualisasi alur komunikasi kriptografi saat Anda login menggunakan ESP32 FIDO2 Key Anda:
+---------+ +---------+ +---------------+ | Browser | | ESP32 | | Tombol Fisik | +---------+ +---------+ +---------------+ | | | |--- 1. Challenge ------>| | | | | | |--- 2. Kedipkan LED ------>| | | & Tunggu Sentuhan | | | | | |<-- 3. Tombol Ditekan -----| | | | |<-- 4. Tanda Tangan ----| | | Kriptografi -----| |
4. Mempersiapkan Lingkungan dan Flashing
Kita akan menggunakan firmware berbasis Rust atau C yang sudah dioptimalkan untuk ESP32-S2. Untuk kemudahan kompilasi, kita bisa menggunakan framework ESP-IDF. Mari kita bedah bagaimana fungsi inisialisasi USB HID FIDO2 ini ditulis di level kode C:
#include "tinyusb.h"
#include "tusb_hid.h"
// FIDO2 / U2F USB HID Report Descriptor
const uint8_t desc_hid_report[] = {
TUD_HID_REPORT_DESC_FIDO_U2F(HID_REQ_CONTROL_GET_REPORT)
};
// Konfigurasi Driver TinyUSB pada ESP32-S2/S3
void init_usb_fido_device(void) {
tinyusb_config_t tusb_cfg = {
.descriptor = NULL,
.string_descriptor = NULL,
.external_phy = false
};
// Inisialisasi stack TinyUSB
esp_err_t err = tinyusb_driver_install(&tusb_cfg);
if (err == ESP_OK) {
printf("Wong Edan USB FIDO Driver Berhasil Diinstal!\n");
}
}
Setelah melakukan kompilasi firmware, lakukan flashing ke ESP32-S2 dengan perintah esptool berikut:
esptool.py --chip esp32s2 write_flash 0x10000 build/esp32_fido2_firmware.bin
Begitu proses flashing selesai dan Anda mencolokkan kembali port USB native ESP32 ke komputer, sistem operasi (Windows, Linux, macOS) akan langsung mengenali perangkat tersebut sebagai FIDO2 Security Key. Anda bisa langsung masuk ke pengaturan akun Google, GitHub, atau Microsoft Anda, lalu daftarkan ESP32 Rp90 ribu ini sebagai metode otentikasi hardware dua faktor Anda!
Peringatan Keamanan Kritis dari Wong Edan: Walaupun klon ini bekerja 100% seperti YubiKey asli, ada satu perbedaan vital. YubiKey asli menggunakan chip khusus bernama Secure Element (EAL6+ certified) yang tahan terhadap serangan fisik (seperti membongkar silikon menggunakan asam nitrat untuk membaca memori internal). ESP32 menyimpan kunci privatnya di dalam flash memory biasa. Meskipun kita bisa mengaktifkan fitur Flash Encryption pada ESP32, tingkat keamanannya tetap berada di bawah chip Secure Element militer. Jadi, gunakan klon ini untuk mengamankan akun harian Anda, tapi jangan dipakai untuk menyimpan kunci dompet kripto berisi miliaran Rupiah hasil ngepet online!
Bagian 3: Proyek 2 – Menjelajahi Frekuensi Radio dengan ESP-SDR
Jika proyek pertama belum cukup membuat otak Anda mengepulkan asap hitam, mari kita beralih ke proyek kedua yang jauh lebih gila: mengubah transceiver Wi-Fi/Bluetooth ESP32 menjadi Software-Defined Radio (SDR)!
Kabar ini sempat menghebohkan jagat raya hardware hacking ketika dilaporkan oleh Hackaday dan diulas secara teknis oleh CNX Software. Proyek bernama ESP-SDR ini berhasil memodifikasi firmware bawaan controller radio ESP32 untuk mengekstrak data mentah I/Q langsung dari ADC (Analog-to-Digital Converter) internalnya, serta mengirimkan sinyal kustom melalui DAC (Digital-to-Analog Converter)-nya pada frekuensi 2.4 GHz dan bahkan 5 GHz pada chip generasi terbaru!
1. Bagaimana ESP-SDR Bekerja?
Secara tradisional, sirkuit radio pada chip nirkabel bertindak sebagai “black box” (kotak hitam). Sinyal analog frekuensi tinggi yang diterima oleh antena akan diturunkan frekuensinya (down-converted), diubah menjadi sampel digital I (In-phase) dan Q (Quadrature), kemudian langsung didekodekan oleh hardware internal menjadi paket data Wi-Fi atau Bluetooth standar. Kita sebagai programmer biasanya hanya bisa melihat data bersih di tingkat aplikasi.
ESP-SDR meretas batasan ini dengan mem-bypass seluruh lapisan protokol standar tersebut. Dengan memodifikasi register internal transceiver RF ESP32, kita dapat menginstruksikan chip untuk menyalurkan aliran konstan sampel mentah I/Q langsung ke memori RAM melalui DMA (Direct Memory Access). Dari memori RAM, data ini dikirimkan dengan kecepatan tinggi melalui antarmuka USB ke komputer kita untuk diproses menggunakan software analisis radio seperti SDR#, GQRX, atau GNU Radio!
2. Mengapa Ini Menakjubkan?
Sebagian besar perangkat SDR murah yang beredar di pasaran (seperti RTL-SDR) hanya mampu bekerja di frekuensi sub-GHz hingga maksimal 1.7 GHz. Untuk mendengarkan atau menganalisis frekuensi tinggi seperti 2.4 GHz (frekuensi Wi-Fi, Bluetooth, microwave, remote control drone, dan mainan RC), Anda biasanya memerlukan upconverter tambahan atau SDR mahal.
Dengan firmware ESP-SDR, ESP32 berubah menjadi transceiver SDR dua arah yang mampu beroperasi di rentang frekuensi:
- 2.4 GHz Band: Pada chip ESP32 standar, ESP32-S3, dan ESP32-C3.
- 5 GHz Band: Pada chip masa depan seperti ESP32-C5 yang juga mendapatkan dukungan SDK terbuka berkat rilis kode open-source baru-baru ini yang melibatkan integrasi modul pintar seperti yang dilaporkan di MIXED Reality News.
3. Mengonfigurasi dan Mem-flash ESP-SDR
Untuk menjalankan ESP-SDR, kita perlu mengunduh firmware modifikasi khusus yang menggantikan blob biner Wi-Fi closed-source dari Espressif. Berikut adalah diagram blok bagaimana data mengalir dari udara luar hingga tampil di layar monitor komputer Anda:
+---------+ +------------------+ +-------------------+ +----------+ | Antena | ---> | RF Front-End RX | ---> | ADC & I/Q Sampler | ---> | DMA SRAM | +---------+ +------------------+ +-------------------+ +----------+ | +---------+ +------------------+ +-------------------+ | | PC (SDR#| <--- | Port USB (Native)| <--- | Antrean Data USB | <----------+ | GQRX) | | atau CDC-UART | | (Raw I/Q Stream)| +---------+ +------------------+ +-------------------+
Mari kita lihat contoh konfigurasi register tingkat rendah yang disederhanakan untuk membuka aliran data I/Q pada chip ESP32:
#include "esp_private/phy.h"
#include "soc/rtc_cntl_reg.h"
void aktifkan_mode_gila_sdr() {
// 1. Matikan tumpukan protokol Wi-Fi/BT bawaan
esp_wifi_stop();
// 2. Akses register RF internal secara langsung
// Mengatur Phase-Locked Loop (PLL) ke frekuensi pusat kustom (misal: 2412 MHz / Channel 1)
write_register_rf(RF_PLL_FREQ_REG, 2412);
// 3. Alihkan rute output ADC internal langsung ke antrean DMA
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_DATA_TO_DMA);
printf("Transceiver RF dikunci pada frekuensi 2.412 GHz. Aliran data I/Q aktif!\n");
}
Setelah firmware dikompilasi dan di-flash ke dalam board ESP32 Anda, komputer Anda akan mendeteksi aliran data serial virtual berkecepatan tinggi yang memancarkan data mentah I/Q. Anda tinggal membuka software SDR favorit Anda, mengatur input source ke port COM/serial ESP32 tersebut, mengatur baudrate ke nilai maksimal (atau menggunakan USB bulk transfer pada varian S3), dan seketika itu juga… BOOM! Airpod tetangga, sinyal Wi-Fi rumah sebelah, hingga remote control mobil mainan anak Anda akan terlihat menari-nari dalam bentuk spektrum air terjun (waterfall display) di layar monitor Anda!
Bagian 4: Perbandingan Head-to-Head (Fakta vs Hype)
Sebagai Wong Edan profesional, saya wajib memberikan edukasi yang jujur dan berimbang berdasarkan fakta keras di lapangan. Jangan sampai Sampeyan termakan hype menyesatkan di forum-forum internet. Mari kita bedah perbandingannya secara adil:
Tabel 1: ESP32 FIDO2 Clone vs YubiKey 5 NFC Asli
| Fitur | ESP32 FIDO2 Clone ($6 / Rp90.000) | YubiKey 5 NFC Asli ($55 / Rp950.000+) |
|---|---|---|
| Protokol Otentikasi | FIDO2, U2F, WebAuthn (Sama) | FIDO2, U2F, OpenPGP, TOTP, HOTP, Smart Card |
| Keamanan Hardware | Software-based (Flash Memory + MCU) | Hardware-based (EAL6+ Secure Element) |
| Ketahanan Fisik | Tergantung casing DIY Anda | Sangat kokoh, tahan air, tahan dilindas mobil |
| Konektivitas | USB Type-C (tergantung board) | USB-A, USB-C, Lightning, NFC |
Tabel 2: ESP-SDR vs RTL-SDR Dongle Klasik
| Parameter | ESP32 SDR (ESP-SDR) | RTL-SDR v3 / v4 Dongle |
|---|---|---|
| Rentang Frekuensi | 2.4 GHz – 2.5 GHz (dan 5 GHz pada chip tertentu) | 500 kHz – 1.7 GHz (Umum) |
| Bandwidth Instan | Terbatas (~10-20 MHz tergantung sampling ADC) | Hingga 3.2 MHz (Bebas distorsi di 2.4 MHz) |
| Kemampuan Memancar (TX) | Ya (Half-Duplex Transceiver) | Tidak (Hanya Menerima / RX Only) |
| Kegunaan Utama | Analisis Wi-Fi, Bluetooth, Zigbee, IoT hacking | Mendengarkan Radio FM, Penerbangan (ADS-B), Satelit NOAA |
Kesimpulan Mbah Wong Edan: Jadi, Layakah Dicoba?
Sangat layak, bin mutlak, bin wajib hukumnya buat Sampeyan yang punya gairah ngoprek membara! Proyek ini bukan sekadar cara menghemat uang, melainkan sarana terbaik untuk memahami bagaimana protokol USB bekerja di level hardware terbawah, bagaimana kriptografi asimetris mengamankan identitas digital kita, serta bagaimana sinyal radio analog diubah menjadi data digital yang bermakna.
Dengan hanya mengeluarkan uang sebesar Rp90 ribu untuk sebuah papan kecil bernama ESP32, Anda telah berhasil mendobrak batasan yang sengaja dipasang oleh industri teknologi global. Anda membuat alat keamanan siber mandiri yang kokoh sekaligus perangkat analisis spektrum radio frekuensi tinggi yang menakjubkan.
Sekarang, tunggu apa lagi? Ambil solder Anda, colokkan kabel USB-nya, flash firmware-nya, dan bergabunglah bersama saya di sekte kegilaan teknologi kreatif ini. Sampai jumpa di artikel ngoprek gila berikutnya. Tetap kreatif, tetap miskin di dompet tapi kaya di otak, dan salam Wong Edan!