Introduzione a SSL

SSL, Secure Socket Layer, è un protocollo essenziale necessario per le applicazioni di e-commerce. Se desideri accettare carte di credito online e assicurarti che le informazioni non possano essere lette o manomesse, devi assicurarti che vengano inviate tramite una connessione SSL crittografata e inviate solo a un server che dispone di un certificato SSL autorizzato e affidabile. Una volta compreso come funziona l’autorizzazione SSL, il processo di handshaking e crittografia, conoscerai il livello di sicurezza che fornisci ai tuoi clienti e dipendenti e sarai in grado di selezionare il provider di certificato SSL e il software di crittografia che soddisferanno le tue esigenze.

Certificazione SSL del browser

Quando ti connetti a un sito che agisce per il pagamento tramite carta di credito, controlla sempre se l’icona di un lucchetto verde è contenuta all’interno della barra degli indirizzi dell’URL del browser. L’icona verde indica che il browser in uso ha rilevato che la pagina Web è certificata SSL per comunicazioni sicure a livello di socket. Ad esempio, se ti connetti alla pagina di accesso di PayPal, vedrai una piccola icona verde nella barra degli indirizzi dell’URL del browser. Fare clic sull’icona del lucchetto e verrà visualizzato il menu delle autorizzazioni e delle connessioni per Paypal. Il menu delle connessioni fornisce una serie di dettagli sui certificati SSL e SSL che includono il provider di certificati SSL di PayPal (Verisign), l’ubicazione dell’ufficio dell’azienda (San Jose) e il livello di crittografia utilizzato (128 bit).

Crittografia e decrittografia

I dati ricevuti o inviati dal tuo sito web tramite una connessione SSL sono crittografati. Quando un client e un server sono connessi tramite una connessione SSL, solo il client e il server hanno la capacità di crittografare o decrittografare i messaggi l’uno dell’altro. Il livello di sicurezza della crittografia e della decrittografia è esponenzialmente proporzionale alla lunghezza della chiave di crittografia condivisa da entrambi. Le chiavi di crittografia a 128 bit sono più comunemente utilizzate negli Stati Uniti perché sono estremamente difficili da decifrare. Sebbene tu sia libero di comunicare con la crittografia a 128 bit all’interno degli Stati Uniti, non puoi utilizzare nulla di più potente della crittografia a 40 bit per comunicare con quelli al di fuori degli Stati Uniti. Sebbene la crittografia a 40 bit sia adeguata per molti scopi aziendali, è noto che esperti di sicurezza e crittografia con l’attrezzatura giusta violano le chiavi a 40 bit.

Processo SSL

Prima che inizi un secure socket layer, si verificano diversi scambi di informazioni tra le due parti che comunicano. Il primo passo è l’autenticazione del server che detiene il certificato. Il browser client legge il certificato e verifica che il certificato sia stato emesso tramite un provider di certificati attendibile e che l’indirizzo IP sul certificato del server corrisponda all’indirizzo IP effettivo del server. Una volta confermato, il client e il server si scambiano le chiavi. Da queste chiavi, il client e il server configurano algoritmi di crittografia e decrittografia identici che consentono loro di decifrare i messaggi l’uno dell’altro. Comprendere l’esatto processo di scambio delle chiavi richiede la comprensione delle funzioni matematiche coinvolte per la generazione delle chiavi. Il processo, spiegato in “The Science of Encryption: Prime Numbers and Mod N Arithmetic”, richiede fondamentalmente che una parte scelga due numeri primi, li moltiplichi insieme e quindi invii il risultato all’altra parte. I due numeri primi sono una chiave privata e il risultato della moltiplicazione è la chiave pubblica.

Protocollo SSL

Il protocollo SSL non deve necessariamente essere compreso per implementare una connessione Secure Socket Layer. La comprensione del protocollo, sebbene spesso sia meglio lasciare a coloro che conoscono la tecnologia di comunicazione dati del computer, può essere utile per risolvere gli errori di trasmissione di rete e le violazioni della sicurezza che possono verificarsi durante una trasmissione SSL. Il protocollo SSL definisce la precisa autorizzazione e handshake nonché la procedura di scambio delle chiavi. Il protocollo SSL definisce anche il formato della trasmissione in modo che i pacchetti che sono stati persi o manomessi durante la trasmissione possano essere rilevati, consentendo all’utente di essere avvisato e la trasmissione rinviata.