Метка «хэш-функция»

image

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

Постараюсь очень лаконично и быстро обрисовать ситуацию с хэшами.

Сразу определю какую задачу применения хешей буду рассматривать — аутентификация пользователей. Не токены восстановления паролей, не аутентификация запросов, не что-то еще. Это также не статья про защиту канала передачи данных, так что комментарии по challenge-response и SSL неуместны!

Читать полностью »

Как работают одноразовые пароли

Вступление

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

Прочитав эту небольшую статью, Вы разберетесь в принципе работы одноразовых паролей на основе хэшей, а заодно напишете на Python небольшую программу, которая умеет вычислять пароли для двухэтапной аутентификации Google.
Читать полностью »

Национальный институт стандартов и технологий США (NIST) выбрал победителя в конкурсе криптографических хэш-алгоритмов для стандарта SHA-3. В нём участвовало 64 претендента. Пять финалистов конкурса определились почти два года назад. Победителем стал алгоритм Keccak (читается «кэтчэк»), созданный командой криптологов из Италии и Бельгии.
Читать полностью »

Приветствую, читатели!

Больше коллизий, хороших и разных. Или плохая хэш функция — наше все!

В последнее время на Хабре появляется много статей на тему информационной безопасности, так или иначе связанных с недавно вступившим в силу законом об этих ваших энторнетах №89417-6 и участившимися утечками с популярных ресурсов. Я тоже решил не отставать от моды и поделиться своими мыслями на эту тему.
Читать полностью »

Приветствую, читатели!

Больше коллизий, хороших и разных! Или плохая хэш функция — наше все!

В последнее время на Хабре появляется много статей на тему информационной безопасности, так или иначе связанных с недавно вступившим в силу законом об этих ваших энторнетах №89417-6 и участившимися утечками с популярных ресурсов. Я тоже решил не отставать от моды и поделиться своими мыслями на эту тему.
Читать полностью »

Здравствуйте. Примерно два года назад на Хабрахабре я из некого комментария познакомился с интересным способом хранения паролей без их сохранения. Фраза выглядит странно, но более точно описать род этой программы мне не получилось. Способ заключается в том, что для получения пароля к конкретной учетной записи на конкретном сайте необходимо загнать в хэш-функцию строку, «склеенную» из мастер-пароля, адреса сайта, и логина на сайте.
keyword+sitename+login
В данной строке keyword – это мастер-пароль, используемый для «хранения» паролей ко всем сайтам. Далее идет адрес сайта, затем логин. Загнав в хэш-функцию данную строку, мы получим на выходе строку символов, которую полностью или частично можно использовать в качестве пароля к данной учетной записи на данном сайте. Ключевое слово в начале строки обеспечивает невозможность узнать пароль, если известны адрес сайта и логин. Длина результата хэш-функции более чем предостаточна для пароля. Но надежность пароля все равно оставляет желать лучшего. Каждый символ такого пароля может принимать только одно 16-ти значений, так как результатом хэш-функции является строка чисел в шестнадцатеричном представлении.
Я попытался исправить этот недостаток. Далее расскажу как.
Читать полностью »

Привет! Сегодня процессе разработки системы авторизации для своего проекта передо мной встал выбор — в каком виде хранить пароли пользователей в базе данных? В голову приходит множество вариантов. Самые очевидные:

  • Хранить пароли в БД в открытом виде.
  • Использовать обычные хэши crc32, md5, sha1
  • Использовать функцию crypt()
  • Использовать статическую «соль», конструкции вида md5(md5($pass))
  • Использовать уникальную «соль» для каждого пользователя.

Читать полностью »