Знание одного зашифрованного символа открывает уязвимость в безопасности? - PullRequest
0 голосов
/ 26 июня 2018

Один из столбцов в таблице в базе данных моего API - это зашифрованный текст, состоящий из двух частей информации, объединенных с определенным разделителем, скажем, двоеточием. Вторая часть информации всегда имеет длину, скажем, 12 символов.

Раскрывает ли знание этой информации уязвимость системы безопасности и потенциально позволяет злоумышленникам расшифровывать информацию, если они ее овладеют?

Информация зашифрована с использованием метода php openssl_encrypt() и шифра 'aes-128-gcm'.

1 Ответ

0 голосов
/ 11 сентября 2018

То, о чем вы говорите, известно в литературе как частично известная атака открытым текстом (частичная KPA).

Информация зашифрована с использованием php-метода openssl_encrypt () и шифра 'aes-128-gcm'.

AES-GCM объединяет AES-CTR с GHASH (полиномиальный MAC над GF (2 ^ 128)).

Чтобы ответить на ваш вопрос, требуется углубиться в криптографические сорняки, но обычно:

  • AES считается защищенным блочным шифром.
  • Режим CTR превращает блочный шифр в потоковый шифр.
  • Шифрование потокового шифра концептуально эквивалентно одноразовым контактным площадкам, за исключением того, что поток ключей генерируется из ключа и одноразового номера, и, таким образом, может иметь только конечный (в данном случае 128-битный) уровень безопасности.

Один из столбцов таблицы в базе данных моего API - это зашифрованный текст, состоящий из двух частей информации, соединенных с заданным разделителем, скажем, двоеточием. Вторая часть информации всегда имеет длину, скажем, 12 символов.

Единственное, что вы можете сделать вывод из зашифрованного текста AES-GCM, это длина открытого текста.

Чтобы иметь возможность вывести остаток ключевого потока из одного байта зашифрованного текста (и соответствующего известного открытого текста для этого байта), AES должен быть очень небезопасным блочным шифром. Поскольку мы знаем (благодаря 21-летнему опыту криптоанализа), что AES является безопасным блочным шифром, а AES-GCM - режим защищенного шифрования с аутентификацией, частичные KPA не имеют значения для этой конструкции.

...