TLS, autentikasi device, token, serangan umum, dan best practice.
IoT memperluas permukaan serangan: jutaan device terhubung, banyak di antaranya lemah dan tidak pernah di-update.
| Ancaman | Deskripsi | Mitigasi |
|---|---|---|
| Password default | admin/admin tidak pernah diganti | Wajib ganti saat provisioning |
| Traffic tidak terenkripsi | Data/sniffing di WiFi publik | TLS/DTLS di semua jalur |
| Impersonasi device | Attacker menyamar sebagai device sah | Sertifikat per device / token unik |
| Replay attack | Pesan lama dikirim ulang | Timestamp + nonce di pesan |
| Firmware tampered | Firmware diganti di jalur update | Signature + checksum, HTTPS |
| Akses fisik | Device dicuri/dibuka, port debug dipakai | Secure boot, encrypt storage, matikan debug |
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.
Di platform nyata, pola ini diwujudkan sebagai X.509 certificate per device (AWS IoT, Azure) β lebih kuat karena bisa dicabut (revoke) per device.
verifikasi() agar menolak token dengan timestamp lebih dari 30 detik dari now() (anti-replay temporal). Uji dengan ts - 60.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.