Хеширование пароля на стороне клиента в браузере: есть резон?

12
Р
На сайте с 17.05.2011
Offline
136
5254

Изначально я хотел хешировать пароль, который задает клиент еще в браузере (средствами JavaScript). На стороне сервера пароль будет хешироваться в любом случае.

Но я тут столкнулся с тем, что средств встроенных в JavaScript для хеширования нет (во всяком случае я не нашел, искал в основном MD5). Есть внешние библиотеки, но что-то они не вызывают много доверия. Какие-то хостились на гугл.коде, но теперь их там уже нет (взято отсюда: How to generate MD5 file hash on javascript?).

Вот я и подумал, может быть это паранойя и хеширование у клиента - лишняя морока? Если уж строить секьюрное приложение все равно нужно делать это по-другому (HTTPS). Я прав?

Joker-jar
На сайте с 26.08.2010
Offline
166
#1

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

ДП
На сайте с 23.11.2009
Offline
203
#2

Насколько помню, на форумах у забугорного вебмастерского сообщества digitalpoint.com пароли перед отправкой на сервер хешировались (хешируются).

Так что, наверно, какой-то смысл в этом есть.

А поповоду проверки сложности - что мешает её сделать на клиенте?

Ну а так - если хеширование - это защита от перехвата траффика - то посмотрите в сторону https.

S
На сайте с 30.09.2016
Offline
469
#3

Ну есть тут некое рациональное зерно, но не при хэшировании, а при шифровании. Таким образом можно защититься от перехвата пользовательских паролей.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
danforth
На сайте с 18.12.2015
Offline
153
#4

А какие вы цели преследуете хешированием? Ну, ясно что безопасность. Конкретнее, от каких атак защищаетесь?

Junior Web Developer
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#5

Вы дыру этим самым делаете в безопасности. С размеров с Луну.

md5 и другие методы хэширования в чистом виде для хранения паролей это дыра. Всегда используется пароль+соль, и даже соль1+пароль+соль2.

А вы хотите без соли хэшировать? Дыг сольют вашу базу и вот они все пароли всех юзерей.

А если с солью, то что? Тоже её передавать в javascript? Ну и какой смысл тогда в ней? Опять дыра.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
danforth
На сайте с 18.12.2015
Offline
153
#6

LEOnidUKG, от MITM может помочь.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#7
danforth:
LEOnidUKG, от MITM может помочь.

Да на стороне юзера хоть пусть все вирусы мира сидят и перехватывают данные. Важнее безопасность остальных на сервере и их данных. Если у одного проблемы, это не должно касаться других. Если перехватывать, то перехватят куки и всю сессию, пароль нафиг никому не сдался.

SeVlad
На сайте с 03.11.2008
Offline
1609
#8
Joker-jar:
Все равно однажды (при регистрации) вам придется отправить пароль в чистом виде,

Все нормальные сервисы (и даже CMS) давно не шлют пароли в открытом виде, а дают юзерам задать их самостоятельно.

Рамарио:
Если уж строить секьюрное приложение все равно нужно делать это по-другому (HTTPS). Я прав?

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

Коме того - тот же юзер может легко принять (и примет!) левый сертификат от роутера, который весь трафик (https в тч) будет читать без проблем.

А вот двухфакторная авторизация/енум/етс (если юзер захочет юзать) - это решение.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
S
На сайте с 30.09.2016
Offline
469
#9

LEOnidUKG, допустим, кто-то взломал сайт и поставил скрипт, читающий $_POST. И при чём тут вирусы на клиенте? Пароли всех юзеров сайта у злоумышленника в кармане. А если будет приходить шифрованный пароль, то тут ещё повозиться придётся, просто так голый пароль уже не вытащишь.

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#10
Sitealert:
LEOnidUKG, допустим, кто-то взломал сайт и поставил скрипт, читающий $_POST. И при чём тут вирусы на клиенте? Пароли всех юзеров сайта у злоумышленника в кармане. А если будет приходить шифрованный пароль, то тут ещё повозиться придётся, просто так голый пароль уже не вытащишь.

Если взломали сайт, то слили уже базу и посмотрели соль. И пошли счастливые перебирать пароли. На ко хрен им какой-то post вставлять и считывать пароли?! Ну он может также и Ajax вставить и отправлять пароль при вводе символов.

А может ещё поле ввода заменить...

А может ещё...

А может...

А...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий