Слушай, я понимаю, что пароли нужно хранить в виде хэшей, и полностью понимаю, как это работает и почему это хорошая идея. Похоже, ты прочитал, что так надо делать, но не совсем понимаешь, когда это невозможно. Пароль хэшируют, когда нужно просто проверить, что пользователь ввёл правильный пароль. Это безопаснее, так как система не знает сам пароль, а никто, кто получил хэш, не сможет использовать его или что-то, полученное из него, чтобы войти.
Однако это значит, что хэш ни при каких обстоятельствах нельзя использовать там, где нужно хранить пароль для автоматического входа. Как только пароль хранится в виде хэша, его нельзя ни восстановить, ни использовать для входа.
PSK (предварительно установленный ключ), по самой своей сути, не может храниться в виде хэша на обеих сторонах соединения. PSK — это общие ключи, а не пароли. Они должны храниться в обратимом виде или вводиться вручную на обеих концах каждый раз, когда используется соединение. Это изначально небезопасно, если кто-то получит доступ к устройству с сохранённым PSK, так что если это тебя беспокоит — никогда не используй PSK, включая все варианты PSK в Wi-Fi.
То же самое относится к почтовым клиентам/приложениям, которые хранят твой пароль. Чтобы почтовый клиент мог автоматически входить в аккаунт, он должен хранить пароль в обратимом виде, потому что ему нужно авторизоваться. Если тебя это напрягает — не сохраняй пароль почты на телефоне.
Эти ситуации могут вызывать у тебя дискомфорт, и это нормально, но никакое ПО не изменит этой базовой истины. Чтобы войти в систему, нужна именно оригинальная форма пароля либо нечто равноценное по использованию (например, приватный ключ в сертификате). Это что-то должно где-то храниться, и лучшее место — твоя голова. Если что-то вводит пароль автоматически... то устройство знает твой пароль. Оно может пытаться не показывать его, но однозначно хранит его в обратимом виде.
Ты же не отдаёшь кому-то ключ от своего дома, но при этом спокойно оставляешь сам замок на двери. Ключ нужен, чтобы открыть замок. Если хочешь, чтобы слесарь заходил, ему тоже нужно дать ключ или самому открывать дверь. Нельзя отдать ему другой замок и надеяться, что это сработает.
Давать слесарю ключ — плохая идея, но если он приходит несколько раз в день, для удобства ты можешь дать ему ключ, чтобы потом спокойно пойти на работу и заплатить ему. Это риск, но осознанный.
Хэшированные пароли — это немного как замки: они проверяют ключ, но сами по себе не являются ключом. Правда, аналогия не идеальна, потому что с хэшем нельзя восстановить пароль (хотя если пароль слишком простой, можно пытаться угадать его, и хэш подтвердит правильность). Но если разобрать замок, можно понять, какой ключ в него подходит. Так что лучше аналогий я не придумал.
PSK хуже, потому что ключ должен быть у обеих сторон одновременно. По крайней мере при аутентификации паролем “сервер” хранит пароль в хэше. С PSK так не получится.
Понимай риски, которые ты берёшь, когда используешь PSK или позволяешь программам входить автоматом.
Если хочешь, чтобы твой Wi-Fi пароль никогда не хранился в открытом виде, используй корпоративный режим и не позволяй клиентскому устройству хранить пароль — вводи его вручную каждый раз при подключении. Если это слишком неудобно, тогда решай, какой риск готов принять.