Îmi dau seama că completarea tuturor octeților cu prostii aleatorii și a ultimului octeți cu numărul de octeți ar fi mult mai sigură. De ce nu este cazul într-un standard de umplutură atât de larg distribuit? Exemplul de mai jos nu este mai sigur?
53 65 63 72 65 74 20 74 65 78 74 2e --> 53 65 63 72 65 74 20 74 65 78 74 2e 5a 2c 12 04
Acest lucru este în principiu cunoscut ca Captuseala ISO 10126, compatibil cu Captuseala ANSI X9.23.
Mai întâi de toate, trebuie remarcat faptul că atacurile de tip oracle de umplutură sunt doar o parte dintr-un set mai larg de atacuri de oracle în text clar.Deci, dacă textul simplu decriptat poate genera orice eroare, aceleași probleme pot apărea atunci când sistemul încearcă să aplice textul simplu. De exemplu, este foarte ușor să creezi un Atacul oracle în text simplu folosind erorile unui decodor XML. Și mai ușor: dacă blocurile de text simplu constă în umplutură din partea stângă, atunci evident că ar eșua și un atac oracol de umplutură.
În al doilea rând, un text cifrat va fi acum acceptat (adică nu va genera o eroare de completare) 1 dată din 256 / 8 = 32 de ori (octetul final este evaluat 01
la 08
) în loc de aproximativ o dată la 256 de ori (octetul final este evaluat 01
sau se valorează octeții finali 02 02
etc.). Acest lucru exclude utilizarea umpluturii pentru integritatea / autenticitatea mesajului.
În al treilea rând, ați atenuat atacul de padding oracle, dar nu l-ați eliminat complet. La urma urmei, octetul final va mai trebui evaluat. Considerăm un cifr rupt dacă orice poate fi învățat din textul simplu original.
În cele din urmă, nu ați eliminat căptușeala de deasupra capului.
Dacă presupui oricum supraîncărcare, atunci ai putea la fel de bine să adaugi o etichetă de autentificare, creată folosind un MAC sau un cifru autentificat. Acesta este motivul pentru care nu suntem foarte interesați de proprietățile de umplutură. Putem folosi un mod care nu necesită umplutură, adăugați eticheta de autentificare și avem un mod de criptare cu proprietăți de securitate mai bune, păstrând în același timp extinderea mesajelor limitată.