Если подумать о том, на какие большие сайты вы обычно входите, кажется, что есть момент времени, когда серверы компании хранят ваш пароль в памяти в виде обычного текста. Это правда и безопасно ли это?
Это похоже на то, как вы входите на большинство крупных сайтов:
- Введите пароль в браузере
- Зашифруйте пароль в браузере с помощью открытого ключа асимметричного шифрования
- Отправить пароль на сайт
- Расшифровать пароль с помощью секретного ключа асимметричного шифрования
- Хеш-пароль с использованием алгоритма одностороннего хеширования (и соли)
- Сравните хешированный пароль с таким же хешированным паролем в базе данных
- Если хеши совпадают, вход выполнен успешно. В противном случае - не удалось войти.
Посмотрите между шагами 4 и 5
Расшифровать пароль с помощью секретного ключа асимметричного шифрования
4.5. Вкратце есть переменная на стороне сервера с обычным текстовым паролем
- Хеш-пароль с использованием алгоритма одностороннего хеширования (и соли)
Это означает, что, хотя вся схема хеширования предназначена для предотвращения доступа злоумышленника к паролям, ДАЖЕ, ЕСЛИ сервер скомпрометирован, опытный хакер все равно может добраться до него.
Я что-то пропустил? Что еще более важно, есть ли более безопасная альтернатива?