πŸ”’ Keamanan IoT

TLS, autentikasi device, token, serangan umum, dan best practice.

Lapisan keamanan IoT
Lapisan keamanan: device β†’ transport (TLS) β†’ platform β†’ aplikasi

πŸ“Œ 1. Kenapa Keamanan IoT Itu Kritis?

IoT memperluas permukaan serangan: jutaan device terhubung, banyak di antaranya lemah dan tidak pernah di-update.

  • Botnet Mirai (2016) β€” jutaan kamera & router lemah daya direkrut untuk serangan DDoS terbesar saat itu (600 Gbps).
  • Smart fridge "tweet" β€” kulkas terhubung internet yang membocorkan kredensial WiFi ke akun Twitter (2016).
  • Kamera bayi β€” diakses publik lewat default password.
⚠️ Di IoT, serangan bukan cuma "data bocor" β€” bisa jadi bahaya fisik: pintu garasi terbuka, infus pompa salah dosis, lampu lalu lintas dimanipulasi.

πŸ“Œ 2. Ancaman Umum

AncamanDeskripsiMitigasi
Password defaultadmin/admin tidak pernah digantiWajib ganti saat provisioning
Traffic tidak terenkripsiData/sniffing di WiFi publikTLS/DTLS di semua jalur
Impersonasi deviceAttacker menyamar sebagai device sahSertifikat per device / token unik
Replay attackPesan lama dikirim ulangTimestamp + nonce di pesan
Firmware tamperedFirmware diganti di jalur updateSignature + checksum, HTTPS
Akses fisikDevice dicuri/dibuka, port debug dipakaiSecure boot, encrypt storage, matikan debug

πŸ“Œ 3. Autentikasi Device: Token HMAC

Setiap device punya secret unik. Saat melapor, device menyertakan token HMAC yang hanya bisa dibuat oleh pihak yang tahu secret. Server memverifikasi β€” pesan tanpa token valid ditolak.

Output:

Di platform nyata, pola ini diwujudkan sebagai X.509 certificate per device (AWS IoT, Azure) β€” lebih kuat karena bisa dicabut (revoke) per device.

πŸ“Œ 4. Best Practice (Checklist)

  • βœ… TLS/DTLS untuk semua komunikasi (device↔cloud, app↔cloud).
  • βœ… Kredensial unik per device β€” tidak ada password default.
  • βœ… Prinsip minimal privilege β€” device hanya boleh menulis data-nya sendiri.
  • βœ… Update rutin + OTA dengan verifikasi signature.
  • βœ… Segmentasi jaringan β€” VLAN/IoT di jaringan terpisah dari LAN kantor.
  • βœ… Monitoring anomali β€” device yang tiba-tiba mengirim 1000Γ— lebih banyak = dicurigai.
  • βœ… Encrypt data sensitif di storage (end-to-end jika perlu).

🧠 Latihan

  1. Modifikasi verifikasi() agar menolak token dengan timestamp lebih dari 30 detik dari now() (anti-replay temporal). Uji dengan ts - 60.
  2. Buat fungsi lapor(device_id, suhu) yang mengembalikan dict {"device", "suhu", "ts", "token"}, dan terima(pesan) yang memverifikasi token lalu mengembalikan True/False. Uji 3 skenario: sah, token salah, replay.
  3. Sebutkan 3 hal yang BISA dilakukan attacker jika kamera IoT tidak terenkripsi dan pakai password default.
  4. Investigasi singkat: cari satu insiden keamanan IoT nyata (2018–2026), ringkas dalam 3 kalimat: apa yang diserang, bagaimana, dan apa mitigasinya.