CBC-də doldurma orakulu
Yalnız «doldurma səhvdir» deyən server istənilən mesajı açarsız, bayt-bayt deşifrləməyə kifayətdir. Bu demo real AES-CBC-yə hücum edir.
İnteraktiv demonun içindəki yazılar hələlik ingilis dilindədir.
Encrypting the secret with a fresh AES key…
Nəyə diqqət etməli
- Orakul (padding oracle) hər sorğuda bir bit sızdırır: doldurma düzgün idimi? Açıq mətni bərpa etmək üçün bayt başına təxminən 128 sorğu kifayətdir.
- Hücumçu yalnız əvvəlki şifrmətn blokunu dəyişir. CBC deşifrləməsi onu növbəti bloka XOR edir, buna görə hər təxmin açıq mətnin idarə olunan redaktəsidir.
- Həll daha yaxşı səhv mesajı deyil. Deşifrləmədən əvvəl autentifikasiya edin (encrypt-then-MAC) və ya AEAD istifadə edin ki, dəyişdirilmiş şifrmətn doldurma yoxlanmazdan əvvəl rədd edilsin.