110 likes | 244 Views
Secure Socket Layer (SSL) Transport Layer Security (TLS). SSL è un protocollo progettato per fornire la cifratura e l’autenticazione tra un client web ed un server web SSL è concepito per essere collocato tra il protocollo HTTP ed il sottostante strato di trasporto TCP. Realizzato da Netscape.
E N D
SSL è un protocollo progettato per fornire la cifratura e l’autenticazione tra un client web ed un server web • SSL è concepito per essere collocato tra il protocollo HTTP ed il sottostante strato di trasporto TCP. Realizzato da Netscape. • Dal lato che spedisce, SSL riceve i dati (come un messaggio HTTP da una applicazione) li cifra e li indirizza ad un socket TCP. Dal lato di chi riceve, SSL legge dal socket TCP, decifra i dati e li indirizza all’applicazione. • Può essere utilizzato anche con altre applicazioni Internet, non solo con il web. • Lo standard Internet che discende da SSL è detto TLS.
La sigla HTTPS indica un’applicazione HTTP che si avvale dei servizi di sicurezza di TLS • HTTP HTTP HTTPS • TCP SSL/TTLS • TCP TCP
Commercio in Internet • Bobsta navigando sul web e arriva al sito di Alice Incorporated, che vende alcuni beni.Il sito contiene una scheda (form) in cui Bob indicherà la quantità desiderata di ciascun prodotto, il suo indirizzo ed il numero della carta di credito. • Problemi: • - Un intruso potrebbe intercettare l’ordine ed ottenere informazioni relative alla carta di credito di Bob. • - Il sito potrebbe fornire il logo di Alice Incorporated, ma essere in realtà un sito gestito da Trudy, che si spaccia per la Alice Incorporated
SSL was originated by Netscape. It has been designed to provide encryption and authentication among web clients and servers. • Widely used in the electronic commerce being implemented in the majority of web browsers and servers. It provides the following functions: • -Server authentication. It allows a user to confirm the server identity. • -Client authentication. It allows a server to confirm the user identity. • - SSl session encrypted. All the informations sent from the client and the server are encrypted by the sending software (browser or server )and decrypted by the receiving software (browser or server)
Autenticazione del server • Un browser SSL compatibile mantiene un elenco di fidate autorità • di certificazione (CA) assieme alle chiavi pubbliche delle CA. • Quando il browser vuole contattare un web server SSL-compatibile, ottiene un certificato del server contenente la sua chiave pubblica. Il certificato è rilasciato (firmato digitalmente) sa un’autorità di certificazione (CA). • L’autenticazione del server consente a Bob di verificare che egli sta davvero spedendo il suo numero di carta di credito alla Alice Incorporated e non a qualcun altro che si spaccia per essa.
Autenticazione del client • Fa uso di certificati del client rilasciati da una CA. Questa autenticazione è importante se il server, per esempio, è una banca che sta inviando informazioni finanziarie confidenziali ad un client e vuole controllare l’identità del destinatario. • L’autenticazione del client, sebbene supportata da SSL, è opzionale
Handsakeprotocol • The protocol allows the server and the client to authenticate each other and to negotiate an encryption and hash algorithm and criyptographic keys to be used to protect data sent in a SSL record. • The handsake protocol is used before any application data is transmitted.
1.The client sends the highest SSL version and its preference for the kind of symmetric key algorithm to be used. 2.The server sends to the client the number of its SSL version, its preferences for the kind of symmetric key algorithm and its digital certificate. The certificate contains the RSA public key of the server and it is signed with the private key of a CA. 3.The client knows the public key of some CA. It controls if the server CA is present in its list. In the positive case the client uses the CA public key in order to decrypt the certificate and obtain the server public key. (server authentication)
4. The client creates a session symmetric key, encrypts it with the server public key and sends it to the server. 5. The client sends a message to the server to comunicate that the following messages will be encrypted with the session key. Then, sends an encrypted message to indicate the conclusion of the client handsake. 6. The server sends a message to the browser to comunicate that the following messages will be encrypted with the session key. Then, sends an encrypted message to indicate the conclusion of the server handsake. 7. Client and server utilize the session key to encrypt and decrypt the sent messages and to validate their integrity.
Limitazioni di SSL nel commercio su Internet • SSL è stato pensato per la comunicazione sicura tra un client ed un server. • Manca di molte caratteristiche per il pagamento con carte di credito. • Il certificato che Bob riceve da Alice gli assicura che sta realmente trattando con Alice Incorporated e che questa è una compagnia attendibile. Comunque il certificato non indica se Alice Incorporated è autorizzata ad accettare il pagamento con carta di credito né se la società è un venditore affidabile. • Lo stesso vale per l’autorizzazione del client. Il certificato non dice se Bob ha una specifica carta di pagamento autorizzata.