Saat ini, hampir mustahil kita sanggup mengingat-ingat seluruh password yang kita gunakan karena sangat banyaknya aplikasi yang kita gunakan. Menggunakan satu password untuk semua aplikasi tentunya sangat tidak aman, karena bila data password tersebut tercuri dan tersebar di dark web seperti yang dialami oleh aplikasi Zoom, maka kita harus mengganti semua password kita di aplikasi lainnya bila tidak ingin akun kita diambil alih orang lain.
Password Manager
Sebagai solusinya saat ini telah banyak tersedia aplikasi password manager yang dapat digunakan untuk menyimpan password anda secara aman. Enkripsi yang digunakan dalam aplikasi password manager menjamin data yang kita simpan di dalamnya aman dan tidak dapat dibaca orang lain tanpa master password. Kita cukup mengingat satu master password yang sangat kuat untuk mengamankan seluruh password yang ada dalam aplikasi password manager.
Ada banyak aplikasi password manager, mulai dari versi open source hingga cloud based. Contoh aplikasi password manager versi open source adalah:
Kedua aplikasi tersebut menyimpan data dalam format dan ekstensi yang sama (.kdbx) sehingga compatible antara satu dengan yang lain. Adapun contoh aplikasi password manager versi cloud based adalah:
Tapi saya pribadi memilih menggunakan KeePass karena file yang berisi password tersebut disimpan di hard disk komputer saya sendiri, tidak “dititipkan” di server aplikasi password manager seperti LassPass atau Dashlane.
Tiap jenis aplikasi password manager tersebut memiliki kelebihan dan kekurangan masing-masing, silahkan dipilih sesuai dengan kebutuhan Anda.
Bagaimana Cara Mengirimkan Password Yang Aman?
Nah sekarang masuk ke pertanyaan utama kita, ketika kita bekerja dalam satu tim, bagaimana cara yang aman untuk mengirimkan password ke rekan satu tim kita?
Melalui e-mail? Tidak aman karena pengiriman e-mail belum tentu aman (dikirimkan tanpa enkripsi) dan data email tersimpan di sever tanpa enkripsi sehingga bisa dibaca oleh pengelola e-mail server atau NSA (kalau Anda orang penting).
Melalui aplikasi chatting? Meragukan karena pengiriman via aplikasi chatting belum tentu aman dan data chatting tersimpan di sever yang mungkin saja tanpa enkripsi.
Bisa saja kita mengirimkan file .kdbx melalui e-mail atau aplikasi chatting, tapi bagaimana mengirimkan master passwordnya?
Mungkin kita bisa aja melakukan enkripsi e-mail, namun bagaimana kalau e-mail rekan kita tersebut tidak mendukung enkripsi e-mail?
Alternatif lain adalah mengirimkan via aplikasi chatting yang menurut klaim developer-nya telah mendukung end-to-end encryption, WhatsApp misalnya. Tapi bagaimana kalau rekan kita tidak memiliki WhatsApp? Atau kita salah kirim password ke WhatsApp group yang salah (seperti kebodohan yang saya lakukan dahulu)?
Kita perlu sebuah cara pengiriman yang bisa diakses semua jenis device, mulai dari desktop atau mobile, serta praktis digunakan. Sepertinya solusi yang paling sederhana adalah melalui protokol HTTPS. Tapi bagaimana implementasinya?
SnapPass
Setelah membaca beberapa referensi, banyak yang merekomendasikan penggunaan SnappPass. SnappPass adalah aplikasi open source dikembangkan oleh developer Pinterest. Prinsip kerja dari SnappPass sangat sederhana:
- Simpan pesan atau password di server dalam keadaan terenkripsi.
- Generate sebuah key untuk membuka enkripsi data tersebut dalam bentuk sebuah URL.
- Bila URL tersebut diakses, maka pesan rahasia tersebut akan ditampilkan dan dihapus dari server.
Yang perlu kita lakukan hanyalah membagikan URL tersebut ke rekan 1 tim kita via e-mail atau aplikasi chatting.
Nah sekarang akan saya jawab satu persatu pertanyaan yang terlintas di pikiran Anda.
Bagaimana kalau URL tersebut dicuri?
Ya pencuri tersebut dapat membaca pesan rahasia anda, misalnya seperti Gambar 2 ini.
Tapi tunggu dulu, itu artinya rekan satu tim Anda tidak akan menerima pesan tersebut. Ketika dia membuka URL yang anda berikan, tampilan seperti Gambar 3 inilah yang dia dapatkan
Ketika rekan satu tim anda akan melaporkan ke Anda bahwa dia tidak bisa membaca pesan rahasia, maka itu artinya pesan anda telah bocor sehingga yang perlu anda lakukan adalah mengganti pesan rahasia (password) yang and bagikan sebelumnya.
Bagaimana dengan keamanan pengiriman data?
Gunakan protokol HTTPS dan pastikan konfigurasi protokol HTTPS anda aman, sehingga pesan Anda kirimkan akan terenkripsi saat pengiriman data. Gunakan https://www.ssllabs.com/ssltest/analyze.html untuk menguji konfigurasi HTTPS yang Anda gunakan.
Bagaimana dengan keamanan data yang disimpan di server?
Dalam dokumentasi SnapPass dijelaskan bahwa
“Passwords are encrypted using Fernet symmetric encryption, from the cryptography library. A random unique key is generated for each password, and is never stored; it is rather sent as part of the password link. This means that even if someone has access to the Redis store, the passwords are still safe.”
sehingga data yang (sementara) disimpan di dalam server akan aman.
Bagaimana cara instalasi SnapPass?
Instalasi SnapPass tidaklah rumit, cukup cloning repository SnapPass dari github
$ git clone https://github.com/pinterest/snappass
masuk ke dalam directory snappass
$ cd snappass
lalu jalankan snappass menggunakan Docker
$ docker-compose up -d
maka anda sudah bisa membukanya melalui web browser dan port 5000
http://localhost:5000
Namun Anda tetap memerlukan bantuan System Administrator untuk melakukan pemasangan SnapPass, karena SnapPass memerlukan Docker dan HTTPS agar berjalan dengan benar dan aman.
Selamat mencoba.
menarik ini, jadi inget film Mission Impossible, yang pesannya auto hancur, heuheuheu