|
|
|
Il protocollo SSL si presenta in grado di trasformare,
in pacchetti crittograficamente protetti,
tutti i servizi, compresi HTTP, e-mail, news, ecc...
In pratica prende i dati che arrivano, li frammenta, li elabora e li manda al TCP.
|
|
|
Il protocollo SSL si compone di più parti, fra cui " SSL record protocol " che compie le operazioni appena citate (frammentazione, ecc...).
|
|
|
C'è un ulteriore parte formata di tre sotto livelli, quali " Handshake " ed altri, che sono coinvolti nella negoziazione iniziale dei parametri.
|
|
|
Consente di mettere a disposizione dello SSL record protocol
la chiave negoziata fra client e server, per la codifica del flusso di informazioni in entrambe le direzioni.
Abbiamo uno schema di interazione in quattro fasi.
|
|
|
La prima fase prevede un invio di un messaggio, da parte del client, di " client hello ", che precede ogni richiesta. Agisce a livello TCP prima di inviare il primo bit HTTP. Il protocollo entra in gioco se contattato non con la porta 80 dell'HTTP, ma quella dell'SSL. Si riceverà una conferma che si può fare una sessione SSL sicura ed anche altri parametri che dicono quali protocolli di crittografia sono supportati (RSA, IDEA, TRIPLO DES, SHA, ecc..).
|
|
|
La seconda fase prevede l'autenticazione e la consegna di chiavi da parte del server. L'unico messaggio obbligatorio è l'ultimo, gli altri sono opzionali, perchè nell'SSL è opzionale l'autenticazione del server. Se non c'è la fase di autenticazione del server si passa direttamente all'autenticazione del client.
|
|
|
Il client invia un messaggio, obbligatoriamente, perchè è compito suo generare una sequenza random che deve essere usata come chiave comune. La chiave comune viene generata alla fine del processo di Handshake, sulla base dei messaggi scambiati, che vengono elaborati dal digest(compresa la chiave random generata).
|
|
|
Quest'ultima fase è una fase di allineamento fra client e server sulla chiave comune di sessione, che verrà usata in accordo al protocollo simmetrico. Sono opzionali le autenticazioni di client e server.
|
|
|
Per poter usufruire dell'SSL è necessario disporre di browser e server che implementino tale protocollo, per cui, abbiamo una parte software in più sul nostro applicativo, sia server che browser.
|
|
|
Le due autenticazioni possono avvenire in molti modi, ma tutti si basano su un metodo
asimmetrico chiave pubblica, chiave privata. Molti utilizzano i certificati " X509 ", già visti nel PGP,
che autentificano la firma digitale.
Concludiamo dicendo che la porta dell'SSL è la 509.