Информация об изменениях

Сообщение Re: Электронная почта и номер телефона это дыра в безопаснос от 19.12.2024 2:37

Изменено 19.12.2024 2:49 Эйнсток Файр

Re: Электронная почта и номер телефона это дыра в безопаснос
Ну так что в итоге-то?

Какая идеальная схема для организации аутентификации пользователей на сайте?

— Жмём кнопку "зарегистрироваться"
— сайт переходит на https-версию
— сайт генерирует новый клиентский сертификат (первый фактор)
— сайт выдаёт инструкцию по установке клиентского сертификата
в браузер пользователя (который узнаёт из http headers)
— сайт требует ввести логин на случай, если потребуется восстановление

— далее сайт идентифицирует пользователя по клиентскому сертификату
если сертификат уже есть — позволяет сгенерировать новый сертификат (зачем? это можно и по логину)

— жмём кнопку "восстановить доступ"
— вводим логин (второй фактор)
— сайт позволяет сформировать email-ссылку вида
<a href="mailto:recovery@mysite.ru?subject=Восстановить доступ&body=устаревающий_через_keep_alive-секунд_с_логином_внутри">Отправить письмо</a>

— сайт ждёт прихода письма (периодически страница поллит сервер через JavaScript, либо рефрешем по F5)
сайт генерирует новый сертификат, но возможно это
только из-за того что протокол HTTP — новый и сохраняет сессию.
На старом или без JavaScript так бы не вышло (а мы боремся за долю пользователей, даже таких).
Re: Электронная почта и номер телефона это дыра в безопаснос
Ну так что в итоге-то?

Какая идеальная схема для организации аутентификации пользователей на сайте?

— Жмём кнопку "зарегистрироваться"
— сайт переходит на https-версию
— сайт генерирует новый клиентский сертификат (первый фактор)
— сайт выдаёт инструкцию по установке клиентского сертификата
в браузер пользователя (который узнаёт из http headers)
— сайт требует ввести логин на случай, если потребуется восстановление

— далее сайт идентифицирует пользователя по клиентскому сертификату
если сертификат уже есть — позволяет сгенерировать новый сертификат (зачем? это можно и по логину)

— жмём кнопку "восстановить доступ"
— вводим логин (второй фактор)
— сайт позволяет сформировать email-ссылку вида
<a href="mailto:recovery@mysite.ru?subject=Восстановить доступ&body=устаревающий_через_keep_alive-секунд_с_логином_внутри">Отправить письмо</a>

— сайт ждёт прихода письма (периодически страница поллит сервер через JavaScript, либо рефрешем по F5)
сайт генерирует новый сертификат, но возможно это
только из-за того что протокол HTTP — новый и сохраняет сессию.
На старом или без JavaScript так бы не вышло (а мы боремся за долю пользователей, даже таких).

Отправлять письма в ответ — не очень хорошая идея из-за провайдеров, блокирующих 25-ый порт.