Beberapa perusahaan baru-baru ini mengaku menyimpan kata sandi dalam format teks biasa. Itu seperti menyimpan sandi di Notepad dan menyimpannya sebagai file .txt. Kata sandi harus diasinkan dan di-hash untuk keamanan, jadi mengapa itu tidak terjadi di tahun 2019?
Mengapa Sandi Tidak Harus Disimpan dalam Teks Biasa
Ketika sebuah perusahaan menyimpan kata sandi dalam teks biasa, siapa pun yang memiliki basis data kata sandi — atau file apa pun yang menyimpan kata sandi — dapat membacanya. Jika peretas mendapatkan akses ke file tersebut, mereka dapat melihat semua kata sandi.
Menyimpan kata sandi dalam teks biasa adalah praktik yang buruk. Perusahaan harus melakukan salting dan hashing sandi, yang merupakan cara lain untuk mengatakan "menambahkan data ekstra ke sandi dan kemudian mengacak dengan cara yang tidak dapat dibatalkan". Biasanya itu berarti meskipun seseorang mencuri sandi dari database, mereka tidak dapat digunakan. Saat Anda masuk, perusahaan dapat memeriksa bahwa sandi Anda cocok dengan versi acak yang disimpan — tetapi mereka tidak dapat "bekerja mundur" dari database dan menentukan sandi Anda.
Jadi mengapa perusahaan menyimpan kata sandi dalam teks biasa? Sayangnya, terkadang perusahaan tidak menganggap serius keamanan. Atau mereka memilih untuk membahayakan keamanan atas nama kenyamanan. Dalam kasus lain, perusahaan melakukan segalanya dengan benar saat menyimpan kata sandi Anda. Tapi mereka mungkin menambahkan kemampuan logging yang berlebihan, yang merekam kata sandi dalam teks biasa.
Beberapa Perusahaan Memiliki Kata Sandi yang Tidak Tersimpan dengan Benar
Anda mungkin sudah terpengaruh oleh praktik yang buruk karena Robin Hood , Google , Facebook , GitHub, Twitter, dan lainnya menyimpan kata sandi dalam teks biasa.
Dalam kasus Google, perusahaan tersebut cukup melakukan hashing dan salting kata sandi untuk sebagian besar pengguna. Tapi Sandi akun G Suite Enterprise disimpan dalam teks biasa. Perusahaan mengatakan ini adalah praktik yang tersisa sejak memberikan alat administrator domain untuk memulihkan kata sandi. Seandainya Google menyimpan sandi dengan benar, itu tidak mungkin terjadi. Hanya proses pengaturan ulang kata sandi yang berfungsi untuk pemulihan ketika kata sandi disimpan dengan benar.
Saat Facebook juga mengaku menyimpan sandi dalam teks biasa, ini tidak memberikan penyebab pasti masalahnya. Tetapi Anda dapat menyimpulkan masalahnya dari pembaruan nanti:
… Kami menemukan log tambahan dari kata sandi Instagram disimpan dalam format yang dapat dibaca.
Terkadang sebuah perusahaan akan melakukan semuanya dengan benar saat awalnya menyimpan kata sandi Anda. Dan kemudian tambahkan fitur baru yang menyebabkan masalah. Selain Facebook, Robin Hood , Github , dan Indonesia kata sandi teks biasa yang tidak sengaja dicatat.
Logging berguna untuk menemukan masalah dalam aplikasi, perangkat keras, dan bahkan kode sistem. Tetapi jika sebuah perusahaan tidak menguji kemampuan logging itu secara menyeluruh, itu dapat menyebabkan lebih banyak masalah daripada menyelesaikannya.
Dalam kasus Facebook dan Robinhood, ketika pengguna memberikan nama pengguna dan kata sandi mereka untuk masuk, fungsi pencatatan dapat melihat dan mencatat nama pengguna dan kata sandi saat mereka diketik. Itu kemudian menyimpan log tersebut di tempat lain. Siapapun yang memiliki akses ke log tersebut memiliki semua yang mereka butuhkan untuk mengambil alih sebuah akun.
Terkadang, perusahaan seperti T-Mobile Australia mungkin mengabaikan pentingnya keamanan, terkadang atas nama kenyamanan. Di sebuah pertukaran Twitter sejak dihapus , perwakilan T-Mobile menjelaskan kepada pengguna bahwa perusahaan menyimpan kata sandi dalam teks biasa. Menyimpan kata sandi dengan cara itu memungkinkan perwakilan layanan pelanggan untuk melihat empat huruf pertama dari kata sandi untuk tujuan konfirmasi. Ketika pengguna Twitter lain dengan tepat menunjukkan betapa buruknya jika seseorang meretas server perusahaan, perwakilan itu menjawab:
Bagaimana jika ini tidak terjadi karena keamanan kami sangat baik?
Perusahaan memang menghapus tweet tersebut dan kemudian mengumumkannya semua kata sandi akan segera diasinkan dan di-hash . Tapi itu tidak lama sebelum perusahaan seseorang telah melanggar sistemnya . T-Mobile mengatakan bahwa sandi yang dicuri telah dienkripsi, tetapi itu tidak sebagus hashing sandi.
Bagaimana Seharusnya Perusahaan Menyimpan Kata Sandi
Perusahaan tidak boleh menyimpan sandi teks biasa. Sebaliknya, sandi seharusnya asin, lalu di-hash . Penting untuk mengetahui apa itu penggaraman, dan perbedaannya mengenkripsi dan hashing .
Salting Menambahkan Teks Ekstra ke Kata Sandi Anda
Salting password adalah konsep yang lurus ke depan. Proses ini pada dasarnya menambahkan teks tambahan ke kata sandi yang Anda berikan.
Anggap saja seperti menambahkan angka dan huruf di akhir kata sandi biasa Anda. Alih-alih menggunakan "Sandi" untuk sandi Anda, Anda dapat mengetik "Sandi123" (jangan pernah menggunakan salah satu sandi ini). Salting adalah konsep yang serupa: sebelum sistem meng-hash kata sandi Anda, ia menambahkan teks tambahan ke dalamnya.
Jadi, bahkan jika seorang peretas membobol database dan mencuri data pengguna, akan jauh lebih sulit untuk memastikan apa kata sandi yang sebenarnya. Peretas tidak akan tahu bagian mana yang garam, dan bagian mana yang kata sandi.
Perusahaan tidak boleh menggunakan kembali data asin dari sandi ke sandi. Jika tidak, itu bisa dicuri atau dihancurkan dan dengan demikian menjadi tidak berguna. Memvariasikan data asin dengan tepat juga mencegah tabrakan (lebih lanjut tentang itu nanti).
Enkripsi Bukan Pilihan yang Sesuai untuk Kata Sandi
Langkah selanjutnya untuk menyimpan kata sandi dengan benar adalah melakukan hash. Hashing tidak sama dengan enkripsi.
Saat Anda mengenkripsi data, Anda mengubahnya sedikit berdasarkan kunci. Jika seseorang mengetahui kuncinya, mereka dapat mengubah datanya kembali. Jika Anda pernah bermain dengan cincin dekoder yang memberi tahu Anda “A = C”, maka Anda telah mengenkripsi data. Mengetahui bahwa "A = C", Anda kemudian dapat mengetahui bahwa pesan tersebut hanyalah iklan Ovaltine.
Jika seorang peretas membobol sistem dengan data terenkripsi dan mereka berhasil mencuri kunci enkripsi juga, maka kata sandi Anda mungkin juga berupa teks biasa.
Hashing Mengubah Kata Sandi Anda Menjadi Nonsens
Pencirian kata sandi pada dasarnya mengubah kata sandi Anda menjadi string teks yang tidak dapat dipahami. Siapa pun yang melihat hash akan melihat omong kosong. Jika Anda menggunakan “Password123”, hashing mungkin mengubah data menjadi “873kldk # 49lkdfld # 1.” Perusahaan harus mencirikan kata sandi Anda sebelum menyimpannya di mana pun, dengan cara itu perusahaan tidak pernah memiliki catatan kata sandi Anda yang sebenarnya.
Sifat hashing tersebut menjadikannya metode yang lebih baik untuk menyimpan kata sandi Anda daripada enkripsi. Meskipun Anda dapat mendekripsi data yang dienkripsi, Anda tidak dapat "melepaskan" data. Jadi, jika peretas membobol database, mereka tidak akan menemukan kunci untuk membuka kunci data yang di-hash.
Sebaliknya, mereka harus melakukan apa yang dilakukan perusahaan saat Anda mengirimkan sandi. Garam tebakan kata sandi (jika peretas tahu garam apa yang akan digunakan), hash, lalu bandingkan dengan hash pada file untuk kecocokan. Saat Anda mengirimkan sandi ke Google atau Bank Anda, mereka mengikuti langkah-langkah yang sama. Beberapa perusahaan, seperti Facebook, bahkan mungkin menggunakan ekstra "tebakan" untuk menjelaskan kesalahan ketik .
Kelemahan utama hashing adalah, jika dua orang memiliki sandi yang sama, mereka akan mendapatkan hash. Hasil itu disebut tabrakan. Itu alasan lain untuk menambahkan garam yang mengubah dari kata sandi menjadi kata sandi. Kata sandi yang cukup asin dan berciri tidak akan cocok.
Peretas pada akhirnya dapat menerobos data yang di-hash, tetapi ini sebagian besar adalah permainan menguji setiap sandi yang dapat dibayangkan dan mengharapkan kecocokan. Prosesnya masih membutuhkan waktu, yang memberi Anda waktu untuk melindungi diri sendiri.
Yang Dapat Anda Lakukan untuk Menjaga Terhadap Pelanggaran Data
Anda tidak dapat mencegah perusahaan menangani sandi Anda secara tidak benar. Dan sayangnya, ini lebih umum dari yang seharusnya. Meskipun perusahaan benar-benar menyimpan sandi Anda, peretas dapat melanggar sistem perusahaan dan mencuri data yang di-hash.
Mengingat kenyataan itu, Anda tidak boleh menggunakan kembali sandi. Sebaliknya, Anda harus memberikan file kata sandi rumit yang berbeda untuk setiap layanan yang Anda gunakan. Dengan begitu, meskipun penyerang menemukan sandi Anda di satu situs, mereka tidak dapat menggunakannya untuk masuk ke akun Anda di situs lain. Kata sandi yang rumit sangat penting karena semakin mudah kata sandi Anda ditebak, semakin cepat peretas dapat menerobos proses hashing. Dengan membuat sandi lebih rumit, Anda mengulur waktu untuk meminimalkan kerusakan.
Menggunakan kata sandi unik juga meminimalkan kerusakan itu. Paling banyak, peretas akan mendapatkan akses ke satu akun, dan Anda dapat mengubah satu kata sandi dengan lebih mudah daripada lusinan. Kata sandi yang rumit sulit untuk diingat, jadi kami merekomendasikan pengelola kata sandi . Pengelola kata sandi membuat dan mengingat kata sandi untuk Anda, dan Anda dapat menyesuaikannya untuk mengikuti aturan kata sandi di hampir semua situs.
Beberapa seperti LastPass dan 1Password , bahkan menawarkan layanan yang memeriksa apakah kata sandi Anda saat ini dibobol.
Pilihan bagus lainnya adalah aktifkan otentikasi dua langkah . Dengan begitu, meskipun peretas benar-benar membobol kata sandi Anda, Anda mungkin masih mencegah akses tidak sah ke akun Anda.
Meskipun Anda tidak dapat menghentikan perusahaan untuk salah menangani sandi Anda, Anda dapat meminimalkan dampaknya dengan mengamankan sandi dan akun Anda dengan benar.
TERKAIT: Mengapa Anda Harus Menggunakan Pengelola Kata Sandi, dan Cara Memulai