Keamanan KasPoint: SHA-256, PIN, dan Proteksi Data
PoinTru.com - Ketika memilih aplikasi untuk mengelola data keuangan pribadi atau bisnis, pertanyaan soal keamanan adalah yang pertama harus dijawab.KasPoint mengambil pendekatan keamanan yang serius untuk aplikasi yang tidak memerlukan server berbayar-menggunakan enkripsi SHA-256, sistem PIN, dan manajemen sesi yang proper. Di artikel ini, Saya akan bedah seluruh lapisan keamanan yang ada di KasPoint agar Anda bisa membuat keputusan yang informasi.
Saya shock waktu pertama kali membaca dokumentasi teknisnya: untuk aplikasi gratis berbasis Google Sheets, lapisan keamanan yang diimplementasikan KasPoint lebih canggih dari banyak aplikasi berbayar yang pernah Saya coba.
Enkripsi Password: SHA-256 + SALT
Password yang Anda gunakan untuk login KasPoint tidak pernah tersimpan dalam bentuk teks biasa di database. Proses keamanannya adalah sebagai berikut:
- Saat Anda membuat atau mengubah password, teks password dikirim via HTTPS ke Google Apps Script
- Di sisi server (Apps Script), sistem menghitung nilaiSHA-256(SALT + password) - menggabungkan nilai SALT yang unik untuk instalasi Anda dengan password, lalu dienkripsi dengan algoritma SHA-256
- Nilai hash yang dihasilkan (bukan password aslinya) yang disimpan di sheet USERS
- Saat login, proses yang sama diulang dan hasilnya dibandingkan dengan hash yang tersimpan
- Jika cocok, sesi token dibuat dan dikirim ke browser-bukan password-nya
Yang kritis di sini adalah nilaiSALT. SALT adalah string unik yang Anda tentukan sendiri saat setup awal (mengganti nilai default di kode). Ini berarti dua instalasi KasPoint dengan password yang sama akan menghasilkan hash yang berbeda-sehingga bahkan jika database seseorang bocor, hash-nya tidak bisa digunakan di instalasi KasPoint lain.
| Data | Disimpan Di | Format Penyimpanan |
|---|---|---|
| Username | Google Sheets (USERS) | Plaintext |
| Password | Google Sheets (USERS) | SHA-256 hash + SALT |
| PIN | Google Sheets (CONFIG) | SHA-256 hash + SALT |
| URL Apps Script | localStorage browser | Plaintext |
| Sesi login | localStorage browser | Token + waktu kadaluarsa 8 jam |
| Data transaksi | Google Sheets | Plaintext |
Sistem PIN: Lapisan Kedua untuk Aksi Sensitif
Salah satu fitur keamanan yang paling thoughtful di KasPoint adalah sistem PIN. Ini bukan PIN untuk login-PIN ini digunakan sebagai verifikasi tambahan sebelum Anda bisamengedit atau menghapus data yang sudah tersimpan.
Logikanya sederhana: bahkan jika seseorang berhasil login ke akun KasPoint Anda (misalnya Anda lupa logout di perangkat bersama), mereka tidak bisa sembarangan menghapus atau mengubah data tanpa mengetahui PIN yang terpisah.
- PIN terdiri dari 4-6 digit angka
- Dibuat dan dikelola di Settings - PIN
- Disimpan dengan enkripsi yang sama: SHA-256(SALT + PIN) di sheet CONFIG
- Wajib dimasukkan sebelum setiap aksi Edit atau Hapus di tab Riwayat
- Input PIN dilakukan vianumpad visual khusus di layar, bukan keyboard biasa-ini mencegah keylogger atau screen recorder menangkap input PIN Anda
Oh iya, desain numpad visual ini detail yang Saya apresiasi. Di banyak aplikasi keuangan, PIN dimasukkan via keyboard standar yang rentan terhadap keylogger. KasPoint menggunakan numpad custom yang hanya bisa dioperasikan dengan sentuhan/klik di layar.
Manajemen Sesi: Token 8 Jam
KasPoint menggunakan sistem sesi berbasis token, bukan menyimpan password di browser. Setelah login berhasil:
- Server membuatsession token unik yang dikirim ke browser
- Token disimpan di localStorage browser (bukan cookie) bersama timestamp kadaluarsa
- Sesi otomatis kadaluarsa setelah8 jam (bisa dikonfigurasi di CONFIG session_hours)
- Setelah kadaluarsa, Anda harus login ulang
- Password tidak pernah tersimpan di browser-hanya token sementara
Menariknya, durasi sesi 8 jam ini bisa diubah oleh admin melalui Settings - Config. Untuk lingkungan yang lebih sensitif, bisa di-set lebih pendek. Untuk penggunaan personal yang nyaman, 8 jam adalah default yang reasonable.
Rekomendasi Keamanan Tambahan dari Saya
Selain fitur keamanan bawaan KasPoint, ada beberapa langkah tambahan yang sangat Saya rekomendasikan:
- Ganti nilai SALT sebelum deploy pertama - ini adalah langkah paling penting. SALT default yang ada di file kode sudah diketahui publik; SALT yang Anda buat sendiri tidak.
- Aktifkan 2-Step Verification di akun Google yang digunakan untuk Apps Script - karena seluruh keamanan data bergantung pada keamanan akun Google ini
- Jangan bagikan URL Web App kepada yang tidak berhak - URL ini adalah pintu masuk ke backend sistem Anda
- Backup Sheets berkala - minimal sebulan sekali via File - Download -.xlsx di Google Sheets
- Gunakan password minimal 8 karakter yang mengandung huruf besar, huruf kecil, dan angka
Cara Reset PIN Jika Lupa
PIN tidak bisa dipulihkan karena disimpan sebagai hash (nilai hash tidak bisa dibalikkan ke nilai aslinya). Yang bisa dilakukan adalah reset-menghapus hash lama dan membuat PIN baru. Ada tiga cara:
- Via Menu Sheets: Klik KasPoint - Reset PIN Aplikasi - Konfirmasi - buat PIN baru di Settings - PIN
- Via Apps Script Editor: Dropdown fungsi - pilih
resetAppPin- Run - buat PIN baru - Via Edit Sheet Langsung: Buka sheet CONFIG - cari baris
app_pin- hapus nilai di kolom B - buat PIN baru
Semua metode reset mengharuskan Anda memiliki akses ke Google Sheets yang terhubung-ini adalah desain yang tepat, karena hanya pemilik akun Google yang bisa melakukan reset.
Akhir Kata
Jadi, intinya KasPoint mengimplementasikan keamanan yang sangat serius untuk aplikasi gratis berbasis Google Sheets: SHA-256+SALT untuk enkripsi credential, numpad PIN visual untuk verifikasi aksi sensitif, dan session token dengan kadaluarsa otomatis. Dari pengalaman Saya, langkah paling kritis yang sering dilewatkan adalah mengganti SALT sebelum deploy pertama-jangan sampai terlewat. Kalau ada pertanyaan, feel free buat komen di bawah ya!
Untuk membaca artikel lainnya, cek aja diSitemap.
Posting Komentar