За последние 24 часа нас посетили 17416 программистов и 1712 роботов. Сейчас ищут 1743 программиста ...

Шифровка паролей

Тема в разделе "PHP для новичков", создана пользователем VLK, 30 дек 2013.

  1. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    а ты не делай паузы по 10 секунд. Делай по той же 0.1 секунде. Или по-твоему лучше сделать 0.1 секунду путем самозапинывания сервера, а не делеем? :) Сам я вообще против любых задержек.

    а откуда кулхацкер вообще знает мой алгоритм хеширования? :) Я уже писал про кражу исходников и про то, что проще в таком случае засадить жертве сниффер.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    там не в задержках дело, дцатый раз тебе говорят =) вообще задержки тут не при чем. и крутят итерации не задержек ради.

    ну если ты не идиот, то будешь юзать ченить путное. а этого немного.

    всяко быват.
     
  3. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    И вот зачем мне тебе что-то объяснять, если я заранее знаю, что ты будешь прыгать из стороны в сторону пытаясь высрать какие-то аргументы?
    Ибо в защите все просто. Есть вид атаки - есть защита. Нет защиты, которая поможет от всего. Да, правильное хеширование не поможет от закладок, у него другая задача. Но это не значит, что теперь не нужно правильно хешировать, это значит, что нужно защищаться от закладок. Тоже самое с DDOS-ом. Тоже самое с подбором пароля через скрипты логина. И т.п. и т.д.

    А тут что ни пост - то пёрл. Вот новый родился, про GPU. Слышал где-то, что подбирают, и пришел сюда хвастаться. А то, что есть алгоритмы, затрантые не только к процессору, но и к памяти - не знаем. Реальных кейсов - не знаем.

    Ну понятно, что люди не хотят разбираться в вопросе, гуглить, читать. Они хотят схавтить по верхам и потом с умным видом на php.ru рассуждать. Один из немногих форумов таких, к слову.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    А я дцатый раз говорю, что я в курсе, чем отличается задержка времени исполнения, от накрутки времени алгоритма. И уже сказал, почему накручивать время алгоритма не имеет смысла в сегодняшних реалиях.

    Если я не идиот, я не ограничусь sha1(), а крутану что-то вроде sha1(md5((sha2()))); или любую другую комбинацию, с конкатенацией и тд. Исходя имеено из того, что я не криворукий и не слепой и не просру, омг, скрипты. Вообще сколько случаев подобного вы знаете?

    как в том анекдоте про "случаи бывают разные"? Ну ну :)

    Давай все же не грубить, Ванга.
    Кладезь мудрости, а по делу? Первый абзац - половина капитан Очевидность написал, половину капитан Демагогия.
    Далее. Алгоритмы затратные не только к процессору, но и к памяти - и что? Не в курсе, что такое мемлики, как с ними бороться, и что такое управление памятью? Или что на видеокарту можно RAM расшарить? Видимо нет. И вообще, речь идет о брутфорсе. Брутфорс вызывает мемлики или требователен к памяти? Йошкин крот...
    Третий абзац - можешь перечитать его, но уже в свой адрес от моего лица. Пока что только бла бла бла от тебя шло, никакой конкретики и пафос.

    И агра, да.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ты сказал почему накрутка не имеет смысла. Я сказал почему имеет. Если ты не видишь разницу, то тебе надо подумать, поразмышлять.

    по поводу крутану. Если ты сделаешь так sha(md5()), то ты и вправду слишком легко подходишь к этому вопросу. Подумай, какой изъян очевиден в этой схеме.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Мы говорим об одном и том же и о разном одновременно :) Я вижу разницу. Ты верно сказал, я сказал почему не имеет смысла, ты сказал, почему имеет. Правы, на деле, оба.

    Я повторюсь, все исходит из того, что исходники не пролюблены. Потому что если пролюбил исходники, то никто не будет ничего дампить, реверсить-инженерить и тем более расшифровывать. Тебе просто зальют сниффер, в который раз уже повторяюсь. Попробуй посмотреть на ситуацию именно с этой стороны. А не с "стырили базу и исходники, ща будут ковырять".
     
  7. semnt

    semnt Новичок

    С нами с:
    25 дек 2013
    Сообщения:
    93
    Симпатии:
    0
    Fell-x27, ну зря Вы так.
    Вот приняли фрилансера Васю на работу - дали ему доступ на чтение до репозитория скриптов и базы. Вася скачал себе копию скриптов, сдампил базу и ливнул. Доступ на запись у него может даже и не было, а алгоритмы все с солями и базу хешей спёр. И что теперь делать?
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    На конкретный вопрос дам ответ. На ламерские посты же только агр и будет.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не важно, я о другом изъяне говорю. Каково по-твоему пространство возможных вариантов sha1(md5())?
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Мастер риторики 80лвл. Не у Путина ли учился вот так отвечать? Конкретный вопрос - вы действительно думаете, что брутфорс является алгоритмом с повышенным расходом памяти, либо с потенциальными мемликами? Или просто так ляпнули, где-то прочитав про алгоритмы, требовательные не только к процу, но и к памяти и решили включить ДАртаньяна?

    Опять же - частный случай. Я как-то фрилансил в другой сфере на сурьезный проект. И одним из условий было подписание бумажки, по которой я не против выплатить огромный штраф (правда огромный), если где-то пойдет утечка данных, к которым доступ имею только я. И паспортные данные мои ниже. Что называется - сам виноват в случае чего. Вася должен всю систему перековырять? Вряд ли. Вот и пускай его только туда, куда ему надо.

    А еще - хорошее правило, не пускать нонеймов на боевой сервер. Сделай ему независимую девел-копию, пусть играется.
    Я не имел ввиду такую комбинацию :) Да, я понял о чем ты - коллизию искать надо только для внешнего алгоритма, все внутренние роли не играют. Но кто мешает сделать sha1() && md5(), например. Я имел ввиду, что не обязательно ограничиваться одним алгоритмом. Найди инпут, который даст коллизию сразу для двух или более алгоритмов - мишшн импосибл, если, конечно, ты не готов потратить пару тысяч лет, хотя и то вряд ли, что найдешь. Ну или если пароль был не qwerty.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    пространство md5 меньше чем sha1, получается, считая sha1 от md5 ты не создашь больше вариантов, чем даёт чистый md5.

    Добавлено спустя 5 минут 23 секунды:
    на самом деле стоит не ограничиваться. например под md5 подобрать коллизию несложно, а вот если её проверить другой функцией - то скорее всего в подавляющем большинстве случаев будет несхождение. но для паролей наверное смысла нет. у них кратчайшая коллизия и есть верное решение, пожалуй.
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Тут зависит от специфики пароля и от того, как он был замешан с солью. Если после глубокого просола на выходе получается 45-символьная каша с буквами, цифрами и спецсимволами, то тут только искать коллизию... Но даже для двух функций ты ее не найдешь. Для трех не стоит и пытаться. Я вот возьмусь-таки и запилю систему просола, алгоритм которой будет зависеть от входящих данных, мысли вслух.

    Другое дело, если просол примитивный, да еще и соль одна на всех, а пароль сам - какое-нибудь "solnyshko". Тут даже если не словарем, а просто брутфорсом фигачить, ты скорее просто пароль подберешь, чем коллизию :)
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дело не в этом. если мы допустим возьмём крайний случай, то если мы делаем sha512 и crc32, что даёт нам жирную стойкость при пересылке файлов, то в случае с паролями, это позволить хуячить из пулемёта crc32 и если проканало, только тогда считать sha512, что ускорит перебор значительно. Т.о. имеет смысл добавлять хеш-функцию только такой же или большей стойкости.
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Эм...ну нашел ты то, что проканало для crc32. И даже нашел то, что проканало для sha512. Ты найди то, что проканает одновременно для обоих. Ускорения перебора не будет, или я что-то недопонимаю, или ты что-то недообъяснил.
     
  15. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Мемлики вообще не имеют отношения к алгоритмам, это ошибки реализации.
    Брутфорс является алгоритмом с повышенным расходом памяти ровно на количество производимых параллельных вычислений.
    Но я так понимаю, вы хотели задать другой вопрос, просто или стесняетесь или ума даже для этого не хватило.

    Повсеместно используемый алгоритм bcrypt на базе алгоритма blowfish устойчив к брутфорсу на сегодняшних GPU, т.е. GPU не дает никаких выигрышей по сравнению с CPU. Как раз во многом из-за требований к памяти. Быстрота GPU обусловлена тем, что все данные, необходимые для расчета помещаются в регистры одного ядра или небольшой кусочек специальной памяти. В иных случаях ядрам придется задействовать основную память. Это приводит к тому, 99% времени ядра тратят на ожидание шины доступа к памяти.

    Еще вопросы?
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Да, при чем тут bcrypt, когда речь шла о sha и md5 конкретно в данном случае? Так как bcrypt входит в пхп только с версии 5.3, в то время когда до сих пор 5.2+ стоит на подавляющем большинстве шареных хостингов, пользователи которых составляют основную массу сайтодержателей.


    Будешь дальше вести себя как ДАртаньян, открыто пошлю наxyй. Припусти ЧСВ.
     
  17. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    bcrypt в php был всегда, начиная с 5.3 добавлена встроенная поддержка, до этого PHP опирался на системные библиотеки, которые есть во всех дистрибутивах Linux и FreeBSD.

    И если речь шла о sha и md5, то только у вас в голове. В той теме, где я давал выкладки по увеличению ресурсоемкости вычисления хешей, и на которую вы с удовольствием ссылались про всякие там ddos - речь шла о crypt. И ни о чем другом речи идти не может - если вам нужно хранить пароли и вы не гений криптографии - вы обязаны использовать crypt.

    Да и без этого - почитай свои посты про "мемлики". Это же бред шизофреника.

    >Будешь дальше вести себя как ДАртаньян, открыто пошлю наxyй. Припусти ЧСВ.
    Ты правда думаешь меня это хоть как-то волнует?
    А вот ЧСВ следует "припустить" тем, кто лезет рассуждать в тему, в которой он ни в зуб ногой, и более того - и не пытается хотя бы гугл напрячь.

    Добавлено спустя 4 минуты 20 секунд:
    Найдя то, что "проканало" для crc32 _очень быстро_ ты уменьшил словарь для брутфорса пароля, который потом будет использоваться для sha512. Очевидно.
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    дык насильно никто не заставляет ими пользоваться.
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Мне без разницы. Просто так обильно брызгаешь слюной, что я опасаюсь, как бы монитор не закоротило. Не можешь говорить спокойно и по-нормальному, не пытаясь назвать собеседника говном, значит нахрен ты вообще такой нужен, только и делов. Либо давай вести беседу по-человечески, а не по-собачьи.

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

    Если у тебя что-то совпало в первой функции, при длине входящей просоленной строки, скажем, в 40 символов, вероятность, что эта же строка будет верной и для второй функции меньше, либо равна вероятности того, что ты подобрал сам пароль. Разве нет?
     
  20. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Есть sha и crc от одной строки, и словарь в 10e10 слов. Полный перебор sha займет, к примеру, 10 часов. Полный перебор crc займет 2 часа. Crc на выходе даст, к примеру, 5000 вариантов, подходящих под этот хеш. Осталось только эти 5000 вариантов пробежать по sha, что займет несколько минут. Таким образом скорость подбора сократилась с 10 часов до 2 часов из-за использования второй "слабой" функции.

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

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