Проблемы безопасности
Насколько я понимаю, единственная уязвимость возникает, когда пользователь входит в систему или регистрируется из незашифрованной сети (например, кафе) и кто-то прослушивает сеть.
Это не так, данные, передаваемые между пользователем и вашим сайтом, никогда не являются безопасными. В качестве примера http://www.pcmag.com/article2/0,2817,2406837,00.asp подробно рассказывается о вирусе, который изменил настройки DNS. Независимо от того, насколько хорошо ваша текущая сеть защищена, любая заявка в Интернете проходит через множество различных серверов, прежде чем попасть на ваш. Любой из них может быть вредоносным.
Сертификаты SSL позволяют вам шифровать данные односторонним шифрованием, которое может быть дешифровано только на вашем сервере. Поэтому независимо от того, где данные попадают на ваш сервер, никто другой не сможет их прочитать.
В большинстве случаев, и это зависит от вашего хостинга, установка сертификата довольно безболезненна. Большинство провайдеров установят его для вас.
Типы сертификатов SSL
Как отмечено в некоторых ответах, вы можете создавать свои собственные сертификаты SSL. Сертификат SSL - это просто соединение открытого и закрытого ключей. Ваш сервер выдает открытый ключ, клиент использует его для шифрования отправляемых данных, и только закрытый ключ на вашем сервере может расшифровать его. OpenSSL - хороший инструмент для создания своих собственных.
Подписанные SSL-сертификаты
Покупка сертификата в центре сертификации добавляет еще один уровень безопасности и доверия. Опять же, возможно, что кто-то может сидеть между браузером клиента и вашим веб-сервером. Им просто нужно предоставить клиенту свой собственный открытый ключ, расшифровать информацию с помощью своего закрытого ключа, повторно зашифровать ее с помощью вашего открытого ключа и передать ее вам, а также ни пользователю, ни вам.
Когда подписанный сертификат получен пользователем, его браузер подключится к провайдеру аутентификации (Verisign и т. Д.), Чтобы проверить, что открытый ключ, который он получил, на самом деле является тем же для вашего веб-сайта и что не было взлома.
Итак, да, у вас должен быть подписанный сертификат SSL для вашего сайта. Это заставляет вас выглядеть более профессионально, дает вашим пользователям больше ума при использовании вашего сайта, а самое главное защищает вас от кражи данных.
Больше информации об атаке «Человек в середине», которая является ядром проблемы здесь.
http://en.wikipedia.org/wiki/Man-in-the-middle_attack