Обычно при входе пароль уходит на сервер, и сервис сравнивает его со своей записью. У нас вход будет устроен иначе. Расскажем, как именно, что это даст и чем мы за это заплатим.
Что мы решили
Пароль не будет передаваться на наш сервер даже при входе. Ваше устройство и сервер обменяются несколькими сообщениями: по ним сервер поймёт, что пароль верный, но самого пароля в них не будет (так устроен протокол OPAQUE, RFC 9807). Одна оговорка: веб-версия будет получать код с нашего сервера при каждом входе.
Пароль будет один: он будет и впускать в аккаунт, и открывать ваши ключи. Отдельного пароля для ящика не будет.
Что даст утечка нашей базы
Если нашу базу украдут, подбирать по ней пароли не получится: для этого нужен отдельный секретный ключ, а в базе его нет. Кто захватит работающий сервер вместе с этим ключом, сможет перебирать пароли, хоть и медленно: каждая попытка стоит дорого. Короткий или уже утёкший пароль это не спасёт.
Квантовый вопрос
Входить можно будет только по соединению с постквантовой защитой (гибрид X25519 и ML-KEM-768). Так вход, который кто-то запишет сегодня, не поможет подобрать ваш пароль и тогда, когда появятся квантовые компьютеры. Сама проверка входа пока классическая, но идёт внутри этого канала. Браузер без такой защиты войти не сможет: его придётся обновить.
Чем платим
- Забытый пароль. Если вы забудете пароль, доступ сразу и вместе со старыми письмами вернут фраза восстановления, устройство, на котором выполнен вход, или passkey, у которого включено восстановление доступа. Если останется только резервный e-mail, доступ к адресу вернётся через 7 суток (через 72 часа, если на каком-то вашем устройстве вход выполнен больше недели назад), а старые письма не откроются: ключей от них у нас не будет. Если потерять пароль и все способы восстановления, старые письма в вашем ящике не откроет никто, в том числе мы.
- Слабый пароль. Раз пароль открывает и вход, и ключи, слабый пароль ослабит и то и другое. Пароль будет проверяться по базам утечек у вас на устройстве или запросом к нам, который не связан с вашим аккаунтом: в нём только начало хэша пароля, общее для многих паролей. Сторонним сервисам не уйдёт ни пароль, ни его хэш. Как выбрать надёжный пароль, рассказано в статье «Как защитить почту от взлома».
Чего это не меняет
- Веб-версия. Веб-версия Methmail будет загружать код с нашего сервера при каждом входе. Поэтому нельзя будет полностью исключить, что одному человеку отдадут изменённую версию, если наш сервер взломают или нас к этому принудят. Приложений у Methmail к запуску не будет: если вам угрожает тот, кто может этого от нас добиться, учитывайте этот риск.
- Ваше устройство. Шифрование не защищает от вредоносной программы на вашем устройстве и от получателя, который перешлёт ваше письмо.
- Поддельный сайт. Пароль, набранный на поддельной странице, утечёт в любом случае: смените его. Passkey защитит от поддельного сайта: он привязан к нашему адресу и на чужой странице не сработает. Код из приложения-аутентификатора так не защищает: его можно ввести и на поддельной странице. Passkey защищает сам вход, а не пароль. Как отличить подделку, рассказано в статье «Как распознать фишинговое письмо».
- Подписи и проверка входа. Постквантовая защита будет распространяться на шифрование. Подписи и проверка входа пока останутся классическими: они подтверждают авторство и доступ и не раскрывают содержимое.
Остальные ограничения перечислены в разделе «Чего Methmail не сможет».
Что дальше
Входить можно будет по passkey, без пароля, если ваше устройство поддерживает passkeys с расширением PRF; иначе passkey будет работать вторым фактором. Passkey, добавленный после регистрации, начнёт открывать ящик без пароля не сразу: через 72 часа, если у вас есть устройство, на котором вы вошли больше недели назад, а иначе через 7 суток. Это защита от угонщика.
Как будет устроена защита целиком, рассказано на странице «Как будет устроена защита».