SHA, HMAC, dan AES dalam IT Security
Pendahuluan
Dalam dunia keamanan IT, terdapat berbagai teknik dan algoritma yang digunakan untuk memastikan integritas, autentikasi, dan kerahasiaan data.
Tiga metode yang sering digunakan adalah SHA (Secure Hash Algorithm), HMAC (Hash-based Message Authentication Code), dan AES (Advanced Encryption Standard).
Meskipun ketiganya memiliki tujuan dalam keamanan, mereka digunakan untuk fungsi yang berbeda.
1. SHA (Secure Hash Algorithm)
SHA adalah algoritma hashing yang digunakan untuk menghasilkan nilai hash dari suatu data.
Hash adalah representasi unik dari data dengan panjang tetap yang dihasilkan melalui fungsi hash.
✅ Fungsi Utama
- Menghasilkan sidik jari (fingerprint) dari data.
- Memastikan integritas data dengan mendeteksi perubahan kecil pada data asli.
- Digunakan dalam tanda tangan digital dan verifikasi integritas file.
✅ Karakteristik
- SHA bersifat satu arah (one-way), artinya tidak dapat dikembalikan ke bentuk asli.
- Umumnya digunakan dalam berbagai versi, seperti SHA-1 (tidak direkomendasikan lagi), SHA-256, dan SHA-512.
✅ Contoh Penggunaan
- Penyimpanan password dalam bentuk hash pada database.
- Verifikasi integritas file dalam komunikasi jaringan.
2. HMAC (Hash-based Message Authentication Code)
HMAC adalah metode autentikasi yang menggunakan fungsi hash (misalnya SHA-256) bersama dengan kunci rahasia untuk memastikan bahwa pesan tidak diubah oleh pihak yang tidak berwenang.
✅ Fungsi Utama
- Memberikan integritas dan autentikasi pesan.
- Memastikan bahwa pengirim pesan adalah pihak yang sah.
- Lebih aman dibandingkan hanya menggunakan hashing karena adanya kunci rahasia.
✅ Karakteristik
- Menggunakan kombinasi fungsi hash dan kunci rahasia.
- Digunakan dalam banyak protokol keamanan seperti TLS, IPSec, dan JWT.
✅ Contoh Penggunaan
- Autentikasi pesan dalam komunikasi API menggunakan JSON Web Token (JWT).
- Keamanan dalam komunikasi jaringan (misalnya VPN, HTTPS).
3. AES (Advanced Encryption Standard)
AES adalah algoritma enkripsi yang digunakan untuk menyandikan data sehingga hanya pihak yang memiliki kunci dekripsi yang dapat membacanya.
✅ Fungsi Utama
- Menyediakan kerahasiaan data dengan menyandikannya menggunakan kunci enkripsi.
- Digunakan untuk mengenkripsi data dalam berbagai tingkat keamanan.
Mendukung enkripsi dengan panjang kunci 128-bit, 192-bit, dan 256-bit.
✅ Karakteristik
- Berbeda dengan SHA dan HMAC yang hanya melindungi integritas, AES melindungi kerahasiaan data.
- Bersifat dua arah (two-way), artinya data yang telah dienkripsi dapat didekripsi kembali.
Banyak digunakan dalam penyimpanan data, komunikasi terenkripsi, dan keamanan perangkat keras.
✅ Contoh Penggunaan
- Enkripsi data dalam penyimpanan cloud.
- Keamanan komunikasi dalam protokol seperti SSL/TLS.
- Pengamanan file dengan enkripsi disk penuh (full disk encryption).
4. Alternatif dan Teknik Keamanan Lainnya
Selain SHA, HMAC, dan AES, terdapat beberapa teknik keamanan lain yang sering digunakan:
✅ RSA (Rivest-Shamir-Adleman)
Algoritma kriptografi asimetris yang digunakan untuk enkripsi dan tanda tangan digital.
Digunakan dalam protokol keamanan seperti SSL/TLS dan PGP.
✅ ECC (Elliptic Curve Cryptography)
Alternatif RSA dengan tingkat keamanan yang sama tetapi menggunakan ukuran kunci lebih kecil.
Digunakan dalam kriptografi modern untuk efisiensi lebih tinggi.
✅ PBKDF2 (Password-Based Key Derivation Function 2)
Digunakan untuk meningkatkan keamanan penyimpanan password dengan memperlambat proses hashing.
✅ Two-Factor Authentication (2FA)
Sistem autentikasi tambahan yang menggunakan faktor kedua (misalnya OTP atau autentikasi biometrik) untuk meningkatkan keamanan akun pengguna.
Perbandingan SHA, HMAC, dan AES
Algoritma | Tujuan | Sifat | Penggunaan Umum |
---|---|---|---|
SHA | Integritas data | Satu arah (one-way) | Hashing password, verifikasi file |
HMAC | Integritas & autentikasi | Satu arah dengan kunci | Autentikasi API, keamanan jaringan |
AES | Kerahasiaan data | Dua arah (two-way) | Enkripsi data, komunikasi aman |