Безопасность md5

Интересно по поводу коллизий кто нибудь прочёл мой пост ;) Мне было бы интересно узнать, может я не прав? :/
 
> который жмёт любые данные в 16 байт

Такой архиватор-прикол был в середине 90-х годов... Жжет круто :) Путем запуска его раз 100 самого на себя я ужал дум2 (40 метров) до 100Кб =)

> Пароли хранились в мд5

1. не допусти кражу базы
2. придумай свой извращенный алгоритм. Тогда хакоры обломаются со стандарными софтинами.
3. используй 10 проходов md5 (тока аккуратно, с умом)
 
Автор оригинала: DiMA
> Пароли хранились в мд5

1. не допусти кражу базы
2. придумай свой извращенный алгоритм. Тогда хакоры обломаются со стандарными софтинами.
3. используй 10 проходов md5 (тока аккуратно, с умом)
А ты думаешь я открыл доступ к базе для всех желающих?
Проблема в том, что на другом домене был форум, где часть моих юзеров была зарегена. Хакер скачал эксплоит для форума и с помощью него получил хеши паролей. Что было дальше думаю все догадались.
 
> Хакер скачал эксплоит для форума и с помощью него получил хеши паролей
При наличии хэша пароля знать пароль - необязательно :) По крайней мере - в виденных мною реализациях авторизации, юзающих так же и несессионные куки (типа "запомнить меня").
 
А если так:
PHP:
function pw_encode($password)
{
   for ($i = 1; $i <= 10; $i++)
       $seed .= substr('0123456789abcdef', rand(0,15), 1);
   return sha1($seed.$password.$seed).$seed;
}

function pw_check($password, $stored_value)
{
   if (strlen($stored_value) != 50)
     return FALSE;
   $stored_seed = substr($stored_value,40,10);
   if (sha1($stored_seed.$password.$stored_seed).$stored_seed == $stored_value)
     return TRUE;
   else
     return FALSE;
}
Хеши основаны на sha1, да и каждый раз получаются новые, но в конечном итоге проверить можно... Т.е со стороны будет довольно сложно, если реально, подобрать.
 
> 1. не всегда
Не видя алгоритма авторизации - я этого утверждать не берусь.

> 2. разные сервера
Ну и что?
 
гыы.. аффтар жжот!
мдя.. ну атак круче будет? $hash=md5(md5(md5($pass.$secret_key)));
 
Opik
аффтар жжот одназначно! позволь поинтересоваться, чем твоя конструкция усложнит жизнь взломщику? можно сделать подбор по маске, ведь у тебя $seed это последние 10 символов хеша.
лучше уж
PHP:
$hash = md5(strrev(md5($pass.$secret_key).strrev(sha1($secret_key))));
 
> можно сделать подбор по маске
Я всё больше склоняюсь к тому, что при наличии хэша никакой подбор не понадобится вообще. Особенно если есть такая фича как "запомнить меня" (или "вспомнить меня при следующем входе", т.е. хэш хранится в куке).
 
SiMM
к строке, хеш которой записывается в cookie, как правило добавляется какая-нибудь строка, зачастую в формировании этой строки принимают участие такие переменные как например дата последнего входа пользователя.
 
white phoenix
http://phpclub.ru/talk/showthread.php?postid=555973#post555973
Так что не более, чем рабочая гипотеза.
И потом - ваша схема не позволяла бы нормально работать людям, сидящим попеременно за двумя компьютерами - приходилось бы каждый раз авторизовываться.

-~{}~ 15.12.05 21:55:

И, кстати, наглядный пример - посмотрите, что хранится в куках этого форума :)
 
Приведу-ка я ссылочку:
http://pecl.php.net/package/hash
Supported Algorithms:
* md4, md5
* sha1, sha256, sha384, sha512
* ripemd128, ripemd160
* tiger128, tiger160, tiger192 (3 and 4 passes)
* haval128, haval160, haval192, haval224, haval256 (3, 4 and 5 passes)
* crc32, crc32b, adler32, gost, snefru, whirlpool
Сама не пользовалась. Who is what: это к гуглу.
 
white phoenix
seed сделан для предотвращения атаки по словарю, когда мы имеет просчитанный хеш для 'test' но не имеем еще 65K вариантов для 2х байтного seed либо тебе прийдется все равно использовать brute force

-~{}~ 15.12.05 21:55:

svetasmirnova
http://www.php.net/mhash
 
SiMM
Я знаком с устройством vBulletin :)
svetasmirnova
Ссылка оффтоп. Мы обсуждаем не hash-функции, а то что хешировать.
 
> Я знаком с устройством vBulletin
Ну так так делается в большинстве случаев (возможно, как сказал _RVK_ в соседнем топике - по инерции). Мне другие реализации не попадались - самому было бы интересно увидеть и посмотреть на их плюсы и минусы :)
Так что обронённую вами фразу я считаю как минимум опрометчивой. В плане словосочетания "как правило" и слова "зачастую".
 
white phoenix
Вы - да.
А автор топика спросил:
>Есть ли алгоритм, который кодирует жеще чем md5?
Вот здесь: http://phpclub.ru/talk/showthread.php?postid=555937#post555937

И не смотря на ваши рассуждения о полезности/бесполезности использования других алгоритмов, список см. выше ;)
Да и crypt когда-то был популярным алгоритмом.
 
> А автор топика спросил
А автору топика нужно совершенно не то, что он спросил вначале. Пора бы к подобному привыкнуть :)
 
Сверху