Может ли ключ шифрования быть обнаружен с помощью закодированной строки и строки? - PullRequest
1 голос
/ 22 мая 2011

Я использую функцию PHP mcrypt_encrypt для шифрования идентификатора, который будет отправлен в URL.Например: /?id=encryptedstring вместо /?id=1;это сделано для того, чтобы пользователи не могли угадать следующую последовательность.

Может ли пользователь обнаружить ключ шифрования, если у него есть зашифрованная строка и исходное значение?

Ответы [ 4 ]

4 голосов
/ 22 мая 2011

Шифрование - неправильный путь.

Если вас беспокоит, что пользователь угадывает следующую последовательность, рассмотрите возможность присвоения каждой записи случайного, 10- или 20-значного идентификатора с самого начала.

Тем не менее, если вы защищаете конфиденциальные данные, полагаться на непонятные URL-адреса недостаточно для * .URL-адреса можно передавать, они будут сохранены в истории браузера, будут отображаться в журналах прокси и сервера и т. Д.

В этом случае вам необходимо внедрить систему авторизации, которая позволяет пользователям получать доступ только к записям.им разрешен доступ (например, при входе пользователей в систему), поэтому не имеет значения, знают ли они последовательность.

1 голос
/ 22 мая 2011

Если вы действительно беспокоитесь об этом, вы можете добавить соль к вашему шифрованию.

1 голос
/ 22 мая 2011

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

Однако брутфорс очень неэффективен, поэтому маловероятно, что он обнаружит ваш ключ.

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

Пекка предлагает просто запретить доступ, если у пользователя нет правильного разрешения на чтение записи, которому вы обязательно должны следовать. «Безопасность через неизвестность - это вовсе не безопасность».

0 голосов
/ 22 мая 2011

обычно для взлома шифрования требуется больше, чем одна пара чистых + зашифрованных данных (т. Е. Для получения ключа).Это если вы используете приличную схему шифрования, конечно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...