SISTEM
PARKIR PINTAR BERBASIS IOT DENGAN LAPISAN KEAMANAN HMAC DAN NONCE UNTUK
PENCEGAHAN SERANGAN SIBER
Muhammad Ridwan1, Khoirul Ikhsan2,
Anggi Eka Mawarni3,
Alfian Rifq Syahroni4, Annisa Edelweis5
Teknik Elektro, Program Studi Jaringan Telekomunikasi
Digital,
Politeknik Negeri Malang
I. PENDAHULUAN
Perkembangan
teknologi Internet of Things (IoT) telah mendorong berbagai
inovasi di sektor parkir. Sistem parkir konvensional yang masih manual memiliki
banyak kelemahan, seperti tidak efisien, rawan kesalahan, dan tidak mampu
memberikan informasi ketersediaan slot secara langsung. Di sisi lain, jumlah
kendaraan yang terus meningkat menuntut adanya solusi parkir yang lebih cerdas
dan otomatis.
Teknologi
IoT memungkinkan perangkat seperti sensor dan mikrokontroler terhubung ke
internet untuk bertukar data. Dalam proyek ini, teknologi IoT digunakan untuk
mendeteksi kendaraan masuk dan keluar, menghitung slot parkir, serta
menampilkan informasi secara real-time melalui dashboard web.
Namun, keterhubungan ini juga membawa tantangan keamanan siber. Sistem yang
terhubung ke jaringan rentan terhadap berbagai serangan seperti replay
attack, data manipulation, flood, information
disclosure, dan stored XSS.
Proyek
ini merupakan tugas mata kuliah Sistem Telekomunikasi Lanjut yang bertujuan
membangun Smart Parking System berbasis IoT dengan dilengkapi
mekanisme keamanan. Sistem ini menggunakan ESP32 sebagai
mikrokontroler utama yang terhubung dengan dua sensor
ultrasonik HC-SR04 (pintu masuk dan keluar). Data dari sensor dikirim
melalui jaringan WiFi ke server yang berjalan
di Raspberry Pi menggunakan framework Flask. Server ini
memproses data, memperbarui kapasitas parkir, menyimpan log, serta
menampilkan informasi melalui dashboard web dengan grafik
dinamis (Chart.js) yang diperbarui setiap satu detik.
Aspek
keamanan menjadi fokus utama. Berdasarkan studi awal, sistem dengan
protokol HTTP tanpa pengamanan memiliki banyak kerentanan.
Untuk mengatasinya, proyek ini menerapkan lima lapisan pertahanan, yaitu: (1)
mekanisme nonce unik untuk mencegah replay attack,
(2) tanda tangan digital HMAC-SHA256 untuk menjamin integritas data,
(3) kewajiban penggunaan tiga header keamanan
(X-Timestamp, X-Nonce, X-Signature), (4) pemblokiran
metode OPTIONS untuk mencegah kebocoran informasi, dan (5)
sanitasi input dan output untuk
mencegah stored XSS.
Pengujian
keamanan dilakukan menggunakan Burp Suite dengan lima jenis
serangan, baik sebelum maupun setelah penerapan pertahanan. Hasilnya
menunjukkan bahwa sebelum keamanan diterapkan, semua serangan berhasil
(kode 200 OK). Setelah kelima lapisan pertahanan diterapkan, semua
serangan ditolak dengan kode 401 Unauthorized atau 405
Method Not Allowed, sedangkan serangan stored XSS tidak
lagi dieksekusi karena telah disanitasi.
Proyek
ini diharapkan dapat memberikan pemahaman tentang konsep IoT, komunikasi
perangkat keras dengan server, serta pentingnya keamanan berlapis pada sistem
terhubung. Proyek ini juga menunjukkan bahwa dengan perangkat keras terjangkau
seperti Raspberry Pi dan ESP32, sebuah sistem
parkir pintar yang aman dapat dibangun untuk keperluan pembelajaran maupun
penerapan nyata.
II. LATAR BELAKANG
Keamanan
komunikasi dalam sistem Internet of Things (IoT) masih menjadi
tantangan utama yang sering kali terabaikan pada tahap perancangan sistem.
Banyak pengembang sistem parkir otomatis lebih fokus pada aspek fungsionalitas,
seperti akurasi deteksi kendaraan dan kecepatan respons, tanpa mempertimbangkan
potensi kerentanan yang dapat dieksploitasi melalui jalur komunikasi data.
Padahal, dalam sistem yang terhubung ke jaringan, data yang dikirimkan antara
perangkat keras (device) dan server dapat dengan mudah disadap, diubah,
atau diulang oleh pihak yang tidak berwenang.
Berdasarkan
studi awal yang dilakukan terhadap beberapa implementasi sistem parkir
sederhana, ditemukan bahwa komunikasi yang menggunakan protokol HTTP tanpa
mekanisme encryption dan authentication sangat
rentan terhadap serangan siber. Jenis serangan yang paling umum terjadi antara
lain replay attack (pengulangan perintah), data
manipulation (manipulasi data), flood (banjir
permintaan), information disclosure (kebocoran informasi),
serta stored XSS (injeksi skrip lintas situs). Kelima serangan
ini jika berhasil dilancarkan dapat menyebabkan kerugian signifikan, seperti
manipulasi jumlah kendaraan parkir, penghentian layanan, atau bahkan
pengambilalihan kendali sistem.
Permasalahan
tersebut semakin kritis ketika sistem parkir diimplementasikan di lingkungan
dengan akses jaringan terbuka, seperti kampus, pusat perbelanjaan, atau area
publik lainnya. Dalam kondisi demikian, potensi serangan dari pihak eksternal
menjadi sangat tinggi. Oleh karena itu, diperlukan suatu pendekatan yang
sistematis untuk mengidentifikasi kerentanan sekaligus menerapkan mekanisme
pertahanan yang mampu melindungi komunikasi data pada sistem parkir berbasis
IoT.
Proyek
ini bertujuan untuk menjawab permasalahan tersebut dengan membangun sebuah
sistem parkir pintar yang tidak hanya fungsional, tetapi juga dilengkapi dengan
lapisan keamanan yang memadai. Sistem ini dirancang untuk dapat mendeteksi
serangan replay, data manipulation, flood, information
disclosure, serta stored XSS, dan secara aktif menolak
permintaan yang tidak sah. Dengan mengimplementasikan mekanisme seperti nonce (angka
sekali pakai), HMAC signature (tanda tangan digital), mandatory
security headers, pemblokiran metode OPTIONS, serta
sanitasi input/output, diharapkan sistem ini dapat menjadi
referensi bagi pengembangan sistem IoT yang lebih aman di masa mendatang.
Melalui proyek ini, mahasiswa dapat mempelajari tidak hanya aspek teknis pembangunan sistem parkir otomatis, tetapi juga memahami pentingnya keamanan siber dalam sistem terhubung serta cara mengimplementasikan pertahanan berlapis secara praktis menggunakan perangkat keras dengan biaya terjangkau, yaitu Raspberry Pi dan ESP32.
III. TUJUAN PROJECT
Adapun
tujuan yang ingin dicapai dalam proyek pengembangan Smart Parking
System berbasis Internet of Things (IoT) ini adalah
sebagai berikut:
- Membangun sistem parkir
otomatis berbasis IoT menggunakan ESP32 dan
sensor ultrasonik HC‑SR04, dengan server Raspberry
Pi sebagai pusat kendali (central control unit).
- Mengembangkan dashboard monitoring real-time yang
menampilkan grafik dinamis (Chart.js), log activity,
serta status ketersediaan slot parkir (parking slot availability).
- Mengidentifikasi lima jenis serangan
siber (cyber attacks) yang rentan terjadi pada
komunikasi HTTP tanpa pengamanan, meliputi replay
attack, data manipulation, parallel flood, information
disclosure, serta stored cross‑site scripting (XSS).
- Menerapkan lima lapisan mekanisme
pertahanan (five layers of defense mechanism), meliputi: nonce (number
used once), HMAC‑SHA256 signature, kewajiban
penggunaan security headers (X-Timestamp, X-Nonce, X-Signature),
pemblokiran metode HTTP OPTIONS, serta sanitasi input dan output (input/output
sanitization).
- Menguji efektivitas mekanisme
keamanan (security effectiveness testing) menggunakan
perangkat lunak Burp Suite, serta membandingkan respons sistem
sebelum (before defense) dan sesudah (after defense)
implementasi pertahanan.
IV. PERANGKAT DAN SOFTWARE YANG DIGUNAKAN
4.1 Perangkat Keras (Hardware)
Implementasi Smart
Parking System ini menggunakan sejumlah perangkat keras yang bekerja
secara terintegrasi. Raspberry Pi 3 berfungsi sebagai server pusat
yang menjalankan aplikasi Flask berbasis Python,
menyimpan log activity, serta menyajikan dashboard web. ESP32 bertindak
sebagai mikrokontroler utama yang membaca data dari sensor ultrasonik,
menghasilkan nonce dan signature, serta
mengirimkan permintaan HTTP POST ke server. Dua
unit sensor ultrasonik HC-SR04 digunakan, di mana sensor pertama
ditempatkan di pintu masuk untuk mendeteksi kendaraan yang akan parkir (entry
detection) dan sensor kedua di pintu keluar untuk mendeteksi kendaraan yang
meninggalkan area parkir (exit detection). Buzzer dimanfaatkan
sebagai indikator suara untuk memberi tanda ketika kendaraan terdeteksi masuk
atau keluar, serta memberikan peringatan ketika kapasitas parkir telah penuh (full
capacity warning). MicroSD Card berkapasitas 16 GB
digunakan sebagai media penyimpanan untuk sistem operasi Raspberry Pi
OS serta seluruh kode program server.
Selain itu, kabel jumper dan breadboard digunakan
untuk menghubungkan komponen elektronik (ESP32, sensor ultrasonik, dan buzzer)
dalam satu rangkaian yang utuh.
4.2 Perangkat Lunak (Software)
Dari sisi perangkat lunak,
sistem ini dibangun menggunakan berbagai teknologi dan alat pengembangan. Raspberry
Pi OS berbasis Linux dipilih sebagai sistem operasi
yang dijalankan pada Raspberry Pi untuk lingkungan
pengembangan dan eksekusi server. Python 3 menjadi
bahasa pemrograman utama yang digunakan untuk membangun server dengan
memanfaatkan Flask, yaitu sebuah web framework ringan
yang berfungsi untuk membangun REST API sekaligus
menyajikan dashboard web. Untuk membangun antarmuka dashboard
monitoring yang responsif, digunakan teknologi front-end berupa HTML, CSS,
dan JavaScript. Chart.js merupakan library
JavaScript yang diimplementasikan untuk menampilkan grafik batang (bar
chart) secara dinamis dan real-time, sementara Font
Awesome digunakan sebagai library ikon untuk
memperindah tampilan antarmuka pengguna.
Pada sisi pemrograman ESP32, Arduino
IDE digunakan sebagai Integrated Development Environment (IDE)
untuk menulis, mengompilasi, dan mengunggah kode program ke
mikrokontroler. Library mbedtls yang merupakan library kriptografi
bawaan ESP32 digunakan untuk menghasilkan HMAC-SHA256
signature, sedangkan NTP Client dimanfaatkan untuk
menyinkronkan waktu perangkat dengan server waktu global (pool.ntp.org) guna menghasilkan nilai timestamp yang
akurat. Untuk keperluan pengujian keamanan, Burp Suite dipilih
sebagai alat uji penetrasi (penetration testing tool) yang digunakan
untuk mensimulasikan serangan siber, mengirim ulang permintaan (replay),
memodifikasi data, serta melakukan serangan banjir permintaan (flood).
Terakhir, web browser digunakan untuk mengakses dashboard
monitoring pada alamat http://[IP_Raspberry]:5000 serta
memantau hasil pengujian keamanan secara langsung.
V. KONSEP DASAR SYSTEM
Pada
proyek ini, Raspberry Pi berfungsi sebagai server yang
menjalankan aplikasi Flask untuk memproses data parkir,
menyimpan log activity, serta menyajikan dashboard web.
Sementara itu, ESP32 bertindak sebagai perangkat keras
lapangan (field device) yang bertugas membaca data dari dua sensor
ultrasonik *HC-SR04*, menghasilkan parameter keamanan, dan mengirimkan
data tersebut ke server melalui jaringan WiFi.
Secara
garis besar, alur komunikasi sistem ini dapat dijelaskan sebagai berikut.
Ketika sebuah kendaraan mendekati pintu masuk, sensor ultrasonik pertama
(dipasang di pintu masuk) mendeteksi perubahan jarak menjadi kurang dari 10
cm. ESP32 kemudian membaca data tersebut dan menyusun
pesan JSON berisi status dengan
nilai "MASUK". Sebaliknya, ketika kendaraan melewati pintu
keluar, sensor kedua akan mendeteksi dan ESP32 menyusun
pesan JSON dengan nilai "KELUAR". Sebelum data
dikirim, ESP32 melakukan tiga langkah penting untuk keamanan:
pertama, mengambil timestamp saat ini dari server NTP (Network
Time Protocol); kedua, membangkitkan nonce (angka acak
sekali pakai); ketiga, menghitung HMAC-SHA256 signature dari gabungan
metode HTTP, path, timestamp, nonce,
dan hash dari body pesan menggunakan kunci
rahasia (secret key) yang telah disepakati bersama antara ESP32 dan server.
Setelah itu, ESP32 mengirimkan permintaan HTTP POST ke
endpoint /kirim pada server dengan menyertakan
tiga header keamanan wajib,
yaitu X-Timestamp, X-Nonce, dan X-Signature.
Di
sisi server, aplikasi Flask yang berjalan di Raspberry
Pi menerima permintaan tersebut. Proses validasi dilakukan secara
berurutan: pertama, server memeriksa apakah ketiga header keamanan
tersedia; jika tidak, server langsung menolak permintaan
dengan kode 401 Unauthorized. Kedua, server memeriksa
apakah nonce yang diterima belum pernah digunakan sebelumnya
dengan cara mencocokkan terhadap cache nonce yang disimpan
dalam memori; jika nonce sudah pernah muncul, permintaan
ditolak sebagai bentuk pencegahan terhadap replay attack.
Ketiga, server menghitung ulang signature dengan
cara yang sama seperti yang dilakukan ESP32, kemudian
membandingkannya dengan nilai X-Signature yang diterima; jika tidak
cocok, permintaan ditolak karena menandakan adanya upaya data
manipulation atau permintaan palsu (injection via response).
Setelah semua validasi terpenuhi, server memperbarui
variabel jumlah (jumlah kendaraan yang sedang parkir),
menyimpan log aktivitas yang berisi waktu, status, dan jumlah
kendaraan saat itu, serta mengembalikan respons JSON {"message":
"ok"} kepada ESP32.
Selain
itu, server juga menyediakan dua endpoint publik.
Endpoint /status digunakan oleh ESP32 untuk
menanyakan kondisi parkir saat ini, apakah sudah penuh (FULL) atau masih
tersedia (AVAILABLE). Endpoint /api/data digunakan oleh dashboard web
untuk mengambil seluruh log aktivitas yang telah
tersimpan. Dashboard web yang dibangun dengan HTML, CSS, JavaScript,
dan Chart.js secara otomatis melakukan polling (pengambilan
data) ke endpoint /api/data setiap satu detik, sehingga informasi
yang ditampilkan kepada pengguna selalu real-time. Dashboard tersebut
menampilkan grafik batang jumlah kendaraan yang sedang parkir, perbandingan
slot terisi dan slot kosong, serta tabel log aktivitas yang
berisi waktu, status, dan jumlah kendaraan pada setiap kejadian.
Dengan
konsep tersebut, seluruh komunikasi antara ESP32 dan server dapat
dilakukan melalui jaringan WiFi lokal tanpa memerlukan
infrastruktur telekomunikasi konvensional. Setiap permintaan yang tidak
memenuhi kriteria keamanan akan ditolak secara tegas, sehingga sistem parkir
pintar ini menjadi lebih tahan terhadap berbagai serangan siber sebagaimana akan
dijelaskan pada bab-bab selanjutnya.
VI. LANGKAH IMPLEMENTASI
Implementasi Smart
Parking System ini dilakukan melalui enam tahapan utama, mulai dari
persiapan perangkat keras hingga pengujian keamanan sistem.
6.1 Persiapan Perangkat Keras
Pada
tahap ini, Raspberry Pi 3 diinstal dengan sistem operasi Raspberry
Pi OS dan dihubungkan ke jaringan WiFi. Dua unit sensor
ultrasonik HC-SR04 dipasang pada ESP32: sensor pertama
untuk pintu masuk (GPIO4 dan GPIO19) dan sensor kedua
untuk pintu keluar (GPIO17 dan GPIO16). Buzzer dipasang
pada GPIO23 sebagai indikator suara. Seluruh komponen
dirangkai pada breadboard dengan kabel jumper.
Gambar 6.1 Rangkaian ESP32 dengan sensor
ultrasonik dan buzzer
6.2 Pemrograman ESP32
ESP32 diprogram
menggunakan Arduino IDE. Program yang ditanamkan memiliki fungsi
untuk membaca jarak dari sensor ultrasonik, menyinkronkan waktu dengan server
NTP, menghasilkan nonce acak, menghitung HMAC-SHA256
signature, serta mengirimkan data ke server dalam bentuk HTTP
POST dengan tiga header keamanan
(X-Timestamp, X-Nonce, X-Signature).
Gambar 6.2 Source Code Esp32
6.3 Pembuatan Server Flask di Raspberry Pi
Server dibangun
menggunakan framework Flask pada Raspberry Pi dengan
file app.py. Beberapa endpoint utama yang dibuat antara
lain: /kirim (menerima data dari ESP32 dengan
validasi keamanan), /status (mengembalikan status parkir penuh atau
tidak), dan /api/data (mengembalikan data log untuk dashboard).
Selain itu, ditambahkan fungsi untuk memblokir metode OPTIONS guna
mencegah kebocoran informasi.
Gambar
6.3 Source Code Server Raspberry Pi 3
6.4 Pembuatan Dashboard Web
Dashboard web
dibangun menggunakan HTML, CSS, dan JavaScript dengan
bantuan library Chart.js untuk grafik dan Font
Awesome untuk ikon. Dashboard menampilkan log aktivitas,
grafik jumlah kendaraan masuk dan keluar, sisa slot parkir, serta indikator
status sistem. Data diperbarui secara otomatis setiap satu detik melalui
mekanisme polling ke endpoint /api/data.
Gambar
6.4 Tampilan Dashboard Web
6.5 Penambahan Lapisan Keamanan
Lima
lapisan keamanan ditambahkan ke dalam sistem. Nonce unik mencegah
serangan pengulangan (replay attack). HMAC-SHA256
signature menjamin integritas dan keaslian data. Kewajiban header
keamanan memastikan hanya permintaan dengan tiga header
(X-Timestamp, X-Nonce, X-Signature) yang diproses. Pemblokiran
metode OPTIONS mencegah kebocoran informasi. Sanitasi
input/output menggunakan html.escape() di server
dan textContent di dashboard untuk mencegah
serangan stored XSS.
Gambar
6.5 Ilustrasi header keamanan
6.6 Pengujian Serangan dengan Burp Suite
Pengujian
dilakukan menggunakan Burp Suite dalam dua skenario: sebelum
dan setelah keamanan diaktifkan. Lima serangan yang diuji meliputi replay
attack, data manipulation, parallel flood, information
disclosure (metode OPTIONS), serta stored XSS.
Sebelum keamanan aktif, semua serangan berhasil dengan kode 200 OK.
Setelah keamanan aktif, server menolak semua serangan dengan kode 401
Unauthorized atau 405 Method Not Allowed, sementara
serangan stored XSS yang berhasil dikirim tidak dieksekusi
oleh browser.
Gambar
6.6 Tampilan Burp Suite sebelum defense
Gambar
6.7 Tampilan Burp Suite setelah defense (401 Unauthorized)
VII. ARSITEKTUR SISTEM
Arsitektur
sistem ini terdiri dari tiga komponen utama: ESP32, Raspberry
Pi, dan dashboard web.
ESP32 bertugas
membaca sensor ultrasonik, membangkitkan timestamp, nonce,
dan signature, lalu mengirim data ke server melalui HTTP
POST dengan tiga header keamanan
(X-Timestamp, X-Nonce, X-Signature).
Raspberry
Pi menjalankan server
Flask yang memvalidasi header, memeriksa keunikan nonce,
dan memverifikasi signature. Jika valid, data parkir diproses dan
disimpan. Server juga menyediakan endpoint /api/data untuk dashboard serta
memblokir metode OPTIONS.
Dashboard web
menampilkan grafik, log aktivitas, dan sisa slot parkir
secara real-time dengan pembaruan setiap satu detik.
Gambar
7.1 Arsitektur System
IX. HASIL DAN PEMBAHASAN
Pengujian
sistem dilakukan dalam dua skenario, yaitu sebelum dan setelah mekanisme
keamanan diterapkan. Lima jenis serangan disimulasikan menggunakan Burp
Suite.
9.1 Hasil Pengujian Sebelum Keamanan
Sebelum
mekanisme keamanan diaktifkan, semua serangan berhasil dilancarkan. Replay
attack berhasil mengulang permintaan MASUK sehingga jumlah
kendaraan membengkak. Data manipulation berhasil mengubah
status MASUK menjadi KELUAR. Parallel flood berhasil
mengirim puluhan permintaan sekaligus hingga server kewalahan. Information
disclosure melalui metode OPTIONS berhasil mengungkap daftar
metode HTTP yang didukung. Stored XSS berhasil menyisipkan
skrip jahat yang tereksekusi di dashboard.
Gambar
9.1 Tampilan Dashboard Before Defense With Serangan Storage XSS
Gambar
9.2 Tampilan Burp Suite menangkap
request sebelum defense
9.2 Hasil Pengujian Setelah Keamanan
Setelah
kelima lapisan keamanan diterapkan (nonce, HMAC signature, wajib
header, blokir OPTIONS, dan sanitasi), semua serangan berhasil
ditolak. Replay attack ditolak karena nonce yang
sama tidak dapat digunakan dua kali. Data manipulation ditolak
karena signature tidak cocok. Parallel flood ditolak
karena tidak ada header keamanan. Information disclosure ditolak
dengan kode 405 Method Not Allowed. Stored XSS tidak
lagi dieksekusi karena input telah disanitasi dan dashboard menggunakan textContent.
Gambar
9.3 Burp Suite menampilkan response 401 setelah defense
Gambar
9.4 Dashboard setelah defense
9.3 Analisis
Mekanisme nonce berhasil
mencegah replay attack karena setiap nonce hanya
dapat dipakai sekali. HMAC signature berhasil mencegah data
manipulation karena perubahan data menyebabkan signature tidak
valid. Kewajiban header keamanan berhasil memfilter permintaan
tidak sah. Pemblokiran metode OPTIONS menutup kebocoran informasi.
Sanitasi input/output berhasil menetralisir serangan stored
XSS.
Sistem
masih memiliki satu keterbatasan, yaitu komunikasi masih menggunakan HTTP sehingga
data dapat disadap (sniffing). Namun karena data tidak dapat
dimanipulasi, aspek kerahasiaan belum menjadi fokus utama proyek ini.
X. KESIMPULAN
Berdasarkan hasil implementasi dan pengujian yang telah dilakukan, dapat disimpulkan bahwa sistem parkir pintar berbasis IoT berhasil dibangun menggunakan ESP32 dan Raspberry Pi. Lima jenis serangan siber (replay attack, data manipulation, parallel flood, information disclosure, dan stored XSS) berhasil disimulasikan menggunakan Burp Suite. Setelah menerapkan lima lapisan pertahanan (nonce, HMAC signature, wajib header keamanan, blokir OPTIONS, dan sanitasi input/output), seluruh serangan berhasil ditolak oleh server dengan kode respons 401 atau 405. Serangan stored XSS juga tidak lagi dieksekusi karena telah melalui proses sanitasi. Sistem ini masih memiliki keterbatasan pada komunikasi HTTP yang memungkinkan penyadapan data, namun data tidak dapat dimanipulasi. Proyek ini membuktikan bahwa sistem IoT yang aman dapat dibangun dengan perangkat keras terjangkau seperti Raspberry Pi dan ESP32.
DAFTAR
PUSTAKA
Raspberry
Pi Ltd. (2025). Raspberry Pi Documentation. Diakses dari: https://www.raspberrypi.com/documentation/
Espressif
Systems. (2025). ESP-IDF Programming Guide. Diakses dari: https://docs.espressif.com/projects/esp-idf/en/latest/
Grinberg,
M. (2018). Flask Web Development: Developing Web Applications with
Python (2nd ed.). O'Reilly Media.
Hong,
R. T. (2025). Design and Implementation of Environmental Monitoring System
Using Flask-Based Web Application. Engineering Proceedings, 92(1),
37. MDPI.
PortSwigger.
(2025). Burp Suite Documentation. Diakses dari: https://portswigger.net/burp/documentation
Zatar,
M., & Sarwar, S. G. (2025). Security in IoT Network APIs: An
Analytical Study of Vulnerabilities, Attack and Protection Techniques.
Bachelor Thesis, Lund University.
Stallings,
W. (2018). Data and Computer Communications (10th ed.).
Pearson Education.
Tanenbaum,
A. S., & Wetherall, D. J. (2013). Computer Networks (5th
ed.). Pearson Education.
The
mbed TLS Project. (2025). mbed TLS Documentation. Diakses
dari: https://tls.mbed.org/
Flask
Contributors. (2025). Flask Documentation. Diakses dari: https://flask.palletsprojects.com/
Chart.js
Contributors. (2025). Chart.js Documentation. Diakses dari: https://www.chartjs.org/docs/latest/
OWASP
Foundation. (2025). Cross-Site Scripting (XSS) Prevention Cheat Sheet.
Diakses dari: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html
VulDB.
(2026). CVE-2026-24696: WebSocket API Authentication Request Rate Limiting
Vulnerability. Diakses dari: https://vuldb.com/cve/CVE-2026-24696
iDenfy.
(2025). Callback Signing: Webhook Authenticity Using HMAC-SHA256. Diakses
dari: https://documentation.idenfy.com/security/callback-signing
CoreUI.
(2026). How to Sanitize User Input in JavaScript. Diakses
dari: https://coreui.io/answers/how-to-sanitize-user-input-in-javascript/
Author Contribution :
|
|
Muhammad
Ridwan Bertanggung
jawab sebagai software engineer dalam pengembangan Smart
Parking System ini. Kontribusinya meliputi pengembangan server menggunakan framework
Flask (Python) pada Raspberry Pi, implementasi lima
lapisan mekanisme keamanan (nonce, HMAC-SHA256 signature,
kewajiban header keamanan, pemblokiran metode OPTIONS,
serta sanitasi input dan output),
pemrograman ESP32 menggunakan Arduino IDE, serta
pembangunan dashboard web dengan HTML, CSS, JavaScript,
dan Chart.js. |
|
|
Khoirul
Ikhsan Bertanggung
jawab sebagai hardware engineer dan desainer sistem.
Kontribusinya meliputi perancangan rangkaian elektronik, pemilihan komponen
(sensor ultrasonik HC-SR04, buzzer, kabel jumper, breadboard),
serta perakitan dan pengujian perangkat keras. |
|
|
Alfian
Rifq Syahroni Bertanggung
jawab dalam pembuatan prototype dan pengembangan sistem. Kontribusinya
meliputi perancangan antarmuka pengguna (dashboard), penyusunan laporan,
serta dokumentasi proyek. |
|
|
Annisa
Edelweis Bertanggung
jawab dalam persiapan komponen, pembuatan prototype, dan validasi sistem.
Kontribusinya meliputi pengadaan dan penyiapan seluruh komponen perangkat. |
|
|
Anggi
Eka Mawarni Bertanggung
jawab dalam pembuatan prototype awal sistem. Kontribusinya
meliputi pembuatan model fisik sistem parkir, penyusunan dokumentasi teknis,
serta pengujian fungsionalitas dasar sistem. |
