Belajar Hardware Engineer - Hardware Security
Episode 18 of 28

Belajar Hardware Engineer - Hardware Security

Mengamankan perangkat dari serangan fisik dan digital: memahami secure elements, secure boot, tamper resistance, dan praktik desain yang menjaga kunci, firmware, dan data tetap aman di tangan musuh.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 17 produk kalian punya dokumentasi rapi, pada episode ini kita membahas sisi yang semakin menentukan di 2026: hardware security. Perangkat IoT adalah target empuk — terpasang di lapangan, tersambung internet, dan sering ditinggalkan tanpa pengawasan.

Mengapa keamanan hardware penting? Karena security di level software saja tidak cukup: jika penyerang memegang perangkatnya secara fisik, mereka bisa membaca flash, membongkar chip, atau menyerang jalur komunikasi. Desain hardware yang aman membuat penyerang harus mengeluarkan biaya dan usaha yang tidak sebanding dengan nilai yang mereka dapatkan.

Mengapa Hardware Security Berbeda

Security software berasumsi penyerang tidak memegang mesinnya. Hardware security berasumsi sebaliknya: penyerang memegang perangkat, bisa membongkarnya, dan punya peralatan lab. Ancaman yang relevan:

AncamanDeskripsiContoh Serangan
Baca flash/EEPROMMengekstrak firmware & kunciChip-off, probe JTAG
Side-channelMenganalisis daya/emisi saat kriptografiSPA/DPA (power analysis)
Fault injectionMemicu error untuk melewati proteksiVoltage/clock glitch
InterceptionMenyadap komunikasiSnooping bus SPI/I2C
CloningMeniru perangkatMenyalin identitas/credential

Strateginya: pertahanan berlapis (defense in depth) — membuat setiap lapisan lebih mahal untuk ditembus.

Secure Elements: Brankas Kunci

Secure element adalah chip khusus yang menyimpan kunci kriptografi dan menjalankan operasi kriptografi di dalamnya — kunci tidak pernah keluar dari chip dalam bentuk terbuka. Ini brankas digital untuk rahasia.

alur_secure_element.txt
"Aplikasi (MCU)             Secure Element
  |                            |
  |---- "sign data X" -------->|  kunci PRIVAT ada DI DALAM
  |                            |  tidak pernah keluar
  |<--- signature --------------|  
  |                            |
  |    (penyerang tak bisa      |
  |     membaca kunci meski     |
  |     memegang perangkat)     |

Kapan perlu secure element:

Level RisikoContohSolusi
RendahSensor rumah sederhanaMCU internal secure storage
SedangPayment, akses kontrolSecure element dedicated
TinggiWallet, SIM, TPMSecure element + sertifikasi (CC/Common Criteria)

Alternatif: Secure Storage di MCU

Banyak MCU modern punya fitur keamanan bawaan: secure key storage, secure boot (verifikasi tanda tangan firmware), dan encrypted flash. Untuk produk kelas menengah ke bawah, ini sering cukup — dengan syarat fiturnya benar-benar diaktifkan, bukan hanya sekadar tersedia.

Secure Boot: Rantai Kepercayaan

Secure boot memastikan hanya firmware yang sah yang bisa berjalan. Prinsipnya rantai kepercayaan (chain of trust):

100%

Setiap lapisan memverifikasi tanda tangan lapisan berikutnya sebelum menjalankannya. Kunci privat penandatangan berada di tempat aman (di pabrik / HSM), sementara kunci publik tertanam di chip. Menandatangani firmware yang dimodifikasi memerlukan kunci privat — yang tidak dimiliki penyerang.

Peta Implementasi Secure Boot

langkah_secure_boot.txt
"1. Aktifkan secure boot di MCU (opsi hardware)
2. Generate key pair: kunci privat di HSM (aman), publik di-compile ke bootloader
3. Firmware aplikasi ditandatangani (signed) di build pipeline
4. Boot ROM verify bootloader -> bootloader verify aplikasi
5. Semua firmware update harus di-sign juga (anti-downgrade: anti-rollback counter)

Pitfall umum: lupa anti-rollback — penyerang bisa menginstal firmware lama yang punya kerentanan. Gunakan rollback counter yang hanya bisa naik.

Tip

Secure boot tanpa kunci yang aman adalah teatrikal: jika kunci privat bocor, semua perangkat bisa di-boot dengan firmware jahat. Simpan kunci penandatangan di HSM atau setidaknya di keystore yang terpisah dari repo — dan batasi siapa yang bisa menandatangani rilis.

Tamper Resistance: Membuat Fisik Berbicara

Penyerang yang membuka casing adalah ancaman nyata. Beberapa teknik tamper resistance:

TeknikCara KerjaBiaya
JTAG/SWD lockMembunuh akses debug pinGratis (fuse di MCU)
Chip-overmoldingMenutupi chip dengan resinMurah
Tamper meshJaring konduktif yang putus saat casing dibukaSedang
Tamper switchSaklar yang mendeteksi casing terbukaMurah
Encrypted flashData terenkripsi, kunci di dalam chipTergantung MCU

Langkah Pertama: Lock JTAG/SWD

Langkah paling murah dan paling sering terlewat: mematikan debug port. JTAG/SWD adalah pintu belakang yang dibuat vendor untuk developer — dan untuk penyerang juga. Setelah produksi, nonaktifkan akses debug (read-out protection) dan proteksi dengan password:

langkah_lock.txt
"1. Flash firmware final + set flash protection
2. Aktifkan RDP (Read-out Protection) level tinggi
3. Nonaktifkan boot mode alternatif (boot pin ke level aman)
4. Uji: coba baca flash dengan debugger -> harus DITOLAK
5. Simpan kunci/prosedur unlock di tempat yang sangat aman

Praktik: Security Review

Review keamanan desain adalah bagian dari desain plan, bukan insiden di akhir. Checklist-nya:

security_review_checklist.md
"[ ] Jalur mana yang menyimpan kunci/credential? (flash MCU, secure element, RTC?)
[ ] Apakah secure element diperlukan berdasarkan risiko produk?
[ ] Secure boot aktif + firmware update signed + anti-rollback
[ ] JTAG/SWD terkunci setelah produksi
[ ] Debug/serial port tidak mengekspos data sensitif di production
[ ] Komunikasi terenkripsi (TLS) dengan key di secure storage
[ ] Boot mode alternatif dinonaktifkan
[ ] Apakah serangan fisik layak secara ekonomi terhadap nilai produk?

Pertanyaan terakhir adalah pertimbangan bisnis yang jujur: melindungi perangkat kopi seharga $5 dari serangan berbiaya $10.000 tidak masuk akal. Security adalah tentang biaya, bukan harga diri — pilih lapisan sesuai nilai aset yang dilindungi.

Warning

Kesalahan paling umum di produksi: mengirim board dengan debug port masih terbuka dan credential test. Selalu sertakan langkah "lock debug" di procedure produksi, dan verifikasi setelahnya dengan mencoba mengakses — security yang tidak diuji sama dengan tidak ada.

Penutup

Pada episode 18 ini, kalian telah memahami bahwa hardware security adalah pertahanan berlapis terhadap penyerang yang memegang perangkat secara fisik.

Inti yang harus dibawa pulang:

  • Asumsi keamanan hardware: penyerang memegang perangkat dan punya alat lab.
  • Secure element menyimpan kunci agar tidak pernah terbaca; pilih sesuai nilai aset.
  • Secure boot membangun rantai kepercayaan dari ROM sampai aplikasi, lengkap dengan anti-rollback.
  • Tamper resistance mulai dari yang murah: lock JTAG/SWD, encrypted flash, hingga tamper mesh.
  • Security adalah perhitungan biaya: lindungi sesuai nilai yang dipertaruhkan.

Di episode 19 selanjutnya kita membahas sisi bisnis hardware: supply chain & component — sourcing, counterfeit, dan lifecycle yang menentukan apakah produk bisa benar-benar diproduksi. Sampai jumpa di episode 19!

Belajar Hardware Engineer - Hardware Security | Belajar Hardware Engineer