MAC-kemudian-mengenkripsi dalam protokol SIGMA untuk pertukaran kunci yang diautentikasi
The protokol SIGMA diusulkan pada tahun 2003 dan digunakan dalam TLS 1.3 dan IKE singkatan dari "tanda-dan-MAC" dan identitas opsional bisa melindungi menggunakan enkripsi.
Varian SIGMA-I yang diilustrasikan di bawah ini menunjukkan bahwa ia menggunakan pendekatan MAC-lalu-enkripsi:
Sini $\{\dots \}_{K} $ menunjukkan enkripsi informasi antara tanda kurung di bawah fungsi enkripsi simetris menggunakan kunci $K$.
Apakah ada alasan khusus untuk menggunakan MAC-lalu-mengenkripsi daripada mengenkripsi-lalu-MAC untuk protokol pertukaran kunci? Saya tidak dapat menemukan jawaban yang lebih baik daripada yang terlihat sewenang-wenang ketika melihat perbandingan antara MAC-lalu-mengenkripsi dan mengenkripsi-lalu-MAC .
Sunting: RFC 7366 yang ditautkan dalam jawaban terkait ini memberikan beberapa petunjuk bahwa enkripsi-lalu-MAC harus lebih disukai (D) komunikasi TLS (tidak ada yang dikatakan tentang jabat tangan). Secara khusus, itu menyatakan:
TLS dan DTLS menggunakan konstruksi MAC-lalu-enkripsi yang dianggap aman pada saat protokol Secure Socket Layer (SSL) asli ditetapkan pada pertengahan 1990-an, tetapi itu tidak lagi dianggap aman.
Menariknya, H Krawczyk (penulis SIGMA) menulis pada tahun 2001 The Order of Encryption and Authentication for Protecting Communications (atau: How Secure Is SSL?) —Sebelum SIGMA.
Jawaban
Arnaud meminta saya untuk mengklarifikasi masalah ini.
Memang benar bahwa seseorang harus menggunakan mode enkripsi yang diautentikasi atau mengenkripsi-kemudian-MAC, dan makalah tersebut mengatakannya secara eksplisit. Memang, teks penjelasan di kertas mengikuti gambar yang ditunjukkan di atas (Bagian 5.2 darihttps://webee.technion.ac.il/~hugo/sigma-pdf.pdf) mengatasi masalah ini. Ia mengatakan:
Kami menekankan bahwa fungsi enkripsi (seperti yang diterapkan dalam pesan ketiga) harus tahan terhadap serangan aktif dan oleh karena itu harus menggabungkan beberapa bentuk perlindungan integritas. Transformasi kerahasiaan-integritas gabungan seperti yang dari [16] dapat digunakan, atau mode enkripsi konvensional (misalnya CBC) dapat digunakan dengan fungsi MAC yang dihitung di atas ciphertext [3, 26].
Yakni, enkripsi dilambangkan $\{...\}_{K_e}$perlu menggunakan skema enkripsi yang diautentikasi. (Perlunya enkripsi yang diautentikasi juga diulangi dalam Lampiran B yang menunjukkan protokol yang lebih lengkap dalam bentuk SIGMA-R).
Fakta bahwa ada MAC (pada identitas) di bawah enkripsi hanya karena MAC adalah bagian (penting) dari protokol SIGMA dan sama sekali tidak terkait dengan enkripsi (khususnya, diperlukan bahkan jika Anda tidak peduli tentang perlindungan identitas ). Jadi meskipun terlihat seperti "MAC-then encrypt", ini tidak ada hubungannya dengan mode enkripsi ini.
Catatan: Alasan teks mengatakan bahwa enkripsi terautentikasi hanya diperlukan untuk pesan ketiga adalah karena, seperti yang dikatakan di awal paragraf yang sama, SIGMA-I melindungi identitas pemrakarsa dari penyerang aktif dan identitas responden dari pasif penyerang. Jadi mengenkripsi identitas responden hanya membutuhkan keamanan terhadap serangan pasif yang cukup dengan enkripsi yang tidak diautentikasi. Ini benar-benar pernyataan akademis karena dalam praktiknya seseorang akan menggunakan skema enkripsi yang sama untuk kedua aliran, yaitu, enkripsi terotentikasi untuk keduanya.
Ini agak spekulasi, tapi saya akan berasumsi bahwa ini karena cara modular di mana Sigma dirancang. Yakni, ketika Hugo Krawczyk mendesain Sigma, properti keamanan utama yang dia incar adalah keamanan AKE yang pada dasarnya terdiri dari dua hal:
Ketidakmampuan kunci sesi: musuh seharusnya tidak dapat membedakan kunci sesi nyata dari kunci acak; dan
Otentikasi entitas eksplisit (EA): properti yang setelah peserta protokol menyelesaikan menjalankan protokol, dijamin bahwa itu sebenarnya berkomunikasi dengan pihak yang diharapkan, dan bahwa pihak ini memang menghitung kunci sesi yang sama.
Properti EA pada dasarnya adalah langkah konfirmasi utama yang menjamin keaktifan dan otentikasi. Ini dicapai dengan menghitung MAC pada beberapa data protokol, menggunakan kunci$K_m$ diturunkan dari rahasia utama yang sama yang digunakan untuk mendapatkan kunci sesi.
Intinya adalah Anda dapat mencapai keamanan AKE (yaitu, properti 1 dan 2) tanpa enkripsi sama sekali! Memang, ketika Krawczyk membuktikan bahwa Sigma memenuhi keamanan AKE (tidak dapat mengingat makalah ini; akan mencoba menemukannya nanti), dia hanya berasumsi bahwa langkah enkripsi sama sekali tidak ada! (Ia juga melakukan ini dalam makalah OPTLS, yang merupakan pendahulu TLSv1.3).
Seperti yang saya katakan, tujuan keamanan standar untuk sebagian besar protokol pertukaran kunci, sejak makalah asli oleh Bellare dan Rogaway , pada dasarnya semuanya tentang keamanan AKE. Namun, ketika Krawczyk mendesain Sigma, ia juga ingin menambahkan fitur non-standar lainnya, yaitu perlindungan identitas . Tetapi mengingat bahwa dia telah menunjukkan bahwa protokol Sigma tanpa enkripsi mencapai keamanan AKE, itu adalah masalah sederhana menambahkan enkripsi di atasnya untuk juga mendapatkan perlindungan identitas. Jadi: MAC-lalu-Enkripsi.
Tetapi perhatikan bahwa kedua penggunaan MACing dan enkripsi ini agak ortogonal dan melayani tujuan yang berbeda: MAC bagian dalam seharusnya memberikan keamanan EA, sedangkan enkripsi luar seharusnya memberikan perlindungan identitas.
Juga, perhatikan bahwa Sigma biasanya tidak menggunakan Encrypt-kemudian-MAC. Secara khusus, dalam instansiasi Sigma di IKEv2 , enkripsi luar disertai dengan MAC tambahan di luar enkripsi dalam gaya EtM standar. Di IKEv2, kunci MAC bagian dalam dipanggil SK_p*
, kunci enkripsi luar dipanggil SK_e*
dan kunci MAC luar dipanggil SK_a*
( *
adalah salah satu i
atau r
tergantung apakah pesan ini dibuat oleh inisiator atau responder). Selain itu, dalam instansiasi IKEv2 yang lebih baru, enkripsi luar diganti dengan algoritma enkripsi terotentikasi khusus. Dalam hal ini SK_a*
kunci tidak digunakan (dan seluruh pertanyaan EtM menjadi diperdebatkan). Dalam Instansiasi TLSv1.3 dari Sigma hanya enkripsi terotentikasi yang digunakan. Tetapi sekali lagi, perhatikan bahwa di dalam enkripsi (baik itu AE atau EtM), ada MAC bagian dalam yang tujuannya adalah untuk memberikan keamanan EA.