2015-11-22 2 views
0

Если я сделать что-то подобное в PHP:Насколько безопасно использовать изменяющийся хэш, например время?

$server_key = md5('00' . date('i') . '09'); 

и представить форму HTML с датой (в секундах), закодированной в md5 (плюс хэш до и после):

Является ли это легко взломать ?

+0

Безопасный против чего? Для чего его используют? Я бы не догадался, особенно если злоумышленник узнал, что вы делаете. –

+0

Используется для пароля в первую очередь. Обеспечьте защиту от атак, таких как грубая сила. – Andrew

+0

Вот что я прошу ... это было бы легко понять. – Andrew

ответ

2

Я предполагаю использование значения хеш-файла MD5 в течение нескольких секунд как метод аутентификации из-за информации в комментариях ниже вопроса.


Нет, это не считается безопасным, потому что

  • он ломает Kerckhoff's principle: сам алгоритм должен рассматриваться общественностью и любой желающий может реализовать алгоритм без получения секретного/ключа;
  • довольно легко выполнять итерацию через все секунды, например. в год и проверить все возможности на сервере;
  • время уже захвачено злоумышленником, наблюдающим за созданием соединения, или его можно легко угадать, основываясь на простом просмотре часов;

Этот MD5 также небезопасен, даже не вступил в игру здесь (и было бы чрезвычайно сложно применить атаку на этот протокол).

+0

* "и он [будет ** не **] быть исключительно твердым" *, правильно? –

+1

@ArtjomB. Нет, это * будет исключительно сложным, потому что злоумышленник не контролирует ввод хэша, а хеш имеет ограниченный размер. Нет необходимости атаковать MD5, потому что другие проблемы намного легче атаковать. –

+0

@ArtjomB. ... * вход * хеша имеет ограниченный размер (хэш конечно * всегда * ограниченного размера): P –

Смежные вопросы