Cryptology Academy · Pelajaran

Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt

Pahami alasan kriptografis untuk menggabungkan enkripsi dan autentikasi dalam urutan yang tepat.

Pelajaran 1 dari 413 langkah

Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt 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.

Tiga Urutan Komposisi

Saat enkripsi dan MAC digabungkan, terdapat tiga urutan: Enkripsi lalu MAC (EtM), MAC lalu Enkripsi (MtE), serta Enkripsi dan MAC (E&M). Masing-masing memiliki sifat keamanan yang sangat berbeda, dan hanya satu yang terbukti aman dalam semua situasi.

Definisi Enkripsi lalu MAC

Dalam Enkripsi lalu MAC, teks biasa terlebih dahulu dienkripsi untuk menghasilkan teks sandi, kemudian MAC dihitung atas teks sandi tersebut. Penerima dapat memverifikasi MAC sebelum mencoba melakukan dekripsi, sehingga pesan yang telah diubah langsung ditolak tanpa membocorkan informasi.

Definisi MAC lalu Enkripsi

Dalam MAC lalu Enkripsi, MAC dihitung atas teks biasa, kemudian teks biasa dan MAC dienkripsi bersama. Penerima harus mendekripsi pesan sebelum dapat memverifikasi MAC, sehingga membuka peluang bagi serangan orakel pengisian dan orakel dekripsi.

Cacat SSL 3.0 dan TLS 1.0

SSL 3.0 dan TLS 1.0 menggunakan urutan MAC lalu Enkripsi untuk sandi blok dalam mode CBC. Cacat desain ini dieksploitasi oleh serangan BEAST pada 2011 dan serangan POODLE pada 2014. Keduanya memanfaatkan orakel yang ada ketika dekripsi dilakukan sebelum verifikasi MAC.

Pembuktian Bellare-Namprempre

Pada 2000, Bellare dan Namprempre membuktikan secara formal bahwa di antara tiga urutan komposisi, hanya Enkripsi lalu MAC yang mencapai keamanan IND-CCA2 (keamanan terhadap teks sandi terpilih) untuk semua kombinasi enkripsi aman dan primitif MAC. MtE dan E&M dapat gagal pada komposisi tertentu.

Enkripsi dan MAC dalam SSH

SSH menggunakan Enkripsi dan MAC: MAC dihitung atas teks biasa dan dikirim bersama teks sandi dalam bentuk teks biasa. Meskipun SSH tidak mengalami eksploitasi yang sama seperti MtE pada SSL/TLS, komposisi ini juga cacat secara teoretis karena dapat membocorkan informasi teks biasa melalui MAC yang tidak dienkripsi.

AEAD sebagai Abstraksi yang Aman

Enkripsi Terautentikasi dengan Data Terkait (AEAD) adalah abstraksi modern yang mengatasi masalah komposisi sejak awal perancangan. AEAD menggabungkan enkripsi dan autentikasi dalam satu primitif, sehingga keduanya selalu digabungkan dengan benar tanpa mengharuskan pengembang memilih urutan komposisi.

AES-GCM: Standar AEAD

AES-GCM (Mode Galois/Pencacah) adalah sandi AEAD yang paling banyak diterapkan. Sandi ini menyediakan enkripsi terautentikasi melalui kombinasi enkripsi mode CTR dan autentikasi GHASH, serta dipercepat oleh perangkat keras melalui instruksi AES-NI dan CLMUL pada CPU modern.

TLS 1.3 Hanya Mewajibkan AEAD

TLS 1.3 secara tegas meninggalkan pendekatan lama dengan menghapus semua kumpulan sandi non-AEAD. Setiap kumpulan sandi TLS 1.3 menggunakan AEAD, sehingga menghilangkan seluruh kategori kerentanan yang disebabkan oleh penggabungan manual primitif enkripsi dan MAC secara tidak tepat, yang banyak menimbulkan masalah pada versi TLS sebelumnya.

Jangan Menggabungkan Primitif Secara Manual

Pelajaran utama dari serangan kriptografis selama puluhan tahun adalah bahwa penggabungan manual primitif enkripsi dan MAC rentan terhadap kesalahan, bahkan bagi para ahli. Pustaka kriptografi modern menyediakan antarmuka AEAD secara khusus untuk mencegah pengembang melakukan kesalahan komposisi yang dapat menimbulkan kerentanan di dunia nyata.

Panduan Praktis

Saat membangun sistem saat ini, selalu gunakan primitif AEAD seperti AES-GCM atau ChaCha20-Poly1305. Jika Anda harus beroperasi bersama sistem lama yang menggunakan MAC dan enkripsi terpisah, pastikan Anda menggunakan urutan Enkripsi lalu MAC dan jangan pernah menggunakan MtE atau E&M.

Pemeriksaan EtM vs MtE

Pernyataan mana yang dengan tepat menjelaskan perbedaan keamanan antara Enkripsi lalu MAC dan MAC lalu Enkripsi?

Rangkuman Pelajaran: Urutan Komposisi Itu Penting

EtM adalah satu-satunya urutan komposisi yang terbukti aman untuk primitif enkripsi dan MAC yang terpisah. TLS 1.3 menghilangkan masalah ini sepenuhnya dengan mewajibkan kumpulan sandi yang hanya menggunakan AEAD. Jika ragu, gunakan primitif AEAD seperti AES-GCM atau ChaCha20-Poly1305 dan biarkan pustaka menangani komposisi dengan benar.

Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt” gratis?

Ya — teks lengkap “Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt” 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 “Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt”?

Pahami alasan kriptografis untuk menggabungkan enkripsi dan autentikasi dalam urutan yang tepat. 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 “Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt” 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. Mengapa Encrypt-Then-MAC Lebih Unggul daripada MAC-Then-Encrypt
  2. Mode SIV: AEAD yang Tahan terhadap Penyalahgunaan Nonce
  3. AEGIS: Enkripsi Terautentikasi Berkecepatan Tinggi
  4. Memilih AEAD untuk Sistem Produksi
← Kembali ke Cryptology Academy