Kode Autentikasi Pesan (MAC)

Primitif MAC memungkinkan Anda memverifikasi bahwa tidak ada yang mengutak-atik data Anda. Pengirim yang berbagi kunci simetris dengan penerima dapat menghitung tag autentikasi untuk pesan tertentu, yang memungkinkan penerima memverifikasi bahwa pesan berasal dari pengirim yang diharapkan dan belum diubah.

MAC memiliki beberapa properti berikut:

  • Keaslian: Mengetahui kunci adalah satu-satunya cara untuk membuat tag MAC yang dapat diverifikasi.
  • Simetris: Komputasi dan verifikasi tag memerlukan kunci yang sama.

MAC dapat bersifat deterministik atau diacak, tergantung pada algoritmanya. Tink tidak menerapkan algoritma MAC non-deterministik saat ini. Anda sebaiknya menggunakan MAC hanya untuk autentikasi pesan, bukan untuk tujuan lain seperti pembuatan byte pseudorandom (untuk itu, lihat PRF).

Jika Anda memerlukan primitif asimetris, lihat Tanda Tangan Digital.

Pilih jenis kunci

Sebaiknya gunakan HMAC_SHA256 untuk sebagian besar penggunaan, tetapi juga ada opsi lainnya.

Secara umum, hal berikut berlaku:

  • HMAC_SHA512 mungkin lebih cepat atau mungkin tidak, tergantung pada ukuran pesan Anda dan spesifikasi hardware yang Anda gunakan.
  • HMAC_SHA512 adalah mode paling konservatif yang dapat digunakan untuk jumlah pesan yang hampir tidak terbatas.
  • AES256_CMAC adalah yang tercepat pada sistem yang mendukung akselerasi hardware AES-NI.

Jaminan keamanan minimal

  • Kekuatan autentikasi minimal 80-bit
  • Aman dari pemalsuan eksistensial dalam serangan teks biasa yang dipilih
  • Keamanan minimal 128-bit terhadap serangan pemulihan kunci, dan juga dalam skenario multi-pengguna (saat penyerang tidak menargetkan kunci tertentu, tetapi kunci apa pun dari kumpulan hingga 232 kunci)

Contoh kasus penggunaan

Lihat Saya ingin melindungi data dari modifikasi tidak sah.