0Pricing
Cryptology Academy · Pelajaran

Konsep MAC & Serangan Perluasan Panjang

Jelaskan mengapa menambahkan awalan rahasia tidak aman terhadap perluasan panjang.

Konsep MAC & Serangan Perluasan Panjang adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

Kode Autentikasi Pesan (MAC) menyediakan integritas dan keaslian dengan kunci rahasia bersama. Dalam pelajaran ini kita memahami MAC, propertinya, dan kerentanan kritis pada pencincangan berkunci naif.

Apa Itu MAC?

MAC adalah kode autentikasi singkat yang dihitung dari pesan dan kunci rahasia. Penerima yang memiliki kunci sama menghitung ulang MAC dan memverifikasinya. Hal ini mencegah pemalsuan tanpa kunci.

MAC vs Pencincangan vs Tanda Tangan

Pencincangan: tanpa kunci, publik, hanya menyediakan integritas. MAC: rahasia bersama, simetris, menyediakan integritas + keaslian. Tanda tangan digital: kunci privat, asimetris, menambahkan nirpenyangkalan. Hanya tanda tangan yang menyediakan nirpenyangkalan.

Ketidakmungkinan Pemalsuan

MAC yang aman harus tidak dapat dipalsukan secara eksistensial di bawah serangan pesan-terpilih (EUF-CMA): penyerang yang dapat meminta MAC untuk pesan apa pun tidak dapat memalsukan MAC yang valid untuk pesan baru yang belum pernah dimintakan sebelumnya.

Pencincangan Berkunci Naif: MAC Awalan

Upaya naif: MAC(K, M) = H(K || M). Tampak aman, tetapi rentan terhadap serangan perluasan panjang pada fungsi pencincangan Merkle-Damgård (SHA-256, SHA-512, MD5).

Serangan Perluasan Panjang

Keadaan SHA-256 setelah mencincang M hanyalah H(M). Dengan mengetahui H(K || M), penyerang dapat menghitung H(K || M || padding || extra) untuk nilai 'extra' apa pun tanpa mengetahui K. Penyerang memperluas pesan untuk menambahkan data baru.

Dampak Praktis Serangan

Flickr (2009): API menggunakan H(K || params). Penyerang menambahkan &api_sig=forgery ke permintaan yang terautentikasi. Akibatnya, panggilan API tanpa otorisasi tampak valid. Ini murni eksploitasi perluasan panjang.

MAC Akhiran Juga Gagal

MAC(K, M) = H(M || K): rentan terhadap serangan luring. Penyerang menghitung H(pesan) tanpa K, lalu menggunakan serangan ulang tahun untuk menemukan M' dengan pencincangan yang sama. Kunci ditambahkan setelah kolisi.

Mengapa HMAC Mengatasinya

HMAC membungkus fungsi pencincangan dua kali dengan bantalan kunci yang berbeda: HMAC(K, M) = H((K⊕opad) || H((K⊕ipad) || M)) Pencincangan bagian dalam menghasilkan H(ipad_key || M). Pencincangan bagian luar membungkusnya dengan opad_key. Perluasan panjang gagal karena penyerang tidak dapat menetapkan keadaan awal pencincangan bagian luar.

SHA-3 dan Perluasan Panjang

SHA-3 menggunakan konstruksi spons, yang secara bawaan kebal terhadap serangan perluasan panjang. H_SHA3(K || M) adalah konstruksi MAC sederhana yang valid. SHA-2 tidak demikian — selalu gunakan HMAC dengan SHA-2.

Serangan Waktu pada Verifikasi MAC

Perbandingan MAC yang berhenti dini (==) membocorkan informasi waktu. Bita pertama yang 'benar' membutuhkan waktu sedikit lebih lama daripada bita pertama yang 'salah'. Setelah 256 kueri: bita 1 ditemukan. 256 kueri lagi: bita 2. MAC lengkap dipulihkan dengan 16×256 kueri.

Pemeriksaan Singkat

Mengapa MAC(K, M) = SHA256(K || M) tidak aman?

Ringkasan

Serangan perluasan panjang menunjukkan alasan pencincangan berkunci naif gagal. Selanjutnya kita mempelajari konstruksi dan pembuktian keamanan HMAC.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Konsep MAC & Serangan Perluasan Panjang” gratis?

Ya — teks lengkap “Konsep MAC & Serangan Perluasan Panjang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Konsep MAC & Serangan Perluasan Panjang”?

Jelaskan mengapa menambahkan awalan rahasia tidak aman terhadap perluasan panjang. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Konsep MAC & Serangan Perluasan Panjang” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konsep MAC & Serangan Perluasan Panjang
  2. Konstruksi HMAC & Pembuktian Keamanan
  3. HMAC dalam API: Penandatanganan Permintaan
  4. CMAC & Poly1305: MAC Berbasis Sandi Blok
← Kembali ke Cryptology Academy