Apa itu HMAC?
HMAC (Hash-Based Message Authentication Code) adalah mekanisme kriptografi yang menggabungkan fungsi hash kriptografi dengan kunci rahasia untuk menghasilkan kode autentikasi berukuran tetap, memungkinkan penerima memverifikasi integritas dan keaslian pesan.
Juga dikenal sebagai: Hash-Based Message Authentication Code, HMAC-SHA256
Fungsi hash biasa seperti SHA-256 dapat memverifikasi integritas data — jika hash cocok, data tidak diubah. Namun hash saja tidak dapat memverifikasi keaslian, karena siapa pun dapat menghitung hash. HMAC memecahkan ini dengan memasukkan kunci rahasia ke dalam proses hashing. Hanya pihak yang memiliki kunci yang dapat menghasilkan atau memverifikasi nilai HMAC yang benar, memberikan integritas dan autentikasi dalam satu operasi.
Konstruksi HMAC, yang didefinisikan dalam RFC 2104, menerapkan fungsi hash dua kali dengan kunci yang dicampurkan pada tahap tertentu. Struktur dua-lintasan ini melindungi dari serangan length extension dan kerentanan lain yang akan muncul dari penggabungan kunci dengan pesan secara naif sebelum hashing. HMAC-SHA256 (HMAC menggunakan SHA-256 sebagai hash yang mendasarinya) adalah varian yang paling umum dan menghasilkan kode autentikasi 256-bit.
HMAC digunakan secara ekstensif di seluruh protokol keamanan: tanda tangan JWT, autentikasi API, verifikasi webhook, perlindungan catatan TLS, dan OAuth semuanya mengandalkan HMAC. Efisiensinya membuatnya praktis untuk mengautentikasi data volume tinggi seperti paket jaringan atau permintaan API, di mana skema tanda tangan asimetris akan memperkenalkan latensi yang tidak dapat diterima.
Sign a message with HMAC-SHA256
Edit either the key or the message and watch the signature change completely — the avalanche effect that makes HMAC forgery-resistant.
computing…
A verifier with the same key recomputes the HMAC over the received message; if it matches, the message was authored by someone who knows the key andwasn't modified in transit. Vaulted uses this exact construction to issue tamper-proof status-page tokens.
Cara Vaulted menggunakan HMAC
Vaulted menggunakan HMAC-SHA256 untuk menghasilkan token aman untuk halaman status rahasia. Saat rahasia dibuat, HMAC dihitung atas ID rahasia menggunakan kunci sisi server. Token HMAC ini disertakan dalam URL halaman status, memungkinkan pembuat rahasia memeriksa apakah rahasianya sudah dilihat atau sudah kedaluwarsa — tanpa memberi endpoint status cara untuk menggunakan tampilan atau mengakses konten terenkripsi. HMAC juga digunakan secara internal oleh PBKDF2 sebagai fungsi pseudorandomnya saat menurunkan kunci dari passphrase.