Secure http

Da Wikipedia, l'enciclopedia libera.

SSL

SSL e' l'acronimo di Secure Socket Layer ed e' un protocollo creato da Netscape Communications Corporation (produttrice del browser Netscape Navigator). La versione 3.0 e' stata utilizzata per lo sviluppo del protocollo TLS. Entrambe queste tecnologie vengono utilizzate per crittografare le comunicazioni su internet e consentono a tutte le applicazioni client/server di comunicare evitando il Tampering o manomissione dei dati, la loro falsificazione e la loro intercettazione. Lo scopo base di SSL e' quello di fornire sistemi di crittografia per comunicazioni affidabili e riservate sul web sfruttabili in applicazioni come le email e i sistemi di autenticazione.

SSL garantisce:

  • Collegamenti privatizzati
  • Prevenzione delle intercettazioni
  • Integrita' dei dati
  • Eventuale autenticazione sicura
  • Affidabilita'

Il primo punto viene garantito grazie ad un algoritmo di crittografia detto a chiave simmetrica (come il DES) dopo un handshake iniziale. Il secondo viene garantito usando la crittografia asimmetrica, o a chiave pubblica (l'algoritmo e' conosciuto col nome di RSA), assieme al sistema della certificazione; ogni client comunica in sicurezza con il corretto server prevenendo ogni interposizione. E' anche possibile effettuare/richiedere la certificazione del client, in maniera tale che il server accetti con sicurezza comunicazioni solo dai clients desiderati. Il terzo punto viene garantito grazie al sistema dei message digests firmati. Per concludere, SSL supporta anche un robusto algoritmo di autenticazione in grado di resistere ai cosiddetti replay attacks grazie all'utilizzo di session tokens: l'integrita' dell'autenticazione viene garantita solo relativamente alla sessione corrente.

Sia TLS che SSL richiedono alcune fasi basilari:

  • Negoziazione tra le parti dell'algoritmo da utilizzare
  • Scambio della chiave segreta simmetrica tramite cifratura asimmetrica (a chiave pubblica) e identificazione tramite l'utilizzo di certificati
  • Cifratura del traffico tra le parti a chiave (segreta) simmetrica

Le prime implementazioni di SSL erano limitate a cifratura a chiave simmetrica di 40 bit a causa delle restrizioni imposte dal governo statunitense sull'esportazione di tecnologie crittografiche, nonche' di informazioni fortemente crittografate. La limitazione della dimensione delle chiavi a 40 bit e' stata esplicitamente imposta per rendere la cifratura abbastanza debole da potere essere forzata dalle autorita' giudiziarie garantendo che chi avesse minori risorse economiche non potesse farlo. Dopo alcune cause e controversie ora e' possibile utilizzare chiavi a 128 bit.

HTTPS

Con il termine HTTPS ci si riferisce al protocollo HTTP (Hyper Text Transfer Protocol) utilizzato in combinazione con lo strato SSL o TLS. In pratica viene creato un canale di comunicazione criptato tra il client e il server attraverso lo scambio di certificati; una volta stabilito questo canale al suo interno viene utilizzato il protocollo HTTP per la comunicazione. Questo tipo di comunicazione garantisce che solamente il client e il server siano in grado di conoscere il contenuto della comunicazione. La porta solitamente usata per le comunicazioni HTTPS è la 443, diversamente dalle comunicazioni HTTP che avvengono solitamente sulla 80 o sulla 8080.

Autore

Andrea Ferraresi <andrea.ferraresi@gmail.com>

Personal tools
Informazioni