0Pricing
Cryptology Academy · Pelajaran

Padding PKCS#1 v1.5 & Bleichenbacher

Jelaskan serangan teks tersandi pilihan adaptif terhadap PKCS#1 v1.5.

Padding PKCS#1 v1.5 & Bleichenbacher adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 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

Pengisian PKCS#1 v1.5 merupakan standar pengisian RSA yang dominan selama 20 tahun. Pada 1998, Daniel Bleichenbacher menunjukkan bahwa standar ini rentan terhadap serangan teks tersandi pilihan adaptif.

Struktur PKCS#1 v1.5

Format: 0x00 0x02 [byte acak bukan nol] 0x00 [pesan] Awalan 0x00 0x02 menunjukkan pengisian untuk enkripsi (dibandingkan dengan 0x00 0x01 untuk penandatanganan). Byte acak mencegah determinisme dan tidak boleh bernilai nol.

Alasan PKCS#1 v1.5 Digunakan

PKCS#1 v1.5 dirancang oleh RSA Security pada 1993, jauh sebelum pembuktian keamanan IND-CCA2 tersedia. Standar ini menambahkan keacakan dan pemeriksaan struktur. Standar tersebut digunakan secara luas dalam SSL/TLS sejak 1995 dan seterusnya.

Serangan Bleichenbacher

Bleichenbacher (1998): jika server mengungkapkan apakah dekripsi RSA menghasilkan pengisian PKCS#1 v1.5 yang valid (melalui pesan kesalahan atau pewaktuan), penyerang dapat mendekripsi nilai apa pun yang dienkripsi dengan RSA menggunakan sekitar 1 juta kueri.

Definisi Orakel

"Orakel pengisian" adalah kanal samping apa pun yang dapat membedakan "pengisian valid" dari "pengisian tidak valid". Bahkan perbedaan waktu yang sangat kecil atau pesan kesalahan yang berbeda dapat menciptakan orakel yang dapat dieksploitasi.

Mekanisme Serangan

Penyerang mengalikan teks tersandi target C dengan s^e mod n, lalu mengirimkan C×s^e yang telah dimodifikasi. Jika server merespons "pengisian valid", berarti s dipilih dengan benar. Dengan mengulanginya, rentang teks biasa yang mungkin semakin menyempit sampai M berhasil dipulihkan.

Serangan DROWN (2016)

DROWN mengeksploitasi Bleichenbacher melalui SSLv2. Server TLS modern yang berbagi kunci dengan server SSLv2 mana pun menjadi rentan. Pertukaran kunci RSA TLS modern didekripsi dengan menggunakan SSLv2 sebagai orakel. Sebanyak 33% server HTTPS terdampak.

Serangan ROBOT (2017)

ROBOT (Return Of Bleichenbacher's Oracle Threat) menemukan kembali orakel pewaktuan pada 7 dari 10 implementasi TLS paling populer, termasuk Cisco, F5, dan Radware. Bleichenbacher tetap bertahan karena implementasi sulit dibuat dengan benar.

Dekripsi RSA dengan Waktu Konstan

Pertahanan: selalu lanjutkan dekripsi terlepas dari validitas pengisian; berikan respons yang sama persis untuk pengisian tidak valid. Gunakan kode dengan waktu konstan untuk mencegah perbedaan pewaktuan. Hal ini sulit diimplementasikan dengan benar.

Alasan OAEP Menggantikan v1.5

OAEP menyertakan hash satu arah dengan pintu jebakan yang membuktikan keamanan IND-CCA2 (aman terhadap teks tersandi pilihan). Bahkan dengan orakel pengisian, struktur acak OAEP membuat kueri orakel tidak memberikan informasi yang berguna.

Sistem Lama Masih Menggunakan v1.5

Meskipun OAEP sudah tersedia, PKCS#1 v1.5 masih bertahan dalam sistem pembayaran lama, aplikasi Java yang lebih tua, dan implementasi PKI tertentu. TLS 1.3 menghapus pertukaran kunci RSA sepenuhnya sehingga permukaan serangan ini ikut hilang.

Pemeriksaan Singkat

Apa yang dimaksud dengan "orakel pengisian" dalam konteks serangan Bleichenbacher?

Ringkasan

Serangan Bleichenbacher merupakan tonggak penting dalam kriptanalisis praktis. Selanjutnya kita akan mempelajari OAEP — pengisian yang keamanannya dapat dibuktikan dan menggantikan v1.5.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Padding PKCS#1 v1.5 & Bleichenbacher” gratis?

Ya — teks lengkap “Padding PKCS#1 v1.5 & Bleichenbacher” 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 “Padding PKCS#1 v1.5 & Bleichenbacher”?

Jelaskan serangan teks tersandi pilihan adaptif terhadap PKCS#1 v1.5. 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 2 dari 4.

Berapa lama pelajaran “Padding PKCS#1 v1.5 & Bleichenbacher” 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. RSA dari Buku Teks & Alasan Ketidakamanannya
  2. Padding PKCS#1 v1.5 & Bleichenbacher
  3. OAEP: Padding Enkripsi Asimetris Optimal
  4. RSA-PSS untuk Tanda Tangan Digital
← Kembali ke Cryptology Academy