Авторизация и привязка по HTTPS
Странного хочется.
Клиент не имея открытых ключей, специального софта и прочего имеет только сайт, куда он заходит, отвечает на несколько вопросов-проверок (чтобы убедиться что это он, это не суть моего вопроса), а дальше с ним устанавливается защищенное соединение по которому он получает персональную для него информацию и передает тоже секретную, а при следующем выходе на сайт его уже узнают и снова устанавливают только с ним защищенное соединение.
Как это реализовать?
По логике можно сделать HTTPS и привязать куками закачав постоянный сертификат авторизации?
А есть ли халявные решения (сертификаты стоят денег) и решения для сайтов без дыр и бэкдоров?
"Сайт" это громко сказано. Просто index.htm или index.php в котором будет форма вопросов и в ответ "персональная информация только для Вас".
На чем это было бы можно реализовать?
Чтобы HTTPS прошёл успешно, стороны должны друг друга аутентифицировать. Без предрасшаренного секрета это сделать невозможно. Чтобы аутентифицировать пользователя по ответам на вопросы, надо уже иметь аутентифицированный канал между сервером и отвечающим, по которому эти вопросы и ответы будут передаваться, иначе прослушивающая сторона может узнать все ответы и выдать себя за легитимную сторону.
Надёжный HTTPS делается только через certificate pinning. Естественно, при этом пользователь должен заранее знать, какой должен быть отпечаток у серверного сертификата.
StartCom (aka StartSSL) выдаёт сертификаты бесплатно, в хранилище сертификатов браузера firefox их корневой сертификат имеется. Если делать через pinning, подписывать сертификат нет никакой нужды (даже лучше, если он не будет подписан — в этом случае firefox будут выдавать предупреждения, случись что).
комментариев: 9796 документов: 488 редакций: 5664
При посредничестве MITM-ера в обе стороны.
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 9796 документов: 488 редакций: 5664
PS А где берут сертификаты?
Нельзя установить доверенное HTTPS-соединение, если юзер не имеет заранее опечатка сайта.
А не имея доверенного соединения с сайтом — нельзя быть уверенным, что именно такой отпечаток ключа на нем и опубликован. Что при загрузке данной страницы не было подмены атакующим.
комментариев: 11558 документов: 1036 редакций: 4118
Да, если копнуть глубже, MITM (или просто съём данных) может делать сам хостер, никакие отпечатки и сертификаты тут уже не спасут. Те, кому это критично, рассматривают такие атаки и методы защиты от них.