Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Шифрование

1.9K
09 июня 2007 года
Werky
129 / / 14.01.2006
Чем или как лучше зашифровать пароль перед записью куки, и ещё подойдёт ли данный метод шифровки для шифрования паролей юзеров в БД?
347
09 июня 2007 года
Maniak
319 / / 05.11.2005
md5 подойдет для всего...
15
09 июня 2007 года
shaelf
2.7K / / 04.05.2005
... он подойдёт для большинства ситуаций, скажем так.
63
09 июня 2007 года
Zorkus
2.6K / / 04.11.2006
Цитата: Werky
для шифрования паролей юзеров в БД?


Думается, лучше всего пойдет собственная функция СУБД для этого.

245
09 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
[QUOTE=Maniak]md5 подойдет для всего...[/QUOTE]
md5 хорошая штука, но ею лучше шифровать дважды - сначала пароль, затем получившийся хэш. Тогда сбрутить пароль будет более чем затруднительно.
15
09 июня 2007 года
shaelf
2.7K / / 04.05.2005
2~ArchimeD~ Если ты знаешь, что там просто 2 md5 используется, то не труднее. Можно конечно предположить, что вычесление (для брута) 2 md5 вместо одной займут больше ресурсов проца и из-за этого время затянется, но другой причины более "сложной" расшифровки я не вижу.
274
09 июня 2007 года
Lone Wolf
1.3K / / 26.11.2006
даже один мд5 пробрутфорсить проблематично. Обычно используют мд5+шифрование с закрытым ключом.
7.9K
09 июня 2007 года
vasa_c
191 / / 05.04.2007
Вы уверены что хранить md5 от пароля в куках и то же самое в базе имеет смысл?
4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: ~ArchimeD~
но ею лучше шифровать дважды - сначала пароль, затем получившийся хэш. Тогда сбрутить пароль будет более чем затруднительно.



Где ты такое вычитал? :)
Сам подумай логически.

Если идет подбор брутфорсом и хэш известен, то
1. Есть реинбов метод - уже готовые пароли для хэша
2. Пароль который захеширован (пусть даже и 5 раз) не обязательно должен совпадать с тем который ты подберешь, да и вообще одному хэшу теоретически могут соответствовать множество паролей...

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

245
10 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: Tokolist
Где ты такое вычитал? :)
Сам подумай логически.

Если идет подбор брутфорсом и хэш известен, то
1. Есть реинбов метод - уже готовые пароли для хэша
2. Пароль который захеширован (пусть даже и 5 раз) не обязательно должен совпадать с тем который ты подберешь, да и вообще одному хэшу теоретически могут соответствовать множество паролей...

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



Пытаюсь думать логически:
1) по определению, вероятность того, что хэши любых двух разных паролей, зашифрованых md5, будут совпадать стремится к нулю.
2) устойчивость md5 к бруту заключается именно в том, что машине не хватит ресурсов подобрать пароль, если сам пароль конечно удовлетворяет правилам паролизации :) Зашифровав пароль дважды, мы значительно увеличиваем время подбора.
3) Если предположить, что есть машина с бесконечно большой производительностью, или таблица хэшев на все существующие пароли, то если вы подскажете метод шифрования пароля так, что его будет трудно подобрать/расшифровать, скажу ОГРОМНОЕ спасибо.

4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
[QUOTE=~ArchimeD~]1) по определению, вероятность того, что хэши любых двух разных паролей, зашифрованых md5, будут совпадать стремится к нулю.[/QUOTE]
Да, согласен, но не равна. :)

[QUOTE=~ArchimeD~]2) устойчивость md5 к бруту заключается именно в том, что машине не хватит ресурсов подобрать пароль, если сам пароль конечно удовлетворяет правилам паролизации ) Зашифровав пароль дважды, мы значительно увеличиваем время подбора.[/QUOTE]
Ну тогда уж лучше ИМХО блокировать атакующего на определенное время или вставить какую-нибудь задержку типа sleep(), а не нагружать сервер дополнительными алгоритмами, кроме того, снова таки ИМХО, двойное хэширование не намного больше будет занимать процессорного времени, чем одинарное (хотя тут надо бы сделать бенчмарк... :))

[QUOTE=~ArchimeD~]3) Если предположить, что есть машина с бесконечно большой производительностью, или таблица хэшев на все существующие пароли, то если вы подскажете метод шифрования пароля так, что его будет трудно подобрать/расшифровать, скажу ОГРОМНОЕ спасибо.[/QUOTE]
Методом брута можно подобрать все (единственное ограничение это время, которое зависит, в свою очередь, от многих других факторов) :)
Хватает ИМХО и хэширования одним из существующих алгоритмов, просто я не вижу смысла в двойном хэшировании, вот и все. :)
13
10 июня 2007 года
RussianSpy
3.0K / / 04.07.2006
Не надо ни MD5 и ничего другого. Достаточно НЕ КЛАСТЬ пароль в куки. А для хранения в БД достаточно будет пресловутого MD5.
4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: RussianSpy
Не надо ни MD5 и ничего другого. Достаточно НЕ КЛАСТЬ пароль в куки. А для хранения в БД достаточно будет пресловутого MD5.



Конечно же лучше использовать сессии и еще и проверять ip-адрес посетителя...

15
10 июня 2007 года
shaelf
2.7K / / 04.05.2005
... и при динамической смене ипа он(а) вылетает с сайта, а с учётом того, что энное колличество людей пользуются аномизаторами, то мы теряем посетителей (при этом они ничего плохого не делают, они просто хотят защититься).
245
10 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Идея двойного шифрования несла в себе следующий смысл:

если хэш каким то образом будет свиснут левой стороной, из бд или перехвачен из куков с помощью xss, то войти этот нехороший человек с этим хэшем на сайт сможет только пока сессия активна, и то, если к ip не привязана. Скорее всего у него возникнет желание из полученного хэша получить пароль. Следовательно кинет он в брутер этот хэш на подбор, и уйдет спать. А если пароль зашифрован дважды, то получит этот нехороший человек только первый хэш, и то через месяц-другой. Думаю перебирать его ещё один раз желания уже не возникнет.:)

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

З.Ы. а в случае перебора через запросы блокировать по ip на 15-20 минут после нескольких неудачных попыток - это само собой разумеется.
240
10 июня 2007 года
aks
2.5K / / 14.07.2006
Цитата: ~ArchimeD~
Пытаюсь думать логически:
1) по определению, вероятность того, что хэши любых двух разных паролей, зашифрованых md5, будут совпадать стремится к нулю.


Вот только не надо умничать. Ничего тут не стремится к нулю. Надо быть осторожней с терминами "вероятность" и "стремится к чемуто", тем более "по определению".

По поводу двойного хэша - абсолютно не понятно зачем это нужно. Если залогинится на сайте с помощью этого хеша - то чем спасет двойной по сравнению с одинарным? Если же просто вытянуть изначальный пароль из хеша, для каких то своих целей, - то это не возможно. Вспомните, что md5 - это необратимая, невзаимооднозначная функция. Тоесть это не шифрование данных, которые можно восстанавить - это хеширование, хоть и криптографическое, при котором теряется информация о изначальных данных. Следовательно даже если подобрать последовательность, которая дает тот же хеш - ничего не гарантирует, что это был нужный пароль. Хотя да, на сайте им логинится можно будет, если пароль в хеше хранится в базе. Но тогда опять же 2-й хэш не нужен ))

245
10 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: aks
Вот только не надо умничать. Ничего тут не стремится к нулю. Надо быть осторожней с терминами "вероятность" и "стремится к чемуто", тем более "по определению".

По поводу двойного хэша - абсолютно не понятно зачем это нужно. Если залогинится на сайте с помощью этого хеша - то чем спасет двойной по сравнению с одинарным? Если же просто вытянуть изначальный пароль из хеша, для каких то своих целей, - то это не возможно. Вспомните, что md5 - это необратимая, невзаимооднозначная функция. Тоесть это не шифрование данных, которые можно восстанавить - это хеширование, хоть и криптографическое, при котором теряется информация о изначальных данных. Следовательно даже если подобрать последовательность, которая дает тот же хеш - ничего не гарантирует, что это был нужный пароль. Хотя да, на сайте им логинится можно будет, если пароль в хеше хранится в базе. Но тогда опять же 2-й хэш не нужен ))



Насчет умничать, неплохо быть повежливее для начала. Было написано про попытку думать логически. "По определению" - это значит мне такое определение встречалось, и ежу понятно что число всех возможных символьных комбинаций больше всех возможных хэшей.
Если пароль зашифрован 1 раз - то вероятность, что подобранный перебором пароль, будет таким, каким нужно, как раз имеет очень большой процент, т.к. не родился ещё тот человек, который будет запоминать и использовать 64-символьные пароли на сайтах. А в пределах 20 символов врядли 2 строки будут иметь одинаковые хэши.
Если дважды зашифровать пароль - при переборе (именно у себя на компьютере, а не на удаленном сервере! - в целях нахождения строки, имеющей одинаковый с требуемой хэш) он будет один раз расшифрован, на сайте под ним не залогинишься, т.к. это не будет исходным паролем, пока не выковырнешь именно изначальную строку. А сколько это займет времени, думаю объяснять не надо.

240
10 июня 2007 года
aks
2.5K / / 14.07.2006
Цитата: ~ArchimeD~
Насчет умничать, неплохо быть повежливее для начала. Было написано про попытку думать логически. "По определению" - это значит мне такое определение встречалось, и ежу понятно что число всех возможных символьных комбинаций больше всех возможных хэшей.


Всех возможных комбинаций бесконечно много. Равномощьно множеству целых чисел. Но вопрос то был в стремлении к нулю, что некорректно. Вспомните.ю что такое стремление к нулю. ))

Цитата: ~ArchimeD~

А в пределах 20 символов врядли 2 строки будут иметь одинаковые хэши.


Уверенны в этом? Вероятно - это не обяательно. 2 коротких строки воплне могут (и имеют) один хеш.

245
10 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: aks
Всех возможных комбинаций бесконечно много. Равномощьно множеству целых чисел. Но вопрос то был в стремлении к нулю, что некорректно. Вспомните.ю что такое стремление к нулю. ))


Уверенны в этом? Вероятно - это не обяательно. 2 коротких строки воплне могут (и имеют) один хеш.



Ок, насчет стремления к нулю оставим дискуссию. Попробую привести для понимания пример:

Есть сайт, дядя Вася стырил значение кукиза "пароль". Подобрать через запросы не получается - через 5 попыток бан на 15 минут.
Дядя Вася видит, что это md5 хэш, берет переборщик и начинает перебирать возможные комбинации. Есть два варианта -
1) через месяц найденная строка будет неверной, ситуация тупиковая для дальнейшего развития, в ее конце дядя Вася убивает сибяапстену.
2) через месяц найденная строка будет верной, но дядя Вася, в состоянии, близком к истерике обнаруживает, что это очередной хэш. Но он упорен и начинает подбирать строку и для него. Опять две ситуации

2.1) Ещё через 2 недели дяде Васе выплевывается неверный пароль. Дядя Вася убивает сибяапстену.
2.2) Ещё через 2 недели дяде Васе выплевывается верный пароль, но к этому времени пароли уже все поменяли. Дядя Вася убивает сибяапстену.

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

240
10 июня 2007 года
aks
2.5K / / 14.07.2006
=))))
А суть то в том, что хранить и передавть хэши в куках в данном случае не корректно. )) Не для того они предназначенны, а шифрование в сети другими средствами достигается. )
4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: shaelf
... и при динамической смене ипа он(а) вылетает с сайта, а с учётом того, что энное колличество людей пользуются аномизаторами, то мы теряем посетителей (при этом они ничего плохого не делают, они просто хотят защититься).



Надежная авторизация используется в основном в инет-магазинах и платежных системах, а если юзверь, такой нехороший, меняет динамически свой ип значит он что-то скрывает, значит такому пользователю доверять нельзя, значит мне такие пользователи не нужны.... :)

[QUOTE=~ArchimeD~]или перехвачен из куков с помощью xss[/QUOTE]
Параноидально проверяем переменные и ниче такого не будет :)

[QUOTE=~ArchimeD~]Следовательно кинет он в брутер этот хэш на подбор[/QUOTE]
Он подберет пароль к этому хэшу и успешно авторизируется с помощью него.

[QUOTE=aks]Ничего тут не стремится к нулю.[/QUOTE]
Если есть четкие ограничения, например, пароль может быть в приделах 8-12 символов и еще и ограничения на символы, то врядли таких совпадений будет много, т.е. будет "стремится к нулю" :) (ИМХО конечно)

245
10 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: aks
=))))
А суть то в том, что хранить и передавть хэши в куках в данном случае не корректно. )) Не для того они предназначенны, а шифрование в сети другими средствами достигается. )



Ну вот, кажись и договорились - хранить и передавть хэши в куках не стоит, но если уж Магомет предписал делать именно так, то шифровать дважды - надежнее, чем один раз:)

240
10 июня 2007 года
aks
2.5K / / 14.07.2006
Цитата: Tokolist
Надежная авторизация используется в основном в инет-магазинах и платежных системах, а если юзверь, такой нехороший, меняет динамически свой ип значит он что-то скрывает, значит такому пользователю доверять нельзя, значит мне такие пользователи не нужны.... :)


А если у юзера несколько точек доступа (с ноута например, а юзер серьезный такой, богатый, постоянный) и все с разным IP? Или dial-up у него, да мало ли чего. Почему обязательно скрывать?


Цитата: Tokolist

Если есть четкие ограничения, например, пароль может быть в приделах 8-12 символов и еще и ограничения на символы, то врядли таких совпадений будет много, т.е. будет "стремится к нулю" :) (ИМХО конечно)


Мое замечание было именно в к коректности применения термина "стремится". А "врядли таких совпадений будет много" и "стремится к нулю" это абсолютно разные вещи. Из разных плоскостей можно сказать. )

4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: ~ArchimeD~
Ну вот, кажись и договорились - хранить и передавть хэши в куках не стоит, но если уж Магомет предписал делать именно так, то шифровать дважды - надежнее, чем один раз:)



Передавать то в кукис не стоит, но и в базах двойное хэширование использовать тоже не стоит :)

4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
[QUOTE=aks]А если у юзера несколько точек доступа (с ноута например, а юзер серьезный такой, богатый, постоянный) и все с разным IP? Или dial-up у него, да мало ли чего. Почему обязательно скрывать?[/QUOTE]
Я имею ввиду динамическое изменение, тоесть в текущем подключении (скажем каждых 2 минуты) ;)


[QUOTE=aks]Мое замечание было именно в к коректности применения термина "стремится". А "врядли таких совпадений будет много" и "стремится к нулю" это абсолютно разные вещи. Из разных плоскостей можно сказать. )[/QUOTE]
ок, полностью согласен
13
11 июня 2007 года
RussianSpy
3.0K / / 04.07.2006
Спор на уровне "из чего лучше делать квадратные колеса для машины". Объясните мне ЗАЧЕМ пароль либо его хэш совать в куки? Каков сакральный смысл? Не могу придумать НИ ОДНОГО случая когда такое может потребоваться.
245
11 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: RussianSpy
Спор на уровне "из чего лучше делать квадратные колеса для машины". Объясните мне ЗАЧЕМ пароль либо его хэш совать в куки? Каков сакральный смысл? Не могу придумать НИ ОДНОГО случая когда такое может потребоваться.



Ну можно так сделать, скажем на каждой странице проверять пароль юзера, тот или не тот в кукизах лежит.

4.6K
11 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: RussianSpy
Спор на уровне "из чего лучше делать квадратные колеса для машины". Объясните мне ЗАЧЕМ пароль либо его хэш совать в куки? Каков сакральный смысл? Не могу придумать НИ ОДНОГО случая когда такое может потребоваться.



Можно вообще кинуть пароль в кукис не зашифрованным и не хэшированными, если сайт типа "домашняя страничка" :D

Спор идет о том нужно ли вообще двойное хэширование пароля... Или я чета недопонял... :D

245
11 июня 2007 года
~ArchimeD~
1.4K / / 24.07.2006
Цитата: Tokolist

Спор идет о том нужно ли вообще двойное хэширование пароля... Или я чета недопонял... :D



Понял правильно, но не понял, что уголовное дело закрыто за обоюдным соглашением сторон. Выяснили, что от двойного шифрования пароля в кукизах будет не хуже, а лучше, но при этом пришли к соглашению, что вообще совать пароль в кукизы - бред:D

1.9K
12 июня 2007 года
Werky
129 / / 14.01.2006
Значит на сколько я понял из всего выше перечисленного, что нужно использовать md5 (по возможности дважды) и забыть про куки а использовать сессии.
304
14 июня 2007 года
Fenyx
707 / / 26.01.2005
Многа буков - много мнений. А производительность такой системы?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог