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

Turist

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

DiMA

php.spb.ru
Команда форума
> который жмёт любые данные в 16 байт

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

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

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

Разгильдяй

Новичок
Автор оригинала: DiMA
> Пароли хранились в мд5

1. не допусти кражу базы
2. придумай свой извращенный алгоритм. Тогда хакоры обломаются со стандарными софтинами.
3. используй 10 проходов md5 (тока аккуратно, с умом)
А ты думаешь я открыл доступ к базе для всех желающих?
Проблема в том, что на другом домене был форум, где часть моих юзеров была зарегена. Хакер скачал эксплоит для форума и с помощью него получил хеши паролей. Что было дальше думаю все догадались.
 

SiMM

Новичок
> Хакер скачал эксплоит для форума и с помощью него получил хеши паролей
При наличии хэша пароля знать пароль - необязательно :) По крайней мере - в виденных мною реализациях авторизации, юзающих так же и несессионные куки (типа "запомнить меня").
 

Opik

Новичок
А если так:
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, да и каждый раз получаются новые, но в конечном итоге проверить можно... Т.е со стороны будет довольно сложно, если реально, подобрать.
 

SiMM

Новичок
> 1. не всегда
Не видя алгоритма авторизации - я этого утверждать не берусь.

> 2. разные сервера
Ну и что?
 

Kelkos

Сам себе программер
гыы.. аффтар жжот!
мдя.. ну атак круче будет? $hash=md5(md5(md5($pass.$secret_key)));
 

white phoenix

Новичок
Opik
аффтар жжот одназначно! позволь поинтересоваться, чем твоя конструкция усложнит жизнь взломщику? можно сделать подбор по маске, ведь у тебя $seed это последние 10 символов хеша.
лучше уж
PHP:
$hash = md5(strrev(md5($pass.$secret_key).strrev(sha1($secret_key))));
 

SiMM

Новичок
> можно сделать подбор по маске
Я всё больше склоняюсь к тому, что при наличии хэша никакой подбор не понадобится вообще. Особенно если есть такая фича как "запомнить меня" (или "вспомнить меня при следующем входе", т.е. хэш хранится в куке).
 

white phoenix

Новичок
SiMM
к строке, хеш которой записывается в cookie, как правило добавляется какая-нибудь строка, зачастую в формировании этой строки принимают участие такие переменные как например дата последнего входа пользователя.
 

SiMM

Новичок
white phoenix
http://phpclub.ru/talk/showthread.php?postid=555973#post555973
Так что не более, чем рабочая гипотеза.
И потом - ваша схема не позволяла бы нормально работать людям, сидящим попеременно за двумя компьютерами - приходилось бы каждый раз авторизовываться.

-~{}~ 15.12.05 21:55:

И, кстати, наглядный пример - посмотрите, что хранится в куках этого форума :)
 

svetasmirnova

маленький монстрик
Приведу-ка я ссылочку:
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: это к гуглу.
 

si

Administrator
white phoenix
seed сделан для предотвращения атаки по словарю, когда мы имеет просчитанный хеш для 'test' но не имеем еще 65K вариантов для 2х байтного seed либо тебе прийдется все равно использовать brute force

-~{}~ 15.12.05 21:55:

svetasmirnova
http://www.php.net/mhash
 

white phoenix

Новичок
SiMM
Я знаком с устройством vBulletin :)
svetasmirnova
Ссылка оффтоп. Мы обсуждаем не hash-функции, а то что хешировать.
 

SiMM

Новичок
> Я знаком с устройством vBulletin
Ну так так делается в большинстве случаев (возможно, как сказал _RVK_ в соседнем топике - по инерции). Мне другие реализации не попадались - самому было бы интересно увидеть и посмотреть на их плюсы и минусы :)
Так что обронённую вами фразу я считаю как минимум опрометчивой. В плане словосочетания "как правило" и слова "зачастую".
 

svetasmirnova

маленький монстрик
white phoenix
Вы - да.
А автор топика спросил:
>Есть ли алгоритм, который кодирует жеще чем md5?
Вот здесь: http://phpclub.ru/talk/showthread.php?postid=555937#post555937

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

SiMM

Новичок
> А автор топика спросил
А автору топика нужно совершенно не то, что он спросил вначале. Пора бы к подобному привыкнуть :)
 
Сверху