>Схема такова: > >1.Клиент устанавливает SSL-соединение через (поверх) HTTP и загружает страничку, где надо ввести >логин и пароль. >2. Аутентификационные данные, в открытом виде, но через SSL, передаются на сервер, >где происходит сравнение введенных данных, с данными в таблице user, базы >mysql. >3. Если данные совпадают, то логин и пароль зашифровываются и записываются в >cookies браузера клиента. >4. Если нет -- возвращается страница ошибки. >5. Далее серверу передаются только зашифрованные данные, которые расшифровываются на стороне сервера >и сравниваются с тем, которые в базе. > Для такой схемы нужно симметричное шифрование, что сейчас и реализовано. Шифрование >происходит с помощью ключевого слова, которое прописано в конфигурационном файле. То >есть брутфорс облегчается. Хотя ключевое слово тоже можно зашифровать ... >:-) Но это для продвинутых :-)) >А хотелось бы сделать несимметричное, чтобы даже при дискредитации пользовательских cookies, было >невозможно подключиться к серверу. >Плюс к этому, видимо, необходимо будет сделать ПЕРСОНАЛЬНЫЕ SSL-сертификаты. То есть имеешь >сертификат -- подключаешься и работаешь. В контексте всего вышесказанного: чем собственно вас не устраивает стандартная схема двух сертификатов? У сервера (serverhost.crt) и запароленый персональный у клиента (client.p12) + ес-сно авторизация по логину/паролю??
Лично я не могу себе представить что-нить более ударопрочное. Сам так работаю...
|