Dalam dunia digital yang semakin berkembang, keamanan informasi menjadi perhatian utama bagi perusahaan dan pengguna individual. Salah satu elemen kunci dari keamanan informasi adalah cara penyimpanan kata sandi atau password. Kata sandi adalah kunci akses yang melindungi data sensitif pengguna, dan cara penyimpanannya sangat penting untuk mencegah akses tidak sah. Salah satu praktik umum adalah menyimpan kata sandi dalam bentuk hash, bukan dalam bentuk terenkripsi. Artikel ini akan menjelaskan mengapa kata sandi disimpan dalam bentuk hash daripada terenkripsi, dan keuntungan keamanan yang diberikan oleh pendekatan ini.

Apa itu Hash?

Sebelum kita memahami mengapa kata sandi disimpan dalam bentuk hash, penting untuk memahami apa itu hash. Hash adalah fungsi matematika yang mengonversi data apa pun menjadi nilai unik yang sesuai dengan panjang tetap. Ini berarti bahwa meskipun data yang dimasukkan ke dalam fungsi hash dapat bervariasi dalam ukuran, keluaran yang dihasilkan akan selalu memiliki panjang tetap. Salah satu karakteristik utama dari fungsi hash adalah bahwa sama sekali tidak mungkin untuk mengembalikan data asli dari nilai hash yang dihasilkan.

Keamanan Kata Sandi

Kata sandi yang disimpan dalam bentuk terenkripsi dapat menjadi kerentanan keamanan. Ini karena enkripsi adalah proses yang dapat dibalik; dengan kata lain, jika seseorang memiliki kunci enkripsi yang benar, mereka dapat mendekripsi kata sandi dan mendapatkan akses ke data yang dilindungi. Hal ini meningkatkan risiko pencurian data jika kunci enkripsi tersebut diretas atau dicuri oleh pihak yang tidak berwenang.

Keuntungan Hashing

Pendekatan yang lebih aman adalah dengan menggunakan fungsi hash untuk menyimpan kata sandi. Ketika seorang pengguna membuat atau mengubah kata sandi, sistem menyandikan kata sandi tersebut menggunakan fungsi hash dan menyimpan nilai hash yang dihasilkan. Ketika pengguna mencoba untuk masuk, kata sandi yang dimasukkan akan di-hash dan nilai hash yang dihasilkan akan dibandingkan dengan nilai hash yang disimpan dalam basis data.

Salah satu keuntungan utama dari pendekatan ini adalah bahwa tidak ada cara untuk mengembalikan kata sandi asli dari nilai hash yang disimpan. Bahkan jika nilai hash tersebut diperoleh oleh pihak yang tidak berwenang, mereka tidak akan dapat mengonversikannya kembali menjadi kata sandi yang sebenarnya. Ini memberikan tingkat keamanan yang jauh lebih tinggi daripada penyimpanan kata sandi dalam bentuk terenkripsi.

Perlindungan Terhadap Serangan

Selain itu, menggunakan hash juga melindungi terhadap serangan pencocokan mundur (reverse lookup attacks). Dalam serangan pencocokan mundur, penyerang mencoba menggunakan berbagai kata sandi untuk menghasilkan nilai hash yang kemudian dibandingkan dengan nilai hash yang disimpan dalam basis data. Namun, karena fungsi hash tidak dapat dibalik, penyerang tidak akan dapat mengetahui kata sandi asli bahkan jika mereka berhasil menghasilkan nilai hash yang sama.

Keamanan Tambahan dengan Salt

Untuk meningkatkan keamanan, seringkali digunakan teknik yang disebut “salt”. Salt adalah nilai acak yang ditambahkan ke kata sandi sebelum di-hash. Ini berarti bahkan jika dua pengguna memiliki kata sandi yang sama, nilai hash yang dihasilkan akan berbeda karena salt yang digunakan. Dengan demikian, menggunakan salt dapat mengurangi kemungkinan serangan dengan kata sandi yang sudah di-hash sebelumnya.

Kesimpulan

Dalam dunia digital yang rentan terhadap ancaman keamanan, penting bagi perusahaan dan pengguna individual untuk mengambil langkah-langkah yang tepat untuk melindungi informasi sensitif. Salah satu langkah penting adalah cara penyimpanan kata sandi. Dengan menyimpan kata sandi dalam bentuk hash, daripada terenkripsi, pengguna dapat menikmati tingkat keamanan yang lebih tinggi karena tidak mungkin untuk mengembalikan kata sandi asli dari nilai hash yang disimpan. Dengan demikian, penggunaan fungsi hash untuk menyimpan kata sandi adalah praktik yang direkomendasikan dalam upaya menjaga keamanan informasi.

Image by storyset on Freepik

Leave a Reply

Your email address will not be published. Required fields are marked *