Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > хранение паролей в скрипте


Автор: dmitryk1 1.11.2008, 04:30
Вытащил все пароли из бд в отдельный модуль. В хэш...


как бы всё это счастье ещё бы криптануть, чтобы максимально усложнить выдёргивание этих паролей...

всё лежит в линухе... 

Скажите, кто что пользует для таких целей? 

(на всякий случай, база ораклёвая) 




Автор: gcc 1.11.2008, 04:35
зачем вытащили? 

хэш md5, можно sha или другой(я пробовал какой-то sha*(320), он процессор под 100% грузит 3-4 секунды)


Автор: sir_nuf_nuf 1.11.2008, 10:09
dmitryk1, а в БД они открытым текстом лежат ?
тогда я думаю вы не в том месте защищаетесь

Автор: ginnie 1.11.2008, 11:38
Уважаемый dmitryk1, не очень понял, что Вы подразумевали под фразой

Цитата(dmitryk1 @  1.11.2008,  04:30 Найти цитируемый пост)
Вытащил все пароли из бд в отдельный модуль. В хэш...



Цитата(dmitryk1 @  1.11.2008,  04:30 Найти цитируемый пост)
как бы всё это счастье ещё бы криптануть, чтобы максимально усложнить выдёргивание этих паролей


Думаю, подойдет стандартный вариант md5(password+salt). salt обязателен для защиты от http://ru.wikipedia.org/wiki/Радужная_таблица.

Автор: gcc 1.11.2008, 11:48
хэш md5(password+salt) должен быть такой $1$e73dab77$e78daр87$tctja088rgh09Rnvoh0t7k1 ?

Кстате вчем разница от salt и обычным md5

то есть получается после знака доллара все равно что будет $1$11111111$ectja088rgh09Rnvoh0t7k1?

если я вставлю такой хєш вместо первого, то он работает...

Код


perl -le 'print crypt ($ARGV[0],$ARGV[1])' 'test' '$1$testtest$'
$1$testtest$SpO/FHIMn8I1fYKuRHVWW1

Автор: shamber 1.11.2008, 11:53
Код

Данные таблицы неэффективны против необратимых хеш-функций, которые включают salt (соль). Например, рассмотрим следующую функцию для создания хеша от пароля:
хеш = MD5( пароль + соль ),

где + обозначает конкатенацию.
Для восстановления такого пароля взломщику необходимы таблицы для всех возможных значений затравки.

По сути, затравка увеличивает длину и возможно сложность пароля. Если таблица рассчитана на некоторую длину или на некоторый ограниченный набор символов, то затравка может предотвратить восстановление пароля.

Автор: sir_nuf_nuf 1.11.2008, 11:57
Цитата(gcc @  1.11.2008,  11:48 Найти цитируемый пост)
Кстате вчем разница от salt и обычным md5

защищает от взлома хеша.

Фишка в том, что для всех эм.. популярных паролей - составлена база хешей.
Так что определить по хешу пароль, если пароль находится в базе - вопрос долей секунды.
Хеши передаются в открытом виде.

Добавление "соли" к паролю - автоматически делает его "не популярным"... 
Врят-ли кто догадается считать хеш для пароля "Билан+пыщ+пыщ%йцуке-гыгы".. а вот для "Билан" - посчитан точно =)

Автор: gcc 1.11.2008, 12:00
понятно, вот еще пример


Цитата

MD5 crypt
MD5 crypt was written by Poul-Henning Kamp for FreeBSD. The main reason for using MD5 was to avoid problems with American export prohibitions on cryptographic products, and to allow for a longer password length than the 8 characters used by DES crypt. The password length is restricted only by MD5's maximum message size of 264 bits. The salt can vary from 12 to 48 bits.

MD5 crypt hashes the password and salt in a number of different combinations to slow down the evaluation speed. Some steps in the algorithm make it doubtful that the scheme was designed from a cryptographic point of view--for instance, the binary representation of the password length at some point determines which data is hashed, for every zero bit the first byte of the password and for every set bit the first byte of a previous hash computation.

The output is the concatenation of the version identifier ``$1$'', the salt, a ``$'' separator, and the 128-bit hash output.

MD5 crypt places virtually no limit on the size of passwords, while bcrypt has a maximum of 55 bytes. We do not consider this a serious limitation of bcrypt, however. Not only are users unlikely to choose such long passwords, but if they did, MD5 crypt's 128-bit output size would become the limiting factor in security. A brute force attacker could more easily find short strings hashing to the same value as a user's password than guess the actual password. Finally, like DES crypt, MD5 crypt has fixed cost. 

http://www.usenix.org/events/usenix99/provos/provos_html/node10.html 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)