HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHP: Хэширование паролей
  #1  
Старый 29.10.2009, 20:37
dimash
Познающий
Регистрация: 14.04.2008
Сообщений: 78
С нами: 9512704

Репутация: 4
Post PHP: Хэширование паролей

Наткнулся на статью. Хэширование паролей, совет
Цитата:
Ответ очевиден - перед хэширование мы создаем случайную строку определенной длинны, соль, и присоединяем ее к паролю. Этим мы убиваем сразу двух зайцев - взломщику не будут видны одинаковые пароли и мы улучшим стойкость к перебору за счет увеличения длинны. Естественно, соль придется хранить в базе, однако это самое меньшее зло, несколько лишних символов в базе проблемы не решат.
Не понимаю суть. Если угадают через форму, совет не сыграет роли. Это действительно может помочь, если базу нелегально сольют?
 
Ответить с цитированием

  #2  
Старый 29.10.2009, 22:36
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
С нами: 10016425

Репутация: 1257


По умолчанию

Да, паролей не будет в словарях и прийдётся брутить с нуля. Но если пароли вида 123456 то их всё-равно подберут.
А вообще, советую почитать:http://mrthe.name/2009/08/kak-hranit...-polzovatelej/
 
Ответить с цитированием

  #3  
Старый 29.10.2009, 22:53
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
С нами: 10467746

Репутация: 4738


По умолчанию

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

  #4  
Старый 30.10.2009, 08:06
@D_
Новичок
Регистрация: 29.07.2009
Сообщений: 17
С нами: 8834151

Репутация: 4
По умолчанию

соль нужна для сокрытия пароля. Даже если он в md5, вероятность коллизии или подбора по базе md5 хешей отпадает. Соответственно, получив базу или вытянув куки, удаленный взломщик не сможет восстановить пароль пользователя из подобного хеша.
Несомненно, это не защищает от банального брута пасса через форму, однако защищает от восстановления пароля при получении кук или бд. Хотя если соли лежит в той же базе, все старания напрасны.
Лично я для своих проектов храню солю в конфигах, не в базе. Пусть она одна и одинаковые пассы можно найти через базу, зато первичную соль не узнать, получив доступ только к базе.
 
Ответить с цитированием

  #5  
Старый 30.10.2009, 10:18
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
С нами: 9042754

Репутация: 399
По умолчанию

Опять-же использование нестандартного алгоритма присоединения соли заставит взломавшего искать или писать самому модуль для брута...
чтонить типа Md5(md5(salt).salt.md5(pass)) да и скорость брута никогда не сравнится со скоростью брута простого MD5.

@D_ существуют способы узнать соль если известен алгоритм хеширования.
Т.е. если мы зарегены, мы знаем свой пасс если ещё знаем и алгоритм, то просто если изначальный алгоритм md5(salt.pass), то использую md5(pass.salt) и подставив вместо соли наш пасс, мы тупо брутим соль.

А вот зная соль и зная что она одинаковая во всех хешах, мы можем брутить пасс со скоростью простого MD5.
 
Ответить с цитированием

  #6  
Старый 30.10.2009, 15:28
@D_
Новичок
Регистрация: 29.07.2009
Сообщений: 17
С нами: 8834151

Репутация: 4
По умолчанию

Цитата:
Сообщение от Gray_Wolf  
Опять-же использование нестандартного алгоритма присоединения соли заставит взломавшего искать или писать самому модуль для брута...
чтонить типа Md5(md5(salt).salt.md5(pass)) да и скорость брута никогда не сравнится со скоростью брута простого MD5.

@D_ существуют способы узнать соль если известен алгоритм хеширования.
Т.е. если мы зарегены, мы знаем свой пасс если ещё знаем и алгоритм, то просто если изначальный алгоритм md5(salt.pass), то использую md5(pass.salt) и подставив вместо соли наш пасс, мы тупо брутим соль.

А вот зная соль и зная что она одинаковая во всех хешах, мы можем брутить пасс со скоростью простого MD5.
несомненно, однако мы забываем, что соль для кук и для базы может быть разной =) Да и потом, чтобы брутить хеш, нужно всё таки получить доступ к базе.
 
Ответить с цитированием

  #7  
Старый 30.10.2009, 15:56
Gray_Wolf
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
С нами: 9042754

Репутация: 399
По умолчанию

Цитата:
Сообщение от @D_  
несомненно, однако мы забываем, что соль для кук и для базы может быть разной =) Да и потом, чтобы брутить хеш, нужно всё таки получить доступ к базе.
Ну для кук вообще использовать пасс ненужно, так что непонимаю о чём это вы.

А по поводу доступа к базе, так тут и идёт обсуждение того как защитить пароли юзеров если до базы всётаки доберутся...

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

Т.е. врядли кто-то станет тратить сутки брута для востановления пароля от домашней странички, а вот брут пасса от кредитки с крупной суммой должен занимать месяц...
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PSalm69 Избранное 273 13.02.2016 01:24
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.