Back to IF4020 Kriptografi

Konsep MAC

Questions/Cues

  • Apa itu MAC dan apa bedanya dengan fungsi hash biasa?
  • Mengapa hash biasa tidak cukup untuk melawan penyerang aktif?
  • Layanan apa yang diberikan MAC, dan layanan apa yang tidak?
  • Kapan MAC dipakai, dan mengapa MAC bukan tanda tangan digital?
  • Apa persyaratan algoritma MAC?

Reference Points

  • IF4020 Kriptografi — MAC (Slides 2-10)

Definisi

MAC (Message Authentication Code) adalah kode kecil berukuran tetap yang dihasilkan dari pesan dan kunci untuk mengotentikasi pengirim dan otentikasi (keaslian) pesan:

= algoritma MAC, = kunci rahasia, = pesan. Nama lain: Message Integrity Code (MIC).

MAC vs Fungsi Hash Biasa

Message digest (hash)MAC
Rumus
Kuncitidak butuhbutuh kunci
Siapa yang bisa menghitungsiapa punhanya yang tahu

Cara Kerja

MAC dilekatkan (embed) pada pesan sebagai “signature”. Penerima menghitung MAC dari pesan yang diterima dengan kunci yang sama. Bila MAC yang dikirim sama dengan MAC hitungan penerima, pesan disimpulkan asli dan pengirim benar, karena hanya diketahui pengirim dan penerima.

sequenceDiagram
    participant S as Pengirim (kunci K)
    participant R as Penerima (kunci K)
    S->>S: MAC = C_K(M)
    S->>R: M + MAC
    R->>R: MAC' = C_K(M diterima)
    R->>R: MAC' = MAC ? asli : palsu

Ilustrasi pada slide 1 dan 4 (Gambar 9.3 dan 3.1): pengirim menghitung MAC dari pesan dengan kunci lalu melekatkannya di akhir pesan (plaintext with MAC); penerima menjalankan algoritma MAC yang sama dengan kunci yang sama atas pesan yang diterima, lalu membandingkan hasilnya dengan MAC yang melekat.

Kegunaan MAC

1. Menjaga integritas pesan (seperti message digest, cryptographic checksum). Namun bila hanya memakai hash biasa (mis. SHA), lawan dapat mengubah dokumen, menghitung digest baru, dan menggantikan nilai hash lama (contoh: peretas mengganti berkas unduhan sekaligus nilai MD5-nya; pengunduh tidak menyadarinya; slide 6 menunjukkan halaman unduhan Tucows untuk Norton AntiVirus 2010 yang mencantumkan MD5 HASH CE0F5F1BF0F165465BE97BAEB4BD940C, yang dapat diganti peretas bersama berkasnya). Dengan MAC, lawan tidak bisa melakukannya karena tidak tahu kunci .

2. Mengotentikasi pengirim. Hanya pengirim dan penerima yang tahu . Bila kunci pengirim tidak sama dengan kunci penerima, MAC hitungan penerima pasti tidak cocok dengan MAC pada pesan.

Kapan Memakai MAC?

  • Bila yang dibutuhkan hanya otentikasi pesan dan pengirim, bukan kerahasiaan.
  • Bila digabung dengan enkripsi, kunci enkripsi dan kunci MAC dipisah.
  • MAC dapat dihitung sesudah atau sebelum pesan dienkripsi; umumnya lebih baik dihitung sebelum dienkripsi (menurut slide).
  • MAC bukan tanda tangan digital: ia tidak menyediakan nir-penyangkalan (non-repudiation), sebab penerima juga memegang sehingga bisa membuat MAC yang sama (Konsep Tanda-tangan Digital).

Persyaratan Algoritma MAC

MAC adalah fungsi banyak-ke-satu (banyak pesan dapat memiliki MAC sama), tetapi menemukannya harus sangat sulit:

  1. Diberi pesan dan MAC, sangat sukar menemukan pesan lain dengan MAC sama.
  2. MAC berbagai pesan terdistribusi uniform.
  3. MAC bergantung merata pada semua bit pesan.

Summary

MAC adalah kode berukuran tetap hasil , fungsi dari pesan dan kunci rahasia, yang dilekatkan pada pesan untuk memeriksa keaslian pesan dan mengotentikasi pengirim. Berbeda dari hash biasa (, tanpa kunci), MAC butuh kunci, sehingga lawan tidak dapat mengganti pesan sekaligus MAC-nya. MAC dipakai bila yang dibutuhkan hanya otentikasi (bukan kerahasiaan); jika digabung enkripsi, kunci dipisah. MAC bukan tanda tangan digital karena tidak memberi non-repudiation (kunci dipegang kedua pihak). Persyaratannya: sulit menemukan pesan lain ber-MAC sama, distribusi uniform, dan bergantung pada semua bit pesan.