Problemi di sicurezza
A quanto ho capito, l'unica vulnerabilità si verifica quando un utente accede o si registra da una rete non crittografata (come un bar) e qualcuno sta ascoltando la rete.
Questo non è vero, i dati trasmessi tra l'utente e il tuo sito Web non sono mai sicuri. Ad esempio, http://www.pcmag.com/article2/0,2817,2406837,00.asp descrive in dettaglio la storia di un virus che ha cambiato le impostazioni DNS delle persone. Non importa quanto sia protetta la tua rete attuale, qualsiasi invio su Internet passa attraverso molti server diversi prima di arrivare alla tua. Ognuno di loro può essere dannoso.
I certificati SSL ti consentono di crittografare i tuoi dati in una crittografia unidirezionale che può essere decrittografata solo sul tuo server. Quindi, indipendentemente dal punto in cui i dati passano sul tuo server, nessun altro può leggere i dati.
Nella maggior parte dei casi, e questo dipende dal tuo hosting, l'installazione di un certificato è piuttosto indolore. La maggior parte dei provider lo installerà per te.
Tipi di certificati SSL
Come indicato in alcune risposte, è possibile creare i propri certificati SSL. Un certificato SSL è solo un'associazione di chiavi pubbliche e private. Il tuo server fornisce la chiave pubblica, il client la utilizza per crittografare i dati che sta inviando e solo la chiave privata sul tuo server può decrittografarla. OpenSSL è un buon strumento per crearne uno tuo.
Certificati SSL firmati
L'acquisto di un certificato da un'autorità di certificazione aggiunge un altro livello di sicurezza e affidabilità. Ancora una volta, è possibile che qualcuno si sieda tra il browser client e il tuo server web. Dovrebbero semplicemente fornire al cliente la propria chiave pubblica, decrittografare le informazioni con la loro chiave privata, crittografarle nuovamente con la propria chiave pubblica e trasmetterle a voi e né all'utente né a voi lo sapreste.
Quando un certificato firmato viene ricevuto dall'utente, il suo browser si connetterà al provider di autenticazione (Verisign, ecc.) Per convalidare che la chiave pubblica che ha ricevuto è in realtà quella per il tuo sito Web e che non vi sono state manomissioni.
Quindi, sì, dovresti avere un certificato SSL firmato per il tuo sito. Ti fa sembrare più professionale, offre ai tuoi utenti più consapevolezza nell'uso del tuo sito e, soprattutto, ti protegge dal furto di dati.
Maggiori informazioni sull'attacco di Man In The Middle che è il nocciolo del problema qui.
http://en.wikipedia.org/wiki/Man-in-the-middle_attack