2009-07-23 2 views
5

Я новичок в SSL, независимо от того, что я читал и знаю, что его платный цифровой сертификат и после использования SSL на сайте https: // передача данных защищена на сетевом уровне.Учетные записи безопасного входа без использования SSL

В моем приложении у меня нет проблем с безопасностью, кроме логина и пароля.

Есть ли способ защитить LOGINNAME и пароль без использования SSL https: //

+1

Да, но это не хорошая защита. Атака «человек в середине» может легко взломать этот механизм безопасности. –

ответ

3

Существует несколько схем аутентификации, которые могут безопасно работать над простым HTTP. Наиболее распространенными из них являются Digest, который поддерживается всеми основными веб-браузерами и практически любой инфраструктурой веб-программирования.

Обратной стороной использования Digest для веб-сайтов является то, что:

  • аутентификации обрабатывается самого браузера, а не страницы входа на веб-сайт, который не выглядит почти так же хорошо , и не позволяет вам иметь все окружающие вспомогательные функции, такие как «забыли пароль»? что мы ожидаем в наши дни.

  • Если у вас нет SSL-соединения, опытные пользователи могут чувствовать себя взволнованно, что они отправляют свой пароль в небезопасном режиме (хотя это и не так), потому что они прошли обучение поиску SSL-соединения при вводе учетных данных.

Есть другие схемы, такие как OAuth, которые также являются безопасными через обычный HTTP, но это на самом деле больше для API, чем веб-сайтов, так что, вероятно, не то, что вы хотите.

+2

Digest не совсем безопасен. Кто-то, кто может видеть трафик между компьютерами, может все же перехватить переваренный пароль и издеваться/изменить HTTP-запрос с помощью переваренного пароля и все же получить доступ к сайту. – tschaible

+0

Аналогичные проблемы возникают и в большинстве других схем аутентификации. Аутентификация на основе токена, такая как выдача файлов cookie аутентификации, также может быть перехвачена и подделана; способ, которым оба смягчаются, состоит в том, чтобы иметь истекающий токен (дайджест делает это с помощью nonce). Ничто не является действительно безопасным, если все соединения не выполняются через SSL (и даже тогда он не является действительно безопасным!). –

+0

Ох я получил ответ, кажется, хорошо. Мы можем генерировать хэш-значение пароля (зашифрованного) на клиенте с использованием алгоритма MD5. и для этого сервера должен быть передан случайный ключ значения клиенту, когда есть запрос на страницу входа с использованием этого ключа на стороне клиента, мы можем зашифровать пароль и отправить его на сервер. Как сервер знает ключ и поэтому может его расшифровать. Я думаю, что это решение хорошее. Каково ваше мнение? –

1

Сертификат может быть самозаверенный один. Не обязательно быть платным :)

+0

Сэр, Можете ли вы дать мне более подробную информацию, чтобы я мог использовать бесплатный цифровой ceritificate на моем сайте. Также как я могу настроить его для веб-сайта –

+1

Существует также cacert.org, они выдают бесплатные сертификаты. По умолчанию браузеру не доверяют браузеры, но он лучше, чем самозапись. – stribika

1

Вы также можете попробовать StartSSL.Org Я использую в настоящее время, что и он прекрасно работает даже, но это как-то так же, как cacert.org, они не доверяют браузеры по умолчанию

2

Там нет никакой альтернативы HTTP-безопасность в браузере, отличную от использования SSL для каждой страницы, на которой пользователь вошел в систему. Любые другие методы абсолютно небезопасны и представляют собой ни что иное, как слои безвестности.

Любые доморощенные решения по HTTP всегда уязвимы для атак MITM, среди других уязвимостей.

Даже при использовании протокола SSL логин & должен быть защищен, иначе он может быть взломан с использованием других эксплойтов.

0

с этой темы, вы можете получить свой собственный (самостоятельно подписанный) сертификат с помощью openssl.

вам необходимо сгенерировать ключ RSA и CSR для создания самоподписанного сертификата. На Linux машине с OpenSSL установлены:

openssl genrsa -des3 -out mydomain.key 1024 

openssl req -new -key mydomain.key -out mydomain.csr // fill in the details 

mv mydomain.key mydomain.key.org 

openssl rsa -in mydomain.key.org -out mydomain.key  // creates passphraseless key 

openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt 
0

Хммм, ненависть, чтобы открыть старую нить, но я не вижу это как точно.

Я признаю, что его трудно побить проверенный сертификат, но нередко люди используют самоподписанные сертификаты для тестовых сайтов. Я почти уверен, что простое домашнее решение может быть так же хорошо, как самозаверяющий сертификат.

Черт возьми, я даже скажу, что с небольшим предварительным нажатием клавиш (или что-то вроде gpg) он может быть как можно более безопасным.

+0

Не могли бы вы предоставить ссылки, подтверждающие ваши претензии? Если это правда, они были бы очень интересными. – Lizz

 Смежные вопросы

  • Нет связанных вопросов^_^