Serangan kriptografi: penjelasan untuk fikiran yang keliru

Apabila anda mendengar perkataan "kriptografi", sesetengah orang mengingati kata laluan WiFi mereka, gembok hijau di sebelah alamat tapak web kegemaran mereka dan betapa sukarnya untuk masuk ke e-mel orang lain. Orang lain mengingati beberapa siri kelemahan dalam beberapa tahun kebelakangan ini dengan menceritakan singkatan (DROWN, FREAK, PODLE...), logo bergaya dan amaran untuk mengemas kini penyemak imbas anda dengan segera.

Kriptografi merangkumi semuanya, tetapi intipati dalam yang lain. Intinya adalah terdapat garis halus antara mudah dan kompleks. Sesetengah perkara mudah dilakukan, tetapi sukar untuk disatukan semula, seperti memecahkan telur. Perkara lain mudah dilakukan tetapi sukar untuk dikembalikan apabila bahagian yang kecil, penting dan penting hilang: contohnya, membuka pintu berkunci apabila "bahagian penting" adalah kuncinya. Kriptografi mengkaji situasi ini dan bagaimana ia boleh digunakan dalam amalan.

Dalam beberapa tahun kebelakangan ini, koleksi serangan kriptografi telah bertukar menjadi zoo logo yang mencolok, dipenuhi dengan formula daripada kertas saintifik, dan menimbulkan perasaan suram umum bahawa segala-galanya rosak. Tetapi sebenarnya, kebanyakan serangan adalah berdasarkan beberapa prinsip umum, dan halaman formula yang tidak berkesudahan sering disimpulkan kepada idea yang mudah difahami.

Dalam siri artikel ini, kita akan melihat pelbagai jenis serangan kriptografi, dengan penekanan pada prinsip asas. Secara umum dan bukan dalam susunan ini, tetapi kami akan meliputi perkara berikut:

  • Strategi asas: kekerasan, analisis frekuensi, interpolasi, penurunan taraf dan protokol silang.
  • Kerentanan berjenama: GILA, JENAYAH, PODLE, LEMAS, Logjam.
  • Strategi Lanjutan: serangan oracle (serangan Vodenet, serangan Kelsey); kaedah meet-in-the-middle, serangan hari lahir, bias statistik (kriptanalisis pembezaan, analisis kriptografi integral, dsb.).
  • Serangan saluran sampingan dan saudara terdekat mereka, kaedah analisis kegagalan.
  • Serangan terhadap kriptografi kunci awam: akar kiub, siaran, mesej berkaitan, serangan Coppersmith, algoritma Pohlig-Hellman, penapis nombor, serangan Wiener, serangan Bleichenbacher.

Artikel khusus ini merangkumi bahan di atas sehingga serangan Kelsey.

Strategi Asas

Serangan berikut adalah mudah dalam erti kata bahawa ia boleh dijelaskan hampir sepenuhnya tanpa banyak butiran teknikal. Mari kita terangkan setiap jenis serangan dalam istilah yang paling mudah, tanpa pergi ke contoh yang rumit atau kes penggunaan lanjutan.

Sebahagian daripada serangan ini sebahagian besarnya telah menjadi usang dan tidak digunakan selama bertahun-tahun. Yang lain adalah orang lama yang masih kerap menyelinap pada pembangun sistem kripto yang tidak curiga pada abad ke-21. Era kriptografi moden boleh dianggap telah bermula dengan kemunculan IBM DES, sifir pertama yang menahan semua serangan dalam senarai ini.

Kuasa kasar yang mudah

Serangan kriptografi: penjelasan untuk fikiran yang keliruSkim penyulitan terdiri daripada dua bahagian: 1) fungsi penyulitan, yang mengambil mesej (teks biasa) digabungkan dengan kunci, dan kemudian mencipta mesej yang disulitkan - teks sifir; 2) fungsi penyahsulitan yang mengambil teks sifir dan kunci dan menghasilkan plaintext. Kedua-dua penyulitan dan penyahsulitan mestilah mudah dikira dengan kunciβ€”dan sukar untuk dikira tanpanya.

Katakan kita melihat teks sifir dan cuba menyahsulitnya tanpa sebarang maklumat tambahan (ini dipanggil serangan siferteks sahaja). Jika kita entah bagaimana secara ajaib mencari kunci yang betul, kita boleh dengan mudah mengesahkan bahawa ia memang betul jika hasilnya adalah mesej yang munasabah.

Ambil perhatian bahawa terdapat dua andaian tersirat di sini. Pertama, kita tahu cara melakukan penyahsulitan, iaitu bagaimana sistem kripto berfungsi. Ini adalah andaian standard apabila membincangkan kriptografi. Menyembunyikan butiran pelaksanaan sifir daripada penyerang mungkin kelihatan seperti langkah keselamatan tambahan, tetapi sebaik sahaja penyerang mengetahui butiran ini, keselamatan tambahan ini hilang secara senyap-senyap dan tidak dapat dipulihkan. begitulah caranya Prinsip Kerchoffs: Sistem yang jatuh ke tangan musuh tidak seharusnya menyusahkan.

Kedua, kami menganggap bahawa kunci yang betul adalah satu-satunya kunci yang akan membawa kepada penyahsulitan yang munasabah. Ini juga merupakan andaian yang munasabah; ia berpuas hati jika teks sifir lebih panjang daripada kunci dan boleh dibaca. Ini biasanya yang berlaku di dunia nyata, kecuali kunci tidak praktikal yang besar atau kecurangan lain yang sebaiknya diketepikan (jika anda tidak suka bahawa kami telah melangkau penjelasan, sila lihat Teorem 3.8 di sini).

Memandangkan perkara di atas, satu strategi timbul: semak setiap kunci yang mungkin. Ini dipanggil kekerasan, dan serangan sedemikian dijamin akan berkesan terhadap semua sifir praktikal - akhirnya. Contohnya, kekerasan sudah cukup untuk menggodam sifir Caesar, sifir purba yang kuncinya ialah satu huruf abjad, membayangkan lebih daripada 20 kemungkinan kunci.

Malangnya untuk cryptanalysts, meningkatkan saiz kunci adalah pertahanan yang baik terhadap kekerasan. Apabila saiz kunci bertambah, bilangan kekunci yang mungkin meningkat secara eksponen. Dengan saiz kunci moden, kekerasan mudah adalah tidak praktikal sama sekali. Untuk memahami apa yang kami maksudkan, mari kita ambil komputer super yang paling cepat diketahui pada pertengahan 2019: Sidang Kemuncak daripada IBM, dengan prestasi puncak kira-kira 1017 operasi sesaat. Hari ini, panjang kunci biasa ialah 128 bit, yang bermaksud 2128 kombinasi yang mungkin. Untuk mencari melalui semua kunci, superkomputer Summit memerlukan masa yang kira-kira 7800 kali umur Alam Semesta.

Sekiranya kekerasan dianggap sebagai rasa ingin tahu sejarah? Tidak sama sekali: ia adalah bahan yang diperlukan dalam buku masakan kriptanalisis. Jarang sekali sifir sangat lemah sehingga hanya boleh dipecahkan oleh serangan yang bijak, tanpa menggunakan kekerasan pada satu tahap atau yang lain. Banyak penggodaman yang berjaya menggunakan kaedah algoritma untuk melemahkan sifir sasaran terlebih dahulu, dan kemudian melakukan serangan kekerasan.

Analisis kekerapan

Serangan kriptografi: penjelasan untuk fikiran yang keliruKebanyakan teks bukan omong kosong. Contohnya, dalam teks bahasa Inggeris terdapat banyak huruf 'e' dan artikel 'the'; dalam fail binari, terdapat banyak bait sifar sebagai padding antara cebisan maklumat. Analisis kekerapan ialah sebarang serangan yang mengambil kesempatan daripada fakta ini.

Contoh kanonik sifir yang terdedah kepada serangan ini ialah sifir penggantian mudah. Dalam sifir ini, kuncinya ialah jadual dengan semua huruf diganti. Contohnya, 'g' digantikan dengan 'h', 'o' dengan j, jadi perkataan 'go' menjadi 'hj'. Sifir ini sukar untuk digunakan secara kasar kerana terdapat banyak kemungkinan jadual carian. Jika anda berminat dengan matematik, panjang kunci berkesan ialah kira-kira 88 bit: itu
Serangan kriptografi: penjelasan untuk fikiran yang keliru. Tetapi analisis kekerapan biasanya menyelesaikan kerja dengan cepat.

Pertimbangkan teks sifir berikut yang diproses dengan sifir penggantian mudah:

XDYLY ALY HODOH XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

Sejak Y berlaku dengan kerap, termasuk pada akhir banyak perkataan, kita boleh mengandaikan secara tentatif bahawa ini adalah huruf e:

XDeLe ALe UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FLeAUX GR WN OGQL ZDWBGEGZDO

Pasangan XD diulang pada permulaan beberapa perkataan. Khususnya, gabungan XDeLe jelas mencadangkan perkataan itu these atau there, jadi mari kita teruskan:

theLe ALe UGLe thWNKE WN HEAJeN ANF eALth DGLAtWG than ALe FLeAUt GR WN OGQL ZDWBGEGZDO

Marilah kita mengandaikan bahawa L sepadan dengan r, A - a dan sebagainya. Ia mungkin memerlukan beberapa percubaan, tetapi berbanding dengan serangan kekerasan penuh, serangan ini memulihkan teks asal dalam masa yang singkat:

terdapat lebih banyak perkara di syurga dan bumi horatio daripada yang diimpikan dalam falsafah anda

Bagi sesetengah orang, menyelesaikan "kriptogram" sedemikian adalah hobi yang menarik.

Idea analisis frekuensi adalah lebih asas daripada yang kelihatan pada pandangan pertama. Dan ia terpakai kepada sifir yang lebih kompleks. Sepanjang sejarah, pelbagai reka bentuk sifir telah cuba untuk menentang serangan sedemikian menggunakan "penggantian polialfabetik". Di sini, semasa proses penyulitan, jadual penggantian huruf diubah suai dalam cara yang kompleks tetapi boleh diramal yang bergantung pada kunci. Kesemua sifir ini dianggap sukar untuk dipecahkan pada satu masa; namun analisis frekuensi sederhana akhirnya mengalahkan mereka semua.

Sifir polialfabetik yang paling bercita-cita tinggi dalam sejarah, dan mungkin yang paling terkenal, ialah sifir Enigma Perang Dunia II. Ia agak rumit berbanding pendahulunya, tetapi selepas bekerja keras, penganalisis kriptografi British memecahkannya menggunakan analisis frekuensi. Sudah tentu, mereka tidak dapat membangunkan serangan yang elegan seperti yang ditunjukkan di atas; mereka terpaksa membandingkan pasangan teks biasa dan teks sifir yang diketahui (yang dipanggil "serangan teks biasa"), malah memprovokasi pengguna Enigma untuk menyulitkan mesej tertentu dan menganalisis hasilnya ("serangan teks biasa yang dipilih"). Tetapi ini tidak memudahkan nasib tentera musuh yang kalah dan kapal selam yang tenggelam.

Selepas kejayaan ini, analisis kekerapan hilang daripada sejarah kriptanalisis. Sifir dalam era digital moden direka bentuk untuk berfungsi dengan bit, bukan huruf. Lebih penting lagi, sifir ini direka bentuk dengan pemahaman gelap tentang apa yang kemudiannya dikenali sebagai undang-undang Schneier: Sesiapa sahaja boleh mencipta algoritma penyulitan yang mereka sendiri tidak boleh pecahkan. Ia tidak mencukupi untuk sistem penyulitan nampaknya sukar: untuk membuktikan nilainya, ia mesti menjalani semakan keselamatan tanpa belas kasihan oleh ramai penganalisis kriptografi yang akan melakukan yang terbaik untuk memecahkan sifir.

Pengiraan awal

Serangan kriptografi: penjelasan untuk fikiran yang keliruAmbil bandar hipotesis Precom Heights, penduduk 200. Setiap rumah di bandar ini mengandungi purata barang berharga bernilai $000, tetapi tidak melebihi $30 Pasaran keselamatan di Precom dimonopoli oleh ACME Industries, yang menghasilkan kunci pintu kelas Coyoteβ„’ yang legenda. Menurut analisis pakar, kunci kelas Coyote hanya boleh dipecahkan oleh mesin hipotesis yang sangat kompleks, penciptaan yang memerlukan kira-kira lima tahun dan $000 dalam pelaburan. Adakah bandar itu selamat?

Kemungkinan besar tidak. Akhirnya, penjenayah yang agak bercita-cita tinggi akan muncul. Dia akan memberi alasan seperti ini: β€œYa, saya akan menanggung kos pendahuluan yang besar. Lima tahun menunggu pesakit, dan $50 Tetapi apabila saya selesai, saya akan mempunyai akses kepada semua kekayaan bandar ini. Jika saya bermain dengan betul, pelaburan ini akan membayar sendiri berkali-kali ganda.”

Perkara yang sama berlaku dalam kriptografi. Serangan terhadap sifir tertentu tertakluk kepada analisis kos-faedah yang kejam. Jika nisbahnya menggalakkan, serangan tidak akan berlaku. Tetapi serangan yang berkesan terhadap banyak mangsa yang berpotensi pada masa yang sama hampir selalu membuahkan hasil, dalam hal ini amalan reka bentuk terbaik adalah dengan menganggap ia bermula dari hari pertama. Kami pada asasnya mempunyai versi kriptografi Undang-undang Murphy: "Apa-apa sahaja yang sebenarnya boleh memecahkan sistem akan memecahkan sistem."

Contoh paling mudah bagi sistem kripto yang terdedah kepada serangan prapengiraan ialah sifir tanpa kunci malar. Ini adalah kes dengan sifir Caesar, yang hanya mengalihkan setiap huruf abjad tiga huruf ke hadapan (jadual digelung, jadi huruf terakhir dalam abjad disulitkan ketiga). Di sini sekali lagi prinsip Kerchhoffs mula bermain: sebaik sahaja sistem digodam, ia digodam selama-lamanya.

Konsepnya mudah sahaja. Malah pembangun sistem kripto yang baru mungkin akan mengenali ancaman itu dan bersedia dengan sewajarnya. Melihat kepada evolusi kriptografi, serangan sedemikian tidak sesuai untuk kebanyakan sifir, daripada versi pertama sifir Caesar yang dipertingkatkan sehingga kemerosotan sifir polialfabetik. Serangan sedemikian hanya kembali dengan kedatangan era moden kriptografi.

Pulangan ini disebabkan oleh dua faktor. Pertama, sistem kripto yang cukup kompleks akhirnya muncul, di mana kemungkinan eksploitasi selepas penggodaman tidak jelas. Kedua, kriptografi menjadi begitu meluas sehingga berjuta-juta orang awam membuat keputusan setiap hari tentang di mana dan bahagian kriptografi yang hendak digunakan semula. Ia mengambil sedikit masa sebelum pakar menyedari risiko dan menimbulkan penggera.

Ingat serangan prapengiraan: pada akhir artikel kita akan melihat dua contoh kriptografi kehidupan sebenar di mana ia memainkan peranan penting.

Interpolasi

Berikut ialah detektif terkenal Sherlock Holmes, melakukan serangan interpolasi terhadap Dr. Watson yang malang:

Saya segera mengagak bahawa anda datang dari Afghanistan... Pemikiran saya adalah seperti berikut: β€œLelaki ini adalah doktor mengikut jenis, tetapi dia mempunyai ketenteraan. Jadi, doktor tentera. Dia baru tiba dari kawasan tropika - mukanya gelap, tetapi ini bukan warna semula jadi kulitnya, kerana pergelangan tangannya lebih putih. Wajahnya lesu - jelas sekali, dia telah banyak menderita dan menderita penyakit. Dia cedera di tangan kirinya - dia memegangnya tidak bergerak dan sedikit tidak wajar. Di mana di kawasan tropika seorang doktor tentera Inggeris boleh menanggung kesusahan dan cedera? Sudah tentu, di Afghanistan." Seluruh pemikiran tidak mengambil masa walau sesaat. Jadi saya berkata bahawa anda datang dari Afghanistan, dan anda terkejut.

Holmes boleh mengeluarkan sedikit maklumat daripada setiap bukti secara individu. Dia hanya boleh mencapai kesimpulannya dengan mempertimbangkan semuanya bersama-sama. Serangan interpolasi berfungsi sama dengan memeriksa pasangan teks biasa dan teks sifir yang diketahui hasil daripada kunci yang sama. Daripada setiap pasangan, pemerhatian individu diekstrak yang membolehkan kesimpulan umum tentang kunci dibuat. Semua kesimpulan ini adalah samar-samar dan kelihatan tidak berguna sehingga mereka tiba-tiba mencapai jisim kritikal dan membawa kepada satu-satunya kesimpulan yang mungkin: tidak kira betapa luar biasa itu, ia mesti benar. Selepas ini, sama ada kunci didedahkan, atau proses penyahsulitan menjadi sangat halus sehingga boleh ditiru.

Mari kita ilustrasikan dengan contoh mudah cara interpolasi berfungsi. Katakan kita mahu membaca diari peribadi musuh kita, Bob. Dia menyulitkan setiap nombor dalam diarinya menggunakan sistem kriptografi ringkas yang dia pelajari daripada iklan dalam majalah "A Mock of Cryptography." Sistem berfungsi seperti ini: Bob memilih dua nombor yang dia suka: Serangan kriptografi: penjelasan untuk fikiran yang keliru ΠΈ Serangan kriptografi: penjelasan untuk fikiran yang keliru. Mulai sekarang, untuk menyulitkan sebarang nombor Serangan kriptografi: penjelasan untuk fikiran yang keliru, ia mengira Serangan kriptografi: penjelasan untuk fikiran yang keliru. Sebagai contoh, jika Bob memilih Serangan kriptografi: penjelasan untuk fikiran yang keliru ΠΈ Serangan kriptografi: penjelasan untuk fikiran yang keliru, kemudian nombor Serangan kriptografi: penjelasan untuk fikiran yang keliru akan disulitkan sebagai Serangan kriptografi: penjelasan untuk fikiran yang keliru.

Katakan pada 28 Disember kami perasan bahawa Bob sedang menconteng sesuatu dalam diarinya. Apabila dia selesai, kami akan mengambilnya secara senyap dan menonton entri terakhir:

Tarikh: 235/520

Diariku,

Hari ini adalah hari yang baik. Melalui 64 hari ini saya mempunyai tarikh dengan Alisa, yang tinggal di sebuah apartmen 843. Saya benar-benar fikir dia mungkin 26!

Memandangkan kami sangat serius untuk mengikuti Bob pada tarikhnya (kami berdua berusia 15 tahun dalam senario ini), adalah penting untuk mengetahui tarikh serta alamat Alice. Nasib baik, kami mendapati bahawa sistem kripto Bob terdedah kepada serangan interpolasi. Kita mungkin tidak tahu Serangan kriptografi: penjelasan untuk fikiran yang keliru ΠΈ Serangan kriptografi: penjelasan untuk fikiran yang keliru, tetapi kita tahu tarikh hari ini, jadi kita mempunyai dua pasangan teks sifir plaintext. Iaitu, kita tahu itu Serangan kriptografi: penjelasan untuk fikiran yang keliru disulitkan dalam Serangan kriptografi: penjelasan untuk fikiran yang keliruDan Serangan kriptografi: penjelasan untuk fikiran yang keliru - pada Serangan kriptografi: penjelasan untuk fikiran yang keliru. Inilah yang akan kami tulis:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Memandangkan kita berumur 15 tahun, kita sudah mengetahui tentang sistem dua persamaan dengan dua yang tidak diketahui, yang dalam situasi ini cukup untuk mencari Serangan kriptografi: penjelasan untuk fikiran yang keliru ΠΈ Serangan kriptografi: penjelasan untuk fikiran yang keliru tanpa sebarang masalah. Setiap pasangan teks biasa-sifir meletakkan kekangan pada kunci Bob, dan kedua-dua kekangan bersama-sama adalah mencukupi untuk memulihkan kunci sepenuhnya. Dalam contoh kita jawapannya ialah Serangan kriptografi: penjelasan untuk fikiran yang keliru ΠΈ Serangan kriptografi: penjelasan untuk fikiran yang keliru (pada Serangan kriptografi: penjelasan untuk fikiran yang keliru Serangan kriptografi: penjelasan untuk fikiran yang keliru, jadi 26 dalam diari sepadan dengan perkataan 'yang satu', iaitu, "yang sama" - lebih kurang. lorong).

Serangan interpolasi, sudah tentu, tidak terhad kepada contoh mudah tersebut. Setiap sistem kripto yang mengurangkan kepada objek matematik yang difahami dengan baik dan senarai parameter berisiko serangan interpolasi-lebih mudah difahami objek, lebih tinggi risikonya.

Pendatang baru sering mengadu bahawa kriptografi adalah "seni mereka bentuk perkara sehodoh mungkin." Serangan interpolasi mungkin sebahagian besarnya harus dipersalahkan. Bob boleh sama ada menggunakan reka bentuk matematik yang elegan atau merahsiakan janji temunya dengan Alice - tetapi malangnya, anda biasanya tidak boleh melakukannya dalam kedua-dua cara. Ini akan menjadi sangat jelas apabila kita akhirnya sampai kepada topik kriptografi kunci awam.

Protokol silang/turun taraf

Serangan kriptografi: penjelasan untuk fikiran yang keliruDalam Now You See Me (2013), sekumpulan ilusionis cuba menipu hartawan insurans yang korup Arthur Tressler daripada keseluruhan kekayaannya. Untuk mendapatkan akses ke akaun bank Arthur, ahli ilusi mesti sama ada memberikan nama pengguna dan kata laluannya atau memaksanya untuk hadir sendiri di bank dan mengambil bahagian dalam skim itu.

Kedua-dua pilihan adalah sangat sukar; Lelaki itu biasa membuat persembahan di atas pentas, dan tidak mengambil bahagian dalam operasi risikan. Jadi mereka memilih pilihan ketiga yang mungkin: rakan sejenayah mereka menghubungi bank dan berpura-pura menjadi Arthur. Bank bertanya beberapa soalan untuk mengesahkan identiti, seperti nama bapa saudara dan nama haiwan peliharaan pertama; wira kita terlebih dahulu mereka dengan mudah mengeluarkan maklumat ini daripada Arthur menggunakan kejuruteraan sosial yang bijak. Mulai saat ini, keselamatan kata laluan yang sangat baik tidak lagi penting.

(Menurut legenda bandar yang telah kami sahkan dan sahkan secara peribadi, ahli kriptografi Eli Beaham pernah menemui juruwang bank yang berkeras untuk menetapkan soalan keselamatan. Apabila juruwang itu meminta nama nenek sebelah ibunya, Beaham mula menentukan: "Modal X, kecil y, tiga ... ").

Ia adalah sama dalam kriptografi, jika dua protokol kriptografi digunakan secara selari untuk melindungi aset yang sama, dan satu jauh lebih lemah daripada yang lain. Sistem yang terhasil menjadi terdedah kepada serangan silang protokol, di mana protokol yang lebih lemah diserang untuk mendapatkan hadiah tanpa menyentuh yang lebih kuat.

Dalam sesetengah kes yang rumit, tidak cukup untuk hanya menghubungi pelayan menggunakan protokol yang lebih lemah, tetapi memerlukan penyertaan sukarela pelanggan yang sah. Ini boleh diatur menggunakan apa yang dipanggil serangan turun taraf. Untuk memahami serangan ini, mari kita anggap bahawa ilusionis kita mempunyai tugas yang lebih sukar daripada dalam filem. Katakan bahawa seorang pekerja bank (juruwang) dan Arthur menghadapi beberapa keadaan yang tidak dijangka, mengakibatkan dialog berikut:

pencuri: Hello? Ini Arthur Tressler. Saya ingin menetapkan semula kata laluan saya.

Juruwang: Hebat. Sila lihat buku kod rahsia peribadi anda, halaman 28, perkataan 3. Semua mesej berikut akan disulitkan menggunakan perkataan khusus ini sebagai kunci. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

pencuri: Hei, hei, tunggu, tunggu. Adakah ini benar-benar perlu? Tidak bolehkah kita bercakap seperti orang biasa?

Juruwang: Saya tidak mengesyorkan melakukan ini.

pencuri: Saya cuma... lihat, saya mengalami hari yang buruk, okay? Saya pelanggan VIP dan saya tiada mood untuk menyelongkar buku kod bodoh ini.

Juruwang: baik. Jika anda berkeras, Encik Tressler. Apa yang kamu mahu?

pencuri: Tolong, saya ingin menderma semua wang saya kepada Dana Korban Kebangsaan Arthur Tressler.

(Jeda).

Juruwang: Adakah ia jelas sekarang. Sila berikan PIN anda untuk transaksi besar.

pencuri: saya apa?

Juruwang: Atas permintaan peribadi anda, transaksi sebesar ini memerlukan PIN untuk transaksi besar. Kod ini telah diberikan kepada anda apabila anda membuka akaun anda.

pencuri:... Saya kehilangannya. Adakah ini benar-benar perlu? Tidak bolehkah anda meluluskan perjanjian itu?

Juruwang: Tidak. Saya minta maaf, Encik Tressler. Sekali lagi, ini ialah langkah keselamatan yang anda minta. Jika anda mahu, kami boleh menghantar kod PIN baharu ke peti mel anda.

Wira kita menangguhkan operasi. Mereka mencuri dengar beberapa transaksi besar Tressler, berharap dapat mendengar PIN; tetapi setiap kali perbualan bertukar menjadi omong kosong berkod sebelum apa-apa yang menarik dikatakan. Akhirnya, satu hari yang baik, rancangan itu dilaksanakan. Mereka menunggu dengan sabar untuk saat Tressler perlu membuat transaksi besar melalui telefon, dia mendapat talian, dan kemudian...

tresler: Hello. Saya ingin menyelesaikan transaksi jauh, sila.

Juruwang: Hebat. Sila lihat buku kod rahsia peribadi anda, halaman...

(Pencuri menekan butang; suara juruwang bertukar menjadi bunyi yang tidak dapat difahami).

Juruwang: - #@$#@$#*@$$@#* akan disulitkan dengan perkataan ini sebagai kunci. AAAAYRR PLRQRZ MMNJK LOJBAN…

tresler: Maaf, saya tidak begitu faham. sekali lagi? Pada halaman apa? perkataan apa?

Juruwang: Ini ialah halaman @#$@#*$)#*#@()#@$(#@*$(#@*.

tresler: Apa?

Juruwang: Perkataan nombor dua puluh @$#@$#%#$.

tresler: Serius! Sudah cukup! Anda dan protokol keselamatan anda adalah sejenis sarkas. Saya tahu awak boleh bercakap dengan saya seperti biasa.

Juruwang: Saya tidak mengesyorkan…

tresler: Dan saya tidak menasihati anda untuk membuang masa saya. Saya tidak mahu mendengar apa-apa lagi tentang perkara ini sehingga anda menyelesaikan masalah talian telefon anda. Bolehkah kita memuktamadkan perjanjian ini atau tidak?

Juruwang:… Ya. baik. Apa yang kamu mahu?

tresler: Saya ingin memindahkan $20 kepada Lord Business Investments, nombor akaun...

Juruwang: Satu minit, tolong. Ini masalah besar. Sila berikan PIN anda untuk transaksi besar.

tresler: Apa? Oh, betul-betul. 1234.

Berikut ialah serangan ke bawah. Protokol yang lebih lemah "hanya bercakap terus" dibayangkan sebagai pilihan sekiranya berlaku kecemasan. Namun di sini kita berada.

Anda mungkin tertanya-tanya siapa yang waras mereka akan mereka bentuk sistem "selamat sehingga ditanya sebaliknya" sebenar seperti yang diterangkan di atas. Tetapi sama seperti bank fiksyen mengambil risiko untuk mengekalkan pelanggan yang tidak menyukai kriptografi, sistem secara amnya selalunya cenderung kepada keperluan yang acuh tak acuh atau malah sangat memusuhi keselamatan.

Inilah yang berlaku dengan protokol SSLv2 pada tahun 1995. Kerajaan AS telah lama mula melihat kriptografi sebagai senjata yang paling baik dijauhkan daripada musuh asing dan domestik. Sekeping kod telah diluluskan secara individu untuk eksport dari Amerika Syarikat, selalunya dengan syarat bahawa algoritma itu sengaja dilemahkan. Netscape, pembangun penyemak imbas paling popular, Netscape Navigator, telah diberi kebenaran untuk SSLv2 hanya dengan kunci RSA 512-bit yang mudah terdedah (dan 40-bit untuk RC4).

Menjelang akhir milenium, peraturan telah dilonggarkan dan akses kepada penyulitan moden tersedia secara meluas. Walau bagaimanapun, pelanggan dan pelayan telah menyokong kriptografi "eksport" yang lemah selama bertahun-tahun disebabkan oleh inersia yang sama yang mengekalkan sokongan untuk mana-mana sistem warisan. Pelanggan percaya bahawa mereka mungkin menghadapi pelayan yang tidak menyokong apa-apa lagi. Pelayan melakukan perkara yang sama. Sudah tentu, protokol SSL menetapkan bahawa pelanggan dan pelayan tidak boleh menggunakan protokol yang lemah apabila yang lebih baik tersedia. Tetapi premis yang sama digunakan untuk Tressler dan banknya.

Teori ini menemui jalan ke dalam dua serangan berprofil tinggi yang menggegarkan keselamatan protokol SSL pada tahun 2015, kedua-duanya ditemui oleh penyelidik Microsoft dan INRIA. Pertama, butiran serangan FREAK telah didedahkan pada bulan Februari, diikuti tiga bulan kemudian oleh satu lagi serangan serupa yang dipanggil Logjam, yang akan kita bincangkan dengan lebih terperinci apabila kita beralih kepada serangan ke atas kriptografi kunci awam.

Serangan kriptografi: penjelasan untuk fikiran yang keliruKerentanan FREAK (juga dikenali sebagai "Smack TLS") terbongkar apabila penyelidik menganalisis pelaksanaan klien/pelayan TLS dan menemui pepijat yang ingin tahu. Dalam pelaksanaan ini, jika pelanggan tidak meminta untuk menggunakan kriptografi eksport yang lemah, tetapi pelayan masih bertindak balas dengan kunci sedemikian, pelanggan berkata "Oh baik" dan beralih kepada suite sifir yang lemah.

Pada masa itu, kriptografi eksport secara meluas dianggap lapuk dan tidak terhad, jadi serangan itu benar-benar mengejutkan dan menjejaskan banyak domain penting, termasuk tapak Rumah Putih, IRS dan NSA. Lebih teruk lagi, ternyata banyak pelayan yang terdedah telah mengoptimumkan prestasi dengan menggunakan semula kunci yang sama dan bukannya menjana yang baharu untuk setiap sesi. Ini memungkinkan, selepas menurunkan taraf protokol, untuk melakukan serangan pra-pengiraan: memecahkan satu kunci kekal mahal ($100 dan 12 jam pada masa penerbitan), tetapi kos praktikal untuk menyerang sambungan telah dikurangkan dengan ketara. Ia cukup untuk memilih kunci pelayan sekali dan memecahkan penyulitan untuk semua sambungan berikutnya dari saat itu.

Dan sebelum kita meneruskan, ada satu serangan lanjutan yang perlu disebutkan...

Serangan Oracle

Serangan kriptografi: penjelasan untuk fikiran yang keliruMoxie Marlinspike paling dikenali sebagai bapa kepada aplikasi pemesejan crypto merentas platform Signal; tetapi kami secara peribadi menyukai salah satu inovasinya yang kurang dikenali - prinsip azab kriptografi (Prinsip Doom Kriptografi). Untuk menghuraikan sedikit, kita boleh mengatakan ini: "Jika protokol berfungsi ada melakukan operasi kriptografi pada mesej daripada sumber yang berpotensi berniat jahat dan berkelakuan berbeza bergantung pada hasilnya, ia ditakdirkan." Atau dalam bentuk yang lebih tajam: "Jangan ambil maklumat daripada musuh untuk diproses, dan jika perlu, sekurang-kurangnya jangan tunjukkan hasilnya."

Mari kita tinggalkan limpahan penimbal, suntikan arahan, dan seumpamanya; mereka berada di luar skop perbincangan ini. Pelanggaran "prinsip azab" membawa kepada penggodaman kriptografi yang serius disebabkan oleh fakta bahawa protokol berkelakuan tepat seperti yang diharapkan.

Sebagai contoh, mari kita ambil reka bentuk rekaan dengan sifir penggantian yang terdedah, dan kemudian tunjukkan kemungkinan serangan. Walaupun kita telah melihat serangan terhadap sifir penggantian menggunakan analisis kekerapan, ia bukan sekadar "cara lain untuk memecahkan sifir yang sama." Sebaliknya, serangan oracle adalah ciptaan yang lebih moden, boleh digunakan untuk banyak situasi di mana analisis kekerapan gagal, dan kita akan melihat demonstrasi ini dalam bahagian seterusnya. Di sini sifir mudah dipilih hanya untuk menjadikan contoh lebih jelas.

Jadi Alice dan Bob berkomunikasi menggunakan sifir penggantian mudah menggunakan kunci yang hanya diketahui oleh mereka. Mereka sangat ketat tentang panjang mesej: panjangnya betul-betul 20 aksara. Oleh itu, mereka bersetuju bahawa jika seseorang ingin menghantar mesej yang lebih pendek, mereka harus menambah beberapa teks tiruan pada penghujung mesej untuk menjadikannya tepat 20 aksara. Selepas beberapa perbincangan, mereka memutuskan bahawa mereka hanya akan menerima teks palsu berikut: a, bb, ccc, dddd dsb. Oleh itu, teks tiruan dari sebarang panjang yang diperlukan diketahui.

Apabila Alice atau Bob menerima mesej, mereka mula-mula menyemak sama ada mesej itu adalah panjang yang betul (20 aksara) dan bahawa akhiran ialah teks tiruan yang betul. Jika ini tidak berlaku, maka mereka bertindak balas dengan mesej ralat yang sesuai. Jika panjang teks dan teks tiruan adalah ok, penerima membaca mesej itu sendiri dan menghantar respons yang disulitkan.

Semasa serangan, penyerang menyamar sebagai Bob dan menghantar mesej palsu kepada Alice. Mesej tersebut adalah karut sepenuhnya - penyerang tidak mempunyai kunci, dan oleh itu tidak boleh memalsukan mesej yang bermakna. Tetapi oleh kerana protokol itu melanggar prinsip azab, penyerang masih boleh memerangkap Alice untuk mendedahkan maklumat penting, seperti yang ditunjukkan di bawah.

pencuri: PREWF ZHJKL MMMN. LA

Alice: Teks tiruan tidak sah.

pencuri: PREWF ZHJKL MMMN. LB

Alice: Teks tiruan tidak sah.

pencuri: PREWF ZHJKL MMMN. LC

Alice: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Pencuri itu tidak tahu apa yang dikatakan oleh Alice, tetapi menyatakan bahawa simbol itu C mesti sepadan a, sejak Alice menerima teks palsu itu.

pencuri: REWF ZHJKL MMMN. LAA

Alice: Teks tiruan tidak sah.

pencuri: REWF ZHJKL MMMN. LBB

Alice: Teks tiruan tidak sah.

Selepas beberapa percubaan...

pencuri: REWF ZHJKL MMMN. LGG

Alice: Teks tiruan tidak sah.

pencuri: REWF ZHJKL MMMN. LHH

Alice: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

Sekali lagi, penyerang tidak tahu apa yang Alice baru katakan, tetapi menyatakan bahawa H mesti sepadan dengan b sejak Alice menerima teks palsu.

Dan seterusnya sehingga penyerang tahu maksud setiap watak.

Pada pandangan pertama, kaedah ini menyerupai serangan teks biasa yang dipilih. Pada akhirnya, penyerang memilih teks sifir, dan pelayan memprosesnya dengan patuh. Perbezaan utama yang menjadikan serangan ini berdaya maju di dunia nyata ialah penyerang tidak memerlukan akses kepada transkrip sebenarβ€”tindak balas pelayan, walaupun tidak berbahaya seperti "Teks dummy tidak sah," sudah memadai.

Walaupun serangan khusus ini memberi pengajaran, jangan terlalu bergantung pada spesifik skema "teks tiruan", sistem kripto khusus yang digunakan, atau urutan tepat mesej yang dihantar oleh penyerang. Idea asas ialah cara Alice bertindak balas secara berbeza berdasarkan sifat teks biasa, dan berbuat demikian tanpa mengesahkan bahawa teks sifir yang sepadan sebenarnya datang daripada pihak yang dipercayai. Oleh itu, Alice membenarkan penyerang untuk memerah maklumat rahsia daripada jawapannya.

Terdapat banyak yang boleh diubah dalam senario ini. Simbol yang Alice bertindak balas, atau perbezaan dalam tingkah lakunya, atau bahkan sistem kripto yang digunakan. Tetapi prinsipnya akan tetap sama, dan serangan secara keseluruhan akan kekal berdaya maju dalam satu bentuk atau yang lain. Pelaksanaan asas serangan ini membantu mendedahkan beberapa pepijat keselamatan, yang akan kita lihat sebentar lagi; tetapi terlebih dahulu ada beberapa pengajaran teori yang perlu dipelajari. Bagaimana untuk menggunakan "skrip Alice" rekaan ini dalam serangan yang boleh berfungsi pada sifir moden yang sebenar? Adakah ini mungkin, walaupun secara teori?

Pada tahun 1998, ahli kriptografi Switzerland Daniel Bleichenbacher menjawab soalan ini secara afirmatif. Dia menunjukkan serangan oracle terhadap sistem kriptografi kunci awam RSA yang digunakan secara meluas, menggunakan skema mesej tertentu. Dalam sesetengah pelaksanaan RSA, pelayan bertindak balas dengan mesej ralat yang berbeza bergantung pada sama ada plaintext sepadan dengan skema atau tidak; ini sudah cukup untuk melakukan serangan.

Empat tahun kemudian, pada tahun 2002, ahli kriptografi Perancis Serge Vaudenay menunjukkan serangan oracle yang hampir sama dengan serangan yang diterangkan dalam senario Alice di atas - kecuali bahawa bukannya sifir rekaan, dia memecahkan keseluruhan kelas sifir moden yang dihormati yang sebenarnya digunakan orang. Khususnya, serangan Vaudenay menyasarkan sifir saiz input tetap ("sifir blok") apabila ia digunakan dalam apa yang dipanggil "mod penyulitan CBC" dan dengan skema pelapik popular tertentu, pada dasarnya setara dengan yang dalam senario Alice.

Juga pada tahun 2002, kriptografi Amerika John Kelsey - pengarang bersama Dua ikan β€” mencadangkan pelbagai serangan oracle pada sistem yang memampatkan mesej dan kemudian menyulitkannya. Yang paling ketara di antaranya ialah serangan yang mengambil kesempatan daripada fakta bahawa selalunya mungkin untuk membuat kesimpulan panjang asal teks biasa daripada panjang teks sifir. Secara teori, ini membolehkan serangan oracle yang memulihkan bahagian teks biasa asal.

Di bawah ini kami memberikan penerangan yang lebih terperinci tentang serangan Vaudenay dan Kelsey (kami akan memberikan penerangan yang lebih terperinci tentang serangan Bleichenbacher apabila kami beralih kepada serangan ke atas kriptografi kunci awam). Walaupun usaha terbaik kami, teks menjadi agak teknikal; jadi jika perkara di atas sudah mencukupi untuk anda, langkau dua bahagian seterusnya.

Serangan Vodene

Untuk memahami serangan Vaudenay, mula-mula kita perlu bercakap sedikit lagi tentang sifir blok dan mod penyulitan. "Sifir blok" adalah, seperti yang dinyatakan, sifir yang mengambil kunci dan input dengan panjang tetap tertentu ("panjang blok") dan menghasilkan blok yang disulitkan dengan panjang yang sama. Sifir blok digunakan secara meluas dan dianggap agak selamat. DES yang kini bersara, dianggap sebagai sifir moden yang pertama, ialah sifir blok. Seperti yang dinyatakan di atas, perkara yang sama berlaku untuk AES, yang digunakan secara meluas hari ini.

Malangnya, sifir blok mempunyai satu kelemahan yang ketara. Saiz blok biasa ialah 128 bit, atau 16 aksara. Jelas sekali, kriptografi moden memerlukan kerja dengan data input yang lebih besar, dan di sinilah mod penyulitan dimainkan. Mod penyulitan pada asasnya ialah penggodaman: ia adalah satu cara untuk menggunakan sifir blok yang hanya menerima input saiz tertentu kepada input dengan panjang sewenang-wenangnya.

Serangan Vodene tertumpu pada mod operasi CBC (Cipher Block Chaining) yang popular. Serangan itu menganggap sifir blok asas sebagai kotak hitam ajaib yang tidak dapat ditembusi dan memintas sepenuhnya keselamatannya.

Berikut ialah rajah yang menunjukkan cara mod CBC berfungsi:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Tanda tambah yang dibulatkan menandakan operasi XOR (eksklusif ATAU). Sebagai contoh, blok kedua teks sifir diterima:

  1. Dengan melakukan operasi XOR pada blok plaintext kedua dengan blok ciphertext pertama.
  2. Menyulitkan blok yang terhasil dengan sifir blok menggunakan kekunci.

Memandangkan CBC banyak menggunakan operasi XOR binari, mari kita luangkan sedikit masa untuk mengingati beberapa sifatnya:

  • Idempotensi: Serangan kriptografi: penjelasan untuk fikiran yang keliru
  • Komutatif: Serangan kriptografi: penjelasan untuk fikiran yang keliru
  • pergaulan: Serangan kriptografi: penjelasan untuk fikiran yang keliru
  • Kebolehbalikan diri: Serangan kriptografi: penjelasan untuk fikiran yang keliru
  • Saiz bait: bait n daripada Serangan kriptografi: penjelasan untuk fikiran yang keliru = (bait n daripada Serangan kriptografi: penjelasan untuk fikiran yang keliru) Serangan kriptografi: penjelasan untuk fikiran yang keliru (bait n daripada Serangan kriptografi: penjelasan untuk fikiran yang keliru)

Biasanya, sifat ini membayangkan bahawa jika kita mempunyai persamaan yang melibatkan operasi XOR dan satu yang tidak diketahui, ia boleh diselesaikan. Sebagai contoh, jika kita tahu itu Serangan kriptografi: penjelasan untuk fikiran yang keliru dengan yang tidak diketahui Serangan kriptografi: penjelasan untuk fikiran yang keliru dan terkenal Serangan kriptografi: penjelasan untuk fikiran yang keliru ΠΈ Serangan kriptografi: penjelasan untuk fikiran yang keliru, maka kita boleh bergantung pada sifat-sifat yang disebutkan di atas untuk menyelesaikan persamaan bagi Serangan kriptografi: penjelasan untuk fikiran yang keliru. Dengan menggunakan XOR pada kedua-dua belah persamaan dengan Serangan kriptografi: penjelasan untuk fikiran yang keliru, kita mendapatkan Serangan kriptografi: penjelasan untuk fikiran yang keliru. Ini semua akan menjadi sangat relevan dalam seketika.

Terdapat dua perbezaan kecil dan satu perbezaan besar antara senario Alice kami dan serangan Vaudenay. Dua yang kecil:

  • Dalam skrip, Alice menjangkakan plainteks akan berakhir dengan watak a, bb, ccc dan sebagainya. Dalam serangan Wodene, mangsa sebaliknya menjangkakan teks biasa akan menamatkan N kali dengan bait N (iaitu, perenambelasan 01 atau 02 02, atau 03 03 03, dan seterusnya). Ini adalah perbezaan kosmetik semata-mata.
  • Dalam senario Alice, adalah mudah untuk mengetahui sama ada Alice telah menerima mesej itu dengan respons "Teks palsu yang salah." Dalam serangan Vodene, lebih banyak analisis diperlukan dan pelaksanaan yang tepat di pihak mangsa adalah penting; tetapi untuk kepentingan ringkas, mari kita ambil sebagai memandangkan bahawa analisis ini masih boleh dilakukan.

Perbezaan utama:

  • Memandangkan kami tidak menggunakan sistem kripto yang sama, hubungan antara bait siferteks dikawal penyerang dan rahsia (kunci dan teks biasa) jelas akan berbeza. Oleh itu, penyerang perlu menggunakan strategi yang berbeza apabila mencipta teks sifir dan mentafsir respons pelayan.

Perbezaan utama ini ialah bahagian terakhir teka-teki untuk memahami serangan Vaudenay, jadi mari kita luangkan sedikit masa untuk memikirkan sebab dan cara serangan oracle pada CBC boleh dipasang di tempat pertama.

Katakan kami diberi teks sifir CBC sebanyak 247 blok, dan kami ingin menyahsulitnya. Kami boleh menghantar mesej palsu kepada pelayan, sama seperti kami boleh menghantar mesej palsu kepada Alice sebelum ini. Pelayan akan menyahsulit mesej untuk kami, tetapi tidak akan menunjukkan penyahsulitan - sebaliknya, sekali lagi, seperti Alice, pelayan akan melaporkan hanya sedikit maklumat: sama ada plaintext mempunyai padding yang sah atau tidak.

Pertimbangkan bahawa dalam senario Alice kami mempunyai hubungan berikut:

$$paparan$$teks{SIMPLE_SUBSTITUTION}(teks{ciphertext},teks{key}) = teks{plaintext}$$display$$

Mari kita panggil ini "persamaan Alice." Kami mengawal teks sifir; pelayan (Alice) membocorkan maklumat samar-samar tentang plaintext yang diterima; dan ini membolehkan kami menyimpulkan maklumat tentang faktor terakhir - kunci. Secara analogi, jika kami dapat mencari sambungan sedemikian untuk skrip CBC, kami mungkin dapat mengekstrak beberapa maklumat rahsia di sana juga.

Nasib baik, ada benar-benar hubungan di luar sana yang boleh kita gunakan. Pertimbangkan output panggilan akhir untuk menyahsulit sifir blok dan nyatakan output ini sebagai Serangan kriptografi: penjelasan untuk fikiran yang keliru. Kami juga menandakan blok plainteks Serangan kriptografi: penjelasan untuk fikiran yang keliru dan blok sifirteks Serangan kriptografi: penjelasan untuk fikiran yang keliru. Lihat sekali lagi pada rajah CBC dan perhatikan apa yang berlaku:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Mari kita panggil ini "persamaan CBC."

Dalam senario Alice, dengan memantau teks sifir dan melihat kebocoran teks biasa yang sepadan, kami dapat melancarkan serangan yang memulihkan sebutan ketiga dalam persamaanβ€”kunci. Dalam senario CBC, kami juga memantau teks sifir dan memerhati kebocoran maklumat pada teks biasa yang sepadan. Jika analogi itu berlaku, kita boleh mendapatkan maklumat tentang Serangan kriptografi: penjelasan untuk fikiran yang keliru.

Mari kita anggap kita benar-benar dipulihkan Serangan kriptografi: penjelasan untuk fikiran yang keliru, selepas itu, apa? Nah, kemudian kita boleh mencetak keseluruhan blok terakhir teks biasa sekali gus (Serangan kriptografi: penjelasan untuk fikiran yang keliru), hanya dengan memasukkan Serangan kriptografi: penjelasan untuk fikiran yang keliru (yang kita ada) dan
menerima Serangan kriptografi: penjelasan untuk fikiran yang keliru ke dalam persamaan CBC.

Sekarang setelah kami optimis tentang rancangan keseluruhan serangan, tiba masanya untuk menyelesaikan butirannya. Sila beri perhatian kepada bagaimana maklumat teks biasa dibocorkan pada pelayan. Dalam skrip Alice, kebocoran berlaku kerana Alice hanya akan membalas dengan mesej yang betul jika $inline$text{SIMPLE_SUBSTITUTION}(text{ciphertext},text{key})$inline$ berakhir dengan baris a (Atau bb, dan seterusnya, tetapi kemungkinan keadaan ini dicetuskan secara kebetulan adalah sangat kecil). Sama seperti CBC, pelayan menerima padding jika dan hanya jika Serangan kriptografi: penjelasan untuk fikiran yang keliru berakhir dengan heksadesimal 01. Jadi mari kita cuba helah yang sama: menghantar teks sifir palsu dengan nilai palsu kita sendiri Serangan kriptografi: penjelasan untuk fikiran yang kelirusehingga pelayan menerima pengisian.

Apabila pelayan menerima padding untuk salah satu mesej palsu kami, ini bermakna:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Sekarang kita menggunakan sifat XOR bait-bait:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Kita tahu penggal pertama dan ketiga. Dan kami telah melihat bahawa ini membolehkan kami memulihkan istilah yang tinggal - bait terakhir daripada Serangan kriptografi: penjelasan untuk fikiran yang keliru:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Ini juga memberi kita bait terakhir bagi blok plaintext akhir melalui persamaan CBC dan sifat bait demi bait.

Kita boleh membiarkannya begitu sahaja dan berpuas hati bahawa kita telah melakukan serangan ke atas sifir yang kukuh secara teorinya. Tetapi sebenarnya kita boleh melakukan lebih banyak lagi: kita sebenarnya boleh memulihkan semua teks. Ini memerlukan helah yang tiada dalam skrip asal Alice dan tidak diperlukan untuk serangan oracle, tetapi ia masih berbaloi untuk dipelajari.

Untuk memahaminya, mula-mula ambil perhatian bahawa hasil daripada mengeluarkan nilai yang betul bagi bait terakhir ialah Serangan kriptografi: penjelasan untuk fikiran yang keliru kita ada kebolehan baru. Sekarang, apabila memalsukan teks sifir, kita boleh memanipulasi bait terakhir bagi teks biasa yang sepadan. Sekali lagi, ini berkaitan dengan persamaan CBC dan sifat bait demi bait:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Memandangkan kita kini mengetahui penggal kedua, kita boleh menggunakan kawalan kita ke atas penggal pertama untuk mengawal penggal ketiga. Kami hanya mengira:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Kami tidak dapat melakukan ini sebelum ini kerana kami belum mempunyai bait terakhir lagi Serangan kriptografi: penjelasan untuk fikiran yang keliru.

Bagaimanakah ini akan membantu kita? Katakan bahawa kita kini mencipta semua teks sifir supaya dalam plainteks yang sepadan bait terakhir adalah sama dengan 02. Pelayan kini hanya menerima padding jika plaintext berakhir dengan 02 02. Memandangkan kami membetulkan bait terakhir, ini hanya akan berlaku jika bait praakhir teks biasa juga ialah 02. Kami terus menghantar blok teks sifir palsu, menukar bait kedua terakhir, sehingga pelayan menerima padding untuk salah satu daripadanya. Pada ketika ini kita mendapat:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Dan kami memulihkan bait kedua terakhir Serangan kriptografi: penjelasan untuk fikiran yang keliru sama seperti yang terakhir telah dipulihkan. Kami meneruskan dengan semangat yang sama: kami membetulkan dua bait terakhir plaintext kepada 03 03, kami mengulangi serangan ini untuk bait ketiga dari penghujung dan seterusnya, akhirnya memulihkan sepenuhnya Serangan kriptografi: penjelasan untuk fikiran yang keliru.

Bagaimana dengan selebihnya teks? Sila ambil perhatian bahawa nilai Serangan kriptografi: penjelasan untuk fikiran yang keliru sebenarnya ialah $inline$text{BLOCK_DECRYPT}(text{key},C_{247})$inline$. Kita boleh meletakkan mana-mana blok lain sebaliknya Serangan kriptografi: penjelasan untuk fikiran yang keliru, dan serangan itu masih akan berjaya. Malah, kami boleh meminta pelayan melakukan $inline$text{BLOCK_DECRYPT}$inline$ untuk sebarang data. Pada ketika ini, permainan telah tamat - kita boleh menyahsulit sebarang teks sifir (lihat sekali lagi pada gambarajah penyahsulitan CBC untuk melihatnya; dan ambil perhatian bahawa IV adalah awam).

Kaedah khusus ini memainkan peranan penting dalam serangan oracle yang akan kita hadapi nanti.

serangan Kelsey

John Kelsey yang baik hati kami membentangkan prinsip yang mendasari banyak kemungkinan serangan, bukan hanya butiran serangan khusus pada sifir tertentu. miliknya Artikel 2002 tahun ini ialah kajian kemungkinan serangan ke atas data mampat yang disulitkan. Adakah anda fikir maklumat bahawa data telah dimampatkan sebelum penyulitan tidak mencukupi untuk melakukan serangan? Ternyata itu sudah cukup.

Keputusan yang mengejutkan ini adalah disebabkan oleh dua prinsip. Pertama, terdapat korelasi yang kuat antara panjang teks biasa dan panjang teks sifir; untuk banyak sifir kesamaan tepat. Kedua, apabila pemampatan dilakukan, terdapat juga korelasi yang kuat antara panjang mesej yang dimampatkan dan tahap "kebisingan" teks biasa, iaitu, perkadaran aksara tidak berulang (istilah teknikal ialah "entropi tinggi" ).

Untuk melihat prinsip dalam tindakan, pertimbangkan dua plainteks:

Plaintext 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Plaintext 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Mari kita anggap kedua-dua plainteks dimampatkan dan kemudian disulitkan. Anda mendapat dua teks sifir yang terhasil dan perlu meneka teks sifir mana yang sepadan dengan teks biasa:

Teks sifir 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Teks sifir 2: DWKJZXYU

Jawapannya jelas. Di antara teks biasa, hanya teks biasa 1 boleh dimampatkan ke dalam panjang kecil siferteks kedua. Kami memikirkan perkara ini tanpa mengetahui apa-apa tentang algoritma pemampatan, kunci penyulitan, atau sifir itu sendiri. Berbanding dengan hierarki kemungkinan serangan kriptografi, ini agak gila.

Kelsey seterusnya menegaskan bahawa dalam keadaan luar biasa tertentu prinsip ini juga boleh digunakan untuk melakukan serangan oracle. Khususnya, ia menerangkan cara penyerang boleh memulihkan teks biasa rahsia jika dia boleh memaksa pelayan untuk menyulitkan data borang (teks biasa diikuti dengan Serangan kriptografi: penjelasan untuk fikiran yang kelirusemasa dia mengawal Serangan kriptografi: penjelasan untuk fikiran yang keliru dan entah bagaimana boleh menyemak panjang hasil yang disulitkan.

Sekali lagi, seperti serangan oracle lain, kami mempunyai hubungan:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Sekali lagi, kami mengawal satu istilah (Serangan kriptografi: penjelasan untuk fikiran yang keliru), kami melihat kebocoran kecil maklumat tentang ahli lain (teks sifir) dan cuba memulihkan yang terakhir (teks biasa). Walaupun analogi, ini adalah situasi yang agak luar biasa berbanding dengan serangan oracle lain yang telah kita lihat.

Untuk menggambarkan cara serangan sedemikian mungkin berfungsi, mari kita gunakan skema mampatan rekaan yang baru kami hasilkan: TOYZIP. Ia mencari baris teks yang telah muncul sebelum ini dalam teks dan menggantikannya dengan tiga bait pemegang tempat yang menunjukkan tempat untuk mencari contoh awal baris dan berapa kali ia muncul di sana. Sebagai contoh, garisan helloworldhello boleh dimampatkan ke dalam helloworld[00][00][05] 13 bait panjang berbanding 15 bait asal.

Katakan penyerang cuba memulihkan teks biasa sesuatu borang password=..., di mana kata laluan itu sendiri tidak diketahui. Menurut model serangan Kelsey, penyerang boleh meminta pelayan untuk memampatkan dan kemudian menyulitkan mesej borang (teks biasa diikuti dengan Serangan kriptografi: penjelasan untuk fikiran yang keliru, di mana Serangan kriptografi: penjelasan untuk fikiran yang keliru - teks Percuma. Apabila pelayan telah selesai berfungsi, ia melaporkan panjang hasilnya. Serangan berlaku seperti ini:

pencuri: Sila mampatkan dan menyulitkan teks biasa tanpa sebarang padding.

Pelayan: Panjang keputusan 14.

pencuri: Sila mampatkan dan menyulitkan teks biasa yang dilampirkan password=a.

Pelayan: Panjang keputusan 18.

Nota keropok: [14 asal] + [tiga bait yang digantikan password=] + a

pencuri: Sila mampatkan dan menyulitkan teks biasa yang ditambahkan password=b.

Pelayan: Panjang keputusan 18.

pencuri: Sila mampatkan dan menyulitkan teks biasa yang ditambahkan password=с.

Pelayan: Panjang keputusan 17.

Nota keropok: [14 asal] + [tiga bait yang digantikan password=c]. Ini mengandaikan bahawa plainteks asal mengandungi rentetan password=c. Iaitu, kata laluan bermula dengan huruf c

pencuri: Sila mampatkan dan menyulitkan teks biasa yang ditambahkan password=сa.

Pelayan: Panjang keputusan 18.

Nota keropok: [14 asal] + [tiga bait yang digantikan password=с] + a

pencuri: Sila mampatkan dan menyulitkan teks biasa yang ditambahkan password=сb.

Pelayan: Panjang keputusan 18.

(… Beberapa ketika kemudian…)

pencuri: Sila mampatkan dan menyulitkan teks biasa yang ditambahkan password=со.

Pelayan: Panjang keputusan 17.

Nota keropok: [14 asal] + [tiga bait yang digantikan password=co]. Menggunakan logik yang sama, penyerang membuat kesimpulan bahawa kata laluan bermula dengan huruf co

Dan seterusnya sehingga keseluruhan kata laluan dipulihkan.

Pembaca akan dimaafkan kerana berfikir bahawa ini adalah latihan akademik semata-mata dan bahawa senario serangan sedemikian tidak akan timbul di dunia nyata. Malangnya, seperti yang akan kita lihat tidak lama lagi, adalah lebih baik untuk tidak berputus asa pada kriptografi.

Kelemahan jenama: JENAYAH, PODLE, LEMAS

Akhirnya, selepas mengkaji teori secara terperinci, kita dapat melihat bagaimana teknik ini digunakan dalam serangan kriptografi kehidupan sebenar.

JAMINAN

Serangan kriptografi: penjelasan untuk fikiran yang keliruJika serangan itu ditujukan kepada pelayar dan rangkaian mangsa, ada yang lebih mudah dan ada yang lebih sukar. Contohnya, mudah untuk melihat trafik mangsa: hanya duduk bersamanya di kafe yang sama dengan WiFi. Atas sebab ini, bakal mangsa (iaitu semua orang) secara amnya dinasihatkan untuk menggunakan sambungan yang disulitkan. Ia akan menjadi lebih sukar, tetapi masih mungkin, untuk membuat permintaan HTTP bagi pihak mangsa ke beberapa tapak pihak ketiga (contohnya, Google). Penyerang mesti memikat mangsa ke halaman web berniat jahat dengan skrip yang membuat permintaan. Pelayar web secara automatik akan menyediakan kuki sesi yang sesuai.

Ini nampaknya menakjubkan. Jika Bob pergi ke evil.com, bolehkah skrip pada tapak ini hanya meminta Google menghantar e-mel kata laluan Bob ke [email protected]? Nah, secara teori ya, tetapi sebenarnya tidak. Senario ini dipanggil serangan pemalsuan permintaan merentas tapak (Permintaan Pemalsuan Merentas Tapak, CSRF), dan ia popular sekitar pertengahan 90-an. Hari ini jika evil.com mencuba helah ini, Google (atau mana-mana tapak web yang menghargai diri sendiri) biasanya akan membalas dengan, "Bagus, tetapi token CSRF anda untuk transaksi ini ialah... um... Ρ‚Ρ€ΠΈ Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½Π° ΠΈ сСмь. Sila ulang nombor ini." Pelayar moden mempunyai sesuatu yang dipanggil "dasar asal yang sama" di mana skrip di tapak A tidak mempunyai akses kepada maklumat yang dihantar oleh tapak web B. Jadi skrip pada evil.com boleh hantar permintaan ke google.com, tetapi tidak dapat membaca respons atau benar-benar menyelesaikan transaksi.

Kami mesti menekankan bahawa melainkan Bob menggunakan sambungan yang disulitkan, semua perlindungan ini tidak bermakna. Penyerang hanya boleh membaca trafik Bob dan memulihkan kuki sesi Google. Dengan kuki ini, dia hanya akan membuka tab Google baharu tanpa meninggalkan penyemak imbasnya sendiri dan menyamar sebagai Bob tanpa menghadapi dasar asal yang sama yang menjengkelkan. Tetapi, malangnya untuk pencuri, ini menjadi semakin kurang biasa. Internet secara keseluruhannya telah lama mengisytiharkan perang terhadap sambungan yang tidak disulitkan, dan trafik keluar Bob mungkin disulitkan, sama ada dia suka atau tidak. Di samping itu, sejak awal pelaksanaan protokol, lalu lintas juga mengecut sebelum penyulitan; ini adalah amalan biasa untuk mengurangkan kependaman.

Di sinilah ia memainkan peranan JAMINAN (Nisbah Mampatan Infoleak Dipermudahkan, kebocoran mudah melalui nisbah mampatan). Kerentanan itu didedahkan pada September 2012 oleh penyelidik keselamatan Juliano Rizzo dan Thai Duong. Kami telah meneliti keseluruhan asas teori, yang membolehkan kami memahami apa yang mereka lakukan dan bagaimana. Penyerang boleh memaksa penyemak imbas Bob untuk menghantar permintaan kepada Google dan kemudian mendengar respons pada rangkaian tempatan dalam bentuk yang dimampatkan dan disulitkan. Oleh itu kami mempunyai:

Serangan kriptografi: penjelasan untuk fikiran yang keliru

Di sini penyerang mengawal permintaan dan mempunyai akses kepada penghidu trafik, termasuk saiz paket. Senario fiksyen Kelsey menjadi nyata.

Memahami teori tersebut, pengarang CRIME mencipta eksploitasi yang boleh mencuri kuki sesi untuk pelbagai tapak, termasuk Gmail, Twitter, Dropbox dan Github. Kerentanan menjejaskan kebanyakan penyemak imbas web moden, menyebabkan tampalan dikeluarkan yang secara senyap menguburkan ciri mampatan dalam SSL supaya ia tidak akan digunakan sama sekali. Satu-satunya yang dilindungi daripada kelemahan ialah Internet Explorer yang dihormati, yang tidak pernah menggunakan pemampatan SSL sama sekali.

PODLE

Serangan kriptografi: penjelasan untuk fikiran yang keliruPada Oktober 2014, pasukan keselamatan Google membuat gelombang dalam komuniti keselamatan. Mereka dapat mengeksploitasi kelemahan dalam protokol SSL yang telah ditambal lebih daripada sepuluh tahun yang lalu.

Ternyata semasa pelayan menjalankan TLSv1.2 baharu yang berkilat, ramai yang telah meninggalkan sokongan untuk SSLv3 warisan untuk keserasian ke belakang dengan Internet Explorer 6. Kami telah pun bercakap tentang serangan turun taraf, jadi anda boleh bayangkan apa yang berlaku. Sabotaj protokol jabat tangan yang dirancang dengan baik dan pelayan bersedia untuk kembali ke SSLv3 lama yang baik, pada dasarnya membatalkan penyelidikan keselamatan 15 tahun yang lalu.

Untuk konteks sejarah, berikut ialah ringkasan ringkas sejarah SSL sehingga versi 2 daripada Matthew Green:

Keselamatan Lapisan Pengangkutan (TLS) ialah protokol keselamatan yang paling penting di Internet. [..] hampir setiap transaksi yang anda lakukan di Internet bergantung pada TLS. [..] Tetapi TLS bukan selalunya TLS. Protokol itu memulakan kehidupannya pada Komunikasi Netscape dipanggil "Lapisan Soket Selamat" atau SSL. Khabar angin mengatakan bahawa versi pertama SSL sangat mengerikan sehingga pembangun mengumpul semua cetakan kod dan menguburkannya di tapak pelupusan rahsia di New Mexico. Akibatnya, versi pertama SSL yang tersedia secara terbuka sebenarnya versi SSL 2. Ia agak menakutkan, dan [..] ia adalah produk pertengahan 90-an, yang dianggap oleh kriptografi moden sebagai "zaman gelap kriptografi" Banyak serangan kriptografi paling keji yang kita ketahui hari ini masih belum ditemui. Akibatnya, pembangun protokol SSLv2 pada dasarnya dibiarkan meraba-raba jalan mereka dalam kegelapan, dan mereka menghadapi banyak raksasa yang dahsyat - mengecewakan mereka dan faedah kami, kerana serangan ke atas SSLv2 meninggalkan pengajaran yang tidak ternilai untuk protokol generasi seterusnya.

Berikutan peristiwa ini, pada tahun 1996, Netscape yang kecewa mereka bentuk semula protokol SSL dari awal. Hasilnya ialah SSL versi 3, yang membetulkan beberapa isu keselamatan yang diketahui sebelum ini.

Nasib baik untuk pencuri, "sedikit" tidak bermaksud "semua". Secara keseluruhan, SSLv3 menyediakan semua blok binaan yang diperlukan untuk melancarkan serangan Vodene. Protokol menggunakan sifir blok mod CBC dan skema pelapik yang tidak selamat (ini telah diperbetulkan dalam TLS; oleh itu keperluan untuk serangan turun taraf). Jika anda masih ingat skema pelapik dalam perihalan asal kami tentang serangan Vaudenay, skema SSLv3 sangat serupa.

Tetapi malangnya untuk pencuri, "serupa" tidak bermaksud "sama". Skim pelapik SSLv3 ialah "N bait rawak diikuti dengan nombor N". Cuba, di bawah syarat ini, untuk memilih blok khayalan teks sifir dan melalui semua langkah skema asal Vaudene: anda akan mendapati bahawa serangan itu berjaya mengekstrak bait terakhir daripada blok plaintext yang sepadan, tetapi tidak pergi lebih jauh. Menyahsulit setiap bait ke-16 teks sifir adalah satu helah yang hebat, tetapi ia bukan satu kemenangan.

Menghadapi kegagalan, pasukan Google mengambil langkah terakhir: mereka beralih kepada model ancaman yang lebih berkuasa - yang digunakan dalam JENAYAH. Dengan mengandaikan penyerang ialah skrip yang dijalankan dalam tab penyemak imbas mangsa dan boleh mengekstrak kuki sesi, serangan itu masih mengagumkan. Walaupun model ancaman yang lebih luas kurang realistik, kami melihat dalam bahagian sebelumnya bahawa model khusus ini boleh dilaksanakan.

Memandangkan keupayaan penyerang yang lebih berkuasa ini, serangan kini boleh diteruskan. Ambil perhatian bahawa penyerang mengetahui tempat kuki sesi yang disulitkan muncul dalam pengepala dan mengawal panjang permintaan HTTP sebelum itu. Oleh itu, ia dapat memanipulasi permintaan HTTP supaya bait terakhir kuki sejajar dengan hujung blok. Sekarang bait ini sesuai untuk penyahsulitan. Anda hanya boleh menambah satu aksara pada permintaan, dan bait kedua terakhir kuki akan kekal di tempat yang sama dan sesuai untuk pemilihan menggunakan kaedah yang sama. Serangan berterusan dengan cara ini sehingga fail kuki dipulihkan sepenuhnya. Ia dipanggil PODLE: Padding Oracle pada Penyulitan Warisan Diturun Taraf.

LEMAS

Serangan kriptografi: penjelasan untuk fikiran yang keliruSeperti yang kami nyatakan, SSLv3 mempunyai kelemahannya, tetapi ia pada asasnya berbeza daripada pendahulunya, kerana SSLv2 yang bocor adalah produk dari era yang berbeza. Di sana anda boleh mengganggu mesej di tengah: ΡΠΎΠ³Π»Π°ΡˆΡƒΡΡŒ Π½Π° это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠΉ Ρ‚Ρ€ΡƒΠΏ bertukar menjadi ΡΠΎΠ³Π»Π°ΡˆΡƒΡΡŒ Π½Π° это; pelanggan dan pelayan boleh bertemu dalam talian, mewujudkan kepercayaan dan bertukar-tukar rahsia di hadapan penyerang, yang kemudiannya boleh dengan mudah menyamar sebagai kedua-duanya. Terdapat juga masalah dengan kriptografi eksport, yang kami nyatakan apabila mempertimbangkan FREAK. Ini adalah kriptografi Sodom dan Gomora.

Pada Mac 2016, sekumpulan penyelidik dari bidang teknikal yang berbeza berkumpul dan membuat penemuan yang mengejutkan: SSLv2 masih digunakan dalam sistem keselamatan. Ya, penyerang tidak lagi boleh menurunkan taraf sesi TLS moden kepada SSLv2 kerana lubang itu ditutup selepas FREAK dan PODLE, tetapi mereka masih boleh menyambung ke pelayan dan memulakan sesi SSLv2 sendiri.

Anda mungkin bertanya, mengapa kita mengambil berat apa yang mereka lakukan di sana? Mereka mempunyai sesi yang terdedah, tetapi ia tidak sepatutnya menjejaskan sesi lain atau keselamatan pelayan - bukan? Nah, tidak cukup. Ya, begitulah seharusnya secara teori. Tetapi tidak - kerana menjana sijil SSL mengenakan beban tertentu, menyebabkan banyak pelayan menggunakan sijil yang sama dan, akibatnya, kunci RSA yang sama untuk sambungan TLS dan SSLv2. Lebih teruk lagi, disebabkan pepijat OpenSSL, pilihan "Lumpuhkan SSLv2" dalam pelaksanaan SSL yang popular ini sebenarnya tidak berfungsi.

Ini memungkinkan serangan silang protokol pada TLS, dipanggil LEMAS (Menyahsulit RSA dengan Penyulitan Lapuk dan Lemah, menyahsulit RSA dengan penyulitan lapuk dan lemah). Ingat bahawa ini tidak sama dengan serangan pendek; penyerang tidak perlu bertindak sebagai "man in the middle" dan tidak perlu melibatkan klien untuk menyertai sesi yang tidak selamat. Penyerang hanya memulakan sesi SSLv2 yang tidak selamat dengan pelayan itu sendiri, menyerang protokol yang lemah dan memulihkan kunci peribadi RSA pelayan. Kunci ini juga sah untuk sambungan TLS, dan mulai saat ini, tiada jumlah keselamatan TLS akan menghalangnya daripada terjejas.

Tetapi untuk memecahkannya, anda memerlukan serangan yang berfungsi terhadap SSLv2, yang membolehkan anda memulihkan bukan sahaja trafik tertentu, tetapi juga kunci pelayan RSA rahsia. Walaupun ini adalah persediaan yang kompleks, penyelidik boleh memilih sebarang kelemahan yang telah ditutup sepenuhnya selepas SSLv2. Mereka akhirnya menemui pilihan yang sesuai: serangan Bleichenbacher, yang kami nyatakan sebelum ini dan yang akan kami jelaskan secara terperinci dalam artikel seterusnya. SSL dan TLS dilindungi daripada serangan ini, tetapi beberapa ciri rawak SSL, digabungkan dengan kunci pendek dalam kriptografi gred eksport, menjadikannya mungkin pelaksanaan khusus DROWN.

Pada masa penerbitan, 25% daripada laman web teratas Internet telah terjejas oleh kerentanan DROWN, dan serangan itu boleh dilakukan dengan sumber sederhana yang tersedia untuk penggodam bersendirian yang nakal. Mendapatkan semula kunci RSA pelayan memerlukan lapan jam pengiraan dan $440, dan SSLv2 berubah daripada usang kepada radioaktif.

Tunggu, bagaimana dengan Heartbleed?

Ini bukan serangan kriptografi dalam erti kata yang diterangkan di atas; Ini adalah limpahan penimbal.

Mari berehat

Kami bermula dengan beberapa teknik asas: kekerasan, interpolasi, penurunan taraf, protokol silang dan prapengiraan. Kemudian kami melihat satu teknik lanjutan, mungkin komponen utama serangan kriptografi moden: serangan oracle. Kami meluangkan sedikit masa untuk memikirkannya - dan memahami bukan sahaja prinsip asas, tetapi juga butiran teknikal dua pelaksanaan khusus: serangan Vaudenay pada mod penyulitan CBC dan serangan Kelsey pada protokol penyulitan pra-mampatan.

Dalam menyemak serangan penurunan taraf dan prapengiraan, kami menggariskan secara ringkas serangan FREAK, yang menggunakan kedua-dua kaedah dengan menurunkan taraf tapak sasaran kepada kekunci lemah dan kemudian menggunakan semula kekunci yang sama. Untuk artikel seterusnya, kami akan menyimpan serangan Logjam (sangat serupa), yang menyasarkan algoritma kunci awam.

Kami kemudian melihat tiga lagi contoh penerapan prinsip ini. Pertama, JENAYAH dan PODLE: dua serangan yang bergantung pada keupayaan penyerang untuk menyuntik plaintext arbitrari di sebelah plaintext sasaran, kemudian periksa respons pelayan dan kemudian, menggunakan metodologi serangan oracle, mengeksploitasi maklumat yang jarang ini untuk, memulihkan sebahagian teks biasa. JENAYAH pergi ke laluan serangan Kelsey pada pemampatan SSL, manakala POODLE sebaliknya menggunakan varian serangan Vaudenay terhadap CBC dengan kesan yang sama.

Kami kemudian menumpukan perhatian kepada serangan DROWN silang protokol, yang mewujudkan sambungan ke pelayan menggunakan protokol SSLv2 warisan dan kemudian memulihkan kunci rahsia pelayan menggunakan serangan Bleichenbacher. Kami telah melangkau butiran teknikal serangan ini buat masa ini; seperti Logjam, ia perlu menunggu sehingga kita mempunyai pemahaman yang baik tentang sistem kripto kunci awam dan kelemahannya.

Dalam artikel seterusnya kita akan bercakap tentang serangan lanjutan seperti bertemu-di-tengah, analisis kriptografi pembezaan dan serangan hari lahir. Mari kita segera melancarkan serangan saluran sisi, dan kemudian beralih ke bahagian yang menyeronokkan: sistem kriptografi kunci awam.

Sumber: www.habr.com

Tambah komen