Admin 03 Jun 2026 00:01

 

Apa Itu Hashing dalam Keamanan Data?

Pengertian Hashing

Hashing adalah proses mengubah data berukuran berapa pun menjadi nilai string tetap (biasanya dalam bentuk heksadesimal) menggunakan fungsi hash. Nilai hasil tersebut disebut hash, digest, atau fingerprint. Karena fungsi hash dirancang sedemikian rupa, perubahan sekecil apa pun pada data sumber akan menghasilkan hash yang sangat berbeda.

Ciri-ciri Fungsi Hash Kriptografik

  • Deterministik: Input yang sama selalu menghasilkan output yang sama.
  • Berukuran tetap: Tidak peduli panjang data asli, hash selalu memiliki panjang tetap (misalnya 256 bit untuk SHA 256).
  • Pre image resistance: Sulit (hampir tidak mungkin) menemukan data asal bila hanya diberikan hash nya.
  • Second pre image resistance: Sulit menemukan data lain yang menghasilkan hash yang sama dengan data tertentu.
  • Collision resistance: Sangat sulit menemukan dua data berbeda yang menghasilkan hash identik.

Bagaimana Hashing Digunakan dalam Keamanan Data

Berikut adalah beberapa aplikasi utama hashing dalam bidang keamanan:

  1. Penyimpanan password: Alih alih menyimpan password dalam teks jelas, server menyimpan hash password. Saat pengguna login, password yang dimasukkan di hash dan dibandingkan dengan hash yang tersimpan.
  2. Verifikasi integritas: File atau pesan dapat disertakan nilai hash-nya. Penerima dapat menghitung kembali hash dan membandingkannya untuk memastikan tidak ada perubahan.
  3. Digital signature: Sebelum menandatangani, isi dokumen di hash dulu, kemudian hash tersebut yang dienkripsi dengan kunci privat penanda tangan.
  4. Pengindeksan data: Hash memungkinkan pencarian cepat dalam struktur data seperti hash table.

Contoh Algoritma Hash Populer

  • MD5 (Message Digest Algorithm 5) 128 bit, tidak lagi dianggap aman untuk keperluan kriptografis.
  • SHA 1 160 bit, juga sudah tidak direkomendasikan karena rentan benturan.
  • SHA 256 256 bit, bagian dari keluarga SHA 2, masih aman dan banyak dipakai.
  • SHA 3 standar terbaru, dirancang dengan struktur sponge yang berbeda.
  • Bcrypt, Argon2 fungsi hash khusus password yang menambahkan faktor work factor (meningkatkan waktu komputasi) untuk melawan serangan brute force.

Langkah-langkah Implementasi Hashing untuk Password

 1. Pilih algoritma yang dirancang khusus untuk password (bcrypt, scrypt, Argon2). 2. Tambahkan salt unik untuk tiap pengguna (biasanya 16 32 byte acak). 3. Tentukan cost factor (misalnya 12 untuk bcrypt) agar proses hashing memakan waktu beberapa ratus milidetik. 4. Simpan hasil hash bersama salt dan cost factor di basis data. 5. Pada login, ambil salt & cost factor, hash password yang dimasukkan, lalu bandingkan dengan hash yang tersimpan. 
Catatan: Jangan pernah menggunakan MD5 atau SHA 1 untuk menyimpan password, karena keduanya mudah di crack dengan tabel rainbow.

Kelemahan dan Serangan Umum

Walaupun kuat, fungsi hash tetap dapat menjadi target serangan:

  • Serangan tabrakan (collision attack): Mencari dua input berbeda yang menghasilkan hash sama.
  • Serangan pre image: Mencoba menemukan input yang menghasilkan hash tertentu.
  • Serangan kamus & rainbow table: Menggunakan tabel pra hitungan hash plaintext untuk membalikkan hash. Penggunaan salt efektif melawan hal ini.
  • Side channel attack: Mengamati waktu atau konsumsi daya selama proses hashing untuk menebak informasi.

Praktik Terbaik

  1. Gunakan algoritma hash yang sudah teruji (SHA 256 ke atas, atau fungsi khusus password).
  2. Selalu tambahkan salt unik dan acak.
  3. Untuk password, gunakan fungsi yang memperlambat proses (bcrypt, Argon2) dan sesuaikan cost factor secara periodik.
  4. Jangan menggabungkan hash dengan enkripsi secara sembarangan; keduanya melayani tujuan berbeda.
  5. Lakukan audit rutin pada algoritma yang dipakai dan perbarui bila standar keamanan berubah.

Kesimpulan

Hashing merupakan tulang punggung banyak mekanisme keamanan data modern. Dengan menghasilkan nilai tetap yang unik untuk setiap input, hashing membantu melindungi password, menjamin integritas data, dan mendukung tanda tangan digital. Memilih algoritma yang tepat, menambahkan salt, serta menerapkan kebijakan pembaruan secara berkala adalah kunci agar hashing tetap efektif melawan ancaman yang terus berkembang.

Untuk informasi lebih lanjut, kunjungi RFC dan standar IETF atau dokumentasi resmi masing masing algoritma.

Apa Itu API Dan Bagaimana Cara Kerjanya?

1750844281.jpg
Admin
1 week ago

Apa Itu Vulnerability Assessment?

1750844281.jpg
Admin
1 week ago

Apa Itu SSL Dan TLS?

1750844281.jpg
Admin
1 week ago

Apa Itu GPU Computing?

1750844281.jpg
Admin
1 week ago

Apa Itu Event-Driven Architecture?

1750844281.jpg
Admin
1 week ago