|
Architettura ed Evoluzione del World Wide Web | ||||||||||||||||
|
Integrità e riservatezza: Secure Socket Layer (SSL)
Secure Socket Layer (SSL) è una versione sicura dell’interfaccia socket che, interponendosi tra gli applicativi ed il supporto di comunicazione, si propone di fornire riservatezza ed affidabilità tra due applicazioni comunicanti (fig. 4.6). SSL è stato sviluppato da Netscape Communication ed è attualmente in quasi tutti i server ed i browser Web. Figura 44: SSL Nello stabilire una connessione sicura, SSL definisce due protocolli di supporto:
E’ da evidenziare, che la fase di negoziazione rende SSL aperto al supporto di tecniche crittografiche qualsiasi. Gli obiettivi che si intendono raggiungere tramite SSL sono:
Per quanto riguarda l’SSL Record Protocol, i dati da trasmettere vengono organizzati in pacchetti aventi il formato mostrato in figura. L’intestazione può essere di 2 o 3 byte; la distinzione tra i due casi avviene tramite il bit più significativo che è ad uno nel primo caso e a zero nel secondo. Nel caso di intestazione di 2 byte, i 15 bit rimanenti questa indicano la lunghezza del pacchetto (al massimo di 32767 byte). Nel caso di intestazione su 3 byte, un bit è riservato, 14 bit indicano la lunghezza del pacchetto (al massimo di 16383 byte) e gli otto bit rimanenti indicano la dimensione del MAC (al massimo di 255 byte). Figura 45: Nel calcolo del MAC, una volta selezionato l’algoritmo, questo viene fatto dipendere dalla chiave, dai dati trasmessi e da un numero di sequenza (su 32 bit) che protegge dalla ritrasmissione di pacchetti. I dati sono poi cifrati in funzione dell’algoritmo scelto. Figura 46: Anche l’SSL Handshake Protocol viene trasportato dall’SSL Record Protocol. Le fasi di questo protocollo sono i seguenti:
Superata questa fase, si può dare inizio alla comunicazione protetta tra client e server. E’ da notare che, mentre per la cifratura si utilizzano versioni deboli degli algoritmi, a seguito delle restrizioni all’esportazione da parte del governo statunitense (es.: chiavi RSA di lunghezza inferiore a 512 bit), per quanto riguarda la firma elettronica tali vincoli non esistono. |