Рейтинг:1

Где именно вы добавляете нули к URL-адресу в атаке оракула заполнения? Кроме того, как бы вы расшифровали файл таким образом?

флаг uz

Я изучал различные криптоатаки, и одной из атак, которую я недавно изучал, была атака padding oracle. Теперь я в основном это понимаю, но есть один аспект атаки padding oracle, о котором меня смущают разные учителя из разных источников:

Допустим, у меня есть URL:

http://somesite.com/place?ciphertext=aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccccccccccccdddddddddddddddddd

(Предположим, что зашифрованный текст находится в шестнадцатеричном формате, а «аа» — это один байт, поэтому в целом этот зашифрованный текст состоит из 32 байтов, расположенных в двух 16-байтовых блоках. В этом примере первый блок начинается с первого «аа» и заканчивается последним 'bb'. Все, что после этого, является 2-м блоком зашифрованного текста.)

Теперь я знаю, что для запуска атаки оракула заполнения вы должны добавить блок нулей в качестве вектора инициализации к этому зашифрованному тексту. Однако я получаю неоднозначные и непоследовательные сигналы о том, где будут добавлены эти 0.

Например, в одном источнике казалось, что 0 будут добавлены в качестве префикса к первому блоку зашифрованного текста, поэтому приведенный выше URL-адрес станет таким:

http://somesite.com/place?ciphertext=0000000000000000000000000000000000aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccccccccccccdddddddddddddddd

Однако другой источник создал впечатление, что нули заменят первый блок зашифрованного текста, поэтому URL-адрес станет таким:

http://somesite.com/place?ciphertext=000000000000000000000000000000000ccccccccccccccccdddddddddddddddd

Тем не менее, другой источник создал впечатление, что вы добавляете нули в конец зашифрованного текста следующим образом:

http://somesite.com/place?ciphertext=aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccccccccccdddddddddddddd00000000000000000000000000000000000

Что это, или это необязательно?

Кроме того, описанный выше метод попытки атаки оракула заполнения предполагает, что зашифрованный текст присутствует в URL-адресе, но что, если вы хотите расшифровать файл, такой как файл cookie или что-то подобное? При атаке через URL-адрес вы можете получить от сервера такие ответы, как статус 200 и 500. Однако, если вы пытаетесь расшифровать просто файл на вашем компьютере, то что будет выступать в роли сервера? Насколько мне известно, если это просто файл, то нет сервера, который мог бы дать вам какие-либо ответы или какие-либо ошибки «badPaddingException» или что-то в этом роде.Это также означает, что нет сервера, который действительно знал бы промежуточные байты, которые использовались при шифровании. Как тогда вы будете расшифровывать файл (в отличие от URL-адреса), используя метод атаки оракула заполнения?

bk2204 avatar
флаг fr
Расположение IV зависит от того, как сериализуется зашифрованный текст. Обычно он просто добавляется в начало, но иногда он сериализуется по-другому, или IV генерируется с использованием функции деривации ключа и вообще не может контролироваться.
Rikudou avatar
флаг uz
@bk2204 bk2204 Спасибо за этот ответ. Кроме того, знаете ли вы, как можно использовать атаку оракула заполнения для расшифровки чего-то вроде файла или файла cookie (или чего-то, чего нет в URL-адресе)? Я не знаю, как именно можно использовать этот метод для файла, когда простой файл на вашем компьютере не имеет сервера, чтобы отправить вам статус ответа.
флаг et
@Rikudou для использования атаки оракула заполнения, вам нужен оракул заполнения, который свободно отвечает на запросы о том, правильно ли заполнено сообщение или нет.Если у вас нет оракула-заполнителя, вы не можете выполнить атаку оракула-заполнителя. В URL-адресе веб-сервер, который отвечает на URL-адрес, является оракулом заполнения.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.