I. Pendahuluan
- Pentingnya keamanan sesi dalam aplikasi web modern
- Pengenalan JWT sebagai metode pengelolaan sesi
- Masalah yang dapat timbul: risiko pencurian sesi (session hijacking)
- Tujuan artikel: memahami cara kerja JWT dan bagaimana mencegah ancaman keamanan
II. Apa Itu JWT (JSON Web Token)?
- Penjelasan singkat JWT: token berbentuk teks yang menyimpan informasi pengguna
- Komponen JWT:
- Header: tipe token dan algoritma enkripsi
- Payload: data pengguna (misalnya user ID, role)
- Signature: untuk menjamin keaslian token
- Cara kerja JWT dalam sesi login:
- Login → server kirim token → token disimpan → dikirim kembali saat akses
III. Keunggulan JWT dalam Pengelolaan Sesi
- Stateless: server tidak perlu menyimpan sesi di memori
- Cepat dan ringan karena berbasis JSON
- Cocok untuk aplikasi web dan mobile
- Mendukung komunikasi antar layanan (API)
IV. Risiko Session Hijacking pada JWT
- Penjelasan tentang session hijacking: pencurian token untuk menyamar sebagai pengguna
- Cara-cara token bisa dicuri:
- XSS (Cross-site Scripting)
- Penyimpanan token di localStorage yang bisa dibaca JavaScript
- Tidak menggunakan HTTPS
- Token tidak memiliki masa kedaluwarsa
V. Strategi Mengurangi Risiko Session Hijacking
- Gunakan HTTPS untuk semua koneksi
- Simpan JWT di HTTP-only cookies (tidak bisa diakses oleh JavaScript)
- Tetapkan waktu kedaluwarsa token (expiration)
- Terapkan validasi token di server setiap permintaan
- Gunakan refresh token secara aman
- Cegah XSS dengan filter input dan Content Security Policy (CSP)
VI. Kesimpulan
- JWT memberikan cara yang efisien dan fleksibel untuk mengelola sesi pengguna
- Namun, jika tidak diamankan dengan benar, JWT rentan terhadap session hijacking
- Keamanan bukan hanya soal alat, tetapi bagaimana alat itu digunakan dengan bijak
- Penting bagi pengembang untuk menerapkan praktik terbaik dalam penggunaan JWT
NAMA : SAFARUDDIN
NIM : 23156201035
JURUSAN : SISTEM KOMPUTER